Skip to main content

API reference

The public surface is small. Three runtime exports, six types.

Runtime exports​

ExportKindPurpose
LocalizationProviderReact componentMount translations at the root or subtree.
useLocalizeHookRead { locale, translate, translations } from context.
MessageReact componentRender a translation by descriptor.
LocalizationContextReact contextThe underlying context (for static contextType).
LocalizationConsumerReact render-propClass-component-friendly consumer.

Type exports​

TypeNotes
TranslationsNested translation tree.
TemplateValuesInterpolation map for {{tokens}}.
TranslateThe translate(descriptor, values?, defaultMessage?) function.
LocalizationContextValueWhat useLocalize() returns.
LocalizationProviderPropsProvider 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 the exports field with types/import/require conditions.
  • Types: strict TS 6 declarations, validated with @arethetypeswrong/cli in CI.
  • Tree-shaking: sideEffects: false; ESM consumers get dead-code elimination.
  • React: peerDep >=16.8 <20. Tested in CI against React 18 and 19.