Configure Translations

The Translations tab lets you localize every piece of text in the assistant's interface — button labels, the placeholder, the welcome message, error states, form strings — so visitors see the assistant in their own language.

Built-in Languages

The assistant ships with English (EN), Spanish (ES), and Catalan (CA) built in. It detects the visitor's browser language (from navigator.language) and picks the closest match automatically. If no match is found, English is used.

Adding a New Language

  1. Open the assistant's Settings and the Translations tab.
  2. Choose Add language and enter the language code (e.g. FR for French, DE for German, PT for Portuguese).
  3. Fill in the interface strings — each key (like ask, welcome, placeholder) has a field for your translation.
  4. Save.

Your translations override the built-in ones, so you can also customize the English text — for example, change the send button from "Ask" to "Send" or the placeholder from "Ask a question" to something specific to your brand.

Translation Keys

Every piece of interface text is referenced by a key. Here is the full list of built-in keys, their English default, and where they appear in the assistant:

Core interaction:

KeyDefault (EN)Where it appears
placeholder"Ask a question"The grey hint inside the message input.
ask"Ask"The send button label.
search"Search"The search action label (overlay mode).
searching"Searching..."Shown while the assistant is generating an answer.
noResults"Sorry, I couldn't find what you're looking for."Shown when the assistant finds no matching content.
sorry"Sorry, we are unable to answer at this moment."Shown on an unexpected error.

Welcome and identity:

KeyDefault (EN)Where it appears
welcome(empty — uses the welcome message from General settings)The greeting shown when the chat opens.
description(empty — uses the description from General settings)The subtitle below the assistant title.

References and reactions:

KeyDefault (EN)Where it appears
references"Sources"The heading above reference cards in an answer.
copy"Copy"Tooltip on the copy-to-clipboard button.
copied"Copied to clipboard"Confirmation after copying.
like"Like"Tooltip on the thumbs-up reaction button.
dislike"Dislike"Tooltip on the thumbs-down reaction button.

Window controls:

KeyDefault (EN)Where it appears
close"Close"Tooltip on the close button.
expand"Expand"Tooltip on the expand button.
collapse"Collapse"Tooltip on the collapse button.
clear"Clear conversation"Tooltip on the clear-history button.

Forms:

KeyDefault (EN)Where it appears
showForm"Open form"The button that opens a lead-capture form.
submitForm"Submit"The form submit button.
formSubmitted"Your form has been submitted."Confirmation after a form is submitted.

Attachments:

KeyDefault (EN)Where it appears
attachFile"Attach file"Tooltip on the file attachment button.
attachedFile"Attached file:"Label shown next to an attached file.
removeAttachment"Remove attachment"Button to remove a queued attachment.
processingAttachment"Processing attachment..."Shown while a file is being processed.

Footer:

KeyDefault (EN)Where it appears
poweredBy"Powered by"The attribution text in the footer.
contactUs"Contact us"The contact action in the footer.

How Translations Work in Templates

Inside the assistant's Liquid templates, every translatable string is referenced with the t filter:

{{ 'key' | t: 'Fallback text' }}

The filter looks up the key in the visitor's language. If the key has a translation, it's used; if not, the fallback text (the second parameter) is shown instead.

For example, in the search bar template:

<textarea placeholder="{{ 'placeholder' | t: 'Ask a question' }}"></textarea>
<button>{{ 'ask' | t: 'Ask' }}</button>

And in the response template, the sources heading and reaction buttons:

<span>{{ 'references' | t: 'Sources' }}</span>
<button title="{{ 'like' | t: 'Like' }}">...</button>
<button title="{{ 'dislike' | t: 'Dislike' }}">...</button>

Custom Translation Keys

You can add your own keys beyond the built-in list. If you add a key called customGreeting in the Translations tab, you can reference it in a template override:

{{ 'customGreeting' | t: 'Hello!' }}

This is useful for Enterprise users who override templates and need translatable strings in their custom markup.

Tips

  • Start with the strings visitors see most: placeholder, ask, noResults, and references.
  • Test each language by changing your browser's language setting and reloading the page.
  • You don't need to translate every key — untranslated keys fall back to the built-in default for that language, or to English.
  • Translations cover the interface (buttons, labels, placeholders), not the answers — the assistant's reply language is controlled by the behaviour instructions.

Troubleshooting

  • If a label stays in the default language, its translation key is probably empty — open the Translations tab and fill it in.
  • Avoid adding the same language code twice — duplicates can cause unpredictable behavior.
  • The language is detected from the visitor's browser, not from their location. To force a language, set it in the embed via a template override.

Contact us

Still need help?

Tell us what you want your website assistant to answer. We will help you map the right content, controls, and launch path.