Separating Language changing logic and Region changing logic (#1556)
authorSeungkeun Lee <sngn.lee@samsung.com>
Wed, 1 Jul 2020 02:23:18 +0000 (11:23 +0900)
committerGitHub <noreply@github.com>
Wed, 1 Jul 2020 02:23:18 +0000 (11:23 +0900)
src/Tizen.Applications.Common/Tizen.Applications/CoreApplication.cs

index 91a5e90..91e9dea 100644 (file)
@@ -208,7 +208,7 @@ namespace Tizen.Applications
         /// <since_tizen> 3 </since_tizen>
         protected virtual void OnLocaleChanged(LocaleChangedEventArgs e)
         {
-            ChangeCurrentCultureInfo(e.Locale);
+            ChangeCurrentUICultureInfo(e.Locale);
             LocaleChanged?.Invoke(this, e);
         }
 
@@ -220,6 +220,7 @@ namespace Tizen.Applications
         /// <since_tizen> 3 </since_tizen>
         protected virtual void OnRegionFormatChanged(RegionFormatChangedEventArgs e)
         {
+            ChangeCurrentCultureInfo(e.Region);
             RegionFormatChanged?.Invoke(this, e);
         }
 
@@ -253,21 +254,27 @@ namespace Tizen.Applications
             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)