防止使用 en_US 作为默认语言环境
Preventing from using en_US as the default locale
我在 android 应用的 运行 时间更改语言环境时遇到问题。我创建了 "values-en" 和 "values-mm" 文件夹,并将字符串翻译成相应的语言环境。每当我尝试更改区域设置时,区域设置已更改但字符串资源未使用 "values-mm"。即使我刷新布局,它也会继续使用 "en" 值。当我将 "values-mm" 的名称更改为 "values-en" 时,然后 "values-mm" 资源已加载。
所以我得出的结论是,无论如何,只加载 "values-en" 。
我找不到原因。但是语言环境确实发生了变化。
知道出了什么问题吗?
如何将用户选择的语言环境设置为后备语言环境?
在使用这样的配置更新您的本地时,您将更新然后语言将更改。
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());
}
您可以找到参考 link : Using Locale to force Android to use a specific strings.xml file for a non-supported language
我在 android 应用的 运行 时间更改语言环境时遇到问题。我创建了 "values-en" 和 "values-mm" 文件夹,并将字符串翻译成相应的语言环境。每当我尝试更改区域设置时,区域设置已更改但字符串资源未使用 "values-mm"。即使我刷新布局,它也会继续使用 "en" 值。当我将 "values-mm" 的名称更改为 "values-en" 时,然后 "values-mm" 资源已加载。 所以我得出的结论是,无论如何,只加载 "values-en" 。 我找不到原因。但是语言环境确实发生了变化。 知道出了什么问题吗? 如何将用户选择的语言环境设置为后备语言环境?
在使用这样的配置更新您的本地时,您将更新然后语言将更改。
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());
}
您可以找到参考 link : Using Locale to force Android to use a specific strings.xml file for a non-supported language