Chki18n
Консольный инструмент, который проверяет файлы переводов на соответствие правилам i18n и выпущен для JavaScript, Dart и Python. Он сообщает о пропущенных ключах, повторяющихся значениях и других частых ошибках и одинаково работает в CI и на рабочей машине.
Об этом проекте
Chki18n — инструмент командной строки, который проверяет файлы переводов на соответствие соглашениям, от которых зависит интернационализированный проект. Он читает языковые файлы, уже имеющиеся у проекта, и сообщает, что с ними не так, — проверка, которая иначе случается лишь тогда, когда пропущенная строка доходит до экрана.
Он выполняет двадцать пять проверок и сообщает о каждой проблеме на уровне, соответствующем вреду, который она причиняет. Ошибки — это то, что ломает интерфейс: файл, который не удалось прочитать или разобрать, ключ, определённый дважды, язык, отсутствующий в группе, ключ, который есть в одном языке и отсутствует в другом, и подстановочные маркеры, которые не совпадают с маркерами исходного языка по имени или по количеству. Предупреждения — то, что лишь неловко: пустое значение, два ключа с одним и тем же текстом, значение, совпадающее с исходным языком и потому не переведённое, цифры, потерянные или изменённые при переводе, потерянная разметка, один и тот же оригинал, переведённый по-разному, невидимый символ, недостающая форма множественного числа и ключ, который больше не использует ни один другой язык. Если указать ему ещё и исходный код, он сообщает о ключах, на которые ничто не ссылается, и о ключах, которые код запрашивает, но ни один файл не определяет.
Он запускается как команда, внутри задачи непрерывной интеграции или из вашего собственного кода и выпущен для JavaScript, Dart и Python: все три выполняют одни и те же проверки в одном порядке и печатают один и тот же отчёт. Сегодня он читает файлы переводов в формате JSON и проверяет, а не переводит: запуск ничего не переписывает внутри файла.
Возможности
Сайт документации
Типы TypeScript
Несколько языков
Проверено тестами
Кроссплатформенность
Командная строка
