Skip to content

πŸŽ‰ RenLocalizer v2.8.1 β€” What's New? (FIX)

Choose a tag to compare

@Lord0fTurk Lord0fTurk released this 06 Apr 15:20
· 78 commits to main since this release

🧠 Smarter Text Extraction β€” The Engine Overhaul

This release is about what happens under the hood. For a long time, RenLocalizer relied on regex as the primary way to decide whether a string was translatable text or technical markup. It worked for most cases, but tag-heavy strings like {color=#5175ea}*giggle*{/w} often got silently dropped β€” regex would see the markup and reject the whole line before checking what was actually inside.

v2.8.1 introduces a structure-first extraction layer: the parser now tokenizes Ren'Py markup structurally, separating visible text from tags first, then making extraction decisions based on what the player actually sees. Regex stays as a fallback β€” but it's no longer the gatekeeper. This change applies across all extraction paths: the main parser, RPYC reader, deep scan, and the pyparse grammar layer.

βš™οΈ Extraction Safety Modes

A new extraction safety selector gives you control over how aggressively RenLocalizer looks for text:

  • Strict β€” conservative, lowest false positive risk
  • Balanced β€” the new default, best coverage/safety tradeoff
  • Aggressive β€” maximum coverage, higher chance of picking up technical strings

πŸ”„ Runtime Translation Improvements

Several improvements to how translations are matched at runtime:

  • Unicode normalization fallback β€” translations now survive curly quotes, long dashes, ellipsis, and similar punctuation variants that look identical but aren't
  • Visible-form alias synthesis β€” strings.json now generates safe aliases for common punctuation variants so runtime exact-match coverage improves automatically
  • Fragment aliases β€” long multi-sentence strings now also generate guarded fragment aliases, helping screen-driven text that only renders a portion of a larger string

βœ… Real-World Verified

The new extraction pipeline was validated on several large real-world Ren'Py projects and performed well across the board β€” though as always, games with non-standard structures may still have some strings that slip through.