i18n Doctor: Получите полный отчет о состоянии перевода с помощью одной команды
Запустите better-i18n doctor для анализа всего вашего кода по пяти параметрам — качество кода, охват перевода, точность заполнителей, осиротевшие ключи и синхронизация CDN — и получите единую оценку работоспособности от 0 до 100 с практическими рекомендациями по диагностике.
Пять уровней анализа за один проход
Doctor выполняет сканирование кода, анализ покрытия, проверку качества, аудит производительности и проверку синхронизации CDN — все одновременно, с единой оценкой.
Код — обнаружение жестко запрограммированных строк
Сканирование на основе AST обнаруживает все строки, отображаемые пользователю, которые не заключены в t(). Обнаруживает текст JSX, атрибуты, тернарную логику локализации, сообщения toast и строковые переменные.
Охват — отсутствующие переводы
Сравнивает ключи, присутствующие в исходной локали, с каждой целевой локалью. О любых ключах, отсутствующих в целевой локали, сообщается с указанием их точного пространства имен и пути.
Качество — Несоответствие заполнителя
Проверяет, что заполнители интерполяции согласованы во всех локалях. Поддерживает именованные {}, двойные фигурные скобки {{}}, printf-%s, шаблон ${} и позиционные форматы {0}.
Производительность — обнаружение осиротевших ключей
Обнаруживает ключи, которые присутствуют в ваших файлах перевода, но никогда не упоминаются в коде. Осиротевшие ключи увеличивают размер полезной нагрузки и создают задолженность по обслуживанию.
Синхронизация — сравнение CDN
Сравнивает ключи, извлеченные из вашего кода, с опубликованными ключами в CDN. Выявляет проблемы, связанные с отсутствующими удаленными и неиспользуемыми удаленными ключами, до того, как они появятся в производственной среде.
Единый балл для оценки качества вашего перевода
Врач рассчитывает оценку от 0 до 100 на основе полученных диагностических данных. За каждую ошибку начисляется штраф в размере 3,0 баллов, а вклад каждого правила в предупреждение ограничен 20 баллами, что предотвращает сведение всей оценки к нулю из-за одного правила с тысячами предупреждений.
По умолчанию порог прохождения составляет 70 (оценка B). Используйте --ci, чтобы отклонить сборки ниже этого порога, или начните с --report, чтобы установить базовый уровень перед применением оценки.
score = 100 - (errors × 3.0) - Σ min(rule_warnings × 0.15, 20)Пороговые значения оценок
Интеграция CI/CD — предотвращение некачественных переводов до их выпуска
Добавьте доктора в ваш CI-конвейер, чтобы отслеживать регрессии перевода при каждом пуше. Автоматическая аутентификация OIDC в GitHub Actions означает отсутствие необходимости в управлении секретами.
GitHub Actions с OIDC
Пройдите аутентификацию автоматически без ключей API с помощью GitHub Actions OIDC. Просто добавьте id-token: право на запись и запустите doctor --ci --report.
Пороговое управление
Установите пороговое значение (по умолчанию: 70) и прекратите сборку, если оценка опустится ниже этого значения. Начните отслеживание с помощью --report, затем примените с помощью --ci.
Машинно-читаемый JSON
Используйте --format json для структурированного вывода, который можно передать в jq, настраиваемые панели мониторинга или последующую автоматизацию в вашей конвейерной линии развертывания.
Отчетность на панели инструментов
Загрузите результаты в панель управления Better i18n с помощью --report для отслеживания истории, анализа тенденций и обеспечения видимости состояния i18n для всей команды.
Когда использовать какую команду
Doctor представляет собой комплексный вариант. Используйте целевые команды, когда вам требуется конкретная проверка или вы хотите получить более быструю обратную связь в пре-коммит-хуках.
докторПолная оценка состояния с пятью уровнями анализа — единственный достоверный источник информации о статусе i18n вашего проекта.
сканироватьСосредоточенное обнаружение жестко запрограммированных строк. Поддерживает --staged для хуков pre-commit.
проверитьИнтерактивный инструмент для проверки отсутствующих или неиспользуемых ключей перевода с подсказками.
синхронизацияПолное сравнение локальной и удаленной версий, показывающее одновременно отсутствующие и неиспользуемые ключи.
Разработан для реальных рабочих процессов i18n
Оценка здоровья 0–100
Единый балл с разбивкой по категориям и пороговым значением CI для прохождения/непрохождения. Отслеживайте качество ваших переводов с течением времени.
Отслеживание лексической области действия
Интеллектуальное определение пространства имен для useTranslations и getTranslations. Каждый вызов t() сопоставляется с правильным пространством имен.
Поддержка серверных компонентов
Полная поддержка асинхронных серверных функций Next.js App Router. Вызовы getTranslations на стороне сервера обнаруживаются и проверяются.
Настраиваемые правила
Отключите или понизьте уровень правил в i18n.config.ts. Установите правила на «error», «warning» или «off» в соответствии с требованиями вашего проекта.
Интеллектуальная фильтрация
Автоматически игнорирует имена классов CSS, URL-адреса, пути импорта и константы разработчика. Только результаты, подлежащие действию.
Подробный журнал аудита
Высокая прозрачность с помощью --verbose. Сводки по области действия, информация о времени и трассировка разрешения пространств имен для отладки.
Связанные темы
CLI & Code Scanning
Инструменты для обнаружения жестко запрограммированных строк на основе AST и сканирования кода
For Developers
Инструменты i18n, ориентированные на разработчиков, с типобезопасными SDK и рабочими процессами Git-first
Localization Software
Platforms and software for managing localization at scale
Translation Management
Централизованная платформа для управления рабочими процессами перевода в больших объемах
Оцените качество перевода перед отправкой
Запустите better-i18n doctor один раз, чтобы получить базовые показатели. Добавьте его в CI, чтобы больше никогда не выпускать продукты с отсутствующими переводами.