Faça sua pergunta e obtenha um resumo do documento referenciando esta página e o provedor AI de sua escolha
Histórico de versões
- "Init history"v9.0.013/06/2026
O conteúdo desta página foi traduzido com uma IA.
Veja a última versão do conteúdo original em inglêsIf 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
Migrate from Vue I18n to Intlayer
If your Vue application currently uses vue-i18n, you can migrate to Intlayer without rewriting your components or translating hooks. Intlayer provides a compat adapter that perfectly mirrors vue-i18n's API while leveraging Intlayer's powerful features under the hood.
What to do
To get started, simply run the initialization command in your project:
Copiar o código para a área de transferência
npx intlayer initDuring the initialization, Intlayer will set up your configuration file (intlayer.config.ts) and prepare your project for migration. You will just need to add the Intlayer plugin to your Vite configuration to automatically alias the vue-i18n imports.
Copiar o código para a área de transferência
import { defineConfig } from "vite";import vue from "@vitejs/plugin-vue";import vueI18nVitePlugin from "@intlayer/vue-i18n/plugin";export default defineConfig({ plugins: [vue(), vueI18nVitePlugin()],});What it does under the hood
The vueI18nVitePlugin injects a module alias into your bundler. Any import of vue-i18n in your codebase will be transparently redirected to @intlayer/vue-i18n.
Under the hood, the adapter handles the complex vue-i18n syntax natively:
- Interpolation & Plurals: Resolves
{name}and list{0}interpolations. Pipe plurals ("car | cars") are converted into Intlayer enumeration/plural nodes based on positional semantics. - Formats: Functions like
d()andn()wrapIntlunder the hood, honoring thedatetimeFormatsandnumberFormatsdefined in your options. - Global & Local State:
global.localeis mapped to aWritableComputedRefbacked by the Intlayer client, so reactivity behaves exactly as expected (e.g.locale.value = 'fr'). - Directives: The
v-tdirective is registered and functions normally.
Your application continues rendering exactly as before, but the content is powered by your Intlayer dictionaries, giving you type safety, better bundle optimization, and seamless CMS integration.