Language, locale, and market are different states
Language describes communication; locale adds regional conventions; market determines product, policy, legal, payment, logistics, and support behavior. A customer can write Spanish while holding a Brazilian account, use English in a Mexican product, or switch between Portuguese and English technical terms.
Store detected language, confidence, user preference, UI locale, account country, product market, channel, and agent skill separately. Never infer authorization, jurisdiction, or account ownership from language alone.
Conversation languageCurrent message language, code-switching, script, confidence, preferred reply language, and accessibility needs.
Customer localeBCP 47 tag, date/number formats, currency display, timezone, address, naming, and tone preference.
Business marketCountry, product availability, contract, tax, payment rail, delivery, regulatory text, and support policy.
Knowledge authoritySource language, approved translation, market scope, version, owner, effective date, ACL, and citation.
Detect language continuously, but do not oscillate
Language identification on a short message such as “sim,” “no,” “ok,” a product code, or an address is uncertain. Combine message-level detection with conversation history, UI locale, customer preference, channel, and prior agent selection. Ask a simple preference question when confidence remains low.
Use hysteresis: one borrowed word should not switch the entire conversation. Keep a language state with confidence and evidence, and allow explicit user override. Code-switching should remain visible instead of being forced into a single label.
Route through a multilingual evidence pipeline
Multilingual support routing pipeline01 ReceiveNormalize without erasingPreserve original text, Unicode, channel metadata, attachments, account context, and prior language state.
02 DetectEstimate language and localeMessage model, conversation history, user preference, UI locale, country, code-switching, and confidence.
03 ResolveIdentify market and intentAuthenticate customer, choose product market, classify support intent, risk, urgency, and required evidence.
04 RetrieveSearch authorized knowledgeApply tenant, product, market, locale, effective-date, ACL, source-quality, and language filters before ranking.
05 ComposeAnswer contextuallyUse supported claims, local terminology, correct tone, currency/date formats, links, steps, and explicit uncertainty.
06 VerifyCheck language and groundingValidate citations, market scope, numbers, policy, tool arguments, language consistency, and unsupported claims.
07 ActUse bounded toolsRead account state or propose approved actions through typed, authorized APIs with audit and idempotency.
08 EscalateHand off with language contextRoute by skill, market and issue; include summary, original messages, translations, evidence, actions, and next step.
Build market-aware knowledge, not one translated corpus
A single canonical article translated into three languages works only when the underlying policy is truly identical. In practice, payment methods, cancellation windows, delivery regions, tax documents, service hours, and legal wording differ. Model knowledge as a graph of shared concepts plus market-specific variants.
Each source needs creator or owner, canonical URI, source language, approved locale variants, market/product scope, effective and expiry dates, version, ACL, and citation metadata. A translation should point to the source it adapts without pretending that every paragraph is semantically identical.
Retrieve in the user's language without losing authoritative sources
Use multilingual embeddings or cross-language retrieval, but test them by intent and language. A Portuguese question may retrieve a stronger English source; the system can use that source if it applies to the market, then answer in Portuguese with an accurate citation. A fluent translation of the wrong country's policy remains wrong.
Combine dense retrieval with exact terms, product IDs, error codes, and localized synonyms. Apply authorization and market filters before semantic ranking. Track source language, query variants, scores, reranker, and selected chunks.
Contextual localization is not literal translation
Support language must preserve operational meaning. “Invoice” may refer to different documents depending on market. “Cancel,” “refund,” “chargeback,” “return,” and “devolução” map to distinct workflows. Portuguese and Spanish share many words, which can make a plausible false friend more dangerous than an obvious error.
Create terminology registries by product and market. Include preferred term, prohibited ambiguity, definition, examples, UI label, API concept, and escalation note. Human localization review should cover high-impact intents.
Tone should be a policy, not model improvisation
Define formality, directness, greeting, apology, pronoun use, contractions, emoji policy, and sensitive-situation behavior by brand and locale. Do not stereotype an entire country. Let customers set preferences where useful.
For billing, fraud, health, vulnerability, complaints, or outages, prioritize clarity and action over friendliness. The bot should state what it knows, what it cannot verify, and what happens next.
Tools must operate on canonical values
The model may communicate in Portuguese, Spanish, or English, but tool calls should use canonical enums, ISO-style currency identifiers, stable product IDs, explicit timestamps, and typed schemas. Translate at the presentation boundary, not inside core business state.
Never let the model convert a localized amount or date by intuition. Parse with the known locale, show the normalized interpretation for confirmation when consequential, and reject ambiguity.
Control hallucination with evidence and abstention
Require citations or source references for policy and product claims. Validate that retrieved passages apply to the customer market and effective date. If evidence conflicts, is missing, or belongs to another country, the bot should abstain or transfer instead of smoothing the gap with plausible language.
Separate facts from generated connective text. High-risk outputs can use deterministic templates populated from verified fields. A good multilingual bot says “I cannot confirm that for your account in Brazil” rather than confidently translating a US answer.
Design per-intent behavior
| Intent | Language challenge | Required evidence | Automation | Handoff trigger |
|---|
| Product or plan explanation | Localized names, units, feature terms and regional availability. | Current catalog, market, plan/version and approved terminology. | Retrieve, compare and explain with citations. | Unavailable market mapping, conflicting sources or regulated advice. |
| Billing or payment status | Invoice/document vocabulary, decimal/date formats and payment rails. | Authenticated account, invoice, transaction, currency, timestamps and provider state. | Read verified state and explain steps; no inferred settlement. | Dispute, fraud, mismatch, sensitive data or uncertain identity. |
| Technical troubleshooting | English technical terms inside Portuguese/Spanish conversation. | Product/version, environment, exact error, logs, known issues and runbook. | Preserve codes, localize explanation, run safe diagnostics. | Destructive step, repeated failure, outage or low confidence. |
| Cancellation/refund | Similar words hide different legal and workflow meanings. | Market policy, contract, dates, item/service state and payment evidence. | Explain eligibility and execute only approved typed actions. | Exception, complaint, cooling-off dispute or high value. |
| Safety, vulnerability or accessibility | Nuance, urgency, respectful terminology and comprehension risk. | User statement, risk markers, location/market and specialist availability. | Acknowledge, provide bounded immediate guidance and route. | Immediate specialist/human escalation by policy. |
| Request a human | Language preference must survive transfer. | Preferred language, market, intent, summary, evidence and prior actions. | Create case and route to matching skill queue. | Immediate; never force another bot loop. |
Human handoff must be multilingual by design
Route by language proficiency, market knowledge, issue skill, severity, and service hours. Preserve the original message and clearly label machine translation. Give the agent the detected language, confidence, customer preference, market, summary, evidence, citations, tool results, failed attempts, and next recommended action.
If no matching agent is available, communicate the expected response language and time. Do not claim a live transfer while placing the customer in an unowned generic queue.
Evaluate every language and market separately
Parallel multilingual benchmarks such as Belebele expose performance differences that English-only evaluation hides. A support system also needs domain evals built from real intents in en-US, pt-BR, and relevant Spanish locales. Include short messages, typos, accents, code-switching, regional vocabulary, ambiguous dates, money, error codes, and emotionally difficult conversations.
Measure language detection, intent, retrieval recall, market-filter accuracy, groundedness, citation support, terminology, tone, tool selection, argument correctness, abstention, handoff, and final resolution. Report by language, market, channel, intent, risk, and customer segment; do not average away a weak locale.
Use native reviewers for calibration
Automated graders can scale semantic checks, but native-speaking domain reviewers should calibrate rubrics and inspect high-risk errors. Reviewers need to distinguish grammar from operational correctness: a slightly awkward but accurate answer is safer than polished advice using the wrong refund policy.
Track disagreement among reviewers and adjudicate terminology, tone, and policy cases. Feed decisions back into the registry and eval set.
Protect against multilingual prompt injection
Attack instructions can appear in any supported language, mixed language, obfuscated Unicode, retrieved documents, attachments, or tool results. Normalize Unicode carefully while preserving original evidence. Run security classifiers and policy checks across languages, but never treat a classifier as the only boundary.
Retrieved text remains data, not authority. Use tool allowlists, argument validation, least privilege, approval for consequential actions, secret redaction, and full audit regardless of reply language.
Privacy and retention remain market-aware
Minimize conversation content sent to models and stored in logs. Separate operational trace metadata from raw text. Apply tenant, role, purpose, retention, deletion, and data-location policy. Protect translation caches and evaluation datasets because they may contain the same personal information as the original conversation.
Use de-identified or synthetic cases for routine evals. When production samples are necessary, apply documented sampling, access controls, review purpose, and deletion.
Observe quality drift by locale
Track detection confidence, language switches, retrieval language, cross-language retrieval rate, unsupported claims, abstention, tool failures, agent transfer, wait time by language, repeat contact, resolution, complaint, and customer correction. Watch for a model or index release improving English while degrading Portuguese.
Every trace should connect original input, language/locale decision, market, query variants, retrieved sources, response, citations, tools, handoff, and outcome without exposing unnecessary content.
What I would build
I would build a multilingual support gateway with a language-state service, customer/market resolver, terminology registry, locale-aware knowledge graph, hybrid retriever, grounded response composer, verifier, typed tool gateway, skill-based handoff router, and segmented evaluation pipeline.
The release dashboard would show quality and resolution by language and market, source coverage gaps, terminology conflicts, handoff capacity, unsupported-claim rate, and regressions between model/index versions. No release would pass only because its global average improved.
The design principle
A trustworthy multilingual support bot does not merely speak three languages. It preserves the customer's language, applies the correct market truth, proves important claims, acts through controlled systems, measures quality per locale, and transfers ownership without losing context.