Chameleon has text support enabled for all languages and scripts available within modern browsers. 

However Chameleon does not offer automatic translations of content -- we find most teams that need multi-lingual support already have an established process for generating translations that they adhere to. 

👉 Looking for a translations tool? Google Translate might be the best option out there

There are three ways to show an Experience with different content for different groups of people:

  • Creating a separate Experience

  • Defining user variables

  • Using our localization functionality (in beta)

1. Creating separate Experiences

You can create multiple Experiences with different content and set the targeting such that it shows to users of that particular language. To do this: 

  • Create your Experience in your base language

  • Duplicate it for other languages

  • Adjust the text and targeting

Note: You can target based on default user attributes that we collect, such as Browser Language, or send your own user data to indicate the language of the user, and show the relevant tour to them. 

2. Defining user variables

Alternatively, you can create a single Experience but show different content based on the user. For this, you will need to:

  • Create your basic Experience

  • Define user variables for each piece of content, e.g. {{tour1.step1.title}} and store these on each page of your app (you can find an example below).

  • Use these variables within the Experience to dynamically populate the content based on the user

Structuring and storing translations for later use:

window.chmlnI18n = { /* Example global variable name */
  welcome_tour: {    /* Example tour name */
    step1: {
      title: "Welcome to the App!",
      body: "Let's import your contact and save you $$$",
      cta: "Ok let's go!"
    step2: {

Embedding these translations in the Experience:

### {{global 'chmlnI18n.welcome_tour.step1.title'}}

{{global 'chmlnI18n.welcome_tour.step1.body'}}

Note: If you'd like to use this second method and you're facing any blockers, please email us for help.

3. Using our Internationalization functionality

You can now download all the text content for one or multiple Experiences and upload a translated file, to show the right language content to the right user, based on a property you specify or their brower language.

This functionality is available on our Enterprise plan. You can earn more and get access to this here:


Did this answer your question?