Q&A - Internationalization & Localization with Constellation

This is Q&A collected during webinar

This material extend and complement information on webinar, please watch webinar to have a full picture.

Question

The localization Excel file contains a few thousand lines. Is there a way to automatically translate the complete file using AI?

Answer

You can pre-translate with AI since version 24.1. See: https://docs.pega.com/bundle/platform/page/platform/user-experience/pre-translating-app-genai.html. You can also use your preferred GenAI tools to update the Excel with more specific translations. However, manual review with contextual business users will most likely still be needed.

Question

What is the impact of localization if the base language is not set to en-US?

Answer

There should be no impact. In fact, in Infinity 25, you can also generate a translation for the base language itself.

Question

Is the override application-specific, or can you have multiple build-on layers each with a dedicated override (when using a modular enterprise development approach)?

Answer

Yes, that is possible.

Question

Does localization only change the currency symbol based on the user’s profile/locale, while the numeric value stays the same (e.g., $2.00, ₹2.00, SG$2.00) when different users from different regions work on the same case?

Answer

Currency conversion cannot be incorporated during translation packaging. The conversion rate is dynamic.

Question

In traditional architecture, we used to do Pega Infinity default platform translation by downloading a language pack from the Pega Marketplace and installing it. Does the same language pack installation work for Constellation? Please guide us on the steps for localizing default Platform OOTB rules.

Answer

We have dedicated language packs for Constellation applications that can be imported the same way as the traditional ones. They include all translations shipped by Pega OOTB. See: https://community.pega.com/marketplace/language-pack/pega-platform-traditional-ui-and-constellation

Question

Wouldn’t a better solution be to never use “Translate All Layers” and instead always do it layer by layer?

Answer

Completely agreed. The only case where translating all layers is necessary is when you need to localize labels from a built-on Constellation application for which you do not have access to its localization wizard.

Question

Does the bundle include display values that are configured using the history-add method in activity rules or the audit feature in the case type?

Answer

History is not completely supported. As a workaround, you can use the Theme Cosmos field values and translate them using the traditional UI localization wizard.

Question

If some data displayed in the UI comes from a data type, will the wizard pick that data up for translation as well?

Answer

No. The wizard works primarily on form labels, not on data — unless the data comes from a picklist (sourced from a data page or local values).

Question

Will translations also be applied in Insights and any scheduled reports?

Answer

Yes, Insights are also translated.

Question

Are the translations loaded into the browser?

Answer

The question is a bit broad, but in general: translations are loaded during the initial application load.

Question

Do we need to clear any cache?

Answer

No, the platform handles cache automatically. Not required.

Question

We had existing localization created in versions 8.8 and 24, stored in a ruleset named “ruleset_de-DE”. After running the upgrade wizard on 25.1.1, a ruleset named “ruleset_de” was created. Both rulesets are still in the system — which one will Pega use at runtime if the operator locale is de_DE?

Answer

In 25.1.1, the “ruleset_de” ruleset will be used.

Question

The “myApp_fr” ruleset was created — how do we restrict it to certain users only and not for everyone? Do we need to add it to the application ruleset stack?

Answer

At runtime, the platform automatically adds the language-specific ruleset to the user’s execution context based on their operator locale. There is no need to manually add it to the application ruleset stack. Not required. This works the same way as it did for traditional apps.

Question

Why are the bundles loaded at application startup? Will that not impact the performance of the first screen? What if I don’t need all of the bundle content on the first screen?

Answer

The exported bundle is cache-enabled. The language pack is like static content — there is no processing involved. No performance issues have been observed.

Question

Does localization require an AppStatic Server, or does it reside within the Pega Server?

Answer

It resides in the Pega Infinity server from version 25 onwards.

Question

Is application localization applied to the Pega Process Extender when launched from a different application (e.g., Salesforce)?

Answer

Yes. The Constellation bootstrap is a prerequisite for loading the Constellation UI, and this works in a hybrid use case where Constellation UI is embedded.

Question

Only one override bundle per application is allowed. If a child application needs to override a label already present in the parent application’s override bundle, how can that be done?

Answer

The label can be defined in the child application’s override rule. The localization process will handle it automatically.

Question

Rulesets are created with a *-NL extension. How does the bootstrap know which locale to fetch — for example, nl-NL vs. nl-BE, which can be very different?

Answer

This follows the same behavior as traditional app localization: it is based on the user’s locale. If there are multiple “nl-*” variants, the most specific match is selected. From Constellation 25, language-specific ruleset stacking works the same way as it did in traditional applications.

Question

If we are caching all localization on the client and using mobile devices, could there be a risk of consuming too much storage space? Has this been tested?

Answer

So far, the combined bundle size for most enterprise applications stays within 5–10 MB. Given the storage and performance capabilities of modern mobile devices, this typically does not pose any concern. Note: Caching is session-based. For example, the bundle is loaded for each browser tab.

Question

What should we do when the localization activity throws an error, but there are no errors in the logs? After running the activity, Pega generated a bundle in the main application rule but did not create a “_de” ruleset.

Answer

Please create a Support Request (SR) so we can investigate.

Question

Do we have any option for overrides in versions before 25?

Answer

No. Before version 25, you had to use “pyGenericFields”. The override rule is newly introduced in version 25 to simplify the process of manually adding base translations to the application and bundling. pyGenericFields was the approach before version 25.

Question

I understand this wizard is only for Constellation. Is there a wizard available for UIKIT once it is upgraded to version 25.1?

Answer

The same existing UIKIT translation wizard in Dev Studio applies.

Question

Does the bundle cached in the browser have a set expiry limit before it refreshes or clears? If an updated bundle is pushed to production, do we need to ask users to close their tab, or does Pega handle cache invalidation automatically?

Answer

Answered live during session. Pega versions the bundle — every time the bundle is updated, the version changes, ensuring cache invalidation.

Question

Is case type step audit note translation supported in any way?

Answer

Currently, Constellation uses the same platform rule for audit notes. We are working on adding native Constellation support for audit notes. For now, running the traditional translation wizard should work.

Question

How do you implement dynamic display value localization instead of using a data page for list pages per language?

Answer

Dynamic values can vary widely, but to some extent — beyond data pages — you can define them in your override rule and localize them in a custom component using the pConnect API. These are not natively supported by Pega. You can use a custom React component and integrate it into the app.

Question

Do we need to re-download and re-upload the Excel file containing translations every time the application is enhanced, as part of the localization process in Admin Studio?

Answer

It depends on your development activities. Localization work should ideally be done after all development is complete.

Question

The exported language pack contains both an Excel file and a JSON file. Should we update both, or will either one work?

Answer

Either one will work.

Question

How do you generate the override bundle?

Answer

“Override” is a rule, not a bundle. It contains all your custom strings that you define during application development. See: https://docs.pega.com/bundle/platform/page/platform/user-experience/overriding-localized-labels.html

Question

Do we still need a localization ruleset, given that it only contains 2–3 rules from the base bundle and language bundle? Can we use the application ruleset itself?

Answer

Having a dedicated localization ruleset has advantages: (1) Easy to package, as in traditional applications. (2) The platform handles the locale-specific ruleset and adds it to the ruleset stack automatically.

Question

How will localization work for correspondence rules? Will it be handled automatically in version 25 when uploading a translated bundle per language?

Answer

Correspondence is not directly supported in Constellation localization. We are approaching these use cases differently. If the goal is to compose an email body, translating it based on the current operator locale is not always the right approach. If the goal is to display content on the UI, a new rule type — Dynamic Text — is available.

Question

“Top-most ruleset in the application stack unlocked / has a new version” — is this approach also branch-friendly?

Answer

Yes, it is branch-friendly as well.

Question

For business data such as picklist values (dropdowns/radio buttons) sourced from an external source — should translations for such text be handled using Overrides?

Answer

No, this is an automated process in the localization export. Picklist values are picked up automatically.

Question

Is the operator locale mandatory for localization to take effect in the portal? Can the browser locale be used instead? There may be scenarios where a single operator accesses multiple applications with different locales — in that case, the operator cannot have a fixed locale, and they might prefer to use a different browser for each application.

Answer

Browser locale support is on our backlog. Currently, localization is operator-based.

Question

How does the localization wizard handle business data if it is sourced from a data table or an external source?

Answer

Business data is generally not localized by the wizard, as it can be anything. However, localization of picklist values is supported if the picklist is backed by a data table.

Question

Can I use localization to re-label how work statuses are displayed, even in English? For example, displaying “Resolved-Completed” as “Done”?

Answer

Yes, that can be done using overrides.

Question

Can values sourced through data pages (picklists, data references) be localized? Is this a use case for the override rule, or is there a lower-code way that does not require coding JSON in Dev Studio?

Answer

Data page-sourced picklists must be localized using the data page localization rule. Users need to provide all possible values in this rule manually.

Question

App A is built on App B, which is built on App C. You generate a base bundle for each layer. Then you select “Regenerate All Layers” from the top application (App A) using a flat bundling strategy. Is this the correct approach?

Answer

Correct. And if you are using a COE application, the base bundle will already be included.

Question

Should each language bundle be kept in a separate ruleset (e.g., DE, AT, etc.)?

Answer

Yes. The ruleset is based on the selected language and is created automatically when importing the ZIP file.

Question

Should all localized rulesets be included in the application ruleset stack?

Answer

No, that is not required. However, the user’s locale must be set correctly for translated strings to appear in the portal.

Question

In the traditional UI, localization would fall back to the browser locale if the operator ID had no locale set. The Constellation UI appears to default to English if no locale is set in the Operator ID.

Answer

We have received this feedback and are taking it into consideration. Support for this should be available soon.