Drago is currently translated into 13 languages: Chinese (simplified, traditional and Martian), Czech, English, French, German, Hungarian, Japanese, Korean, Polish, Russian, Slovak, Spanish, Turkish and Vietnamese. The available translation files may be found in the install directory.
This page will give you some information if you want to add your own translation.
The translation files are text files with ini-like format:
The left side is in English, the right side is the translation. The file is organized by windows, dialog boxes, messages, etc. To start a translation, choose the available language closest to your own language or use the English translation file.
As Drago is Unicode enable, the translation files are encoded using UTF-8 format which enables to store any character from any language. As long as you correctly see the translation in your editor and in Drago, you should not worry about encoding.
1/ Use NotePad, or any text editor UTF-8 enable.
2/ Use LangPad. I have written this tool to help translators of Drago. It handles directly UTF-8 and has some features which I hope may be useful.
LangPad is very simple and very close to NotePad in what concerns standard editing. The only things worthy to mention are:
Hope this help!
You may see three weird characters at the start of the translation files. These three characters are "´╗┐" and have a special meaning. They tag the files as being UTF-8 and enable for instance NotePad to open these files directly as UTF-8 without specifying it. Depending on the editor you use, they may appear or disappear. As long as you see your translation correctly in Drago, all is ok.
Strings starting with a semicolon ";" are comments, giving some explanations or the name of the dialog where come from the strings to translate. These comments do not appear in Drago and can be ignored when translating.
The string $Language stores the name of your language as it will appear in the option dialog. There are 2 possibilities: put it in English (anybody can understand it) or put it your language (only the ones who are interested in can understand it). For instance: 'French' versus 'Franšais'.
The string $HelpFile is initialized with the name of the English help file. Another choice is the French help file.
The string $TranslationCredit stores a message appearing in the About dialog box with url and mail address active links. It can be initialized with some message, your name, mail or website (at most 3 lines separated by \n). Take a look at the current translations to get the idea.
Some few strings in English must be translated in other languages with different words. For instance, "game" is translated into French with "partie" or "jeu" depending on the context. The different meanings are named by the English string followed by a number in the lng file, for instance Game and Game2.
If you must disambiguate some string, please tell me. I will update the program to take this into account.
The same remarks applies for character case. The functions accessing to the language files are not case sensitive. So, some strings have different keys to cope with different cases. Refer to context or another translation file.
Some strings include the character % followed by a letter (%s, %d, %f) possibly with some value between % and the letter (%2.2f). This is a notation used in a lot of programming languages and is replaced at run time by a string or a numerical value.
It is important to keep unchanged this notation.
Some strings may include several % and if ever your translation needs to reverse the order of the values, you can used the notation used in this example from Turkish:
Page %d of %d=%1:d sayfan─▒n %0:d.si
As usual, in case of any doubt, please contact me.
Some strings appear in the print section and are related to the formats of headers, footers and titles. Some keywords, starting with a slash character (e.g. \game or \left), enable to specify the format and are not to be translated.
Some strings to be translated are shortened (two currently). They are related to the longuest messages and end with "etc.". Please refer to the English translation file to get the complete message.