AndroidLangTool

0
README.md

Android Lang Tool

Утилита командной строки для импорта/экспорта строковых ресурсов Android проекта в таблицы и обратно.

Как использовать

Скачать собранный .jar из последнего pipeline сборки или собрать на своей машине вручную, затем перенести файл в корень проекта. Добавить Run Configuration для запуска тулзы.

Утилита работает в двух режимах:

  • Импортирование из таблиц в проект (легче всего будет, если все строки будут аккумулированы в одном модуле)
import <путь к таблице> -p <путь к папке ресурсов проекта> [-def <имя базовой локали в ISO формате> -nt <путь к файлу с не переводимыми строками>]

Пример:

import example

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

Пример:

import example

Поддерживаемые форматы таблиц

  • .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 файла приложения. Лучше использовать

local.properties
и
BuildConfig
.