Internationalization

The AdminWeb supports different languages. Currently English, Swedish and Vietnamese are supported.

Translation Process

The process of translating SignServer into a new language could be like the following:

  1. Copy the latest language file for the English language languagefile.properties to a new file in the same location but with the language code of the new language, for example "ut" for Utopian: languagefile_ut.properties

  2. Edit faces-config.xml and make sure the new language code is listed as an available language:

    <application>
    <locale-config>
    <default-locale>en</default-locale>
    <supported-locale>en</supported-locale>
    <supported-locale>sv</supported-locale>
    <supported-locale>ut</supported-locale>
  3. Update the relevant information in the beginning of languagefile_ut.properties and fill in the name of the new language in the LANGUAGE_ENGLISHNAME and LANGUAGE_NATIVENAME properties.

  4. Translate each property into the new language.
    Note that the property file must be in ASCII or ISO-8859-1 format.
    A Java Properties file editor can be used to edit the file so that non-ascii characters are stored in escaped form.
    An alternative is to use the Java command native2ascii to convert the file to and from the operating systems native encoding and ASCII. That way the file could be edited for instance using UTF-8 and then at the end converted to ASCII with escaping.

  5. Build SignServer if the changes were made in the sources and then deploy or simply deploy if the changes where made in the binary (i.e. .war file) distribution.

  6. Test SignServer with a web browser (or operating system) configured to prefer the new language code and make sure that all pages are translated.

File Locations in the Sources

  • modules/mod-enterprise/SignServer-Admin-web/src/main/resources/org/signserver/admin/web/languagefile.properties

  • modules/mod-enterprise/SignServer-Admin-web/src/main/webapp/WEB-INF/faces-config.xml

File Locations in Binary Distribution

  • Inside lib/SignServer-Admin-web-x.y.z.war: /WEB-INF/classes/org/signserver/admin/web/languagefile.properties

  • Inside lib/SignServer-Admin-web-x.y.z.war: /WEB-INF/faces-config.xml