-
-
Notifications
You must be signed in to change notification settings - Fork 8
Developer Guide
Lord0fTurk edited this page Jan 28, 2026
·
4 revisions
This guide is for developers looking to modify RenLocalizer, add new features, or contribute to the core engine.
The project is split into logical components:
- 📂
src/core/: The heart of the application.-
translation_pipeline.py: Orchestrates the entire flow (Extract -> Parse -> Translate -> Save). -
parser.py: The high-performance Regex extractor. -
rpyc_reader.py: The binary unpickler for compiled scripts.
-
- 📂
src/gui/: PyQt6 + QML (Fluid Design) interface.-
qml/: Contains all .qml files for the UI. -
settings_backend.py: Bridges settings between Python and QML.
-
- 📂
src/utils/: Shared helpers, configuration manager, and constants. - 📂
tools/: Standalone scripts for testing and debugging.
Before submitting a PR, please run the following sanity checks:
-
Parser Smoke Test:
python tools/parser_smoke.py(Tests common Ren'Py patterns). -
Performance Check:
python tools/performance_test.py(Benchmarking). -
Environment Check:
python tools/system_check.py(Verify library compatibility).
- Inherit from
BaseTranslatorinsrc/core/translator.py. - Implement
translate_singleandtranslate_batch. - Register your engine in the factory within
src/core/translator.py. - Update the UI logic in
src/backend/app_backend.pyto recognize the new engine enum.
We use PyInstaller for Windows distributions.
# Install PyInstaller
pip install pyinstaller
# Build using the spec file (recommended)
pyinstaller RenLocalizer.spec💡 Note: The
.specfile handles all assets, locales, and hidden imports automatically.
To add a new language to the RenLocalizer interface:
- Copy
locales/en.jsontolocales/YOUR_CODE.json. - Translate the strings.
- Restart the app—it will be detected automatically!
🚩 Issues: Found a bug? Report it here.
- Advanced-Parsing
- RPA-Extraction
- Glossary-Management
- External-Translation-Memory — (NEW) Reuse translations across games
- Technical-Filtering
- Proxy-and-Rate-Limits
- Web-Google-Translate-Guide