Internationalization and localization
A single Pega Platform application can support users who work in different countries and time zones and who speak different languages.
Localization supports users who do the following:
- Work in different time zones from each other and from the time zones of the server or servers.
- Follow different work schedules and holidays.
- Follow local cultural conventions for presenting dates, numbers, and times.
- Work in different languages from each other, or in multiple languages.
- Use languages or alphabets that sort text values (such as customer names) according to language-specific conventions, rather than U.S. English conventions.
Users can work in the language of their preference or in the language of whomever they are communicating with. The fundamentals of your application — flows, activities, properties, and so on — operate as before, simultaneously supporting users who work in different languages.
Locale
Pega Platform determines your initial locale from a browser setting. Users who are responsible for testing translations can override the locale setting temporarily by using the Pega Platform Locale settings tool. The value set in the Locale settings tool does not affect other processing by a browser or Windows. An activity can call the PublicAPI method setLocale() to do a temporary override by using the internal locale format. In either approach, the new locale setting stays in force until the user session ends or until a later call to the setLocale() method.
Pega Platform uses the Unicode standards for date and time patterns by locale and other internationalization features. Details of daylight saving time support depend on the JVM version supporting your system. For a list of locales in Oracle's JDK, see the Oracle documentation about supported locales.
Locale and localization
Many standard control rules support input and output of locale-specific formats and spelling dictionaries, which are referred to as localization. Most standard properties use localization when displaying values for dates, numbers, and times. However, some rules do not support localization.
Localization operates for users who have WorkManager, WorkUser, Manager, or User portal rules (or similar portal rules) as the default portal on the Definition tab of the access group instance. Localization is not complete if you use the Dev Studio as the default portal and later open a second portal that uses the WorkManager or WorkUser portal rule, unless the Locale settings tool is used.
Fonts
Workstation fonts are managed by your operating system and browser. If your browser needs a font that is not installed, the localized text might not be rendered correctly.
Language-specific rulesets
A language-specific ruleset name consists of an application ruleset name followed by a single underscore and a locale code. For example, for the application defined in the ALPHA ruleset, the value ALPHA_it_IT identifies an Italian ruleset.
Developers can create and add rules to such rulesets. However, language-specific rulesets typically contain only field value rules that localize words or phrases from rules such as portals, harnesses, and sections. The decision rules, flows, activities, properties, and other rules that determine the functions and results of the application are not needed in language-specific rulesets.
Language-specific user forms and portals
The following rule types can be translated:
- Harnesses (Rule-HTML-Harness rule type)
- Sections (Rule-HTML-Section rule type)
- Flow actions (Rule-Obj-FlowAction rule type)
- Message rules (Rule-Message rule type)
- Portal rules (Rule-Portal rule type)
- Paragraph rules (Rule-HTML-Paragraph rule type)
In addition, the short description values on some class rules and flows are translated.
Language-specific correspondence
The correspondence that your application sends is derived from correspondence rules ( Rule-Obj-Corr rule type) and correspondence fragments. When you create language-specific correspondence rules and fragments, your application can respect the language preference of a user. For example, if a user prefers French and a French-language correspondence rule is available, an English-speaking user can send an email message or letter in French (if no editing is needed).
Character sets
East Asian language support
Pega Platform supports the Microsoft Windows Input Method Editor (IME) to enter complex characters in four different East Asian languages — simplified and traditional Chinese, Japanese, and Korean — by using the standard keyboard. For more information, see Installing and Using Input Method Editors on the Microsoft website.
Wizards
Pega Platform includes two wizards that simplify the process of identifying, translating, and creating the field value, correspondence, paragraph, and other rules that support localization.
- The Localization wizard provides a step-by-step facility to identify text elements that need translation and loads the elements into an Excel spreadsheet. A translator working offline with Excel can provide first-pass translations for these terms; no familiarity with Pega Platform is required.
- The Localization inspector allows a translator to view and exercise a localized application (or partly localized application) in context, and revise or extend the translations to fill in gaps or improve the translations. Use this as a final step after using the Localization wizard.
Currencies
The standard control rule CurrencyAmount presents a monetary amount in the format of a user's default currency, such as 1,234.56/USD.
The standard library Math includes two functions for currency conversion:
-
divisionExchange()
– Converts a
Number
property representing one currency value to anotherNumber
property that represents another currency value by using division. -
multiplyExchange()
– Converts a
Number
property representing one currency value to anotherNumber
property that represents another currency value by using multiplication.
No standard rules reference these two functions. Typically, the currency conversion rates themselves are provided by an external system that is accessed through a connector. Your application retains control over the source of the rate, the computation details, and when and how conversion occurs.