liuzhenxing1118 8 сар өмнө
parent
commit
bb6830f80e

+ 6 - 13
app/src/main/java/com/xplora/xponboarding/Activity/OnboardingActivity.java

@@ -15,6 +15,7 @@ import com.xplora.xponboarding.Data.DataManager;
 import com.xplora.xponboarding.Model.BaseModel;
 import com.xplora.xponboarding.R;
 import com.xplora.xponboarding.Utils.Constant;
+import com.xplora.xponboarding.Utils.ResUtils;
 
 import java.lang.reflect.Method;
 import java.util.ArrayList;
@@ -49,17 +50,14 @@ public class OnboardingActivity extends BaseActivatedActivity {
     }
 
     private void initData() {
-        mLanguageList = DataManager.getLanguageList();
+        //mLanguageList = DataManager.getLanguageList();
+        mLanguageList = new ArrayList<>();
+        mLanguageList.add("zh-CN");
         String currentLanguage = DataManager.getCurrentLanguage();
 
         for (String s : mLanguageList) {
             boolean isOn = s.trim().equals(currentLanguage.trim());
-            Locale locale;
-            if (s.equals("sr")) {
-                locale = new Locale.Builder().setLanguage("sr").setRegion("RS").setScript("latn").build();
-            } else {
-                locale = new Locale(s);
-            }
+            Locale locale = ResUtils.getLocaleName(s);
             String name = LocaleHelper.getDisplayName(locale, locale, true);
             int endIndex = name.indexOf("(");
             if (endIndex >= 0) {
@@ -111,12 +109,7 @@ public class OnboardingActivity extends BaseActivatedActivity {
         if (position >= mLanguageList.size())
             return;
         String language = mLanguageList.get(position);
-        Locale locale;
-        if (language.equals("sr")) {
-            locale = new Locale.Builder().setLanguage("sr").setRegion("RS").setScript("latn").build();
-        } else {
-            locale = new Locale(language);
-        }
+        Locale locale = ResUtils.getLocaleName(language);
         updateLanguage(locale);
     }
 

+ 19 - 0
app/src/main/java/com/xplora/xponboarding/Utils/ResUtils.java

@@ -1,6 +1,8 @@
 package com.xplora.xponboarding.Utils;
 import android.content.Context;
 
+import java.util.Locale;
+
 public class ResUtils {
     private static Context mSaveContext = null;
     private static String mSavePackageName = null;
@@ -64,6 +66,23 @@ public class ResUtils {
         return context.getResources().getIdentifier(imageName, defType, packageName);
     }
 
+    public static Locale getLocaleName(String language) {
+        Locale locale;
+        if (language.equals("sr")) {
+            locale = new Locale.Builder().setLanguage("sr").setRegion("RS").setScript("latn").build();
+        } else {
+            int index = language.indexOf('-');
+            if (index == -1) {
+                locale = new Locale(language);
+            } else {
+                String lan = language.substring(0, index);
+                String reg = language.substring(index+1, language.length());
+                locale = new Locale.Builder().setLanguage(lan).setRegion(reg).build();
+            }
+        }
+        return locale;
+    }
+
     /**
      * 根据手机的分辨率从 dp 的单位 转成为 px(像素)
      */