Magic Translate vs. i18next
i18next, con sus enlaces React react-i18next, es la biblioteca i18n de código abierto más popular para JavaScript. Se basa en claves de traducción y archivos de idiomas. Magic Translate traduce el texto de tus componentes directamente, sin claves ni archivos. En esta página se explica la diferencia para que puedas elegir la herramienta adecuada para tu aplicación.
De un vistazo
| Magic Translate | i18next | |
|---|---|---|
| Cómo escribes el texto | Tus propias palabras, envueltas en <T> | Una clave por texto, como t('cart.title') |
| Traducciones | Traducción automática, creada automáticamente | Tú o tus traductores los escribís |
| Archivos de idiomas | Ninguna | Un archivo por idioma y espacio de nombres |
| Nuevos idiomas | Cambiar la configuración de language | Traduce todas las claves al nuevo idioma |
| Procesamiento de servidores | Componentes del servidor React y Next.js | Sí, con configuración adicional |
| Plurales y formato | Traducido como parte de la frase | Integrado, 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 react-i18next, guardas un archivo de idiomas para cada idioma y consultas los textos por clave:
// locales/en/translation.json{ "cart": { "title": "Your shopping cart" } }// Cart.tsximport { useTranslation } from 'react-i18next';const Cart = () => {const { t } = useTranslation();return <h2>{t('cart.title')}</h2>;};
Con Magic Translate, el texto permanece en el componente:
import { T } from '@magic-translate/react';const Cart = () => (<h2><T>Your shopping cart</T></h2>);
Cuándo elegir Magic Translate
- Quieres que tu aplicación esté en muchos idiomas sin gestionar los archivos de idiomas.
- No tienes traductores o no quieres esperar a que lleguen antes de publicar una nueva versión.
- Tus textos cambian a menudo y quieres que todos los idiomas estén actualizados.
- Usas React Server Components o Next.js y quieres que el HTML esté completamente traducido para los motores de búsqueda.
Cuándo elegir i18next
- Todos los textos deben ser traducidos o revisados por una persona.
- Necesitas un control exacto sobre las formas plurales, las fechas y los números en cada idioma.
- Quieres una biblioteca gratuita y de código abierto sin servicio externo.
Pasar del i18next al Magic Translate
Puedes cambiar un componente a la vez. Sustituye t('key') por el texto en inglés de tu archivo de idiomas, envuelto en <T>, o utiliza useT hook para props y atributos. Ambas bibliotecas pueden funcionar una al lado de la otra durante la migración.
¿Estás listo para probarlo? Sigue la guía de inicio para traducir tu primer componente en cinco minutos.