To translate an Application String, such as a field prompt, menu line, or window title,
•make sure that you have a Used Application String record (in table T_USED_APP_STR) that names the original string, •create a Translated Application String record (in table T_APP_LNG_STR) that is related to that Application String record and the Language, and that names the translated string, •(re)create the <application>.UMG flatfile if your runtime application runs from flatfiles rather than from repository. Do this via Tools, Create Flat Files in the USoft Definer menu. Application strings are translated simply by comparing strings letter-by-letter, independently of UI context. Some creativity is required if your target language has different translations depending on context. For example, Dutch 'rechts' is a correct translation of Eng. 'right' only in the context of left/right, not in the context of 'right' as authorisation or privilege. You can solve this by using 'access right' as the original string in the second context.
Many Used Application String records are created automatically for you when you (re)run the Populate Application Strings routine from the Tools, Language submenu in USoft Definer. This applies for example to strings that you have defined in Windows Definer for field prompts (but not to strings that you have defined in Web Designer). This also applies to constraint message texts.
Some USoft-defined strings are not imported by the Populate Application Strings routine but could still be relevant to your runtime application, for example, the submenu lines in the FILE menu:
To translate such a non-populated string, simply create (INSERT) a new Used Application String record for it manually. Identify this record by a unique Code. This Code must be an integer. The next time you run Populate Application Strings, your Code is not overwritten because Populate Application Strings knows to ignore records that have an empty value, or a non-USoft-defined value, for the Origin attribute. Here is an example record for the Roll Back menu line in the picture:
Used Application String
|
Code
|
34
|
Text String
|
Roll Back
|
|
To translate a string stored in an Application String record, for each Language you want to translate the string into, create (INSERT) a Translated Application String record (in table T_APP_LNG_STR).
Make sure each record that holds a translation is correctly related to the Application String record holding the original string. Do this by making sure that the String Code is equal to the Code of the original string. Here is the translation of the example string from the previous section:
Translated Application String
|
String Code
|
34
|
Language
|
DUTCH
|
Text String
|
Terugdraaien
|
|
See Also
Application Strings and System Messages
Dynamic Language Switching
Translating System Messages
|