Vue

Integre i1n con Vue.js utilizando el SDK de i1n o el modo Bridge con vue-i18n.

Configuración

Ejecuta i1n init en tu proyecto Vue. La CLI detecta automáticamente vue-i18n si está presente y configura el formato JSON anidado en tu directorio locales/.

Puede utilizar el SDK de i1n en modo independiente o conectarlo a vue-i18n mediante el modo puente (Bridge Mode).

Modo independiente

Importe init, t y setLocale desde i1n. Cargue sus recursos de traducción y utilice t() directamente en sus componentes o plantillas.

Este enfoque reemplaza a vue-i18n por completo. Utilice un plugin o composable de Vue para proporcionar un cambio de idioma reactivo en toda su aplicación.

Modo puente con vue-i18n

Si su proyecto utiliza vue-i18n, conéctelo con una línea: registerI1n((key, params) => i18n.global.t(key, params)). La función t() de i1n delega en vue-i18n mientras proporciona una verificación de tipos estricta.

i1n gestiona los archivos JSON, la traducción por IA y la generación de tipos. vue-i18n continúa encargándose de la carga en tiempo de ejecución, el asistente de plantilla $t() y el composable useI18n(). Costo de migración nulo.

Implementación

Agregue i1n pull a su paso de compilación. Funciona tanto con proyectos de Vue basados en Vite como con Nuxt.

Los archivos de traducción generados por i1n pull son totalmente compatibles con la carga basada en archivos de vue-i18n.

src/App.vue
<template>
  <h1>{{ $t('welcome') }}</h1>
</template>

<script setup>
import { useI18n } from 'vue-i18n'
const { t } = useI18n()
</script>
Bridge Mode — src/i18n.ts
import { registerI1n } from 'i1n'
import { createI18n } from 'vue-i18n'

const i18n = createI18n({ /* ... */ })
registerI1n((key, params) => i18n.global.t(key, params))

Relacionado