> 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

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

Hexabot translates strings that you explicitly mark in workflow definitions.

<figure><img src="/files/wlqseqFeBozj5MP6G9b0" 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="/files/rzDNNB4A2NXh8BJTYSq2" 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 dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

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

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
