What's new

[TOOL] MechaTranslator


Re: [TOOL] MechaTranslator for RPG Maker Trans

Ya, i was going to mention that after I noticed it. Also I used your program on zombie town gunsweeper and got an error after battle.

It was similar to the error i got in another game using the 8chan automated translator tool that also runs ruby and translates scripts.

Do you know what I am referring to or should i post a pic? I assume these errors have something to do with a conflict the translation provides when trying to execute something.

Oddly enough, the game I translated with the 8chan tool was ghost HOUSE gunsweeper, which gave a game crashing error after battles, but when I translated the same game with YOUR translator, no issue.

BUT when doing the zombie town gunsweeper (essentially a sequel), it would give a similar game crashing error fairly similar to the 8chan version of the ghost HOUSE gunsweeper game. Found that to be odd.
When starting up MechTranslator you'll get multiple options for RPG Maker games, most notably the "Translate Scripts.txt" and "Translate InlineScripts".

All RPG Maker games I tested that caused errors in-play would work if one of the questions MechaTranslator makes was changed to "N" at th start.

Pretty much, here's how it can happen:
  • Some games will have scripts that are not just text/dialogue, but actually a variable that gets used elsewhere - translating it results in error
  • Some games will have some added vocabulary to the Scripts.txt that works similarly, which will also result in errors if translated
  • Some games will have Actor names (the character names) used in scripts, so translating them can also result in errors

All in all, disabling some of the translation options should make the errors stop. It really depends on the game.
 
Re: [TOOL] MechaTranslator for RPG Maker Trans

Finally tried with this and that. While it's almost exactly what I was looking for, using it for repetitious translation purpose isn't exactly easy because of some things:

1. Program splitting sentences in a way that impossible to comprehend/find, like "の%sが上がった" becoming "が上がった" and "の" (in this order). While maybe it's good for machine translation, but it doesn't make sense for human. Would be good to have this as an option that could be switched on/off.

2. It's own translation scrips structure prevent from understanding what goes where in original game scripts. Better would be to preserve the same scripts structure like in original. Maybe have all maps in one script named "maps".

3. For some reason it seems doesn't touch sentences which look like this in RPGMT scripts:
Code:
> BEGIN STRING
"\\e\>【\\eN[1]】
\\e\>でも、ふつうに薬を配達してる
\\e\>だけかもしれないし・・・
\\e\>たしかな証拠がないとなんとも言えないよ・・・"
This one showing character's portrait from the left in dialog window. Dialogs without portrait:
Code:
> BEGIN STRING
\\\>【店員】
\\\>いらっしゃいませ。
\\\>この店ではアイテムや武器の合成を行っています。
\\\>装備中の武器、装飾品は、はずさないと合成できません。
translated like normal.

p.s. Also it needs to quit automatically after it done or have an option like "quit after translating y/n" or otherwise indicate the end of process.
 
Re: [TOOL] MechaTranslator for RPG Maker Trans

Finally tried with this and that. While it's almost exactly what I was looking for, using it for repetitious translation purpose isn't exactly easy because of some things:
The newest version is hanging when it finishes (sometimes), but I haven't got around to fixing that yet, nor to discovering why it's happening. What is supposed to happen is it'll ask for another patch folder and if you give it it'll just keep translating, or just exit gracefully if you don't choose any. I imagine the new version might have some issue around the semaphores which is causing it to hang at the last file sometimes, they are used to allow multi-process translating.

The newest version is also splitting the old translations by Context (Dialogue, Names, etc), version 0.14 did split them by original filename (Maps, CommonEvents, Actors, etc), so maybe 0.14 would work better for your purposes.

What game is this, by the way? Unless I screwed up (which I probably did), this:
\\e\>たしかな証拠がないとなんとも言えないよ・・・"

Should get translated this way:
  1. UNTRANSLATABLE SYMBOL: \\e\>
  2. Translatable Symbol: たしかな証拠がないとなんとも言えないよ
  3. UNTRANSLATABLE SYMBOL:・・・
  4. UNTRANSLATABLE SYMBOL: "
And then put back together after translatable symbols get translated.

So it splits sentences around whatever untranslatable symbols it finds (this improves ATLAS' translations, as well). This is also related to why you saw sentences wish %s being split into two - %s is an untranslatable symbol.

The original intent of this tool is to make the best ATLAS translation possible and make them conveniently placed inside the game by using RPG Maker Trans / Wolf Trans, so adding human-translation support was more of an afterthought.

So to help you right now the tool would have to:
  1. Store the old translations in files according to the original Filename it was found at, rather than the Context it was used in (so CommonEvents/Maps rather than Dialogue/Names).
  2. Store the whole sentence, rather than the translation symbols
?

It might be doable, but right now I'm adding MV support, so I'll have to do this later.
 
Re: [TOOL] MechaTranslator for RPG Maker Trans

BUMP:

RPG Maker MV games are now translatable (so long as you've already unboxed their Game_boxed.exe). See the other threads for how to do that if your game came boxed.

For now the only known objects that are not getting translated are the system terms because I hate the structure used for them and I'm not feeling like writing the logic to handle them. They already get read by MechaTranslator, it just doesn't use them yet.

All MV translations will go into the "MV.json" file if you want to improve them manually so that you don't keep reading "Tea fa" all the time unless you don't care about it. There are also some steps you have to follow for the translations to look decent, check first post.

Attached some pics of it working.

For those who care about how MV games get translated:

The JSON files are loaded into an object and then the code walks through every. single. thing. in that object looking for the structure of known objects. For instance, items have a "name" attribute and a "description" attribute plus a lot of other attributes which pretty much only items have.

Then once it finds out a known object, all it has to do is translate the strings in it. The translation quality should be about the same as you'd get from MechaTranslator before, perhaps slightly better since Word Wrap makes the sentences more readable.

Also, Rep, made some changes to how the old translations files are written and used. Now you can actually translate the full sentences. This is particularly nice for the vocabulary ones which include "%s", since now we can change their position to a better one. (Rather than "%s got experience!" something like "Got %s experience!".) I think this is about the best I'll make with the old translations files, changing where each string goes in them to be more neat would take far too much work.

EDIT:
Ah! Rep, one more thing.
I just noticed that the string you mentioned doesn't get translated appears to be an InlineScript.

InlineScripts can break the game, so MechaTranslator follows some very rigid rules when deciding whether it's translatable or not.

For instance: if it has any common code character (like "/" or "a"), it will not translate that block. This is to avoid the game crashing.
 

Attachments

  • MechaMV00.jpg
    MechaMV00.jpg
    91.4 KB · Views: 2
  • MechaMV01.jpg
    MechaMV01.jpg
    66 KB · Views: 2
  • MechaMV02.jpg
    MechaMV02.jpg
    102.1 KB · Views: 2
Last edited:
Re: [TOOL] MechaTranslator for RPG Maker Trans

The newest version is also splitting the old translations by Context (Dialogue, Names, etc), version 0.14 did split them by original filename (Maps, CommonEvents, Actors, etc), so maybe 0.14 would work better for your purposes.
Ok, I'll try. But it's not like I'm working on something right now, just testing how it work and how it would be useful in the future for me and other people.

What game is this, by the way?
This happen with trial of . It's in maps and common events. Pic related.

The original intent of this tool is to make the best ATLAS translation possible and make them conveniently placed inside the game by using RPG Maker Trans / Wolf Trans, so adding human-translation support was more of an afterthought.
Yes, I understand. But it's really super useful in this regard too. With this anyone can make partial translation of menus, items, weapons, system messages and such for any game as long as he have big enough dictionary with things that already were translated.
Actually, now that I think about it, machine translation being optional would be nice too. :D For example, if you translated something in RPGMT own scripts and don't want it to be changed by machine, but still want to use Mecha to, say, adding already translated system messages.
Also, regrading dictionary and scripts structure (since Wolf games have different one): maybe having one more folder named "dictionary" or something, where you could store one big file or in files similar to RPG Maker/Wolf structure with already translated lines could help with many things. I imagine it would work like this:

1. Before splitting sentences for translatable and untranslatable symbols it look into "dictionary" file(s) for 100% matches and takes it from there in there's a complete match.

2. If in human-translated files exist the same name then that translation takes priority. I.e. it goes like this: human > dictionary > machine priority.

3. Then, if translation options was activated/non deactivated, it split sentences for translatable and untranslatable symbols and translates everything else.

In general I think having enough options to control what program doing is a good thing. If it ever will have GUI then would be nice if people could just check what they want too do.

p.s. I'm slow with responses, yes. :rolleyes:
 

Attachments

  • BxS.jpg
    BxS.jpg
    90.2 KB · Views: 3
Last edited:
Re: [TOOL] MechaTranslator for RPG Maker Trans

Actually, now that I think about it, machine translation being optional would be nice too. :D For example, if you translated something in RPGMT own scripts and don't want it to be changed by machine, but still want to use Mecha to, say, adding already translated system messages.

Also, regrading dictionary and scripts structure (since Wolf games have different one): maybe having one more folder named "dictionary" or something, where you could store one big file or in files similar to RPG Maker/Wolf structure with already translated lines could help with many things.
Right now it's not possible to maintain old RPG Maker Trans scripts. It would require teaching the following to the TranslationBlock class: "These are old translations. Save them." and "If you're not going to translate this, maintain old translations if they exist.". If it's not too hard to do, I'll see if I add this ater.

Adding a new human-only dictionary that always gets used first would be trivial, though. I'll do that for 0.2.2.

Personally, the way I'd use this as a real translator would be as a first-pass only, not something that gets used multiple times.

Well, that or just translating everything through the MechaTranslators dictionaries exclusively. I guess you could use a JSON editor to make that comfy.

This happen with trial of . It's in maps and common events.
Besides dangerous scripts not being translated, I noticed there are some real issues with that game.

As in RPG Maker Trans itself would tag the heroine's dialogue as "CONTEXT: UNUSED", even though you see them in-game. The game didn't even release, so I didn't delve very far into why that happens.
 
Last edited:
Re: [TOOL] MechaTranslator for RPG Maker Trans

Bump:

0.2.3 adds the MV plugin automatically, now also translates all the System terms/messages, puts all MV translations in the right context (with the System terms/messages going to the old MV.json translations file).

There are still some things which SHOULD be stored in an object but that I haven't found yet, like the Equipment Slot names. I'll try and find them later so they also get translated.

@Rep: 0.2.3 also creates a 0Level translation dictionary that gets checked first on any context.


EDIT: 0.2.4 now translates the missing RPG Maker MV terms ('armorTypes', 'elements', 'equipTypes', 'skillTypes', 'weaponTypes', 'gameTitle', 'currencyUnit'). Since this is not really important I'll hold out on updating for now.
 

Attachments

  • MechaMV01.jpg
    MechaMV01.jpg
    91.4 KB · Views: 2
  • MechaMV02.jpg
    MechaMV02.jpg
    90.4 KB · Views: 2
  • MechaMV03.jpg
    MechaMV03.jpg
    96 KB · Views: 2
Last edited:
Re: [TOOL] MechaTranslator

Bump! All files now have a new home, new Binary releases go here:


Source link still in the first post

@WolfGuy:
The newest version no longer causes issues with Wolf RPG so long as the "Translate Unknown Contexts" option is set to N or the default options are used.

The only issue is that I haven't added all the Wolf RPG contexts to the whitelist, so the database entries are not getting translated just yet. I should have this up for the next update.
 

Attachments

  • Wolf01.jpg
    Wolf01.jpg
    62 KB · Views: 1
  • Wolf02.jpg
    Wolf02.jpg
    60.2 KB · Views: 1
Re: [TOOL] MechaTranslator

Google Translation seems to have advanced quite a lot lately.

Is it possible for this tool to use Google Translate or would you consider adding that feature?
 
Re: [TOOL] MechaTranslator

Google Translation seems to have advanced quite a lot lately.

Is it possible for this tool to use Google Translate or would you consider adding that feature?
To simply use google translator would be hacky/illegal/unethical. To actually use their API it'd require payments.

If someone gets me an API key I'd love to include it, though. The translations really do look amazing.

EDIT:
Here's the Google Translate pricing:


So, they charge per character. A game like Found Dead has 167866 characters ONLY in Dialogue/Choices. Now, this is taking into consideration that MechaTranslator will remove symbols and not translate them, which is really helpful in this circumstance where we'd have to pay for them.

At the rate of $20 every 1M characters, translating Found Dead through Google Translator would cost about $3.36

Comparatively, a bigger game like Shoku's new Delia's War has 337336 characters, which would come to about $6.75

So even if I did add support to Google Translator, we'd still have to have individual users putting their API Key after booting Mecha Translator. Or, even better, just have one main guy creating and sharing translations after they get completed.

This is probably dirt cheap considering how good Google's translations are right now, but I don't have access to an international credit card so I can't even test this out and, therefore, can't implement it right now.


Examples:
Original text: 特に気になるものはない…
ATLAS translation: Especially, there is no worrying about one…
Google Translation: There is no particular thing to be worried about…
Google Premium Translation: Nothing to be particularly concerned about…
 
Last edited:
Re: [TOOL] MechaTranslator

Added the missing Wolf RPG contexts to 0.2.7.

Some things aren't translating yet and I'll find out why either later or saturday.
 

Attachments

  • WolfContexts01.jpg
    WolfContexts01.jpg
    61.7 KB · Views: 2
  • WolfContexts02.jpg
    WolfContexts02.jpg
    87.7 KB · Views: 2
  • WolfContexts03.jpg
    WolfContexts03.jpg
    88.5 KB · Views: 3
Re: [TOOL] MechaTranslator

Just as a note, I would pour cold water on Google Translate to some extent. My understanding is that what they've done is used some advanced deep neural networks, trained on literary works. Neural networks are not magic; they can be described as statistically projecting their observations onto the target input.

What's the chance that Google trained their neural networks on adult novel translations?

My guess is that Google Translate will look pretty good for a fair few things. But I have a strong suspicion that H-scenes will make it choke.

Still, it would be a fascinating experiment to try. As would taking a corpus of H-games with translations and feeding them into an advanced neural net. I guess that's one of the perks of a doctorate in computer science - I actually know enough to try some of this fun stuff (even if I am nowhere near the top of the field).

EDIT: Oh, and I note that access to Google Translate Premium is currently on a case-by-case basis, depending on your project. I suspect H-games are not going to be granted access.
 
Last edited:
Re: [TOOL] MechaTranslator

This is probably dirt cheap considering how good Google's translations are right now, but I don't have access to an international credit card so I can't even test this out and, therefore, can't implement it right now.

There is a free trial though right?

You can probably use that to test it out if you can implement it.
 
Re: [TOOL] MechaTranslator

There is a free trial though right?

You can probably use that to test it out if you can implement it.
Like I said, I don't have an international credit card, therefore I can't use the trial.

I do think ATLAS' translations are pretty good with the current settings, though.

Just as a note, I would pour cold water on Google Translate to some extent. My understanding is that what they've done is used some advanced deep neural networks, trained on literary works. Neural networks are not magic; they can be described as statistically projecting their observations onto the target input.

What's the chance that Google trained their neural networks on adult novel translations?

My guess is that Google Translate will look pretty good for a fair few things. But I have a strong suspicion that H-scenes will make it choke.

Still, it would be a fascinating experiment to try. As would taking a corpus of H-games with translations and feeding them into an advanced neural net. I guess that's one of the perks of a doctorate in computer science - I actually know enough to try some of this fun stuff (even if I am nowhere near the top of the field).

EDIT: Oh, and I note that access to Google Translate Premium is currently on a case-by-case basis, depending on your project. I suspect H-games are not going to be granted access.
What I like about it is how natural-sounding the sentences end up like, but yeah, definitely more fun than useful.

Now if I could hook up LEC, that would be both fun and useful.
 

Attachments

  • free my ass.png
    free my ass.png
    5.2 KB · Views: 2
Re: [TOOL] MechaTranslator

Eh. Google Translate is free though, kinda. My understanding is that the official API comes with service level guarantees, and that's what people are really paying for. There are also undocumented APIs, basically what people use through all the programs offering Google Translate, and these are free. And as with all useful things, someone has already packaged it up in a Python module.

So the following should work: first pip install goslate

Then usage is as follows:

import goslate
gs = goslate.Goslate()
gs.translate('YOUR STRING HERE', 'ja')

However, there is one significant caveat, which is that excessive usage of this API results in temporary blacklisting, so you'll probably want to throttle your usage of it. Also there's a limit on the number of characters you can translate at once (about 4k if memory serves). And like any online translation service, it'll be really, really slow in automation.

Besides, with a good dictionary, ATLAS tends to beat Google Translate for H-games.

Off topic: I've not tried LEC. Is it good?
 
Re: [TOOL] MechaTranslator

Even more off-topic(ish). Sorry... xD

Didn't find a relevant thread, so just gonna ask here since it sort of relates to my 'problem'. You've mentioned setting up Atlas with the right dictionaries. I have the 2015 revision of the standard .mrg (6.4 MB), set as top priority user dic in the environment VNR and TA are using. Also have the environment settings set up as advised. Haven't added any words to Atlas directly...

These of course with the latest replacement scripts added for TAH plugin and VNR, respectively.
Yet I keep getting way too many [**] unregistered words in the TL. And frankly, I think it should fare better.
This "new" google gives better results more times than not, almost always gets those bracketed words fine and dandy, and looks way more comprehensible (i.e. makes more sense and "readable") most of the time.
Any ways to improve (or do I have it set up in a wrong manner) Atlas?

In my experience, LEC is on the same level. Then again, haven't really looked into it too much, since I don't know if there is a way to set it up to work better; apart from the replacement script, that is, ofc.
 
Re: [TOOL] MechaTranslator

I've looked at goslate before, but it's page says google created a ticket system and that they won't update it to break the ticket system, so I assumed it wasn't working at all right now. So it still works? I think it might be worth it just to use it for things like Item Names/Descriptions which are a bit trickier.

Off topic: I've not tried LEC. Is it good?
I find LEC's translations to be worse and less readable than ATLAS. I think it's better at translating things like Item Names, from what I remember, so possibly small translations.

Supposedly it's also a lot superior to ATLAS at Katakana. Tbh, I'm more interested in it due to it being portable and small. I'd also like to see whether it's faster than ATLAS or not. Ultimately, it'd be nice to make a script to use ATLAS/LEC according to what the symbol has (like lots of katakana go to LEC, etc).

These of course with the latest replacement scripts added for TAH plugin and VNR, respectively.
Yet I keep getting way too many [**] unregistered words in the TL. And frankly, I think it should fare better.
Any ways to improve (or do I have it set up in a wrong manner) Atlas
I don't know about TAH, as I always used pure TA (with manual reducing of sentences like MechaTranslator does), but to be honest I haven't seen many unregistered words in my own translations, but I might just not even notice them at this point. I use both the 2015 dictionary and FHC's. Oh, I also don't consider words which get translated to Romaji as unregistered because it's usually understandable (to me).

I don't know how similar TAH scripts are to what I'm doing, but MechaTranslator simply splits sentences into bite-sized "Symbols" which are either translated or left alone. I've found that ATLAS always made more sense with smaller sentences, so I try to split whenever a split would seem appropriate (such as when a sentence ends, so that ATLAS doesn't have to translate two of them, etc).
 
Re: [TOOL] MechaTranslator

I've looked at goslate before, but it's page says google created a ticket system and that they won't update it to break the ticket system, so I assumed it wasn't working at all right now. So it still works? I think it might be worth it just to use it for things like Item Names/Descriptions which are a bit trickier.

Yep, I did try it, and it appeared to work. Maybe there's an issue I didn't see though - hopefully not.

I find LEC's translations to be worse and less readable than ATLAS. I think it's better at translating things like Item Names, from what I remember, so possibly small translations.

Supposedly it's also a lot superior to ATLAS at Katakana. Tbh, I'm more interested in it due to it being portable and small. I'd also like to see whether it's faster than ATLAS or not. Ultimately, it'd be nice to make a script to use ATLAS/LEC according to what the symbol has (like lots of katakana go to LEC, etc).

I made a portable and small ATLAS for my own usage, although it is 140 MB compressed/550 MB uncompressed - mostly dictionaries. I needed to get it to work under Linux+Wine, and the regular installer more or less doesn't do that.

As to Katakana, well ATLAS's handling is sometimes annoying, but strictly speaking, correct. Normally, if something is written in Katakana, then it is written like that because it's not part of the Japanese language and is being represented as a sound. Therefore if you see something in Katakana, you know it's not a Japanese word and therefore should be transliterated rather than translated. Of course this causes issues sometimes when Katakana is used for primitive speech, but it is the correct handling of it.

If it really bugs you, then you could rig your script to convert Katakana to Hiragana. Something like using ord to get ordinal of each character, checking to see if it's in the range of Katakana, and if it is adding an offset to convert it to Hiragana before using chr to turn it back.

Even more off-topic(ish). Sorry... xD

Didn't find a relevant thread, so just gonna ask here since it sort of relates to my 'problem'. You've mentioned setting up Atlas with the right dictionaries. I have the 2015 revision of the standard .mrg (6.4 MB), set as top priority user dic in the environment VNR and TA are using. Also have the environment settings set up as advised. Haven't added any words to Atlas directly...

I can recommend the FHC dictionary, but yes, every so often there will be a word that comes out as **... or similar. Normally that means the translator itself is messing up, normally because of punctuation being fed into it. I personally use a custom program to do translations and I've made it so it splits stuff up aggressively so normally this doesn't happen. Is it worth a release at some point, maybe?
 
Last edited:
Re: [TOOL] MechaTranslator

Thanks for the answers guys.

So I guess I should get that FHC dic and make it the top priority in the list of dictionaries; like this: FHC>User Dic (Atlas_v2015)>Standard Dictionary, right?

That TAH/VNR script is supposedly helping Atlas -or LEC; as I said, there is one for LEC also- by making adjustments to the text before having it go through the TL process. Probably does a little bit of what you guys mentioned as well. It is quite big - 200-300 kB IIRC. (But some of it is the creator's comments, I reckon.) Full of RegEx. Of which I know almost nothing about, sadly... :eek:
I should probably test some of the sentences that give me [blabla] without the script - that way I can at least establish if it is the script or Atlas itself.
I personally use a custom program to do translations and I've made it so it splits stuff up aggressively so normally this doesn't happen. Is it worth a release at some point, maybe?
I wouldn't be too much offended, were that to happen, honestly. xD Maybe even just to see how it fares compared to this standard replacement script.
You are already doing way more than your fair share for us machine TL enthusiasts, though...
(I quietly support the idea!! lol)
 
Re: [TOOL] MechaTranslator

I've added Google support through . I've currently set it up to wait 2 seconds between Google requests, that should be enough.

There are options to translate only Names through Google (which is the default) and another option to translate everything through Google.

I think it might still require ATLAS to be installed. I'm too lazy to fix/check that right now, but should be relatively easy to fix (assuming one is using Google to translate everything, of course).

Since this is so slow I made it print every message it sends to google, that way you at least see it hasn't stalled.

It'd also be relatively simple to allow support for languages other than japanese (a machine translated Ring of Lust would be fun, eh?), but for now it's hardcoded to translate japanese only.

@Habisain:
Any chance you could share the files you changed for ATLAS to work in a portable manner?
 

Attachments

  • MechaGoogle.jpg
    MechaGoogle.jpg
    20.3 KB · Views: 6
Last edited:
Back
Top