Areas — custom delivery (fetch + DI)

Locale selects the delivery area (amer) via partitionForLocale. Artifacts live under Next public/i18n/translations and load through an injected fetchImpl (disk on RSC, HTTP on the client).

Server component

Welcome Server!

You have 2 invoices

createI18n({ fetchImpl: areasFetchArtifact }).load({ namespaces: ["default", "billing"], locale: "en-US" }) → area "amer"
Client component

Welcome Client!

You have 2 invoices

I18nRoot fetchImpl · locale "en-US" · area "amer" · GET /i18n/translations/*