i18n

@docx-editor.dev/i18n

Locale data for the editor chrome. Ships ten languages: English, Polish, German, French, Portuguese, Hebrew, Hindi, Indonesian, Turkish, and Chinese.

Locale data for the editor UI. Both adapters consume it through the i18n prop.

npm install @docx-editor.dev/i18n

You usually do not install this package directly. The adapter installs it as a transitive dependency. Install it explicitly only when you use locale data outside the editor, such as in a custom toolbar or search dropdown.

Available locales

CodeLanguageNamed export
enEnglishen
plPolishpl
deGermande
frFrenchfr
pt-BRBrazilian PortugueseptBR
heHebrewhe
hiHindihi
idIndonesianid
trTurkishtr
zh-CNChinese (Simplified)zhCN

Two import shapes are supported:

  • Named exports off the root (import { pl } from '@docx-editor.dev/i18n'). Use this when you ship a small static list of locales. Hyphenated codes (pt-BR, zh-CN) become camelCase exports (ptBR, zhCN).
  • Per-locale subpath imports (import pl from '@docx-editor.dev/i18n/pl'). Use this when you dynamically load locales; the per-locale subpath code-splits so users only download the language they need.

Verify what your installed version ships:

ls node_modules/@docx-editor.dev/i18n/

Wiring into the editor

Pass the locale object to the i18n prop.

import { DocxEditor } from '@docx-editor.dev/react';
import { pl } from '@docx-editor.dev/i18n';

<DocxEditor document={bytes} i18n={pl} />;

For several editors, or for chrome parts you compose yourself, put the catalog in context once instead:

import { DocxEditor, LocaleProvider } from '@docx-editor.dev/react';

<LocaleProvider i18n={pl}>
  <DocxEditor.Toolbar />
  <DocxEditor document={bytes} />
</LocaleProvider>;

In both cases, the catalog merges over English, so a locale that has not translated every key falls back per key rather than per language. Providers nest: an inner one, or an i18n prop under an outer provider, overrides only the keys it names. Chrome you write from scratch reads the same catalog through useTranslation():

import { useTranslation } from '@docx-editor.dev/react';

const { t } = useTranslation();
<button>{t('formattingBar.bold')}</button>;

Next steps

On this page