Supported engine · Ren'Py
Ren'Py is the dominant Python-based visual novel engine — used for everything from indie kinetic novels to long-running adult VNs. RuneTranslate translates Ren'Py games in three modes: source-driven projects (game/**/*.rpy), compiled-only releases (.rpyc decompiled via the bundled unrpyc Python sidecar), and archived-only releases (.rpa unpacked via the bundled rpatool sidecar). All three flows write a translation.rpy into game/tl/translated/, which Ren'Py's runtime auto-prefers over scripts inside the archive. No need to re-pack the .rpa — the translated build drops in next to the original. Pair with the Supporter-tier Glossary feature to lock in character names + signature terms across long VNs where a single character can show up in hundreds of say-lines. Beyond translation, RuneTranslate's separate Cheats tab can inject a live cheat menu into Ren'Py games — it enables the built-in developer console (Shift+O) and a hotkey panel that lists and edits the game's store variables live, for offline single-player use.
Ren'Py VNs live and die by character voice — and the heroine being called 'Alice' / 'Aris' / 'Arisu' across three scenes will break a reader's immersion fast. Lock every character name, the protagonist's nickname variants, place names, and any made-up world terminology with the glossary. The mask is provider-agnostic, so whether you're on DeepL for the budget run or Claude for the dialogue-heavy main chapters, your terminology stays identical. Glossary 101 →
Point RuneTranslate at the folder containing the game executable. Engine detection auto-classifies the project as source-driven (.rpy present), compiled (.rpyc only), or archived (.rpa only). The bundled unrpyc and rpatool sidecars run automatically — no Python install needed.
Choose target language (one of nine supported) and provider. Anthropic Claude and OpenAI GPT-4o are strongest on Ren'Py dialogue because they preserve tone, register, and onomatopoeia better than statistical MT. DeepL is a solid second choice for long descriptive narration.
RuneTranslate extracts every translatable line (dialogue, choice text, screen labels, UI strings) and batches them. Ren'Py-specific tags ([[player_name]], {color=#fff}…{/color}, {b}…{/b}) are masked during translation so the LLM treats them as opaque placeholders, then restored verbatim.
RuneTranslate writes game/tl/translated/translation.rpy into the game directory. Ren'Py loads .rpy in tl/ before the compiled archive, so the translated build runs without re-packaging. Re-running the translator preserves your hand-edited lines.