Features 5 steps

How to Translate Messages with AI

Translate customer messages and agent replies across 18 languages in Converge. Where the translate buttons are, what the customer receives, and the real limits.

Converge Converge Team
1

What actually happens when you translate a message?

Nothing in Converge is translated until somebody asks for it. There is no background job translating inbound messages as they land, and no workspace-wide "translate everything" switch. Translation is a per-message action an agent triggers, in one of two places.

Incoming customer messages. Hover a customer's message — or right-click it — and pick Translate to {your language}. The translation is saved on the message and rendered under the original, with a row showing the direction as two flags and two language names. The original text is never replaced.

Your outgoing replies. Write the reply in your own language, then click Translate to {customer's language} in the composer. A preview panel opens under the input. When you send, the customer receives the translation — not your original — while Converge keeps your original wording on the message record so the thread still reads correctly for your team.

The composer control is a button, not a toggle. It translates the current draft once and then goes inactive. Type another character and the preview clears, because the stored translation no longer matches what is in the box. If you send without pressing it, the customer receives your untranslated text.

Converge translates between 18 languages: Arabic, Chinese, English, French, German, Hindi, Indonesian, Italian, Japanese, Korean, Polish, Portuguese, Russian, Spanish, Swedish, Turkish, Ukrainian and Vietnamese. Nothing outside that list appears in any of the language pickers.

2

Which two language settings decide what you see?

Two settings decide which direction Converge translates in, and a third — the contact's own language — decides whether the outbound button appears at all.

Company target language. SettingsCompany holds a Translation Target Language picker, described in the app as "Customer messages will be translated to this language". Saving it is Owner-only. It is the fallback for everyone on the team, and it is the same value as the "Reply language" question during onboarding — where Don't translate is a valid answer, so plenty of workspaces have it empty.

Per-agent override. Each agent has a Preferred Translation Language field under Translation Preferences in their own profile, defaulting to Use company default. An agent who reads Spanish can set Spanish while the rest of the workspace stays on English.

The contact's language. Chat-widget visitors get theirs from the browser locale, when that locale maps to one of the 18 supported languages. On the other channels it starts empty and gets filled the first time somebody translates one of that contact's messages — Converge writes the language it detected onto the contact. You can also set it by hand from the contact panel to the right of the conversation, in the dropdown beside the languages icon.

The gotcha worth knowing. Translating an inbound message falls back to English when neither language setting is filled in, so it always works. The composer's outbound button has no such fallback: with no company target language and no personal preference, it never appears. If your agents can translate what customers write but have no way to translate what they write back, that empty setting is the reason.

3

How do you translate an incoming customer message?

Hover the message and an action row appears beside it, with a languages icon labeled Translate to {your language}. Right-clicking the message offers the same item in the context menu. One translation runs at a time — asking for a second while the first is still in flight returns "Please wait for the current translation to complete".

When it lands, the message renders as the original followed by the translation, separated by a row reading source flag and name, an arrow, then target flag and name. If the message has been translated into more than one language — different agents, different preferences — that row becomes a dropdown for switching between the stored translations. Translations are pushed to everyone in the workspace in real time, so a message one agent translates is already translated for the next person who opens the conversation.

When the action isn't there

  • It's your own message. The action only renders on customer messages, and the API refuses the rest outright with "Cannot translate outbound messages".
  • A translation into your language already exists. The button hides once the message carries a translation in whatever language you would have asked for.
  • The message already has three translations. Three is the ceiling per message.
  • The message is already in your language. When the detected source matches your target, the request comes back as "Cannot translate to the same language as source".

Asking for a language that is already stored costs nothing: Converge returns the saved copy without calling the AI provider at all.

4

How do you send a reply in the customer's language?

The composer's translate button appears only when the contact has a language on record and it differs from yours. It reads Translate to {language} on desktop and shortens to Translate {flag} on narrow screens.

  1. Write the reply in your own language.
  2. Click Translate to {language}. The icon becomes a spinner while the call runs.
  3. Read the preview panel that opens beneath the input. Your original stays in the input box; the preview holds the translation.
  4. Send. While a translation is armed, the send button carries the target language's flag — the last visual confirmation before the message leaves.

Edit after translating and you start over. Changing a single character clears the preview and re-enables the button, because the stored translation no longer matches the draft. The preview panel also has an X if you want to discard it deliberately.

It composes with the other AI actions. Suggest, Polish and Transform all write into the same input box, so the usual order is generate or tidy the reply first, then translate the finished text, then send — see how to use AI suggestions.

What the customer receives. The translated text on its own, delivered on whichever channel the conversation is running on — widget, WhatsApp, Messenger, Instagram, Telegram, Zalo OA, Discord, email or X. There is no "translated by AI" marker attached; a reply an agent reviewed and sent is treated as the agent's own words.

5

What are the limits, and what does translation not cover?

Three translations per message. Customer messages and internal team-chat messages both cap at three stored translations. A fourth request is refused rather than evicting an existing one.

10,000 characters per outbound translation. The composer's translate call rejects anything longer before it reaches the AI provider. Support replies rarely come close; pasted documents do.

A shared burst limit. AI requests are rate-limited per workspace rather than per agent — a bucket of 20 refilling at one request every two seconds, shared with suggestions and the knowledge base. Past it, the response is "Too many AI requests. Slow down." Translation is deliberately exempt from the daily AI request cap, so a heavy multilingual day cannot burn through the allowance the other AI features draw on.

An AI key has to be configured. Translation runs through the same AI setup as everything else — the platform key by default, or your own provider key and model if you have added one. With nothing configured, the translate actions return "AI is not configured yet. Add an API key in AI settings." See adding an AI API key.

What translation does not touch

  • Email subject lines. The body is translated; the subject goes out as typed.
  • Attachments. File names, and any text inside an image or PDF, are left alone.
  • Autonomous AI replies. When the AI answers a conversation on its own, it writes in the customer's language directly instead of drafting in English and translating afterwards.
  • The chat widget's own interface. Its buttons and placeholder text are separate from message translation.

Frequently Asked Questions

Converge supports 18 languages for message translation: Arabic, Chinese, English, French, German, Hindi, Indonesian, Italian, Japanese, Korean, Polish, Portuguese, Russian, Spanish, Swedish, Turkish, Ukrainian and Vietnamese. The same list drives every language picker in the product — the company translation target, an agent's preferred translation language, and a contact's language field — so a language outside it cannot be selected anywhere. A chat-widget visitor whose browser locale falls outside the list has their language left blank rather than guessed.

No. Translation in Converge is a per-message action an agent triggers, in both directions. Incoming messages are translated by hovering or right-clicking the message and choosing 'Translate to {your language}'; outgoing replies are translated by clicking the translate button in the composer before sending. Nothing runs in the background, and there is no setting that turns automatic translation on. The onboarding step called 'Reply language' sets the default target language for the workspace — it does not enable automatic translation.

The customer receives the translated text on its own, with no copy of your original and no marker saying it was machine translated. Inside Converge, both versions are kept: your original stays as the message content and the translation is stored alongside it, so your team reads the thread in the language it was written in. Incoming customer messages work the same way in reverse — the original is never overwritten, and the translation is rendered underneath it with the source and target languages shown.

The composer's translate button needs three conditions at once, and each one is a separate fix. The contact must have a language on record — set it from the contact panel beside the conversation, or translate one of their incoming messages so Converge detects and saves it. That language must differ from yours, because there is nothing to translate otherwise. And you must have a target language of your own: either a company Translation Target Language in SettingsCompany, or a Preferred Translation Language in your profile. Translating incoming messages falls back to English when neither is set, but the outbound button has no fallback and stays hidden.

Less than most people assume. Converge sends the model the single message being translated, plus your company name and business description as context, and runs the call at temperature zero so repeat requests are stable. The rest of the conversation history is not included. That makes the business description in SettingsCompany the one lever you have over translation quality: a description that names your product and the terms your industry uses is what stops those terms being translated literally. The reply-side prompt also asks the model to leave formatting, links and technical terms intact.

No. Message translation is metered for visibility but exempt from the daily AI request cap, so a heavy multilingual day cannot exhaust the allowance that AI suggestions and the knowledge base draw on. Two limits still apply: an AI key must be configured for the workspace, and translation shares the per-workspace burst limiter with every other AI action — a bucket of 20 requests that refills at one every two seconds, after which requests are refused with 'Too many AI requests. Slow down.' until it recovers.

Ready to try Converge?

$49/month flat. Up to 15 agents. 7-day free trial, no credit card required.

Start Free Trial