Magic Translate vs. i18next
i18next, avec ses liaisons React react-i18next, est la bibliothèque open source i18n la plus populaire pour JavaScript. Il est construit à partir de clés de traduction et de fichiers de langue. Magic Translate traduit directement le texte de tes composants, sans clé ni fichier. Cette page explique la différence afin que tu puisses choisir le bon outil pour ton application.
En un coup d'œil
| Magic Translate | i18next | |
|---|---|---|
| Comment tu écris le texte | Tes propres mots, encadrés par <T> | Une touche par texte, par exemple t('cart.title') |
| Traductions | Traduction automatique, créée automatiquement | C'est toi ou tes traducteurs qui les rédigent |
| Fichiers linguistiques | Aucun | Un fichier par langue et par espace de noms |
| Nouvelles langues | Modifier le réglage language | Traduire chaque touche dans la nouvelle langue |
| Rendu sur serveur | Composants du serveur React et Next.js | Oui, avec une configuration supplémentaire |
| Pluriels et mise en forme | Traduit dans le cadre de la phrase | Intégré, avec des règles au pluriel par langue |
| Prix | Forfait gratuit, puis forfaits mensuels en fonction de l'utilisation | Open source et gratuit |
En quoi le code diffère-t-il
Avec react-i18next, tu contiens un fichier de langue pour chaque langue et tu fais référence aux textes par touche :
// 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>;};
Avec Magic Translate, le texte reste dans le composant :
import { T } from '@magic-translate/react';const Cart = () => (<h2><T>Your shopping cart</T></h2>);
Quand choisir Magic Translate
- Tu veux que ton application soit disponible dans de nombreuses langues sans gérer les fichiers de langue.
- Tu n'as pas de traducteurs ou tu ne veux pas les attendre avant de sortir une nouvelle version.
- Tes textes changent souvent et tu veux que chaque langue soit à jour.
- Tu utilises React Server Components ou Next.js et tu veux du HTML entièrement traduit pour les moteurs de recherche.
Quand choisir i18next
- Chaque texte doit être traduit ou révisé par une personne.
- Tu dois contrôler exactement le pluriel, les dates et les chiffres dans chaque langue.
- Tu veux une bibliothèque open source gratuite, sans service externe.
Passer de i18next à Magic Translate
Tu peux changer de composant à la fois. Remplace t('key') par le texte anglais de ton fichier de langue, encadré par <T>, ou utilise le useT hook pour props et les attributs. Les deux bibliothèques peuvent fonctionner côte à côte pendant la migration.
Prête à l'essayer ? Suis le guide de démarrage pour traduire ton premier composant en cinq minutes.