RTV Mod Localization Toolkit
An offline, locale-agnostic localization toolkit for Road to Vostok mods.
This is not a translation pack. It's the toolchain that produces and applies translation packs — any locale, any mod. Ship your own Chinese, Japanese, German, Russian pack with the same workflow; the toolkit doesn't care which language you're targeting.
What's Inside
| Component | Role | Runs |
|---|---|---|
RTV-Mod-Localizer (.vmz mod) |
Rebuilds each installed mod's .vmz with your translations applied, backs up the original as .vmz.rtvsrc, and exposes per-mod language dropdowns in MCM. |
Inside the game |
| RTV-Text-Extractor (Python tool) | Reads a .vmz, pulls out MCM / UI text that's safe to translate, and writes an empty, ready-to-fill JSON pack. |
Outside the game |
Supported locale IDs (not exhaustive, any <locale>.json works):
ar_ar · de_de · es_es · it_it · ja_jp · ko_kr · pt_br · ru_ru · us_us · zh_cn · zh_tw
Multiple locales can coexist per mod — MCM lists whichever <locale>.json files you drop under each mod's pack folder.
How They Work Together
- Install the mod. Drop
RTV-Mod-Localizer.vmzand the (empty)RTV-Mod-Localizer/Packs/folder into…/Road to Vostok/mods/. Requires Mod Configuration Menu. - Extract strings. Run
python rtv_text_extractor.py, pick a.vmz(or your whole mods folder), pick a locale. It emits<mod_id>/<locale>.jsonwith emptytofields. - Translate. Fill in the
tofields. Leavefrom,match, andwherealone. - Deploy. Copy the filled pack into
…/mods/RTV-Mod-Localizer/Packs/<mod_id>/<locale>.json. Launch the game, open MCM → RTV-Mod-Localizer, switch the target mod's dropdown fromDisabledto your locale, then restart the game.
The Localizer rebuilds the mod's .vmz offline with your translations and keeps the untouched original as <ModName>.vmz.rtvsrc. Flip the dropdown back to Disabled + restart to restore any mod at any time.
Scope and Limitations — Please Read First
Godot mod development is free-form. There is no community-wide convention for how mod authors expose user-facing strings, which properties they assign them to, or how they compose them at runtime. As long as that remains true, no automated localization pipeline can hit 100% coverage across every mod, and this toolkit is not an exception.
What this toolkit reliably does
- Extracts the majority of MCM settings pages (titles, options, tooltips, descriptions) and most in-game UI text that mods add.
- Applies packs offline and deterministically, with an always-available restore path via the
.vmz.rtvsrcbackup. - Stays conservative — when a literal's identity is ambiguous, it's skipped rather than guessed.
What this toolkit does not do
- It does not auto-translate. Every
tofield is human-authored (or machine-translated-then-reviewed). Emptytofields are ignored at build time. - It does not capture strings the extractor couldn't identify — typically strings assembled at runtime, driven by enum values, or stored in non-standard properties. Those need hand-authored pack entries.
- It does not translate the base game.
- It does not track mod updates automatically. When an author publishes a new version, re-run the extractor, diff, and patch your pack.
Treat the extractor's output as a strong starting point, not a finished pack. Hand-authored additions and in-game verification are a normal part of producing any locale.
Source Code & Contributing
Both tools are open source under the MIT License.
- RTV-Mod-Localizer (the in-game builder):
https://github.com/dwyaneyao/RTV-Mod-Localizer - RTV-Text-Extractor (the Python extractor):
https://github.com/dwyaneyao/RTV-Text-Extractor
Pull requests, issues, and improvements are welcome — especially:
- new
wherefilter kinds, - better coverage for string patterns the extractor currently misses,
- safer skip rules for edge-case non-display literals,
- bug fixes in GDScript / scene / resource / config parsing.
If you spot something the tooling mishandles on a specific mod, open an issue with the mod name + a pack excerpt. The "rare pattern" tail is exactly the kind of thing community contributions fix best.
Credits & License
RTV-Mod-LocalizerandRTV-Text-Extractorare released under the MIT License.- Respect each translated mod author's license. The Localizer only repackages their existing
.vmzon your machine; it does not redistribute their source. - Special thanks to the Road to Vostok modding community and to the MCM author for making settings pages inspectable in the first place.
Happy translating — and have fun out

