Skip to content

RimLoc

Docs Buy Me a Coffee Ko‑fi Discord

RimLoc helps RimWorld modders keep translations discoverable, validated, and ready for translators.

Start Translating Configuration (rimloc.toml)

🚀 Quick Start

New? Start here: getting-started.md — step‑by‑step guide with commands and tips.

Why RimLoc?

  • Inventory every string under Languages/*/{Keyed,DefInjected} with one command.
  • Prevent broken releases by catching duplicate keys, empty values, and placeholder drift.
  • Export and import PO/CSV bundles so translators can work with familiar tooling.
  • Build translation-only RimWorld mods straight from a curated .po file.
  • Ship CLIs localized via Fluent (English and Russian included by default).

Commands at a glance

See the CLI overview: cli/index.md. Jump directly: Scan · Validate · Validate PO · Export/Import · Build Mod.

Core commands

Command What it does Notes
scan Enumerates translation units from XML. Use --out-csv or --out-json to persist alongside stdout.
validate Flags duplicates, empties, placeholders in XML. Combine with --format json for CI parsing.
validate-po Compares placeholders in PO msgid/msgstr. Use --strict to fail on warnings.
export-po Publishes a single PO hand-off file. Requires --root and --out-po; add --lang for the target locale.
import-po Writes PO updates back into XML. --dry-run previews changes; --single-file routes everything to _Imported.xml.
build-mod Builds a translation-only RimWorld mod from a PO file. --dry-run prints the plan; adjust --package-id and --rw-version before release.

Next steps

Help translate RimLoc

Want RimLoc in your language? Check the Localization guide. You can translate via GitHub web editor with no local setup.

Looking for the CLI source?

The binaries live in crates/rimloc-cli. Fixtures for experimenting are under test/.

Contributing to docs

Found a typo or want to add examples? Edit this page on GitHub or check the contributor guide in AGENTS.md.