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

# Custom Translators

The **AI Tools → Translate → Translators** tab holds every translator in your organization. Here you can review the built-in OnlyMonster translators and create your own, running on your agency's model.

### Translator Types

| Type       | Badge             | What it is                                                                                                                   | What you can configure                        |
| ---------- | ----------------- | ---------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
| **System** | blue **System**   | Built-in OnlyMonster translators: Incoming Default, Outgoing Default and Outgoing Native. They run on the OnlyMonster engine | Languages, model and prompt cannot be changed |
| **Custom** | yellow **Custom** | Translators created by your agency. They run on a preset from AI Gateway                                                     | Language, preset, prompt and post-processing  |

### What the Translator Card Shows

* The translator name
* Languages: the supported languages for System translators, or a pair such as **Auto-detect → German** for custom ones
* A description (**Fast and accurate translation**) for System translators, or the preset and model (**openai/gpt-4o-mini**) for custom ones
* The type: **System** or **Custom**
* The direction: **Incoming** or **Outgoing**
* The **Connected** status, if the translator is enabled on at least one account

Use the **Type** and **Direction** filters, the **Hide Connected** toggle, and the search field to navigate the list.

### Creating a Custom Translator

{% hint style="info" %}
Create a preset in AI Gateway before you start — a translator cannot be saved without one.&#x20;
{% endhint %}

#### Step 1. Choose the Direction

Click **New Translator** and select which messages the translator will handle:

* **Incoming Messages** — messages you receive from fans
* **Outgoing Messages** — messages you send

The selected direction is displayed in the page header next to the **Custom** badge.

#### Step 2. Translator Basics

This section sets the name, the language and the preset.

| Field                 | What to enter                                                                 |
| --------------------- | ----------------------------------------------------------------------------- |
| **Translator Name**   | The name of the translator — this is how you will find it in lists            |
| **Translate to**      | The language messages are translated into                                     |
| **AI Gateway Preset** | The preset from AI Gateway that defines the model, the key and the parameters |

{% hint style="info" %}
The source language is detected automatically, so there is no need to select it. This is why a custom translator appears in the list as **Auto-detect → target language**.&#x20;
{% endhint %}

#### Step 3. Prompt

The **Prompt** section holds the instructions the model follows when it translates.

**System Prompt** — the main instruction applied to every translation. Use it to describe the tone, the style and any rules the model should follow.

**User Message** — the request sent to the model together with the message itself. This is where the text being translated is inserted.

Both fields are required and empty by default: you need to fill them in yourself. The grey text in a field is an example of the wording, not a saved value.

**Variables**

Variables are placeholders that are automatically replaced with real data at the moment of translation. The available variables are shown as chips under each field; an asterisk marks a variable that is required in that field.

| Variable        | What it inserts                                        | Where it is available                  |
| --------------- | ------------------------------------------------------ | -------------------------------------- |
| `{sourceText}`  | The message being translated                           | User Message — required                |
| `{targetLang}`  | The language the message is translated into            | System Prompt; User Message — required |
| `{sourceLang}`  | The original language                                  | System Prompt, User Message            |
| `{chatHistory}` | Recent messages from the conversation, used as context | System Prompt, User Message            |

An example of a completed **User Message**:

```
Translate the following message from {sourceLang} to {targetLang}:
{sourceText}
```

#### Step 4. Post-Processing

Post-processing is applied to the finished translation, after the model has responded. Both options are off by default.

| Option                    | What it does                                                        |
| ------------------------- | ------------------------------------------------------------------- |
| **No Dots Before Emojis** | Removes the period before an emoji: `Sure. 😊` → `Sure 😊`          |
| **No Dashes**             | Removes dashes from the text: `well — I love it` → `well I love it` |

#### Step 5. Test and Save

**Test Translator** is available on every translator screen. It shows the translation result directly in the control panel, without sending anything to fans. Save your settings before you run a test, then check the output and click **Create**.

The blue dots next to **Translator Basics** and **Prompt** in the left menu mean that the section still has empty required fields.

Once created, the translator appears in the **Translators** list, but it only starts translating after you connect it to accounts.

{% hint style="info" %}
Outgoing translators have two additional sections in the left menu — **Glossary** and **Customization**. You can fill them in while creating the translator or come back to them later.
{% endhint %}

### Translator Actions

Click the **···** icon on a translator card to open the actions menu.

| Action                 | What it does                                                                                                |
| ---------------------- | ----------------------------------------------------------------------------------------------------------- |
| **Edit**               | Opens the translator settings                                                                               |
| **Connect to Account** | Connects the translator to accounts                                                                         |
| **Duplicate**          | Creates a copy of the translator — useful for building a variant with a different target language or prompt |
| **Delete**             | Deletes the translator                                                                                      |

#### Connect to Account

This is the fastest way to enable a translator on several accounts at once. A translator can be connected to:

* all accounts in the organization,
* selected accounts,
* an account group — if you use groups, the translator is connected to the entire group.

{% hint style="info" %}
The same result can be achieved from the account side: the **Accounts** tab opens the translation setup for a specific account. See Connecting Translators to Accounts.&#x20;
{% endhint %}

### Editing a Translator

Open a translator from the **Translators** list, or select **Edit** in the **···** menu. Apply your changes with **Save Changes**.

The available sections depend on the direction and the type of the translator:

| Section               | Incoming    | Outgoing          |
| --------------------- | ----------- | ----------------- |
| **Translator Basics** | Custom only | Custom only       |
| **Prompt**            | Custom only | Custom only       |
| **Glossary**          | —           | System and Custom |
| **Customization**     | —           | System and Custom |

For System translators, the languages, the model and the prompt cannot be changed.

{% hint style="info" %}
**Glossary** and **Customization** are available for outgoing translators only. Translators that handle incoming messages do not have these sections.&#x20;
{% endhint %}

* **Glossary** — rules for specific words and phrases
* **Customization** — writing style and typo settings

### Which Translator Is Used in Chat

If a custom translator is enabled on the account, it is used by default. Members can switch between the available translators directly in chat — both in the message input field and in the page translation widget.

### Permissions

| Permission        | What it allows                       |
| ----------------- | ------------------------------------ |
| View AI Translate | View translators and their settings. |
| Edit AI Translate | Create and edit translators.         |

Selecting a preset while creating a translator also requires access to AI Gateway — **View AI Gateway**.


---

# 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.onlymonster.ai/ai-magic-assistant/custom-translators.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.
