Internationalization / Localization / Translation are often used interchangeably but refer to different parts of the same goal - displaying product Experiences in different languages, to fit those of your users.

Users who speak different languages will be more engaged with content in their preferred language. Plus, it shows that your message is important and your effort highlights the importance of your communication.

Let's see the steps to leverage Localization with Chameleon in your own product.


Availability & Usage

🔐 Available for Enterprise plans

📍 Ready to use in Tours Tooltips Microsurveys Launchers

📩 Contact: to discuss your plan needs


Quick access

  1. Setting the Language property and Supported Languages

  2. Downloading Translation files

  3. Translating the content

  4. Preview and Publish


1. Setting the Language property and Supported Languages

To deliver a Chameleon Experience with the right content we need to know which language your end-user prefers.

Send us an email to tell us which languages you will need to display your content in. We will configure them on your account, and they will be available on the Translations page, under Configured Languages.

📩 We do not currently support Right-to-Left (RTL) languages like Arabic, Hebrew, or Urdu but let us know about your use case and we'll be in touch!


2. Downloading Translation files

Now that you're set up to deliver Experiences in multiple languages, you'll have to upload a translation of your Experiences to Chameleon.

Pick the Experience you want to translate from the Dashboard (i.e. Tours), select one or several Experiences, and use the Bulk actions menu to 'Get Translations'. This will download a file with all your Experience content, that you can edit to match your preferred language. 😊

You can also download the Translation files via REST API. Please see the developer docs for this.


3. Translating the Content

Open the resulting .yaml file and follow the included instructions to translate your content. For context, each Experience includes a preview.url where you can see the 'thing' you're translating. When your translations are complete upload your file on the Translations page in the Dashboard.

To upload Translation files via REST API, please see the developer docs.

You'll see every Translations upload you make in a table view on the same page, with some useful information attached: the translated language, how many Experiences have been updated in this language, and when the translation was uploaded.

You can also download any previously uploaded file, and update your translation before leveraging the same one. 😉

This way, you can keep a good sync between your product updates and your guidance, ensuring inclusion and personalization for all users.


4. Preview and Publish

Each Localized Experience can be previewed in the various languages you have translated into. From the Builder, you can pick from a dropdown the different languages you have added for that Experience. And the content will update to match.


Analytics, Reporting, and Data Exports

All data will continue to be reported as the default language (the content added directly to the Experience).

Data and analytics regarding Experiences (Tour Started, Survey Completed, etc.) will include a language property that will take the value of the currently "translated into" language for any translated Experiences. It will only be sent when the Experience is actually translated for your end-user.


Giving Feedback & Reporting Issues

We'd love to hear your feedback on the workflow, visibility, and functionality of Translating Chameleon Experiences. You can reply directly to us on the email thread or Slack channel we have set up. 😉


Best practices

With every guidance opportunity, look out to ensure a unique user experience. Localization is one option that you'll have to implement with your users in mind.

The need for extra spaces

For certain languages, extra spaces can give your translators more control over the final output; in these cases, you can add   (non-breaking space) directly into the translated content. The below example will show as "Extra space needed".

Fallbacks and Alternative languages

Let's imagine that you've translated only es-ES and es.

  1. For a user, the browser reports a language preference of es-ES which matches exactly and the es-ES version is displayed.

  2. For a different user, the browser reports es-AR (Argentina), Chameleon will check for exactly es-AR and, when it does not find a match, will try next to find a match for "just" es without the country code; it will find and display the es translations.

  3. For a different user, the browser reports nl-BE and you have not translated nl-BE nor nl, the default version will be displayed.

Ensure your Translations cover all preferences to delight your users!

💡 Learn about other ways to personalize your content in Chameleon.


Go further

Did this answer your question?