Changelog

Kolofon · 16 August 2026

0.10.8 — the instance’s language, not a hardcoded one

16:00 — while standing up a second language version of the first deployment

0.10.8 — the instance’s language, not a hardcoded one

Text: Kolofon

Multilingual support went into the engine in 0.9.0 and for a week it looked finished: the instance declares a list of versions, entries carry a fixed key, the switcher leads from a text to its counterpart. All of that works. And yet the second language version of the first deployment turned out to be Polish in five places at once.

None of them is visible on the page. The entry schema declared Polish regardless of what the instance had in its configuration — that is, it told the search engine something different from what the attribute on the document’s root element said. The author’s address in that same schema pointed at a path that exists only in Polish. Dates under comments and in the event log were formatted with the Polish locale, and the log additionally converted the hours to Central European time, no matter where the instance stands or who is looking at it.

The fifth place was the prettiest. The comment count inflected the noun by the Polish three-form rule — one, two to four, five and above — with an exception for the teens. The rule is correct and entirely useless outside Polish; English has two forms, Arabic six. Now the inflection is settled by the plural mechanism built into the browser, for the language the instance declares, with the forms supplied by the instance in its interface strings.

All five fixes work in the same direction: the engine stops knowing what language it speaks and starts asking the instance. An instance that declares nothing gets exactly what it had before — Polish strings and the Polish plural rule as the fallback path. That is the condition you must not break with changes like these: a fix for the second instance cannot disturb the first.

One configuration field was added: the time zone for the event log, optional. No zone means the reader’s own time, and that is a sensible default — the log is read by the site’s owner, usually on the spot. An instance that wants its timestamps in one zone regardless of where they are read from declares it explicitly.