# intl

Request-scoped language: responsibilities, supported exports and extension points.

## Purpose [#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 [#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 [#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](/docs/features/i18n) for the full flow.

## Key files [#key-files]

- [`packages/intl/package.json`](https://github.com/CarlosZiegler/autofolio/blob/main/packages/intl/package.json)

