Подтвердить что ты не робот

Проверка локального массива Android-массива

Мне было интересно, если кто-нибудь нашел хороший способ проверить строковые массивы в каталоге res/values.

Я создаю код, используя стандартную локаль и могу иметь ресурс чего-то вроде

<string-array name="array_example1">
    <item>One</item>
    <item>Two</item>
    <item>Three</item>
</string-array>

Затем, когда переводчики для приложения выполняют свои переводы, они также создают строковый массив. Иногда, если один перевод отстает от другого, файлы ресурсов могут иметь не так много записей в массиве (возможно, только "Один" и "Два" из приведенного выше примера)

Есть ли простой способ проверить, существует ли несоответствие в количестве записей? Наличие несоответствия может вызвать проблемы в коде, но поскольку приложение имеет 10 строковых массивов на нескольких языках, проверка их соответствия соответствует потреблению времени.

Какой подход у других есть для этого?

4b9b3361

Ответ 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>

Поэтому таким образом, если есть несоответствие, язык по умолчанию будет просто показан для этой опции и остановит сбой из-за списков разного размера.