Widget Languages
Your chat widget speaks 38 languages. Visitors pick their own with the globe button, Yaplet's own wording follows that pick automatically, and you write your own texts in your own language — with the other 37 behind a globe and a Languages tab that shows where you stand.
Overview
The chat widget's interface is available in 38 languages:
| English | Deutsch (German) | Français (French) |
| Español (Spanish) | 中文 (Chinese, Simplified) | Português (Portuguese) |
| Italiano (Italian) | Nederlands (Dutch) | 日本語 (Japanese) |
| हिन्दी (Hindi) | Svenska (Swedish) | Dansk (Danish) |
| Magyar (Hungarian) | Polski (Polish) | Čeština (Czech) |
| Suomi (Finnish) | Русский (Russian) | Türkçe (Turkish) |
| Bahasa Indonesia (Indonesian) | Norsk (Norwegian, Bokmål) | Slovenčina (Slovak) |
| Hrvatski (Croatian) | Български (Bulgarian) | 한국어 (Korean) |
| ไทย (Thai) | Tiếng Việt (Vietnamese) | Română (Romanian) |
| Ελληνικά (Greek) | Українська (Ukrainian) | Bahasa Melayu (Malay) |
| Filipino | Eesti (Estonian) | Gaeilge (Irish) |
| Latviešu (Latvian) | Lietuvių (Lithuanian) | Malti (Maltese) |
| Slovenščina (Slovenian) | Srpski (Serbian, Latin script) |
A visitor can switch between them at any time, and the widget remembers what they chose.
The language button visitors see
On the widget's home screen, next to the close button, sits a globe. Clicking it opens the list of all 38 languages, each written in its own language — English, Deutsch, Français, 日本語 and so on — with the current one ticked. Picking one changes the whole widget immediately: no reload, no lost conversation.
The choice sticks. It is written into that visitor's browser and onto the visitor's own record on our side, so it survives a reload and every later visit from the same browser. The one thing it does not survive is the browser being wiped: a returning visitor is recognized by what their browser kept, so cleared site data means a brand-new visitor who has never picked anything.
Yaplet.setLanguage() call your site makes — for as long as the widget can still read the pick out of that browser. In the rarer case where the browser's copy is gone but the visitor is still recognized, a setLanguage() call from your page wins and is written onto their record in place of the old pick. So call setLanguage() when your site genuinely knows better than the visitor does, not on every page load out of habit.Which language a visitor starts in
For a visitor who has never picked one, the widget works down this list and uses the first answer it gets:
Their own earlier choice
If they have used the globe before, that is the language, and the rest of this list is skipped.
What your website asked for
If your site calls Yaplet.setLanguage("de"), the widget opens in that language. Useful when your own site already knows which language the visitor is reading.
Their browser's language
Only if you switch this on — see the toggles below. Yaplet reads the visitor's browser language list in order and takes the first one the widget can speak.
Your brand's language
The fallback, and what most visitors get. It is set at Brand → (your brand) → Brand settings → General → Language.
The two settings you control
Both live on the Languages tab, at Brand → (your brand) → Chat widget.
Your own text: written in your language, translated behind the globe
Everything you typed into the widget — the greeting, the welcome line, home-card titles and descriptions, quick-reply button labels and the messages they send — is stored per language.
The rule the whole screen follows, in one sentence: your language on the page; the other languages behind the globe.
So each of those fields is an ordinary box you type into, holding your own wording, and beside it sits a globe. Your text saves with the page's Save Changes, like every other setting. The globe opens the other languages, with your text shown read-only at the top — that is what the translations have to say, so it is the reference rather than another row to fill in. Those rows are saved by the window's own Save button, separately from the page's Save Changes.
An empty box is a decision, not a gap
Leave a field empty and every visitor reads Yaplet's own wording for it, in their own language — already translated, nothing to do. That text is what the box shows you as its placeholder, so you can always see what you are choosing between. Typing your own text is what makes it your job; clearing the field again hands it back to us.
What a visitor actually reads
For each piece of text, in this order:
- Their own language, if you wrote it.
- Otherwise your text — your own wording, exactly as you typed it.
- Otherwise Yaplet's built-in wording, in their language (which only applies while you have written nothing of your own for that field).
That is the whole rule. A German visitor to a shop that writes in Hungarian reads the Hungarian greeting until somebody writes the German one — never some third language that happened to be filled in first.
Translating costs AI usage
Every Translate button on this screen runs a real AI call, and it is billed like any other AI generation — from your credit balance, or against your subscription.
Nothing else about the screen changes: your own wording is always free to write and save, and a visitor always gets Yaplet's own wording in their language for any field you leave empty — see an empty box is a decision, not a gap. Only the act of translating your text into other languages draws on AI usage.
The Languages tab: where you stand, at a glance
The widget editor's last tab is Languages, and it answers the question the fields cannot: which languages are done, and what is left?
- A line at the top says which language your texts are written in and how many there are — Your texts are written in English (14 texts).
- Translate all languages fills in every missing translation and redoes the outdated ones the AI wrote, in every language, in one click.
- Then one row per language: 12 of 14 · 3 by AI · 2 may be outdated, with Translate (the same, for this language only) and Review (open it and read it through).
The same numbers appear as a single muted line above the first field on the Home tab — Your texts are in English · 7 other languages complete · 1 language missing texts — because that is where you are standing when you write a text, and it links straight to the tab.
Review: one language, every text
Review opens one language full-screen, with every text you have written and your own wording above each box. It is how you check a language over before you trust it — a card title translated on its own can read perfectly and still not match the card's description underneath it.
At the bottom, Save keeps what you edited by hand, and Translate the empty ones and Re-translate the outdated ones appear whenever there is something for them to do. Re-translate redoes every outdated translation in that language, including ones a person wrote, and an Undo appears right after either button.
"May be outdated"
When you change a text, the translations made from the OLD version are marked may be outdated — in the table, and on the text itself in Review. Nothing is thrown away and nothing is rewritten behind your back: it is a note that those languages are now saying something you have since changed your mind about. Re-translate the outdated ones brings them back in line.
Translate the empty ones
Both the globe and the Languages tab can write the missing languages for you, using what you already wrote as the source and what your brand does as context. In the globe's window and in Review the results land straight in the boxes — no preview to approve — and an Undo appears immediately if you don't like them. The Languages tab's Translate buttons save straight away, with no Undo.
Quick buttons written by Redesign with AI or by AI setup are translated into every other language for you as soon as they are saved. If that fails, they stay in your language until you translate them on the Languages tab.
Conversation starters
A starter's own wording is its label and prompt on the starters page (Brand → (your brand) → Vex → Starters) — you edit it there. The globe on its row opens the other languages, with those two columns as the read-only reference. Edit a starter's label or prompt and its translations are flagged as possibly outdated, the same as any other text.
If your brand's language is not one of the 38
If your brand works in, say, Catalan, you write your texts in Catalan in the ordinary fields, and that is what the globe shows as the reference — there is no extra row for it, because it is not a translation of anything. Every visitor with no translation of their own reads it. Your brand keeps working in its own language for knowledge search and for what the AI writes; it is only the widget's interface (buttons, tab names, system lines) that falls back to English.
If you change your brand's language
Your texts stay filed under the language they were written in. Change your brand's language later and the Home tab's fields show what is stored for the new language — the translations you already had, or empty boxes. Visitors reading the old language still see your old texts; everyone else follows the usual order — their own language, then your texts in the new language, then Yaplet's built-in wording. While none of your Home texts are in the new language yet, the Languages tab warns you: Your brand language is Hungarian, but 14 texts are written in English. The line under it says what to do: Write your texts in Hungarian on the Home tab and they will be translated from there. To keep writing in English instead, change the brand language back in Brand settings. Once your texts exist in the new language, they are the source for every other language and translating works as usual. There is no button that moves the old texts across. Until then the Home screen has nothing in the new language to translate from: without active conversation starters the tab shows no Translate buttons and Review cannot be opened. If your AI agent has active starters, the warning still appears, under the line that counts your texts, but that count, the Translate buttons and Review cover only the starters until your Home texts exist in the new language.
Texts Yaplet writes for you
The widget's five tab names and the rating question work the same way: Yaplet's wording, translated for each visitor, with nothing to type.
What stays in one language on purpose
Not everything follows the reader, and that is deliberate:
- Messages already sent. A chat bubble your AI or your team wrote is stored as written. Switching language mid-conversation does not rewrite history — it would be rewriting what somebody actually said.
- What language the AI answers in. That is decided by the language the visitor writes, message by message — not by the globe. Someone who set the widget to Hungarian and then types in German gets German back. The globe only breaks ties: when the visitor's own words say nothing about language — a conversation starter or a Home quick button they tapped rather than typed (Yaplet's built-in buttons and the ones you wrote alike), or a message too short to identify like "ok" or "?" — the AI is told which language they are reading the widget in and answers in that.
- Your knowledge base and documentation articles. Each source carries its own language, and the AI answers from whichever ones match. See Knowledge.
- Your team's replies. A human agent writes what they write.
- Forms your website opens through the SDK. They are shown in your brand's language, not in the language the visitor picked in the widget.
The status lines in a conversation — "Agent requested", "Rating submitted" — are the exception: they are Yaplet's words, so the visitor reads them in the widget's language. Your team reads the same lines in the dashboard's language (English or Hungarian); the mobile app shows them in English.