AI Message Translation for WordPress Chat
WordPress communities that span multiple countries hit the same wall: the chat feed becomes a polyglot mess where half the members cannot read what the other half wrote. Static translation plugins (WPML, Polylang) translate site content but not user-generated message bodies. Better Messages handles this with AI message translation: each member sets their preferred display language, and messages from other members arrive translated. The sender writes in their language, the recipient reads in theirs, and a toggle on any message brings back the original.
How AI message translation works#
- Each user picks a preferred language in the messenger's own settings panel — one of 69 supported languages, or whichever subset the admin has made available.
- Translation is switched on per conversation, from the conversation information panel or its menu. Admins can make it the default for every eligible conversation with Conversations start translated.
- Messages from other users get translated into the reader's language.
- The original is preserved — a toggle on the message switches between the translation and the original text.
- The sender sees their own messages in the original language — no double-translation round-trip.
- Translation runs through Better Messages Cloud AI, which is included with the WebSocket licence. There is no third-party API key to set up for it, and no AI provider to choose.
The translation is per-reader — a Spanish-speaking member reading a thread sees every message in Spanish. An English-speaking member sees the same thread in English.
When to enable per-thread vs site-wide#
Translation has a real cost (AI tokens) and a real UX trade-off (translated text loses nuance). Most sites enable it as an opt-in per thread:
- A multilingual cohort chat — turn on for the thread, every member reads in their language.
- An international vendor ↔ buyer chat — turn on once a language gap is noticed.
- A community AMA with international audience — turn on for the AMA group.
For sites where most threads are multilingual, turn on Conversations start translated under Better Messages → Settings → Translation → Where Translation Is Offered, and every eligible conversation is translated for a member who has picked a language, until they switch one off.
Controlling where it runs#
Translation is included with the WebSocket licence — there is no per-message charge and no provider bill to watch. What is worth controlling is where it runs, because each surface has a different volume:
- Private conversations, Group conversations, Chat rooms and Bot posts each have their own switch under Where Translation Is Offered. Turn off the ones you do not need.
- Chat rooms deserve a thought before enabling. A room's every message is translated once per language its members read, so a busy room in a community with many languages does far more translation work than the same traffic split across private threads.
- Roles allowed to translate restricts the feature to chosen WordPress roles. Leave every role unchecked to allow everyone. Administrators can always translate.
- Available Languages curates the list members can choose from — useful on a site that only needs a handful.
Languages supported#
69 languages, grouped by region in the admin: Western Europe, Eastern Europe, CIS & Central Asia, Middle East & Africa, South Asia, and East & Southeast Asia. The list is fixed rather than free-form, and admins can narrow it to a curated subset. The full table is in the AI message translation reference.
Installing AI message translation#
- Install Better Messages from WordPress.org and activate a WebSocket licence — message translation is a WebSocket-version feature.
- Open WP Admin → Better Messages → Settings → Translation and turn on Enable Translation. No API key is needed: it runs on Better Messages Cloud AI.
- Under Where Translation Is Offered, pick the surfaces — private conversations, group conversations, chat rooms, bot posts — and decide whether Conversations start translated.
- (Optional) Restrict Roles allowed to translate, and narrow Available Languages.
Members then pick their preferred language in the messenger's settings panel, and switch translation on for a conversation from its information panel or menu.
Free vs WebSocket version#
AI message translation runs on the WebSocket version and is processed through Better Messages Cloud AI, which the licence includes. AI Chat Bots are different — those work on the free version too, using your own OpenAI, Anthropic or Gemini API key.
Frequently asked questions#
Does this work with WPML or Polylang?#
Yes — WPML / Polylang translate site content (posts, pages, menus). AI message translation handles user-generated chat content. They are complementary, not competing.
What happens with technical jargon or code in messages?#
AI translation generally preserves code blocks and technical terms verbatim (they look like proper nouns to the model). For pure code chat, set the thread's translation to off — the original is always preserved underneath the translation, so members can toggle.
Can I rely on it for legally-binding translations?#
No — AI translation is suitable for casual conversation, not for legally-binding text. For legal documents, use a certified human translator.
Does it work with end-to-end encrypted threads?#
No — E2E messages are decrypted only in the participants' browsers, so the server-side AI cannot see them. Choose between E2E and AI translation per thread.
What happens if a translation does not come back?#
The message stays readable in its original language, and the request is retried in the background — after roughly two minutes, then five, then fifteen. A message that still has nothing by then is left alone until the page is reloaded. Nothing blocks and the thread does not break. While a translation is in flight the bubble says Translating….
Does editing a message re-translate it?#
Yes. Editing clears the cached translations for that message and asks for them again, so readers see the edited text in their language rather than the old one.
Can I limit which languages members can choose?#
Yes — Available Languages on the Translation tab curates the list, by region or one at a time, with Select all / Deselect all. Leaving it untouched offers all 69.
Which source languages get translated is not a setting: a member who picked French reads every message in French, whatever it was written in. What they can control is the conversation — translation is switched on per conversation, so a thread they leave off shows everything in the original.
Does the conversation with an AI chat bot get translated?#
No. A one-to-one conversation with a bot is deliberately excluded — talk to the bot in your own language instead, it will answer in kind. What a bot posts in a group or a chat room is covered by the separate Bot posts switch.
See also#
- AI message translation reference — every setting, and the full 69-language table
- AI Chat Bots — the other half of the AI feature set, and the one that runs on your own API key
- End-to-end encrypted messaging — the trade-off with E2E threads