Author Topic: [Guide] - Translate and Add Support for new Language  (Read 56808 times)

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4453
    • View Profile
    • Multi Commander
[Guide] - Translate and Add Support for new Language
« on: July 14, 2011, 17:24:55 »
If you want to create translations of texts used Multi Commander you can do that in 2 ways. Using the built in language editor or by editing the language files manually using your favorite text editor.

Getting Started
All language files are stored as language packs. If you want to submit the changes you should not unpack them and edit them.
What you do is to start the built in language editor. This in Unpack all language files into the userdata location.
(C:\Users\<username>\AppData\Roaming\MultiCommander\UserData\Languages\)
After that you can edit the unpacked files. When done select Export/Send from the language editor to generate a new language pack.
The Generated language that is sent to be included/update in MC has a different structure then the file layout you see and the layout of the Language Pack.
So thats why you should use the built in Export/Send function. even if you edit the files externally.

Add Support for New Language
Open the Language Editor and in the language list select "Add New Language"
A dialog will be shown where you specify the name and properties of the language.
(Make sure that culture name code is provided, Without it the language will not work)

Add Support for New Language - Manually
Open the Language Editor so that the language files are unpack.
Then go to C:\Users\<username>\AppData\Roaming\MultiCommander\UserData\Languages\ and add en entry in the SupportedLanguages.xml file

Translate - Built in editor
Start the language editor by starting "Menu->Extensions->Language Editor"

You will see 3 dropdown lists. The first is Plugin type, second is Plugin/Extension, third is Language.
When you select a language other then English you will see the English text in italic and red color.
and when you writing a translation an item will turn black and bold. Bold indicate items that are changed but not saved.

The category name is just placeholders and do not need to be translated.

If an text item is not translated Multi Commander will fall back to the English file for that text item.

The language file will be save as "<AppOrPluginName>_lang_<culture code>.xml" ( eg. MultiCommander_lang_de.xml )

Not all text must be translated for it to work. When running Multi Commander with none-English language set. If it does not find a text string in the set language it will fall back and use the English for that string.

Translate - Alternative way
If you want to edit the files using an external editor. You first need to duplicate the english files.

When opening the language editor it will unpack the language file into C:\Users\<username>\AppData\Roaming\MultiCommander\UserData\Languages\
(or type ":gouserdata" in the command line field)

Then search the for all "*_lang.en.xml" file and then copy them.
Then rename them with the correct "culture name" code  (For example for german that would be *_lang_de.xml, for swedish it is *_lang_se.xml )
Then after that you can edit them using any text/xml editor.
Just make sure the file are save using UTF-8 is there are any special characters.

If you do not translate one text item. Then remove that item from your translated language files. Do not keep it in english in your translated file. Because MC will automatically pick up the english text if a translated item does not exists. Also you will easily find what text are missing translation later on if you open the built in language editor. Since all text that are missing translation is shown in red.

Generate Language Pack
To generate a language pack file that contains all the language files for a specific language, Press the "Export" button in the language editor. It will generate a language pack zip file with all the language file for the selected language. The files in the zip file are organized in a way to fit the build process of Multi Commander. So when sending in a Language pack to be included into the release. This format is preferred.

Submit Language Changes
If you create a new translation for Multi Commander we would be happy to included that into the installation of Multi Commander.
Even if the translation is not 100% complete we will accept it into the release.

First make sure the language you want to export/send is the selected one. Then press the Export/Send button.
You will now see an export dialog that allows for a couple of options on language pack format and how to submit it.
When submitting a language pack to be included into Multi Commander you must select one of the "Internal format ..." options.

Submit - Using File
If you want to the language pack in a file that you can send your self, Then select "Internal Format (Submit to developer using E-mail)"
You then send that file to me using email

Submit - Using HTTP
You can also have Multi Commander submit the language directly to the server. Then select "Internal Format (Submit to developer using HTTP)"
When submitting using HTTP you will also have to enter an Submit Key on the submit page that is shown when you press OK.

If you do not have an Submit key, Send me an e-mail and I will give you an personal submit key to use.
« Last Edit: September 13, 2013, 07:19:54 by Mathias (Author) »