未包含在语言环境中时不使用默认字符串资源

时间:2019-01-09 19:43:22

标签: android localization android-resources

我在app / src / main / res / values / strings.xml中的默认字符串资源文件定义了以下值:

<string name="locale">en_GB</string>

我在app / src / main / values-en-rUS / strings.xml中有一个en_US的覆盖字符串资源文件:

<string name="locale">en_US</string>

最后,我在app / src / main / values-en-rCA / strings.xml中有另一个en_CA的字符串资源文件,不会覆盖该特定值。

这是我使用此值的方式:

var locale = context.getString(R.string.locale)

我在系统设置中将首选语言指定为英语(加拿大),因此我希望它使用默认字符串资源文件中的值并将“ en_GB”分配给locale。但是,它使用覆盖中的值并将“ en_US”分配给locale。我可以为其分配正确值的唯一方法是通过将以下行添加到app / src / main / values-en-rCA / strings.xml中的文件来复制默认值:

<string name="locale">en_GB</string>

我做错了还是这是一个错误?

0 个答案:

没有答案