A bilingual site has two shop windows, and we only look at one

Our publication chain checks that every French page has its English twin. It was checking correctly, and it was telling the truth. Nine articles were nonetheless unfindable for an English reader.

1. Two truths that do not overlap

The check answered the question: "does this text exist in English?" For all nine, the answer was yes. The files existed, translated, correct, served, reachable at their address.

The question nobody had asked was: "can an English reader come across it?" And the answer was no, because the page listing the articles in English did not contain their card.

Forty cards on one side, thirty on the other. A gap of nine, including two of the texts we consider our best. Existing, invisible.

2. Why the gap opened by itself

Nobody decided to neglect English. The mechanism is more ordinary: we write in French, we proofread in French, we look at the result in French. The English version is produced, checked automatically, and never opened.

Adding a card to the index is a manual step, separate from creating the article. Done every other time, it leaves a debt nobody can see: nothing breaks, nothing is reported, no page returns an error. The site is simply smaller for half its visitors.

It is the quietest kind of debt: the one where everything works, and only the absence is the defect.

3. What we did, and what doing it taught us

We compared the two lists article by article, and rebuilt the nine missing cards by cloning an existing card — never by writing one by hand, or the tenth ends up different from the other thirty-nine.

The tool refused four of the nine. Their French category had no known translation in its table, and it chose to stop and name the problem rather than invent a word. That is exactly what we ask of it: a tool that guesses produces credible, wrong text, and nobody proofreads it because it raised no flag.

One technical detail is worth noting, because it is invisible and breaks everything: each card carries an illustration whose gradient is referenced by an identifier. Cloning a card without renaming that identifier creates the same name twice in the page — and the browser resolves the reference to the first occurrence. Both cards end up with the same background, with no error appearing anywhere.

4. The rule that was missing

"Every page has its translation" is not the same requirement as "every page is reachable in both languages". The first talks about files, the second about journeys. A check that verifies existence says nothing about access.

For a site addressing readers on both sides, the second requirement is the one that counts. An article nobody can find is not published: it is merely deposited.

🔭