Etablerade ett internationaliseringssystem för engelska och danska med 12 027 meddelanden per språkversion i 458 namnrymdsfiler, med ett ordförråd som lintern upprätthåller och en budget på 400 rader per fil.
Arbetet utfört: 2025
12,027 meddelanden per språkversion, på engelska och danska
Situation. Plattformen finns på engelska och danska, och översättningssystem har en tendens att svälla ut till en enda röra. Filerna växer utan gräns, nycklar läcker — finns i en språkversion, saknas i den andra — och de språkspecifika konventionerna tillämpas ojämnt, så att en språkversion till slut låter som om den hade översatts av en kommitté vars ledamöter aldrig pratade med varandra. För en professionell produkt är det ingen liten skönhetsfläck; det uppfattas som slarv.
Uppgift. Internationaliseringen behövde skala — så att båda språken hölls konsekventa och korrekta, och så att filerna fortfarande var något som en människa kunde underhålla ett år senare.
Handling. Den bygger på next‑intl med regler som verktygen faktiskt upprätthåller. Den danska sidan har ett låst ordförråd och en låst stil — bokstavliga æøå, det informella ”du”, rätt accenttecken i imperativformer och semantiska mappningar för sammansatta substantiv, så att de översätts efter betydelse i stället för ord för ord — och en linter ser till att den håller sig till det. Det finns en hård budget på 400 rader per namnrymdsfil, med en metod för att dela upp och slå samman, så att ett stort område delas i nästlade filer som slås samman rent igen i stället för att en enda fil växer i all evighet; den budgeten är skälet till att 12 027 meddelanden per språkversion ligger i 458 filer i stället för i en handfull enorma. En kontroll i lintern jämför nycklarna mellan språkversionerna så att ingenting läcker eller försvinner. Och lagrade åsidosättningar slås samman utifrån katalogen i stället för med sköra reservvärden på toppnivå — samma idé om djup sammanslagning som används för inställningarna.
Resultat. Båda språkversionerna förblir korrekta och konsekventa med 24 054 meddelanden tillsammans, och filerna förblir underhållbara i takt med att antalet strängar ökar. Språkkvaliteten blev något som verktygen garanterar vid varje commit i stället för något som i det tysta försämras varje gång någon lägger till en sträng i all hast. Budgeten är den bärande delen: utan en gräns per fil hade 458 filer varit tolv, och ingen skulle öppna dem.
Se tillbaka på Levererade fullt stöd för Progressive Web App — installerbar och med offlinestöd — med körtidscachning i Workbox via next‑pwa. Läs vidare: Byggde operatörernas backoffice — ca 40 administrationsrutter och 128 komponenter för anspråk, moderering, funktionsflaggor, cache och diagnostik — så att plattformen kan drivas utan databasåtkomst. Eller ta en titt på hela portföljen.
En del av en längre historik — och den finns i sin helhet här.
Varje post är skriven på samma sätt: situationen, uppgiften, vad vi gjorde och vad som förändrades.