Skip to content

Advanced Parsing

Lord0fTurk edited this page Jan 13, 2026 · 8 revisions

🔍 Advanced Parsing & Text Extraction

RenLocalizer uses a sophisticated multi-stage pipeline to extract text without breaking the underlying game logic or engine syntax.


🔹 1. Traditional Regex Parsing

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.

🔹 2. AST (Abstract Syntax Tree) Scanning

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 python blocks.
    • Distinguishes between technical code and translatable content.

🔹 3. RPYC & RPYMC Readers

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.

🔹 4. Deep Scan Technology

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.

🔹 5. Text Types Filter

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.

🔹 6. Normalization & Encoding

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.

Clone this wiki locally