Languages
Languages lets people use your site and app in their own language: the public pages, the sign-in screens, the workspace app, emails, the website chat widget and your Owner area. Open it from Configuration → Languages.
The problem it solves
Your customers and their teams do not all read English. With Languages you choose which languages are offered, translate everything once (by hand, by importing a file, or with the AI), and keep your own wording safe through every update.
How it works
- Threadline ships with English, Arabic, Spanish, French, Portuguese, Hindi, Turkish and Bengali. Only English is switched on at first.
- Everyone picks their language from the language menu (the Ać–‡ button in the header, the public site's navbar and the sign-in pages) or under Settings → Profile. The menu only appears once two or more languages are on.
- Someone who never chose gets their workspace's default language, then their browser's language, then your default language.
- Anything not translated yet shows in English, so a language can be switched on before it is finished.
- Arabic and the other right-to-left languages turn the whole layout around.
The list
Each row shows the language, how much is translated (the interface, and your Owner area separately), and whether it is the default and switched on.
| Action | What it does |
|---|---|
| Add language | Adds any of about 85 languages. A new language starts switched off and opens its Translate screen. |
| Translate | Opens the Translate screen (below). |
| Edit | Name, the native name shown in the language menu, right to left, and switched on or off. |
| Make default | The language for visitors with no choice of their own, new sign-ups and emails to people who never chose. It first shows how ready the language is. Anyone who already chose a language keeps it. The default is always on. |
| Delete | Only for languages you added. A language Threadline ships can be switched off instead. |
The Translate screen
Every line of the interface with its English text beside it. Filter by Missing only, by area (Interface or Owner area), or search.
- Edit a line and press Save. Your wording is kept through updates. Clear a line, or use Reset to the original, to go back to Threadline's own translation.
- Words starting with a colon, such as
:name, links shown as<link>…</link>and merge tags such as{{contact.name}}must stay as they are. A translation that drops one is refused. - Export downloads the language as a JSON file; Import reads the same kind of file back (lines it does not know, or that drop a placeholder, are skipped and counted).
- Translate missing with AI lets you pick the provider and model in the dialog: only providers you have added a key for under Configuration → Integrations → AI are listed, with models that can translate. Your last choice is remembered, and the chat model is never changed. Choose Strings per request: 25 (the safest, the default) or 50 (faster, with a strong model). Only text that is still missing is ever sent, never what is already translated. Each request is logged under AI Usage.
- Translate now makes one request, saves the answer straight away, and shows how many lines were saved. Every saved line can still be edited. If an answer is unusable, a request of 50 is asked again as two halves.
- Translate everything in the background translates all missing text one request after another through the queue, saving each answer before the next request. The Translate page shows a progress bar and refreshes after each request. You can leave the page, or press Stop; what is saved stays. It needs the cron job to be running (see Cron Setup). Lines the AI cannot translate safely are skipped, and a request that keeps failing stops the run with the reason.
openrouter/free) work, but they are slow, sometimes answer badly and have small daily limits. For a whole language, choose a fast paid model under Configuration → Integrations → AI for a few minutes, then switch back.Your own content in other languages
Your pages and site text are written separately for each language. In Site Content, Site Settings, Custom Pages and Email templates, use the Editing bar at the top to choose a language. Each section then shows Translated or Not translated yet, and Reset to the original removes that language's copy. Logos, colours, links and which sections are shown stay the same in every language. Plan names are translated on the plan's own page, under Name in other languages.
Public pages get their own address per language, such as /ar/about, so search engines can list each language. The default language keeps the plain address.
Emails, the widget and AI replies
- Emails and notifications go out in each person's own language.
- The website chat widget shows its buttons in the visitor's browser language, or in one language you fix on the channel page.
- The AI answers customers in the language they write in. Each assistant has a Reply language when unclear for stickers and one-word messages.
Common questions
Will an update overwrite my translations? No. Your wording is stored separately and always wins over the files Threadline ships.
The AI batch failed. The message says why: a refused key, an empty account, or a provider that could not be reached. Try the batch again, or choose another model under Configuration → Integrations → AI.
Who can manage languages? The Owner, and platform staff whose role includes Manage languages and translations.