このページとあなたの好きなAIアシスタントを使ってドキュメントを要約します
バージョン履歴
- "Update Solid useIntlayer API usage to direct property access"v8.9.02026/5/4
- "Update compiler options, add FilePathPattern support"v8.2.02026/3/9
- "Initial release"v8.1.62026/2/23
このページのコンテンツはAIを使用して翻訳されました。
英語の元のコンテンツの最新バージョンを見るこのドキュメントを改善するアイデアがある場合は、GitHubでプルリクエストを送信することで自由に貢献してください。
ドキュメントへのGitHubリンクドキュメントのMarkdownをクリップボードにコピー
既存のVite & Reactアプリケーションを後から多言語化(i18n)する方法(2026年版ガイド)
Vite & Reactプロジェクトの初期段階から国際化(i18n)を導入するのは比較的簡単です。しかし、すでに単一言語で構築され運用されているアプリケーションを後から多言語化する必要が生じた場合、どうすればよいでしょうか?
react-i18nextやreact-intlなどの従来のライブラリでこれを試みたことがある方なら、その大変さを知っているはずです:
- 何百ものJSXやTSXファイルからハードコードされたテキストを手作業で探す。
- ネストされたJSONファイルを手作業で作成し、任意の翻訳キー(
components.header.titleなど)を命名する。 - JSXのテキストを翻訳フック(
t('...'))に置き換える。 - クライアントサイドルーティング、状態管理、言語切り替えロジックを再構築する。
2026年、コードベース全体を書き直す必要はありません。Intlayerを使えば、自動抽出、AI翻訳、シームレスなVite統合を活用して、既存のVite & Reactアプリをわずか数分で多言語化できます。
Vite & Reactの詳細なステップバイステップ技術ガイドをお探しですか?専用ドキュメントをご覧ください: IntlayerでVite & Reactを翻訳する。
目次
後付け導入の課題:既存アプリの多言語化が困難な理由
既存のVite & Reactアプリを国際化する際、開発者は3つの大きな壁に直面します:
- コードベースの混乱: 文字列を手作業でJSON辞書に切り出す作業は、ほぼすべてのコンポーネントの変更を伴います。膨大なGitの差分、マージコンフリクトのリスク、意図しないレイアウト崩れの原因となります。
- キー管理のオーバーヘッド: テキストの断片ごとに
dashboard.hero.ctaButtonのようなキーを考案することは開発スピードを落とし、文言変更のたびに認知負荷を与えます。 - 退屈な翻訳作業: 文字列を抽出した後、5言語、10言語、あるいは20言語の辞書を作成するために延々とコピー&ペーストを繰り返すか、高額な外部サービスに頼る必要があります。
Intlayerは、コンパイラ支援による自動抽出、コンポーネント単位の宣言型辞書、そしてViteとのスムーズな統合によって、これらの課題を根本から解決します。
自動コンテンツ抽出(手動の文字列探しは不要)
JSXからハードコードされたテキストを手作業で抜き出す代わりに、Intlayerは2つの負担のないアプローチを提供します:
方法A: CLI抽出ツール (npx intlayer extract)
プロジェクトのコードベースに対してIntlayerの抽出コマンドを実行できます:
コードをクリップボードにコピー
このコマンドはReactコンポーネントを解析し、ユーザー向けテキストを検出して、コンポーネントのすぐ隣にコンテンツ宣言ファイル(.content.ts)を自動生成します。コンポーネントのロジックは宣言的かつ型安全に保たれ、翻訳キーを手動で作成する必要はありません。
方法B: Intlayerコンパイラ(ビルド時の自動抽出)
設定でIntlayerコンパイラを有効にすると、デフォルト言語のプレーンテキストで普段どおりコンポーネントを書き続けることができます。ビルド時にコンパイラがテキストを抽出し、多言語化されたコンテンツを自動的に挿入します:
コードをクリップボードにコピー
内部でIntlayerが辞書を構築し、コンポーネントとローカライズ済みコンテンツを自動で紐付けるため、手作業のリファクタリングが一切不要になります。
この場合、以下のような構造のsrc/App.content.ts宣言ファイルが生成されます:
コードをクリップボードにコピー
お好みのLLMによるAI自動翻訳
コンテンツの抽出が完了したら、多言語への翻訳に何日もかける必要はありません。IntlayerにはOpenAI、Anthropic、DeepSeek、Mistralと直接連携するAI翻訳CLIが組み込まれています:
コードをクリップボードにコピー
intlayer.config.tsで言語とAIプロバイダーを設定します:
コードをクリップボードにコピー
npx intlayer fillを実行すると、設定されたすべての言語に対応する高品質な翻訳が自動生成されます:
コードをクリップボードにコピー
IntlayerがモデルにapplicationContextを提供するため、生成される翻訳は一般的な機械翻訳よりも技術的な文脈やブランドのトーン、細かなニュアンスを的確に維持します。
デプロイ前に未翻訳のテキストがないかテストします:
コードをクリップボードにコピー
Viteへの統合とProviderの設定
ViteにIntlayerを導入するには、vite.config.tsにプラグインを追加し、ルートコンポーネントをIntlayerProviderでラップするだけです:
コードをクリップボードにコピー
Intlayer v9以降、コンパイラはintlayer()プラグインに直接統合されており、intlayer.config.tsでcompiler.enabledを設定すると自動で有効化されます。
ルートコンポーネントでアプリケーション全体をラップします:
コードをクリップボードにコピー
動的な言語切り替え
useLocaleフックを使って、アプリケーション内のどこからでも簡単に言語を切り替えることができます:
コードをクリップボードにコピー
多言語SEO(SitemapとRobots.txt)
Intlayerには、Viteの静的ビルドに対応したクローラーフレンドリーなsitemap.xmlとrobots.txtを生成するgenerateSitemapやgetMultilingualUrlsなどのユーティリティが用意されています:
コードをクリップボードにコピー
package.jsonにprebuildフックを追加して、vite buildの前に自動実行します:
コードをクリップボードにコピー
ステップバイステップの詳細実装へ
このガイドでは、既存のVite & Reactアプリを大幅な書き換えなしに多言語化するための全体像を紹介しました。
TypeScriptの厳格な型付け、動的辞書、ビジュアルエディタなど、すべての設定手順を詳しく知りたい方は、公式ドキュメントをご覧ください:
👉 IntlayerによるVite & React翻訳の完全ガイド
よくある質問 (FAQ)
はい。npx intlayer extractを実行してハードコードされたテキストを自動抽出しローカライズ辞書を生成するか、Intlayerコンパイラを利用して通常のJSXを書きながらビルド時にコンポーネントを変換できます。
Intlayerはコンポーネント単位で辞書を定義し、ビルド時のマクロ最適化を行います。巨大なJSONファイルを読み込むのではなく、表示中のコンポーネントに必要なデータのみがバンドルに含まれます。動的辞書機能により言語ごとの遅延読み込みも可能です。
はい。Intlayer CLIのnpx intlayer fillコマンドを使用すると、設定したAIプロバイダー(OpenAI、Anthropic、Mistral、DeepSeek)を通じて、プロジェクト全体の不足している言語翻訳を文脈に合わせて一括生成できます。
はい。Intlayerはreact-i18nextやreact-intlの互換アダプターを提供しており、既存のJSONファイルをそのまま同期するプラグイン(sync-json)も用意されています。
コメント
まだコメントはありません。最初のコメントを共有しましょう。
