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. 

If you are looking for a translations tool, then try Google Translate.

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

1. Separate Experience

You can create multiple Experience 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

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. Variable content

Alternatively you can create a single Experience but show different content in that tour 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 in each page of your app. (* Example below)
  • Use these variables within the Experience to dynamically populate the content based on the user

If you'd like to use this second method, or have any other questions, then please email us for help. 

How to structure and store translations

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: {

Then use these translations in the steps of the tours

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

{{global 'chmlnI18n.welcome_tour.step1.body'}}
Did this answer your question?