Skip to main content

Managing Widget Languages

Written by Shawn

Convi can talk to shoppers in 20+ languages, and the widget itself can be translated to match. This article explains the multilingual widget feature, how language is detected on the storefront, and how to author or override the widget's user-facing text per locale.

In this article

  • How language detection works

  • The Settings → Language screen

  • The default language

  • Per-locale translations

  • The seven translatable surfaces

  • RTL languages

  • A few practical notes

How language detection works

Convi automatically detects the shopper's language from their browser. When a shopper opens the widget, Convi:

  1. Reads the shopper's browser language.

  2. Picks the matching locale from the locales your store supports.

  3. Falls back to your default language if there's no match.

  4. Responds in the detected language for the rest of the conversation.

This works out of the box — you don't have to configure language detection itself. What you do configure is which locales the widget supports and what the widget's user-facing strings say in each one.

ℹ️ Note: Language detection covers the AI's responses (driven by the underlying model) and the widget's built-in UI strings (chat input placeholder, send button, etc.). The strings you author — welcome message, predefined inquiries, pre-chat survey copy — are translated by you on the Settings → Language screen.

The Settings → Language screen

Open Settings → Language. You'll see two main blocks:

  • Default — the language Convi falls back to when it can't match a shopper's locale. Subtitle: "Select the default language for your chat widget."

  • Multilingual widget — the list of additional locales you've enabled. Click any one to edit its translations.

The page title is Language and the section description reads: "Select the default language for your chat widget."

The default language

Pick one default language. This is the locale Convi uses when:

  • The shopper's browser language isn't one you've enabled.

  • A field hasn't been translated for the detected locale.

For most stores the default is English. Pick whatever your largest customer segment uses.

Per-locale translations

For every additional locale you enable, you get a row in the Multilingual widget list. Clicking a row opens that locale's translation screen — a list of every translatable surface with Edit texts buttons:

The page title for that screen reads "{language} translations" (e.g. "French translations").

The seven translatable surfaces

Per locale, you can translate the user-facing text of seven things:

Surface

What gets translated

Bubble widget chatbotWelcome messages

Chat welcome, placeholder, start-chat button.

Bubble widget chatbotPredefined inquiries

The chip list shown on the home view.

Bubble widget chatbotPre-chat survey

Survey message, placeholders, send/skip button.

Bubble widget chatbotAuto-end conversation

Satisfaction rating title, negative reason, button, after-submission message.

FAQ widget

Widget title — for the FAQ block on product pages.

Ask AI button

Button text + floating tab text.

Contact Us embed card

Chat welcome, placeholder, predefined inquiries, start-chat button.

Each surface saves independently. A toast confirms each save (e.g. "FAQ widget translations updated successfully.").

RTL languages

For right-to-left languages (Arabic, Hebrew, Farsi), the entire widget mirrors automatically — input field on the right, send button on the left, message bubbles flipping side, scroll direction. You don't have to configure anything. The mirroring is driven by CSS logical properties, so it works the same on every Convi widget surface.

What you do still need to do is translate the strings for each RTL locale — the auto-mirroring is layout-only, not content.

A few practical notes

  • The widget can serve many locales at once. The same store can have shoppers in English, French, German, and Arabic, all chatting in their own language, in real time.

  • The AI generates responses in the detected language even without per-locale translation. Translating widget strings is for the UI chrome (buttons, placeholders, welcome messages). The AI itself handles the conversation in the shopper's language automatically.

  • Don't translate via auto-tools and forget about it. Walk through every translated string in the live widget — sometimes machine translations break button labels, character limits, or context.

  • Test with a real browser locale change. The fastest way to verify a locale: set your browser language to that locale, open your storefront in a private window, and use the widget end-to-end.

Did this answer your question?