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
- The plugin reads the current WordPress locale via
get_locale()(e.g.,elfor Greek,en_USfor English) - It passes the locale to the CR Bee API as a
?locale=parameter on every catalog and session call - 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
translationsoverrides set in the admin (locale override → default-locale override → base column)
WPML Integration
If you use WPML (or a similar multilingual plugin):
- Each language version of your site calls the API with its own locale
- Labels and entity content are resolved per-locale automatically
- All catalog responses are cached separately per locale (e.g.,
crbc_cars_en,crbc_cars_el,crbc_locations_en,crbc_settings_en) - When the SaaS sends a
catalog.updatedwebhook, 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:
- Go to Settings > Labels
- Enable the locales you need
- Switch to each locale tab and customize labels
- 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.