Devlog #4 – Translation Engine Overhaul & Major Stability Update
Over the last development cycle, we've focused almost entirely on strengthening the core of GameTranslatorAI. This update isn't about flashy UI changes—it's about making the translation engine significantly smarter, more reliable, and much more compatible with real-world Ren'Py projects.
A large number of long-standing edge cases have now been resolved, the internal translation architecture has been improved, and many systems have been redesigned to better support large games.
Translation Engine Improvements
Transition Dialogue Support
Fixed an issue where dialogue lines following "with transition" statements could be skipped during extraction.
As a result, approximately 1,951 additional dialogue lines are now correctly detected and translated.
Speaker Format Detection
Improved support for compact Ren'Py dialogue syntax such as:
"speaker"text""
Previously these lines could be ignored because of the missing whitespace.
The parser now correctly recognizes and processes this format.
Ren'Py Menu Translation Rework
The menu translation system has been redesigned.
Instead of relying on hash-based generation, GameTranslatorAI now follows Ren'Py's native localization workflow using translate strings, resulting in much higher compatibility with existing projects.
This greatly improves translation accuracy for menus and reduces issues caused by custom menu implementations.
Speech Style Handling
Improved handling of speech-style writing commonly used by visual novel developers.
Examples include stretched or stylized dialogue such as:
- "Be" → "Beee"
- "fishies" → "balıklaaaar"
Rather than treating these as normal words, the translation engine now better preserves the original speaking style while still producing a natural translation.
This helps maintain each character's personality and speaking habits.
Stability & Bug Fixes
Decompiled File Cleanup
Temporary ".rpy" files generated by unrpyc are now automatically removed after extraction.
This keeps projects cleaner and prevents unnecessary duplicate files.
Daily Limit Mid-Batch Recovery
Fixed a critical issue where unfinished batches could disappear if the API reached its daily limit during translation.
Remaining work is now safely preserved instead of being lost.
Retry Batch Improvements
Missing or incomplete translation batches are automatically retried.
This significantly increases completion reliability, especially on very large projects.
SQLite Optimization
Bulk SQLite operations have been optimized to reduce unnecessary database writes and improve processing speed.
UI Performance Improvements
Reduced excessive UI refreshes by throttling interface updates.
This results in:
- smoother scrolling
- lower CPU usage
- better responsiveness during long translations
New Features
Right Click Context Menu
Added new context menu actions inside the file list.
Users can now quickly choose:
- Translate This File
- Translate Selected Files
without navigating through additional menus.
Expanded Language Support
Support for additional target languages has been added, allowing GameTranslatorAI to translate into a wider range of languages.
Centralized Adult Content Prompt
Introduced a unified adult-content prompt system shared across every supported AI provider.
This creates more consistent translation behavior between providers while reducing provider-specific prompt differences.
Advanced Rate Limit Management
The API rate limit system has been completely redesigned.
New features include:
- Live countdown UI
- Retry-After support
- RPM tracking
- TPM tracking
making provider limits much easier to understand.
Daily Usage Management
Each provider now has its own independent 24-hour daily limit tracker.
When a provider reaches its limit:
- a 24-hour countdown begins automatically
- the remaining time is shown inside Settings
- users can instantly switch to another configured API
Pending Filter
Added a dedicated Pending filter.
Large projects can now display only untranslated entries, making workflow much easier.
Named Menu Fix
Fixed incorrect hash generation for Ren'Py NAME menu nodes.
This resolves translation issues affecting 34 different menus.
Ren'Py Infrastructure
A significant amount of work has gone into improving overall Ren'Py compatibility.
Translation Architecture
The translation engine now works much more closely with Ren'Py's native translation system, including:
- translate blocks
- _strings.rpy
- location names
- set_language.rpy
This improves compatibility across many different Ren'Py projects.
Language Selector Cleanup
The language selection architecture has been simplified.
Unused extraction logic and unnecessary tag menu handling have been removed, making the language workflow cleaner and more reliable.
License System Verification
The licensing infrastructure has been fully re-tested and verified across multiple scenarios.
Headroom MCP Integration
Headroom MCP has been integrated into the development workflow, providing improved debugging and development capabilities.
Split Panel Workflow
The previously introduced Split Panel workflow remains fully active.
It continues to provide a much more efficient editing experience by separating project navigation from translation details.
- Left panel displays only translatable files.
- Right panel displays line-by-line translation details.
This workflow has proven especially useful for large visual novel projects.
Testing
The automated test suite has been expanded.
391 tests → 407 tests
All tests are now passing successfully, giving us greater confidence that recent changes remain stable and don't introduce regressions.
Looking Ahead
With the translation engine becoming increasingly mature, the next development phase will focus on polishing the overall user experience.
Upcoming work includes:
- Complete UI redesign
- Modern application styling
- Icon pack integration
- Final performance optimizations
- Extensive testing across multiple Ren'Py games
- Final release preparation for Version 1
GameTranslatorAI is getting closer to its first public release, and every update brings the project one step closer to a stable, production-ready translation tool for the visual novel community.