For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /nl/docs/modules/i18n.md (or send Accept: text/markdown).
i18n-module
Het locale-contract dat elk oppervlak deelt.
Voordat je begint
Open uw gedownloade supastack-project in Visual Studio Code met behulp van Bestand → Map openen en kies vervolgens Terminal → Nieuwe terminal. De root van de repository is de map met package.json, apps en pakketten. Voer daar de onderstaande opdracht uit en laat de terminal open. Als een opdracht niet wordt herkend, voltooi dan de installatiehandleiding van het hulpprogramma voordat u verdergaat.
Lees eerst de platformtutorial. Een server is het app-proces dat browser- of telefoonverzoeken beantwoordt. Web leest apps/web/.env.local, Expo leest apps/mobile/.env.local en opdrachten voor databasemigratie lezen root .env. De demonstratie zonder database/dashboard staat los van echte/auth-accounts, waarvoor Postgres moet worden gemigreerd. Voor een telefoon- of desktop-afrekening is een afzonderlijk draaiende web-backend nodig.
- Installeer de tools en ontvang de code
- Leer opdrachten, bestanden en configuratie
- Voltooi de eerste webtutorial
corepack pnpm --filter @supastack/web devSetup en configuratie
packages/i18n bezit de locale-set en het resolutiecontract: SUPPORTED_LOCALES, DEFAULT_LOCALE, LOCALE_COOKIE, isAppLocale, resolveLocale, localePath en getDictionary. Webroutes, mobile strings en transactionele mail lezen allemaal via hetzelfde package.
Resolutievolgorde is padprefix → cookie → Accept-Language → default. localePath(locale, path) produceert de canonieke href — zonder prefix voor de default-locale, /{locale}/… anders — en de proxy-laag handhaaft dat.
import { getDictionary, localePath, resolveLocale } from "@supastack/i18n";
const locale = resolveLocale([pathLocale, cookie, acceptLanguage]);
const copy = getDictionary(locale).marketing;Implementatieworkflow
Voeg een gebruikerszichtbare string eerst aan de dictionary-types toe, daarna aan elke locale — de vertaalcompleetheidssuite faalt op ontbrekende keys en on vertaalde Engelse tekst.
Branch nooit productlogica op locale; dictionaries zijn presentatie. Formatteer datums, getallen en pluralen via Intl-API's met de geresolvde locale in plaats van stringtemplates.
Verificatie en probleemoplossing
Draai de i18n-packagetests plus de site-content-compleetheidssuite na het aanraken van keys. Spot-check een route met locale-prefix, de languageswitcher en Accept-Language-detectie met een gewiste cookie.