Интернационализация проблемы string.xml

В моем приложении у меня есть несколько разных строковых ресурсов для каждой локали, например:

res/values/string.xml //default
res/values-en/string.xml //english
res/values-it/string.xml //italian

Теперь проблема - каждый из файлов содержит сотни ключей и время от времени я не могу толком определить, на каком языке не хватает некоторых ключей. Сказать:

<string name="yes">Yes</string> <!-- Default -->
<string name="yes">Yes</string> <!-- English -->
<string name="yes">Si</string> <!-- Italian -->

И если в немецком string.xml не будет ключа "yes", соответствующее значение будет по умолчанию "Yes" вместо немецкого "Ja" - это катастрофа.

Помогите мне найти способ определить отсутствующие ключи строковых ресурсов.


person Barmaley    schedule 20.05.2011    source источник
comment
какой инструмент вы нашли в IntelliJ для выполнения задачи?   -  person denis.solonenko    schedule 10.07.2011


Ответы (3)


Вы также можете попробовать MOTODEV Studio. Вы можете использовать его как отдельную IDE (на основе Eclipse) или как подключаемый модуль Eclipse. Что вам нужно, так это редактор, который действительно упрощает работу с локализуемыми строками. Он покажет вам в одном представлении все файлы в виде столбцов, поэтому вам не нужно будет выполнять какое-либо слияние или сравнение.

person ferostar    schedule 20.05.2011
comment
Большое спасибо. Ваш пост заставил меня заглянуть внутрь моей IDE (Intellij IDEA), и я нашел внутри хороший инструмент. - person Barmaley; 20.05.2011

Используйте http://winmerge.org/.

Вы можете легко сравнивать файлы.

person neteinstein    schedule 20.05.2011
comment
Да, я установил его и нашел очень полезным, хотя ему не хватает сравнения ключей, просто сравнение строк за строкой. - person Barmaley; 20.05.2011

скопируйте все файлы в один текстовый файл, отсортируйте файл, а затем проверьте один ключ сразу, метод долгий, но самый эффективный

person Hazem Farahat    schedule 20.05.2011
comment
Также сортировка всех файлов, а затем их сравнение - person Hazem Farahat; 20.05.2011