应用程序无法从本地化文件夹读取字符串

时间:2017-02-21 07:37:10

标签: android android-studio localization resources translation

我发现了一个奇怪的案子。我的应用程序有4种语言支持:英语,土耳其语,俄语和乌克兰。我有以下资源文件夹:

Resources Screenshot

我对值进行了土耳其语翻译,因此如果找不到任何字符串的翻译,则默认为土耳其语。

下面你可以看到没有需要翻译的密钥:

Translation Screenshot

好的,据我所知,当我更改手机语言时,它应该使用相应的字符串。

当我使用手机语言土耳其语时:

Turkish Screenshot

大。现在,英语:

English Screenshot

也适用。现在俄罗斯人:

Turkish Screenshot

呃。

所以土耳其语和英语一直在工作,但制作俄语或乌克兰语的手机语言却没有。

应用中的任何位置都没有手动设置区域设置。当我打电话

getResources().getConfiguration().locale

getResources().getConfiguration().getLocales()

我得到了正确的语言环境," ru_RU"。

我有什么东西在这里失踪吗?什么可能导致这个问题?

1 个答案:

答案 0 :(得分:0)

我发现了问题,它是build.gradle中的resConfigs。我的配置是

resConfigs "en", "tr"

所以它没有编译ru&英国资源。添加“ru”& “英国”解决了这个问题。最后一行看起来像这样:

resConfigs "en", "tr", "ru", "uk"