Обязательно ли переводить содержимое для каждой локали?
Есть файл strigs.xml и 2 локали RU (strigs.xml - ru) и ENG (strigs.xml -en) и 2 массива: Название формулы и математическая формула
Содержимое strings.xml:
<string-array name="formulaName">
<item>Formula 1A</item>
<item>Formula 2B</item>
<item>Formula 3C</item>
</string-array>
<string-array name="formula">
<item>1A + 2B</item>
<item>2B + 3C</item>
<item>3C + 4D</item>
</string-array>
Содержимое strings.xml (RU):
<string-array name="formulaName">
<item>Формула 1A</item>
<item>Формула 2B</item>
<item>Формула 3C</item>
</string-array>
Содержимое strings.xml (EU):
<string-array name="formulaName">
<item>Formula 1A</item>
<item>Formula 2B</item>
<item>Formula 3C</item>
</string-array>
Обязательно ли переводить string-array name="formula" для каждой локали (или его можно оставить только в основном strings.xml) если данные в массиве будут одинаковы для всех локалей? (
С обычными строками разобрался, можно использовать translatable="false", а про локализацию массивов не могу понять...
Ответы (1 шт):
Начнем с того, что помимо string (ru) и string (en) у вас есть просто string. Так вот если стоит русская локаль, а в string (ru) отсутствует formula, то formula будет браться из string
Конкретно по вопросу - вы можете не переводить formula, а просто нигде его не записывать кроме первоначальных/дефолтных string
Так же если вам нужно перевести только 1 элемент массива, или возникли проблемы с переводом массива, то тогда массив стоит записать так
<string-array name="array_example1">
<item>@string/resOne</item>
<item>@string/resTwo</item>
<item>@string/resThree</item>
</string-array>
И добавить по локалям строки
<string name="resOne">One</string>
<string name="resTwo">Two</string>
<string name="resThree">Three</string>
