Перекласти

Перевіряйте переклади зі скриптів Make або npm

Якщо ваш проєкт вже має make test або npm test, додайте перевірку перекладів туди. kaeris check завершується з кодом 1, коли плейсхолдер або ключ пошкоджені, тому вся ціль зазнає невдачі. Це офлайн і безкоштовно: без API ключа, без облікового запису.

KAERIS переклав цю сторінку та перевірив кожен рядок зворотним перекладом. Носій мови ще не переглядав її. Оригінал англійською

Рецепт

Makefile

Встановіть перевіряльник один раз за допомогою pip install kaeris. Рядок рецепту починається з табуляції. Зробивши test залежним від i18n-check, ви виконаєте перевірку перед тестами.

КонфігураціяMakefile
.PHONY: i18n-check test

i18n-check:
	kaeris check --source locales/en.json --langs de,fr --ci

test: i18n-check
	./run-tests.sh

npm скрипти

Скрипт лише викликає kaeris з вашого PATH, тому перевіряльник — це пакет Python з pip install kaeris. pretest виконується перед test і зупиняє його, якщо перевірка не вдається.

Конфігураціяpackage.json
{
  "scripts": {
    "i18n:check": "kaeris check --source locales/en.json --langs de,fr --ci",
    "pretest": "npm run i18n:check",
    "test": "jest"
  }
}

Що друкується під час реальних запусків

Вивід kaeris 0.2.35, захоплено 27 жовтня 2026 року. Остання строка кожного блоку — це код виходу, який бачить CI-завдання.

npm test

Вивід npm test з наведеними вище скриптами (скрипт test у цьому запуску був echo). Ліворуч: файли, які в порядку. Праворуч: de.json з {nam} замість {name} та відсутнім ключем checkout; npm зупиняється перед test.

Файли, які в порядкуnpm test
$ npm test

> [email protected] pretest
> npm run i18n:check


> [email protected] i18n:check
> kaeris check --source locales/en.json --langs de,fr --ci

✓ de: complete & placeholder-safe
✓ fr: complete & placeholder-safe
✓ all locales complete & placeholder-safe

> [email protected] test
> echo tests would run here

tests would run here
exit code: 0
Неправильний перекладnpm test
$ npm test

> [email protected] pretest
> npm run i18n:check


> [email protected] i18n:check
> kaeris check --source locales/en.json --langs de,fr --ci

✗ de: 1 missing key(s): checkout
✗ de: 1 placeholder mismatch(es):
    greeting: missing ['{name}'], added ['{nam}']
✗ de: 2 translation fault(s):
    greeting: lost placeholder {name}
    greeting: invented placeholder {nam} (not in source)
✓ fr: complete & placeholder-safe
✗ 1 missing key, 1 placeholder mismatch, 2 translation faults
exit code: 1

Рядок рецепту Makefile

Та сама команда, яку виконує ціль i18n-check, та її код виходу.

Файли, які в порядкуrecipe line
$ kaeris check --source locales/en.json --langs de,fr --ci
✓ de: complete & placeholder-safe
✓ fr: complete & placeholder-safe
✓ all locales complete & placeholder-safe
exit code: 0
Неправильний перекладrecipe line
$ kaeris check --source locales/en.json --langs de,fr --ci
✗ de: 1 missing key(s): checkout
✗ de: 1 placeholder mismatch(es):
    greeting: missing ['{name}'], added ['{nam}']
✗ de: 2 translation fault(s):
    greeting: lost placeholder {name}
    greeting: invented placeholder {nam} (not in source)
✓ fr: complete & placeholder-safe
✗ 1 missing key, 1 placeholder mismatch, 2 translation faults
exit code: 1

Налаштуйте це за три кроки

  1. Встановіть перевіряльник

    Виконайте pip install kaeris на машині або в образі CI, де виконуються ваші тести.

  2. Додайте ціль або скрипт

    Додайте ціль i18n-check до Makefile або скрипти i18n:check та pretest до package.json, вказавши власні --source та --langs.

  3. Виконайте звичайну команду

    make test або npm test тепер спочатку виконує перевірку і зупиняється з ненульовим кодом виходу, коли переклад пошкоджений.

Як ми це перевіряли

Кожна команда на цій сторінці була виконана перед тим, як її тут написали. Те, що не було виконано, також перелічено.

Опції, які варто знати

Запитання

Чи потрібен API ключ або обліковий запис?

Ні. kaeris check описано у його власній довідці як статичний, локальний і без API, тому завдання не потребує секретів. Переклад — це окрема команда, яка потребує ключа.

Що виявляє перевірка?

Втрачений або вигаданий плейсхолдер ({name}, %s, {{x}}, відмінки ICU), відсутній ключ та файл локалі, якого немає. Порівняння є локальним та статичним. Що перевіряється, з усіма прапорцями

Чи працює це без Python?

Перевіряльник є пакетом Python, тому машина, яка виконує перевірку, потребує Python 3.8 або новішої версії. Пакет не декларує жодних залежностей.

Продовжуйте

Інші рецепти: GitHub Actions · GitLab CI · pre-commit

Довідник CLI · Довідник Check · Довідник GitHub Action · Безкоштовна перевірка в браузері · Переклад у браузері