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

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

The question should be specific, self-contained, and written in natural language.
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.
