Tool RPGM DazedMTLTool - A tool that provides quality MTL translations using ChatGPT

dazedanon

Engaged Member
Modder
Uploader
Donor
Jul 24, 2017
2,067
19,136
In my case it didn't end up that expensive ~$10 for 2M characters, 50k lines.
My bigger problem with OpenAI in general is having to skirt around the content filters and are starting to show up. Really considering buying a 3090 and trying to train some of the lighter LLMs myself to just for fun.
Vicuna wasn't great for translation I tried it out. Once one is out that provides a decent output I'll be very happy.

Your method is smart. I couldn't find a good way to implement it in my tool. I had trouble conceptualizing how I would inject those translated lines back into the json files for rpgmaker games since the output was always a different length. I'm not that great of a programmer in general so I struggled lol.

I haven't had anymore trouble with the content filters using my prompt. But also the API is way less picky about. Maybe try it with yours and see if results vary. Its in prompt.example in the Github.
 

xorxorrax

Member
Modder
Apr 12, 2020
222
1,100
Vicuna wasn't great for translation I tried it out. Once one is out that provides a decent output I'll be very happy.

Your method is smart. I couldn't find a good way to implement it in my tool. I had trouble conceptualizing how I would inject those translated lines back into the json files for rpgmaker games. I'm not that great of a programmer in general so I struggled lol.
All LLaMA related LLMs are not that great in general tasks, but are pretty impressive once you train them. Projects like seem really promising.
 

dazedanon

Engaged Member
Modder
Uploader
Donor
Jul 24, 2017
2,067
19,136
All LLaMA related LLMs are not that great in general tasks, but are pretty impressive once you train them. Projects like seem really promising.
Ooooh I see. I have a 4080 so I'd probably be able to experiment, but I'm not too well versed in machine learning so I wouldn't know what to do. Maybe I should read up on the subject.
 

Mektur

New Member
Sep 27, 2019
1
2
Ooooh I see. I have a 4080 so I'd probably be able to experiment, but I'm not too well versed in machine learning so I wouldn't know what to do. Maybe I should read up on the subject.
You definitely should. Also, look into . It's an open-source chatbot that relies on volunteers to generate and label data. I used it to do some writing, and it's not quite there yet, but they only recently had their 'official' launch, so I expect it to get better.

From a purely economical standpoint, I don't see a reason to rely on a paid service if you're gonna invest any amount of effort into this. Even if you have the money to fund all of these tests, you're better off just paying someone to help you on your custom AI, instead, or even donating to an open project.
 

Xaiti

Newbie
Mar 12, 2021
15
43
All LLaMA related LLMs are not that great in general tasks, but are pretty impressive once you train them. Projects like seem really promising.
I also think this is the way to go in the future. It's open so there is a higher probability of not getting a censored/neutered product in the future. Every new translated game (especially properly not MTLed ones) could be turned into learning data to keep improving an existing LLM.
I've only started dabbling in AI, but it seems there's a very active and skilled community making even training of a model fairly accessible through great tooling.
 

dazedanon

Engaged Member
Modder
Uploader
Donor
Jul 24, 2017
2,067
19,136
New Features Added: Support for RPGMaker VX ACE and Cost Estimation

* RPGMaker VX ACE is now supported.
* Implemented the ability to get an estimation of what a translation might cost beforehand. It's off by a few cents but that can't be helped since I can't know exactly the length of the response without actually sending a request.

1682187870850.png
 

baggotswaggot

New Member
May 6, 2020
7
5
New Features Added: Support for RPGMaker VX ACE and Cost Estimation

* RPGMaker VX ACE is now supported.
* Implemented the ability to get an estimation of what a translation might cost beforehand. It's off by a few cents but that can't be helped since I can't know exactly the length of the response without actually sending a request.

View attachment 2565492
Amazing work. Just wondering, is it possible to translate a .csv with this tool? I know that Translator++ can be used to extract the script from games and then export them into a csv to be later re-imported after translation. But as Translator++ doesn't have the unique ability to feed it context for every line like yours, this method could probably be used to support engines beyond RPGMaker such as Kirikiri or Tyranobuilder.
 

dazedanon

Engaged Member
Modder
Uploader
Donor
Jul 24, 2017
2,067
19,136
Amazing work. Just wondering, is it possible to translate a .csv with this tool? I know that Translator++ can be used to extract the script from games and then export them into a csv to be later re-imported after translation. But as Translator++ doesn't have the unique ability to feed it context for every line like yours, this method could probably be used to support engines beyond RPGMaker such as Kirikiri or Tyranobuilder.
Ahh I see thats interesting.

There's no real reason why I can't implement something like that. In fact translating a csv should be pretty simple. Do you perhaps have a sample csv file that I may take a look at to get an idea and maybe test some things with?
 

baggotswaggot

New Member
May 6, 2020
7
5
Ahh I see thats interesting.

There's no real reason why I can't implement something like that. In fact translating a csv should be pretty simple. Do you perhaps have a sample csv file that I may take a look at to get an idea and maybe test some things with?
I don't have a small sample file on hand, but I do have the full script for a game called Fuyuiro no Muffler from Makura Cover Soft, the Leane dev, feel free to strip it down to something workable. It was built on Kirkiri, so there will be some variables in the .csv like "[k]". Zipped the .csv into here:
 
  • Like
Reactions: dazedanon

dazedanon

Engaged Member
Modder
Uploader
Donor
Jul 24, 2017
2,067
19,136
I don't have a small sample file on hand, but I do have the full script for a game called Fuyuiro no Muffler from Makura Cover Soft, the Leane dev, feel free to strip it down to something workable. It was built on Kirkiri, so there will be some variables in the .csv like "[k]". Zipped the .csv into here:
Alright support for CSV's was added though it needs to be tested on an actual game probably. It wasn't too difficult to implement overall. The only issue is I couldn't figure out a good way to implement multithreading without messing up the text history injection so it's pretty slow.

1682266638005.png
 
Last edited:
  • Like
Reactions: baggotswaggot

baggotswaggot

New Member
May 6, 2020
7
5
Alright support for CSV's was added though it needs to be tested on an actual game probably. It wasn't too difficult to implement overall. The only issue is I couldn't figure out a good way to implement multithreading without messing up the text history injection so it's pretty slow.

View attachment 2567542
Amazing work! I'll take an in-depth look later when I'm free, but at first glance it seems great.

Update: Worked well for my needs! Awesome!
 
Last edited:
  • Like
Reactions: dazedanon

madyo

Active Member
Sep 12, 2019
543
168
can u give tutorial so stupid person like me who has never touch python or something like coding can use this?
 

dazedanon

Engaged Member
Modder
Uploader
Donor
Jul 24, 2017
2,067
19,136
can u give tutorial so stupid person like me who has never touch python or something like coding can use this?
Probably not a good idea. You could try running it as is by following the README but its likely to fail on certain games at the moment until I can test more games to catch all the use cases. Once everything is stable I'll try to craft a noob friendly release.
 
  • Like
Reactions: Pango_12

madyo

Active Member
Sep 12, 2019
543
168
Probably not a good idea. You could try running it as is by following the README but its likely to fail on certain games at the moment until I can test more games to catch all the use cases. Once everything is stable I'll try to craft a noob friendly release.
okay great sir thank you so much, really appreciate the work and excited for the noob ver
 

dazedanon

Engaged Member
Modder
Uploader
Donor
Jul 24, 2017
2,067
19,136
Thank you for your work. This will bring games people have been hoping to get translated to their language. What’s the best way to support you?
Thanks! Any of the support links in my signature help me out. :)
 

AkamashiDesu

Newbie
Nov 26, 2017
39
37
It usually got error while translating large file (.csv), like this one with almost 15k row. I have to split it up 1000 row per file and translate it one by one. Also some file are still keep getting error and the output of these file only keep translated part, the original japanese rows text disappeared, so when combine it there'll be missing row. I hope there'll be a feature that can keep the original row, split up and combine in the future.
 

dazedanon

Engaged Member
Modder
Uploader
Donor
Jul 24, 2017
2,067
19,136
It usually got error while translating large file (.csv), like this one with almost 15k row. I have to split it up 1000 row per file and translate it one by one. Also some file are still keep getting error and the output of these file only keep translated part, the original japanese rows text disappeared, so when combine it there'll be missing row. I hope there'll be a feature that can keep the original row, split up and combine in the future.
Can you send me the CSV so that I may test with it and see what the error is exactly for large files? I also don't quite understand what your screenshots are trying to convey. The translated part is kept so that you don't have to retranslate anything in case of a failure since that would be expensive.

There are times a translation will fail if ChatGPT fails to translate a specific line. In these cases, you will have to manually translate the line it failed on and then put it back in /files to resume the translation. I'll eventually make a workaround for this.