Обзор CLI-команд¶
RimLoc CLI объединяет инструменты для сбора, проверки и обмена переводами RimWorld. Команды выводят единообразные сообщения и коды возврата, поэтому их легко скриптовать и запускать в CI.
Перед началом¶
- Установите CLI:
cargo install rimloc-cli. - Работайте с чистой копией мода — команды читают и пишут внутри
Languages/. - Потренируйтесь на фикстуре
test/TestMod, прежде чем запускать команды на реальных данных.
Типовой рабочий цикл¶
- Scan — извлекает строки из мода.
- Validate — ловит дубликаты, пустоты и несоответствия плейсхолдеров.
- Export PO — готовит пакет для переводчиков или CAT-инструментов.
- Validate PO — сверяет плейсхолдеры в переведённых PO-файлах.
- Import PO — возвращает переводы в XML и позволяет снова прогнать
validateперед релизом. - (Опционально) Build Mod — собирает автономный мод-перевод из итогового
.poфайла.
Сводная таблица¶
| Команда | Назначение | Частые опции |
|---|---|---|
scan |
Собирает единицы перевода из XML. | --lang, --format, --out-csv, --out-json, --game-version, --include-all-versions |
validate |
Проверяет XML на дубликаты, пустоты и плейсхолдеры. | --format, --source-lang, --source-lang-dir, --game-version, --include-all-versions |
validate-po |
Сравнивает плейсхолдеры в PO-файлах. | --po, --strict, --format |
export-po |
Формирует единый PO-файл для переводчиков. | --root, --out-po, --lang, --game-version, --include-all-versions |
import-po |
Применяет изменения из PO к XML. | --mod-root, --out-xml, --dry-run, --single-file, --game-version |
build-mod |
Собирает самостоятельный мод-перевод. | --out-mod, --package-id, --dry-run |
diff-xml |
Diff исходник↔перевод; поиск изменившихся исходных строк с baseline PO. | --baseline-po, --format, --out-dir, --strict |
annotate |
Добавить/удалить комментарии с оригиналом в XML. | --dry-run, --backup, --strip |
xml-health |
Проверить XML под Languages/. | --format, --lang-dir, --strict, --only, --except |
morph |
Сгенерировать Case/Plural/Gender с провайдером морфологии. | --provider, --timeout-ms, --cache-size, --pymorphy-url |
init |
Создать заготовку перевода Languages/<lang>. |
--overwrite, --dry-run |
Глобальные опции¶
--ui-lang <LANG>— язык сообщений (например,en,ru).--no-color— отключить ANSI‑цвета в терминале.--quiet— скрыть стартовый баннер и несущ. сообщения в stdout (алиас:--no-banner). Рекомендуется для JSON‑конвейеров.
Полезные паттерны¶
# Запустить проверку в CI и упасть только при ошибках
rimloc-cli validate --root ./path/to/mod --format text
# Получить машинно-читаемую диагностику
rimloc-cli validate --root ./path/to/mod --format json | jq '.[] | select(.level=="error")'
# Экспортировать и тут же проверить плейсхолдеры в PO
rimloc-cli export-po --root ./path/to/mod --out-po ./out/mymod.po --lang ru
rimloc-cli validate-po --po ./out/mymod.po --strict
# Посмотреть, каким будет готовый мод-перевод
rimloc-cli build-mod --po ./out/mymod.po --out-mod ./ReleaseMod --lang ru --dry-run
Решение проблем¶
- В примерах появляются префиксы
/RimLoc/— очиститеSITE_URLлокально; задавайте его только в CI передmkdocs build. - Сообщения
placeholder-check— сравните плейсхолдеры в исходных и переведённых строках; флаг--format jsonподсветит проблемный ключ. - Экспорт/импорт ничего не делает — убедитесь, что каталог
Languages/<lang>/существует и код языка совпадает с переданным флагом.
Нужны детали по конкретной команде? На отдельных страницах приведены таблицы опций, примеры и советы по устранению ошибок.
См. также¶
- Начало работы: ../getting-started.md
- Туториалы: ../tutorials/translate_mod.md · ../tutorials/export_po.md · ../tutorials/update_translations.md
- Словарь: ../glossary.md
- Советы и лайфхаки: ../tips.md