Ready to play dirty? Command your Lust Goddess now. Play Now!
x

Tool RPGM SLR - Offline JP to EN Translation for RPG Maker VX, VX Ace, MV, MZ, and Pictures

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,473
6,182
676
I've released v2.015.
Fixed a severe error that was causing negative integer code entries to break.
If you for example had a game crash with an error talking about a canvas, even though all you did was edit a choice box, then that was likely the issue.

Also fixed/changed some other stuff, but preventing those crashes should be enough reason to update.
(Check the Changelog attachment all changes.)
 

ndj865

Newbie
Dec 22, 2017
51
34
243
For what engine?
For MV it's usually in the plugins.json, for MZ it's usually in the system.json.
For VX, VX Ace it's not standardized in any way, but you can try adding a catchall command to Main of Scripts.
Shisaye
For decrease font size in VX, VX Ace is to put this code:
Font.default_name = "Tahoma"
Font.default_size = 20
You need to open script editor for RPG maker Vx or VxAce and find 'Main' script then add this line to be first line.

Default size of font is 30 and here is View attachment RPGVX_Tutorial_Changing_Font.pdf tutorial for changing Font in RPG Maker VX.
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,473
6,182
676
Shisaye
For decrease font size in VX, VX Ace is to put this code:
Font.default_name = "Tahoma"
Font.default_size = 20
You need to open script editor for RPG maker Vx or VxAce and find 'Main' script then add this line to be first line.

Default size of font is 30 and here is View attachment 5368555 tutorial for changing Font in RPG Maker VX.
That's the catchall method I meant, but you will find that it doesn't work for quite a few titles because they do not use the Font.default_size value in their custom scripts.
In those cases you have no other option, but to manually scan all parts of Scripts and look for their font values in the code.
 

ndj865

Newbie
Dec 22, 2017
51
34
243
Shisaye do you know any game with custom script so I can try this method to decrease font size for VX or VXAce game?

Here is the effect of adding the lines "Font.default_name = "Tahoma" Font.default_size = 20 " in the game .
Image one is starting the game without adding above mentioned line
Image two is opening script editor Main script
Image tree adding the line "Font.default_name = "Tahoma" Font.default_size = 20 " in script editor Main script
Image four Effect of line "Font.default_name = "Tahoma" Font.default_size = 20 " in start screen
1.png 2.png 3.png 4.png
 
Last edited:

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,473
6,182
676
Shisaye do you know any game with custom script so I can try this method to decrease font size for VX or VXAce game?

Here is the effect of adding the lines "Font.default_name = "Tahoma" Font.default_size = 20 " in the game .
Image one is starting the game without adding above mentioned line
Image two is opening script editor Main script
Image tree adding the line "Font.default_name = "Tahoma" Font.default_size = 20 " in script editor Main script
Image four Effect of line "Font.default_name = "Tahoma" Font.default_size = 20 " in start screen
View attachment 5368743 View attachment 5368744 View attachment 5368745 View attachment 5368746
A random example would be Missing Link (RJ160066).
That one does not use the Font.default_size value for the text.
 

ndj865

Newbie
Dec 22, 2017
51
34
243
I manage to force Font.default_size in game RJ160066
First image is me not touching script editor
Second image is after editing in script editor and font size is 15
0A.png 0B.png

I did it by deleting 4 scripts in script editor.
First 共通スクリプトscript that you see when you open script editor, second マルチメッセージ設定 script, third マルチメッセージスクリプト script and first Main script.
Then in remaining Main script add before line rgss_main { SceneManager.run }
Font.default_name = "Tahoma"
Font.default_size = 15
 
Last edited:

Gwede titit

Newbie
Mar 7, 2022
41
11
99
For what engine?
For MV it's usually in the plugins.json, for MZ it's usually in the system.json.
For VX, VX Ace it's not standardized in any way, but you can try adding a catchall command to Main of Scripts.
Engine is MV, but i dnt find it. The game is heroin Shirayuki. Helpp me
 

ndj865

Newbie
Dec 22, 2017
51
34
243
@Gwede titit
1.png 2.png 3.png 4.png 5.png
Font size is in plugin.js line 13 for RPG Maker MV.
First image is first line of dialog not edited, fourth image is change of size of the font for first line of dialog.
Fifth image is change of size of the font in red rectangle change size of the font from 28 to 20
 
Last edited:

Gwede titit

Newbie
Mar 7, 2022
41
11
99

Nice_II

Newbie
May 16, 2020
26
14
135
I just saw this tool, does it support many engines? Translation++ does not support valkyria games and others i'd like to read.
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,473
6,182
676
I've released 2.019.
Main change is that I've fixed DSLR error handling for lowercase \c[] \v[] \i[] \n[] and \nw[] commands. (Due to a bug it was only checking uppercase)
If there is an issue it will now always correctly reject the LLM response and on retry give the LLM an exact description of what it screwed up.
Also a whole bunch of other changes since 2.015, but I didn't deem them important enough to make a new post each time.

Relevant Changelog part:
2.019
Fixed DSLR error handling for lowercase commands.
Made broken command reject reasons better understandable to the LLM.
Overhauled wrapper regex patterns to never escape their intended bounds.
Added 3 new global error checks.
If the japanesesource is enabled it will no longer even try to send a full batch or single line to the LLM that does not include any Japanese.
Fixed a word wrapping issue.

2.018
Fixed DSLR \NW[] handling.
I[] commands now get send to DSLR, and are checked for by DSLR.
Changed DSLR system prompts.
Sep error messages are red now.
Sep log messages now show up in the console.
Sep will no longer default to LLM result if it didn't actually include text, while Paddle's result did.

2.017
Changed DSLR escaper entries to work better with individual plugin files.
When using the Fix Cells and Check for Errors button in a SEP project it will now place spaces in empty Intitial Translations cells to prevent drawing of unchanged text.
Changed default max_tokens for SEP to 1200.
Fixed some typos.

2.016
Fixed bug sometimes making negative integers positive.
Made do-duplication ID removal more robust.
Added escaping for do-duplication IDs for the non SLR translator entries.
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,473
6,182
676
I found a really dumb bug with openrouter, and I'm not sure how to fix it, yet.
When you cancel a DSLR batch translation, and then immediately start another one while a response from openrouter was still being generated, it will ignore your new request and instead send you the response for the old request.
In the best case that will crash the batch wasting a bunch of tokens, in the worst case if it had the same line count it will accept the wrong batch and just do rough line by line checks on it. Loosing context, providing a worse or even wrong translation, potentially saving that to cache, and wasting a lot of tokens.
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,473
6,182
676
Another problem is that when a name placeholder like \n[1] is used, and the LLM is told that it's a woman for example.
It will often just replace it with she/her, which is probably fine or even better in a lot of cases, but the system cannot know that.
As a result it will ask for a correction during the line by line checks. Every, single, damn, time. Wasting huge amounts of tokens.

But I have no idea how to handle that better, I could of course just remove the check for name placeholders entirely, but then there's situations in which that would make it accept a cutoff or otherwise broken response. Like it responding with n[1] (without the "\") or something like that.

I also thought about always replacing \n[1] with the actor entry 1, so the placeholder is never sent to the LLM to begin with, but one of the reasons for devs to use those placeholders is so the player can change the character name, and if I remove the placeholders then obviously the name will never change.
 
Last edited:
Feb 24, 2025
161
170
62
When trying to export a translation of images, I just get a line saying "[SEP] Origin path is cache path." and the processing continues indefinitely. I can export other kinds of translated files no issue.
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,473
6,182
676
When trying to export a translation of images, I just get a line saying "[SEP] Origin path is cache path." and the processing continues indefinitely. I can export other kinds of translated files no issue.
Is there more information if you open the console? (F12)
Please send me the trans file and the matching staging data (the folder from www>php>cache). Also the picture(s) you used as input.
Edit: Nvm I found the issue. I had a typo when I made a new log messages and it said "aconsole" instead of console.
Programming is fun.

Edit2: Fixed in v2.021.
 
Last edited:

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,473
6,182
676
I've released v2.024
I've significantly improved the DSLR retry logic.

Simplified how it works now on default settings:

SLR will send a batch of 10000 characters to the DSLR engine.
DSLR will make smaller batches from it aiming for 1200 characters, but a batch will never ask for less than 40 translations or more than 120 translations.
If the LLM fails to provde a usable response for a batch 3 times it will split the batch in 2 halves and try each 4 times.
If they both succeed it will merge the result back into one batch and do the normal individual translation checks.
Should one of them fail all attempts then it will make individual translation requests for that half, while just running the offline checks on any successful one.

Basically the main change is that it will no longer treat a half batch running out of retries as a failure state and just abort the whole thing, and instead now it actually preserves all successful bits and just does its best to not waste more time/tokens.


Changelog since last release post:
2.024
DSLR will now attempt the second half of the batch even if all attempts for the first half failed.
DSLR will now correctly use all successful batch halfs regardless if the other failed.
Added better console logging for DSLR errors.
Added handling for the response somehow not failing the ok test, but still not being readable for whatever reason. Instead of crashing it will now just retry instead.

2.023
Added D_TEXT processing to DSLR directly instead of the wrapper to better handle fontsize vlaues.
DSLR will now talk about translation requests instead of lines.
Added entry to DSLR split patterns to remove isolation patterns placeholders at the start or end of cells.
Changed default max requests setting to 120.
Pad placeholder setting for DSLR is now turned off by default.

2.022
Fixed it tagging wrongly tagging safe cells red in VX/VXAce.

2.021
Fixed a log message breaking SEP file exporting.
Fixed it sometimes screwing up game titles.

2.020
Improved word wrapping of cells without a closing bracket.
Added support for a new niche script boundary.
 
  • Like
Reactions: RTS23