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

#android #resources #localization #internationalization #locale

#Android #Ресурсы #локализация #интернационализация #локаль #язык

Вопрос:

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

 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» — что является катастрофой.

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

Комментарии:

1. какой инструмент вы нашли в IntelliJ для выполнения этой задачи?

Ответ №1:

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

Комментарии:

1. Большое спасибо. Ваш пост заставил меня заглянуть в мою IDE (Intellij IDEA), и я нашел внутри хороший инструмент.

Ответ №2:

Использовать http://winmerge.org

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

Комментарии:

1. Да — я установил его и нахожу очень полезным, хотя в нем отсутствует сравнение по ключам, просто сравнение по строкам

Ответ №3:

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

Комментарии:

1. Также сортировка всех файлов и последующее их сравнение