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

Application fails to read strings from localized folders

我遇到了一个奇怪的案例。我的应用支持 4 种语言:英语、土耳其语、俄语和乌克兰语。我得到以下资源文件夹:

我得到了关于值的土耳其语翻译,所以如果找不到任何字符串的翻译,默认将是土耳其语。

您可以在下面看到没有需要翻译的键:

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

当我将 phone 语言设为土耳其语时:

太棒了。现在,英语:

也可以。现在俄语:

所以土耳其语和英语可以,但是 phone 俄语或乌克兰语则不行。

应用程序中的任何地方都没有手动设置语言环境。当我打电话时

getResources().getConfiguration().locale

getResources().getConfiguration().getLocales()

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

我在这里遗漏了什么吗?什么可能导致此问题?

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

resConfigs "en", "tr"

所以它没有编译 ru 和 uk 资源。添加 "ru" & "uk" 解决了问题。最后一行看起来像这样:

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