The blog in German
Twenty-nine of the fifty-six articles are in German, and the blog can now be translated one article at a time.
The rule throughout is that a language has what it has. Its index lists only its own articles, an article claims an hreflang only for the languages that actually have text, and a language with nothing translated gets no index at all rather than a heading over an empty list. Covers are drawn per language, because the headline is part of the picture.
Sixty-three articles, and every one of them now exists in English, in German and in French. German went first, an article at a time, which is why the machinery described below exists at all. Spanish and Italian have a handful rather than a blog.
What a translation is here
Not a literal one. The register is formal, the prose is rebuilt rather than transposed, and the keywords are written around the phrase a German reader would actually type — not the English phrase translated word for word, which is how a page ends up ranking for something nobody searches for.
What does not change: the date, every link target, every code block, every table's structure, and every "checked on" citation, which keeps the date the claim was actually checked on. A statement about another tool's behaviour was true on a particular day, and translating a sentence does not re-check it.
A language has what it has
Each language's index lists only its own articles. An article claims an hreflang for a language only where there is text in it, so a search engine is never pointed at a translation that does not exist. A language with nothing translated gets no index at all, rather than a heading over an empty list. The covers are drawn per language, because the headline is part of the picture.
The language switcher follows the same rule: on an article your language has, it takes you to that article; on one it does not, it takes you to that language's index, which lists what it does have. Following the prefix blindly would offer a German address for a piece with no German text — a 404 dressed as a translation.
New articles do not work this way any more
An article written from the middle of September 2026 onwards ships in all five languages in the same commit, or it is not finished. The backlog is the argument for that rule: fifty-six articles went out in English, German followed one at a time, and the other three never started, because "translate it later" is a decision nobody makes on purpose. What is left of the backlog gets translated when somebody chooses to; the rule is about not growing it.
Related: escaping in Markdown, and CommonMark, GFM and the flavours.