このページとあなたの好きなAIアシスタントを使ってドキュメントを要約します
バージョン履歴
- "Solid の useIntlayer API の使用法を直接プロパティアクセスに更新"v8.9.02026/5/4
- "Update compiler options, add FilePathPattern support"v8.2.02026/3/9
- "初回リリース"v8.1.62026/2/23
このページのコンテンツはAIを使用して翻訳されました。
英語の元のコンテンツの最新バージョンを見るこのドキュメントを改善するアイデアがある場合は、GitHubでプルリクエストを送信することで自由に貢献してください。
ドキュメントへのGitHubリンクドキュメントのMarkdownをクリップボードにコピー
既存の Vite および React アプリケーションを後から多言語化 (i18n) する方法 (i18n ガイド 2026)
GitHub で アプリケーションテンプレート を見る。
目次
なぜ既存のアプリケーションを国際化するのは難しいのか?
単一言語向けに構築されたアプリに複数の言語を追加しようとしたことがあるなら、その苦労がわかるでしょう。それは単に「難しい」だけでなく、「面倒」です。すべてのファイルを調べ、すべてのテキスト文字列を探し出し、それらを個別の辞書ファイルに移動する必要があります。
次にリスクの高い部分が来ます。レイアウトやロジックを壊さずに、これらすべてのテキストをコードフックに置き換えることです。これは、新しい機能の開発を数週間停止させ、終わりのないリファクタリングのように感じられる種類の作業です。
Intlayer Compiler とは?
Intlayer Compiler は、その手作業をスキップするために構築されました。手動で文字列を抽出する代わりに、コンパイラが自動的に行います。コードをスキャンしてテキストを見つけ、バックグラウンドで AI を使用して辞書を生成します。 その後、ビルド中にコードを変更して、必要な i18n フックを注入します。基本的には、単一言語であるかのようにアプリを書き続け、コンパイラが多言語への変換を自動的に処理します。
Doc Compiler: /ja/doc/compiler
制限事項
コンパイラは、コンパイル時にコード分析と変換 (フックの挿入と辞書の生成) を実行するため、アプリケーションのビルドプロセスが遅くなる可能性があります。
開発中のこの影響を軽減するために、コンパイラを 'build-only' モードで実行するように構成するか、不要なときに無効にすることができます。
Vite および React アプリケーションに Intlayer を設定するためのステップバイステップガイド
依存関係のインストール
npm を使用して必要なパッケージをインストールします。
bashコードをコピーコードをクリップボードにコピー
intlayer 設定管理、翻訳、コンテンツ宣言、トランスパイル、および CLI コマンド のための国際化ツールを提供するコアパッケージ。
react-intlayer Intlayer を React アプリケーションと統合するパッケージ。React の国際化のためのコンテキストプロバイダーとフックを提供します。
vite-intlayer Intlayer を Vite バンドラー と統合するための Vite プラグイン、およびユーザーの優先ロケールの検出、クッキーの管理、URL リダイレクトの処理のためのミドルウェアが含まれています。
プロジェクトの構成
アプリケーションの言語を構成するための構成ファイルを作成します。
intlayer.config.tsコードをコピーコードをクリップボードにコピー
注意: 環境変数に
OPEN_AI_API_KEYが設定されていることを確認してください。この構成ファイルを通じて、ローカライズされた URL、ミドルウェアのリダイレクト、クッキー名、コンテンツ宣言の場所と拡張子、コンソールでの Intlayer ログの無効化などを設定できます。利用可能なパラメータの完全なリストについては、構成ドキュメント を参照してください。
Vite 構成に Intlayer を統合する
構成に intlayer プラグインを追加します。
vite.config.tsコードをコピーコードをクリップボードにコピー
intlayer()Vite プラグインは、Intlayer を Vite と統合するために使用されます。コンテンツ宣言ファイルの構築を確実にし、開発モードでそれらを監視します。Vite アプリケーション内で Intlayer 環境変数を定義します。さらに、パフォーマンスを最適化するためのエイリアスを提供します。intlayerCompiler()Vite プラグインは、コンポーネントからコンテンツを抽出し、.contentファイルを書き出すために使用されます。コードをコンパイルする
デフォルトのロケールでハードコードされた文字列を使用してコンポーネントを記述するだけです。残りはコンパイラが処理します。
ページの表示例:
src/App.tsxコードをコピーコードをクリップボードにコピー
IntlayerProviderは、ネストされたコンポーネントにロケールを提供するために使用されます。
コンテンツの言語を変更する
オプションコンテンツの言語を変更するには、
useLocaleフックによって提供されるsetLocale関数を使用できます。この関数を使用すると、アプリケーションのロケールを設定し、それに応じてコンテンツを更新できます。src/components/LocaleSwitcher.tsxコードをコピーコードをクリップボードにコピー
useLocaleフックの詳細については、ドキュメント を参照してください。欠落した翻訳を埋める
オプションIntlayerは、欠落した翻訳を埋めるためのCLIツールを提供しています。
intlayerコマンドを使用して、コードから欠落した翻訳をテストおよび埋めることができます。bashコードをコピーコードをクリップボードにコピー
bashコードをコピーコードをクリップボードにコピー
詳細については、CLIドキュメントを参照してください。
(任意)サイトマップと robots.txt(ビルド時生成)
Intlayer は generateSitemap と getMultilingualUrls により、クローラ向けに整形した多言語の sitemap.xml と robots.txt を public/ に自動で書き出せます。通常は Vite より前に小さな Node スクリプトを走らせます(例: npm の predev / prebuild)。
サイトマップ
Intlayer のサイトマップ生成はロケール設定を踏まえ、クローラ向けのメタデータを含めます。
生成されるサイトマップはxhtml:link(hreflang)をサポートします。単純な URL 列挙ではなく、各ページの言語版同士を双方向で結びます(例:/about、/fr/about、/about?lang=frなどルーティングに依存)。
Robots.txt
getMultilingualUrls で Disallow を、機微パスのすべての言語 URLに効かせます。
1. プロジェクトルートに generate-seo.mjs を置く
コードをクリップボードにコピー
intlayer がインストールされている必要があります。本番では環境変数 SITE_URL を設定してください(CI など)。
Node の ESM ではgenerate-seo.mjsを推奨します。generate-seo.jsにする場合はpackage.jsonの"type": "module"などで ESM を有効にしてください。
2. Vite より前にスクリプトを実行する
コードをクリップボードにコピー
pnpm や yarn を使う場合はコマンドを読み替えてください。CI から呼び出しても構いません。
Git の構成
Intlayer によって生成されたファイルを無視することをお勧めします。これにより、Git リポジトリへのコミットを避けることができます。
これを行うには、.gitignore ファイルに次の指示を追加します。
コードをクリップボードにコピー
VS Code 拡張機能
Intlayer での開発体験を向上させるために、公式の Intlayer VS Code 拡張機能 をインストールできます。
この拡張機能は以下を提供します:
- 翻訳キーの自動補完。
- 欠落している翻訳のリアルタイムエラー検出。
- 翻訳されたコンテンツのインラインプレビュー。
- 翻訳を簡単に作成および更新するためのクイックアクション。
拡張機能の使用方法の詳細については、Intlayer VS Code 拡張機能のドキュメント を参照してください。