我遇到了一个奇怪的案件。我的应用程序支持 4 种语言:英语、土耳其语、俄语和乌克兰语。我得到了以下资源文件夹:
我对值进行了土耳其语翻译,因此如果找不到任何字符串的翻译,默认值为土耳其语。
在下面您可以看到没有需要翻译的键:
好吧,据我所知,当我更改手机语言时,它应该使用相应的字符串。
当我将手机语言设置为土耳其语时:
太棒了。现在,英语:也有效。现在俄语:
呃。
因此,土耳其语和英语可以使用,但手机语言为俄语或乌克兰语则不行。
应用程序中的任何位置都没有区域设置的手动设置。当我打电话时
getResources().getConfiguration().locale
或
getResources().getConfiguration().getLocales()
我得到了正确的区域设置“ru_RU”。
我在这里缺少什么吗?什么可能导致此问题?
最佳答案
我发现了问题,是build.gradle中的resConfigs。我的配置是
resConfigs "en", "tr"
所以它没有编译 ru 和 uk 资源。添加“ru”和“uk”解决了问题。最后一行如下所示:
resConfigs "en", "tr", "ru", "uk"
关于android - 应用程序无法从本地化文件夹读取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42361243/