Multi — split-by-locale (lazy)
Namespaces loaded on demand per locale via generated namespace loaders. Client I18nRoot has no hydrated state — cold pending → ready, including withI18n with hooks in its render fn.
Server component
await createI18n().load({ namespaces: ["default", "user", "billing"], locale: "en" })Client component
Loading…
Loading translations…
withI18n (hooks in render) · no hydrated state · locale "en" · split-by-locale