我发现了一个奇怪的案子。我的应用程序有4种语言支持:英语,土耳其语,俄语和乌克兰。我有以下资源文件夹:
我对值进行了土耳其语翻译,因此如果找不到任何字符串的翻译,则默认为土耳其语。
下面你可以看到没有需要翻译的密钥:
好的,据我所知,当我更改手机语言时,它应该使用相应的字符串。
当我使用手机语言土耳其语时:
大。现在,英语:
也适用。现在俄罗斯人:
呃。
所以土耳其语和英语一直在工作,但制作俄语或乌克兰语的手机语言却没有。
应用中的任何位置都没有手动设置区域设置。当我打电话
getResources().getConfiguration().locale
或
getResources().getConfiguration().getLocales()
我得到了正确的语言环境," ru_RU"。
我有什么东西在这里失踪吗?什么可能导致这个问题?
答案 0 :(得分:0)
我发现了问题,它是build.gradle中的resConfigs。我的配置是
resConfigs "en", "tr"
所以它没有编译ru&英国资源。添加“ru”& “英国”解决了这个问题。最后一行看起来像这样:
resConfigs "en", "tr", "ru", "uk"