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

Команда Validate PO

Описание

Команда validate-po проверяет корректность и согласованность PO (Portable Object) файлов перевода, используемых в модах RimWorld. Она проверяет правильность заполнения плейсхолдеров как ключевой аспект и обеспечивает общее качество файлов локализации, особенно при включенном строгом режиме.

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

  • Несоответствие плейсхолдеров — обнаруживает несоответствия в плейсхолдерах между исходными и переведёнными строками.

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

rimloc-cli validate-po --po <PO> [OPTIONS]

Опции

Опция Описание Обязательно
--po <PO> Указать PO файл для проверки. Да
--strict Включить строгий режим проверки, при котором предупреждения считаются ошибками. Нет
--format Формат вывода отчёта о проверке (по умолчанию: text). Нет
--ui-lang <LANG> Установить язык для сообщений пользовательского интерфейса. Нет
--quiet Скрыть стартовый баннер и несущественные сообщения (алиас: --no-banner) Нет
--help Показать справку по команде validate-po. Нет

Примеры

Проверить PO файл с настройками по умолчанию:

rimloc-cli validate-po --po Mods/MyMod/Translations/en.po

Базовая проверка на распространённые ошибки.

Проверить PO файл в строгом режиме с выводом в формате JSON:

rimloc-cli validate-po --po Mods/MyMod/Translations/en.po --strict --format json

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

Вывод

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

Коды выхода

  • 0 — блокирующих несоответствий плейсхолдеров нет (в предупреждениях нестрогого режима могут остаться замечания).
  • 1 — найдена хотя бы одна ошибка (или предупреждение при включённом --strict).

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

  • Ошибки placeholder-mismatch — плейсхолдеры должны совпадать полностью, включая регистр и фигурные скобки; убедитесь, что переводчик сохранил токены вроде {0} или %s.
  • Строгий режим срывает сборку — отключите --strict, чтобы просмотреть предупреждения локально, затем исправьте проблемные строки и снова включите флаг в CI.
  • PO файл не находится — указывайте абсолютный путь или запускайте команду из корня репозитория, чтобы относительные пути разрешались корректно.