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

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
in original ver after encountering an enemy it will zoom in like this and it can fight
View attachment 4143298
but after i use the translation, it doest zoom in at all
View attachment 4143299
Please provide me a save in an area in which it occurs.
I've been playing the original Japanese version for 50 minutes now trying to see something zoom in and I still have no idea what you're talking about.
 

linranni

Member
Mar 12, 2022
183
47
Please provide me a save in an area in which it occurs.
I've been playing the original Japanese version for 50 minutes now trying to see something zoom in and I still have no idea what you're talking about.
here, just try go to the enemy
 
Last edited:

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
here, just try go to the enemy
Weirdly enough that bug is not present in the earlier combat zones.
It's caused by the same plugin that prevented attacks from registering in Map001, but this time it's about loading the data of the enemy.
You need to pair the enemy names in "Enemies" with the "<Enemy:EnemyName>" entries in the maps.

Or you need to get rid of the enemy translations entirely in "Enemies".
You also need to leave the map and re-enter for the change to actually apply to the save.

In summary for the combat to work with translated "Skills" and "Enemies" objects, you need to find and translate all the red tagged <Bullet:SkillName> and <Enemy:EnemyName> cells in the maps. And then you need to make sure that the pairing translations in "Skills" and "Enemies" are translated exactly the same way.
 
Last edited:

linranni

Member
Mar 12, 2022
183
47
Weirdly enough that bug is not present in the earlier combat zones.
It's caused by the same plugin that prevented attacks from registering in Map001, but this time it's about loading the data of the enemy.
You need to pair the enemy names in "Enemies" with the "<Enemy:EnemyName>" entries in the maps.

Or you need to get rid of the enemy translations entirely in "Enemies".
You also need to leave the map and re-enter for the change to actually apply to the save.

In summary for the combat to work with translated "Skills" and "Enemies" objects, you need to find and translate all the red tagged <Bullet:SkillName> and <Enemy:EnemyName> cells in the maps. And then you need to make sure that the pairing translations in "Skills" and "Enemies" are translated exactly the same way.
ah i see thats work now thank for your effort and sory to take your precious time:LOL:
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
I've released v1.106.
I've changed how %s %d %1/2/3etc. placeholders are escaped so that they are actually recognized as "a thing" by Sugoi or whatever is using the SLR pipeline.
The translations of cells without dictionary entries will still be terrible, but it will at leastl try to fit them in the text now, instead of just dumping them at the start.
I've also improved error detection for placeholders in case the new system fails.
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
What's the difference with the base model?
Levi is a slightly earlier model than V4.
It has slightly worse translations quality, but it's interesting because it's different enough to not crash on certain phrases V4 crashes on.

So basically whenever V4 suddenly starts spamming AAAAAAAAAAAAAAAAAAAA or whatever, you can try to re-translate with the Levi model and "sometimes" actually get a decent translation out of it.
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
I've released v1.108.
I've added catchall patterns for custom \\te_xt[] and \\te_xt<> commands. It will now escape the whole thing if it doesn't have Japanese in it. If it does it will isolate the Japanese to be translated separately and escape the rest.

The only downside to this is that if one of those commands has Japanese that should not be translated and it is not known to the system, yet, it will not throw an error in SLR Translator because the structure will have been correctly preserved and the system can't see anything wrong with it.
Up until now if it didn't know the command it wouldn't have escaped any of it, Sugoi would have broken it, and then the error system would have detected the fault, but that is only marginally better and not worth breaking unknown commands that can actually be translated.

I thought about adding yet another fancy color for everything the system didn't know before escaping it, but maybe we have enough colors already...
 

LolKek95

Newbie
Jul 23, 2021
42
106
I've released v1.108.
I've added catchall patterns for custom \\te_xt[] and \\te_xt<> commands. It will now escape the whole thing if it doesn't have Japanese in it. If it does it will isolate the Japanese to be translated separately and escape the rest.

The only downside to this is that if one of those commands has Japanese that should not be translated and it is not known to the system, yet, it will not throw an error in SLR Translator because the structure will have been correctly preserved and the system can't see anything wrong with it.
Up until now if it didn't know the command it wouldn't have escaped any of it, Sugoi would have broken it, and then the error system would have detected the fault, but that is only marginally better and not worth breaking unknown commands that can actually be translated.

I thought about adding yet another fancy color for everything the system didn't know before escaping it, but maybe we have enough colors already...
Hey, I was working on translation, and not the first time found setMessageText and setChoices which always become red, so I wrote a script to translate them. Maybe I can add this script to the SLR Translator, do you host it on GitHub or another place? Would love to contribute.

Was thinking about adding another button like: Code Data Translation
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
Hey, I was working on translation, and not the first time found setMessageText and setChoices which always become red, so I wrote a script to translate them. Maybe I can add this script to the SLR Translator, do you host it on GitHub or another place? Would love to contribute.

Was thinking about adding another button like: Code Data Translation
Erm, you could just change the tagging.
Tagging is done first during parsing and then it's refined during the "prepare for batch translation" button process.
You can actually fairly easily change it.
Go to www>addons>SLRbatch and open the "transredbatch".js.

The way the tagging works is that you choose the location, context, and or contents of the cell and then you can do if chains.

So for example let's say I have a plugin that can have cells everywhere, they have the "note" context and they always start with "NewThing: ", and I want their cells being tagged green.

Then I make a new regexpattern constant here:
1729787636910.png
And a new check here:
1729787661778.png

If you then also want to make sure that Sugoi isn't actually fed the "NewThing: " part you can edit the escaper in www>addons>SLRtrans>lib>TranslationEngine and open the "TranslationEngineWrapper.js".

Since you wouldn't want it to be sent to Sugoi at all you would need to add an entry to the "Splitting Patterns".
1729787899582.png
 
  • Like
Reactions: LolKek95

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
Hey, I was working on translation, and not the first time found setMessageText and setChoices which always become red, so I wrote a script to translate them. Maybe I can add this script to the SLR Translator, do you host it on GitHub or another place? Would love to contribute.

Was thinking about adding another button like: Code Data Translation
As for the github stuff, the issue is drama with dreamsavior, I don't want to get too much into it, but I know someone who is working on a proper open source repository version, but I have no idea how long that is still going to take, or if it will happen at all.

So for now honestly if you have any suggestions for me to add or change code, just post them here I guess.

If you have any questions about parts of my code post those here too and I'll try to explain them. I've added comments everywhere to explain stuff, but I realize they are not exactly detailed.
 
  • Like
Reactions: LolKek95

LolKek95

Newbie
Jul 23, 2021
42
106
Erm, you could just change the tagging.
Tagging is done first during parsing and then it's refined during the "prepare for batch translation" button process.
You can actually fairly easily change it.
Go to www>addons>SLRbatch and open the "transredbatch".js.

The way the tagging works is that you choose the location, context, and or contents of the cell and then you can do if chains.

So for example let's say I have a plugin that can have cells everywhere, they have the "note" context and they always start with "NewThing: ", and I want their cells being tagged green.

Then I make a new regexpattern constant here:
View attachment 4163319
And a new check here:
View attachment 4163321

If you then also want to make sure that Sugoi isn't actually fed the "NewThing: " part you can edit the escaper in www>addons>SLRtrans>lib>TranslationEngine and open the "TranslationEngineWrapper.js".

Since you wouldn't want it to be sent to Sugoi at all you would need to add an entry to the "Splitting Patterns".
View attachment 4163335
Okay, but my problem is not only the tagging but also translation process I would say, for example, it has:
LLWindow_1 setMessageText セクハラ前
Which means I need to send to SUGOI only セクハラ前 here

Any Idea where the best part is to put it?
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
Okay, but my problem is not only the tagging but also translation process I would say, for example, it has:
LLWindow_1 setMessageText セクハラ前
Which means I need to send to SUGOI only セクハラ前 here

Any Idea where the best part is to put it?
If that is the entire cell you can use splitting patterns
1729789219809.png
and just add an entry like this:
Code:
/^LLWindow_\d+ ?setMessageText ?/gm.toString() + ',',
That will remove that bit before sending the rest to Sugoi and then place it in front of the result again.
(I made the number variable and the spaces optional)


If it was actually inside of boundries meaning it also has some kind of end you need to preserve then it gets a bit more annoying.
In that case you need to add it to this section to isolate the Japanese:
1729789343078.png
And then the front to this section to escape it:
1729789385062.png
But that's pretty rare usually you can just use splitting patterns for everything.
 
  • Like
Reactions: LolKek95

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
I wanted to make proper tutorials for that in the help menu ages ago, but I'm really bad at explaining things and I have no idea how to write that so it makes sense for someone who has no clue about programming.
(And I figured someone who does, doesn't really need a proper tutorial as long as they know where the code is.)

Edit: Looking at this I think I actually fucked up some sequencing. The name catchall is triggered before splitting patterns, that means it overwrites some escaped script bits right now if they have [] and "could" cause things to be translated that shouldn't be.
I need to run some tests...
 
Last edited:

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
Okay, but my problem is not only the tagging but also translation process I would say, for example, it has:
LLWindow_1 setMessageText セクハラ前
Which means I need to send to SUGOI only セクハラ前 here

Any Idea where the best part is to put it?
To explain it in more detail and because I had to change some stuff anyway I've now included tagging and escaping for the both options you originally mentioned for your RJ01136630 translation in SLR Translator v1.109.

I've added this constant for them:
const.png
And this check call:
checkcall.png
Which leads to this:
check.png
Which leads to the actual tagging change:
checkrow.png
I've then escaped them adding this to splitting patterns:
escape.png
And as a result when translating, those cells now look like this in SLR Translator v1.109
cell.png
I've also escaped them during the POTENTIALFILENAME check so it doesn't spam errors in those cells because of the "_".
potentialfilename1.png potentialfilename2.png

I hope that made sense, as I said I suck at tutorials.
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
Okay, but my problem is not only the tagging but also translation process I would say, for example, it has:
LLWindow_1 setMessageText セクハラ前
Which means I need to send to SUGOI only セクハラ前 here

Any Idea where the best part is to put it?
Now the obvious potential issue is the formatting of the translation, which I did not change because you didn't mention anything.
I assume choices are separated by ",", which seems to work for the most part in my tests, but for example I have no idea if it's allowed to have normal spaces or not.
If it needs non breaking spaces I would have automation for that, too, but it's not active atm.
If the "," separation doesn't work I would have to make an isolating pattern for that. :unsure:

Edit: Sugoi is adding additional "," so I doubt that works correctly... I should have checked that before releasing v1.109.
Edit2: Fixing that without changing the parser itself is surprisingly hard. I never tried that, but I can see why that's a functionality that should exist. This might take a while... :HideThePain:
 
Last edited:

ArxiDemon

Member
Sep 27, 2017
157
177
What does this error mean? Something similar with localhost:14366 happened in the basic Translator too. When trying to use sugoi translate.

You don't have permission to view the spoiler content. Log in or register now.
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
3,181
5,505
What does this error mean? Something similar with localhost:14366 happened in the basic Translator too. When trying to use sugoi translate.

You don't have permission to view the spoiler content. Log in or register now.
It means that you do not have a Sugoi server running on port 14366.
In case you have no idea what that means, there's one included in the Additional Tools package.
Just start it using the "START SUGOI CPU SERVER.bat".

If you have a CUDA capable GPU I would recommend using a different repack though.
 
  • Like
Reactions: ArxiDemon