Aside next to everything else.
There are many ways to translate a Ren'Py game. Here is a fair look at what each one is good at, so you can pick the right tool, or the right mix.
Six ways, side by side.
| What you need | Asidebuilt for Ren'Py translation | Text editorVS Code, Notepad++ | Spreadsheetexport to Excel or Sheets | Ren'Py SDK alonegenerate, then play | General CAT toolsdesktop translation suites | Web platformsWeblate, Crowdin and similar |
|---|---|---|---|---|---|---|
| Tags and variables checkeda broken {i} or [name] caught before the game runs | ✓every line, as you type | –colours only, with an extension | – | ~lint, or a crash when you play | ~placeholder rules vary | ~checks you configure |
| Fits the dialogue boxmeasured with the game's own font | ✓ | – | – | ~you see it when you play | – | – |
| Scene and speaker next to the line | ✓full-screen scenes; layered not drawn yet | ~a comment with the original | – | ~play to the line | – | ~screenshots you upload |
| Choice menus in contextquestion, options and what follows | ✓ | – | – | ~play every branch | – | – |
| Proofreading state and progress | ✓per line, file and episode | – | ~by hand, in a column | – | ✓ | ✓ |
| Writes straight into the .rpy files | ✓after a backup | ✓ | –export and import back | ✓generates the files | ~through a filter or plug-in | ~through a file format |
| Prepares a built game.rpa archives, compiled scripts | ✓window comes with the first release | – | – | –needs the source scripts | – | – |
| Finds texts the generator misses | ✓experimental | – | – | – | – | – |
| Translation memory | ~identical lines; fuzzy planned for Pro | – | – | – | ✓ | ✓ |
| Many people at once | ~shared folder now; teamwork planned for Pro | – | ~shared sheet | – | ~ | ✓ |
| Offline, files stay with you | ✓ | ✓ | ✓ | ✓ | ✓ | ~online, unless self-hosted |
| Price | FreePro: one-off | free | free to paid | free | free to paid | free tiers to paid |
Categories, not every product: a single tool in a category may do more. If something here is wrong for a tool you use, write to aside@filiposakkq.dev.
Other tools made for Ren'Py.
They are built for different jobs. This table follows each project's own README as checked on 17 October 2026; a feature not listed there may still exist.
| Aside | Renquill | RenLocalizer | renpy-translator | |
|---|---|---|---|---|
| Main job | translating, proofreading and checking by hand | managing translation projects in the browser | automatic translation with many engines, plus an editor | extracting and machine translating, with unpack and repack |
| Runs on | Windows desktop app | web app, can be self-hosted | desktop and command line; Windows, Linux, macOS | Windows builds |
| Machine translation | one line with your key; batch in Pro | not in the README | Google, Bing, OpenAI, DeepSeek, Gemini, local models | Google, DeepL, OpenAI, Youdao and others |
| Tags and variables | ✓every line checked against its original | not in the README | protected while translating; the editor checks them | contents of {} [] are not translated |
| Proofreading and history | ✓per line, file and group; diff of every line | tracks progress | not described | not described |
| Scene preview | ✓full-screen scenes | not mentioned | not described | not described |
| Licence | closed; Free to use, Pro paid | MIT | GPL-3.0 | MIT |
Pick by the job, not the logo.
You translate by hand and care how it reads.
Checks that never let a tag break, the scene and the choices next to the line, a clear proofreading state, history, and the texts the generator missed.
You want a rough version fast.
RenLocalizer or renpy-translator push a whole game through many engines, and can unpack and repack it as a mod.
A large team works in the browser.
Weblate, Crowdin or Renquill give accounts, roles and a shared memory online, at the cost of uploading the texts.
Many translators mix tools. Aside reads plain .rpy files, so it fits after any tool that writes them, and catches what a machine broke.