Purpose
Shared i18next configuration recognizes Portuguese, English and German on the web (mobile passes its own pt-BR/en/de catalogs). The server creates a request-scoped instance; web and native supply their own resources. The web selects language from the URL, then the cookie, then Accept-Language (navigator.languages on the client), then English.
Public exports
| Subpath | Target |
|---|---|
. | ./src/index.ts |
./server | ./src/server.ts |
These paths come from packages/intl/package.json. A . entry is the package root. Conditional targets distinguish platform or type resolution; consumers should import the subpath, not its source file.
How to extend
Add a message to all three catalogs and use the typed translation API. Keep shared locale constants separate from the server entry. Use Intl for user-visible dates and numbers.
Read the request-scoped language guide for the full flow.