OpenEdge supports multi-language (for example, French and German) applications through use of the CURRENT-LANGUAGE statement and function. You can use this ABL support in AppServer procedures to coordinate different languages between the client and AppServer agent. In stateless or state-free operating mode, you must use the activate procedure to set the correct language for each client request.
If you do write a multi-language application, you must ensure that the client and your server-side code handle the following features in a compatible fashion:
Collation — If the AppServer agent and client use different collations, the client might need to re-sort output TEMP-TABLE or result set parameters. An ABL client can do this by defining its own index on the appropriate columns.
Date and number formats (-d and -E startup parameters) — To minimize any problems using different date and number formats, always exchange dates as an ABL DATE values and exchange numeric fields as ABL INTEGER or DECIMAL values, rather than as character strings.
Case rules (such as in BASIC and French) — Based on the anticipated language environment, you can specify tables at AppServer startup (using the -cpcase startup parameter) that the AppServer agent uses to handle case conversions.
Year offset (-yy startup parameter) — Using the Century (-yy) startup parameter, you can ensure that the AppServer agent calculates dates based on a specified hundred-year period that is compatible with the client.
For more information on using the CURRENT-LANGUAGE statement and function in an ABL session, see OpenEdge Development: Internationalizing Applications.