Handle multilingual customers
Render the widget in the visitor's language, route to agents who speak it, and let AI translate in real time when there is no match. Works for chat, tickets, and (with voice cloning) phone.
1. Tell the widget which locale to render
The widget UI ships in English, Spanish, French, German, Portuguese, Italian, Dutch, Swedish, Polish, Turkish, Japanese, Korean, Chinese (simplified and traditional), and Arabic. Pass a locale code to render in that language.
<script>
window.MessageOnReady = function () {
window.Message.update({
locale: navigator.language.split("-")[0] // "en", "es", "fr"
});
};
</script>If you have a server-side notion of preferred language (account setting, accept-language header at SSR time), prefer that over navigator.language. The browser default is often wrong for travellers.
2. Localise greetings
In Settings → Chats → Localisation, set the welcome message, offline form labels, and any pre-chat copy per language. A visitor with locale: es sees the Spanish greeting; fr sees French; unknown locales fall back to English.
Localised greetings work for the visitor-facing widget only. The dashboard interface is always in English for now.
3. Tag agents with the languages they speak
- Open Settings → Team → Agents.
- For each agent, set the Languages field (multi-select).
- Save.
4. Route by visitor locale
Under Settings → Chats → Routing, add a rule: If visitor locale is X, route to agents tagged with X. Fallback to all agents (with AI translation) when no match is available.
5. Turn on AI translation in agent assist
When the visitor and agent speak different languages, the agent-assist sidebar can translate inbound messages and the agent's drafts in real time. Enable under Settings → AI → Agent Assist → Translation. The agent types in their own language; the visitor sees the translation; the inbox records both sides.
6. Tickets and email
For email tickets, the language is detected from the message body. Same routing rules apply. Auto-reply templates can be set per language under Settings → Tickets → Auto-replies.
Common pitfalls
- Browser locale lies.
navigator.languagecan disagree with the customer's actual preference, especially on shared family devices and travel. Always prefer a saved account setting if you have one. - Right-to-left layout. Arabic and Hebrew render RTL automatically. Confirm your site allows the widget root to flip direction.
- Mixed-language conversations. Some visitors switch mid-conversation. AI translation handles this. The conversation log preserves both sides verbatim.
- Department vs language overlap. If you have a billing department in three countries, decide whether to make billing-es, billing-fr, billing-en three departments, or one department with language-tagged agents. The latter is usually simpler.