processing/processing — pull request #2084 by voidplus (2013-09-17 12:00:35+00:00)
Title: Internationalization (i18n)

Hello, Hallo, Salut, Cześć.

**How to change the language?**
Change the language in the preferences ```CMD + ,``` of Processing.

**How to use a translation?**
Just type ```Language.text("object.name");```, anytime, anywhere. (It uses the singleton pattern and it's independent (It uses a separate file ```/lib/language.txt``` to store the favorite language).) You find the ```object.name``` in the package ```processing.app.languages```, where every language is located as a ```properties``` file. If the specific language doens't have the translation (i.e. ```menu.file``` in ```PDE_fr.properties```), the system use the default translation of ```PDE.properties```. The default language is ```English```.

**How to add a new language?**
1: Add the language [ISO 639-1](http://en.wikipedia.org/wiki/ISO_639-1) code ([list of codes](http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)) and name in ```processing.app.Language```, i.e.:

```java
// de, Deutsch
this.languages.put(Locale.GERMAN.getLanguage(), Locale.GERMAN.getDisplayLanguage(Locale.GERMAN));
```

2: Add the file ```PDE_de.properties``` with translations in ```processing.app.languages```.

**Note**
It's a initial version of that extension. I hope, that you like it.

Happy coding,
Darius