Add widget translations
If your customers speak more than one language, the widget UI should reflect that. The Translations tab lets you override every piece of widget text per language.
Before you start
- The widget exists. If not, create one first.
- Decide on the languages you want to support. You’ll need a primary language and one or more secondary languages.
Steps
- Open Settings → Web Chat and click your widget.
- The widget’s primary language was set when you created it (in the General tab). Confirm it’s correct — this is the default that visitors see if their browser doesn’t match any secondary language.
- Open the Translations tab.
- Add a secondary language. You’ll see a list of every piece of text the widget renders, with the primary-language value alongside an empty field for the new language.
- Fill in the translated text for each row. The most important ones to translate:
Welcome message — the first message visitors see.
Input placeholder — the gray text inside the message composer.
Header title and subtitle — the bar at the top of the widget.
Channel switch prompts — if you’ve enabled channel switching, the text on the switch button and the confirmation messages. - Repeat for each additional language.
- Save.
Verify it worked
- Open the widget on your site with a browser language that matches one of the secondary languages. (Either change your system language, or use a browser dev-tool override.)
- The widget should render in that language end to end — welcome, placeholder, system messages.
How language is chosen
The widget chooses a language at render time based on the visitor’s browser language. The match is:
- If the visitor’s browser language matches a secondary language, render in that language.
- Otherwise, fall back to the widget’s primary language.
There is no in-widget language switcher today — the language is determined by the browser, not by an explicit visitor choice.
Pair with auto-translation
Localizing the widget UI tells the visitor your team speaks their language. But the actual conversation — agent replies, snippet text — also needs to be in their language. That’s Auto-Translation: agent messages are translated into the visitor’s language before sending.
The widget UI translation and Auto-Translation are independent — you can enable one without the other — but they’re almost always used together for a fully localized experience.
Troubleshooting
-
Symptom: The widget always renders in the primary language regardless of browser settings. Fix: Confirm you’ve added the visitor’s language as a secondary language, and that the translation rows are filled in (an empty translation falls back to the primary language).
-
Symptom: The welcome message is translated, but the input placeholder is in the primary language. Fix: That specific row wasn’t translated. Open the Translations tab and fill it in for the relevant language.