このページとあなたの好きなAIアシスタントを使ってドキュメントを要約します
バージョン履歴
- "Init history"v9.0.02026/6/13
このページのコンテンツはAIを使用して翻訳されました。
英語の元のコンテンツの最新バージョンを見るIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
Migrate from React Intl to Intlayer
If your React application uses react-intl (FormatJS), transitioning to Intlayer is a breeze. Our compat layer seamlessly handles ICU MessageFormat and all existing Formatted* components.
What to do
Start by running the initialization command in your project:
コードをクリップボードにコピー
npx intlayer initThen, set up the Intlayer Vite or Next.js plugin in your configuration. This plugin injects build-time aliases to redirect react-intl imports to @intlayer/react-intl.
コードをクリップボードにコピー
import { defineConfig } from "vite";import react from "@vitejs/plugin-react";import reactIntlVitePlugin from "@intlayer/react-intl/plugin";export default defineConfig({ plugins: [react(), reactIntlVitePlugin()],});What it does under the hood
The bundler plugin aliases react-intl to @intlayer/react-intl. Instead of parsing large JSON files manually and wrapping your app in an IntlProvider, the Intlayer plugin statically extracts keys and uses Intlayer dictionaries at runtime.
Under the hood:
- ICU MessageFormat: Intlayer uses the
resolveMessage(..., 'icu')resolver which fully supports the ICU pluralization, selection, date/number formatting, and rich text tags natively. - Method & JSX callers:
intl.formatMessage({ id: 'a.b' })and<FormattedMessage id="a.b">are identified by the Intlayer compiler plugins (@intlayer/babel/@intlayer/swc), converting flat dotted keys so that the first segment correctly resolves to the Intlayer dictionary key. - Formatters:
<FormattedNumber>,<FormattedDate>, etc., bridge over to the nativecore/formattersusingIntl.