Prepare for Localization

Creating applications that are easy to localize, i.e. translate into different languages is not an easy task. This section addresses the rules that should be followed to achieve easy localization. 

Contents

Basic rules

Always follow the following basic rules.

Keep in mind the following grammatical points when preparing an application for localizing:

All messages should be self-contained, not dynamically assembled. In cases where messages have variables added to them at run time, do not make any assumptions about the position of the variable in the message. Applications should use the services in Error_SYS or Language_SYS.Translate_Constant to show messages that have variables. Each of these services can take up to three variables.

Programming rules

The programming rules in the server environment to support fully translation are listed below.

Example

Error_SYS.Appl_General('DemoInvoice','NOTPAYED: The invoice :P1 ' ||
                       'is not paid.', newrec_.invoice_no_);

Client_SYS.Add_Warning('DemoInvoice', 'REMOVEINV: Are you sure '||
	               'you want to remove invoice :P1 ?', inv_no_);

Client_SYS.Add_Info('DemoInvoice', 'REM: The invoice is removed.');