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

Команда Validate

Описание

Команда validate проверяет целостность и корректность файлов локализации модов RimWorld в указанной корневой директории. Для английского исходника RimLoc рассматривает Languages/English и Defs (имплицитные label/description и др.). Проверяется согласованность, формат и структура исходных строк.

Использование

rimloc-cli validate --root <ROOT> [OPTIONS]

Опции

Опция Описание Обязательно
--root Корневая директория, содержащая файлы локализации Да
--source-lang Код исходного языка (например, en) Нет
--source-lang-dir Путь к директории исходного языка Нет
--defs-dir <PATH> Ограничить поиск английских строк в Defs указанным путём Нет
--defs-field <NAME> Дополнительные поля Defs (флаг можно повторять или перечислить через запятую) Нет
--defs-dict <PATH> Дополнительные словари Defs (JSON: DefType → [field paths]) Нет
--format Формат вывода: text | json (по умолчанию: text) Нет
--game-version <VER> Папка версии, по которой работать (например, 1.4, v1.4). Авто-выбор, если не указано. Нет
--include-all-versions Проверять все подпапки версий, вместо авто-выбора последней. Нет
--ui-lang Язык сообщений интерфейса Нет
--quiet Скрыть стартовый баннер и несущественные сообщения (алиас: --no-banner) Нет
--help Показать справку Нет

Tip

Без --source-lang и --source-lang-dir RimLoc ищет исходные строки в Languages/English и в Defs. Используйте --defs-dir для ограничения корня Defs, а --defs-field — для добавления кастомных полей (можно задать в rimloc.toml в [scan].defs_fields).

Выполняемые проверки

  • empty — обнаружение пустых значений
  • duplicate — поиск дублирующихся ключей
  • placeholder-check — проверка согласованности плейсхолдеров

Примеры

Проверка файлов локализации в директории ./locales с настройками по умолчанию:

rimloc-cli validate --root ./locales

Указание исходного языка и директории исходного языка:

rimloc-cli validate --root ./locales --source-lang en --source-lang-dir ./locales/en

Получение результата проверки в формате JSON, фильтрованного по исходному языку:

rimloc-cli validate --root ./locales --format json --source-lang en

Задание языка интерфейса для сообщений:

rimloc-cli validate --root ./locales --ui-lang en

Вывод

Команда выводит сводку ошибок и предупреждений в выбранном формате. В режиме text используются символы ✖ (ошибки), ⚠ (предупреждения) и ℹ (информация); в режиме json возвращаются структурированные объекты, удобные для дальнейшей обработки.

Коды выхода

  • 0 — проверка завершилась без ошибок (предупреждения возможны).
  • 1 — обнаружены ошибки (дубликаты, пустые строки, проблемы плейсхолдеров).

Решение проблем

  • Неожиданные дубликаты — убедитесь, что файлы перевода не являются симлинками на один и тот же XML или не закоммичены дважды с разным регистром имени.
  • Сообщения placeholder-check — сравните исходное и переведённое значение; с --format json сразу видно ключ и строку.
  • Команда завершилась с кодом 0, но проблемы остаются — переключитесь на --format json, чтобы передавать вывод скриптам, или используйте --ui-lang ru для локализованных диагностик.