# Welcome to iTranslator Documentation!

❤️ Thanks for using iTranslator on your server. Feel free to join the Support Discord if you have trouble configuring iTranslator.

## Description

> iTranslator is the best translator bot on Discord that will help you grow your community with people from all over the world by providing a powerful and instantaneous tool to communicate between different languages for **FREE**. The bot allows you to run translation on your discord with great simplicity.

#### ⚡ Features

* +109 languages supported.
* Automatic translation of roles/users and channels.
* Translation by reacting to messages with a flag emoji.
* Translate & detect messages with slash commands.
* Translate & detect messages with context/menu commands.
* Translate messages of other bots & webhooks.
* Auto-Erase feature to keep your server clean (moderation friendly).
* Advanced statistics system for administrators.
* Fully customizable features & translation styles (text, embed, webhook and more...).
* Fast & friendly support.
* AI powered translation.
* TTS (Text-To-Speech) features.
* Transcription features.
* Support "User-Installable-App", allows you to translate anywhere, anytime on Discord even DMs, G(DMs), and Servers where the bot is not installed.
* Nearly no translation limit thanks to /checkvote.
* Premium features for advanced users / large servers.

#### 👑 Designed for @everyone

**FREE**

iTranslator is FREE and thanks to the command /checkvote you can reset the limit of 10.000 characters at anytime.

**Premium**

If you want to support the bot, don't use checkvote or want to provide a premium translation quality to your community, you can subscribe to the premium plan to benefit from improved translation engine and many other premium features.

#### ❓ Need some Help?

You can get all the support needed on the [Support Discord](https://discord.itranslator.app), you can also submit bugs-report and suggestions if needed!

**🔗 Useful Links**

[Support Discord](https://discord.itranslator.app)

[Invite Link](https://invite.itranslator.app) [Website](https://itranslator.app/)

[Documentation](https://docs.itranslator.app)

[Premium](https://itranslator.app/premium)

## Quick Links

{% content-ref url="/pages/9qL4crWnDpGIpSLbcQtv" %}
[What is iTranslator](/overview/what-is-itranslator)
{% endcontent-ref %}

{% content-ref url="/pages/ZdcURjWggDtUYrOAUx4E" %}
[Features](/overview/features)
{% endcontent-ref %}

{% content-ref url="/pages/CYvlnCX1AhWJ8qIYwlWB" %}
[Premium](/overview/premium)
{% endcontent-ref %}

{% content-ref url="/pages/ITQLfPTbksRDMZrk8VjZ" %}
[FAQ](/overview/faq)
{% endcontent-ref %}

## Get Started

We've put together some helpful guides for you to get set up with our product quickly and easily.

{% content-ref url="/pages/XQor8sRBmVgMvnHAuUTe" %}
[Getting Set Up](/fundamentals/getting-set-up)
{% endcontent-ref %}


# What is iTranslator

### 🔥 **What is iTranslator?**

> iTranslator is simply a fast, easy-to-use and efficient *(flow)* translation application designed for Discord with an insane user experience in mind.

> It offers you the possibility to translate automatically *(or not)* any message in many different languages. It also has many simple interaction features to make the experience smoother and more enjoyable.

### 🎉 Since when is iTranslator running?

> iTranslator was approved by Discord in July 2022 and has been running ever since.

### 💡 **Why does iTranslator exist?**

> Discord Team has done a fabulous job over the past few years to make discord an incredible communication platform that now brings together millions of people and communities. We believe that iTranslator can do even more, bringing together even more communities by breaking down language barriers. Indeed, you can simply use iTranslator as a translation tool but also as a way to communicate with people from all over the world speaking many different languages on your servers. *Let's break the barriers with iTranslator.*


# Features

{% hint style="info" %}
**NOTE:** This is a non-exhaustive list of all features that includes all plans.
{% endhint %}

### Translation by Flag

<figure><img src="/files/GkQw99YdoNEMRoWO5lsp" alt=""><figcaption></figcaption></figure>

### Translation / detection commands

<figure><img src="/files/FwimykgmXnkZRXaxxAtK" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/yIgoXlsP7H4E2BHD397C" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/sYmi7xJHJdqi5hrVNhrs" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/Mzp3Q2Hm9nxFiQQPpfjN" alt=""><figcaption></figcaption></figure>

### Automatic translation

<figure><img src="/files/9637I1imQeFgxmMEhQCH" alt=""><figcaption></figcaption></figure>

### Auto-Erase

<figure><img src="/files/1Kb8rpFJHkibkT2znjKC" alt=""><figcaption></figcaption></figure>

### Statistics

<figure><img src="/files/lXYBH5WxaZR7kJTaEmno" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**NOTE:** There is way more features available on iTranslator, [join our community](https://discord.itranslator.app) to discover the power of this bot!
{% endhint %}


# Premium

### What is iTranslator Premium?

> iTranslator premium is an improved version of FREE iTranslator providing a lot of powerful features for premium discord servers. You can find more information about it here: <https://itranslator.app/premium>

### How to subscribe to iTranslator Premium?

* Go to <https://itranslator.app/premium>
* Choose your plan **(subscribing yearly offer 2 FREE months)**
* Click on "Subscribe", then follow the checkout session<br>

<figure><img src="/files/u3EBj8zi2lyDKzByvtyT" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
**NOTE:** You can choose a custom quantity at the moment of checkout knowing the more premium plans you take, the cheaper the price.
{% endhint %}

### How to manage my subscription?

* Go to <https://itranslator.app/dashboard/manage-subscription>
* Click on "Manage Subscription"<br>

{% hint style="info" %}
**NOTE:** You can cancel, update your payment information (etc...) your subscription at any time.
{% endhint %}

### How to enable premium for my server/guild?

#### 1) Enable premium for a guild/server

* Go on your discord server.
* Run the command `/premium enable`
* You are done!<br>

<figure><img src="/files/76J2mqGExc0hpole3hhn" alt=""><figcaption></figcaption></figure>

#### 2) Disable premium for a guild/server

* Go on your discord server
* Run the command `/premium disable`
* You are done!

<figure><img src="/files/v4Qwmwpzor7tKNTVIn6T" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**NOTE:** Disabling your subscription will not cancel it! If you want to cancel your subscription completely you will have to do it from: <https://itranslator.app/dashboard/manage-subscription>
{% endhint %}

{% hint style="info" %}
**NOTE:** You can specify a guild id to reach a specific server/guild from everywhere (in another server or in private message with iTranslator).
{% endhint %}

## What if I want to use iTranslator Premium in more than 1 server?

Each subscription is valid for 1 server only, if you need iTranslator Premium for more than 1 server, you will have to take another subscription for each server.

## For Pro users how does that works?

Exactly the same as for premium but the command is now `/pro` instead of `/premium`.


# FAQ

<details>

<summary><strong>1. Is iTranslator really free?</strong></summary>

Yes! You can use iTranslator for free, it contains a character limit but you can reset it very easily in a few seconds and still for free. There exists a premium plan which provides more abilities and a better translation service but this is designed for users that need a top tier service or users that just want to support the project.

</details>

<details>

<summary><strong>2. How to reset my characters limit?</strong></summary>

There is a quick and easy tutorial [right here](/fundamentals/translation-limit)**.**

</details>

<details>

<summary><strong>3. In which case would I need iTranslator?</strong></summary>

Well, iTranslator can feed a lot of needs!

If you are:

* A gaming clan/alliance/team leader? You need iTranslator.
* An enterprise with workers from worldwide? You need iTranslator.
* A creator wanting to provide a product to everyone? You need iTranslator.
* A discord server owner of any type of community server (learning, game, chill etc...), the best way is to make everyone able to speak any language easily. You need iTranslator.

It looks essential now to use iTranslator on your discord servers if you want to create a large community and grow your servers faster.

iTranslator can also be used as simple util for quick translation or training yourself as any language directly in discord. *Anddd much more...*

</details>

<details>

<summary><strong>4.</strong> How can I see the supported languages?</summary>

They are listed [right here](https://docs.itranslator.app/fundamentals/languages-list).

</details>

<details>

<summary><strong>5.</strong> Is there a youtube tutorial?</summary>

Yes, [RIGHT HERE](https://www.youtube.com/watch?v=C3DTsEG7HJI).

</details>

<details>

<summary>6<strong>.</strong> I have a suggestion / I found a bug / I need support!</summary>

Do not worry! Our team is available to assist you on Discord at: [https://discord.itranslator.app](https://discord.itranslator.app/)

</details>

{% hint style="info" %}
**You think we missed something important? Feel free to send us your suggestion!**
{% endhint %}


# Getting Set Up

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="2139">ℹ️</span> Step 1: Invite iTranslator on your server.</summary>

Just click on [this link](https://invite.itranslator.app) and follow the steps.

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="2705">✅</span> Step 2: Be sure everything works correctly.</summary>

If you have followed the "Step 1" correctly, you *should* not have any issue. Try to use the command /help and /translate to start learning how iTranslator works. If everything is working great, you can jump to "Step 3"!

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="2699">⚙️</span> Step 3: Configuring iTranslator considering your needs.</summary>

There are 2 things you may want to configure directly:

1. [Auto-Translate](/amazing-features/automatic-translation) (automatic-translation).
2. [Flag-Reaction](/amazing-features/translation-by-flag) (translation by flag).

</details>

<details>

<summary><span data-gb-custom-inline data-tag="emoji" data-code="1f62b">😫</span> Step 4: The hard part...</summary>

We are joking of course, this is that simple! Start enjoying iTranslator.

</details>


# Commands

List of all available commands in iTranslator

{% hint style="info" %}
Some commands come with additional arguments/subcommands that cannot be provided here, but all the more "complex" commands have a dedicated page for appropriate explanations.
{% endhint %}

### General

<table><thead><tr><th width="145.66666666666666">Command</th><th width="379">Description</th><th>Default Permission</th></tr></thead><tbody><tr><td>/help</td><td>Display the help message with list of commands and few useful links.</td><td>None</td></tr><tr><td><a href="/pages/tjazkhQFLB4daSUKdT4b">/checkvote</a></td><td>Allow to reset the characters for unlimited translations.</td><td>None</td></tr><tr><td><a href="/pages/tjazkhQFLB4daSUKdT4b">/checkvote-notify</a></td><td>Enable or disable vote reminder.</td><td>None</td></tr><tr><td>/about</td><td>Display useful information about iTranslator itself and your discord server.</td><td>None</td></tr><tr><td>/languages</td><td>Display all available languages.</td><td>None</td></tr></tbody></table>

### Admin

<table><thead><tr><th width="185.66666666666663">Command</th><th width="342">Description</th><th>Default Permission</th></tr></thead><tbody><tr><td><a href="/pages/hzB57wtarxlX4q91y4Nl">/flagreaction</a></td><td>Toggle (true/false) the Flag-Reaction feature.</td><td>MANAGE_SERVER</td></tr><tr><td><a href="/pages/IqRqJTd3r4KYCBLZ9bPl">/autotranslate</a></td><td>Allow to configure the automatic-translation system.</td><td>MANAGE_SERVER</td></tr><tr><td><a href="/pages/LI1olCJkvIgTovA3PuG4">/translaterole</a></td><td>Allow to configure the role-translation system.</td><td>MANAGE_SERVER</td></tr><tr><td><a href="/pages/LO0Ohbmpk30ywP0ZnIJ3">/autoerase</a></td><td>Manage the Auto-Erase feature.</td><td>MANAGE_SERVER</td></tr><tr><td><a href="/pages/XyLViQVGfu65Kaso66A2">/autoreact</a></td><td>Manage the Auto-React feature.</td><td>MANAGE_SERVER</td></tr><tr><td><a href="/pages/1A9LmSion8FlK4GZ6P3S">/stats</a></td><td>Show your translation statistics.</td><td>MANAGE_SERVER</td></tr><tr><td><a href="/pages/uMYKgDiyPPPx8SSfCl6D">/translate-ban</a></td><td>Ban users &#x26; roles from using translation features.</td><td>MANAGE_SERVER</td></tr><tr><td><a href="/pages/4zfEWg6PktRPfPcb8qnG">/text-replacement</a></td><td>Manage text replacements applied before translation.</td><td>MANAGE_SERVER</td></tr><tr><td><a href="/pages/txEoURg1UceiD0WuqFRx">/conversation-mode</a></td><td>Configure the Conversation Mode — batch and translate messages together after a delay. (Pro only)</td><td>MANAGE_SERVER</td></tr><tr><td><a href="/pages/kBWhVrKxJGUuYUUMJTTL">/custombot</a></td><td>Customize the profile of iTranslator on your server.</td><td>MANAGE_SERVER</td></tr></tbody></table>

### Premium

<table><thead><tr><th width="256.66666666666663">Command</th><th width="316">Description</th><th>Default Permission</th></tr></thead><tbody><tr><td><a href="/pages/CYvlnCX1AhWJ8qIYwlWB">/premium</a></td><td>Manage your premium subscription.</td><td>None</td></tr><tr><td><a href="/pages/CYvlnCX1AhWJ8qIYwlWB">/pro</a></td><td>Manage your pro subscription.</td><td>None</td></tr></tbody></table>

{% hint style="warning" %}
**PLEASE NOTE:** Be sure to have the permission to perform the command before reporting any issue.
{% endhint %}

### Translation

<table><thead><tr><th width="204.66666666666663">Command</th><th width="266">Description</th><th>Default Permission</th></tr></thead><tbody><tr><td>/translate</td><td>Allow to translate text.</td><td>None</td></tr><tr><td>/detect</td><td>Allow to detect the language of a text.</td><td>None</td></tr><tr><td><a href="/pages/wMCaQCNYGI8g2bcwiv7P">/set-context-language</a></td><td>Set the context command language for yourself.</td><td>None</td></tr></tbody></table>

### Voice

<table><thead><tr><th width="220">Command</th><th width="316">Description</th><th>Default Permission</th></tr></thead><tbody><tr><td><a href="/pages/YuHMG1DFw7235WaRIV7U">/voice help</a></td><td>Show your remaining TTS &#x26; transcription quotas and the next reset date.</td><td>MANAGE_SERVER</td></tr><tr><td><a href="/pages/YuHMG1DFw7235WaRIV7U">/voice tts</a></td><td>Generate speech from text and play it live in your current voice channel.</td><td>MANAGE_SERVER</td></tr><tr><td><a href="/pages/YuHMG1DFw7235WaRIV7U">/voice tts-file</a></td><td>Generate speech from text and upload it as an audio file.</td><td>MANAGE_SERVER</td></tr><tr><td><a href="/pages/YuHMG1DFw7235WaRIV7U">/voice transcribe</a></td><td>Start a live transcription of your voice channel in a dedicated thread.</td><td>MANAGE_SERVER</td></tr></tbody></table>

{% hint style="info" %}
All Voice subcommands require an active [iTranslator PRO](https://itranslator.app/premium) subscription.
{% endhint %}

{% hint style="info" %}
All commands support [`Slash Commands`](https://support.discord.com/hc/en-us/articles/1500000368501-Slash-Commands-FAQ).
{% endhint %}


# Context Commands

> Context commands are very useful as shortcut for regular slash commands.

We currently have 2 context commands:

* Detect Language
* Translate Message

<figure><img src="/files/yIgoXlsP7H4E2BHD397C" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/Mzp3Q2Hm9nxFiQQPpfjN" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Translate command will translate the message into your native Discord configured language. In our example, Discord is configured in French, so it translates the message into French.\
\
Actually you can change this, [read this page](/fundamentals/context-commands/manually-change-native-language) for more information about it.
{% endhint %}


# Manually change native language

In context commands, iTranslator will detect the native language of your Discord account and suppose your language from it. As example if your Discord is configured to French then the Translate context command will translate to French. In some cases, you will want to change the language and it is possible!

Run the command `/set-context-language` anywhere and your language will be changed!


# Translation Limit

When using iTranslator you might face an issue depending on your usage of the translation service which is "LIMIT REACHED". **Do not worry**, here are **2 solutions** to fix this very easily.

## Solution 1 (FREE)

> First, run the command `/checkvote`, if you didn't vote for the bot it will send you a link to top.gg which is a website where a lot of bots are listed. This link will lead you to a page where you can vote for iTranslator and so support us by giving us visibility on top.gg! Once you voted, just run the command `/checkvote` again and your characters will be reset to 0 and you can start using the bot again. Also do not forget that all users can do that for you on your server.

<details>

<summary>Images to Help</summary>

Run the command `/checkvote`.

<img src="/files/sMLvZDEMByi585PhYQYZ" alt="" data-size="original">\
\
Log in if not done already.

Click on "Vote".

![](/files/tDakDkIYnWIfkMjuzEDN)\
\
Run the command `/checkvote` again.

![](/files/nrvZq9dU2zB2vJK6cKrC)

</details>

## Solution 2 (PAID)

> This solution is even more simple than the previous one and also make you support iTranslator in a different way. The solution is to simply subscribe to the [Premium Plan](/overview/premium), so the limit will no longer exist.

## Limitations

<table><thead><tr><th width="224"></th><th data-type="number">Free</th><th>Premium</th><th>Pro</th></tr></thead><tbody><tr><td>Server Character Limit*</td><td>10000</td><td>Unlimited</td><td>Unlimited</td></tr><tr><td>User Character Limit*</td><td>2000</td><td>Unlimited</td><td>Unlimited</td></tr><tr><td>Auto-Translate Limit</td><td>30</td><td>Unlimited</td><td>Unlimited</td></tr><tr><td>Role-Translation Limit</td><td>3</td><td>Unlimited</td><td>Unlimited</td></tr><tr><td>Transcription Limit**</td><td>0</td><td>0</td><td>24 hours (1 440 minutes)</td></tr><tr><td>Text-To-Speech Limit**</td><td>0</td><td>0</td><td>100 000 chars</td></tr></tbody></table>

\*Limit can be reset at any time for any plan

\*\*Custom limitation is possible by contacting us

{% hint style="warning" %}
You can reset the characters limit (for server & user) for free at any time using the `/checkvote` command in your chats!
{% endhint %}


# Improve Translation Accuracy

You may sometimes face a problem when using iTranslator, which is that the translation is not very accurate. So here are some explanations why and how to fix it.

## 1. Provide a source language

> You may have noticed that you can provide iTranslator with a source language, but this is optional. If there is no source language, iTranslator will try to detect the language of the texts itself and then translate it, sometimes it might fail to detect it and thus provide a wrong (or not accurate) translation. So we recommend to specify the source language if possible.

## 2. Use longer sentences

> As explained above. The FREE translation engine can sometimes be inaccurate and sometimes have trouble recognizing the source of your language and then provide an incorrect translation. The problem is that sometimes you can't provide a source language to help, so what you can do is: try to increase the number of characters in your sentence to give iTranslator more information about the languages you actually speak. Note that this will almost never be useful if you have the Premium plan, the Premium translation engine is much more accurate.

## 3. Subscribe to Premium

> Subscribing to [iTranslator Premium](/overview/premium) will make available our new powerful translation engine on your server. This will unlock +79 languages and a much improved translation accuracy for your translations.


# Ignore content & channels in translations

**In the sub-pages of this category, you'll find lots of ways to ignore text/message translations for certain words, phrases or even channels.**

{% content-ref url="/pages/NWSi66eiBdffTldX662T" %}
[Ignore words in translations](/fundamentals/ignore-content-and-channels-in-translations/ignore-words-in-translations)
{% endcontent-ref %}

{% content-ref url="/pages/YJwLPuFFvs7tFqh9asbI" %}
[Ignore sentences in translations](/fundamentals/ignore-content-and-channels-in-translations/ignore-sentences-in-translations)
{% endcontent-ref %}

{% content-ref url="/pages/iOMrhmFzVFXU6rZkDqVv" %}
[Ignore channel to translate](/fundamentals/ignore-content-and-channels-in-translations/ignore-channel-to-translate)
{% endcontent-ref %}

{% content-ref url="/pages/zV2nQnSYcgWg368AB8DA" %}
[Ignore channel to Role-Translate specifically](/fundamentals/ignore-content-and-channels-in-translations/ignore-channel-to-role-translate-specifically)
{% endcontent-ref %}


# Ignore words in translations

It's very easy to ignore words in your translations, simply use "<" and ">". As in the following example: **"I want to play to \<MyCoolGame> all the night!"**.

<figure><img src="/files/W3ac3k9rvgxsuYKBK0Yf" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**THIS FEATURE IS ACTUALLY PREMIUM ONLY!**
{% endhint %}


# Ignore sentences in translations

It's also quite easy to ignore whole phrases in your sentences by using **\`Your sentence\`**, as in the following examples:

> Hi! You'll never guess what he said to me... Word for word: **'**&#x59;ou're the best.**'**

<figure><img src="/files/ocqLDOZrw6rIPL16rIMO" alt=""><figcaption></figcaption></figure>

> I've got a big problem with my code. Can you help me?
>
> ```cpp
> #include <iostream>
>
> int main() {
>     std::cout << "Hello, World!" << std::endl;
>     return 0;
> }
> ```
>
> <img src="/files/bIVmElpyuPrKsDGcSrwZ" alt="" data-size="original">

<figure><img src="/files/3IwLVs00AnMl3upLp6YS" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
**THIS FEATURE IS ACTUALLY PREMIUM ONLY!**
{% endhint %}


# Ignore channel to translate

If you don't want any translations done in a channel (includes Flag-Reaction, Auto-Translate, Role-Translate). Simply add the word "no-translate" to the channel topic.

<figure><img src="/files/eRFN8Ogwsb7RE4LHnrXg" alt=""><figcaption></figcaption></figure>


# Ignore channel to Role-Translate specifically

Similar to [Ignore channel to translate](/fundamentals/ignore-content-and-channels-in-translations/ignore-channel-to-translate), you can ignore a specific channel for the Role-Translate feature.

Simply add the word "no-roletranslate" to the channel topic.

<figure><img src="/files/wl1x9WppAlhgMtCouXy7" alt=""><figcaption></figcaption></figure>


# Languages List

We are supporting a total of +109 languages!

{% hint style="success" %}
Premium languages are up to **10 times** more **accurate** than the free ones.
{% endhint %}

| Language              | Code     | Flag(s)                       |
| --------------------- | -------- | ----------------------------- |
| Afrikaans             | AF       | 🇿🇦                          |
| Albanian              | SQ       | 🇦🇱                          |
| Amharic               | AM       | 🇪🇹                          |
| Arabic                | AR       | 🇸🇦 🇦🇪 🇪🇬 🇮🇶 🇲🇦 🇩🇿 |
| Armenian              | HY       | 🇦🇲                          |
| Azerbaijani           | AZ       | 🇦🇿                          |
| Basque                | EU       | 🇪🇸                          |
| Belarusian            | BE       | 🇧🇾                          |
| Bengali               | BN       | 🇧🇩                          |
| Bosnian               | BS       | 🇧🇦                          |
| Bulgarian             | BG       | 🇧🇬                          |
| Catalan               | CA       | 🇪🇸                          |
| Cebuano               | CEB      | 🇵🇭                          |
| Chichewa              | NY       | 🇲🇼                          |
| Chinese (Simplified)  | ZH\_HANS | 🇨🇳                          |
| Chinese (Traditional) | ZH\_HANT | 🇹🇼                          |
| Corsican              | CO       |                               |
| Haitian Creole        | HT       | 🇭🇹                          |
| Croatian              | HR       | 🇭🇷                          |
| Czech                 | CS       | 🇨🇿                          |
| Danish                | DA       | 🇩🇰                          |
| Dutch                 | NL       | 🇳🇱 🇧🇪                     |
| English               | EN       | 🇬🇧 🇺🇸 🇨🇦 🇦🇺 🇺🇲      |
| Esperanto             | EO       | 🌍                            |
| Estonian              | ET       | 🇪🇪                          |
| Finnish               | FI       | 🇫🇮                          |
| French                | FR       | 🇫🇷 🇧🇪 🇲🇶                |
| Frisian               | FY       | 🇳🇱                          |
| Galician              | GL       | 🇪🇸                          |
| Georgian              | KA       | 🇬🇪                          |
| German                | DE       | 🇩🇪                          |
| Greek                 | EL       | 🇬🇷                          |
| Gujarati              | GU       | 🇮🇳                          |
| Hausa                 | HA       | 🇳🇬                          |
| Hawaiian              | HAW      |                               |
| Hebrew                | HE       | 🇮🇱                          |
| Hindi                 | HI       | 🇮🇳                          |
| Hmong                 | HMN      | 🇨🇳                          |
| Hungarian             | HU       | 🇭🇺                          |
| Icelandic             | IS       | 🇮🇸                          |
| Igbo                  | IG       | 🇳🇬                          |
| Indonesian            | ID       | 🇮🇩                          |
| Irish                 | GA       | 🇮🇪                          |
| Italian               | IT       | 🇮🇹                          |
| Japanese              | JA       | 🇯🇵                          |
| Javanese              | JV       | 🇮🇩                          |
| Kannada               | KN       | 🇮🇳                          |
| Kazakh                | KK       | 🇰🇿                          |
| Khmer                 | KM       | 🇰🇭                          |
| Kinyarwanda           | RW       | 🇷🇼                          |
| Korean                | KO       | 🇰🇷                          |
| Kurdish (Kurmanji)    | KU       | 🇮🇶                          |
| Kyrgyz                | KY       | 🇰🇬                          |
| Lao                   | LO       | 🇱🇦                          |
| Latin                 | LA       | 🏰                            |
| Latvian               | LV       | 🇱🇻                          |
| Lithuanian            | LT       | 🇱🇹                          |
| Luxembourgish         | LB       | 🇱🇺                          |
| Macedonian            | MK       | 🇲🇰                          |
| Malagasy              | MG       | 🇲🇬                          |
| Malay                 | MS       | 🇲🇾                          |
| Malayalam             | ML       | 🇮🇳                          |
| Maltese               | MT       | 🇲🇹                          |
| Maori                 | MI       | 🇳🇿                          |
| Marathi               | MR       | 🇮🇳                          |
| Mongolian             | MN       | 🇲🇳                          |
| Myanmar (Burmese)     | MY       | 🇲🇲                          |
| Nepali                | NE       | 🇳🇵                          |
| Norwegian             | NO       | 🇳🇴                          |
| Odia                  | OR       | 🇮🇳                          |
| Pashto                | PS       | 🇦🇫                          |
| Persian               | FA       | 🇮🇷                          |
| Polish                | PL       | 🇵🇱                          |
| Portuguese            | PT       | 🇵🇹                          |
| Brazilian Portuguese  | PT\_BR   | 🇧🇷                          |
| Punjabi               | PA       | 🇮🇳                          |
| Romanian              | RO       | 🇷🇴                          |
| Russian               | RU       | 🇷🇺                          |
| Samoan                | SM       | 🇼🇸                          |
| Scots Gaelic          | GD       | 🏴󠁧󠁢󠁳󠁣󠁴󠁿                |
| Serbian Cyrilic       | SR\_CYRL | 🇷🇸                          |
| Sesotho               | ST       | 🇱🇸                          |
| Shona                 | SN       | 🇿🇼                          |
| Sindhi                | SD       | 🇵🇰                          |
| Sinhala               | SI       | 🇱🇰                          |
| Slovak                | SK       | 🇸🇰                          |
| Slovenian             | SL       | 🇸🇮                          |
| Somali                | SO       | 🇸🇴                          |
| Spanish               | ES       | 🇪🇸 🇲🇽 🇨🇱 🇪🇦 🇨🇴      |
| Sundanese             | SU       | 🇮🇩                          |
| Swahili               | SW       | 🇰🇪                          |
| Swedish               | SV       | 🇸🇪                          |
| Filipino (Tagalog)    | TL       | 🇵🇭                          |
| Tajik                 | TG       | 🇹🇯                          |
| Tamil                 | TA       | 🇮🇳                          |
| Tatar                 | TT       |                               |
| Telugu                | TE       | 🇮🇳                          |
| Thai                  | TH       | 🇹🇭                          |
| Turkish               | TR       | 🇹🇷                          |
| Turkmen               | TK       | 🇹🇲                          |
| Ukrainian             | UK       | 🇺🇦                          |
| Urdu                  | UR       | 🇵🇰                          |
| Uyghur                | UG       | 🇨🇳                          |
| Uzbek                 | UZ       | 🇺🇿                          |
| Vietnamese            | VI       | 🇻🇳                          |
| Welsh                 | CY       | 🏴󠁧󠁢󠁷󠁬󠁳󠁿                |
| Xhosa                 | XH       | 🇿🇦                          |
| Yiddish               | YI       | 🇮🇱                          |
| Yoruba                | YO       | 🇳🇬                          |
| Zulu                  | ZU       | 🇿🇦                          |

## List of languages that are available for non-premium users (all other languages are available for premium users)

| Language             | Code     | Flag(s)                       |
| -------------------- | -------- | ----------------------------- |
| English              | EN       | 🇬🇧 🇺🇸 🇨🇦 🇦🇺 🇺🇲      |
| Arabic               | AR       | 🇸🇦 🇦🇪 🇪🇬 🇮🇶 🇲🇦 🇩🇿 |
| Azerbaijani          | AZ       | 🇦🇿                          |
| Catalan              | CA       | 🇪🇸                          |
| Chinese (Simplified) | ZH\_HANS | 🇨🇳                          |
| Czech                | CS       | 🇨🇿                          |
| Danish               | DA       | 🇩🇰                          |
| Dutch                | NL       | 🇳🇱 🇧🇪                     |
| Esperanto            | EO       | 🌍                            |
| Finnish              | FI       | 🇫🇮                          |
| French               | FR       | 🇫🇷 🇧🇪 🇲🇶                |
| German               | DE       | 🇩🇪                          |
| Hindi                | HI       | 🇮🇳                          |
| Hungarian            | HU       | 🇭🇺                          |
| Indonesian           | ID       | 🇮🇩                          |
| Irish                | GA       | 🇮🇪                          |
| Italian              | IT       | 🇮🇹                          |
| Japanese             | JA       | 🇯🇵                          |
| Korean               | KO       | 🇰🇷                          |
| Persian              | FA       | 🇮🇷                          |
| Polish               | PL       | 🇵🇱                          |
| Portuguese           | PT       | 🇵🇹                          |
| Russian              | RU       | 🇷🇺                          |
| Slovak               | SK       | 🇸🇰                          |
| Spanish              | ES       | 🇲🇽 🇨🇱 🇪🇦 🇨🇴           |
| Swedish              | SV       | 🇸🇪                          |
| Turkish              | TR       | 🇹🇷                          |
| Ukrainian            | UK       | 🇺🇦                          |

{% hint style="info" %}
Please note that we cannot provide the same languages for Premium & Free users because the translation engine used for Premium is much more expensive, so only Premium users can make it survive. This also means that Premium translator provide better accuracy of translations with each language.
{% endhint %}


# Translation by Flag

Hey! Here we will see how to use the Flag Reaction feature.

<figure><img src="/files/GkQw99YdoNEMRoWO5lsp" alt=""><figcaption></figcaption></figure>

## Enable it

This is very simple just run the command `/flagreaction toggle` it will enable or disable the feature (be sure it is enabled)

## Keep the server clean

Some of you will want to keep the server clean, so you will want to make the translated message disappearing after a while, here is how you can do it. Run the command `/flagreaction config auto-disappear (delay)`, the delay is in seconds. After X second(s), the translated message will be automatically deleted. If you want to disable this feature set the delay to 0.

<figure><img src="/files/9fwTsrON3yHiU2Aa37uT" alt=""><figcaption></figcaption></figure>

## Sending translation in private messages (\*Premium only)

Some of you will want to send the translation in private message only and not on your server. This can be done using `/flagreaction config send-in-pm`.

<figure><img src="/files/MiHctyLp9tVoJqqVk4Et" alt=""><figcaption></figcaption></figure>

## Send in thread

You can also send the translations in thread if needed. This is another way to "keep the server clean". This option can be enabled using `/flagreaction config send-in-thread`.

<figure><img src="/files/PJFfimqid8YKhgdRHCVF" alt=""><figcaption></figcaption></figure>

## Configure the style

You can also choose a style from the list below:

* Embed (default)
* Text
* Webhook

The command is `/flagreaction config style`.

<figure><img src="/files/iuYAyj7ARp8ATi7ww7tW" alt=""><figcaption></figcaption></figure>

## That's all

This is all! You can start reacting to any message (which is not too old) with a flag and it will automatically translate in every languages of the corresponding country.

{% hint style="danger" %}
**Need to know:** You might want this feature not working in some channels like announcements one to not spam it for example. Just remove the permission of iTranslator to send message in this specific channel and then it will not try to translate in this channel when a user react with a flag.
{% endhint %}


# Automatic-Translation

Want to set up an automatic translation system on your server? You are at the right place!

<figure><img src="/files/9637I1imQeFgxmMEhQCH" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
iTranslator NEED permissions `VIEW_CHANNEL`, `SEND_MESSAGE`, `MANAGE_WEBHOOKS`, `MANAGE_MESSAGES`, `MESSAGE_EMBED_LINKS` in **every channel** it work (sources & targets) if you want to make it work properly. Please, be sure to have these permissions **enabled** before reporting an issue!
{% endhint %}

> The automatic-translation feature is certainly iTranslator's most powerful. It allows you to translate any channel on your Discord server and send the result in different formats and styles to any other channel. All this while being highly configurable to personalise your experience.

{% hint style="info" %}
Automatic translation configurations all have a unique identifier (often called a "name") that you chose when you created the configuration. This name is used to identify the configuration when you want to configure it.
{% endhint %}

## 1. Create an Automatic-Translation Configuration

To get started, you'll need to create your configuration using the `/autotranslate create` command like this:

<figure><img src="/files/GTNkfOlltI6jgOw37sgs" alt=""><figcaption><p>iTranslator Automatic-Translation create</p></figcaption></figure>

#### Arguments Details

<table><thead><tr><th width="179">Name</th><th width="411.3333333333333">Explanation</th><th>Optional</th></tr></thead><tbody><tr><td>name</td><td>This will be the unique name of your configuration and will be used to reference your configuration.</td><td>NO</td></tr><tr><td>source_channel</td><td>Source channel in which iTranslator read messages to translate them. You can also select a <strong>category</strong> to automatically translate all channels within it (<a href="/pages/CYvlnCX1AhWJ8qIYwlWB">Premium</a> only). You can only have one source channel, but this can be changed later if necessary.</td><td>NO</td></tr><tr><td>target_channel</td><td>The target channel to which the translations are automatically sent. You can also select a <strong>category</strong> as target (<a href="/pages/CYvlnCX1AhWJ8qIYwlWB">Premium</a> only). This may or may not be the same channel as the source_channel! You can have multiple target channels and change them later if necessary.</td><td>NO</td></tr><tr><td>target_language</td><td>The target language into which your messages will be translated. As with the target channel, you can have more than one and change them later if necessary.</td><td>NO</td></tr><tr><td>source_language</td><td>Source language, it can be used to improve the quality of translations in relation to that language, but requires messages sent in the source channel to be in that language. <a href="/pages/669oxNxTmU3S5KjWsTm7#1.-provide-a-source-language">This is very helpful for this.</a></td><td>YES</td></tr></tbody></table>

## 2. List all your configurations

In the next few pages of the documentation for this feature, you can modify a number of parameters. If you want to have an overview of all the configurations you have created, you can use the `/autotranslate list` command.

{% hint style="info" %}
We are constantly improving this system to increase simplicity and performance. Feel free to send us your suggestions on our [Discord Server](https://discord.itranslator.app).
{% endhint %}

{% hint style="danger" %}
iTranslator NEED permissions `VIEW_CHANNEL`, `SEND_MESSAGE`, `MANAGE_WEBHOOKS, MANAGE_MESSAGES`, `MESSAGE_EMBED_LINKS` in **every channel** it work (sources & targets) if you want to make it work properly. Please, be sure to have these permissions **enabled** before reporting an issue!
{% endhint %}


# Configure style & format

You can fully customize the style and formats of the translation, here is how!

<figure><img src="/files/ivgB9YYK4KkC6hhzM9Q9" alt=""><figcaption></figcaption></figure>

## 1. Configure Style

There are actually 3 styles available: `TEXT`, `EMBED`, `WEBHOOK`.

<details>

<summary>TEXT</summary>

<img src="/files/st01heKPdWxhcN3V2zer" alt="TEXT" data-size="original">

</details>

<details>

<summary>EMBED</summary>

<img src="/files/sRMqPkFHOSRQvcJEypTH" alt="EMBED" data-size="original">

</details>

<details>

<summary>WEBHOOK</summary>

<img src="/files/RW0chPcCx04bXNkmTpEE" alt="WEBHOOK" data-size="original">

</details>

*(Yes, these languages don't have the same source because these screens come from different times)*

#### How to change the style of my Auto-Translate configuration?

Just run the command: `/autotranslate config style`

<figure><img src="/files/AQpoAtQzax9VywnAEPjM" alt=""><figcaption><p>iTranslator Automatic-Translation Style</p></figcaption></figure>

## 2. Configure Format

{% hint style="info" %}
This feature requires [**Premium**](/overview/premium).
{% endhint %}

<figure><img src="/files/ss6oV70gJFqwwnhg3wb7" alt=""><figcaption></figcaption></figure>

Now that you've chosen your style, you'll probably want to change the format of that style - here's how!

Just run the command: `/autotranslate config format`

You will then be redirected to a Modal where you can configure the translation format in detail! Brilliant, isn't it?

We're going to set up an Auto-Translate with the EMBED style as a tutorial.

<details>

<summary>Tutorial with EMBED style as example</summary>

1\) We run the command

![](/files/3XZzNGMAUNNtvNQewb4F)

2\) It automatically open the configuration modal

3\) Fill the fields using variables explained at the end of the page

4\) Click 'Submit'

5\) Success!

</details>

{% hint style="success" %}
Now that you understand how styles and formats work, you need to use variables in your formats. Variables allow you to insert text dynamically into your formats in order to configure your messages as much as possible.
{% endhint %}

### Variables you can use everywhere in formats

| Variable                  | Description                                              |
| ------------------------- | -------------------------------------------------------- |
| {source\_language}        | Source language of the translation.                      |
| {language}                | Target language of the translation.                      |
| {translation}             | Translated text.                                         |
| {billed}                  | Cost of the translation (in billing).                    |
| {original\_message}       | Content of the original message.                         |
| {original\_message\_link} | Jump URL to the original message                         |
| {source\_channel}         | Mention of the source channel.                           |
| {source\_channel\_name}   | Name of the source channel.                              |
| {user}                    | Mention of the message author.                           |
| {user\_name}              | Effective name of the message author.                    |
| {user\_avatar}            | URL of the message author's avatar.                      |
| {member}                  | Mention of the server member (if available).             |
| {member\_name}            | Effective name of the server member (if available).      |
| {member\_avatar}          | URL of the server member's avatar (if available).        |
| {guild\_member\_count}    | Total number of members in the server.                   |
| {guild\_boost\_count}     | Number of server boosts.                                 |
| {guild\_boost\_tier}      | Server boost level.                                      |
| {guild\_icon}             | URL of the server icon.                                  |
| {guild\_banner}           | URL of the server banner.                                |
| {guild\_channel\_count}   | Total number of channels in the server.                  |
| {guild\_role\_count}      | Total number of roles in the server.                     |
| {guild\_owner}            | Mention of the server owner (if available).              |
| {source\_language\_flag}  | Flag emoji(s) of the source language of the translation. |
| {language\_flag}          | Flag emoji(s) of the target language of the translation. |
| {user\_role}              | Name of the highest role of the user.                    |
| {user\_role\_mention}     | Mention of the highest role of the user.                 |

{% hint style="info" %}
**Could a missing variable be useful?** Don't hesitate to ask us to add it to our [Discord Support](https://discord.itranslator.app)!
{% endhint %}


# Configure channels

<figure><img src="/files/u3XQEB1R6EPyr6hbn0PF" alt=""><figcaption></figcaption></figure>

{% hint style="danger" %}
iTranslator NEED permissions `VIEW_CHANNEL`, `SEND_MESSAGE`, `MANAGE_WEBHOOKS`, `MANAGE_MESSAGES`, `MESSAGE_EMBED_LINKS` in **every channel** it work (sources & targets) if you want to make it work properly. Please, be sure to have these permissions **enabled** before reporting an issue!
{% endhint %}

You can have as many source and target channels as needed. Here is how to configure it!

## 1. Configure source channels

First, just run the command: `/autotranslate config channel-source`, like so:

<figure><img src="/files/mYljU9NFRNOT64DAgCVW" alt=""><figcaption></figcaption></figure>

Then, just configure it like so:

<figure><img src="/files/UX2gr50YfbfZofP5izy4" alt=""><figcaption></figcaption></figure>

In my example the source channels will be #general & #media. Simple! Right?

## 2. Configure target channels

First, just run the command: `/autotranslate config channel-target`, like so:

<figure><img src="/files/AQFckbGwqVIcpRaQWns0" alt=""><figcaption></figcaption></figure>

Then, exactly like the source channels, select the channels you want!

{% hint style="info" %}
Unfortunately, due to Discord's limitations, we cannot open Select Menus with your currently configured channels already selected from the list of suggestions.
{% endhint %}

## 3. Using categories as channels

{% hint style="info" %}
This feature requires [**Premium**](/overview/premium).
{% endhint %}

Instead of selecting individual channels, you can select a **Discord category** as a source or target channel. This allows you to automatically translate **all channels within a category** without having to configure each one individually.

When selecting your source or target channels (using the commands above), you will see categories appear in the select menu alongside regular channels. Simply select the category you want!

### Category as a source

When a category is set as a source, **every message sent in any text channel within that category** will be automatically translated. This is especially useful if you have a category with many channels and want them all to be translated without adding each one manually.

### Category as a target

When a category is set as a target, iTranslator uses **position-based routing** to determine where to send the translations. This means it matches channels by their position within the category:

* A message sent in the **1st channel** of the source category is translated to the **1st channel** of the target category.
* A message sent in the **2nd channel** of the source category is translated to the **2nd channel** of the target category.
* And so on...

This is perfect for creating **mirrored category structures** for different languages. For example:

> **English Category**: #general-en, #support-en, #news-en\
> **French Category**: #general-fr, #support-fr, #news-fr

With this setup, messages in #general-en are automatically translated and sent to #general-fr, messages in #support-en go to #support-fr, etc.

{% hint style="warning" %}
Category-to-category routing only works when you have **exactly 1 target category** configured. You can have multiple source channels or categories, but if you have multiple target categories, the category routing will not apply.
{% endhint %}

{% hint style="info" %}
If the source and target are the **same category**, the translation will be sent in the same channel as the original message.
{% endhint %}

{% hint style="danger" %}
iTranslator NEED permissions `VIEW_CHANNEL`, `SEND_MESSAGE`, `MANAGE_WEBHOOKS, MANAGE_MESSAGES`, `MESSAGE_EMBED_LINKS` in **every channel** it work (sources & targets) if you want to make it work properly. Please, be sure to have these permissions **enabled** before reporting an issue!
{% endhint %}


# Configure languages

You can have 1 source language and as many target languages as you want. Here is how!

## 1. Configure Source Language

<figure><img src="/files/7SjoQAFautj15brxTJdE" alt=""><figcaption></figcaption></figure>

Simply run the command: `/autotranslate config language-source`.

## 2. Configure Target Languages

<figure><img src="/files/Jmspqd7SRWNe9WPLb8dS" alt=""><figcaption></figcaption></figure>

#### Add one language

Simply run the command: `/autotranslate config language-add-target`.

#### Remove one language

Simply run the command: `/autotranslate config language-remove-target`.


# Configure options

You will find on this page an explanation for every setting of the automatic-translation feature.

<details>

<summary>STYLE</summary>

[Refer to this page.](/amazing-features/automatic-translation/configure-style-and-format)

</details>

<details>

<summary>FORMAT</summary>

[Refer to this page.](/amazing-features/automatic-translation/configure-style-and-format)

</details>

<details>

<summary>SOURCE LANGUAGE</summary>

[Refer to this page.](/amazing-features/automatic-translation/configure-languages)

</details>

<details>

<summary>TARGET LANGUAGES</summary>

[Refer to this page.](/amazing-features/automatic-translation/configure-languages)

</details>

<details>

<summary>DELETE ORIGINAL (default: disabled)</summary>

<img src="/files/ezE6VHJtvXMsv22CgF20" alt="" data-size="original">

This option exists for users that want original messages to be deleted.

The original message is the real message, not translated sent by a member. In some cases you will want this message to be deleted and only have the translated messages instead.

To configure this option, run the command `/autotranslate config delete-original`.

</details>

<details>

<summary>IGNORE IF SOURCE IS TARGET (default: disabled)</summary>

<img src="/files/njAsZboPguPixTztH7UN" alt="" data-size="original">

In some cases, you will be faced with translations that are identical to the original message sent by your members. This simply happens because the source language and the target language are the same.

If you **want** the translations to be sent **anyway**, even if the source and target languages are identical, **deactivate** this option.

If you **don't** want translations to be sent when the source and target languages are the same, **enable** this option.

To configure this option, run the command `/autotranslate config ignore-if-source-is-target`.

</details>

<details>

<summary>IGNORE IF SOURCE IS NOT INPUT (default: disabled)</summary>

This option will only work if you set a source language to your config.

Sometimes, you will set a source language and some people will speak another one. The translator will still try to translate it but with the wrong source so it might create unexpected behavior.

Enabling this option will prompt the translator to detect the language of the messages sent by your users (which uses more characters). Subsequently, it will ensure that the detected language matches the source language before processing the translation if affirmative.

To configure this option, run the command `/autotranslate config ignore-if-source-is-not-input`.

</details>

<details>

<summary>ATTACHMENT MODE (default: ALWAYS)</summary>

<img src="/files/lIPzxVRrQxWYNGML6znp" alt="" data-size="original">

There are 3 attachment modes: `ALWAYS`, `ONLY_WITH_TEXT`, `NEVER`.

**ALWAYS**: It will always send attachments (images, videos etc.) in the translations.

**ONLY\_WITH\_TEXT**: It will send attachments (images, videos etc.) only if they are sent with a message.

**NEVER**: It will never send attachments (images, videos etc.).

To configure this option, run the command `/autotranslate config attachment-mode`.

</details>

<details>

<summary>AUTO-DISAPPEAR (default: 0)</summary>

<img src="/files/LwtSn44KI56mUBm3jVCU" alt="" data-size="original">

Maybe you want the translations to disappear after a while? We got you.

The translations will be automatically deleted after the delay specified (in seconds).

Set the delay to 0 to disable this option.

To configure this option, run the command `/autotranslate config auto-disappear`.

</details>

<details>

<summary>DISABLE-MENTION (default: disabled)</summary>

This feature is premium only as only the premium translation correctly parse the mentions.

Maybe you do not want the mentions to be parsed correctly so your users and yourself do not get spammed of mentions? We got you!

To configure this option, run the command `/autotranslate config disable-mention`.

</details>

<details>

<summary>IGNORE-EMOJIS (default: disabled)</summary>

When enabled, this option will NOT translate the messages that only contains emoji(s) and nothing else.

To configure this option, run the command `/autotranslate config ignore-emojis`.

</details>


# Display configurations

## 1. Display all your configurations

Like already explained in the [overview page](/amazing-features/automatic-translation), just run the command: `/autotranslate list` and you will have an output similar to this one:

<figure><img src="/files/0ih5uBGna1VLvixEI8Zf" alt=""><figcaption><p>iTranslator Automatic-Translation List</p></figcaption></figure>

So **test2** & **test** are my 2 configurations.

## 2. Display one specific configuration

We now want more details about 1 specific configuration, lets say we want details about the **test** one.

Simply run the command: `/autotranslate display test`

<figure><img src="/files/1960MDYGPVJxFz7Klv4J" alt=""><figcaption><p>iTranslator Automatic-Translation Display</p></figcaption></figure>

**If you do not understand what all these options means, then** [**you probably need to read this page**](/amazing-features/automatic-translation/configure-options)**.**

{% hint style="info" %}
**Source Language "Auto"** ==> Means there is no source language set so iTranslator will detect automatically the source language.<br>

**Format "Default"** ==> Means there is no custom format configured so it is gonna use the default one.
{% endhint %}


# Role Translation

{% hint style="danger" %}
iTranslator NEED permissions `VIEW_CHANNEL`, `SEND_MESSAGE`, `MANAGE_WEBHOOKS`, `MANAGE_MESSAGES`, `MESSAGE_EMBED_LINKS` in **every channel** it work (sources & targets) if you want to make it work properly. Please, be sure to have these permissions **enabled** before reporting an issue!
{% endhint %}

> This feature is very similar to [Auto-Translate](/amazing-features/automatic-translation) but is simpler because it is simply linked to a role on your server and not channels. The concept is simple: all users who have the role in question will have their messages translated as soon as they speak on your server in the chosen language.

## 1. Create a Role-Translation Configuration

To get started, you'll need to create your configuration using the `/translaterole create` command like this:

<figure><img src="/files/1dxADMIEF7BgDbYHYRO2" alt=""><figcaption><p>iTranslator - Translate-Role create</p></figcaption></figure>

#### Arguments Details

<table><thead><tr><th width="179">Name</th><th width="411.3333333333333">Explanation</th><th>Optional</th></tr></thead><tbody><tr><td>@Role</td><td>The role that will be linked to the translations.</td><td>NO</td></tr><tr><td>language</td><td>Language in which messages from members with the linked role will be automatically translated.</td><td>NO</td></tr></tbody></table>

## 2. List all your configurations

In the next few pages of the documentation for this feature, you can modify a number of parameters. If you want to have an overview of all the configurations you have created, you can use the `/translaterole list` command.

{% hint style="info" %}
We are constantly improving this system to increase simplicity and performance. Feel free to send us your suggestions on our [Discord Server](https://discord.itranslator.app).
{% endhint %}

{% hint style="danger" %}
iTranslator NEED permissions `VIEW_CHANNEL`, `SEND_MESSAGE`, `MANAGE_WEBHOOKS, MANAGE_MESSAGES`, `MESSAGE_EMBED_LINKS` in **every channel** it work (sources & targets) if you want to make it work properly. Please, be sure to have these permissions **enabled** before reporting an issue!
{% endhint %}


# Configure style & format

You can fully customize the style and formats of the translation, here is how!

## 1. Configure Style

There are actually 3 styles available: `TEXT`, `EMBED`, `WEBHOOK`.

<details>

<summary>TEXT</summary>

<img src="/files/st01heKPdWxhcN3V2zer" alt="TEXT" data-size="original">

</details>

<details>

<summary>EMBED</summary>

<img src="/files/sRMqPkFHOSRQvcJEypTH" alt="EMBED" data-size="original">

</details>

<details>

<summary>WEBHOOK</summary>

<img src="/files/RW0chPcCx04bXNkmTpEE" alt="WEBHOOK" data-size="original">

</details>

*(Yes, these languages don't have the same source because these screens come from different times)*

#### How to change the style of my Role-Translate configuration?

Just run the command: `/translaterole config style`

<figure><img src="/files/kukMagejNQZfqMyYxqL6" alt=""><figcaption><p>iTranslator - Role-Translate style</p></figcaption></figure>

## 2. Configure Format

{% hint style="info" %}
This feature requires [**Premium**](/overview/premium).
{% endhint %}

Now that you've chosen your style, you'll probably want to change the format of that style - here's how!

Just run the command: `/translaterole config format`

You will then be redirected to a Modal where you can configure the translation format in detail! Brilliant, isn't it?

We're going to set up a Role-Translate with the EMBED style as a tutorial.

<details>

<summary>Tutorial with EMBED style as example</summary>

1\) We run the command

![](/files/M4uXcrsKCx7UMBiXaFmy)

2\) It automatically open the configuration modal

3\) Fill the fields using variables explained at the end of the page

4\) Click 'Submit'

5\) Success!

</details>

{% hint style="success" %}
Now that you understand how styles and formats work, you need to use variables in your formats. Variables allow you to insert text dynamically into your formats in order to configure your messages as much as possible.
{% endhint %}

### Variables you can use everywhere in formats

| Variable                  | Description                                              |
| ------------------------- | -------------------------------------------------------- |
| {source\_language}        | Source language of the translation.                      |
| {language}                | Target language of the translation.                      |
| {translation}             | Translated text.                                         |
| {billed}                  | Cost of the translation (in billing).                    |
| {original\_message}       | Content of the original message.                         |
| {original\_message\_link} | Jump URL of the original message.                        |
| {source\_channel}         | Mention of the source channel.                           |
| {source\_channel\_name}   | Name of the source channel.                              |
| {user}                    | Mention of the message author.                           |
| {user\_name}              | Effective name of the message author.                    |
| {user\_avatar}            | URL of the message author's avatar.                      |
| {member}                  | Mention of the server member (if available).             |
| {member\_name}            | Effective name of the server member (if available).      |
| {member\_avatar}          | URL of the server member's avatar (if available).        |
| {guild\_member\_count}    | Total number of members in the server.                   |
| {guild\_boost\_count}     | Number of server boosts.                                 |
| {guild\_boost\_tier}      | Server boost level.                                      |
| {guild\_icon}             | URL of the server icon.                                  |
| {guild\_banner}           | URL of the server banner.                                |
| {guild\_channel\_count}   | Total number of channels in the server.                  |
| {guild\_role\_count}      | Total number of roles in the server.                     |
| {guild\_owner}            | Mention of the server owner (if available).              |
| {source\_language\_flag}  | Flag emoji(s) of the source language of the translation. |
| {language\_flag}          | Flag emoji(s) of the target language of the translation. |
| {user\_role}              | Name of the highest role of the user.                    |
| {user\_role\_mention}     | Mention of the highest role of the user.                 |

{% hint style="info" %}
**Could a missing variable be useful?** Don't hesitate to ask us to add it to our [Discord Support](https://discord.itranslator.app)!
{% endhint %}


# Configure languages

You can have 1 source language and as many target languages as you want. Here is how!

## 1. Configure Source Language

Simply run the command: `/translaterole config language-source`.

## 2. Configure Target Languages

#### Add one language

Simply run the command: `/translaterole config add-language`.

#### Remove one language

Simply run the command: `/translaterole config remove-language`.


# Configure options

You will find on this page an explanation for every setting of the role-translation feature.

<details>

<summary>STYLE</summary>

[Refer to this page.](/amazing-features/role-translation/configure-style-and-format)

</details>

<details>

<summary>FORMAT</summary>

[Refer to this page.](/amazing-features/role-translation/configure-style-and-format)

</details>

<details>

<summary>SOURCE LANGUAGE</summary>

[Refer to this page.](/amazing-features/automatic-translation/configure-languages)

</details>

<details>

<summary>TARGET LANGUAGES</summary>

[Refer to this page.](/amazing-features/role-translation/configure-languages)

</details>

<details>

<summary>DELETE ORIGINAL (default: disabled)</summary>

This option exists for users that want original messages to be deleted.

The original message is the real message, not translated sent by a member. In some cases you will want this message to be deleted and only have the translated messages instead.

To configure this option, run the command `/translaterole config delete-original`.

</details>

<details>

<summary>IGNORE IF SOURCE IS NOT INPUT (default: disabled)</summary>

This option will only work if you set a source language to your config.

Sometimes, you will set a source language and some people will speak another one. The translator will still try to translate it but with the wrong source so it might create unexpected behavior.

Enabling this option will prompt the translator to detect the language of the messages sent by your users (which uses more characters). Subsequently, it will ensure that the detected language matches the source language before processing the translation if affirmative.

To configure this option, run the command `/translaterole config ignore-if-source-is-not-input`.

</details>

<details>

<summary>IGNORE IF SOURCE IS TARGET (default: disabled)</summary>

In some cases, you will be faced with translations that are identical to the original message sent by your members. This simply happens because the source language and the target language are the same.

If you **want** the translations to be sent **anyway**, even if the source and target languages are identical, **deactivate** this option.

If you **don't** want translations to be sent when the source and target languages are the same, **enable** this option.

To configure this option, run the command `/translaterole config ignore-if-source-is-target`.

</details>

<details>

<summary>AUTO-DISAPPEAR (default: 0)</summary>

Maybe you want the translations to disappear after a while? We got you.

The translations will be automatically deleted after the delay specified (in seconds).

Set the delay to 0 to disable this option.

To configure this option, run the command `/translaterole config auto-disappear`.

</details>

<details>

<summary>DISABLE-MENTION (default: disabled)</summary>

This feature is premium only as only the premium translation correctly parse the mentions.

Maybe you do not want the mentions to be parsed correctly so your users and yourself do not get spammed of mentions? We got you!

To configure this option, run the command `/translaterole config disable-mention`.

</details>

<details>

<summary>IGNORE-EMOJIS (default: disabled)</summary>

When enabled, this option will NOT translate the messages that only contains emoji(s) and nothing else.

To configure this option, run the command `/translaterole config ignore-emojis`.

</details>


# Display configurations

1\. Display all your configurations

Like already explained in the [overview page](/amazing-features/role-translation), just run the command: `/translaterole list`.

## 2. Display one specific configuration

We now want more details about 1 specific configuration.

Simply run the command: `/translaterole display <@YourRole>`

<figure><img src="/files/dHD7uaEvJj9nQMiTawmD" alt=""><figcaption><p>iTranslator - Role-Translate display</p></figcaption></figure>

**If you do not understand what all these options means, then** [**you probably need to read this page**](/amazing-features/role-translation/configure-options)**.**

{% hint style="info" %}
**Format "Default"** ==> Means there is no custom format configured so it is gonna use the default one.
{% endhint %}


# Auto-Erase

This feature is very important if you use iTranslator a lot and have active moderators.

<figure><img src="/files/1Kb8rpFJHkibkT2znjKC" alt=""><figcaption></figcaption></figure>

### What is the Auto-Erase feature?

This feature will help you moderate your server more easily without having to delete every translation of an unwanted message. When Auto-Erase is enabled, if you delete a message and there are translations associated with it, the translations will also get automatically deleted!

### Customizable behaviors

There are actually 2 different modes:

**ALL** (default)

When any message (translated one or the original) is deleted, every translation, including the original message, will also get automatically deleted.

**ONLY\_FROM\_ORIGINAL**

Only when the original message is deleted will the associated translations also get deleted. If a translation is deleted, no other message will get deleted.

You can change the behavior using the command: `/autoerase mode`

### How to toggle on/off Auto-Erase?

To toggle this feature, run the command on your server: `/autoerase toggle`

{% hint style="info" %}
**Length of time IDs are saved to ensure functionality:**

**Premium:** *7 days*

**Non Premium:** *2 days*
{% endhint %}

{% hint style="danger" %}
This feature will only work on translations that have been sent since you enabled the feature.
{% endhint %}


# Auto-React

The Auto-React feature ensures that reactions added to an original message are automatically synchronized across all translated versions of that message.

{% hint style="info" %}
This feature require [iTranslator Premium](https://itranslator.app/premium).
{% endhint %}

This feature is ideal for keeping consistent reactions on translated content, allowing seamless communication and interaction across different languages.

**How It Works**

> Whenever a user reacts to a message on your server, iTranslator will detect the reaction and apply the same reaction to all translated messages associated with the original one. Likewise, if a user adds a reaction to any of the translations, the same reaction will appear on the original message and its other translations.
>
> This synchronization ensures that all users, regardless of the language they speak, can see the same feedback and engagement on a message.

**Key Benefits**

* **Consistency**: Keeps reactions consistent across original and translated messages.
* **Efficiency**: No need to manually react to each translation—iTranslator handles it automatically.
* **Improved Moderation**: Reactions to inappropriate content can be easily removed from all versions simultaneously.

**How to Enable Auto-React**

> To enable or disable the Auto-React feature on your server, simply run the following command: `/autoreact toggle`.

{% hint style="info" %}
**Length of time IDs are saved to ensure functionality:**

**Premium:** *7 days*
{% endhint %}

{% hint style="danger" %}
This feature will only work on translations that have been sent since you enabled the feature.\
\
Also, iTranslator cannot reproduce the true amount of reactions. This is a Discord limitation, there is nothing we can do about it at the moment.
{% endhint %}


# Statistics

Find out how to visualise and easily export your translation statistics.

## Showcase

<figure><img src="/files/lXYBH5WxaZR7kJTaEmno" alt=""><figcaption><p>iTranslator Stats Showcase</p></figcaption></figure>

## Overview

> Statistics are very useful to track your usage for both Premium & Free users. Thanks to our system, you can generate graphs in seconds and analyse them using different parameters.

> You can change the period over which you view your data, the type of data and export the results to a CSV file.

## Data Type

There are actually 2 types of data that can be analysed:

* `TRANSLATED_MESSAGES` - Amount of messages processed by iTranslator.
* `TRANSLATED_CHARACTERS` - Amount of characters billed by iTranslator.

{% hint style="info" %}
If you would like us to add any data types, please let us know on our [Discord Server](https://discord.itranslator.app/).
{% endhint %}

## History Type

The History Type button allows you to change the period over which the data are displayed. If you change this setting, the change will also be applied to the CSV file when you export it.

<figure><img src="/files/JCiyetdSFwLsLpNfgjJ1" alt=""><figcaption><p>iTranslator History Type Button</p></figcaption></figure>

## What is the "specific" command parameter?

We've designed the system so that you can modulate the statistics and get data that's really specific to what you're looking for.

In other words, you can choose the context in which the data are displayed: **the whole server**, a specific **category**, a specific **channel**.

If you leave the parameter blank, then the graph generated will be relative to the data for the whole server, otherwise the data will be relative to the channel or category you have chosen.

## Export Data to CSV File

For those who want to analyse the data in their own way, we have developed the statistics system further. You can export the data to a CSV file. It's very simple: use the /stats command, then click on the 'Export to CSV' button, and the file will be generated according to your current settings (which can be changed using the interaction buttons).

#### CSV Format Example

| timestamp | value |
| --------- | ----- |
|           |       |

<figure><img src="/files/uwWI0MhPDMNsUUyGA9gG" alt=""><figcaption><p>iTranslator CSV Button</p></figcaption></figure>


# Voice Features

Generate speech from text and transcribe voice conversations in real time — powered by OpenAI and available under a unified /voice command.

{% hint style="info" %}
All Voice Features require [iTranslator PRO](https://itranslator.app/premium) and the **Manage Server** permission.
{% endhint %}

## Overview

The Voice system bundles two related capabilities under a single `/voice` command:

* **Text-To-Speech (TTS)** — turn any text into spoken audio, either played live in your voice channel or delivered as an audio file.
* **Speech-To-Text (Transcription)** — let iTranslator join your voice channel and produce a live transcript in a dedicated thread, with pause/resume controls and exportable files.

All subcommands live under the same base command:

| Command             | What it does                                                             |
| ------------------- | ------------------------------------------------------------------------ |
| `/voice help`       | Display your remaining TTS/transcription quotas and the next reset date. |
| `/voice tts`        | Generate speech from text and play it live in your voice channel.        |
| `/voice tts-file`   | Generate speech from text and upload it as an audio file.                |
| `/voice transcribe` | Start a live transcription session in your voice channel.                |

## Monthly Quotas

Every Pro user is billed against two pooled monthly quotas, shared across all servers where they activate Pro:

| Resource           | Monthly allowance      |
| ------------------ | ---------------------- |
| TTS characters     | **100,000 characters** |
| Transcription time | **24 hours** of audio  |

`/voice help` shows your current remaining balance and the exact reset timestamp. **Quotas reset automatically on the 1st of each month.**

***

## Text-To-Speech (Live) — `/voice tts`

iTranslator joins your current voice channel and plays the synthesized audio.

**How to use it:**

1. Join a voice channel iTranslator has access to.
2. Run `/voice tts` with a voice and your text.
3. iTranslator connects, plays the generated audio, then disconnects when finished.

**Parameters**

| Parameter | Description                                                                       |
| --------- | --------------------------------------------------------------------------------- |
| `voice`   | The voice used to read the text. See [Available Voices](#available-voices) below. |
| `text`    | The text to convert to speech (up to 4,096 characters per call).                  |

{% hint style="warning" %}
iTranslator can only handle one voice session at a time per server. If it is already connected (e.g. running a transcription, or playing another TTS), the command will be rejected.
{% endhint %}

## Text-To-Speech (File) — `/voice tts-file`

Same as the live version, except the audio is uploaded as a file in the format you choose — no voice channel needed.

**Parameters**

| Parameter         | Description                                                                 |
| ----------------- | --------------------------------------------------------------------------- |
| `voice`           | The voice used to read the text. See [Available Voices](#available-voices). |
| `response-format` | Output audio format: `mp3`, `opus`, `aac`, `flac`, `wav`, or `pcm`.         |
| `text`            | The text to convert to speech (up to 4,096 characters per call).            |

### Available Voices

iTranslator currently supports the following voices:

* `alloy`
* `echo`
* `fable`
* `nova`
* `onyx`
* `shimmer`

***

## Live Transcription — `/voice transcribe`

iTranslator joins your voice channel and writes everything spoken into a dedicated **thread** attached to the channel where you ran the command. The transcript updates in near real-time and can be paused, resumed, stopped, or exported.

**How to use it:**

1. Join a voice channel iTranslator has access to.
2. Run `/voice transcribe` from a text channel where the bot can create public threads.
3. A status embed and a transcription thread are created — speak normally and watch the transcript flow in.

**Parameters**

| Parameter     | Required | Description                                                                                                                       |
| ------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `language`    | No       | Forces the transcription language. If omitted, the language is auto-detected per chunk.                                           |
| `combined`    | No       | If `true`, all speakers are merged into a single feed. If `false` (default), each speaker gets their own webhook-styled messages. |
| `ignore-bots` | No       | If `true` (default), audio coming from other bots is skipped.                                                                     |

### How the session looks

After running the command, iTranslator posts a status embed with:

* The current **state**: 🔴 Recording / ⏸️ Paused / ✅ Ended
* The **initiator** of the session
* The active **duration** versus the session limit
* Three control buttons:
  * **Pause / Resume** — temporarily stop or resume recording.
  * **Stop** — end the session immediately.
  * **Generate file** — export the transcript as a `TXT` or `SRT` file.

Transcribed messages are then delivered into the thread, either with each speaker’s name and avatar (per-user mode) or as a single timestamped feed (combined mode).

{% hint style="info" %}
Only the **initiator** of the session, or members with the **Manage Server** permission, can use the Pause / Stop / Generate-file buttons.
{% endhint %}

### Session limits

| Limit                         | Value                                      |
| ----------------------------- | ------------------------------------------ |
| Maximum session duration      | **30 minutes** of active recording         |
| Simultaneous speakers tracked | **5 users** per session                    |
| Update interval               | New transcript chunks every **10 seconds** |

If more than 5 users speak at the same time, iTranslator transcribes the first 5 it heard and posts a one-time notice in the thread for each user it had to skip.

### Why does iTranslator stop on its own?

A transcription session can end for several reasons:

* **Manual** — someone pressed the **Stop** button.
* **Automatic** — the 30-minute duration limit was reached.
* **Quota** — the Pro user’s monthly transcription time ran out mid-session.
* **Disconnected** — the bot was kicked, lost permissions, or the voice channel was deleted.

In every case, a status message is posted in the thread to explain what happened, and the embed is updated to `✅ Ended`.

### Exporting the transcript

Click **Generate file** at any time during or after the session to download the transcript:

| Format | Content                                                                     |
| ------ | --------------------------------------------------------------------------- |
| `TXT`  | Plain text with timestamps and speaker names.                               |
| `SRT`  | Subtitle file (timestamps + text) ready to be loaded by most video players. |

The file is generated from the current state of the session, so you can export at any point — not only at the end.

### Combined vs Per-User mode

|              | Per-User (default)                                                            | Combined (`combined: true`)                                                    |
| ------------ | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
| **Delivery** | One message per speaker, with their name & avatar (via webhook).              | A single stream of messages where each line is prefixed with the speaker name. |
| **Best for** | Multi-speaker conversations where you want to clearly identify who said what. | Note-taking, meeting summaries, or single-speaker sessions.                    |

{% hint style="warning" %}
Per-user mode uses Discord **webhooks** to keep each speaker’s identity. If iTranslator cannot create or use a webhook in the parent channel (e.g. missing permissions), it falls back to plain messages and posts a warning in the thread.
{% endhint %}

### Required permissions for transcription

For `/voice transcribe` to succeed, iTranslator needs to be able to:

* **Connect** to the voice channel you’re in.
* **Send messages** in the text channel where you ran the command.
* **Create public threads** in that text channel.
* **Manage webhooks** in the parent channel (optional — needed for per-user mode; otherwise the bot falls back to plain messages).

***

## Tips

* Run `/voice help` first to make sure you still have quota for the month.
* Want a quick voice memo without joining a channel? Use `/voice tts-file` and pick `mp3` or `opus`.
* For meetings, run `/voice transcribe` from a dedicated text channel — the thread keeps everything organized and easy to export at the end.
* The **language** parameter is optional but recommended for multilingual servers — it locks the transcription language and prevents auto-detect from switching mid-conversation.


# Translate-Ban (Role & User)

It is possible to restrict certain roles & users from using the translation functions (Auto-Translate, Role-Translation, Flag-Reaction).

### Ban a user/role from translation features

Run the command /translate-ban user/role ban <@Mention>

### Unban a user/role from translation features

Run the command /translate-ban user/role unban <@Mention>

### Show all the banned users/roles from translation features

Run the command /translate-ban user/role list

{% hint style="info" %}
**Limitations**

**Free:** 3 banned users & 1 banned role.

**Premium & Pro:** 1000 banned users & 100 banned roles.
{% endhint %}


# Text-Replacement

Transform the content of a message right before iTranslator sends it to the translation engine — perfect for mapping mentions across servers, expanding jargon, fixing branded terms, and much more.

### What is the Text-Replacement feature?

Text-Replacement lets you define pairs of **Input → Output** strings. Whenever iTranslator is about to translate a message, it first scans the raw content and swaps every occurrence of an `Input` with its matching `Output`. The **replaced** text is what actually gets translated (and sent to other channels/servers), while the original message in the source channel stays untouched.

Because the replacement happens **before** translation, you get full control over what the translation engine sees — which means cleaner translations, consistent wording, and the ability to adapt content to the target context.

### What can I use it for?

Text-Replacement is intentionally simple, but extremely flexible. A few ideas:

* **Cross-server role / channel / user mention mapping**\
  If you run a multi-server setup where messages of one server are translated and relayed to another, Discord IDs differ between servers. You can map a role mention (or user / channel mention) from Server A to the equivalent mention on Server B so that pings stay valid after translation.\
  *Example:* `<@&111111111111111111>` → `<@&222222222222222222>`
* **Brand, product and proper-noun protection**\
  Prevent the translator from awkwardly translating brand names, product names, or in-game items.\
  *Example:* map a codename to its official name, or keep a product name untouched by mapping it to itself (e.g. `iTrans` → `iTranslator`).
* **Expand acronyms and internal jargon**\
  Replace short internal abbreviations by their full form so the translation engine produces an accurate result in every language.\
  *Example:* `QA` → `Quality Assurance`, `afaik` → `as far as I know`
* **Redact / rewrite sensitive content**\
  Strip internal links, replace them with public ones, or rewrite templated tags before the translation leaves your channel.

{% hint style="info" %}
Text-Replacement applies to **every** translation performed by iTranslator in your server — Automatic-Translation, Role-Translation, Translation by Flag, and the `/translate` command.
{% endhint %}

### Commands

All Text-Replacement commands require the **Manage Server** permission.

<table><thead><tr><th width="260">Command</th><th>Description</th></tr></thead><tbody><tr><td><code>/text-replacement add</code></td><td>Opens a modal where you enter the <strong>Input</strong> (the text to look for) and the <strong>Output</strong> (what it should be replaced with).</td></tr><tr><td><code>/text-replacement list</code></td><td>Shows every configured replacement on your server, with pagination if you have many.</td></tr><tr><td><code>/text-replacement remove</code></td><td>Removes a replacement. The <code>input</code> option has autocomplete, so you can quickly pick an existing entry.</td></tr><tr><td><code>/text-replacement help</code></td><td>Displays a summary of the feature and how many replacements are currently configured on your server.</td></tr></tbody></table>

### How does it work, step by step?

1. A user sends a message that iTranslator is going to translate (via Automatic-Translation, Role-Translation, a flag reaction, or the `/translate` command).
2. Right before the content is sent to the translation engine, iTranslator walks through **all** configured replacements for the server and applies them in order to the raw message content.
3. The resulting string is what gets translated and posted to the target channel(s).

The original message shown in the source channel is never modified — only the text that leaves for translation is.

### Limits

<table><thead><tr><th></th><th width="220">Free</th><th>Premium</th></tr></thead><tbody><tr><td>Max number of replacements</td><td>3</td><td>100</td></tr><tr><td>Max length of Input / Output</td><td>16 characters</td><td>256 characters</td></tr></tbody></table>

{% hint style="info" %}
Need more replacements or longer patterns? Upgrade your server with [iTranslator Premium](https://itranslator.app/premium).
{% endhint %}

### Tips

* **Be specific with your Inputs.** A replacement is a plain substring swap — if your Input matches something inside another word, it *will* be replaced there too. Prefer distinctive tokens (full mention strings, unique abbreviations, keywords surrounded by spaces, etc.).
* **Role / channel / user mention mapping between servers is the killer use-case.** Store the source-server mention as Input and the target-server mention as Output. Your pings will keep working after translation.


# Conversation Mode

Group messages from the same user and translate them together for better context and improved efficiency — a Pro exclusive feature.

{% hint style="warning" %}
**Conversation Mode** is a **Pro** exclusive feature. [Learn more about Pro](/overview/premium).
{% endhint %}

<figure><img src="/files/7oB93lkUzoCvfFlCVfSL" alt=""><figcaption></figcaption></figure>

### What is Conversation Mode?

Conversation Mode makes iTranslator smarter when users send multiple messages in quick succession. Instead of translating each message individually the moment it arrives, the bot waits for a configurable delay and groups all messages sent by the **same user** in the **same channel** during that window. All batched messages are then translated together as a single unit.

This gives the translation engine more context, producing more natural and coherent results, while also reducing the number of translation calls made on your server.

### How does it work?

1. A user sends a message in a channel where iTranslator is active.
2. Instead of translating immediately, iTranslator starts a timer (your configured delay).
3. Any additional message sent by the **same user** in the **same channel** before the timer expires is added to the batch.
4. Once the timer fires, all batched messages are translated together.

{% hint style="info" %}
Messages that contain embeds are **translated immediately** and are not added to the batch — they always bypass the delay.
{% endhint %}

### Commands

All Conversation Mode commands require the **Manage Server** permission and an active **Pro** subscription.

<table><thead><tr><th width="280">Command</th><th>Description</th></tr></thead><tbody><tr><td><code>/conversation-mode delay &#x3C;delay></code></td><td>Sets the batch delay in seconds (0–10). Setting <strong>0</strong> disables Conversation Mode.</td></tr><tr><td><code>/conversation-mode help</code></td><td>Displays a summary of the feature and the current batch delay configured on your server.</td></tr></tbody></table>

**Example — set a 3-second batch delay:**

```
/conversation-mode delay 3
```

After this, any user who sends several messages within 3 seconds will have all of them translated together.

{% hint style="info" %}
Set the delay to **0** to disable Conversation Mode and return to standard per-message translation.
{% endhint %}

### Conversation Mode vs Standard Translation

|                         | Conversation Mode     | Standard Translation     |
| ----------------------- | --------------------- | ------------------------ |
| **Availability**        | Pro only              | All users                |
| **Processing**          | Batched after delay   | Immediate per message    |
| **API efficiency**      | Higher (fewer calls)  | Lower (one call/message) |
| **Translation context** | Grouped messages      | Each message independent |
| **Embed messages**      | Processed immediately | Processed immediately    |

### Tips

* **Start with a short delay (2–3 s).** It's long enough to catch rapid follow-up messages while still feeling responsive to your users.
* **Use 0 to disable.** Running `/conversation-mode delay 0` disables the feature without any other changes needed.
* **Best for active communities.** The feature shines in busy channels where members often send multiple short messages in a row.


# Custom Bot

Customize the avatar, banner, name & bio of iTranslator at anytime for your server!

{% hint style="info" %}
This feature require [iTranslator Premium](https://itranslator.app/premium).
{% endhint %}

### How to customize the name, avatar, banner or bio of iTranslator?

Simply run the command `/custombot set` and customize!

<figure><img src="/files/ls3xcG7JxNZ4LfSFUB0k" alt="itranslator-custombot"><figcaption></figcaption></figure>

### How to reset the profile of iTranslator?

Simply run the command `/custombot reset`.


# User-Installable App

## What is a "User-Installable App"?

The "user installable app" is a new feature of Discord (actually in PREVIEW) that add the possibility to use iTranslator in private message, private group and even servers where the application is not installed.

Here is a gif as a demo:

<figure><img src="/files/3JSoTKlpcvdENjaj3FUF" alt=""><figcaption></figcaption></figure>

## How to moderate User-Installable Apps?

Discord made an article about it, [read it here](https://support.discord.com/hc/en-us/articles/23957313048343-Moderating-Apps-on-Discord).

## How to use it?

#### 1. Go to the invite link: [www.invite.itranslator.app](https://invite.itranslator.app)

#### 2. Click "Try it now (use this app anywhere!)"

<figure><img src="/files/MDitll9RnukJvRsAB3v1" alt=""><figcaption></figcaption></figure>

#### 3. Then click authorize and it is done!

#### 4. You can now uses some features of iTranslator EVERYWHERE (including DMs, (G)DMs, ANY Discord Server (even when iTranslator is not installed).

## Features that can be used everywhere

* Translate command (context one & slash one)
* Detect command (context one & slash one)
* Check-Vote commands
* Premium / Pro commands

## How to change the context language?

We already have a page dedicated to this question [at this link](/fundamentals/context-commands/manually-change-native-language).


# Tutorial

{% embed url="<https://www.youtube.com/watch?v=C3DTsEG7HJI>" %}


