A rethought metronome. Download it and try it right now!
Language:

Development

Maestro Language Team

Introduction
Maestro program do not have any language at all... it in fact reads language data from a file which name ends with “.lang” and conforms to a so-called “property-file”. A Property-file is a Unicode text file that has one or more lines in the form:
PROPERTY=VALUE
without spaces between these items.

There are two places for Maestro to find language files:

1- The “langs” directory in Maestro installation folder: here you can find the Maestro system language files, or, in other words, the files that are shipped with Maestro by default. One should never edit, erase or change these files in any way, as should never add new files to this folder. However, the files in here are valid and tested ones and can be useful as example and learning room.

2- The “langs” directory in Maestro user folder. The Maestro user folder is a hidden folder called “.maestro” that can be found inside the home folder of the user. It is user-specific. This folder is created automatically the first time Maestro runs and is destinated to store the user personal data, like configurations and profiles. Also, it can hold user languages, skins and other items, although the folders for them are initiated empty. Note that this is the only folder where one can add and modify languages files. Use this folder for developing new language files.

Remarkable it is that you can do that from inside Maestro program, while it is running: use Maestro Settings window (found by clicking on Settings Button, in Main Window) and activate the Languages tab. There you can find the Import New Language functionality, that imports a valid language file to the user language folder (never the system language folder!!). But the file must be valid, or, in other words, it must be a property-file that declares all the language properties (see below how to create a valid language file). If it is not valid, the file will be ignored.

Naming the File
To Maestro program, the property text file name must end with “.lang” and be a UTF-8 Unicode text file. However, we recommend the file name structure below:/p>

"<language>_<country>-<optional name>.lang", where:

<language> is the ISO 639-1 two characters code name for the language (find a full list here - http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes).
<country> is the ISO 3166-1 alpha 2 two characters code for the country (find a full list here - http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2).
<optional name> as it was said, it is not obligated, however it is recommended for the user to know which is the line of you language file. Example: your proposal is to write a classical language file, that represents a formal expression of the interface?? Do you want to write a language file that represents a youth way of speaking, with its idiomatic expressions and proper language? Do you want to use your country language, but expressing a specific region way of thinking? All of them is possible and Maestro admits a lot of files of the same language exactly to remain open to all these possibilities!

Creating File Content
A correct language file is not only a simple property-file. It is a property-file that declares a lot of obligated properties and associates to each of them a non-empty value. Each value is a small text that is read to memory by Maestro and put in the place it is supposed to live during running time. The properties are fixed capital letters strings that serves solely as a unique hash code for Maestro to identify to where each custom text belongs (and, of course, to avoid a big messy language disaster!!).

When creating a new language file, please pay attention on testing it very carefully, running Maestro with it, trying all the screens and buttons, opening all windows and its tabs, changing skins and sounds and forcing some error cases to see how messages appears.

The list of properties and an explanation of what each one means can be found in the files below. Try to put them in the order it is listed. Remember to avoid leaving empty values in properties and to maintain capital letters in all properties. If Maestro can import and run your file, then you have a valid language file. If language import or load fails, seek for some missing property, misspelled or empty-valued one, correct it and try again.
Good luck, Translator!!