|
|
@ -11,7 +11,12 @@ namespace Volo.Abp.Localization |
|
|
{ |
|
|
{ |
|
|
Check.NotNull(culture, nameof(culture)); |
|
|
Check.NotNull(culture, nameof(culture)); |
|
|
|
|
|
|
|
|
return Use(new CultureInfo(culture), uiCulture == null ? null : new CultureInfo(uiCulture)); |
|
|
return Use( |
|
|
|
|
|
new CultureInfo(culture), |
|
|
|
|
|
uiCulture == null |
|
|
|
|
|
? null |
|
|
|
|
|
: new CultureInfo(uiCulture) |
|
|
|
|
|
); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
public static IDisposable Use([NotNull] CultureInfo culture, CultureInfo uiCulture = null) |
|
|
public static IDisposable Use([NotNull] CultureInfo culture, CultureInfo uiCulture = null) |
|
|
@ -35,5 +40,29 @@ namespace Volo.Abp.Localization |
|
|
{ |
|
|
{ |
|
|
get { return Thread.CurrentThread.CurrentUICulture.TextInfo.IsRightToLeft; } |
|
|
get { return Thread.CurrentThread.CurrentUICulture.TextInfo.IsRightToLeft; } |
|
|
} |
|
|
} |
|
|
|
|
|
public static bool IsValidCultureCode(string cultureCode) |
|
|
|
|
|
{ |
|
|
|
|
|
if (cultureCode.IsNullOrWhiteSpace()) |
|
|
|
|
|
{ |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
try |
|
|
|
|
|
{ |
|
|
|
|
|
CultureInfo.GetCultureInfo(cultureCode); |
|
|
|
|
|
return true; |
|
|
|
|
|
} |
|
|
|
|
|
catch (CultureNotFoundException) |
|
|
|
|
|
{ |
|
|
|
|
|
return false; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
public static string GetBaseCultureName(string cultureName) |
|
|
|
|
|
{ |
|
|
|
|
|
return cultureName.Contains("-") |
|
|
|
|
|
? cultureName.Left(cultureName.IndexOf("-", StringComparison.Ordinal)) |
|
|
|
|
|
: cultureName; |
|
|
|
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
} |