Проверка локального массива Android-массива
Мне было интересно, если кто-нибудь нашел хороший способ проверить строковые массивы в каталоге res/values.
Я создаю код, используя стандартную локаль и могу иметь ресурс чего-то вроде
<string-array name="array_example1">
<item>One</item>
<item>Two</item>
<item>Three</item>
</string-array>
Затем, когда переводчики для приложения выполняют свои переводы, они также создают строковый массив. Иногда, если один перевод отстает от другого, файлы ресурсов могут иметь не так много записей в массиве (возможно, только "Один" и "Два" из приведенного выше примера)
Есть ли простой способ проверить, существует ли несоответствие в количестве записей? Наличие несоответствия может вызвать проблемы в коде, но поскольку приложение имеет 10 строковых массивов на нескольких языках, проверка их соответствия соответствует потреблению времени.
Какой подход у других есть для этого?
Ответы
Ответ 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>
Поэтому таким образом, если есть несоответствие, язык по умолчанию будет просто показан для этой опции и остановит сбой из-за списков разного размера.