Skip to main content
Localization is available as an add-on to our Growth / Enterprise plans. The main Help page on this topic may be more helpful for a typical workflow.

Workflow overview

  1. Download a translation file for your Experiences (or export from the Experience list).
  2. Translate the content into your target languages using your preferred translation tool or service.
  3. Rename the file to include the language code (e.g., translation-es.yaml, translation-fr.json).
  4. Upload the translated file(s) via the API or from the Localization page.
  5. Publish the Experiences to make translations live.

Supported file formats

How language targeting works

Chameleon determines the user’s language from the browser_l property (the browser’s Accept-Language header). The language.options array in the translation file shows all configured language codes for your account.
  • "default" is always the primary language (your original Experience content).
  • Language codes follow BCP 47 format (e.g., "es", "fr", "pt-BR").

Merge tags in translations

Translations fully support Handlebars merge tags. You can use merge tags in your translated content:

Downloading Translation files

HTTP Request

HTTP Response

Downloading into .yaml
GET
Downloading into .json
GET
Example with mixed Experiences
POST
Request body

Uploading Translation files

Upload one or more translated files. Each file should be a renamed copy of the downloaded translation file with translated text values. Important: The language.code in the uploaded file must be changed to the target language code (e.g., "es", "fr"). If it remains "default", it will overwrite your primary language content.

HTTP Request

POST

Example: Translating a Tour to Spanish

Step 1: Download the translation file:
Step 2: Copy and translate the file. Change language.code from "default" to "es":
Step 3: Upload the translated file:

Uploading multiple files at once

Upload translations for several languages in a single request:

Translation file structure

The translation file contains a nested structure:
Only the text values within translations should be changed. Do not modify id fields or the structure of the file.