Обзор 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