Translation Engine – MV Plugin

      29 Comments on Translation Engine – MV Plugin

This plugin does not have any dependencies.

This plugin provides game developers with tools necessary to easily and effectively translate and localize all the text within their game. This is through both an in-game tool that can be used while playtesting and a powerful notetag system for translating database inputs.


Look at the code or download the Plugin:


=======================================================================
Translation Engine
SumRndmDde
=======================================================================
This plugin provides game developers with tools necessary to easily and
effectively translate and localize all the text within their game. This is
through both an in-game tool that can be used while playtesting and a
powerful notetag system for translating database inputs.

=======================================================================
Installing the Plugin
=======================================================================
Here’s a quick overview on how to properly install the plugin:

1) Place this plugin at the bottom of your plugin list!

2) Fill out the [Languages] plugin parameter with all the languages the
game will be translated to.

3) Set the [Source Language Name] plugin parameter to the name of the
language used by the text by default.

4) Finally, set [Provide Option?] ON or OFF based on whether or not you
wish to provide the player with the option to change the language in
the options menu.

=======================================================================
How to open the Translation App
=======================================================================
While playtesting, press [CTRL + T] on Windows or [CMD + T] on Mac in
order to open the “Translation App”. This is an app/editor that allows
one to set up translations while playing the game.

Once the app is open, it will act as a separate window from the game
window.

Here are a few rules that apply:

1) While the app is open, the game will only show the default text. You
may not view translations unless the tool is closed. This is to help
avoid confusion while editing since changes will not be applied until
the app window is closed.

2) The game cannot completely shut down unless both the game window and the
editor window are both closed. If, for some reason, you cannot playtest
your game, be sure the Translation App is closed!

3) The app will save its position when it is closed. If you open it again,
it will appear where it left off! However, once you close or reset the
game, its position will also be reset.

=======================================================================
How to use the Translation App
=======================================================================
To start translating, first select the language you wish to translate to
in the top-right corner of the app. Next, select what aspect of your game
you wish to translate. All four choices appear as tabs you may select from
the top of the editor. They are:

~ Messages
~ Commands
~ Terms
~ Custom Translations

Here’s an explanation of each one:

=========================
Messages
=========================
This allows developers to provide translations for text within “Show Text”
events and “Show Scrolling Text” events. While the “Messages” tab is open,
the Original input will update itself to the current text displayed within
one of the aforementioned events. If neither of those events are active,
the input will remain blank.

While Original input box has text in it, one may create a translation for
the displayed text in the Translation input box. Simply type the text in
and it will save automatically!

Keep in mind the translations should include the desired text codes!

Also, this mode works great with the Event “Test” feature!

=========================
Commands
=========================
One may provide translations for any command windows using the “Commands”
tab. While this tab is open, all one must do is have an active cursor on
a command window, and the Original input will update itself. Insert a
corresponding translation into the Translation input to translate the
command!

Some windows that fall under the category of “command windows” include:

* The title screen command window
* The menu command window
* Command menus in other scenes
* The options window
* The game end window
* Event choice windows

This, of course, will also work with command windows added through
external plugins. Don’t be afraid to experiment!

=========================
Terms
=========================
This section allows developers to translate the terms and messages from
within their project’s Database’s Terms tab. All the Base Statuses,
Parameters, and Messages can be translated here. First, select the “Term”
from the dropdown list. Next, input a translation based upon the provided
Original input that contains the current text for that term.

Similar to the previous tabs, once you insert the text into the Translation
box, it will immediately be saved!

When one begins his or her translation process, it is recommended he or
she starts the process here. This tab provides the capability to make a
large number of helpful base translations!

=========================
Custom Translations
=========================
Custom translations allow for developers to set a word to phrase to
specifically translate into another. This is primarily used to translate
text that cannot be translated through any of the other mediums provided
through this plugin. Use this as a last resort for anything you cannot
translate normally!

In order to add a translation, simply fill out both the “Original” and
“Translation” inputs, then press the “Add Translation” button. This will
add the pair to a list of custom translations displayed on the lower-half
of the page.

In order to delete a translation, fill out the “Original” input with the
original text for that translation, then press the “Delete Translation”
button. This will remove that translation pair from both the list and the
game itself.

=========================
RegExp Translations
=========================
Custom translations can also use Regular Expressions. As opposed to the
normal custom translations which require exact matching in order to work,
Regular Expressions can allow for more dynamic checks and replacements from
within larger bodies of text.

In order to setup a Regular Expression, simply set the Original input to
have a Regular Expression using the typical JavaScript format:

/expression/flags

For example:

/Harold/ig

This example will check all texts for this match and apply a replacement
in order to replace this with the text defined in the Translation input.

=======================================================================
Translating the Database
=======================================================================
The second part of this plugin revolves around translating Database inputs
by using a notetag setup to translate specific fields. This can be done
with Actors, Classes, Skills, Items, Weapons, Armors, Enemies, States, and
Tilesets.

To do this, use the following notetag structure:

[PROP]:VAL
[PROP]:VAL
</LANGUAGE Translation>

[LANGUAGE] => The name of the language this is a translation for.
[PROP] => A field name for this data object.
[VAL] => The translated value for that data object’s field.

=========================
Example
=========================
This may appear to be a little confusing, but here is an example that one
may use to translate an Actor’s fields:

<Spanish Translation>
[name]:Haroldo
[nickname]:Harldy
[profile]:Este es el héroe del juego.
Le gusta caminar por la playa y jugar juegos.
</Spanish Translation>

This means, when the language is set to Spanish, this Actor will have the
following changes:

Name will be set to “Haroldo”.
Nickname will be set to “Harldy”.
Profile will be set to “Este es el héroe del juego.
Le gusta caminar por la playa y jugar juegos.”

=========================
All Common Fields
=========================
Here is a list of all the common field names you may wish to use
corresponding to each Database section:

[Actors]
<LANGUAGE Translation>
[name]:
[profile]:
[nickname]:
</LANGUAGE Translation>

[Classes]
<LANGUAGE Translation>
[name]:
</LANGUAGE Translation>

[Skills]
<LANGUAGE Translation>
[name]:
[description]:
[message1]:
[message2]:
</LANGUAGE Translation>

[Items, Weapons, Armors]
<LANGUAGE Translation>
[name]:
[description]:
</LANGUAGE Translation>

[Enemies]
<LANGUAGE Translation>
[name]:
</LANGUAGE Translation>

[States]
<LANGUAGE Translation>
[name]:
[message1]:
[message2]:
[message3]:
[message4]:
</LANGUAGE Translation>

[Tilesets]
<LANGUAGE Translation>
[name]:
</LANGUAGE Translation>

=======================================================================
Different Images Based on Language
=======================================================================
One may load alternative images based on the game’s language. To do this,
one must use the following format for the image file name:

IMAGENAME_[LANGUAGE]

To allow the plugin to recognize that an image can be translated, first
set the original image’s file name to:

IMAGENAME_[Original]

Then set up names for all your alternative images:

IMAGENAME_[Spanish] IMAGENAME_[Portuguese]

Be sure to set up images for all languages in your game!

=======================================================================
Plugin Commands
=======================================================================
In order to force the game to use a specific language, the following
plugin command must be invoked in an event. This can be different for
every game file.

SetTranslation LANGUAGE

For example:

SetTranslation Spanish

=======================================================================
Once a language is forced, it cannot be changed in the options menu.
In order to remove a forced translation, use the plugin command:

RevertTranslation

=======================================================================
Checking Current Language
=======================================================================
In order to change events based on the current language, the following
script condition needs to be used:

ConfigManager.getLanguage() === “LANGUAGE”

For example:

ConfigManager.getLanguage() === “Spanish”

=======================================================================
End of Help Section
=======================================================================


Screenshot:

29 thoughts on “Translation Engine – MV Plugin

  1. McCABRUS

    Nice plugin!!

    There’s a way to select a language before the Main Title appears? and remember the language? in order to not show the first language selection before the Main Title?

    Thx 😀

    Reply
  2. ephix32

    Thanks for this amazing language plugin! On my game I doesn’t have Main Title, and no menu at all (Singel player game, kind of horror game. Find object and so on…), but I can’t get plugin command to work :/
    Nothing happens when I use “SetTranslation Spanish”. (Did copy from help file, and also I use your demo project map for testing).
    Maybe I do something wrong ? 🙂 Did try to turn off and on set [Provide Option?] but nothing. If this is on It says English even if I run plugin command on a event .

    Would appreciate for assist/help, or someone 🙂

    Reply
  3. Eduardo

    SRD!! I dont know if the SetTranslation LANGUAGE plug in command forces a language for the game or just for the event that it is placed but I cant get it to work either way. Can you help?

    Reply
  4. GokuRevolucion

    Hello,
    I’ve been using his plugin but I wish I could stop the game to be able to translate it. The bad thing is that in the automatic scenes it can never be translated since the text changes fast.
    It won’t work if you are using yanfly’s Message Core plugin since the text will be changing automatically.
    Could you fix that please?

    Reply
    1. Ricardo Magalhães

      fund a solution 🙂

      //==============================
      ImageManager.loadBcom = function(filename) {
      if(ConfigManager.getLanguage() === “Português”) { return this.loadBitmap(‘img/battlecommands/PT/’, filename, 0, true);
      }
      if(ConfigManager.getLanguage() === “Español”) { return this.loadBitmap(‘img/battlecommands/ES/’, filename, 0, true);
      }
      if(ConfigManager.getLanguage() === “Français”) { return this.loadBitmap(‘img/battlecommands/FR/’, filename, 0, true);
      }
      if(ConfigManager.getLanguage() === “English”) { return this.loadBitmap(‘img/battlecommands/EN/’, filename, 0, true);
      }
      };

      //=============================================================================

      Reply
    1. max

      Plz someone reply to this one. I have the exact same problem with this plugin! No matter how hard I try, the custom translations doesn’t translate the texts of this plugin!

      Reply
  5. Mia

    This is an amazing plugin, but if I used another Source Langauge, like French + English translation, the option menu show English twice. How can I change that so that the Source Language name appears?

    Reply
    1. Jonathan.B

      I think I have a solution, modify the file as follows (make a copy before modifying it):

      A) If the goal is to change the first (and possibly false) “English” to the name of the source:

      Line 1743: change ‘English’ to the name of the source (or to a custom value).
      Before:
      return value === 0 ? ‘English’ : $.languages[value – 1];
      After:
      return value === 0 ? $.sourceName : $.languages[value – 1];
      After #2:
      return value === 0 ? ‘Default Custom Value’ : $.languages[value – 1];

      B) If the goal is that the choice menu does not offer the source language:

      Line 1749: change the value of “Value” from 0 to 1.
      Before:
      value=0;
      After:
      value = 1;

      That’s all.

      Tip: You can use Brackets or Notepad++ (there are others on the web) to see the line numbers. They also color the text according to the language used.

      Reply
  6. Pingback: Comment traduire une fiction interactive ? – Fiction-interactive.fr

  7. Roommck

    Can somebody help me?
    I installed the plugin and it worked fine on the windows, but when I moved it on an .apk file the option for change the language doesn’t appear on the menu screen, any ideas of what is happening? (sorry for english)

    Reply
  8. SMO

    I can see “Language” in the options menu but I can’t see the current language in front of it, I am also unable to change the language even through the plugin command SetTranslation Spanish . Any ideas guys?

    Reply
    1. SMO

      Oh, I found the problem, I had to erase the “config.rpgsave” which was in the paste “save”, now it works perfectly. Thanks for more this amazing plugin SRDude!

      Reply
  9. Raen Andaleio

    Hi, this is an absolutely awesome plugin, but I’ve noticed that the image translation does not always work. In my case, I can’t translate the Game Over screen. When I have two images GameOver_[Original] and GameOver_[English], it just tells me that the image img/system/GameOver could not be found.

    Reply
    1. Raen Andaleio

      Sorry, another question: is there any way to access dialogue translations from the editor? I have dialogues depending on the current party members and optional items in the inventory, and it’s kind of tedious to have to play through the same scenes again and again with all possible different configurations. Makes it easy to miss something.

      Reply
  10. Gclub

    It is a very amazing website. It is good, complete with all the information that gives us more knowledge. It’s really awesome.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *