> For the complete documentation index, see [llms.txt](https://docs.hexabot.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.hexabot.ai/localization/translations.md).

# Translations

Translate user-facing workflow text, refresh detected strings, and manage localized values for supported languages.

Use **Translations** to localize user-facing text in your workflows.

Hexabot translates strings that you explicitly mark in workflow definitions.

<figure><img src="https://3193821221-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F12ok30OlFEEb6WoWfH8l%2Fuploads%2FkwfjqxO7CIYzR4qvkNVr%2Fimage.png?alt=media&amp;token=1872ef4e-c24f-4a83-b27f-34a318834d88" alt="" width="563"><figcaption></figcaption></figure>

### How translations work

Translations follow this flow:

* Add your supported languages in [Languages](/localization/languages.md)
* Mark strings with `=$t("...")` in task inputs or settings
* Refresh the translation list
* Add translated values for each language

### Mark a string for translation

Use the `$t()` helper when you want a string to be translated.

Start the value with `=` so Hexabot evaluates it as an expression.

```yaml
defs:
  greet_user:
    kind: task
    action: send_text_message
    inputs:
      text: =$t("Hello World!")
```

You can use the same pattern in task settings and other workflow fields that accept expressions.

{% hint style="info" %}
Only strings wrapped with `$t()` are collected in **Translations**.
{% endhint %}

### Add translations

<figure><img src="https://3193821221-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F12ok30OlFEEb6WoWfH8l%2Fuploads%2F6Gzr1EJjl95nlAAs18Jr%2Fimage.png?alt=media&amp;token=5f3b5bb5-db71-4be9-bf14-4c157c0a09ac" alt="" width="479"><figcaption></figcaption></figure>

1. Open **Localization** → **Translations**.
2. Click **Refresh**.
3. Select the string you want to translate.
4. Enter the translated value for each language.
5. Click **Submit**.

**Refresh** scans your workflow definitions for translatable strings. It also removes entries that are no longer used.

### Good practices

{% hint style="info" %}

* Use the same source string when the meaning is the same.
* Click **Refresh** after changing workflow text.
* Test each language in a real workflow run.
  {% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.hexabot.ai/localization/translations.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
