> ## Documentation Index
> Fetch the complete documentation index at: https://supastack.dev/llms.txt
> Use this file to discover all available pages before exploring further.
> For the full documentation corpus in one file, fetch: https://supastack.dev/llms-full.txt

# 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](https://supastack.dev/nl/docs/web/before-you-start.md)

[Leer opdrachten, bestanden en configuratie](https://supastack.dev/nl/docs/web/terminal-basics.md)

[Voltooi de eerste webtutorial](https://supastack.dev/nl/docs/web/ship-in-5-minutes.md)

```
corepack pnpm --filter @supastack/web dev
```


## Setup 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.


## Volgende

[Workspaces](https://supastack.dev/nl/docs/modules/workspaces.md)
