1.3 s
to the first character of the answer, median
64 questions to our own assistant, not to customer projects
Before the first character of an answer exists, XICBOT determines the language of the message in its own code: from function words and characteristic characters, with no external service and no extra model call.
The assistant detects the language of each message. It does this itself, with no outside service. Then it answers in that language. If the visitor switches language, the answer switches too. All languages use the same knowledge base. So you need no duplicate content. If the language is unclear, it does not guess.
Request a free demo View features
The result stands as the last line of the instruction to the model — further up it was lost between the excerpts in one of our measurements, and the model answered in the language of the source. If the visitor switches mid-conversation, the answer switches too. One and the same knowledge base carries every language; nothing is translated. Where detection stays uncertain it does not guess, it leaves the field empty. Hosted in Germany, GDPR-compliant.
Visitor:Bonjour, livrez-vous aussi en France ?
Assistant:Bonjour ! Oui, nous livrons en France. Le délai indiqué est de trois à cinq jours ouvrés.
Visitor:Thanks — can we continue in English? Is this item in stock?
Assistant:Of course. Yes, the item is in stock and ships tomorrow.
Visitor:Merci !
Assistant:Avec plaisir. Si une autre question se pose, je suis là.
Ask it yourself, Assistant of this website
Automated assistantLanguage detection here does not mean that a service is asked. It means two lists, a score and a threshold, all inside the same process that builds the answer. That costs no further call and no transfer to third parties.
The language of the message is determined in our own code before the model is asked at all. There is no external service for it, no second model call and no request that sends your text to a translator.
If the score stays below one point, or the runner-up language is less than half a point behind, nothing is written. The reason stands as a sentence in the source: a guessed “de” would sit in the database like a measured one.
The model receives an explicit instruction about which language to answer in. It stands as the last line behind the excerpts and the tools, because a measurement showed that further up it sinks between the excerpts and the model then answers in their language.
Your sources stay as they are written. Every section is given a language when it is read in, and the search prefers matching sections — it does not exclude the others. A German price list is the right answer to an English question when there is nothing else.
The widget interface — greeting, input field, notices, refusals — exists in German and in English. A third version would be a claim about a translation nobody has checked; that is why there is none. This concerns the frame, not the answers.
The distribution of conversations knows two attributes: the language and the window class of the device. That shows you which language areas the questions come from before you decide which sources to add.
What does not stand here is a list of languages the assistant masters. No such list exists in the source: there are the word lists of the detection and the names written into the instruction to the model. Anyone naming a figure at this point names one that nobody has measured.
The distribution by language sits in conversation analytics, the way the search works under knowledge base.
1.3 s
to the first character of the answer, median
64 questions to our own assistant, not to customer projects
The language filter separates conversations without needing a second interface.
In the distribution, conversations without a detected language stand apart instead of being added to one.
A test conversation checks a wording in the chosen language before it goes live.

Both cases are provided for, and both run through without a query. The difference is not whether an answer comes, but where its language comes from.
The language of the conversation is written at the first sentence that yields one and is not corrected afterwards. The answers still follow each individual sentence — start in German and continue in English and you get English. The value once set on the conversation, however, stays as it was and appears that way in the analytics.
The effort of a multilingual assistant lies not in the language but in the sources. What your content does not hold, it finds in no language; what stands there in German it renders in French, as long as the question leads it there. The first question before the start is therefore not “which languages” but “which answers”.
The second question is the one about the source passage. A language match shifts the order of the excerpts; it does not replace a missing section. If an answer differs for a market — different shipping times, different returns, different prices — it belongs in as a source of its own and not as a translation of the same page. How the knowledge base is built
43 of 48
questions without a handover to a person
measured on a single assistant on our own knowledge base, not on customer projects; a figure from live operation is not yet available
The path differs from a single-language setup at exactly two points: when the sources are read, where every section is given a language, and at acceptance, where the questions are asked in the target language instead of German.
We look at which markets your enquiries come from today and in which language the material exists that the assistant is to answer from. That decides more about the quality of the answers than any setting.
The crawler reads your pages and documents and splits them into sections. Every section is given a language on reading in, from its opening and with the same detection that later measures the visitor message. Where it finds nothing, the field stays empty.
Before release, questions are asked in the language that will be used later. This shows whether a German section reaches a foreign-language question at all — the language bonus shifts the order, it does not replace missing content.
One script in the page head is enough. At the embed snippet you set whether the interface is labelled in German or in English; without a value the assistant setting applies. The language of the answers is independent of it.
The distribution by language shows which markets actually write, and the list of questions without a source passage shows where a source is missing. Both lead to content being added — not to a switch that unlocks a language.
We name no deadline here: how long it takes depends on the volume and state of your sources, not on the number of languages. You see the state yourself during setup, step by step in the documentation.
The price does not depend on the number of languages — nothing in the product counts languages. What is counted is the monthly allowance of the package, and an answer in French uses as much of it as the same answer in German.
from 49 € per month net
Minimum term: none, cancellable monthly
All prices net, plus VAT Source: XICBOT price list, as of 11 September 2026
One Knowledge Base Instead of Many Language VersionsThe advantage lies not in a figure but in the upkeep: you keep your content current in one place, and the assistant renders it in the language of the question. Because an assistant can be wrong too, its answers stay bound to your own content, and handover to a person is open at any time — for foreign-language matters as for German ones.
The multilingual assistant is already included in the Start package: a one-time setup from 990 € net (individual training and integration) plus operation from 49 € per month net (hosting in Germany, care, updates, GDPR). Additional languages come at no surcharge per language. For shop sales with product cards and cart, the Pro package from 149 € per month net. Every project begins with a free initial consultation and a demo. Ongoing services are booked individually and can be cancelled monthly; there is no minimum term.
Anyone selling internationally usually maintains their answers several times over: one page per language, one history of changes per page. The cost of that is not on the invoice but in the places that are forgotten at the next update. The second common route is a separate chatbot for each language: every language then becomes a build of its own, with its own maintenance, its own rules and its own reporting.
An assistant on one knowledge base turns this around: the answer exists once, the language arises only in the reply. That has its own cost — the section found is then not in the language of the question, and the model renders it at the moment of answering, without anyone having read the wording beforehand.
The two do not rule each other out. Translated pages stay where they are needed: for search engines, for legal texts, for campaigns. The assistant does not take their place; it answers what stands between them. Shop assistant · Support assistant
We look at which markets your enquiries come from today and, in a test, put the same question to the same content in two languages. What comes back says more about the state of your sources than any promise.
The questions we are asked about multilingual operation rarely concern the technology and mostly the content: what has to be translated, and what does not.
There is no fixed language menu: the assistant answers in the language of the sentence it has just read and follows a switch mid-conversation. Detection works in our own code with function words and characteristic characters, without an external service and without an extra model call; word lists exist for nine languages: German, English, French, Spanish, Italian, Dutch, Polish, Portuguese and Turkish. If a sentence stays ambiguous, the field stays empty. For content it draws on your knowledge base; that base is not filtered by language, language acts as a ranking bonus. Which languages matter for your markets, and which content is missing for them, we clarify in the initial consultation.
No. You maintain your content only once in your source language. The assistant detects the visitor’s language in its own program code, without a request to any external service, draws its answer from this single knowledge base and replies in the language of the most recent question. Nine languages are detected; if detection remains ambiguous, nothing is guessed and the field simply stays empty. The knowledge base is not filtered by language — a section in your source language therefore also answers a question asked in another language. There are no translated duplicate pages that you would have to keep up to date separately. How the assistant is trained on your content is shown by the website assistant.
It recognises it from the message itself, in our own code and without any outside service: frequent function words are counted, along with characters typical of a language. There are word lists for nine language codes and character lists for seven — English and Dutch are recognised through the function words alone. If the result is not clear-cut, or the two best candidates lie too close together, the field stays empty instead of guessing German; a guessed value would otherwise sit in the evaluation like a measured one. The reply comes in the language of the current sentence: if the visitor switches mid-conversation, the assistant follows, and no language switcher is needed for it.
Yes. Product advice, product cards and the cart work across languages. Foreign-language customers also get recommendations and are guided through the chat into the shop, in a shop based on Shopware in the Community Edition. The assistant detects the language in its own program code and replies in the language of the most recent question; your catalogue remains the only source, because the knowledge base is not filtered by language. So you maintain product texts once and need no translated second version. Details are available with the shop assistant.
If a matter becomes personal or sensitive, the assistant is meant to hand over to a human: the conversation is then marked as handed over, the request becomes an enquiry in your account, and your team is notified. The visitor reads the reason for the handover in plain text beforehand and confirms it themselves. A second handover in the same conversation does not trigger a second notification. The visitor is not told by which route your business is notified — they only see that someone will get in touch. The conversation history is preserved, so your team does not start from scratch. How this looks in everyday use is shown by the support assistant.
Multilingual support is already included in the Start package: setup from 990 € net, operation from 49 € per month net. There is no surcharge per language, because the assistant detects the language from the visitor sentence and answers in that language instead of requiring a separate knowledge base per language. Word lists exist for nine language codes: de, en, fr, es, it, nl, pl, pt and tr. If the result is not clear, the language stays empty instead of being guessed. For multilingual selling with product cards and cart, the Pro package from 2,900 € net setup and 149 € per month net is suitable. Details under multilingual and pricing. All services can be cancelled monthly; there is no minimum term.
If your question is not here, it may be among the frequent questions or in the documentation — otherwise a short message is enough.
Free Demo
In the initial conversation we look at your sources and put the same question once in German and once in the language of your most important export market. You then see both: the answer and the section it came from. Request a demo
Tell us briefly which languages and markets matter to you. You receive a clear assessment and, on request, a free demo with a test assistant for your website — in several languages right away if you like. You can reach us by phone at +49 5123 9579000.