Spring til indhold

Har bygget et engelsk/dansk i18n‑system

Har etableret et engelsk/dansk internationaliseringssystem med 12.027 beskeder pr. locale fordelt på 458 namespace‑filer, et ordforråd, som linteren håndhæver, og et budget på 400 linjer pr. fil.

  • Dictionary, words, grammar
    Foto: PDPics / Pixabay
  • Book, pages, chapters
    Foto: Pexels / Pixabay

12,027 beskeder pr. sprog, på engelsk og dansk

Situation. Platformen kører på engelsk og dansk, og oversættelsessystemer har det med at udarte til et rod. Filerne vokser uden grænser, nøgler lækker — de findes i ét sprog og mangler i det andet — og de sprogspecifikke konventioner bliver anvendt ujævnt, så det ene sprog ender med at lyde, som om det var oversat af et udvalg, hvis medlemmer ikke talte sammen. For et professionelt produkt er det ikke en lille skønhedsfejl; det virker sjusket.

Opgave. Internationaliseringen skulle kunne skalere — begge sprog skulle forblive konsistente og korrekte, og filerne skulle stadig kunne vedligeholdes af et menneske et år senere.

Handling. Det er bygget på next‑intl med regler, som værktøjerne faktisk håndhæver. Den danske side har et fastlåst ordforråd og en fastlåst stil — ægte æøå, det uformelle “du”, de rette accenter i bydeform og semantiske mappinger for sammensatte ord, så de oversættes efter betydning og ikke ord for ord — og en linter holder den fast på det. Der er et hårdt budget på 400 linjer pr. navnerumsfil og en tilgang, hvor et stort område deles op i indlejrede filer, der flettes rent sammen igen, i stedet for at én fil vokser i det uendelige; det budget er grunden til, at 12.027 beskeder pr. sprog ligger i 458 filer og ikke i en håndfuld enorme. Et linter‑tjek sammenligner nøglerne på tværs af sprogene, så intet lækker eller mangler. Og gemte overrides flettes ind ud fra kataloget i stedet for via skrøbelige fallbacks på øverste niveau — den samme deep merge‑idé, som bruges til præferencerne.

Resultat. Begge sprog forbliver korrekte og konsistente med 24.054 beskeder tilsammen, og filerne forbliver til at vedligeholde, efterhånden som antallet af strenge stiger. Sprogkvaliteten blev til noget, værktøjerne garanterer ved hver commit, i stedet for noget, der i det stille forringes, hver gang nogen tilføjer en streng i en fart. Budgettet er den bærende del: uden en grænse pr. fil ville 458 filer have været tolv, og ingen ville åbne dem.

Ét stykke af en længere fortegnelse — og det hele ligger her på sitet.

Hver post er skrevet på samme måde: situationen, opgaven, hvad vi gjorde, og hvad der ændrede sig.

Se hele fortegnelsen