## Languages

### Supported languages

By selecting the menu item "Edit / Config ... / Language" you can set the language for the NumericalChameleon. The selection has direct impact on both the GUI and the help system.

The NumericalChameleon 2.0.0 supports the languages English, German, French, Portuguese, Spanish, Greek, Hebrew and Turkish for the graphical user interface.

The online help is available in both English and German.

### Support for a new language

The NumericalChameleon uses Java-typical resource bundles. Resource bundles are just flat text files. Each line in a resource bundle is a key/value pair which describes an element of the graphical user interface. The Resource-Bundles are stored in the ISO-8859-1 character set and they are located in the sub directory called "data/lang".

You can edit the resource bundles by a text editor, but it has turned out that it is useful to use a suitable software for the translation job. Such software is the free "Attesoro" for example. You can get the software for free at http://ostermiller.org/attesoro/. Attesoro allows you to enter international characters (Unicode) directly and it store the files in an appropriate format the NumericalChameleon (or any other Java application) can read. You find a detailed description of Attesoro on the Attesoro homepage.

The files you should translate for the NC are called resource*.properties - it describes all elelments of the graphical user interface; categories*.properties - it describes all categories; iso3166*.properties - it contains all country descriptions and iso4217*.properties - it contains all currency descriptions. You don't have to translate all files at once, if a file or an entry in a file is missing (in other words, it's not translated), English will be used.

For a new language, an appropriate menu entry at the language menu doesn't exist. Therefore you have to edit the "`nc.properties`" by hand. If you have done this, just restart the application manually. If you have finished your translation, just drop me an email and I will add your language to the next release.

For a german graphical user interface, edit the nc.properties:
`language=de`

For an english graphical user interface, but a german help, edit the nc.properties:
`language=en`
`help=de`