Tool RPGM SLR Translator - Offline Machine Translation for VX, VX Ace, MV, and MZ [Shisaye]

Shisaye

Engaged Member
Modder
Dec 29, 2017
2,787
5,044
doodle.png
Overview:
SLR Translator is a tool I've been developing over the past 2 years to translate RPGM games at a high enough standard to be able to finish them without getting stuck, without being dependent on online services.
You can find countless examples in my main translation thread.
If you've ever used Translator++ before, then the tool will immediately feel familiar, because I am using it's UI licensed under GPLv3.
But the actual translation process is very different from Dreamsavior's stuff.
Most outside credit there actually goes to Reddo9999, his code helped me a lot.
(We don't know each other, but his code is also licensed under GPLv3.)

Important Note:
This tool will only function if you have a working SugoiV4 server running locally on port 14366.
(The standard setting.)
Visit the
Sugoi thread to find out more about Sugoi.

If you'd like to support development of this tool or my work in general you can donate here:

Thread Updated: 2024-05-31
Release Date: 2024-05-16
Developer: Shisaye
Version: 1.051
OS: Windows (64bit)

Installation:
You don't have permission to view the spoiler content. Log in or register now.
Changelog:
You don't have permission to view the spoiler content. Log in or register now.
FAQ:
Q: So this is just another way to run Sugoi on a game?
A: No, Sugoi is only used for basic dialogue. Most scripts, noises, menu buttons, etc., have pre-defined translations from a dictionary I've built. There's also hundreds of regex patterns fixing common quirks and issues with Sugoi.

Q: This doesn't seem to automate many VX and VX Ace sections in the Scripts, is translating that always going to stay trial and error?
A: Hopefully not, I am actually working on a system that will even automatically translate custom scripts, but as you can imagine that is not particularly simple to implement without breaking stuff and focus for now was to get the bulk of it running in a user friendly fashion.

Q: Does this release mean you will stop taking translation requests?
A: No, I realize not everyone has the hardware to run this, and so while this is meant to replace me when I'm gone, I'm not gone, yet.
But please keep those requests to my translation thread and keep all posts here about SLR Translator itself.

Q: Do you still want to enforce your translation rules?
A: I will still only take requests, that fit my request rules, but you can obviously use this tool however the heck you want.
But If you choose to use a SLRMTL for a Game-Release thread, then you need to deal with the fallout yourself. I will not monitor those threads and I will not react to any bug reports from it.
If you notice an issue caused by this tool, post it here.

DOWNLOAD
SLR Translator



Additional Tools (Extractors, Official Editors, etc.):

(I did not make any of these.)

 
Last edited:

Entai2965

Newbie
Jan 12, 2020
99
316
Best Mascot Ever.

Edit:
SLR Translator has a lot of optimizations based around Japanese to English translation + the Sugoi Offline Translator v4.0 NMT model.

Using SLR Translator in its intended configuration requires:
1) The Sugoi Offline Translator v4.0 model in either or in .
2) Software that can run that model on either the CPU or GPU.

The PyTorch/Fairseq/original version of the model and a small flask server to run it are available from the Official Toolkit (~6.5+ GB), but FOSS alternatives are also available here for convenience, reduced size, better performance, improved compatibility, added cache, added UI, transparency, stability, etc.

I went ahead and bundled everything together in a Sugoi-Repackage to bootstrap the Sugoi Offline Translator v4.0 NMT model + SLR Translator as fast, as clearly, and as reliably as possible. The Sugoi-Repackage is already included under AdditionalTools.7z\apps\Sugoi-Repackage-CPU in the OP. Just double click on the .bat to set up the software and then add the CTranslate2 format model to the correct folder to begin using SLR Translator right away.

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

For more detailed notes on the Sugoi-Repackage, see the , expand the small summary below, and also read this.

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

Shisaye

Engaged Member
Modder
Dec 29, 2017
2,787
5,044
Can't open localhost
Localhost refers to your own computer.
What I meant is that you need to have SugoiV4 running in offline mode on the standard server settings.
(I've now changed the note to be less confusing.)

If you have no idea how any of that works, then you can just use the standard Sugoi toolkit by minshiba, run it in offline mode, and leave everything on default. It might be a bit slow, but it will do the job.

I just mentioned the port, because some of the more advanced Sugoi setups might use a different number, and then it will not properly communicate with SLR Translator.
 
Last edited:

Silentce

Quiet Eldritch Horror
Modder
Uploader
Jan 2, 2018
4,208
24,996
Good job on the tool. I plan on checking it out. My knowledge of coding sucks but I am eager to see how the process works. might make me start doing translations again as I could focus on editing the results instead of spending 6 years translating everything by hand lol.
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
2,787
5,044
Good job on the tool. I plan on checking it out. My knowledge of coding sucks but I am eager to see how the process works. might make me start doing translations again as I could focus on editing the results instead of spending 6 years translating everything by hand lol.
I'm planning to add proper documentation for everything, but I'm really bad at that stuff, so for now there's only tutorials for basic usage, and some explanations for error codes and cell tags. (Press F1 in the tool.)

I've tried to put explanations in the code everywhere, but it's a mess.

The most important bits are actually in the TransRedBatch and TransRedSugoi folders in www/addons. Specifically the "TranslationEngineWrapper.js" and the "transredbatch.js". That's where all the magic happens.

Not because that makes a lot of sense, but because I started with Reddo's stuff back then and never bothered to actually move it out of there. :KEK:

But I obviously also made changes to the core parsers and even to stuff like rvpacker.
(As you know, all the normal Translator++ stuff is broken. I basically had to edit every single file at some point.)
 
  • Like
Reactions: Silentce

Shisaye

Engaged Member
Modder
Dec 29, 2017
2,787
5,044
Since I never had a thread in this section, yet, did anyone get a notification when I edited the OP for the 1.043 update and then 3 days later for the 1.044 update, or do I have to make a post each time I release an update?
 
Last edited:

Silentce

Quiet Eldritch Horror
Modder
Uploader
Jan 2, 2018
4,208
24,996
Since I never had a thread in this section, yet, did anyone get a notification when I edited the OP for the 1.043 update and then 3 days later for the 1.044 update, or do I have to make a post each time I release an update?
Gotta make new posts. updates to previous posts do not trigger notifications as far as I am aware.
 
  • Like
Reactions: Shisaye

Shisaye

Engaged Member
Modder
Dec 29, 2017
2,787
5,044
Gotta make new posts. updates to previous posts do not trigger notifications as far as I am aware.
Odd choice, makes the "Watch Thread" function not super useful.
Oh well, I guess I spam new posts each time then.
 
  • Thinking Face
Reactions: Silentce

Shisaye

Engaged Member
Modder
Dec 29, 2017
2,787
5,044
I've released Update v1.045.

Main change is that it will now put a non breaking spaces in D_TEXT entries if they end on a number that is encased.
Because for some dumb reason D_Text accepts \V[n] as font size if there's a space in front of them.
Which means if there's a menu entry "Money \V[12]" Instead of printing "Money variable12" it scales the font size of the word Money.

Which is kinda funny, but I've fixed it now. :KEK:

It probably only works with that variable type, but just to be safe I changed it for all encased numbers at the end. (It just makes the text a bit ugly when it happens, because the spaces are bigger.)
 
Last edited:
  • Like
Reactions: Entai2965

Shisaye

Engaged Member
Modder
Dec 29, 2017
2,787
5,044
I've released v1.046.
Tagging related improvements and fixes, mostly related to the scripts context and plugins.js.

The Additional Tools package now includes a minimalist SugoiV4 installer. (Made by a certain 2965 pokemon :Kappa:).

Edit: I may or may not have had a really dumb typo. Anyways there's v1.047 now. :HideThePain:
 
Last edited:

Shisaye

Engaged Member
Modder
Dec 29, 2017
2,787
5,044
Just released v1.048.
Biggest change is that I significantly improved my script for detecting and deleting empty objects and their staging data.
It should now consistently work regardless of project or settings.
 
  • Like
Reactions: Entai2965

Shisaye

Engaged Member
Modder
Dec 29, 2017
2,787
5,044
Btw I completely forgot to mention, regardless of what I've changed in a new version, you can move over your staging data from the www/php/cache folder into the new version and it will retain all information it had (outside of your profile folder in Appdata).
That way old projects will still work as expected and you do not need to keep old versions of the tool.

I thought about offering update patches instead of always the whole thing again, but that just introduces another instance in which I could fuck something up, so I'd rather not. :HideThePain:
 
Last edited:

Shisaye

Engaged Member
Modder
Dec 29, 2017
2,787
5,044
I've released v1.049.
Fixed a problem with some old escaper patterns that was causing bad translations.
This actually makes a significant difference in translation quality for some games.
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
2,787
5,044
I've released v1.050 because sleeping is overrated.

Main changes are to make the error detection system more accurate and VX plugin stuff.
If you have used SLR Translator before v1.050, then you might want to delete your profile folder in "Appdata/Local/SLR Translator", so it applies the new default settings, unless of course you already made a bunch of changes to the settings and you want to keep them.
But I recommend changing these settings
1.png
To something more spicy like Request Character Limit 5000 and Maximum Batch Size 15000.
Otherwise translation will be really slow.


And yes, I've also just noticed the typo in the description... I'll fix it in the next update. :HideThePain:
 
Last edited:

Yuki-x

Member
Jul 22, 2021
155
253
Shisaye
Does your tool have the same feature/enhancement (for me is a flaw) of grouping all identical strings in one string with multiple references, as translator++?
 

Shisaye

Engaged Member
Modder
Dec 29, 2017
2,787
5,044
Shisaye
Does your tool have the same feature/enhancement (for me is a flaw) of grouping all identical strings in one string with multiple references, as translator++?
It does do that, but for automated RPGM translation it's not a problem because It's not blindly collecting everything like Translator++ does. My parser is more selective.
It doesn't really make sense to make 30 cells with just the word "Yes" in it, to be processed one by one, if they are all choice boxes, and all in the same object.
This isn't really meant for manual translations.

I might make a toggle in the options menu at some point, but that's actually more annoying to implement than it sounds.

Edit: If you find an instance of SLR Translator actually grouping a cell that breaks the game if translated with one that needs translation, please tell me and I'll adjust the parser to not collect the untranslatable cell in the first place.
 
Last edited:
  • Thinking Face
Reactions: Yuki-x

Shisaye

Engaged Member
Modder
Dec 29, 2017
2,787
5,044
Released v1.051.
Just some minor bugfixes.
I've also added a download mirror using wdho, which is probably not everyone's favourite host, but it seems like Pixeldrain is getting problems soon, so I should at least have some mirror and the host options are starting to be really limited...