#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. Также сортировка всех файлов и последующее их сравнение