PROIV supports multilingual tokenisation of labels for all screen objects; the translation mechanism supported single byte Western European languages. The latest version of PROIV builds on this functionality and also introduced a PROIV Client which supports the display of Unicode characters. All screen elements in PROIV can be translated, including screen and report text, updates (logic and messages), file and global messages, Global Logic and value variables.

Note: Multilingual functionality also provides the ML verb which allows Literals in logic to be translated and can be assigned to variables.

The interface to the PROIV Lexicon has been enhanced to support Unicode strings which are subsequently rendered within the PROIV Client. In the past it was possible to display only one character set at a time within the PROIV Client; however, PROIV Client version 6.1 onwards is an Unicode application and displays characters of different languages at the same time.

Note: The PROIV Virtual Machine continues to operate at a byte level and has no knowledge of Unicode string data as such the standard string manipulations mechanisms remain unaltered.

Multilingual Runtime Properties

The Multilingual module enables the maintenance of translation rules, and facilitates translation whereby the application obtains the literal text values from the Lexicon at runtime. The strings are extracted, the bootstraps identify the flagged objects, and the kernel communicates with the Lexicon and sends the appropriate translated text to the client.

The set of strings obtained are determined by the PROIV application user's profile at runtime with the language selected. If the Multilingual module is not licensed on your system, or the PROIV Lexicon is not available, the runtime uses the original base string values. The default database for the Lexicon is Derby; additionally supports RDBMS such as SQL Server, PostgreSQL and Oracle.

Note: It is recommended to set up the Lexicon during the PROIV Server installation wherein the tables are configured and you can also test the database connection.

Multilingual Configuration

Use the Multilingual configuration properties to identify the PROIV string components that are managed by the Lexicon. Additionally, you can configure the Base Language and Runtime Language for the screen objects in PROIV Developer.

Base Language

The Default Base Language (English-US) has an integral role at Development and Run-Time environments. At development time, it is used to write to the Lexicon when new strings are added to the Lexicon from PROIV Developer. At runtime, it is compared with the Runtime Language to see if translations are needed (if the languages are the same, or the Runtime Language is not set, then translations are not needed).

To set the Base Language in PROIV Developer, do either of the following:

Note: You should not change the Base Language after strings have been written to the Lexicon. If this is done, the Lexicon data gets corrupted. However, if you want to use a different Base Language, you should clear down the Lexicon and re-extract the application strings. A warning message appears in PROIV Developer when the Default or Session Base Language is changed, but there is no warning message when you change in logic.

 

The Base Language set in PROIV Developer must match the Base Language held in LexiconConfig.xml, which you can edit using the PROIV Control Panel. This is the case at both development time and at runtime.

Runtime Language

The Runtime Language is the language that the application translates at the time of execution.  

To set the Runtime Language in PROIV Developer, do either of the following:

Multilingual Extraction

When you have added the translation information to the objects with string types in your application, you can extract that information for use by the Lexicon. This information is then used by the Lexicon for the translation process. When the strings are described accurately and comprehensively, this document serves as a good basis for the translation of the base strings. There is also an audit facility which contains details of the string types, string identifiers and string text for a given extraction.

Section links:

Multilingual Workflow provides a graphical overview of the recommended steps to take when using the Multilingual functionality.

Setting up Multilingual Standards explains how to set up the base and runtime languages and the string extraction rules.

Setting up PROIV to populate the Lexicon explains how to set up the PROIV to populate the Lexicon with base language strings.

Maintaining Multilingual String Type Extraction Standards explains how to use determine which string values are extracted for translation.

Using the ML Logic Verb explains how to use the ML Logic Verb in the Logic Editor to translate strings defined in code.

Setting up Multilingual details for an Object explains how to set up translation details for an object and set up different meanings for translation strings.

Extracting Multilingual Strings from Multiple Objects explains how to extract strings from a number of objects.

Unsetting Multilingual Flags explains how to unset multilingual settings from a number of objects.

Lexicon Import and Export explains how to run the import/export manually using a command line entry.

Comment on this topic

Topic ID: 480001