目前的工作需要用到國際化,是以把目前使用的國際化的東西做一個總結。
先看看效果圖
國際化
第一步
在 Android Studio 中建立對應語言的檔案夾 ( 工作中隻需要簡體和繁體,這邊隻展示相應的步驟 )
步驟一
步驟二
步驟三
方法類似,找到對應的語言,點選确定即可
第二步
在檔案夾下建立對應的資源檔案
資源檔案簡體
資源檔案繁體
第三步
在 Application 的 onCreate 中處理語言
@Override
public void onCreate() {
super.onCreate();
initLanguage();
}
private void initLanguage() {
Resources resources = getResources();
DisplayMetrics dm = resources.getDisplayMetrics();
Configuration config = resources.getConfiguration();
if (LanguageUtil.getCountry().equals("TW")) {
config.locale = Locale.TAIWAN;
} else {
config.locale = Locale.CHINESE;
}
resources.updateConfiguration(config, dm);
}
LanguageUtil
public class LanguageUtil {
public static String getCountry() {
Locale locale;
//7.0以上和7.0以下擷取系統語言方式
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
locale = LocaleList.getDefault().get(0);
} else {
locale = Locale.getDefault();
}
return locale.getCountry();
}
}
注意:如果在 gradle 裡面配置了語言 resConfigs('zh-rCN'),那麼其他的語言就不會生效。
例如我需要簡體和繁體,是以我的配置是 resConfigs('zh-rCN','zh-rTW'),如果沒有配置的話就可以忽略。