๐น๏ธ
RPGMaker-MV Translator
Original language |
Automatic Translation |
---|---|
๐ค
Why should you use it?
๐ฎ
Game files overview Game files containing the data we want to translate are usually contained in the folder data/
. Among these json files, the ones we are going to translate are the following:
Armors.json
: contains the name and the description of all armors๐ก๏ธ . ๏ธWeapons.json
: contains the name and the description of all weapons๐ก๏ธ .Items.json
: contains the name and the description of all items๐ก .Skills.json
: contains the name and the description of all skillsโก .Enemies.json
: contains the name of all enemies๐พ .MapInfos.json
: contains the name of all maps๐บ๏ธ .Classes.json
: contains the name of all classes๐ง .States.json
: contains the name and the relative messages of all statesโจ .Actors.json
: contains the profile of all characters๐ฉ .
Other files that need to be translated, but deserve particular attention are:
CommonEvents.json
: contains the dialogs relative to the common events in the game๐ค .MapXXX.json
: contains the dialogs relative to all the maps. Basically it contains most of the dialogs on the game which would probably require a massive amount of time if translated manually๐บ๏ธ .
The remaining files are not translated since they don't contain much text to translate such as System.json
or there is nothing critical to translate such as Animations.json
.
๐ก
Usage Translate the dialogs files
Note: the program uses a Google Translate API to perform translations, thus a stable internet connection is required.
- Clone this repo:
git clone https://github.com/davide97l/rpgmaker-mv-translator
. - Install dependencies:
pip install -r requirements.txt
. - Copy
CommonEvents.json
and all theMapXXX.json
files from you gamedata/folder
to this projectdialogs
folder. - For a basic usage, run the command:
python dialogs_translator.py --print_neatly --source_lang it --dest_lang en
- Most important arguments explanation:
source_lang
: (string) the original language of your game (en - english, it - italian, zh - chinese, fr -french, sp - spanish, de - deutsch, ...).dest_lang
: (string) the language you want to translate your game.verbose
: (bool) if True, show each original and corresponding translated sentence during execution.input_folder
: (string) the folder containing the files to translate (default:dialogs
).print_neatly
: (bool) if True, adapts the translated sentence to fit the dialog window. This is because, by default, each dialog window row is a unique string itself and its length can change after translation. This option also improves the translation quality because each dialog window would be translated at once without translating each row one by one which causes loss of context. If you are curious how this algorithm works you can check this blog.max_len
(int): Used only whenprint_neatly
is True. Indicates the length of the dialog window.
- After execution, which may take a while depending on the number and size of files, your translated files will be saved in
data_xx
wherexx
is the code of the translated language (dialogs_en
if--dest_lang en
). - Copy back the content of
dialogs_xx
to the folderdata
of your game replacing the old files.
Example of print neatly with max_len=32
translating from english to italian:
|The hunter has won the battle |
|and unlocked a new secret |
|skill. |
After italian translation without print neatly:
|Il cacciatore ha vinto la batta|glia
|e sbloccato una nuovo segreto |
|potere. |
After print neatly:
|Il cacciatore ha vinto la |
|battaglia e sbloccato un nuovo |
|potere segreto. |
Translate the object files
- Copy the files you want to translate among
Armors.json
,Weapons.json
,Items.json
,Skills.json
,Enemies.json
,MapInfos.json
,Classes.json
,States.json
,Actors.json
from you gamedata/
folder to this projectobject
folder. - For a basic usage, run the command:
python objects_translator.py --source_lang it --dest_lang en
- The arguments are the same as the ones used by
dialogs_translator.py
, and print neatly is automatically used in the description field. By defaultinput_folder
is set toobjects
). - After execution, your translated files will be saved in
objects_xx
wherexx
is the code of the translated language (objects_en
if--dest_lang en
). - Copy back the content of
objects_xx
to the folderdata
of your game replacing the old files.
Support
If you found this project interesting please support me by giving it a
More
Check this link to play some of my RPGs