Magic Translate vs. Lingui
Lingui es una biblioteca i18n de código abierto para JavaScript y React. Como Magic Translate, te permite escribir tus propias palabras en tus componentes en lugar de en las teclas. La diferencia es lo que pasa después: con Lingui, tú extraes los mensajes, los traduces y los compilas para cada idioma. Con Magic Translate, las traducciones se crean para ti.
De un vistazo
| Magic Translate | Lingui | |
|---|---|---|
| Cómo escribes el texto | Tus propias palabras, envueltas en <T> | Tus propias palabras, envueltas en <Trans> |
| Traducciones | Traducción mediante IA, creada automáticamente | Extraes los mensajes y haces que se traduzcan |
| Archivos de mensajes | Ninguna | Un catálogo por idioma, como un fichero de órdenes de compra |
| Construir escalones | Ninguna | Extraer y compilar los catálogos |
| Nuevos idiomas | Cambiar la configuración de language | Traduce todos los mensajes al nuevo idioma |
| Plurales y formato | Traducido como parte de la frase | ICU mensajes con reglas en plural por idioma |
| Precio | Plan gratuito, luego planes mensuales según el uso | De código abierto y gratis |
En qué se diferencia el código
Con Lingui, el texto permanece en el componente, pero todos los mensajes pasan por un catálogo:
import { Trans } from '@lingui/react/macro';const Cart = () => (<h2><Trans>Your shopping cart</Trans></h2>);// Then run `lingui extract`, translate the catalogs for every language,// run `lingui compile` and load the right catalog when the app starts.
Con Magic Translate, el componente tiene un aspecto similar y las traducciones se generan automáticamente:
import { T } from '@magic-translate/react';const Cart = () => (<h2><T>Your shopping cart</T></h2>);
Cuándo elegir Magic Translate
- Te gusta escribir tus propias palabras en tus componentes y no quieres mantener catálogos.
- No tienes traductores o quieres publicar las actualizaciones sin esperar a que se traduzcan.
- Quieres añadir idiomas sin gestionar un proyecto de traducción.
Cuándo elegir Lingui
- Todo el texto debe estar traducido o revisado por una persona.
- Necesitas los mensajes ICU para plurales y géneros complejos.
- Quieres una biblioteca gratuita y de código abierto sin servicio externo.
Pasar del Lingui al Magic Translate
Como ambas bibliotecas mantienen el texto en el componente, la migración consiste principalmente en reemplazar los componentes y las funciones de traducción: <Trans> pasa a ser <T> y la macro t pasa a ser useT hook. Puedes migrar un componente a la vez.
¿Estás listo para probarlo? Sigue la guía de inicio para traducir tu primer componente en cinco minutos.