Loading...
Customer Support
Customer support translation
Translate tickets and live chats in real-time, with do-not-translate and placeholder controls that keep product names and policy language intact.

At a glance
Ideal content
Tickets and macros
Best route
Low-latency sync
Key control
Placeholder preservation
The queue is already multilingual
It's a Tuesday morning. A customer in Tokyo opens a billing ticket in Japanese at 8 a.m. their time. Your support team is in Dublin, so the ticket is handled by an English speaker. By the time a representative checks the ticket, the issue has begun to cause significant problems for the customer, causing growing frustration. The same story plays out in Spanish, German, and French elsewhere in the queue.
The problem is that your strategy for support has remained monolingual even as your product became multilingual. You still copy the message out of the ticket, paste it into a translator, fix and product names and order numbers it mangled, copy the reply back, and hope everything else survived. That loop turns a one-minute reply into a ten-minute ordeal, and it gets worse as the queue grows.
Where the manual loop breaks
When representative need to verify translations on their own, various issues emerge:
- Product names and order numbers get rewritten instead of preserved, so the customer sees their own reference wrong in the reply.
- Policy language gets paraphrased per ticket, and "refunds are issued within 14 days" stops meaning exactly that.
These are control problems, not vocabulary problems. The words come out fine but specific details are lost in the process.
What the Lexel Translate API covers
- Handle inbound messages on the synchronous route to ensure your representative never has to wait (translate docs).
- Process representative replies with
do_not_translateterms so product and brand names stay as written. - Ensure consistency in all other support content using team-wide glossaries along with placeholder protection.
The caller-provided request_id provides another essential tool for visibility into responses and usage. If you notice something unexpected, the request_id can be used to identify a particular translation request instead of searching through a week of traffic. Usage numbers come back on every response, so you can enforce per-team limits from your own side (usage docs, error and rate-limit docs).
A setup that holds up at volume
- Build a short do-not-translate list first: product names, internal codes, and terms like beta or premium that stay in English everywhere.
- Enable
preserve_placeholdersso tokens like{name},[Order #482913], and HTML links survive the round trip. - Give each team its own API key and attach a
request_idto every message. - Localize macros in batch, review each language once, then let representatives pick from the list.
The setup runs with the team you already have; no dedicated localization function is required.
What changes
Representative stop iterating between the ticket and a translator. Replies go out in the customer's language without a second pass. Policy language reads the same in every market because it was written once, not improvised per ticket. And when something does go wrong, the request_id points at the exact message.
Next steps

Documentation & Education · Batch
Documentation and education translation
Translate course content and other documents while keeping structure and other fields intact.

Communities & Gaming · Realtime
Community and gaming translation workflows
Translate live chat, moderation queues, and event announcements with low-latency while keeping usernames and other community-specific terminology intact.

Marketplaces & Ecommerce · Batch
Marketplace and ecommerce listing translation
Route listings, reviews, and messages to the translate mode that fits each traffic type while keeping catalog terms stable with glossaries and placeholder protection.
Where to go next
Explore implementation guides, API docs, and pricing to choose the right path for your team.