
RenAI Translator
A downloadable tool for Windows
RenAI Translator — translate a Ren'Py visual novel with the AI you already pay for. Your files, your API key, your terminology. One window, nine languages, no subscription.
Everything stays on your PC. No account, no telemetry, no server on our side.

😤 You already know this feeling
You ran your script through a machine translator. It came back readable — and completely dead. Every character speaks the same way. The blunt one is polite. The shy one is confident. Half your [player_name] variables came back translated, so the game crashes on load. The tavern is "the Old Mill" in chapter one and "the Ancient Mill" in chapter four.
So you fix it by hand. Four thousand lines later the developer ships an update with two hundred new ones.
That is not the model's fault. It was never told who is speaking, and nobody checked what came back.
🎯 The problems it kills
- "Everyone sounds the same" — describe how each character speaks, once. Their voice goes into every request, so a blunt character stays blunt and a shy one stays shy across all nine languages.
- "It broke my build" — every
[variable]and{tag}is compared before and after. A line whose engine code the model altered is left untranslated instead of written broken. Your game still loads. - "The same term is translated three ways" — a locked glossary pins names, locations and interface strings. The model also reports recurring terms as it works, and they are reused next run.
- "The update added 200 lines and I have to redo everything" — no you do not. Only untranslated lines are ever sent. Finished ones are never touched and never paid for twice.
- "It cleaned up my dialogue" — Faithful register by default. If the original is crude, the translation is crude. Softening the source is a mistranslation, and the app says so out loud.
🛡 It will not damage your script
This is the part that matters most, so it is worth being specific. Nothing is written until it passes five checks:
- Lines that already have a translation are never sent and never touched
- If the model returns the wrong number of lines, the whole batch is discarded — because lines are matched by position, and one dropped line would shift every translation after it onto the wrong dialogue
- Engine code is verified per line; a mangled
[variable]means that line is skipped, not written - A file that changed on disk mid-run is refused, not overwritten
- Every write is atomic — a crash or a full disk cannot leave you with half a script
Structure, comments, indentation, tabs, CRLF line endings, BOM and escaped characters all come out byte for byte as they went in. Numbers are watched too: if a year or a price changes value, the line is written but flagged in the log.
🎭 Characters make the difference
- A library of everyone you have ever described — age, role, how they talk, who they are close to
- Tick the ones who appear in the files you are translating now; only those go into the prompt, so you are not paying for a cast of forty on a two-hander scene
- Speaker codes are read straight from the
.rpyline, so the model always knows who is talking
🔌 Nine providers, your key
- AI — Anthropic (Claude), OpenAI, Google Gemini, DeepSeek, Mistral, OpenRouter
- Local — LM Studio, Ollama, vLLM or any OpenAI-compatible endpoint. No key needed, nothing leaves the machine
- Machine translation — DeepL and Google Translate for menus and interface strings: instant, cheap, and Ren'Py tags are still protected
Paste a key with the wrong provider selected and the app tells you before you spend a request on it. Prompt caching is used automatically on Anthropic, so the character and glossary preamble is billed once per run instead of once per file.
🌍 Dialects, not just languages
- 31 target languages, and the ones that need it are split properly: Latin-American vs peninsular Spanish, Brazilian vs European Portuguese, simplified vs traditional Chinese
- Pick "Spanish (Latin America)" and the model is told, in the prompt, not to use vosotros, tío or vale. Pick Spain and it is told the opposite
- Honorifics, contractions and slang are asked for explicitly — a line should sound spoken, not written
💸 It does not waste your tokens
- Already-finished lines are never re-sent — the single biggest saving on a game that updates
- Batch size is yours to set; the glossary is frozen for the whole run so provider-side caching actually hits
- Optional: pack small files into one request. After an update that adds four lines to twenty files, this cut a real test run from 22 requests to 4 — 71% fewer characters sent. Off by default, and the trade-off is stated plainly in the UI
🈯 The whole app speaks your language
- 9 interface languages — English, Русский, Español, Português, Deutsch, Français, 中文, 日本語, 한국어
- Not just the buttons: the licence, every hint, and every error message in the log. A provider failure reads as a sentence you can act on, not a stack trace
🔒 Straight answers
- Does it translate for free? No. It is the workbench; you pay your provider for the tokens, at their price, with no markup from us. A local model costs nothing at all.
- Does anything leave my PC? Only the lines you translate, sent straight to the provider you chose. No account, no login, no telemetry, no server on our side. Your key is stored in a plain file next to the exe and sent nowhere else.
- Will it overwrite work I already did? No. Finished translations are invisible to it — they are not sent to the model and not written back. This is tested, not hoped for.
- Adult visual novels? Yes, and Faithful register is the default. One caveat: Google Gemini's safety filter refuses adult dialogue. Every other provider handles it, and the app tells you when Gemini is the problem.
- Subscription? No. Buy once, runs offline.
💎 Full or Lite
Lite (free) — the same parser, the same safety checks, the same writer. Whole-project scan, batch translation of any number of files, all nine providers, the manual glossary, dialects and all nine interface languages. Not a demo and not time-limited.
Full — adds the three things that scale a real project: the character library, editable translation instructions, and the auto-glossary that builds your terminology as it works.
⚙️ Before you buy
- Windows. One file, 21 MB, no installer — put it anywhere and run it.
- You need an API key from one of the supported providers, or a local model. The app ships neither and cannot translate without one.
- Generate the translation files in the Ren'Py launcher first. This app fills in
game/tl/; it does not create it. - Your data folder sits next to the exe, in plain sight. Back it up by copying it; move it to another PC by copying it.
- Read the output before you ship. Your files are safe; the writing still deserves a human eye.
Made by NodeDev Tools — your characters keep their voice, and your build keeps loading.
| Published | 3 days ago |
| Status | In development |
| Category | Tool |
| Platforms | Windows |
| Rating | Rated 5.0 out of 5 stars (1 total ratings) |
| Author | NodeDev Tools |
| Genre | Visual Novel |
| Tags | dialogues, gamedev, localization, Ren'Py, text, tool, translation |
| Average session | A few minutes |
| Languages | German, English, Spanish; Castilian, French, Japanese, Korean, Portuguese (Portugal), Russian, Chinese |
| Inputs | Keyboard, Mouse |
| Accessibility | Configurable controls |
| AI Disclosure | AI Assisted, Code |
Purchase
In order to download this tool you must purchase it at or above the minimum price of $4.99 USD. You will get access to the following files:
Download demo
Development log
- RenAI Translator v1.03 days ago




Leave a comment
Log in with itch.io to leave a comment.