Строковый ресурс по умолчанию не используется, если он не включен в локаль - PullRequest
0 голосов
/ 09 января 2019

Мой файл ресурсов для строк по умолчанию в app / src / main / res / values ​​/ strings.xml имеет следующее определенное значение:

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

У меня есть файл ресурсов для переопределения строк для en_US в app / src / main / values-en-rUS / strings.xml:

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

Наконец, у меня есть еще один файл ресурсов строк для en_CA в app / src / main / values-en-rCA / strings.xml, который не переопределяет это конкретное значение.

Вот как я использую это значение:

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>

Я что-то не так делаю или это ошибка?

...