Перейти к содержанию
Сканирование командной строки и кода

Анализ командной строки и кода: автоматический поиск всех непереведённых строк

Хватит искать жестко запрограммированные строки в исходных файлах. Улучшенная командная строка i18n использует синтаксический анализ на основе AST для сканирования всего вашего кода, обнаружения непереведенного текста в компонентах и атрибутах JSX, сообщения об отсутствующих и неиспользуемых ключах, а также плавной интеграции в ваш конвейер непрерывной интеграции.

Сканирование кода на базе AST

В отличие от сканеров на основе регулярных выражений, которые дают ложные срабатывания, Better i18n преобразует ваш код в дерево абстрактного синтаксиса, что обеспечивает точное и контекстно-зависимое обнаружение строк.

Обнаружение жестко запрограммированных строк

Автоматически найти все строки, видимые пользователю, которые не заключены в функцию перевода, включая строки в дочерних элементах JSX и свойствах компонентов.

Синтаксический анализ на основе AST

Преобразует ваш исходный код в дерево абстрактного синтаксиса для точного контекстного обнаружения, что позволяет исключить ложные срабатывания сканеров, основанных на регулярных выражениях.

Сканирование текстовых узлов JSX

Обнаруживает непереведенный текстовый контент внутри элементов JSX, включая выражения и шаблонные литералы, отображаемые непосредственно в ваших компонентах.

Сканирование атрибутов JSX

Обнаруживает жестко запрограммированные строки в атрибутах JSX, таких как placeholder, aria-label и title, которые часто упускаются при ручной проверке локализации.

Интеллектуальная фильтрация

Игнорирует непереводимые значения, такие как имена классов CSS, пути импорта и числовые литералы, чтобы вы видели только те результаты, с которыми можно работать.

Команды CLI для контроля качества перевода

Команда check обеспечивает интерактивный и удобный для разработчиков процесс проверки. Она сравнивает ключи перевода, используемые в вашем исходном коде, с ключами, хранящимися на удаленном сервере Better i18n, выявляя как отсутствующие ключи, требующие перевода, так и неиспользуемые ключи, которые можно удалить.

Динамические шаблоны ключей, такие как шаблонные литералы, распознаются автоматически. Если в вашем коде используется выражение t(`key. ${variable}`), CLI распознает динамический сегмент и включает его в отчеты о совпадениях с шаблонами, благодаря чему ничто не ускользнет из поля зрения.

  • Проведите полную проверку перевода с помощью одной команды проверки
  • В Surface отсутствуют ключи перевода, которые присутствуют в коде, но отсутствуют в вашем удаленном хранилище
  • Выявите в вашем удаленном хранилище неиспользуемые ключи, на которые больше нет ссылок в коде
  • Обнаруживать динамические шаблоны ключей, такие как шаблонные литералы, и помечать их для проверки
  • Создать отчеты о сравнении данных о локальном использовании и состоянии удаленного перевода

Гибкие форматы вывода

Результаты сканирования доступны в нескольких форматах, что позволяет адаптировать их к вашей рабочей процедуре. Вывод в стиле ESLint обеспечивает удобные для чтения отчеты с указанием файлов, строк и столбцов. Вывод в формате JSON предоставляет машиночитаемые данные для автоматизации CI/CD и использования собственных инструментов.

Режим подробного отчета обеспечивает полную прозрачность благодаря подробным журналам аудита, сводкам по объёму и информации о времени выполнения. Статистика сканирования отображает количество файлов, показатели обнаружения и данные о производительности, благодаря чему вы всегда будете в курсе состояния охвата перевода.

Вывод в стиле ESLint

Отчеты в удобном для чтения формате с указанием пути к файлу, номера строки и ссылок на столбцы для быстрой навигации в любом редакторе.

Вывод в формате JSON

Структурированные данные, пригодные для машинного считывания, идеально подходят для автоматизации CI/CD, создания настраиваемых информационных панелей и интеграции с другими инструментами.

Режим подробной отладочной информации

Подробные журналы аудита, содержащие сводки по области действия, информацию о времени выполнения и трассировки разрешения пространств имён для отладки.

Статистика сканирования

Количество файлов, ключевые показатели обнаружения и данные о производительности, чтобы вы всегда были в курсе состояния вашего переводческого покрытия.

DevOps и интеграция CI/CD

Встройте проверки переводов в существующий процесс разработки, чтобы выявлять отсутствующие строки до выхода в продакшн.

1

Интеграция конвейера CI

Добавьте в свой рабочий процесс непрерывной интеграции этап проверки, который при обнаружении непереведенных строк или отсутствующих ключей приводит к сбою сборки.

2

Хуки перед фиксацией

Перед каждой фиксацией выполняйте проверку файлов в стадии подготовки, чтобы выявлять непереведенные строки на самом раннем этапе разработки.

3

Сканирование в пределах каталога

Укажите конкретные каталоги или шаблоны файлов, чтобы сканировать только те части вашего кода, которые содержат контент, предназначенный для пользователей.

4

Анализ с учетом области действия

Автоматически разрешать пространства имён перевода посредством отслеживания лексической области видимости, чтобы каждый вызов t() сопоставлялся с правильным набором ключей.

Улучшенный интерфейс командной строки i18n: сканирование кода, разработанное специально для локализации

CLI-интерфейс Better i18n объединяет в одном инструменте сканирование кода на основе AST и удаленное управление ключами. Вы можете сканировать кодовую базу на наличие жестко запрограммированных строк, сравнивать локальное использование со своим удаленным хранилищем переводов, выявлять неиспользуемые ключи, увеличивающие размер пакета, и генерировать отчеты для вашего конвейера непрерывной интеграции — и всё это, не выходя из терминала.

Сканирование с учетом области действия

Tracks использует вызовы useTranslations и getTranslations в рамках лексических областей видимости, автоматически привязывая каждый вызов t() к соответствующему пространству имён.

Поддержка серверных компонентов

Обеспечивается полная поддержка асинхронных серверных компонентов Next.js App Router, благодаря чему вызовы getTranslations в серверном коде обнаруживаются и проверяются наряду с их использованием на стороне клиента.

Хуки перед фиксацией

Используйте флаг --staged для проверки только файлов, находящихся в промежуточном состоянии, чтобы выявлять непереведенные строки до их фиксации, не замедляя при этом рабочий процесс.

Отправляйте переводы, не пропуская ни одной строки

CLI-интерфейс Better i18n сканирует ваш код, обнаруживает все непереведенные строки и интегрируется в ваш конвейер непрерывной интеграции, благодаря чему в производственную среду не попадает ни одна строка без перевода.