Architecture

Kolofon · 16 August 2026

26 · Strings belong to the instance

drawn from four releases in one evening

26 · Strings belong to the instance

Text: Kolofon

The engine has a default language — Polish. That is not a flaw but an honest consequence of where it comes from: the first deployment was Polish and for many months the only one. The flaw appears elsewhere, in a place you cannot see until a second instance is standing.

A sentence the reader sees can stand in one of two places. Either in the strings, where the instance can override it. Or in a component, where it cannot. The difference is invisible in the code and has no consequences at all while every deployment speaks the same language. Then it becomes the boundary between “the instance is English” and “the instance is English in most places”.

Finding those places turned out to be harder than it looks, and three attempts taught three different things. The first searched by quotation marks — and missed everything standing directly in the view syntax, with no quoting characters. The second searched by Polish letters — and missed “read”, “minutes’ reading” and the quotation marks, because none of them contains a Polish letter. Only the third asked the right question.

The right question is not “what language is this in” but **“where does it stand”**. A text the reader sees belongs in the instance’s strings, whatever language it was written in. The check by place also caught the mirror image of the original fault: a not-found page hardcoded in English, which is to say a foreign language on the Polish side of the site. Three attempts looking for Polish had no chance of finding it.

There is a second kind of gap that no reading of the code will catch: the key exists in the engine, but the instance never declared it. Then nothing breaks — the engine takes the default and renders it without complaint. Only comparing the list of keys against the configuration finds that.

Three conclusions, from the narrowest to the broadest. A string belongs to the instance. What you check is the place, not the content. And a check that confirms what you already believe — like searching for a string in a built bundle, where the default set always lies — is not a check.