i18n completed - 121 transliterated strings gain their accents (v0.6.259) #708

Merged
Cordy merged 24 commits from fix-692 into main 2026-09-24 00:06:42 +00:00
Owner

Closes #692

A scanner over every dictionary line found 121 de/fr/it strings written ASCII-only (Schluessel→Schlüssel, cle→clé, identita→identità and kin, plus missing French/Italian apostrophes), clustered in the encryption panel, licensing and the peering strings. All repaired via a corrections table enforced both ways: every flagged string must have a correction, every correction must be used exactly once.

Fifty of the finds hid behind em dashes or pattern gaps across four scanner rounds — the ASCII gate now strips typographic punctuation before deciding a string is "localized". The scanner ships as web/test/qa692.test.js, so any future de/fr/it string written without its accents fails CI.

Also settled from the QA report: the Sharing-policy hints were already fixed since v0.6.247 (they render through t(SET_DESC[id]) with translated sd* keys — pinned); the fr file-type subtitles are a near-false-positive ("PDF document" = ext + fr "document", byte-identical to en by coincidence; only word order differs, judged not worth a per-language composition rule).

Closes #692 A scanner over every dictionary line found 121 de/fr/it strings written ASCII-only (Schluessel→Schlüssel, cle→clé, identita→identità and kin, plus missing French/Italian apostrophes), clustered in the encryption panel, licensing and the peering strings. All repaired via a corrections table enforced both ways: every flagged string must have a correction, every correction must be used exactly once. Fifty of the finds hid behind em dashes or pattern gaps across four scanner rounds — the ASCII gate now strips typographic punctuation before deciding a string is "localized". The scanner ships as `web/test/qa692.test.js`, so any future de/fr/it string written without its accents fails CI. Also settled from the QA report: the Sharing-policy hints were already fixed since v0.6.247 (they render through `t(SET_DESC[id])` with translated `sd*` keys — pinned); the fr file-type subtitles are a near-false-positive ("PDF document" = ext + fr "document", byte-identical to en by coincidence; only word order differs, judged not worth a per-language composition rule).
A scanner pass over the whole dictionary found 121 de/fr/it strings written without accents, clustered in the encryption panel, licensing and the peering strings (Schluessel->Schlüssel, cle->clé, identita->identità and kin, plus missing French and Italian apostrophes). Fifty of them hid behind em dashes or pattern gaps found across four scanner rounds; the ASCII gate now strips typographic punctuation first, since an em dash is not proof of localization. All repaired; the scanner ships as web/test/qa692.test.js, so a new string written without its accents fails CI. Also verified: the admin setting hints render through t(SET_DESC[id]) with translated sd* keys - the QA finding was against v0.6.247 and had already been fixed.
changelog: v0.6.259
All checks were successful
ci / test-and-build (pull_request) Successful in 2m12s
2d98b18724
Cordy merged commit 49bf6f85e3 into main 2026-09-24 00:06:42 +00:00
Cordy deleted branch fix-692 2026-09-24 00:06:44 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#708
No description provided.