Localization

Localization and LiveTimeLiveTime natively supports many languages out-of-the-box and is constantly adding new translations in every release. LiveTime currently ships with 8 languages, including English, Chinese, Spanish, French, German, Norwegian, Romanian and Polish. The inherent flexibility of LiveTime’s internationalized framework means that it is very easy to customize the application and add new translations as required. While most applications require you to define a default language, LiveTime is able to automatically deliver the appropriate interface to each user based upon the locale of the computer accessing the application. This allows one central LiveTime instance to service your organization globally in the user’s native language.

Framework

The LiveTime internationalization framework is very intuitive and flexible, allowing users to localize it for a particular language and character encoding scheme. Textual elements, such as status messages and the GUI component labels, are not hardcoded in the program. Instead they are stored outside the source code and retrieved dynamically. Culturally-dependent data, such as dates and currencies, appear in formats that conform to the end user’s region and language.

Since all user interface content is externalized into a single properties file encoded into an appropriate character set, translations only require a simple text editor. By conforming to the correct naming conventions of the properties file you can add as many translations as you desire. For instance if you create a translation for French you would create a text file called LiveTime_fr.properties. It’s that simple.

Messages are simply translated based on defined classes within the application. For example the following classes are defined below in English:

ClassName.greetings=Hello
ClassName.farewell=Goodbye
ClassName.inquiry=How are you?

As you can see, keys such as ClassName.greetings represent internal string markers, with the actual text values on the right. If we wanted a French version, it would be represented as:

ClassName.greetings=Bonjour
ClassName.farewell=Au revoir
ClassName.inquiry=Comment allez-vous?

Compound messages are also permitted to allow for more dynamic translations at runtime. This approach allows any organization to add translations very quickly. Typically, each new translation takes approximately one week. Simply drop the new language inside the application and restart to make the translation available to all users.