我正在开发一款允许用户在应用设置中更改语言的应用。但只要一些国家/地区有两种或更多种语言并且某些语言在一个以上的国家/地区使用,我就需要使用xx-XX格式。 例如,来自比利时的用户可以选择法语或荷兰语。
我使用下一个代码段来更改语言:
protected void setLocale() {
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
Locale locale = new Locale(dataManager.getLocale().toLowerCase());
Locale.setDefault(locale);
conf.locale = locale;
res.updateConfiguration(conf, dm);
}
dataManager.getLocale()
返回String
,例如" fr-BE"或" nl-BE"。
我有以下资源文件:
values-fr/strings.xml
values-fr-rBE/strings.xml
values-nl/strings.xml
values-nl-rBE/strings.xml
但即使我将语言环境设置为nl-BE
,它也会使用values-nl
目录中的字符串,但不会使用values-nl-rBE
中的字符串。
所以,我的问题是:"如何让我的应用程序在运行时使用某些语言和区域的资源?"
答案 0 :(得分:1)
您应该在@media print {
html, body {
color: yellow;
font-size: 0.9em;
}
}
构造函数的第二个参数中指定国家/地区。
Locale (String language, String country)
构造一个新的Locale 使用指定的语言和国家/地区代码。
例如:
Locale