Skip to main content

AI Message Translation for WordPress Chat

· 5 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; messages from other members are auto-translated by an AI provider on the fly. The sender writes in their language, the recipient reads in theirs — both sides see the original on hover.

How AI message translation works#

  1. Each user picks a preferred language in their profile — one of dozens of supported languages.
  2. Messages from other users get translated to the recipient's preferred language at render time.
  3. The original is preserved; a "show original" hover or tap reveals the original-language text.
  4. The sender sees their own messages in the original language — no double-translation round-trip.
  5. Translation runs through your configured AI provider — OpenAI, Anthropic Claude, or Google Gemini — using the same API keys you set up for AI Chat Bots.

The translation is per-recipient, per-message — a Spanish-speaking member reading a thread sees every message translated to 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, the global toggle in Better Messages → Settings → AI Translation enables it by default for every new thread.

Cost control#

AI translation tokens are charged to the configured provider. Better Messages tracks usage:

  • Per-thread token tracking — see token spend per thread in the admin.
  • Per-role rate limiting — restrict translation to specific roles (e.g. only paid members).
  • Points charging — combine with the MyCred or GamiPress integration to charge points per translation, controlling cost without disabling the feature.

For most communities the token cost is small (translations are short), but a high-traffic public site should configure rate limits before going live.

Languages supported#

The AI providers (OpenAI / Claude / Gemini) support 50+ languages between them, with Claude and GPT-4 family covering the broadest set. Specific accuracy varies by language pair — major Western languages, CJK languages, and Indic languages are all well-supported.

Installing AI message translation#

  1. Install Better Messages from WordPress.org (WebSocket version recommended).
  2. Install the Better Messages AI add-on (same add-on that powers AI Chat Bots) and configure at least one AI provider's API key.
  3. Open WP Admin → Better Messages → Settings → AI Translation and enable the feature.
  4. (Optional) Configure per-role permissions and rate limits.
  5. (Optional) Combine with MyCred or GamiPress points charging.

Members then pick their preferred language in their account settings.

Free vs WebSocket version#

AI message translation runs on the WebSocket version — the same constraint as AI Chat Bots, because translations are dispatched off the WebSocket event fan-out.

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 the AI provider is down?#

Translation fails gracefully — the message is shown in its original language with a "translation unavailable" indicator. The thread does not break.

Can I exclude specific languages from translation?#

Yes — per-thread configuration. A member who chose "auto-translate to French" sees a thread participant writing in Italian translated to French, but a thread set to "no translation" shows everything in original.

See also#

Install Better Messages from WordPress.org →