Build a translation-only RimWorld mod¶
build-mod packages translated RimWorld language data into a standalone translation mod.
PO is not required. The command supports two source modes:
- an external PO handoff;
- an existing translated
Languages/<locale>tree.
Build from an existing Languages tree¶
Use this when translation XML already exists — including output produced by a RimLoc project workflow:
rimloc-cli build-mod \
--from-root ./work/MyTranslatedMod \
--out-mod ./dist/MyTranslatedMod-RU \
--lang ru \
--dry-run
After reviewing the plan, rerun without --dry-run.
Relevant options include:
--from-root <DIR>— source tree containing translated Languages data;--from-game-version <CSV>— select version subfolders;--out-mod <DIR>— isolated destination;--lang <CODE>/--lang-dir <DIR>;--name,--package-id,--rw-version;--dedupe;--dry-run.
Build from PO¶
Use this when PO is the chosen interchange format:
rimloc-cli build-mod \
--po ./work/MyMod.ru.po \
--out-mod ./dist/MyMod-RU \
--lang ru \
--dry-run
This is useful for Poedit/CAT workflows, but it is not the canonical RimLoc project path.
Output safety¶
A real build refuses to silently merge into a non-empty output directory unless the explicit merge behavior is requested by the current CLI.
Always:
- use
--dry-runfirst; - write to an output directory, not the source mod/game tree;
- validate the generated result before publishing;
- test it in RimWorld.
Why the command still mentions PO¶
The CLI predates the full canonical project workflow and keeps stable, useful format-specific commands for interoperability. That is intentional compatibility, not an architectural requirement that RimLoc projects be PO files.
Run rimloc-cli build-mod --help for the exact options supported by your build.