このページとあなたの好きな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
Vue I18n から Intlayer への移行
Vue アプリケーションが現在 vue-i18n を使用している場合、コンポーネントを書き直したり、フックを翻訳したりすることなく、Intlayer に移行できます。Intlayer は vue-i18n の API を完全に反映する互換性アダプターを提供しながら、Intlayer の強力な機能を内部で活用しています。
実施すべきこと
まず、プロジェクトで初期化コマンドを実行してください:
コードをクリップボードにコピー
npx intlayer init初期化中、Intlayer は設定ファイル(intlayer.config.ts)をセットアップし、プロジェクトをマイグレーション用に準備します。Vite 設定に Intlayer プラグインを追加するだけで、vue-i18n インポートを自動的にエイリアスできます。
コードをクリップボードにコピー
import { defineConfig } from "vite";import vue from "@vitejs/plugin-vue";import vueI18nVitePlugin from "@intlayer/vue-i18n/plugin";export default defineConfig({ plugins: [vue(), vueI18nVitePlugin()],});内部的な動作
vueI18nVitePlugin はバンドラーにモジュールエイリアスを注入します。コードベース内の vue-i18n のあらゆるインポートは、透過的に @intlayer/vue-i18n にリダイレクトされます。
内部的には、アダプターは複雑な vue-i18n 構文をネイティブに処理します:
- 補間とプルーラル:
{name}とリスト{0}の補間を解決します。パイププルーラル("car | cars")は位置セマンティクスに基づいて Intlayer の列挙型/プルーラルノードに変換されます。 - フォーマット:
d()やn()などの関数は内部的にIntlをラップし、オプションで定義されたdatetimeFormatsとnumberFormatsを尊重します。 - グローバルおよびローカルの状態:
global.localeは Intlayer クライアントによって支援されるWritableComputedRefにマップされるため、リアクティビティはまさに期待通りに機能します(例:locale.value = 'fr')。 - ディレクティブ:
v-tディレクティブが登録され、正常に機能します。
アプリケーションは以前と全く同じようにレンダリングされ続けますが、コンテンツは Intlayer ディクショナリによって駆動されるため、型安全性、より優れたバンドル最適化、シームレスな CMS 統合を得られます。