-
-
Notifications
You must be signed in to change notification settings - Fork 8
Advanced Parsing
RenLocalizer uses a sophisticated multi-stage pipeline to extract text without breaking the underlying game logic or engine syntax.
The first layer of scanning uses highly optimized Regular Expressions to find standard Ren'Py dialogue and UI strings:
-
Dialogue:
character_name "Dialogue text" -
Direct strings:
_("Text")or"Text" -
Menu items:
menu:choice blocks.
When simple patterns aren't enough, RenLocalizer analyzes the script's structure using Python's ast module.
-
Capabilities:
- Finds strings inside nested functions.
- Extracts text from
init pythonblocks. - Distinguishes between technical code and translatable content.
Many "obfuscated" games hide their source code by deleting .rpy files.
- RPYC Reader: "Unpickles" binary RPYC files to extract the original logic. You can translate a game even if the source code is missing!
- RPYMC Reader: Handles screen cache files, ensuring complex UI elements are localized.
Enable Deep Scan in settings to trigger a recursive analysis of the entire project.
-
What it finds: Variable assignments and list items used as game text that don't follow standard
_()markers. -
Safety: Uses a "Technical String Filter" to skip engine internals like
renpy.dissolve.
Categorize and select exactly what you want to translate in Settings > Text Types:
- 📌 Core: Dialogue, Menus, Buttons.
- 📌 Interface: UI text, Input fields, Alt text.
- 📌 System: Notifications, Confirmation dialogs.
- 📌 Config: Game title, Version strings.
RenLocalizer automatically detects file encodings and normalizes them to UTF-8 with BOM.
🛡️ Benefit: Prevents "Mojibake" (broken characters) in languages like Russian, Chinese, or Japanese.
- Advanced-Parsing
- RPA-Extraction
- Glossary-Management
- External-Translation-Memory — (NEW) Reuse translations across games
- Technical-Filtering
- Proxy-and-Rate-Limits
- Web-Google-Translate-Guide