Documentation

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 Translatei18next
Comment tu écris le texteTes propres mots, encadrés par <T>Une touche par texte, par exemple t('cart.title')
TraductionsTraduction automatique, créée automatiquementC'est toi ou tes traducteurs qui les rédigent
Fichiers linguistiquesAucunUn fichier par langue et par espace de noms
Nouvelles languesModifier le réglage languageTraduire chaque touche dans la nouvelle langue
Rendu sur serveurComposants du serveur React et Next.jsOui, avec une configuration supplémentaire
Pluriels et mise en formeTraduit dans le cadre de la phraseIntégré, avec des règles au pluriel par langue
PrixForfait gratuit, puis forfaits mensuels en fonction de l'utilisationOpen 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.tsx
import { 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.