Android- 国际化

作者: 是刘航啊 | 来源:发表于2020-08-10 16:25 被阅读0次

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

先看看效果图
国际化
第一步

在 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();
    }

}

7.0以上和7.0以下获取系统语言参考链接

注意:如果在 gradle 里面配置了语言 resConfigs('zh-rCN'),那么其他的语言就不会生效。
例如我需要简体和繁体,所以我的配置是 resConfigs('zh-rCN','zh-rTW'),如果没有配置的话就可以忽略。

相关文章

网友评论

    本文标题:Android- 国际化

    本文链接:https://www.haomeiwen.com/subject/ejjjdktx.html