Android: получите недостающие переводы для строк-ресурсов - PullRequest
32 голосов
/ 08 августа 2011

В Android вы можете указать текст в локали по умолчанию в res/values/strings.xml. Дополнительные переводы могут быть добавлены для новых языков в res/values-it/strings.xml (например, для итальянского). Если строка не переведена, используется языковой стандарт по умолчанию.

В настоящее время я не могу сказать, какие строки мне еще нужно перевести (поэтому они указаны в values/strings.xml, но не в values-$/strings.xml для всех $ на языках ) и которые переведены, хотя и являются устаревшими (также в values-$/strings.xml, но не в values ​​/ strings.xml существует $ в языках )

Я ищу инструмент, который дает мне переводы, которые отсутствуют, и тот, который устарел.

Если честно, написать такой инструмент для командной строки не так уж и сложно, я с трудом могу поверить, что никто этого еще не сделал.

Ответы [ 14 ]

22 голосов
/ 22 августа 2011

Это не автоматизировано, но очень быстро. В Eclipse, чтобы перейти в Window-> Show View-> Other-> Android-> Resource Explorer.

Теперь, под вкладкой Resource Explorer внизу (или куда вы его переместили) посмотрите под String. Каждая строка должна иметь одинаковое количество версий, если у вас полный перевод, поэтому вы можете просмотреть список всего за несколько секунд.

Сделайте это для каждого проекта, в котором есть строки.

Я не знал об этом до тех пор, пока не локализовал, но это все еще полезно (например, когда я добавляю новую строку).

16 голосов
/ 31 марта 2016

Если вы используете Android Studio, легко найти, какая строка отсутствует.

Щелкните правой кнопкой мыши values ​​/ strings.xml и выберите «Открыть редактор переводов»: pic 1

Где вы можете легко найти недостающие строки на всех языках, как показано ниже: enter image description here

Спасибо ...

13 голосов
/ 13 января 2012

Новый официальный инструмент Android Lint поможет вам обнаружить эту проблему и многие другие: http://tools.android.com/tips/lint

11 голосов
/ 09 августа 2011

Интересный вопрос. Я написал простой скрипт для поиска дублирующихся ресурсов в проекте Android на https://gist.github.com/1133059. Это ужасно, я знаю, но я перепишу его через несколько дней и, возможно, создам проект на github. Чтобы запустить его из консоли:
$scala DuplicatesFinder.scala /path/to/android/project

UPDATE:
Я сделал проект на github https://github.com/4e6/android-localization-helper,, может быть, кто-то найдет его полезным

4 голосов
/ 30 декабря 2012

В Eclipse существует значительно улучшенная версия инструмента для создания набора для Android Dev Kit, начиная с версии SDK 17 - см. Документы здесь: Новый пользовательский интерфейс Eclipse Lint

Просто нажмите инструмент "lint"бар, запустите его в своем проекте, затем откройте элемент «не переведен», который будет отображать каждый тег, который нуждается в переводе.

Кредит satur9nine - это обновленная версия их ответа, которая привела меняк этому.

3 голосов
/ 22 июля 2013

Вы также можете использовать Android Lint (легкий доступ из Eclipse).Щелкните правой кнопкой мыши свой проект -> Инструменты Android -> Запустить Lint.Это даст вам список всех отсутствующих переводов, а также некоторые другие распространенные ошибки.

Это также покажет вам дублирующиеся ресурсы и строки, недоступные в переводе по умолчанию.

2 голосов
/ 27 мая 2018

В Android Studio, Анализ> Запустить проверку по имени, введите следующие и выполнить проверки для настраиваемой области действия Project Production Files.

  • Дополнительный перевод
  • Неполный перевод
1 голос
/ 15 апреля 2013

Если вы хотите использовать веб-сайт getlocalization.com , который предоставляется бесплатно, если вы хотите, чтобы ваши переводчики публично работали над вашей локализацией (в противном случае вам придется заплатитьсделай свой проект приватным).

Вы можете просто использовать их плагин Eclipse, чтобы автоматически импортировать строки из вашего проекта Android: http://getlocalization.github.io/eclipse/

Тогда это интерфейс, который увидят ваши переводчики, когда будут выполнять настоящий перевод:

screenshot of web interface given to translators

Я рекомендую щелкнуть правой кнопкой мыши на снимке экрана выше, чтобы просмотреть его в большем формате на отдельной вкладке.Это на самом деле хорошо продумано и должно облегчить работу переводчика.

1 голос
/ 10 августа 2011

Я менеджер по продукту для MOTODEV Studio. Как уже упоминалось @hjw, это функция MOTODEV Studio, которая называется «Редактор файлов локализации». Этот редактор похож на электронную таблицу и позволяет вам видеть все ваши строки в одном представлении. Вы можете редактировать как электронную таблицу или базовый XML в том же виде.

MOTODEV Studio - это фирменная версия Eclipse, поэтому она должна работать с вашими существующими проектами, если вы используете Eclipse. Если вы предпочитаете продолжать использовать существующую настройку Eclipse, вы все равно можете использовать MOTODEV Studio для обработки редактирования файлов string.xml, при условии, что только одна версия может одновременно открывать рабочее пространство.

Если у вас есть какие-либо вопросы о том, как его использовать, не стесняйтесь, присылайте мне сообщения или сообщения на наших форумах на developer.motorola.com

1 голос
/ 08 августа 2011

Я не знаю ничего такого, я одобряю вопрос.:) Однако, в качестве лучшей практики, я сначала заполняю файл strings.xml по умолчанию и перевожу его в самом конце.Я также добавляю небольшой маркерный комментарий, чтобы указать конец перевода, и любые новые строки добавляются ниже этого.Это помогает мне отслеживать те, которые не переведены.

- ОБНОВЛЕНИЕ -

С новейшим инструментом ADT для затмения вы можете установить Lint , который позаботится обо всехвопросы, касающиеся дубликатов и многое другое с исчерпывающим набором предупреждений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...