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; 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#
- Each user picks a preferred language in their profile — one of dozens of supported languages.
- Messages from other users get translated to the recipient's preferred language at render time.
- The original is preserved; a "show original" hover or tap reveals the original-language text.
- The sender sees their own messages in the original language — no double-translation round-trip.
- 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#
- Install Better Messages from WordPress.org (WebSocket version recommended).
- 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.
- Open WP Admin → Better Messages → Settings → AI Translation and enable the feature.
- (Optional) Configure per-role permissions and rate limits.
- (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#
- AI Chat Bots — the same AI add-on that powers translation
- GamiPress pay-to-message — for charging points per translation
- MyCred pay-to-message — for charging points per translation
- End-to-end encrypted messaging — the trade-off with E2E threads