Skip to main content

Translations

Better Messages is fully translatable using WordPress's native i18n system. Every user-facing string is wrapped with standard WordPress translation functions, so any translation tool — Loco Translate, WPML, Polylang, or hand-edited .po files — works out of the box. Translations are distributed through WordPress.org's translation platform: when your site language matches a published translation, WordPress installs the .mo file automatically into wp-content/languages/plugins/.

What it adds#

  • Every user-facing string is translatable through standard WordPress tools
  • WordPress.org auto-installs translations for the site language whenever they're available
  • Customize beyond translation — rephrase strings to match your brand voice
  • Compatible with Loco Translate, WPML, Polylang, and any .po/.mo workflow
  • Text domain: bp-better-messages
  • RTL languages (Arabic, Hebrew, Persian, Urdu) mirror the entire UI automatically

Available translations#

Better Messages is community-translated on translate.wordpress.org. The plugin ships with the source bp-better-messages.pot template; WordPress.org fills in .mo files for every locale that has been translated to the required coverage threshold. To see the current status of your locale (and contribute missing strings), visit the WordPress.org translations dashboard for the plugin.

How it works#

WordPress determines which language to load based on the site's WordPress language setting (or per-user language if a multilingual plugin is active). Better Messages relies on the standard WordPress .mo lookup — the file in wp-content/languages/plugins/ (auto-installed from WordPress.org, or a custom file you place there) is loaded for the current locale.

Translation sourcePriority
Loco Translate site-specific overridesHighest — overrides everything
Custom .po/.mo in wp-content/languages/plugins/Higher than the WordPress.org default
WPML / Polylang per-user languagePer-user override
WordPress.org auto-installed translationDefault fallback when no custom file exists

When to translate#

AudienceApproach
Single-language siteBundled translation activates automatically with site language
Multilingual site (per-user language)Use WPML or Polylang — each user sees their language
Brand-customized stringsLoco Translate — override individual strings even in English
Untranslated languageHand-create a .po file via Loco Translate or POEdit
RTL siteSee RTL support — direction auto-mirrors

How to translate#

  1. Install and activate the Loco Translate plugin
  2. Navigate to WP Admin → Loco Translate → Plugins → Better Messages
  3. Click New language to add a translation
  4. Translate strings using the built-in editor
  5. Save — strings activate immediately

Using WPML or Polylang#

These plugins automatically detect translatable strings from Better Messages and include them in their translation workflows. Each user sees the language they selected.

Manual translation#

Place your .po/.mo files in wp-content/languages/plugins/ following WordPress naming: bp-better-messages-{locale}.po.

Frequently asked questions#

Can different chat rooms have different languages?#

The plugin renders in the user's session language, not per-room. To force a specific language per-room, hook the standard WordPress locale filter (or determine_locale) and return a custom locale based on the request context — Better Messages will then load the matching .mo file.

Are AI bot replies translated?#

The AI bot replies in whatever language the conversation is in (the LLM detects context). UI strings around the message (timestamps, sender labels) are translated via standard i18n.

How do I contribute translations back to the project?#

Translations are managed via Loco Translate locally. To contribute back to the bundled set, contact support — community translations are accepted and bundled in future releases.

What if a string isn't translated yet — does it break the UI?#

No — untranslated strings fall back to English. The UI never breaks; users see English text for any string not yet translated in their language.

Does the mobile app respect translations too?#

Yes — the mobile app uses the same translation files. The OS language determines what's loaded.

See also#