禁止使用en_US作为默认语言环境

时间:2019-04-01 09:59:48

标签: android localization locale

我在运行Android应用程序时更改语言环境时遇到问题。我创建了“ values-en” “ values-mm” 文件夹,并将字符串转换为相应的语言环境。每当我尝试更改语言环境时,语言环境都已更改,但是字符串资源未使用“ values-mm” 。即使刷新布局,它也会继续使用“ en” 值。当我将“ values-mm” 的名称更改为“ values-en” 时,就会加载“ values-mm” 资源。 因此,我得出的结论是,无论如何,仅加载“ values-en” 。 我找不到原因。但是语言环境确实发生了变化。 任何想法出了什么问题吗? 如何设置用户选择的语言环境作为后备语言环境?

1 个答案:

答案 0 :(得分:1)

在像这样的配置中更新本地时,您将进行更新,然后将更改语言。

    public static void changeLocale(Context context, String locale) {
        Resources res = context.getResources();
        Configuration conf = res.getConfiguration();
        conf.locale = new Locale(locale);
        res.updateConfiguration(conf, res.getDisplayMetrics());
    }

您可以找到参考链接:Using Locale to force Android to use a specific strings.xml file for a non-supported language