MLQU 001 · Live
Linguacore
Documents translated by LLM, with terminology held steady across every file.
The problem
Machine translation is cheap and it drifts. The same term comes back three different ways across a client’s document set, so a linguist has to read everything again and the saving disappears. Agencies were paying twice.
How it’s built
Intake
A Django and DRF API takes the upload, puts the file in S3, and queues the job. Subscription tier decides which models the account may use.
Convert
A Java Lambda runs OpenXLIFF to split the document into translatable segments and a skeleton that remembers the original formatting.
Extract terms
A separate Lambda pulls candidate terminology out of the segments and checks it against the client’s approved term index.
Translate twice
The first pass translates segments. The second reads the result back against the term index and fixes anything that drifted.
Merge
The skeleton and the translated segments are recombined, so the customer gets their own document back rather than a text dump.
Bill
Stripe handles subscriptions through dj-stripe, with per-tier model access held in config rather than code.
What changed
- Runs as the production translation path, with a separate QA environment beside it
- Twelve model versions across three vendors are selectable per tier, so repricing is a config edit
- Terminology stays consistent across a client’s whole document set, which was the reason for the rework
Want one of these?
Two lines is enough. We reply within a day.