Introducing the Chargebee CLI
Chargebee Retention is now part of Chargebee Growth.New customers can find everything you need in Chargebee Growth documentation. Existing Chargebee Retention customers can continue to access the legacy Chargebee Retention documentation here.

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 or in a CSV file, 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:

  1. Read the configured language source value from Chargebee Billing or from the API / Chargebee.js payload.
  2. Match that value to an enabled language using the language matching rules configured for each language.
  3. If a match is found and a translation exists for that content, serve the matching language variant.
  4. 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

  1. Go to Settings > Languages.
  2. Review the languages already enabled for your Growth application.
  3. Click Add language and select the languages you want to support.
  4. 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.

SourceWhen to useHow it works
BillingChargebee Billing is connectedGrowth 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.jsNo billing system, a non-Chargebee billing system, or you send language at session startPass 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.

  1. Open the language in Settings > Languages.
  2. 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.
  3. Use string operators such as is, is one of, contains, does not contain, and starts with to match values from the language source field.
  4. 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, translate one object at a time in its editor. To update many objects at once, export and import translations in bulk.

  1. Open each cancel page, offer, loss aversion card, or survey reason you want to localize.
  2. Enable the language variant and replace the copied primary-language text with your translation.
  3. Preview each language before you publish.
  4. Place the content in a play. Growth routes subscribers to the matching language variant automatically based on language resolution.

For object-specific steps, see:

Export and import translations in bulk

When several languages apply across many cancel pages, offers, and survey reasons, editing each translation in its own editor is slow. Export the translatable copy to one CSV file, edit it offline, and import it to apply the changes together. Use this when you work with a translation vendor or want to review all copy for a language in one file.

If you do not see Manage translations on the Languages page, contact Chargebee Growth support.

You manage bulk translations from Settings > Languages, in Manage translations, on the Bulk export & import translations card.

What the translation file contains

The CSV file has one row for each piece of translatable copy. Rows are grouped by content type:

  • Cancel page experiences
  • Loss aversion cards
  • Offer cards
  • Survey reasons
  • Redirect pages

The first four columns identify the content. Do not change them:

  • Resource Type
  • Resource ID
  • Resource Name
  • Element ID

The remaining columns are languages. The primary language column comes first, then one column for each other enabled language. Cells for languages you have not translated yet are prefilled with your primary-language text, so the source copy is available to translate from.

The file can only add or update translations. It does not create, rename, or delete content.

Export a translation file

  1. Go to Settings > Languages.
  2. In Manage translations, on the Bulk export & import translations card, click Export.
  3. In Export Language translations, under Language, select All languages to include a column for every enabled language, or select one language. All languages is unavailable while language removals are unsaved. Select a language, or save your changes first.
  4. Under File, select CSV for Excel, Numbers, or another spreadsheet program, or CSV for text editors.
  5. Under Content, select All to export every translatable object, or select Selected content. Search for the objects to include, or click Select all. You can select cancel page experiences, offer cards, loss aversion cards, survey reasons, and redirect pages.
  6. Click Export.

Chargebee Growth prepares the file in the background and emails a download link to the user who started the export. The link expires within 24 hours. Large exports can take a few minutes.

You cannot start an export while an import is running for the same Growth application. Wait until the import finishes, then export.

Import a translation file

Importing overrides existing translations for the same content and language, and this cannot be undone. Export a file first and keep it as a backup.

  1. Start from an export so the file has the correct columns, or reuse a previous export.
  2. Edit the language columns. Leave a language cell blank to skip it. A blank cell keeps the existing translation. Do not change Resource Type, Resource ID, Resource Name, or Element ID.
  3. Go to Settings > Languages. In Manage translations, on the Bulk export & import translations card, click Import.
  4. In Import translations, drag and drop the CSV file, or browse to select it. Only .csv files are supported.
  5. Read the warning that translations from the file override existing translations and cannot be undone.
  6. Click Upload and continue.

The import runs in the background. You can close the dialog and leave the page while it finishes. Manage translations shows the status:

  • Import in progress.
  • Import completed.
  • Import completed with errors.
  • Import failed.

When some rows fail, click Download error report. Chargebee Growth also emails you a report that summarizes which translations were applied and which rows could not be imported, and records an entry in the Activity log.

Only one import can run at a time for a Growth application. While it runs, Import is unavailable and a new export cannot start.

How Chargebee Growth handles each row on import

Row in the fileResult
A language cell is left blankSkipped. The existing translation is kept.
A cell contains new or updated textApplied. The text replaces any existing translation for that content and language.
The language is not enabled for the applicationThe row is not imported and is listed in the report.
The copy uses a dynamic variable that is not validThe row is not imported and is listed in the report.

Rows that cannot be imported do not stop the rest of the file. Valid rows are still applied, and the failed rows appear in the emailed report and in the error report you download from Manage translations.

After the import finishes, preview each language variant and resolve any incomplete-translation warnings in the editor.

Runtime fallback for missing language variants

ScenarioWhat the subscriber sees
Language is enabled and a translation existsThe matching language variant
Language is enabled but the content has no translationPrimary language
Source value does not match any language mappingPrimary language
No source value is availablePrimary language
Language is filtered out or unavailable for the playPrimary-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.
  • A bulk import overrides existing translations and cannot be undone. Keep the previous export as a backup.
  • Use the translation file to add or update translated copy. Create or remove content in Chargebee Growth, not in the CSV file.