1.1. Brasato and application GUI messages

The Brasato application framework offers full internationalization (i18n) support. Every GUI message that appears in the user's browser, e.g. to navigate, error messages etc., are computed by the i18n system based on the user's language configuration .

Translations, as we call these GUI messages, are stored in Java Properties files on the file system as part of the source code of your application. Each Java package can contain a directory _i18n. There you will find the localization files, e.g. LocalStrings_de.properties for German translations. In the context of the translation infrastructure we call the package to which the translation belongs the bundle. Translation files in org/olat/core/_i18n/ are the translation files for the bundle org.olat.core.

A translation message for a certain bundle and language consists of two parts: the key to identity the message, and the translation itself. They are separated by a "=".

The i18n system is fully UTF-8 capable. This means that every language and character set is supported: Chinese, Russian, German or English - the framework can deal with it. Note that some languages are written from right to left. This is another topic and has nothing to do with the i18n system. The RTL top is a layouting problem and is thus coverd in the layout documentation "Understanding the Brasato Layout".

The i18n system features an easy to use translation tool that allows users to translate new languages or customize an existing language pack for a certain use case. The system does also provide easy to use workflows to enable and disable languages, import and export language packs and to create or delete languages.

Java properties files are stored in the ISO-8859-1 encoding. Therefore, everything different than US-ASCII must be properly encoded. Line breaks and other special characters like "!" must also be encoded as described in the Java Properties spec. Best is to never write properties files yourself. Just use the integrated translation tool that takes care of everything for you.