このページとあなたの好きなAIアシスタントを使ってドキュメントを要約します
バージョン履歴
- "Init history"v8.13.02026/6/5
このページのコンテンツはAIを使用して翻訳されました。
英語の元のコンテンツの最新バージョンを見るこのドキュメントを改善するアイデアがある場合は、GitHubでプルリクエストを送信することで自由に貢献してください。
ドキュメントへのGitHubリンクドキュメントのMarkdownをクリップボードにコピー
vue-i18nからIntlayerへの移行
なぜvue-i18nからIntlayerに移行するのか?
巨大なJSONファイルをページに読み込む代わりに、必要なコンテンツのみをロードします。Intlayerは、バンドルとページのサイズを最大50%削減するのに役立ちます。
アプリケーションのコンテンツをスコープ化することで、大規模なアプリケーションのメンテナンスが容易になります。機能フォルダ全体を複製または削除しても、すべてのコンテンツコードベースを確認するという精神的負担がありません。さらに、Intlayerはコンテンツの正確性を確保するために完全に型付けされています。
また、Intlayerはi18nエコシステムの中で最も活発に開発されているソリューションでもあります。問題は迅速に修正され、新しいフレームワークアダプタが定期的に登場し、コアAPIは実際の運用フィードバックに基づいて継続的に改良されています。
AIプロバイダーのコストで、お好みのLLMを使用してCI/CDパイプライン内で翻訳を自動化できます。Intlayerは、コンテンツ抽出を自動化するためのコンパイラや、バックグラウンドでの翻訳を支援するウェブプラットフォームも提供しています。
コンポーネントに巨大なJSONファイルを接続すると、パフォーマンスやリアクティビティの問題が発生する可能性があります。Intlayerはビルド時にコンテンツのロードを最適化します。
移行戦略
vue-i18nからIntlayerに移行するための、互いに補完する2つの戦略があります:
互換性アダプター(既存のアプリに推奨) —
@intlayer/vue-i18n(Vueコンポーネント用)をインストールします。このパッケージはvue-i18nと全く同じAPIを公開しますが、すべての翻訳作業をIntlayerに委譲します。$t、useI18n()、および<i18n-t>への既存の呼び出しはそのまま保持されます — 変更するのはインポートパスと初期化のみです。完全移行 — 徐々に
vue-i18nのAPIをネイティブのIntlayerフック(useIntlayer)に置き換え、コンポーネントと一緒に.content.tsファイル内にコンテンツをコロケーションします。
このガイドでは、まず戦略1(ドロップイン互換性アダプター)について解説し、その後オプションである完全移行について説明します。
目次
クイック移行
以下の手順は、コンポーネントのコードを変更せずに既存のvue-i18nアプリをIntlayer上で実行するために必要な最小限のステップです。
依存関係のインストール
Intlayerのコアパッケージと互換性アダプターをインストールします:
vue-i18nはインストールしたままにしておいて構いません — 互換性アダプターはそれをTypeScriptの型のdevDependency/peerDependencyとして使用します。Intlayerの設定
intlayer initコマンドにより、初期のintlayer.config.tsファイルが作成されます。既存のロケールに合わせて設定を更新し、syncJSONプラグインがメッセージファイルを指すようにします:sourceはロケールをそのJSONファイルのパスにマッピングします。locationはIntlayerウォッチャーに監視するフォルダを指示します。format: 'icu'オプションは、vue-i18nのプレースホルダーが正しく解析されることを保証します。バンドラへのIntlayerプラグインの追加
既存のバンドラ設定を互換性プラグインでラップします。これはコアのIntlayerプラグインを合成し、コンテンツの監視をフックアップし、最も重要なこととしてモジュールエイリアスを注入するため、既存の
import … from 'vue-i18n'への呼び出しがビルド時に透過的に@intlayer/vue-i18nにリダイレクトされます。ソースファイルの変更は不要です。Viteの場合:
vueI18nVitePlugin()はvite-intlayerのintlayer()プラグインをラップし、vue-i18nのエイリアスを追加します。通常のvite-intlayerのintlayer()プラグインを使用すると、辞書はコンパイルされますがエイリアスは追加されません — その場合、インポートを手動で@intlayer/vue-i18nに変更する必要があります(ステップ4を参照)。Nuxtの場合:
@nuxtjs/i18n(Nuxt統合)を使用している場合は、nuxt-intlayerをインストールし、nuxt.config.tsに追加します:createI18n()や手動のプロバイダーのブートストラップは不要になります。 Intlayerはすべての辞書をビルド時にコンパイルするため、実行時のロードステップはありません。エイリアスされたプロバイダーが初期化を処理します。
これでクイック移行は完了です。アプリはすべてのインポートとvue-i18nのAPIを保持したまま、Intlayer上で動作するようになります。
型付けされた翻訳キー — 自動的に。 Intlayerが辞書をコンパイルすると、
namespaceオプションを渡した場合にuseI18nは実際のコンテンツに対して型付けされます。キーはIDEでオートコンプリートされ、無効なパスはビルド時にTypeScriptエラーを引き起こします — 追加の設定は必要ありません。
完全移行
以下のステップはオプションであり、段階的に行うことができます。これにより、ビジュアルエディタ、CMS、型付けされたコンテンツファイル、AIを利用した翻訳自動化など、Intlayerの全機能が解放されます。
インポートの明示的な変更(オプション)
オプションIntlayerプラグインは既にバンドラレベルでのエイリアス化を処理しています。ソースファイル内で依存関係を明示的にしたい場合は、手動でインポート名を変更できます:
テーブルのすべての内容を表示テーブルをモーダルで開き、すべてのデータを明確に表示
変更前 変更後 import { useI18n } from 'vue-i18n'import { useI18n } from '@intlayer/vue-i18n'import { createI18n } from 'vue-i18n'import { createI18n } from '@intlayer/vue-i18n'これらはドロップインの置き換えであり、呼び出しシグネチャ、引数、または戻り値の型を変更する必要はありません。
AIを利用した翻訳自動化の有効化
オプションIntlayerが設定されたら、CLIを使用して不足している翻訳を自動入力することができます:
AI設定を
intlayer.config.tsに追加します:利用可能なすべてのオプションについては、Intlayer CLIドキュメントを確認してください。
移行後に削除できるもの
互換性アダプターが導入されると、以下のvue-i18nのボイラープレートコードは削除できます:
テーブルをモーダルで開き、すべてのデータを明確に表示
| ファイル / パターン | 不要になる理由 |
|---|---|
createI18n() 呼び出し | Intlayerプロバイダーは自動的にすべてを初期化します。実行時のロードステップはありません。 |
Vueプラグインの登録 (app.use(i18n)) | Intlayerプラグインが内部で注入を処理します。 |
JSON言語バンドル (locales/*.json) | JSONバンドルは、syncJSONプラグインを使用している場合にのみ必要です。.content.tsファイルに移行したら、JSONフォルダを削除できます。 |
さらに進める準備ができたら、Intlayerはコードベース内のどこにある.content.tsおよび.content.jsonファイルでも自動的に検出します(デフォルトでは./src内)。my-component.content.tsファイルをMyComponent.vueのすぐ隣に配置するだけで、追加の設定なしでビルド時にIntlayerがそれを取得します — インポート、登録、中央のインデックスファイルは不要です。これにより、ページやコンポーネントとの翻訳のコロケーションが完全にシームレスになります。
TypeScriptの設定
Intlayerはモジュール拡張を使用して、翻訳キーに対する完全なTypeScriptのIntelliSense(自動補完)を提供します。tsconfig.jsonに自動生成された型が含まれていることを確認してください:
Git設定
Intlayerによって生成されたディレクトリを.gitignoreに追加します:
さらに詳しく
- ビジュアルエディタ — ブラウザ上で翻訳を視覚的に管理:Intlayer Visual Editor
- CMS — コンテンツを外部化してリモートで管理:Intlayer CMS
- VS Code拡張機能 — 翻訳の自動補完とエラー検出をリアルタイムで取得:Intlayer VS Code Extension
- CLIリファレンス — コマンドの完全なリスト:Intlayer CLI
- VueとIntlayer — Vueの完全なセットアップガイド:intlayerwithvite+vue.md
- NuxtとIntlayer — Nuxtの完全なセットアップガイド:intlayerwithnuxt.md