FAQ
Common questions about translating Japanese games with RuneTranslate. Don’t see your question? Email [email protected].
Create a project → choose a provider → translate → review → export.
Yes. Every engine, every translation provider, and every editor feature is unlocked on the free tier. Translation runs ~3-4× slower than paid. Supporter ($3/mo on Patreon) and Pro ($5/mo) unlock full-speed translation plus translation memory and provider routing.
30+ target languages: English, Spanish, French, German, Portuguese, Russian, Chinese, Italian, Turkish, Vietnamese, and 20+ more. Source language is Japanese by default — but you can set any supported language as the source (Chinese, Korean, English, and more) per project.
Windows 10 and Windows 11 (x64). macOS and Linux are not currently supported — the engines we target (UberWolfCli for Wolf RPG, the Electron-based VN shells) require Windows binaries.
Optional. Google Translate works with no key. DeepL has a free tier. OpenAI (ChatGPT) and Anthropic Claude are BYOK. You can also run a local model (Ollama / LM Studio) entirely offline with no key and no per-token cost. Keys are stored DPAPI-encrypted on your machine — they never touch our servers.
Yes. Both RPG Maker MV (www/data/*.json) and MZ (data/*.json) are fully supported. RuneTranslate handles dialogue, choices, scrolling text, items, skills, terms, and plugin parameter strings. See the RPG Maker translator page for the full walkthrough.
Yes — source (.rpy), compiled (.rpyc), and archived (.rpa) Ren'Py games are all supported. Compiled games are decompiled with the bundled unrpyc sidecar; .rpa archives are unpacked with rpatool. Translated build writes to game/tl/translated/translation.rpy.
Yes. 26+ ported GARbro encryption schemes for XP3 archives plus a generic single-byte-XOR auto-solver, per-file XOR descramble, and the AfterInit2.tjs path-priority hook that lets KrkrZ engines load loose translated files without repacking the XP3.
Yes. The bundled UberWolfCli sidecar (MIT-licensed) handles .wolf archive decryption and repacking. A length-prefixed heuristic scanner extracts strings from .dat (CommonEvent) and .mps (map) files. V2.x is stable; V3.x is provisional.
Yes. Both Electron-wrapped (resources/app.asar) and HTML5-standalone TyranoBuilder builds are supported. Scenarios, UI strings, config, and character display names are all handled. Inline KAG tags are preserved through translation.
Use the Electron VN adapter. RuneTranslate reads + repacks resources/app.asar via @electron/asar, runs a JP-text scanner over .js / .html / .json / .ks files, and writes a modified asar. Works on shells like FLOYD's umazuma.exe.
Yes. RuneTranslate reads and writes the text Unity games externalize — TextAsset and MonoBehaviour string fields inside .assets / level files / AssetBundles (via a bundled UnityPy runtime) plus loose StreamingAssets script files. MonoBehaviour fields read on both Mono AND IL2CPP builds — type info comes from the game's own DLLs (Mono), or is reconstructed from the IL2CPP metadata via a bundled Il2CppDumper when there's no Managed/ folder. Only strings compiled into the game's C# code (Assembly-CSharp.dll / the IL2CPP binary) are out of scope. Most JP indie/doujin VNs and RPGs externalize their script, so coverage is good — verify on your game.
Yes. RuneTranslate reads the database (item / skill / character / class / condition names + descriptions) and event / scenario text out of a Bakin game's data.rbpack via a bundled sidecar that drives the game's own engine, then applies your translations through Bakin's built-in localization — your target language becomes a selectable in-game language. 3D models, textures, audio, and text compiled into a game's C# scripts are out of scope. Verify on your game.
Free Google Translate (no key, no cost) for short strings like menus and items. DeepL free tier for medium-volume dialogue. For LLM-driven translation: Anthropic Claude is often cheaper per million characters than GPT-4o on long-form dialogue. Provider routing on Supporter / Pro lets you split short strings to a cheap provider and dialogue to your premium one.
It depends on the game. DeepL is the best statistical MT for plain narrative. OpenAI GPT-4o is strong on context-aware translation and slang. Anthropic Claude is the best at preserving character voice, register, and onomatopoeia — especially valuable for visual novels and eroge.
Yes. The Local Model provider talks to any OpenAI-compatible local server — Ollama, LM Studio, llama.cpp, etc. Point it at your server URL, pick an installed model, and translation runs entirely on your own hardware: no API key, no per-token cost, and nothing leaves your machine. Quality depends on the model you run; a capable local model handles menus and short dialogue well, while large LLMs still lead on nuanced long-form prose.
Yes. Keys are encrypted with Windows DPAPI (the same mechanism Chrome uses for saved passwords) and stored in <userData>/keys/*.bin. They never leave your machine and never go to our servers. Requests go directly from RuneTranslate to the provider's API.
RuneTranslate translates the project once and exports a redistributable build. Sugoi Toolkit hooks the game at runtime and translates strings on-the-fly via a local server. RuneTranslate's approach: faster in-game performance (no per-frame translation), shareable output, no local server. Sugoi's approach: works on games without engine support.
Translator++ and mtool are Windows MTL tools that excel at runtime injection / on-the-fly overlays. RuneTranslate operates at the engine level — it understands RPG Maker JSON, Ren'Py .rpy, Kirikiri KAG, etc. — and produces a translated build of the game itself. Different tools for different workflows. RuneTranslate ships with DeepL, OpenAI, Anthropic, Google, and local models (Ollama / LM Studio) built-in via a single editor.
Edited units are flagged in the project file. Re-running the translator with the default settings preserves edited lines and only retranslates pending / failed ones. You can also re-translate everything explicitly via 'Re-translate all'.
Yes. Control codes are masked as opaque placeholders before sending to the provider, then restored verbatim in the result. If a provider drops or corrupts a placeholder, RuneTranslate marks the unit failed so the original Japanese line stays — your translated build never contains half-restored garbage.
Translation memory (Supporter / Pro) caches every JP → target translation across all your projects. The same Japanese line in a different game gets reused instantly without going to a provider — saves money on LLM runs, and your hand-fixed translations propagate to future projects.
Provider routing (Supporter / Pro) splits each translation run into two lanes: short strings (item names, "Yes"/"No", labels) go to a cheap provider like free Google Translate, while longer dialogue stays on your premium provider. Often cuts LLM cost 2-3× on big runs.
The glossary (Supporter / Pro) lets you force-substitute source→target term pairs in every translation. Add `勇者 → Hero` and every occurrence in the game renders exactly as "Hero", regardless of which provider you use or what mood the LLM is in that day. Same goes for character names (`アリス → Alice`), place names, and signature attacks. The substitution is applied via opaque placeholders so even DeepL and Google Translate respect it — not just LLMs.
They compose. The runner checks translation memory FIRST — any unit whose Japanese source is already cached is served from disk, zero provider calls. Anything left over goes through the glossary mask, then the provider, then restoration. New translations are written to TM after restoration, so the cache always contains the glossary-respecting output. The one edge case: if you add a glossary entry AFTER caching translations for the same source, RuneTranslate detects that the cached target no longer matches your glossary and bypasses the cache hit for that unit — so retroactive glossary additions actually take effect.
Yes. Settings → Glossary has Import CSV and Export CSV buttons. The format is RFC-4180 with columns source, target, targetLang. Header row required, fields containing commas / quotes / newlines are quoted, embedded quotes are doubled. Excel UTF-8-BOM is handled on import. Import offers Merge (add CSV rows on top, dedupe by source+lang) or Replace (wipe existing, use only CSV). Useful for sharing glossaries with collaborators or backing up before a major edit.
Yes — a built-in Save Editor tab. Drag a save file in and edit it directly: no project, no replaying to fix a missed flag or grind for gold. Edits auto-save to the file, and the first change backs up the original (a .rt-backup next to it) so you can revert in one click. It's free.
RPG Maker MV (.rpgsave) and MZ (.rmmzsave) open in a structured editor — gold, each party member's level / HP / MP / EXP, variables, switches, and inventory (items, weapons, armors). Variable and switch names are pulled from the game's System.json so you know what each one is. Ren'Py (.save) and TyranoBuilder (.sav) saves open in a generic variable editor that surfaces their store / f / sf variables.
Not yet. Those engines use proprietary binary save formats with no public spec, so the save editor currently supports RPG Maker MV / MZ, Ren'Py, and TyranoBuilder. For RPG Maker and Ren'Py games you can also use Cheat Mode to change values live in-game instead of editing a save.
The editor only changes the fields you touch and round-trips everything else untouched, writing through a temp file so a crash can't leave a half-written save. The first edit copies the original to a .rt-backup next to it, and the Revert button restores it. As always, keep your own backup of important saves.
Cheat Mode is a separate Cheats tab in RuneTranslate. Point it at an RPG Maker MV / MZ or Ren'Py game folder and it injects a live, in-game cheat menu straight into that game — no translation project needed. It's for offline, single-player use; it injects in place and a one-click Remove cleanly undoes it.
A hotkey-toggled overlay (default F10) with add 1000 gold, godmode, full heal, one-hit kill, no random encounters, and walk-through-walls — plus Variables and Switches tabs that list every game variable and switch so you can search by name or id and set or toggle any of them live. The overlay uses version-proof engine globals, so one menu works on both MV and MZ.
For Ren'Py it enables the built-in developer console (Shift+O) and developer menu, plus an optional hotkey panel that lists and edits the game's store variables live. The injected .rpy loads alongside the game's own scripts, so it works on source, compiled (.rpyc), and archived (.rpa) games.
The core cheats are free for everyone. A few advanced cheats — give all items, max stats, instant-win battle, and the live Variables / Switches editor tabs — are part of a paid plan. Free or paid, cheats only affect the game you inject them into; your originals and your translation projects are untouched.
RuneTranslate is engine-aware, not content-aware. If the game is built on RPG Maker MV / MZ, Kirikiri / KAG, Ren'Py, Wolf RPG, TyranoBuilder, Unity, RPG Developer Bakin, SRPG Studio, NScripter / ONScripter, Godot, Artemis, or a generic Electron VN shell, it's supported regardless of theme — including adult visual novels, eroge, and doujin releases.
The translation provider needs internet to translate. Everything else — engine detection, string extraction, editor, project storage, export — runs fully offline. Auto-updates and tier verification check in periodically but the app never blocks waiting for the server.
No. Translations go directly from RuneTranslate to the provider you chose (DeepL, OpenAI, Anthropic, Google, or your own local model). Our servers see neither the source nor the translated text. We only see the heartbeat that verifies your Patreon tier.
Download for Windows. Free tier unlocks every feature; Supporter ($3/mo) unlocks full speed.
Download RuneTranslate