RuneTranslate cracks open RPG Maker, Ren’Py, Kirikiri, Wolf RPG, Unity and more — extracts the script, translates it with your provider of choice, and rebuilds a playable game. Built for Japanese — but the source language is yours to set.
Here is one real line of Japanese, followed the whole way through — read out of the script, frozen, translated, put back, and written into a file the game loads.
Detection reads the shape of the folder, not its name — which is why renamed and repacked releases still open. This one is Ren’Py, because RuneTranslate found game/ · .rpy / .rpyc / .rpa.
Opened with unrpyc + rpatool. Whatever it needs ships inside the app — nothing is fetched at runtime. Work happens in a per-project workspace under userData/, and your game folder is never modified.
Dialogue, menu choices and UI strings become translation units. classifyUnit separates prose from code-like operands, so an asset path or a comparison key becomes a red opt-in row rather than being silently translated — translating a lookup key is how a game gets a translation and stops working.
This engine's markup is replaced by [[R#]] before anything leaves your machine. Watch where the tags sit: inside the sentence. The mask is not a wrapper around the outside of the line.
Sent in batches and retried on failure. Exact repeats are answered from translation memory instead of the provider, and short strings can be routed somewhere cheap while dialogue goes somewhere good. The machine never sees the tags — so it cannot mangle, drop or translate them.
Every placeholder goes back to its exact position, then this engine's own artifact is written and the game loads it on launch.
game/rt_translations.json
| Engine | Opened with | Markup frozen as | What you export |
|---|---|---|---|
| Gettext (.po / .mo) | pure TypeScript | %s / {count} | compiled .mo catalog |
| RPG Maker MV / MZ / XP / VX / Ace | pure TypeScript · evbunpack when Enigma-packed | [[T#]] | patched data/*.json |
| Ren’Py | unrpyc + rpatool | [[R#]] | game/rt_translations.json |
| Kirikiri / KAG | pure TypeScript (XP3) | [[K#]] | patch.xp3 + AfterInit2.tjs |
| Wolf RPG | UberWolfCli | no markup to freeze | repacked .wolf + Game.exe |
| TyranoBuilder / TyranoScript | pure TypeScript | [[U#]] | translated .ks + chara_define.ks |
| Electron VN | pure TypeScript (asar) | [[U#]] | repacked app.asar |
| Unity | UnityPy + Il2CppDumper | [[U#]] | patched .assets / bundles |
| RPG Developer Bakin | Bakin sidecar (.NET) | no markup to freeze | Bakin LocalizeData |
| SRPG Studio | SRPG-ToolBox | no markup to freeze | repacked data.dts |
| NScripter / ONScripter | pure TypeScript | no markup to freeze | ready-to-run copy |
| Godot Engine | GDRE Tools | no markup to freeze | re-packed .pck |
| Artemis | pure TypeScript (.pfs) | no markup to freeze |
Watch a Japanese game go from start to finish — open it, auto-detect the engine, translate with the provider you choose, and export a playable build in your language.
Every engine is unlocked on the free tier. Status is honest — green is rebuilt-and-played, amber is best-effort.
Translate gettext .po and .mo catalogs — the format Python, pygame, SDL and Poedit-localized games ship.
Translate RPG Maker MV, MZ and the older Ruby-based XP / VX / Ace end-to-end — dialogue, database, item names, plugin strings.
Translate source, compiled (.rpyc) and archived (.rpa) Ren'Py visual novels.
Send short menu strings to Google and narrative to Claude — automatically, with provider routing.
High-quality JA→EN. Best balance for long dialogue. Use DeepL as your Japanese game translator backbone.
gpt-4o / o4-mini for context-aware translation of RPG Maker, Ren’Py, and visual novel scripts.
Strong on register, tone, and onomatopoeia. The best LLM for translating eroge / doujin dialogue without losing voice.
OpenAI-compatible LLM translation at a fraction of the cost — deepseek-v4-flash / v4-pro. Context-aware quality for a few cents per game.
No API key required. Fast and free; ideal for menu strings, choices, and item names via provider routing.
Any OpenAI-compatible local server — Ollama or LM Studio. Runs fully offline on your own hardware; no API key, no per-token cost, nothing leaves your machine.
Any hosted OpenAI-compatible service — OpenRouter, NanoGPT, and others. Bring your key + base URL (one-click presets) and pick from the provider’s live model list.
lines of game text translated by RuneTranslate users so far
160 active users in the last 24 hours
Free unlocks every engine, provider and editor feature. Supporter and Pro add full-speed translation, more projects, and pro tooling.
Line up several projects and RuneTranslate translates them back-to-back, unattended — wake up to finished games instead of babysitting one run at a time. A Supporter perk.
Pick your projects and a provider, press start, and the queue works through them one after another — no clicking between games. Your PC stays awake for the whole batch.
If a game hits a snag the queue notes it and moves on, so a single error never stalls the whole overnight batch. You get a notification when it’s done.
Optionally run the AI refiner on every project right after it translates, for a cleaner first pass with zero extra clicks.
Supporters queue up to 10 games at once; Pro up to 30. Free translates one project at a time.
Connect Claude Desktop to RuneTranslate and just talk to it — “find the untranslated lines,” “look up this character’s official name,” “translate the rest and keep the honorifics.” Claude researches the game with its own web search and writes the results straight back into your project. Browsing is free; the actions are a Supporter perk.
One click installs a Desktop Extension into Claude Desktop. From then on you just talk to Claude about your projects — no copy-paste, no extra tools to run.
Claude uses its own web search to look up character names, items, and honorifics on the game’s wiki, then writes consistent translations straight back into your project.
Anyone can let Claude list and search their projects and glossary. Supporters unlock the actions: translate lines, build glossaries, run the engine, and export.
Off until you switch it on. Claude reaches RuneTranslate over a private local link guarded by a token only you hold — built on the open MCP standard.
Host a project, share an invite code, and translate with your team like a shared doc — live presence, a drag-to-select “blue box,” and a “translated by” credit on every line. Joining and translating is free; hosting is a Supporter perk.
Host a project on RuneTranslate and share an invite code — teammates join in one click. Hosting is a Supporter perk; joining and translating is free for everyone.
Everyone works the same line list and each person’s changes show up for the others within a couple of seconds — like a shared doc, last edit wins.
See who’s online, the line each person is editing, and the rows they have selected — plus a drag “blue box” to multi-select like a file manager.
Every translated line shows who did it, so your team always knows who handled what. Anyone with their own copy of the game can export the finished build.
Title screens, “New Game / Continue” buttons, HUD labels — the words no extractor can reach, because they are pixels rather than strings. Detect them, rebuild the artwork underneath, and typeset your translation back into the picture with real fonts.
One click finds every text area on an image and reads it, grouping the lines of a balloon into one block. Anything it misses you can box by hand — and any single box can be re-read on its own.
Recognized text goes through the same provider you use for dialogue — DeepL, Google, OpenAI, Claude — and lands in the editor, where you can rewrite it to fit the space it has to sit in.
Paint over the original lettering and the art underneath is rebuilt — a real background, not a coloured patch. Then set font, size, alignment, outline and colour per box, vertical Japanese included.
Export writes the translated image under its original filename so the game just loads it, and keeps the untouched original beside it.
Drag a save file in and edit it directly — no replaying to fix a missed flag or grind for gold. Edits auto-save, and your original is backed up on the first change so you can revert anytime. Free.
A structured editor for .rpgsave / .rmmzsave — gold, party levels, HP / MP / EXP, variables, switches, and inventory. Variable and switch names are read straight from the game.
Edit Ren’Py store variables and TyranoBuilder f / sf game variables in a generic field editor — flip a flag or bump a counter without replaying hours of the game.
Drag a save in and edits auto-save. The first change backs up the original so you can revert in one click. It can even translate Japanese variable names so you know what you’re editing.
Point the Cheats tab at any RPG Maker (MV/MZ) or Ren’Py game folder and inject a hotkey-toggled cheat menu in place — offline, single-player only, removable in one click. Free for everyone; a few advanced cheats are part of a paid plan.
A hotkey-toggled in-game menu: add 1000 gold, godmode, full heal, one-hit kill, no random encounters, and walk-through-walls. One plugin covers both MV and MZ.
Tabs that list every game variable and switch — search by name or id, read live values, and set or toggle anything on the fly.
Enables Ren’Py’s built-in developer console (Shift+O) plus a live store-variable editor screen, injected straight into the game.
Route the free translators through your own proxies so a per-IP rate limit no longer caps a whole-game run — requests spread across your addresses automatically, and a rate-limited one steps aside on its own. A Pro feature, off until you turn it on.
Google Translate and free DeepL limit by IP address, not by account. Your proxies turn one capped address into many, so a whole game keeps moving instead of stalling on rate-limit errors.
Paste HTTP/HTTPS or SOCKS proxies, hit Test all to see each one’s latency and real exit IP, then flip rotation on. Requests rotate automatically and a throttled proxy cools down and steps aside.
RuneTranslate never supplies proxies — you use your own, stored encrypted on your PC. Only translation traffic is proxied; your account and updates always use your normal connection.
Have your game text in CSV, JSON, PO (gettext) or XLIFF? Import it in the Developer tab, pick a source language and every target you want, and RuneTranslate creates a project per language and translates them automatically. Export each back in the same format — for any engine. Part of the Developer plan.
CSV, JSON, PO (gettext) or XLIFF — the formats Unity, Unreal, Godot, gettext and i18n frameworks already export. Any engine, your own text.
Pick one source and as many targets as you want; get one auto-translated, badged project per language from a single import.
Free Google/DeepL out of the box, or your own DeepL, OpenAI, Claude or DeepSeek key — then review with translation memory, glossary and the AI refiner.
Same format out as in, with your keys and ids preserved, so the translated file drops straight back into your build.
Step-by-step walkthroughs and provider comparisons from the people who built the extractors.
Quick answers about engines, providers, pricing, and what RuneTranslate actually does.
Yes — a built-in Save Editor. Drag in an RPG Maker MV (.rpgsave) or MZ (.rmmzsave) save and edit gold, party levels, HP / MP / EXP, variables, switches, and inventory in a structured editor (variable and switch names are pulled from the game). Ren’Py (.save) and TyranoBuilder (.sav) saves open in a generic variable editor. Edits auto-save and the original is backed up on the first change so you can revert. It’s free.
Yes. The Cheats tab injects a live in-game cheat menu into any RPG Maker MV / MZ or Ren’Py game you point it at — a hotkey-toggled overlay with add gold, godmode, full heal, no random encounters, and walk-through-walls, plus tabs that list and edit every game variable and switch. For Ren’Py it enables the developer console (Shift+O) and a live variable editor. It’s for offline single-player use, injects in place, and removes cleanly in one click. Free for everyone; a few advanced cheats are part of a paid plan.
Yes. Ren'Py source (.rpy), compiled (.rpyc), and archived (.rpa) games are all supported end-to-end. Compiled games are decompiled with the bundled unrpyc sidecar; .rpa archives are unpacked with rpatool. The translation applies at runtime via a content-match filter plus a forced language (with a bundled CJK / non-Latin font when needed), so it works even on compiled and archived games.
Yes for the 26+ GARbro-ported encryption schemes shipped today, plus a generic single-byte-XOR auto-solver and per-file XOR descramble. RuneTranslate emits loose files in scenario/ plus an AfterInit2.tjs path-priority hook — KrkrZ engines load the loose translated files ahead of the original encrypted XP3.
Point RuneTranslate at the .wolf game folder. The bundled UberWolfCli sidecar (MIT-licensed) decrypts and repacks the archive; it extracts dialogue from .mps map events and database .dat files (V3 games use a structural LZ4/UTF-8 parser). V2.x is stable; V3.x is provisional. Control-heavy lines that can't be safely rewritten are auto-reverted to the original to keep the build stable.
| root.pfs override patch |
| YU-RIS | pure TypeScript (.ypf) | [[Y#]] | loose .ybn override |
| AliceSoft System | pure TypeScript (.ald / .afa) | no markup to freeze | loose-file override |
| Unreal Engine 4 / 5 | retoc · AES auto-recovered | [[E#]] | override _P.pak |
| LiveMaker / LiveNovel | pylivemaker | [[M#]] | repacked .exe (VFF) |
Yes. RuneTranslate translates the text Unity games externalize: TextAsset and MonoBehaviour string fields inside .assets / level files / AssetBundles (read and written via a bundled UnityPy runtime), plus loose script files under StreamingAssets. MonoBehaviour fields read on both Mono and IL2CPP builds — for IL2CPP the type info is reconstructed from the game's metadata. It does NOT translate strings compiled into the game's code (Assembly-CSharp.dll / the IL2CPP binary). Most JP indie/doujin VNs and RPGs externalize their script, so coverage is good — but verify on your specific 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, then ships your translations through Bakin's own built-in localization system — your target language is added as a real in-game language you pick from the title menu. 3D models, textures, and audio are left untouched, and text compiled into a game's C# battle / menu scripts is out of scope. Verify on your specific game.
Yes. RuneTranslate is engine-aware, not content-aware. Anything 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 is supported regardless of theme, including adult-content visual novels and eroge.
RuneTranslate is built around the actual game engines, not text injection at runtime. You translate the project once, export a redistributable build, and ship it. No client-side overlay, no Sugoi server to run locally, no engine-specific scripting per game. It also gives you DeepL / OpenAI / Anthropic / Google in one editor without bouncing between tools.
Optional. Google Translate works with no key. DeepL has a free tier. OpenAI and Anthropic are BYOK — you bring your own key, and the keys are stored DPAPI-encrypted on your machine; they never touch our servers.
Yes. Every engine, every provider, the full editor, and the AI refiner are unlocked on the free tier — translation just runs modestly slower (roughly 2× on AI providers, less on the free scrapers). Supporter ($3/mo on Patreon) and Pro ($5/mo) unlock full-speed translation plus translation memory, provider routing, and glossary. There is no paid-only engine and no paid-only language. Free keeps 1 project at a time; Supporter 10, Pro 30, Developer 100.
Yes — collaborative projects. A Supporter hosts a project on RuneTranslate and shares an invite code; anyone (including free users) joins and translates together in real time, like a shared doc. You get live presence (who is online, the line each person is editing, the rows they have selected) and a “translated by” credit on every line. Joining and translating is free — only hosting a shared project needs the Supporter tier. Any member with their own copy of the game can export the finished build.
More answers: full FAQ page.