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
📩 Contact: to discuss your plan needs
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!
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.
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.
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.
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.
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. 😉
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.
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".
Let's imagine that you've translated only
For a user, the browser reports a language preference of
es-ESwhich matches exactly and the
es-ESversion is displayed.
For a different user, the browser reports
es-AR(Argentina), Chameleon will check for exactly
es-ARand, when it does not find a match, will try next to find a match for "just"
eswithout the country code; it will find and display the es translations.
For a different user, the browser reports
nl-BEand you have not translated
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.