ИИ-инструменты и скрипты
Проверка файлов переводов
Проверьте файлы переводов перед выпуском новой языковой версии: расхождения плейсхолдеров с оригиналом, файлы, которые не загружаются, ошибки множественного числа ICU, апострофы, скрывающие {0}, отсутствующие или непереведённые ключи в JSON, YAML, .po, .arb, .strings и Android XML.
Что вы получите: 1 файл · 58.15 KB · ZIP
Варианты покупкиОписание товара
Переводчик заменяет {name} на {nom}, пишет L'application в Android strings.xml или удаляет ветку other в форме множественного числа ICU, и приложение показывает необработанный плейсхолдер, сборка прерывается либо экран перестаёт работать у всех пользователей этого языка. Этот навык выявляет такие ошибки до выпуска, а также менее заметные пробелы: отсутствующие ключи, скопированный английский текст и арабские формы множественного числа только с one и other.
Ваш агент запускает сканер в проекте. Он читает JSON-файлы локализации (i18next, next-intl, vue-i18n, react-intl, Laravel, расширения Chrome), YAML Rails и Symfony, gettext .po, Flutter .arb, Apple .strings и .stringsdict, XML в Android res/values и Java .properties. Он группирует соответствующие друг другу файлы переводов, определяет базовый язык по именам файлов и папок (en, en-US, values/, пакет без языкового суффикса или файл шаблона Flutter), указывает выбранную базу и сравнивает с ней остальные языки. Сканер понимает ICU MessageFormat, формы множественного числа CLDR для каждого языка и стиль плейсхолдеров каждого формата, отличает настоящий набор форм множественного числа от обычного ключа вроде payment.other, воспринимает 100%ige как текст, а не плейсхолдер, и обрабатывает арабский и другие языки с письмом справа налево. Он никогда не запускает приложение или инструмент перевода. Результат: БЛОКИРОВКА, ПРОВЕРКА или НЕ ОТМЕЧЕНО с указанием файла, строки, причины и более безопасного подхода. Секретные данные никогда не выводятся.
Что проверяется
БЛОКИРОВКА (исправить до выпуска)
I01: плейсхолдеры, отличающиеся от базового текста ({name}, {{count}}, %s, %1$d, %(name)s, %@, {0}), включая изменение типа, например %d на %s, форму множественного числа, теряющую аргумент помимо количества, и форму ICU, которая нигде не выводит само число
I02: файлы, которые не загружаются или не проходят сборку: ошибки синтаксиса JSON, YAML, .po и .strings, повторяющиеся msgid, дубли ключей в YAML Symfony, неэкранированные апострофы Android, дубли ресурсов Android, несовпадения ARB @@locale
I03: сообщения ICU, которые невозможно разобрать (несбалансированные фигурные скобки, отсутствие варианта other, неизвестная категория множественного числа), и наборы форм множественного числа без other
I04: апострофы, из-за которых {0} или {name} выводятся буквально в Java MessageFormat и сообщениях ICU
I05: теги script, обработчики событий или ссылки javascript: внутри перевода
ПРОВЕРКА (проверить до выпуска)
I11: отсутствующие в переводе ключи
I12: ключи, которых нет в базовом файле
I13: пустые переводы
I14: текст, скопированный без изменений с базового языка
I15: теги HTML или форматированного текста, отличающиеся от базового текста
I16: ключи, записанные в одном файле дважды
I17: необходимые для языка формы множественного числа (арабского, русского, польского и других), а также число форм .po, не совпадающее с nplurals
I18: записи .po с пометкой fuzzy
I19: корневой ключ Rails или заголовок Language в .po, указывающий язык, отличный от языка файла
Что входит в комплект
Сканер (Python 3.9+, только стандартная библиотека)
Руководство по правилам с обоснованием и более безопасным подходом для каждого правила
Примеры проекта с уязвимостями и безопасного проекта (файлы веб-проекта, Android, iOS, Django, Rails и Spring с арабскими, немецкими и французскими переводами), а также реальный отчёт сканера для примера с уязвимостями
Ограничения
Сканер читает каждый файл в исходном виде: переводы, загружаемые во время выполнения, ключи, формируемые в коде, и способ отображения сообщения приложением, как текста или HTML, не проверяются. Каждый файл сравнивается только с базовым файлом своей группы, поэтому перемещённые между файлами ключи отмечаются как отсутствующие и лишние. Файлы локализации XLIFF, .resx, .xcstrings, Qt .ts, JSON5 и TOML не читаются. Непереведённый текст определяется эвристически. Статус НЕ ОТМЕЧЕНО не даёт гарантий.
Содержимое архива
Один ZIP-архив с 37 файлами: SKILL.md, сканер в scripts/ (8 файлов Python), references/rules.md (все правила с обоснованием и более безопасным подходом), а также examples/ (26 файлов примеров и report.md, реальный результат сканирования примера с уязвимостями).
Как использовать: Это навык для агента: папка с файлом SKILL.md и скриптами Python, которые может запускать ИИ-агент для разработки, например Claude Code, Cursor или Codex CLI. Распакуйте архив в папку навыков вашего агента (для Claude Code: ~/.claude/skills/), затем попросите агента проверить проект. Скрипты можно запускать и отдельно с Python 3.9 или новее, без установки дополнительных компонентов. Они только читают ваши файлы: не обращаются к сети и ничего никуда не отправляют.
Что вы получите
1 файл · 58.15 KB
- translation-files-check-1.0.0.zipZIP · 58.15 KB
ИИ-инструменты и скрипты
Проверка файлов переводов
Проверьте файлы переводов перед выпуском новой языковой версии: расхождения плейсхолдеров с оригиналом, файлы, которые не загружаются, ошибки множественного числа ICU, апострофы, скрывающие {0}, отсутствующие или непереведённые ключи в JSON, YAML, .po, .arb, .strings и Android XML.
Включено в Getly ProПолучить Pro
Теги
Частые вопросы
Доступ открывается сразу?
Да. Это цифровой товар - скачать его можно сразу после оплаты, прямо из своей библиотеки.
Можно ли использовать в коммерческих проектах?
Да. Коммерческое использование разрешено: в своём бизнесе и в том, что вы продаёте. Перепродавать и распространять сам файл нельзя.
Какие условия возврата?
Запросить возврат можно в течение 30 дней. Если что-то не так, оформите заявку в своём заказе - её рассмотрит команда Getly.
Какие форматы и размеры файлов я получу?
Вы скачаете 1 файл - ZIP - всего 58.15 KB.
Обновления бесплатны?
Да - когда продавец выпускает новую версию, вы можете бесплатно скачать актуальные файлы из своей библиотеки. Последние изменения смотрите в истории версий.
Цена
$5.00



