Skip to main content

AI Message Translation for WordPress Chat

· 6 min read
Creator of Better Messages

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#

  1. 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.
  2. 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.
  3. Messages from other users get translated into the reader's language.
  4. The original is preserved — a toggle on the message switches between the translation and the original text.
  5. The sender sees their own messages in the original language — no double-translation round-trip.
  6. 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#

  1. Install Better Messages from WordPress.org and activate a WebSocket licence — message translation is a WebSocket-version feature.
  2. Open WP Admin → Better Messages → Settings → Translation and turn on Enable Translation. No API key is needed: it runs on Better Messages Cloud AI.
  3. Under Where Translation Is Offered, pick the surfaces — private conversations, group conversations, chat rooms, bot posts — and decide whether Conversations start translated.
  4. (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#

Install Better Messages from WordPress.org →