CR Bee Docs

Multilingual Support

WPML integration and locale-aware label resolution

CR Bee Connect supports multilingual WordPress sites. Both UI labels and per-entity content (car names, descriptions, addon notices, location names, etc.) can be translated per locale.

How It Works

  1. The plugin reads the current WordPress locale via get_locale() (e.g., el for Greek, en_US for English)
  2. It passes the locale to the CR Bee API as a ?locale= parameter on every catalog and session call
  3. The API resolves text in two layers:
    • UI labels via the label resolution chain (tenant override → static translations → English override → system defaults)
    • Entity content via per-row translations overrides set in the admin (locale override → default-locale override → base column)

WPML Integration

If you use WPML (or a similar multilingual plugin):

  1. Each language version of your site calls the API with its own locale
  2. Labels and entity content are resolved per-locale automatically
  3. All catalog responses are cached separately per locale (e.g., crbc_cars_en, crbc_cars_el, crbc_locations_en, crbc_settings_en)
  4. When the SaaS sends a catalog.updated webhook, the plugin wildcards-deletes every locale variant for that resource

No additional WPML configuration is needed in the plugin.

Configuring Translations

UI labels and entity content are managed separately in the CR Bee admin dashboard.

UI labels — buttons, headings, summary text:

  1. Go to Settings > Labels
  2. Enable the locales you need
  3. Switch to each locale tab and customize labels
  4. Save

Entity content — car names, addon notices, location names, etc.:

When a tenant has more than one enabled locale, every entity edit form (fleet, categories, addons, insurance, locations, special offers, features) gains a Translations panel with one tab per non-default locale. Leave a field blank to fall back to the default locale's value. Empty translations don't bloat storage — the system removes them on save.

See Labels & Translations for details.

Date Picker Localization

The plugin's date picker (flatpickr) renders in the current site locale. When get_locale() returns a supported non-English locale, the plugin automatically loads the matching flatpickr locale pack (month names, weekday names, "Select date" prompts) — no configuration needed.

The first day of the week is forced to Monday across all locales for consistency with European car-rental UX.

Supported Locales

Built-in translations are available for:

  • English (en)
  • Greek (el)
  • German (de)
  • Spanish (es)
  • French (fr)
  • Italian (it)
  • Dutch (nl)
  • Portuguese (pt)

Additional locales can be supported by providing custom label overrides in the CR Bee admin.

On this page