Documentación

Magic Translate vs. vue-i18n

vue-i18n es la biblioteca i18n estándar para Vue, y @nuxtjs/i18n se basa en ella para Nuxt. Como la mayoría de las bibliotecas i18n, utiliza una clave para cada mensaje y un conjunto de mensajes por idioma. Magic Translate traduce el texto de tus plantillas de Vue directamente, sin claves ni archivos de mensajes.

De un vistazo

Magic Translatevue-i18n
Cómo escribes el textoTus propias palabras, envueltas en <T>Una clave para cada mensaje, como $t('cart.title')
TraduccionesTraducción mediante IA, creada automáticamenteTú o tus traductores los escribís
Archivos de mensajesNingunaUn conjunto de mensajes por idioma
Nuevos idiomasCambiar la configuración de languageTraduce todos los mensajes al nuevo idioma
Cambiar de idiomaEn tiempo de ejecución, con useLanguageSwitcherEn tiempo de ejecución, cambiando la configuración regional
Plurales y formatoTraducido como parte de la fraseIntegrado, con reglas en plural y formato de fecha y número
PrecioPlan gratuito, luego planes mensuales según el usoDe código abierto y gratis

En qué se diferencia el código

Con vue-i18n, tú defines los mensajes para cada idioma y haces referencia a ellos mediante la clave:

// i18n.ts
import { createI18n } from 'vue-i18n';
export const i18n = createI18n({
locale: 'de',
messages: {
en: { cart: { title: 'Your shopping cart' } },
de: { cart: { title: 'Ihr Warenkorb' } }
}
});
<h2>{{ $t('cart.title') }}</h2>

Con Magic Translate, el texto permanece en la plantilla:

<h2><T>Your shopping cart</T></h2>

Para atributos como los marcadores de posición, usa useTranslate:

<input :placeholder="t('Search products')" />

Cuándo elegir Magic Translate

  • Quieres tu aplicación Vue en muchos idiomas sin gestionar los mensajes de cada uno.
  • No tienes traductores o quieres publicar las actualizaciones sin esperar a que se traduzcan.
  • Tu texto cambia con frecuencia y quieres que todos los idiomas estén actualizados.

Cuándo elegir vue-i18n

  • Todo el texto debe estar traducido o revisado por una persona.
  • Necesitas que los motores de búsqueda vean el HTML traducido del renderizado del servidor Nuxt. Magic Translate para Vue se traduce en el navegador.
  • Quieres una biblioteca gratuita y de código abierto sin servicio externo.

Pasar del vue-i18n al Magic Translate

Puedes cambiar un componente a la vez. Sustituye $t('key') por el texto en inglés de tus mensajes, envuelto en <T>, o utiliza t() de useTranslate como atributos. Ambas bibliotecas pueden funcionar una al lado de la otra durante la migración. La guía Vue muestra la configuración.

¿Estás listo para probarlo? Sigue la guía de inicio para traducir tu primer componente en cinco minutos.