Language detection & per-conversation language controls
Live Translate is per-conversation: each conversation has its own language pair and enable/disable state, independent of workspace defaults.
Beta. Live Translate is in beta. This page describes behavior when it is enabled for your workspace.
Language detection
When a customer message arrives, Helpin detects the conversation language:
Browser locale first — when available from widget metadata, the visitor's locale is the initial signal.
Message detection — the first meaningful customer message re-evaluates the language; detection confidence is stored.
Manual override wins — agents can set the customer language manually from the conversation header; the detected value remains as context.
Detection only suggests: below the workspace's minimum confidence threshold, translation is not auto-suggested. Same-language conversations (customer language = agent language) have translation disabled by default.
The conversation header control
When a language mismatch is detected, a translation pill appears in the conversation header:
State | Pill shows |
|---|---|
Suggested | "Spanish detected" |
Enabled | "Translating Spanish to English" |
Provider error | "Translation unavailable" |
Quota reached | "Translation quota reached" |
The pill opens the per-conversation controls:
Customer language selector and agent language selector.
Translate inbound messages toggle.
Translate outbound replies toggle.
Re-detect language action.
Disable for this conversation action.
Conversations with no detected language show "No language detected" with manual selection available.
Per-conversation states
A conversation's translation is either off, suggested, enabled, unavailable (a translation error), or paused because the quota was reached. Error and quota states degrade gracefully — you can always send untranslated, and the customer-visible thread continues normally.
How messages display
Inbound customer message:
Translated content by default, with a "Translated from " label.
Show original / Show translation toggles per message.
If translation fails, the original shows by default.
Outbound agent message:
Displays the customer-visible sent content.
Agents see the original draft behind a compact reveal after send.
The customer never sees the original draft unless it was the sent content.
Drafting with translation
With outbound translation enabled, the composer shows the target language near the send button:
Draft in your language (shortcuts inserted count as part of the draft).
Click the translate preview action — a translation of the current draft appears.
Edit the translated text if needed, then send.
If translation fails or you prefer, use Send without translation.
Translation controls are hidden while composing an internal note.
Real-time consistency
Translation state syncs across open inbox sessions: if a teammate changes languages or toggles translation while you have the conversation open, your view updates with a non-blocking notice. Stale draft translations (draft edited since the request) are discarded rather than applied.
Related pages
Was this article helpful?