Theme
Multilingual Support
The OmniBots web widget ships with 24 bundled languages and supports right-to-left (RTL) layouts. You can also provide custom translations to match your brand voice.
Bundled Languages
The following languages are included out of the box:
| Language | Code | RTL |
|---|---|---|
| English | en | No |
| Spanish | es | No |
| French | fr | No |
| German | de | No |
| Portuguese | pt | No |
| Italian | it | No |
| Dutch | nl | No |
| Russian | ru | No |
| Chinese (Simplified) | zh | No |
| Chinese (Traditional) | zh-TW | No |
| Japanese | ja | No |
| Korean | ko | No |
| Arabic | ar | Yes |
| Hebrew | he | Yes |
| Farsi | fa | Yes |
| Urdu | ur | Yes |
| Hindi | hi | No |
| Thai | th | No |
| Vietnamese | vi | No |
| Turkish | tr | No |
| Polish | pl | No |
| Swedish | sv | No |
| Norwegian | no | No |
| Danish | da | No |
Setting the Language
Language is configured per-bot in the Operations Portal under Bot Settings > Widget > Language. The language configuration is delivered to the widget at runtime — you do not set it in the embed code.
Language Configuration Options
| Option | Description |
|---|---|
| Native Language | The bot's primary language |
| Translation Enabled | Whether to auto-translate bot responses |
| Supported Languages | List of language codes the bot supports |
| Detection Mode | How the widget determines the visitor's language (see below) |
| Widget Language Selector | Whether to show a language picker in the widget |
| Default Fallback Language | Language to use when detection fails |
Language Detection Modes
| Mode | Behavior |
|---|---|
auto | Backend detects the visitor's language from their first message |
browser | Uses the browser's navigator.language setting |
user_select | Visitor manually selects their language from a selector |
auto_with_select | Auto-detection with the option for the visitor to override via selector |
When widget_language_selector is enabled, a globe icon appears in the widget input area. Clicking it opens a language selection panel.
imageWidget language selector panel open, showing a list of available languages with flags and language names, with the current language highlighted
TIP
When the language changes, the widget UI strings update immediately. Conversation content is not retroactively translated — only new messages use the new language.
RTL Support
Languages marked as RTL automatically flip the widget layout:
- Chat bubbles align to the correct side
- Input field and send button swap positions
- Scrollbar moves to the left edge
- Card carousels scroll in the natural RTL direction
No additional configuration is required. The widget detects RTL from the language code.
imageSide-by-side comparison of the widget in English (LTR layout, left-aligned bot bubbles) and Arabic (RTL layout, right-aligned bot bubbles with mirrored input area)
Custom Translations
For languages beyond the 24 bundled translations, the widget supports server-side translation via the backend's translation service. This enables support for 100+ languages. The widget sends a translation request over WebSocket and receives translated UI strings in response.
WARNING
Custom translations only override the widget UI chrome (header, placeholder, buttons). Bot message content is controlled by your flow and the auto-translation settings in Settings > Languages.
Auto-Translation
When auto-translation is enabled in your tenant settings, the bot automatically translates its responses to match the user's detected language. See Settings > Languages for configuration details.
