Languages and translations
Chargebee Growth supports multi-language cancel and offer experiences without duplicating plays, audiences, or other content objects. You define supported languages once in Settings, add translations on each content object, and Growth resolves which language to serve at session time.
What you can translate in Growth experiences
You can add language variants for:
- Cancel pages, including page copy and other components on the page
- Loss aversion cards
- Offers, including offers placed on cancel pages and in-app offers
- Survey reasons
Loss aversion cards and survey reasons are translated in context from the cancel page they appear on. For details, see Translate loss aversion cards and Translate survey reasons.
Pricing tables are not included in multi-language support.
How Growth resolves subscriber language
For each session, Growth resolves a subscriber language in this order:
- Read the configured language source value from Chargebee Billing or from the API / Chargebee.js payload.
- Match that value to an enabled language using the language matching rules configured for each language.
- If a match is found and a translation exists for that content, serve the matching language variant.
- If no match is found, the language is not enabled, or a translation is missing, serve the primary language for that content.
The primary language is always required and is the authoring default for new content.
Before you configure languages
Before you add languages or translations:
- Confirm that multi-language is enabled for your Growth application. Contact your Chargebee Growth representative if the Languages page is not available under Settings.
- Decide which non-primary languages the Growth application needs to support. English is the default primary language.
- Decide whether language comes from Chargebee Billing (
customer.locale) or from an API / Chargebee.js parameter.
Add languages in Settings
- Go to Settings > Languages.
- Review the languages already enabled for your Growth application.
- Click Add language and select the languages you want to support.
- Click Save changes.
English is marked as the designated primary language. Growth uses it as:
- The default authoring language for content.
- The fallback language when a subscriber language cannot be resolved or a translation is missing.
- The source copy when you enable a new language variant on a content object.
Supported languages align with Chargebee Billing locales, plus Japanese and Korean. For the Billing locale list, see Supported locales.
You can remove a non-primary language from the language menu. You cannot remove or deactivate the primary language from this menu.
You can deactivate a language in Settings only when it has no active translations across cancel pages or offers. If translations still exist, Growth blocks deactivation and asks you to remove those translations first.
Configure language resolution
Go to Settings > Languages > Language resolution to choose where Growth reads the subscriber language value from.
| Source | When to use | How it works |
|---|---|---|
| Billing | Chargebee Billing is connected | Growth uses a billing field, for example customer.locale, as the language source. For new Chargebee Billing customers, Billing is preselected with customer locale as the field. |
| API / Chargebee.js | No billing system, a non-Chargebee billing system, or you send language at session start | Pass the locale in your Chargebee.js or API payload. Growth uses that value for resolution. |
Configure language matching rules
For each enabled language, configure how incoming source values map to that language.
- Open the language in Settings > Languages.
- In the Languages Available in Growth section, click the Ellipsis icon for the language, and select Edit matching rule to edit the matching rule for that language.
- Use string operators such as is, is one of, contains, does not contain, and starts with to match values from the language source field.
- Click Done > Save changes.
Each language has a default matching value. Edit the value when your billing or API values do not match the default locale codes exactly (for example, en-US versus en, or custom values).
If the source value matches more than one mapping, Growth evaluates enabled non-primary languages in a deterministic order and uses the first matching rule.
Translate content after languages are enabled
After you enable languages in Settings:
- Open each cancel page, offer, loss aversion card, or survey reason you want to localize.
- Enable the language variant and replace the copied primary-language text with your translation.
- Preview each language before you publish.
- Place the content in a play. Growth routes subscribers to the matching language variant automatically based on language resolution.
For object-specific steps, see:
- Translate a cancel page
- Translate loss aversion cards
- Translate survey reasons
- Translate an offer
- How plays serve language variants
Runtime fallback for missing language variants
| Scenario | What the subscriber sees |
|---|---|
| Language is enabled and a translation exists | The matching language variant |
| Language is enabled but the content has no translation | Primary language |
| Source value does not match any language mapping | Primary language |
| No source value is available | Primary language |
| Language is filtered out or unavailable for the play | Primary-language variant of the eligible experience |
Things to consider
- Structural settings such as layout, placements, reason-based offer wiring, and page settings are edited on the primary language only. Language variants hold translated copy for existing components.
- Incomplete translations show warnings in the editor and when you assign content in a play. Complete or disable missing languages before you publish.
- Shared survey reasons share translations across pages that use them.
- Reports can filter or group sessions by the language Growth resolved for the session.
Was this article helpful?