AndroidLangTool
Android Lang Tool
Утилита командной строки для импорта/экспорта строковых ресурсов Android проекта в таблицы и обратно.
Как использовать
Скачать собранный .jar из последнего pipeline сборки или собрать на своей машине вручную, затем перенести файл в корень проекта. Добавить Run Configuration для запуска тулзы.
Утилита работает в двух режимах:
- Импортирование из таблиц в проект (легче всего будет, если все строки будут аккумулированы в одном модуле)
import <путь к таблице> -p <путь к папке ресурсов проекта> [-def <имя базовой локали в ISO формате> -nt <путь к файлу с не переводимыми строками>]
Пример:

- Экспортирование в таблицы
export <путь к папке с ресурсами проекта> -o <путь с именем будущего табличного файла> [-def <имя базовой локали в ISO формате> -t (экспортирует только переводимые строки) -nt <путь к папке для экспорта не переводимых строк в отдельный .csv>]
Пример:

Поддерживаемые форматы таблиц
- .csv (предпочтительный, как самый легкий формат)
- .xls
- .xlsx
Формат работы с утилитой прописывается в командной строке/терминале при неудачной попытке запуска:
Usage: <main class> [command] [command options]
Commands:
export
Usage: export [options] Export project dir
Options:
-nt, --nontranslatable
Folder to export non translatable strings .csv file into
* -o, --output
Output file [.xls / .xlsx / .csv]
-t, --translatable
Exclude non translatable strings from exported table
Default: false
-def
Default locale that will be written in values folder
Default: en
import
Usage: import [options] Import file [.xls / .xlsx / .csv]
Options:
-nt, --nontranslatable
File .csv to import non translatable strings from
-def
Default locale that is placed in values folder
Default: en
* -p,
Import project
Не переводимые строки
Утилита может работать с не переводимыми ресурсами отдельно, не добавляя их к экспортируемой таблице для удобства переводов. Для этого добавлены соответствующие аргументы к режимам запуска.
Не переводимые строки записываются в .csv файл в формате ключ - значение:
PENDING_PURCHASES,Pending purchases
HEY,Hey 👋
CROP_OPTION_RATIO_4_3,4:3
CROP_OPTION_RATIO_3_4,3:4
CROP_OPTION_RATIO_16_9,16:9
CROP_OPTION_RATIO_9_16,9:16
Не добавляйте приватные данные приложения в не переводимые строковые ресурсы!
Все строковые ресурсы легко достать из .apk файла приложения.
Лучше использовать и .