CLI — аудит и отчёты
Команды аудита и отчётности — check, prune, stale, export, import, stats. Команды скаффолдинга и генерации (init, add, merge, types, split, merge-ns) — на странице CLI — генерация и скаффолдинг.
check — аудит полноты переводов
Читает все файлы .json в директории локалей и сообщает об отсутствующих или лишних ключах по сравнению с референсной локалью.
vue-i18n-kit check
vue-i18n-kit check --default en --dir src/i18n
# Завершиться с кодом 1, если какие-либо ключи отсутствуют (полезно в CI)
vue-i18n-kit check --default en --fail| Флаг | По умолчанию | Описание |
|---|---|---|
--dir <path> | src/locales | Директория локалей. |
--default <locale> | первая по алфавиту | Референсная локаль. |
--fail | false | Завершиться с кодом 1, если какие-либо ключи отсутствуют. |
Интеграция с CI (GitHub Actions):
- name: Check i18n completeness
run: npx vue-i18n-kit check --default en --failprune — удалить неиспользуемые ключи
Сканирует исходные файлы на вызовы t(), tm(), $t() и удаляет любые ключи локали, на которые нет ссылок нигде в проекте.
vue-i18n-kit prune --dry
vue-i18n-kit prune
vue-i18n-kit prune --entries i18n-tools/locales.entries.json| Флаг | По умолчанию | Описание |
|---|---|---|
--dir <path> | src/locales | Директория локалей. |
--entries <file> | (сканирование) | Путь к предварительно собранному locales.entries.json; пропускает сканирование. |
--dry | false | Вывести ключи, которые были бы удалены, без записи файлов. |
--yes | false | Пропустить запрос подтверждения. |
--ignore <patterns> | (нет) | Шаблоны ключей через запятую, которые никогда не удалять (напр. "status.*,legacy.*"). |
Подсказка: запускайте
prune --dryв CI и завершайте сборку с ошибкой, если вывод не пуст, чтобы обеспечить политику «без мёртвых ключей».
stale — показать устаревшие переводы
Сообщает о ключах, чьё референсное значение локали изменилось с момента последней проверки перевода. Требует staleTracking: true в i18n-kit.config.json.
vue-i18n-kit staleВывод:
Stale keys (reference locale changed since last review):
buttons.submit stored: "Submit" → current: "Submit form"
errors.auth.invalid stored: "Invalid" → current: "Invalid credentials"export — экспорт для переводчиков (XLIFF / PO)
Экспортирует локаль в формат XLIFF 1.2 или Gettext PO, готовый для отправки в профессиональное переводческое агентство или CAT-инструмент.
vue-i18n-kit export --locale ru
vue-i18n-kit export --locale ru --format po --out translations/ru.po
vue-i18n-kit export --locale ru --format xliff --ref en| Флаг | По умолчанию | Описание |
|---|---|---|
--locale <code> | — | Обязателен. Локаль для экспорта. |
--format <xliff|po> | xliff | Формат вывода. |
--out <path> | <locale>.<format> | Путь к выходному файлу. |
--dir <path> | src/locales | Директория локалей. |
--ref <code> | первая в конфиге | Референсная локаль (исходный язык). |
import — импорт из XLIFF / PO
Читает завершённый файл XLIFF или PO от переводчика и записывает переведённые значения обратно в JSON локали.
vue-i18n-kit import ru.xliff
vue-i18n-kit import translations/ru.po --dryКод целевой локали считывается из самого файла. Обновляются только ключи, присутствующие в импортируемом файле; несвязанные ключи остаются нетронутыми.
Отчёт о покрытии (vue-i18n-kit stats)
Получите быстрый снимок полноты переводов без открытия редактора.
vue-i18n-kit stats
vue-i18n-kit stats --format json --out ci-report.json
vue-i18n-kit stats --format htmlВывод в консоли:
vue-i18n-kit stats 2026-04-11
35 keys · 3 locales
Coverage
🇬🇧 English (en) ████████████████████ 100%
🇷🇺 Русский (ru) ████████████████░░░░ 89% 4 missing
🇩🇪 Deutsch (de) ███████████████░░░░░ 77% 8 missingПример GitHub Actions:
- name: Check i18n coverage
run: |
npx vue-i18n-kit stats --format json --out coverage.json
node -e "
const r = require('./coverage.json');
const low = r.locales.filter(l => l.coverage < 80);
if (low.length) { console.error('Low coverage:', low.map(l => l.code + ' ' + l.coverage + '%')); process.exit(1); }
"| Опция | Описание |
|---|---|
--format console | Вывод в терминал с ANSI-цветами (по умолчанию) |
--format json | Машиночитаемый JSON; пишет в stdout или --out |
--format html | Самодостаточный HTML-файл (по умолчанию: i18n-stats.html) |
--out <path> | Записать в файл вместо stdout (json/html) |
--dir <path> | Директория локалей (по умолчанию: src/locales) |