-
-
Notifications
You must be signed in to change notification settings - Fork 8
FAQ
Lord0fTurk edited this page Feb 6, 2026
·
2 revisions
This document is your primary resource for understanding settings, optimizing performance, and troubleshooting errors.
By default, "Aggressive Translation" mode is disabled for maximum speed.
-
What it does when enabled: If the primary engine (e.g., Google) fails to translate a line (returning the exact same English text), the program automatically:
- Retries using a different Google Server (e.g., switches from
.comto.co.uk). - If that still fails, it uses Lingva Translate as a final backup.
- Retries using a different Google Server (e.g., switches from
- The Trade-off: This multi-step process significantly improves translation coverage (near 100%) but increases the time per line.
- When to Enable: If you see untranslated lines after the first pass, enable "Aggressive Translation" in Settings > Advanced and run the translation again.
- Batch Size: Increase "AI Batch Size" in settings (Default is 50). Values up to 100 are often safe for GPT-4o.
-
Model Choice: Use faster models like
gpt-4o-mini,gemini-1.5-flash, or a quantified Local LLM (7B parameters).
These settings control which parts of the game are modified.
-
Translate Dialogue: The main story text (
saystatements).- Recommendation: Always ON.
-
Translate Menus: The choices players make.
- Recommendation: Always ON.
-
Translate UI: Standard Ren'Py interface text defined in
screens.rpy(Save, Load, Preferences). -
Translate Buttons: Texts inside manual
textbuttonelements. -
Translate Tooltips: Popup text when hovering over elements (Accessibility/Alt-text).
- Note: Turn these OFF if you want to keep the game's interface in English while translating only the story.
-
Translate Notifications: Popup messages like
"Game Saved". -
Translate Input Values: Default text in input boxes (e.g.,
"Enter Name"). -
Translate String Definitions: Variables defined with
define.-
⚠️ Risk: Some games use these strings for logic checks. Translating them carries a risk of breaking game logic. Enable only if you want a 100% full translation.
-
-
Exclude System Folders: Automatically skips unnecessary folders like
renpy/,lib/,cache/to speed up scanning. - Scan .rpym Files: Scans Ren'Py Module files. Usually contains library code. Keep OFF unless needed.
- Cause: We are open-source and don't have a paid digital signature.
- Solution: Click "More Info" -> "Run Anyway".
- Cause: Antiviruses often flag unverified Python programs as generic risks.
- Solution: Add the RenLocalizer folder to your Antivirus Exclusions list.
- Solution: Install the Visual C++ Redistributable package from Microsoft.
Even after a full translation, some parts might remain in English.
-
Feature: RenLocalizer can install a Force Runtime Translation script (
zzz_renlocalizer_runtime.rpy) to catch these while you play. Enable it via Tools > Runtime Hook Generator or in Settings. -
If still English:
- Image Text: The menus might be PNG/JPG images (Photoshop), which cannot be translated by text tools.
- Hardcoded Code: The text is embedded deeply in Python code blocks which are skipped for safety.
-
Cause: The game's font doesn't support characters like
Ş, Ç, Ğ, Üor Cyrillic/Chinese. -
Solution: Use Tools > Font Injection. You can:
- Auto-Inject: Let RenLocalizer automatically download a compatible font for your target language.
- Manual Select: Choose from 80+ curated Google Fonts (Sans, Serif, Display, Handwriting, Monospace) to match the game's style.
- Cause: Ren'Py save files are sensitive to script changes.
- Solution: START A NEW GAME. Loading an old English save on a translated game will often crash.
- Cause: Translated text is often longer (e.g., German/Russian) than English.
-
Solution: This requires manually editing the game's font size in
screens.rpy. There is no automatic fix yet.
-
Cause: The game folder only has compiled
.rpycfiles, no.rpysource files. - Solution: Enable RPYC Reader in Settings. This allows the tool to read binary files directly.
-
Cause: The AI might have broken a syntax tag (e.g.,
[score]->[puan]). -
Fix: Check the
traceback.txtfile in the game folder to find the bad line, or delete thegame/tlfolder to reset.
-
Solution: Delete the
game/tlfolder before starting a fresh translation.
-
Checklist:
- Is Ollama or LM Studio running?
- Is the Model Name in settings exact? (e.g.,
llama3vsllama3:latest). -
Timeout: Increase "Timeout" to
120sin settings.
- Issue: Gemini/GPT refuses to translate content.
-
Solution:
-
Gemini: Set Safety Settings to
BLOCK_NONEin the app. -
Local/OpenRouter: Use an "Uncensored" model (e.g.,
dolphin-mistral,lzlv).
-
Gemini: Set Safety Settings to
-
Cause: AI or Google Translate sometimes corrupts Ren'Py syntax like
[name],{b}, or%(score)s. -
Solution: RenLocalizer v2.6.4+ includes Advanced Syntax Guard with:
-
XML Tag Protection: Placeholders are wrapped in
<ph id="0">tags for AI engines. -
Fuzzy Recovery: Automatically repairs common corruptions like
X R P Y X→XRPYX. -
Bracket Healing: Fixes
[ var ]→[var]and[list [ 0 ] ]→[list[0]].
-
XML Tag Protection: Placeholders are wrapped in
- If still broken: Report the specific line in a GitHub issue.
- Cause: Ren'Py defaults to the game's original language on first run.
- Solution: Press Shift+L in-game to open the language selector, then choose your translated language (e.g., "Turkish").
- Permanent Fix: Enable "Auto Hook Gen" in Settings. This creates a script that sets your language as default on game start.
-
Cause: RenLocalizer auto-detects the target language from the
tl/folder name. -
Solution: Rename the folder to your target language code (e.g.,
tl/turkishortl/tr), then retranslate.
-
Possible Causes:
-
Game never run: Ren'Py creates
.rpycfiles on first launch. Run the game once (just to main menu). -
Encrypted game: Some games use custom encryption. Check if
.rpafiles exist and try Tools > Extract RPA first. - Very old Ren'Py: Games from 2015 or earlier may use incompatible formats.
-
Game never run: Ren'Py creates
- Explanation: The developer only shipped compiled files.
- Solution: Enable RPYC Reader in Settings. RenLocalizer can read compiled files directly without decompilation.
-
Feature: RenLocalizer caches all translations in
translation_cache.jsonto save API calls and speed up re-runs. -
To Force Fresh Translation:
- Go to Cache (TM) page in the app.
- Click "Clear All" to reset the cache.
- Re-run translation.
- Navigate to Cache (TM) page, search for the text, and click Edit.
-
Solution: Add names to the Glossary with the same source and target:
Source Target Alice Alice Bob Bob - These terms will be preserved during translation.
- Use Glossary > Auto-Extract to find repeated terms in your game.
- Add translations for game-specific words (e.g., "Mana Points" → "Ruh Puanı").
- First Pass: Run with default settings (Aggressive OFF) for speed.
- Review: Check logs for untranslated count.
- Second Pass: If many untranslated, enable Aggressive Translation and re-run.
- Polish: Use Glossary to fix repeated terminology issues.
- Test: Play the game and check for broken text or missing translations.
- If updating: No, RenLocalizer will skip already-translated lines (using cache).
-
If starting fresh: Yes, delete
game/tl/to get a clean slate.
- Currently, RenLocalizer translates the entire project.
-
Workaround: Use TL Translate tool to translate existing
tl/folders selectively.
�🚩 Still Stuck? Open an issue on GitHub and attach your
error_output.txt.
- Advanced-Parsing
- RPA-Extraction
- Glossary-Management
- External-Translation-Memory — (NEW) Reuse translations across games
- Technical-Filtering
- Proxy-and-Rate-Limits
- Web-Google-Translate-Guide