Команда 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для локализованных диагностик.