The raw key on a live page
A label is added in English and the Dutch line is forgotten. Nothing complains, and a Dutch reader meets an internal key on a settings page. Here that gap stops the build.
De werkruimte leest in jouw taal vanaf de eerste weergave.
Growth-OS spreekt Engels en Nederlands als gelijken. Beide catalogi worden met de app meegecompileerd, dus de eerste weergave is al in jouw taal, zonder iets op te halen en zonder geflikker. Wordt een zin in de ene taal toegevoegd en in de andere vergeten, dan faalt de build voordat iemand een ruwe sleutel te zien krijgt.
Het mechanisme van begin tot eind, zoals het in de repository is geïmplementeerd.
The URL decides first
A /nl prefix means Dutch. Without one, the app falls back to the account preference, then a strictly validated cookie, then the default.
Pages render from compiled catalogs
Copy reads from typed catalogs compiled into the app, so the server render and the first client render agree.
Switching keeps your place
The switcher rewrites the current URL, keeping path, query and hash, and updates the document language immediately.
The choice sticks
It is stored in a validated cookie and, for a signed-in teammate, on the account, so the next visit opens the same way.
Interactief voorbeeld
Deze rondleiding toont het geïmplementeerde backendcontract zonder account, credentials of providercalls.
Interactief voorbeeld
Alleen deterministische voorbeelddata. De interactie gebruikt geen account-, provider- of netwerkverbinding.
Zonder een gedeelde basis bouwt elk team deze randgevallen opnieuw, en anders.
A label is added in English and the Dutch line is forgotten. Nothing complains, and a Dutch reader meets an internal key on a settings page. Here that gap stops the build.
Someone reading in Dutch shares a page, a colleague opens it in English because the choice only lived in a cookie, and the conversation restarts. Putting the language in the URL keeps it with the link.
Loading translations after the page means every first visit flickers from keys or English to the real text. Compiled catalogs leave nothing to wait for.
Kernpunten
Both languages live side by side in one typed catalog. Add a phrase in one and forget the other, and compilation fails instead of shipping the gap.
Dutch pages live under /nl, so a link you paste into a channel opens in the language you were reading.
Translations are compiled in, not fetched, so the server render and the first client render already speak the right language.
Technische garanties
Dit vertaalt de woorden van de applicatie zelf. Het vertaalt niets machinaal, en wat wij in een record, een besluit, een gespreksnotitie of een campagnebrief typen, wordt opgeslagen en getoond precies zoals het geschreven is.
De grens hierboven is geen claim maar code. Deze bestanden dragen het contract:
src/modules/i18n/messages.tssrc/modules/i18n/locale-navigation.tssrc/modules/i18n/MODULE.mdDeze functies delen contracten en grenzen met deze pagina.
De documentatie beschrijft dezelfde contracten die deze pagina demonstreert.