Translation Manager Tool (multilingual Support on tools)

The multilingual support address the multilingual aspects in different manner:

Poedit Translation Editor

The translation of the texts in the application source code is performed through text-based files in .po format. These files contain a list of the original text strings in various files and it is possible to define the corresponding tradition in a certain language.

A .mo compilation file is associated with each .po file.

For each language into which you want to translate the application code, there is a couple of these files.

/locale/[language code*]/LC_MESSAGES/messages.po

/locale/[ language code*]/LC_MESSAGES/messages.mo

* the language must have an acronym such as "it" for Italian, "fr" for French, etc ...

The .po files are structured as a text file that associate a textual string present in the source code identified with the file name and the line number with the content of the text both in the original language and in its translation.

Example, translation in Italian language:

#: management/addWidgetWizardInclusionCode.php:13

msgid "Data and widgets"

msgstr "Dati e widget"

 

#: management/addWidgetWizardInclusionCode.php:14

msgid "Check and summary"

msgstr "Controllo e riepilogo"

The string traduction can be done manually through an editor tool called Poedit Translation Editor.

This tool allows you to create, modify and compile .po files.

The graphical interface is presented as a table with two columns, in the first there is the list of the original text strings and in the right column you can enter a translation of the chosen language. The tool presents suggestions on the chosen translation.

Poedit Translation Editor is available in various versions with different prices, both free and paid, which define a limit number of strings to be translated.

Poedit Translation Editor Link: https://poedit.net/

 

Translation manager

A tool has been created for the management of the tradition of textual strings in various languages using a table in the database that manages a list of strings, for example the title of the menu items, allowing their translation into a set of languages defined by the program configuration .

The table structure consists of an incremental numeric id, the string value in the original source code, the language code and its translation.

The program prevents the creation of duplicate original text + language + tradition elements.

While for each original text there is a line with a translation for each language.

The user has the possibility to manually add new translations through the command "Create New Text translation".

It is also possible for the user to modify an already existing translation using the "Edit" button associated with each element of the table. it is possible to change the language and the translation, but not the original text.

To ensure faster updating of the translation of the application menu items, there is a command called "Import Menu" that allows the user to select a type of menu and the code of a language, it will create a list of the original texts , with the indication of the language, associated with a series of blank lines that the user can manually fill in with the translation.

In case of adding new elements of a menu, if a menu has already been imported, only elements that are not already present in the translation menu table will be added.