目前的工作需要用到国际化,所以把当前使用的国际化的东西做一个总结。
先看看效果图

第一步
在 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'),如果没有配置的话就可以忽略。
网友评论