Language Support for Atrium



Beginning with Profound Version 5, Fix Pack 5.0, all Atrium messages or strings are configurable for different languages or cultures.  You can customize these strings yourself, or even define new languages with configuration options.

Configuring a Language

By default, the Atrium Menu Interface uses the English US (en_US) language.

There are two ways to set the language used by the Atrium interface to something else.

  • An IFS settings file sets one language to be displayed for all users.

  • Setting a field under users' Atrium profiles, allowing different languages per user. (This method is available with Profound UI Version 6 Fix Pack 1.0 and later.)

Method 1 - Settings File

This method sets one language for all users.

To begin, create a new JavaScript file–for example, settings.js–and place it in the following IFS directory:

/www/yourInstanceName/htdocs/profoundui/userdata/extension/atrium/

Replace "yourInstanceName" with the name of the Profound UI instance that was chosen during installation. Usually the name is "profoundui", in which case the path would be /www/profoundui/htdocs/profoundui/userdata/extension/atrium/.

The configuration options set in the Atrium settings.js file apply only to Atrium. If you want to configure languages for Genie or Rich Display sessions, see Language Support.

To set the language, specify a value for pui.language in your Atrium settings file. For example, to set the language to "French, France", you would code the following:

pui.language = "fr_FR";

Setting pui["language"] is all that's necessary for Atrium to provide text or messages in the language of your choice. (Note: not all messages and strings have been translated for every language yet. For those not yet translated, you can define them yourself as shown below.)

Method 2 - Set language in the ATUSERSP.AULANG field

With this method, different users can use different languages. (This method is available with Profound UI Version 6 Fix Pack 1.0 and later.)

To set a single user's language, find the user in the ATUSERSP physical file, and set the AULANG field to a valid language identifier. Valid language identifiers for Atrium are listed in a section below: Languages Provided for the Atrium Menu Interface.

For example, to setup a single user whose ID is 2 to use Dutch, the ATUSERSP file can be updated with the following SQL statement:

UPDATE InstName/atusersp set aulang = 'nl_NL' where auuser = 2

"InstName" should be the library where your instance of Profound UI is installed. The default is PROFOUNDUI.

Then, when the user reloads Atrium, the interface will be in Dutch.

The pui.language setting must not exist in any JavaScript file in userdata/extension/atrium/, or else this method will not work.

Starting with Profound UI 6 fix pack 8.0, if AULANG is set in the ATUSERSP table, it will be passed to Rich Display applications via the 'lang' query string parameter.

Changing the Language Identifiers from Older Versions with Existing Translations

Atrium includes a translations file, ATNTRANSP, which defines alternate texts for navigation and toolbar items. Each navigation/toolbar item can display different languages, depending on the users' language setting in ATUSERSP.AULANG. For a translated text to appear, the AULANG field data must match the ATNTRANSP.ANTLANG data. For example, if a user's AULANG is 'de_DE' and there are translations defined for the navigation/toolbar items, then the entries in ATNTRANSP.ATNLANG must also be 'de_DE'. Older versions of Profound UI could only use 3-character language fields. The newer versions (V6 FP 1.0 and later) can use 5.

To allow a user's language to be different and migrate from an older language setting, queries like the following samples can be used:

"InstName" should be the library where your instance of Profound UI is installed. The default is PROFOUNDUI.

Languages Provided for the Atrium Menu Interface

The following languages are provided with Atrium:

  • en_US = English, USA  (default)

  • en_GB = English, Great Britain.  Prior to Profound UI 6 fix pack 8.0, the code en_UK should be used instead.

  • de_DE = German, Germany

  • pt_PT = Portuguese, Portugal

  • pt_BR = Portuguese, Brazil

  • es_ES = Spanish, Spain

  • es_MX = Spanish, Mexico

  • fr_FR = French, France

  • fr_CA = French, Canada

  • it_IT = Italian, Italy

  • nl_NL = Dutch, Netherlands

Customizing a Language

Any of the strings that are provided in the language dictionary of Atrium may be customized. To do that, you can define a string as follows:

For example, to customize the message that occurs when there's no connection to the server in USA English you can code:

This can be set separately for each language.  For example, in German you might prefer:

You can find a list of the possible dictionary and message id values under "Defining a new language", below.

Defining a New Language

If Atrium does not come with your preferred language already defined, you can add a new language yourself by coding all of the needed strings as configuration settings. To do that, your settings file should set the language you wish to use.  You can pick any string you like for the language name. Then, define empty objects for the runtimeMsg and runtimeText dictionaries, as follows:

Then, define a message for each message ID in each dictionary.  Here is a list of all of the messages you can define:



You should only translate the text on the right-hand side of the equal sign.  Do not translate the message IDs (such as "no connection message" or "signature overflow") because Profound UI will not be able to find your message in the dictionary if you change the dictionary name or the message id.

Strings like "&1", "&2", etc. are placeholders. The translations of such strings should also include the placeholder symbols.

Some strings not listed above may be specified in the general Profound UI language support page: Language Support. To change a string that is used by both Atrium and Profound UI, the string needs to be set in both the Atrium settings file and the Profound UI settings.js file.