Intendance Palace is a magazine for the people who run state residences, edited in Paris and published in seven languages. Its articles are translated by machine and guarded by checks we built around that translation. On a magazine that writes about courts, the guards exist for a simple reason: a royal title is not a place to be approximately right.
On September 23, 2026 an article opened with a line of 220 characters about the King of Denmark. In all six translated languages, the opening line came back as the equivalent of “His Majesty King Frederik”, and stopped.
The rest of the sentence was gone. So was the numeral. The king had lost his X, and readers in six languages had lost the first line of the piece.
Why nothing caught it
Every guard we had was looking for failure, and this did not look like failure. The translation service had answered without an error. The answer was not empty. It was in the correct language, with the correct title, and it read as clean text.
Most checks on translated content ask whether something came back. This one had. A short answer is still an answer, and a truncated sentence that ends on a proper name looks finished to anything that is not reading it.
Finding the trigger
The next day we found the cause. The service stopped after “Frederik X” whenever the sentence carried on in lowercase. The name followed by a single capital seems to have been taken as the end of something, and everything after it was dropped.
The fix for that specific case was small. A non-breaking space between the name and the numeral keeps the two together, and the sentence survives. Royal names and titles are protected from the translation step, and this became part of that protection.
A patch for one king would have left the general problem open, though. If a name can end a sentence early, something else can too. So we built detection for the whole class of failure.
A short answer is still an answer. The guard has to know what a right answer looks like, not just that one arrived.
The guards, and the one we threw away
01 / 04
Length ratio
How it works
A translation shorter than 0.45 of its source is held, for any source over 40 characters
What happened
At 0.45, Arabic gave four false alarms, so two scripts got their own floor
02 / 04
Own floor per script
How it works
Chinese 0.12, Arabic 0.3
What happened
Dense scripts stop being flagged for being dense
03 / 04
Unfinished endings
How it works
A second check reads how each translation ends
What happened
0 false positives on 11,226 lines
04 / 04
Number loss
How it works
Looks for numbers lost between source and translation
What happened
Rejected: 55 false hits
| Guard | How it works | What happened |
|---|---|---|
| Length ratio | A translation shorter than 0.45 of its source is held, for any source over 40 characters | At 0.45, Arabic gave four false alarms, so two scripts got their own floor |
| Own floor per script | Chinese 0.12, Arabic 0.3 | Dense scripts stop being flagged for being dense |
| Unfinished endings | A second check reads how each translation ends | 0 false positives on 11,226 lines |
| Number loss | Looks for numbers lost between source and translation | Rejected: 55 false hits |
The last row matters as much as the others. The number check sounded like the obvious guard, since a lost numeral was the original symptom. On real text it produced 55 false alarms, and a guard that cries wolf gets ignored by the person who has to clear it. A check with a bad false-positive rate does more harm than no check, because it teaches people to wave things through. We tested it, measured it and left it out.
Length also has to be set per language. A faithful Chinese translation can be a fraction of the length of its source, and a single threshold for every language either misses real truncation or buries the editor in alarms.
Repairs have their own traps
Once a truncated line is found, it is translated again in parts. The first version split at the period, and it cut a line in two after “M.”, the French abbreviation for Monsieur. Repairs now split at the comma first, because a comma is far more likely to fall where a sentence can really divide.
Six lines were patched on the live site, and the guards have been running since.
Errors like this one reach an unusually sensitive reader. As we wrote in The Cost of an Error Is Public, this audience buys the certainty that nothing will go wrong in public, and a magazine for that audience is held to the same standard.
Three things to keep
- Check that the answer is plausible. Checking that it exists is not enough.
- Set thresholds per language, and measure false alarms on real text before a guard goes live.
- Keep the number you rejected and the reason. The next person will suggest that guard again.



