# intl

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

## Purpose [#purpose]

Shared i18next configuration recognizes English, German and French. The server creates a request-scoped instance; web and native supply their own resources. The web selects language from the URL, then cookie, then default.

## 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/doro/blob/main/packages/intl/package.json)

