作成:2026-06-13最終更新:2026-06-13
このドキュメントをあなたの好きなAIアシスタントに参照してくださいChatGPTClaudeDeepSeekGoogle AI modeGeminiPerplexityMistralGrok
このページとあなたの好きなAIアシスタントを使ってドキュメントを要約します
バージョン履歴
- "Init history"v9.0.02026/6/13
このページのコンテンツはAIを使用して翻訳されました。
英語の元のコンテンツの最新バージョンを見るEdit this doc
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
Copy doc Markdown to clipboard
next-intl から Intlayer への移行
完全で詳細なステップバイステップチュートリアルについては、next-intl 移行ガイドを参照してください。
next-intl から Intlayer への移行により、アプリケーションのルーティングとシンタックスを完全に変更せずに維持できます。
やること
リポジトリで次のコマンドを実行します:
bash
コードをコピー
コードをクリップボードにコピー
npx intlayer initこれにより intlayer.config.ts が作成されます。next.config.ts で、プラグインラッパーを使用して next-intl のエイリアスを @intlayer/next-intl にシームレスに注入します。
next.config.ts
コードをコピー
コードをクリップボードにコピー
import type { NextConfig } from "next";import { createNextIntlPlugin } from "@intlayer/next-intl/plugin";const withIntlayer = createNextIntlPlugin();const nextConfig: NextConfig = {};export default withIntlayer(nextConfig);内部的な動作
bundlerラッパーは翻訳を置き換えますが、next-intl/navigationの機能は損なわれません(例:Link、redirect、usePathname)。
内部的には:
- ICU runtime: 複数形(
=0、one、other)、select/selectordinal、#引数、フォーマット済み引数({ts, date, long})は、共有のresolveMessage(..., 'icu')リゾルバーを使用して正しく実行されます。 useTranslations()&getTranslations(): ベアスコープの呼び出しは、最初のキーセグメントを正しい辞書識別子として抽出します。ネストされた名前空間は、辞書パスとプレフィックスに適切に分割されます。- Rich formatting:
t.rich()とt.markup()の両方が完全にネイティブに実装され、HTML風のノードをレンダリングされたReactチャンクに変換します。 useFormatter:relativeTime、list、dateTimeRange、および設定からの名前付きフォーマットが、コアのネイティブなIntlフォーマッターにブリッジされます。