API reference
The public surface is small. Three runtime exports, six types.
Runtime exports​
| Export | Kind | Purpose |
|---|---|---|
LocalizationProvider | React component | Mount translations at the root or subtree. |
useLocalize | Hook | Read { locale, translate, translations } from context. |
Message | React component | Render a translation by descriptor. |
LocalizationContext | React context | The underlying context (for static contextType). |
LocalizationConsumer | React render-prop | Class-component-friendly consumer. |
Type exports​
| Type | Notes |
|---|---|
Translations | Nested translation tree. |
TemplateValues | Interpolation map for {{tokens}}. |
Translate | The translate(descriptor, values?, defaultMessage?) function. |
LocalizationContextValue | What useLocalize() returns. |
LocalizationProviderProps | Provider props. |
MessageProps | <Message /> props. |
Import shape​
import {
LocalizationProvider,
useLocalize,
Message,
LocalizationContext,
LocalizationConsumer,
} from 'localize-react';
import type {
Translations,
TemplateValues,
Translate,
LocalizationContextValue,
LocalizationProviderProps,
MessageProps,
} from 'localize-react';
Compatibility​
- Module formats: ESM (
./dist/index.mjs) and CJS (./dist/index.cjs), wired up via theexportsfield withtypes/import/requireconditions. - Types: strict TS 6 declarations, validated with
@arethetypeswrong/cliin CI. - Tree-shaking:
sideEffects: false; ESM consumers get dead-code elimination. - React: peerDep
>=16.8 <20. Tested in CI against React 18 and 19.