Conversation
Pegasystems Inc.
IN
Last activity: 11 Feb 2026 10:27 EST
Overriding Localization Bundles in Infinity 25
Infinity 25 deprecates pyGenerics for localization.
Historically, pyGenerics was used to extend categories like MESSAGES, PULSE, and similar keys. Teams relied on it to add custom messages, and Pulse filters.
Here’s the problem with that approach.
When a client overrides pyGenerics, in their ruleset their rule always took precedence due to rule resolution. Any new labels or updates delivered by the platform were silently ignored. Over time, this led to missing messages, and painful merges during upgrades.
Infinity 25 fixes this by introducing override localization bundles.
Instead of replacing the platform bundle, overrides are merged with the base bundle generated from the application. The merge happens at the end of the base bundle creation, and only the overridden keys take precedence. Everything else continues to flow in from the platform.
This gives you the best of both worlds:
-
Platform updates are preserved
-
Client-specific labels override only what they need to
How Override Localization Bundles Work
At runtime:
-
The platform generates the base localization bundle
-
Your override bundle is merged on top
-
In case of conflicts, the override bundle wins
No more shadowing the entire bundle just to add one label.
Creating an Override Localization Bundle
Step 1: Create the localization rule
-
Create a new Localization rule
-
Set Context to
overrides -
Set Applies To as
@baseclass -
The label can be anything meaningful
Step 2: Add your labels
Define only what you want to add or change.
Example:
{
"MESSAGES": {
"msg 1": "msg 1"
}
}Avoid copying existing platform keys unless you actually want to override them.

Step 3: Attach the override to the application
-
Open Application Definition
-
Scroll to localization configuration section
-
In the Overrides for localization dropdown, select your newly created override bundle from the list

This step is mandatory. Without it, the override bundle is ignored.
Step 4: Generate language packs
-
Go to Application Studio
-
Regenerate the language packs
Your overrides will now be merged correctly with the base bundle.
What This Really Means
If you’re still carrying forward a pyGenerics override in Infinity 25, you’re blocking platform improvements without realizing it.
Override bundles are not just a replacement. They’re a safer, upgrade-friendly model that aligns localization with how modern platforms evolve.
Use them. Your future upgrades will thank you.
Constellation 101 Series
Enjoyed this article? See more similar articles in Constellation 101 series.