Localisation correctness: the git host footer is Swedish in the English interface #70
Etiketter
Inga etiketter
area/backups
area/ci
area/control-panel
area/identity
area/infra
area/observability
area/payments
area/security
area/storage
area/web
blocked
needs-info
needs-triage
ready-for-implementation
type
bug
type
chore
type
docs
type
epic
type
feature
type
task
wontfix
Ingen milstolpe
Inget projekt
Inga tilldelade
1 deltagare
Notiser
Förfallodatum
Inget förfallodatum satt.
Beroenden
Inga beroenden satta
Referens
bitborg/bitborg-docs#70
Läser in…
Hänvisa till i nytt ärende
Ingen beskrivning angiven.
Ta bort grenen "%!s()"
Borttagning av en gren är permanent. Även om den borttagna grenen kan fortsätta existera en kort tid innan den faktiskt tas bort, kan det INTE ångras i de flesta fall. Vill du fortsätta?
The git host's footer renders three Bitborg links in Swedish regardless of the interface language,
and those links then send the reader to Swedish-only pages. Both are our own defects, not upstream
translation gaps.
Labels.
custom/templates/custom/*hook fragments are not routed through the translationpipeline unless they ask for it explicitly, and ours is plain HTML with hardcoded Swedish. Verified:
with the interface set to English the footer still reads "Användarvillkor" and "Integritetspolicy",
byte-identical to the Swedish response, while the upstream strings immediately beside them
("Powered by Forgejo", "Licenses") translate correctly.
Destinations. Separately, all three links point at the portal's Swedish URLs unconditionally.
The website serves Swedish at
/and English under/en/, and does not detectAccept-Language— so an English reader clicking "Privacy Policy" lands on the Swedish page evenonce the label is fixed.
A stale decision record caused the second bug. ADR 0010 states the portal does "English
auto-detected (
Accept-Language) with a cookie-backed switcher". Neither the detection nor thecookie exists. The footer fragment was written against that sentence.
A latent third. The translation store's default language is Swedish (first entry wins), so any
key missing from English would render in Swedish to an English reader — silent in the interface,
but always logged. Not firing today: zero matches over fourteen days. Cheap to guard before an
upgrade introduces one.
Scope
Done when
An English reader sees English labels leading to English pages, the Swedish output is byte-identical
to today, and the decision record matches what exists.
Status — 2026-08-02
Both defects are fixed, applied, and verified against the live instance:
An English reader now gets English labels and English destinations, which was the point — fixing
only the labels would have left them on Swedish pages. Swedish output is byte-identical to what it
was, verified by extracting the footer region from production and from the render and comparing.
Outstanding: the stale ADR 0010 sentence that caused the second defect, and the missing-translation
alert. The alert is a guard against a latent third defect rather than a live one — Swedish is the
translation store's fallback language, so a key missing from English would render in Swedish
silently.
Shipping. The done-when is met: English readers see English footer labels that lead to English pages, the Swedish output is unchanged, and ADR 0010 matches what is built.
The remaining task, bitborg/bitborg-infra#335 (alert on missing translations), guards a failure that has not occurred. It stays in the infra backlog on its own.