Internationalization with non-Latin text

The Ubisecure SSO login UI can show non-Latin text. However the Ubisecure .properties files are encoded in ISO-8859-1 format, also known as Latin-1. If the target language includes non-Latin-1 characters, they must be expressed by using Unicode escape characters, e.g. \uAAAA where AAAA is a hexadecimal index of the character in the Unicode character set.

Below is an example using Spanish, where Unicode escape sequences are not required.


Listing 1. Localized Latin text (custom/messages/uas_es.properties)
USERNAME = Usuario: 
PASSWORD = Contraseña:


The standard Sun Java JDK includes a tool called native2ascii with which a non-Latin-1 text file can be converted to a .properties file.

Below is an example for Russian. For Cyrillic Russian text, Unicode escape sequences are required. 

To add a new language, you must reference the new language file in the message.index by adding one line (Listing 2), add a link to the new language on the template (Listing 3), and finally add the localized message text (Listing 4).


Listing 2. Cyrillic text (custom/message.index)
uas_ru = messages/uas_ru.properties


Listing 3. Cyrillic text (custom/tempates/default.properties)
locales = en, fi, ru
localenames = in English, Suomeksi, \u041F\u043E-\u0440\u0443\u0441\u0441\u043A\u0438


Listing 4. Cyrillic text (custom/messages/uas_ru.properties)
USERNAME = \u041B\u043E\u0433\u0438\u043D:
PASSWORD = \u041F\u0430\u0440\u043E\u043B\u044C:
NEXT = \u0414\u0430\u043B\u0435\u0435
CANCEL = \u041E\u0442\u043C\u0435\u043D\u0430