# Chameleon Translations

> Localize Chameleon.io YAML translation files for in-app experiences.

URL: https://store.crowdin.com/chameleon-translations
Identifier: chameleon-translations
Category: File Formats
Type: App
Author: Awesome Crowdin

Translate Chameleon.io in-app experiences (Tours, Tooltips, Microsurveys, Embeddables, Launchers) in Crowdin using this app.



## How It Works



1. **Export** your YAML translation file from Chameleon's Localization page

2. **Upload** to Crowdin — the app extracts all translatable text fields

3. **Translate** — content is marked as Markdown, so longer texts are automatically segmented

4. **Download** and upload back to Chameleon — all original formatting and comments are preserved



## File Format Details

| Attribute | Value |
| --------- | ----- |
| File Extension | .yml, .yaml |
| [API Type](https://developer.crowdin.com/api/v2/#operation/api.projects.files.post) | chameleon-yaml |
| Source can be edited in Crowdin | No |
| Generating translated files via [Bundles](https://support.crowdin.com/bundles/) | [Search Crowdin Store](https://store.crowdin.com/tags/string-exporter) |
| Supports pluralization | No |
| WYSIWYG Preview in the editor | No |
| Supported types of contextual information | Text comments, Screenshots, Live preview via SDK |
| Custom attributes | No |
| Existing translations import possibility | None |

## Sample File

```yaml
##
#
# Chameleon translations v1.0 for 1 Experience
#  - Exported at "2026-01-30 12:00:00 UTC"
#  - Exported by "localization-manager@example.com"
#  - Export history id: "000x000xxx000xx00000000x"
#
# Translation reference: https://help.chameleon.io/en/articles/5868890-internationalization
#  - Language code lookup property: ""; https://edit.chameleon.io/data/properties/profile
#
# To use this Translations file for another language:
#  1. Copy this file and *rename* the language.code from "default" to the language code you're
#     translating to (picking from one the listed language.options).
#  2. (optional) Use the supplied preview.url to see what each Experience/Step looks like
#  3. Translate each of the requested members of the *translations* key (each translatable item has a
#     nested text key which is replaced with the translated text)
#
# See the Translation reference for examples
#
id: "000x000xxx000xx00000000x"
language:
  code: "default"
  options: ["default","vi","tr","th","sv","es-ES","es","ru","ro","pt-PT","pt-BR","pt","pl","ko","ja","it","id","hu","he","el","de","fr-CA","fr","en-GB","nl","cs","zh-TW","zh-CN","zh","ar","da"]
#
#
experiences:
  -
    #
    # An Embeddable can have one or more "Steps" that informs users or helps to guide them toward a specific action.
    #
    id: "000x000xxx000xx00000000y"
    kind: "embed"
    name: "Feature Update - Permissions"
    #
    steps:
      -
        id: "000x000xxx000xx00000000z"
        kind: "step"
        preview:
          #
          # Use this preview to see exactly what you're translating; viewable until 2026-03-30
          #
          url: "https://edit.chameleon.io/accounts/000x000xxx000xx00000000x/captures/000x000xxx000xx00000000x.png?token=i18n-000x000xxx000xx00000000x"
          #
        translations:
          #
          body:
            #
            # The body is the main content of the Step; This provides all of the actionable
            #   details needed to understand the purpose of this Step.
            #
            text: "[Granular permissions](https://help.example.com/articles/12345) are now available and will go live on February 24, 2026. If needed, consult your Account Manager to configure these permissions for your users."
            #
```
