How to get the .rpy files
The most stable way to translate a Ren'Py game is to work from the original project source. In Ren'Py, story and dialogue usually live in .rpy script files.
Use the same project folder you open in Ren'Py Launcher. This prevents version mismatch, missing assets, and “works on my machine” bugs.
What you should have
- The original Ren'Py project folder (recommended), not only the built/distributed game.
- Permission to translate the project (especially if you are not the developer/publisher).
- A backup strategy (zip copy or version control) before you edit any scripts.
Where Ren'Py scripts usually live
In most projects, scripts are inside the game/ directory. Common filenames include script.rpy, screens.rpy, options.rpy, and custom chapter files.
MyRenPyGame/
game/
script.rpy
chapter_01.rpy
chapter_02.rpy
screens.rpy
options.rpy
images/
audio/
renpy/
README.txt
| Path / file | What it contains | Translate? |
|---|---|---|
| game/script.rpy | Main story flow, dialogue, labels | Usually yes |
| game/chapter_*.rpy | Split story files (per chapter / route) | Usually yes |
| game/screens.rpy | UI strings (menus/settings), screen definitions | Sometimes |
| game/options.rpy | Config / metadata (game title), some visible strings | Sometimes |
| renpy/ | Engine files | No |
Recommended workflow
- Open the game in Ren'Py Launcher.
- Click Open Project Directory to locate the project folder.
- Open game/ and pick the .rpy files you need.
- Import into the Translator, translate, then use Preview/Edit for QA.
- Export and replace/update the scripts in the same project, then run the game to test.
Keep indentation, quotes, and text tags intact. Ren'Py is strict about whitespace and string formatting.
Ren'Py formatting rules to preserve
- Text tags like {i}, {b}, {color=#fff} must remain balanced ({/i}, {/b}, etc.).
- Interpolation / variables like [player_name] must stay unchanged.
- Escapes like \n or \" must remain valid.
- Leading spaces before dialogue can be meaningful in some scripts. Avoid “auto-trim”.
Good vs risky edits
# Good: translated text, tags preserved
e "{i}I will never forget{/i} [player_name]."
# Risky: missing closing tag or modified variable name
e "{i}I will never forget [playerName]."
If you only have a built game
Many distributed builds ship compiled scripts (.rpyc) and archives instead of editable source. If you cannot find a game/ folder containing .rpy files, you may not have what you need.
- If you are the developer: translate from your project source folder.
- If you are not the developer: ask for permission and a translation-friendly source package.
This guide does not cover bypassing protections or decompiling content you don't own. Always respect the game's license and the developer's terms.
Quick checklist
- You are working from the original project folder.
- Scripts come from game/ (not renpy/).
- You preserve tags, variables, and indentation.
- You run the game after exporting to validate there are no syntax errors.
