如果用户的设备设置为意大利语,我希望我的应用程序使用strings.xml的意大利语版本,否则我希望我的应用程序使用带有英文文本的默认strings.xml。
我做了这个
res/values/strings.xml <--- english
res/values/values-it/strings.xml <--- italian //THIS WAS MY ERROR
根据Google指南http://developer.android.com/training/basics/supporting-devices/languages.html,我不需要做任何事情! Android将完成所有工作! 但是当我尝试在我的设备上运行应用程序(设置为意大利语)时,我的应用程序继续“说”英语。
我该怎么办?
我改变了这种方式,现在它有效。
res/values/strings.xml <--- english
res/values-it/strings.xml <--- italian
答案 0 :(得分:2)
试试这个..
String s = Locale.getDefault().getDisplayLanguage();
if(s.equalsIgnoreCase("italiano"))
{
Resources res = getResources();
Configuration newConfig = new Configuration(res.getConfiguration());
newConfig.locale = new Locale("it", "IT");
res.updateConfiguration(newConfig, null);
}
答案 1 :(得分:2)
字符串必须像这样组织:
res/values/strings.xml
res/values-it/strings.xml