Tool Ren'Py RenLocalizer - Automatic Translation Tool for Ren'Py Games

5.00 star(s) 2 Votes

denadm

Member
Apr 7, 2023
172
206
227
Local AI is great, but what if your equipment isn't powerful enough or you don't have electricity, as in my situation.
Openrouter is the perfect solution for 30 cents you can translate a couple of short stories without overloading your computer.
But I didn't take into account the number of requests and the pause time for each request when adding a parameter.
 
  • Like
Reactions: LordGamer00

LordGamer00

Member
Modder
Aug 27, 2022
135
202
217
Local AI is great, but what if your equipment isn't powerful enough or you don't have electricity, as in my situation.
Openrouter is the perfect solution for 30 cents you can translate a couple of short stories without overloading your computer.
But I didn't take into account the number of requests and the pause time for each request when adding a parameter.
Thank you for your feedback. I will conduct the necessary research and implement the corrections. Actually, I couldn't perform the tests because I didn't have a ready API; that was the main reason I released it as a 'preview'.
OpenRouter also has free models. If these free models work as expected on the API, I will be able to perform the necessary tests and resolve the issue. Thank you again.
 

LordGamer00

Member
Modder
Aug 27, 2022
135
202
217
How to use CLI —mode full on Mac? keep getting fail with UnRen only support on Windows.
Thanks for the feedback. The error you are seeing (UnRen only support...) confirms that you are using an outdated version of the tool.
In the latest releases, I have completely removed the dependency on UnRen (which was Windows-only) and migrated the core logic to unrpa (a native Python library). This change was made specifically to ensure full cross-platform compatibility, including macOS and Linux.
Please download the latest version from the Releases tab. Although I don't have a Mac device to personally verify the build due to hardware limitations, this architectural change theoretically resolves the issue. If the pre-built Mac app still fails, you can download the project as source code and run it smoothly via Python using the run_cli.py command.
 

LordGamer00

Member
Modder
Aug 27, 2022
135
202
217
RenLocalizer v2.4.9 is Out!

This update focuses on making AI translation engines significantly faster and more efficient. You can now localize your projects in a much shorter time with professional quality.

Key Highlights:

  • Batch Translation: Added batch support for OpenAI, Gemini, and Local LLM. Experience 5-10x faster translation speeds and lower API costs.
  • Refactored AI UI: AI settings are now organized into Model, Connection, and Performance categories for better usability.
  • Rate Mitigations: Improved stability with smart concurrency and jittered delay mechanisms to prevent API blocks.
  • Full Localization Sync: Fixed Turkish UI gaps and synchronized all 8 supported languages to 100% completeness.
  • Automated Windows Builds: Windows packages are now automatically built and released via GitHub Actions.
Note: Unfortunately, I couldn't test the translation engines because the free APIs reached their daily limit before I could complete the testing. Therefore, I did my best to update and fix the issues as they should work in theory. I hope you can use it without any problems now.



 
  • Like
Reactions: CAT0X0

thejack99

New Member
Nov 16, 2023
7
0
158
Not sure I need to generate the translation folder or the tool will pickup the game automatic and generate it? can you check the logs what am i doing wrong?

source /Users/Request/bin/activate
User@Jacks-Mac- ~ % source /Users/Request/bin/activate
User@Jacks-Mac- ~ % python3 '/Users/Downloads/RenLocalizer-2.4.9/run_cli.py' translate '/Users/Downloads/WorldlySaviors-alpha_0.1.17-win/game' --target-lang vi --engine google --mode translate
Locales directory not found: locales
Locales directory not found: locales
RenLocalizer CLI v2.4.9
Input: /Users/Downloads/WorldlySaviors-alpha_0.1.17-win/game
Mode: translate
Target: vi
----------------------------------------

>> STAGE: stage_parsing (parsing)

============================================================
FAILED
TL dil klasoru bulunamadi: /Users/Downloads/WorldlySaviors-alpha_0.1.17-win/game (vietnamese/vi)
============================================================
UserJacks-Mac- ~ % python3 '/Users/Downloads/RenLocalizer-2.4.9/run_cli.py' translate '/Users/Downloads/WorldlySaviors-alpha_0.1.17-win/game' --target-lang vi --engine google --mode full
Locales directory not found: locales
Locales directory not found: locales
Warning: 'full' mode (UnRen) is only supported on Windows. Switching to 'translate' mode.
RenLocalizer CLI v2.4.9
Input: /Users/Downloads/WorldlySaviors-alpha_0.1.17-win/game
Mode: translate
Target: vi
----------------------------------------

>> STAGE: stage_parsing (parsing)

============================================================
FAILED
TL dil klasoru bulunamadi: /Users/Downloads/WorldlySaviors-alpha_0.1.17-win/game (vietnamese/vi)
============================================================
 

LordGamer00

Member
Modder
Aug 27, 2022
135
202
217
Not sure I need to generate the translation folder or the tool will pickup the game automatic and generate it? can you check the logs what am i doing wrong?
I think I understand the problem. You seem to be selecting the "Translate Existing TL Folder" option, but for this option, you first need to create a translation using the Renpy SDK. To do a normal translation, select the "Full Translation (Game EXE/Project)" option. This way, you shouldn't get any errors.
 

LordGamer00

Member
Modder
Aug 27, 2022
135
202
217
Hello, I've been standing at this level for two hours...
Since I don't have a paid API, I can't test it properly. You might be hitting the limit if you're using the free API, or some words might not be passing through the filter. I'll add better error descriptions for this in the console section. Also, there are some settings for Gemini in the Settings section; you can try changing those. If you're using Gemini' 's free API service, it can fill up very quickly. You can check this in Gemini Al Studio. If your limit is full, it should show a warning here.
 

csmail12

New Member
Nov 14, 2025
4
3
29
This is the first translator program that works perfectly for me with Ren’Py games, so thank you very much for your work! :)


Unfortunately, DeepL doesn’t work, even though I added an API key. I tried to translate 15,000 words. With the free plan, you can only translate 500,000 words per month. What a pity.
 
  • Like
Reactions: LordGamer00

LordGamer00

Member
Modder
Aug 27, 2022
135
202
217
This is the first translator program that works perfectly for me with Ren’Py games, so thank you very much for your work! :)


Unfortunately, DeepL doesn’t work, even though I added an API key. I tried to translate 15,000 words. With the free plan, you can only translate 500,000 words per month. What a pity.
Thank you for the kind words and the feedback!

I have good news regarding the DeepL issue: I investigated it and realized that the program is actually working too fast for the DeepL Free servers. Sending too many requests simultaneously triggers their security system, which blocks the connection (giving a 'Too Many Requests' error).

How to fix it: You don't need to wait for an update! You can fix this right now in the program settings:

  1. Go to Translation Settings.
  2. Find the "Concurrent Requests" (Eşzamanlı İstek) slider.
  3. Lower this value to 1 or 2.
Since DeepL Free is very strict, setting this to a low number will prevent the blocking issue. It will be slightly slower, but it will work without errors.
(Also, a quick reminder: DeepL Free has a monthly limit of 500,000 characters, which is about 75,000 words. Please check your account usage to make sure you haven't hit the limit.)
 
Last edited:
  • Like
Reactions: csmail12

LordGamer00

Member
Modder
Aug 27, 2022
135
202
217
This is the first translator program that works perfectly for me with Ren’Py games, so thank you very much for your work! :)


Unfortunately, DeepL doesn’t work, even though I added an API key. I tried to translate 15,000 words. With the free plan, you can only translate 500,000 words per month. What a pity.
Sorry for the double reply, but I wasn't fully satisfied so I tested it myself.

You are absolutely right. I realized that even if you lower the 'Concurrent Requests' setting, the program doesn't seem to strictly obey that limit. It’s behaving like a machine gun—firing requests instantly one after another (or ignoring the limit entirely), which triggers DeepL's bot protection immediately.

It seems the setting isn't working 100% as intended in the current build. I am fixing this logic right now to ensure it strictly respects the limit and adds a mandatory delay between requests. I’ll have the fix ready in the next update!
 
  • Like
Reactions: csmail12

csmail12

New Member
Nov 14, 2025
4
3
29
Sorry for the double reply, but I wasn't fully satisfied so I tested it myself.

You are absolutely right. I realized that even if you lower the 'Concurrent Requests' setting, the program doesn't seem to strictly obey that limit. It’s behaving like a machine gun—firing requests instantly one after another (or ignoring the limit entirely), which triggers DeepL's bot protection immediately.

It seems the setting isn't working 100% as intended in the current build. I am fixing this logic right now to ensure it strictly respects the limit and adds a mandatory delay between requests. I’ll have the fix ready in the next update!
Thank you for your quick reply! :)
Is there any chance I could find instructions for the LM Studio app somewhere? I’m running Qwen3 with it. It handles translations really well. I could easily use it to translate shorter texts. Maybe you could give me some tips for the settings if you have time, please? :)
 
  • Like
Reactions: LordGamer00

LordGamer00

Member
Modder
Aug 27, 2022
135
202
217
Thank you for your quick reply! :)
Is there any chance I could find instructions for the LM Studio app somewhere? I’m running Qwen3 with it. It handles translations really well. I could easily use it to translate shorter texts. Maybe you could give me some tips for the settings if you have time, please? :)
Hi! I'm glad to hear you're enjoying the tool. Qwen is indeed a powerful choice for local translations! Here is a quick guide to get LM Studio working perfectly with RenLocalizer:

1. LM Studio Setup
  • Load the Model: Open LM Studio and load your Qwen model.
  • Start Server: Go to the Local Server tab (the double arrow icon on the left) and click Start Server.
  • Port Check: By default, it runs on Make sure it's running.
2. RenLocalizer Settings
  • Engine: Select Local LLM from the translation engine list.
  • API Key: LM Studio doesn't require a real key, you can just type lm-studio
    or local.
  • Base URL: Set this to (The /v1at the end is important!).
  • Model Name: Use the exact model name shown in LM Studio (e.g., qwen2.5-7b-instruct).
Qwen is very good at following instructions, so it should handle Ren'Py syntax much better than other small models. Happy localizing!
 

LordGamer00

Member
Modder
Aug 27, 2022
135
202
217
RenLocalizer v2.4.10 Released! – Smarter, Stronger, More Global!
We present a major update that removes the limitations you experience when localising your Ren'Py games. With v2.4.10, we have both enhanced code security and taken AI integrations to the next level!

What's New?

Local AI Revolution (LM Studio & Qwen Support)
  • We now work seamlessly with local servers like LM Studio and Ollama. In particular, our tests with Qwen 2.5 models yielded incredible results without corrupting Ren'Py code (zero-corruption).
  • Offline and Free: Translate your games completely privately, without worrying about API quotas.
Advanced Quota and Error Management
  • When you hit API limits, the programme no longer crashes and throws errors; instead, it understands the situation and informs you with localised messages (Turkish, English, etc.).
  • Automatic Fallback: If an AI engine rejects content, the system automatically switches to Google Translate to prevent the translation from being left incomplete.
Smart Technical Filtering and Engine Protection
  • We added a new "Symbol Density" algorithm that prevents technical codes like renpy.dissolve or gui.text_font from being accidentally translated.
  • The renpy/common folder is now completely isolated, preventing corruption of the game engine's core files.
Comprehensive GitHub Wiki & Documentation
  • We have created a massive Wiki library explaining all the depths of the programme!
  • LM Studio Integration Guide
  • Advanced AST and RPYC/RPYMC Reader Details
  • Proxy and Quota Management
  • Technical Guide for Developers
Full Localisation Synchronisation
  • All error messages and pipeline logs have been updated in 8 languages (TR, EN, DE, ES, FR, RU, ZH-CN, FA). You can now see what is happening at every stage in your own language.
Important Bug Fixes

  • The TypeError on ConfigManager has been completely resolved.
  • Structural inconsistencies and duplicate keys in the Persian (fa.json) file have been cleaned up.
  • The _ast.Module error encountered when reading .rpymc files has been fixed.

 
  • Like
Reactions: csmail12

csmail12

New Member
Nov 14, 2025
4
3
29
Hi! I'm glad to hear you're enjoying the tool. Qwen is indeed a powerful choice for local translations! Here is a quick guide to get LM Studio working perfectly with RenLocalizer:

1. LM Studio Setup
  • Load the Model: Open LM Studio and load your Qwen model.
  • Start Server: Go to the Local Server tab (the double arrow icon on the left) and click Start Server.
  • Port Check: By default, it runs on Make sure it's running.
2. RenLocalizer Settings
  • Engine: Select Local LLM from the translation engine list.
  • API Key: LM Studio doesn't require a real key, you can just type lm-studio
    or local.
  • Base URL: Set this to (The /v1at the end is important!).
  • Model Name: Use the exact model name shown in LM Studio (e.g., qwen2.5-7b-instruct).
Qwen is very good at following instructions, so it should handle Ren'Py syntax much better than other small models. Happy localizing!
It works! It's a bit slow, but the program is working in the background. Which version of Qwen would you recommend? I haven’t updated to the latest program you released half an hour ago yet. :)
By the way, I can’t thank you enough for your work. I’m not rich, but of course I will support your work with a symbolic amount. Thank you! :)
 
  • Heart
Reactions: LordGamer00

LordGamer00

Member
Modder
Aug 27, 2022
135
202
217
It works! It's a bit slow, but the program is working in the background. Which version of Qwen would you recommend? I haven’t updated to the latest program you released half an hour ago yet. :)
By the way, I can’t thank you enough for your work. I’m not rich, but of course I will support your work with a symbolic amount. Thank you! :)
I'm glad to hear it's working!

regarding your question about Qwen: I don't have a specific version requirement; just choose a model size that fits your hardware (RAM/VRAM). However, I generally recommend using 'Uncensored' versions whenever possible for the best results in games.

As for the speed/slowness, I'm not sure if there is much I can do to optimize it further. To be honest, my own hardware is quite weak, so I am unable to run or test these local AI models myself to debug the performance.

And thank you so much for your kind words and your offer to support the project! Even the thought counts, and I really appreciate it.
 
  • Like
Reactions: csmail12

konstant61

Member
May 3, 2017
226
85
291
Hello, Translator is getting worse and worse... the built-in translators don't really work, except for Google Web, others give errors, when trying to correct the translation manually, it is given Unicode error...so this translator can be forgotten...

P.S. Why do we need this LM Studio to clutter up our computer even more?

P.P.S. It would be better to fix the Unicode error that occurs when trying to manually correct the translation...
 
Last edited:

LordGamer00

Member
Modder
Aug 27, 2022
135
202
217
Hello, Translator is getting worse and worse... the built-in translators don't really work, except for Google Web, others give errors, when trying to correct the translation manually, it is given Unicode error...so this translator can be forgotten...

P.S. Why do we need this LM Studio to clutter up our computer even more?

P.P.S. It would be better to fix the Unicode error that occurs when trying to manually correct the translation...
Hello, thank you for the feedback.

The reason why engines other than Google Web don't work properly is actually quite simple: I cannot test them. I usually don't mention this to avoid sounding like I'm asking for pity, but I am currently unemployed, and this is a volunteer project I work on in my free time.

Right now, the only engine I can test thoroughly is Google Web. For the others, I am limited by API costs. As for the Local AI issues, my modest hardware (RTX 3050 Mobile with 4GB VRAM) simply cannot handle running them properly, so I can't debug or experience the issues personally to fix them.

Regarding LM Studio: You don't have to use LM Studio specifically; it's just a supported option. I actually tried testing the system using 'Ollama', but even running the smallest models was a struggle. It put such a heavy load on my system and took so long that I stopped testing to avoid risking damage to my only working hardware. That is why the local AI implementation remains somewhat experimental.

Regarding the Unicode Error: I am not entirely sure why manually editing the translation (the .rpy file) would trigger a Unicode error, as standard text editing shouldn't cause this unless the file encoding changes. However, I will review the code to see if I can catch what might be causing it.

In short, Google Web works because I can test it. The others have issues because I am working 'blindly' due to hardware/financial limitations. This is exactly why I made the project Open Source—so that developers with better resources could step in and fix what I physically cannot.
 
5.00 star(s) 2 Votes