/// <since_tizen> 3 </since_tizen>
protected virtual void OnLocaleChanged(LocaleChangedEventArgs e)
{
- ChangeCurrentCultureInfo(e.Locale);
+ ChangeCurrentUICultureInfo(e.Locale);
LocaleChanged?.Invoke(this, e);
}
/// <since_tizen> 3 </since_tizen>
protected virtual void OnRegionFormatChanged(RegionFormatChangedEventArgs e)
{
+ ChangeCurrentCultureInfo(e.Region);
RegionFormatChanged?.Invoke(this, e);
}
base.Dispose(disposing);
}
- private void ChangeCurrentCultureInfo(string locale)
+ private CultureInfo ConvertCultureInfo(string locale)
{
ULocale pLocale = new ULocale(locale);
- CultureInfo currentCultureInfo = null;
-
try
{
- currentCultureInfo = new CultureInfo(pLocale.Locale.Replace("_", "-"));
+ return new CultureInfo(pLocale.Locale.Replace("_", "-"));
}
catch (CultureNotFoundException)
{
- currentCultureInfo = GetFallbackCultureInfo(pLocale);
+ return GetFallbackCultureInfo(pLocale);
}
+ }
+
+ private void ChangeCurrentCultureInfo(string locale)
+ {
+ CultureInfo.CurrentCulture = ConvertCultureInfo(locale);
+ }
- CultureInfo.CurrentUICulture = CultureInfo.CurrentCulture = currentCultureInfo;
+ private void ChangeCurrentUICultureInfo(string locale)
+ {
+ CultureInfo.CurrentUICulture = ConvertCultureInfo(locale);
}
private CultureInfo GetCultureInfo(string locale)