Back to blog
·4 min read·Anatolii Polishchuk

Multi-language widget setup in 10 minutes

A practical walk-through of standing up a Convo widget that speaks English, Polish, Ukrainian and Russian — and a few notes on what NOT to do.

If your buyers are in Eastern Europe, you need a widget that speaks Polish, Ukrainian, Russian, and English — not because every visitor uses every language, but because losing a single buyer to "the bot only spoke English" is a 5-figure mistake.

Here's how to ship one in roughly 10 minutes with Convo.

Step 1: Configure the agent's languages

In /app/agents/<id>/edit, set the languages field to:

en, pl, uk, ru

That's an ISO-code list — order doesn't matter. The agent will respond in whichever language the visitor opens the chat in. This is not a translation step; the underlying model speaks 50+ languages natively, you're just telling Convo which ones are in-scope for your knowledge base and persona.

Step 2: Translate the static UI strings

The widget has a few static strings — the launcher's "Chat with us", the greeting bubble, the suggestion chips. These don't go through the LLM (they appear before a conversation starts, so they need to be ready instantly).

Open the widget editor, scroll to Content, and translate:

  • Title — "Chat with us" / "Porozmawiaj z nami" / "Поговоримо" / "Поговорим"
  • Subtitle — short reassurance copy.
  • Greeting — first message the bot sends.
  • Scenarios — the quick-reply buttons.

The widget reads the visitor's browser locale (or the lang attribute on your <html> tag) and picks the matching string. If you only filled in English, every visitor sees English. If you filled in all four, every visitor sees their language.

Step 3: Make sure the knowledge base is multi-language

This is where most teams trip. The agent will try to answer in the visitor's language, but if every FAQ in your knowledge base is in English, the answer quality drops fast for non-English visitors.

You have two options:

  1. Translate the FAQ. Create one FAQ source per language. Tag them with locale: en / locale: pl etc. The retriever can be configured to prefer same-locale chunks.
  2. Keep one FAQ, let the model translate. Cheaper but lower fidelity — the model translates on the fly, which means brand-specific terms ("triple-glazed PVC") sometimes come back odd.

For a serious deployment in 4 languages, option 1 wins. Yes, it's more work; yes, it's worth it.

Step 4: Test in the playground (in each language)

Open /app/agents/<id>/playground, click "Reset conversation", and send a question in Polish:

Cześć, ile kosztuje montaż okien w bloku z lat 70?

The agent should answer in Polish, ground the price in your knowledge base, and not drift back to English mid-conversation. If it drifts, your system prompt is leaking English-language assumptions — usually phrases like "Always respond in English" left over from an earlier agent iteration.

Do the same in Ukrainian, Russian, and English. If all four pass, you're ready to publish.

Step 5: Publish + verify on a real page

Click Publish in the agent editor. The status pill should flip from Draft to Published. Now copy the embed snippet from the dashboard and paste it onto a page.

Open that page in an incognito window with Accept-Language: pl set in DevTools (Settings → Sensors → Locale). The widget should pop up speaking Polish. Repeat for the other locales.

What NOT to do

A few common footguns:

  • Don't translate by hand inside the system prompt. Tempting but wrong — the model is way better at this than your prompt-engineering. Set languages and let it cook.
  • Don't ship without testing. Visitors will find the edge cases you didn't.
  • Don't forget right-to-left. If you're adding Hebrew or Arabic, the widget needs dir="rtl" and a layout review. Out of scope for this post; ping us if you need it.

That's it. 10 minutes if you have your translations ready, half a day if you're translating the FAQ from scratch. Either way it's the cheapest "+30% addressable market" trade you'll make this quarter.

Try it free — no credit card, free tier handles your first 100 conversations.

Get started

Ship a Convo agent on your site in under an hour

Free tier covers your first 100 conversations.