i18n + type: translate the setting descriptions, vendor Libre Franklin locally #332
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/vendor-font"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Deferred-items cluster B (#311 items 3, 9, 11).
Items 9 and 11 — the setting descriptions are no longer English-only
SET_DESCheld raw English prose, so ten descriptions rendered in English regardless of the interface language. It now maps a field id to an i18n key, and the copy lives in the same table as every other string, translated into all four languages.Two implementation notes:
\uXXXXescapes; hand-escaping four languages is how a strayébecomes mojibake in front of a customer.lässt,muss,Grösse-style spelling, consistent with the rest of the table and with shipping from a.chinstance. Worth your eye since you'll read these before anyone else does.Item 11:
set-f-audithad no description at all and now has one.set-quotafieldstill has none — I cannot confirm from the frontend whether it caps the whole instance or sets a per-space default, and a confidently-worded wrong description on a quota control is worse than a blank space. Needs one line from the backend to settle.There is a real gap worth stating:
t(SET_DESC[id])is a dynamic lookup, so the webcheck guard's undefined-key test cannot see these keys. A typo would render a verbatim key rather than fail CI. The splice therefore validates everySET_DESCkey resolves and carries exactly four languages, and the limitation is written into the comment above the map.Item 3 — Libre Franklin is vendored, not approximated
The stack was
"Avenir Next", "Segoe UI Variable", system-ui— an approximation that renders differently on every OS. Now'Libre Franklin Variable'leads it, served from our own origin.LibreFranklin-OFL.txtships beside the font because the licence requires it.font-display: swapso a cold cache shows system text immediately instead of a blank page.cp web/static/* cmd/cairnd/webdist/, rather than assuming it.Gate:
node --check,go vet ./...,go test ./...,go build ./cmd/cairnd, plus the SET_DESC key/language validation above.