Magic Translate vs. Lingui
Lingui est une bibliothèque i18n open source pour JavaScript et React. Comme Magic Translate, il te permet d'écrire tes propres mots dans tes composants plutôt que dans des touches. La différence, c'est ce qui se passe ensuite : avec Lingui, tu extrais les messages, tu les fais traduire et tu les compiles pour toutes les langues. Avec Magic Translate, les traductions sont créées pour toi.
En un coup d'œil
| Magic Translate | Lingui | |
|---|---|---|
| Comment tu écris le texte | Tes propres mots, encadrés par <T> | Tes propres mots, encadrés par <Trans> |
| Traductions | Traduction par IA, créée automatiquement | Tu extrais les messages et tu les fais traduire |
| Fichiers de messages | Aucun | Un catalogue par langue, par exemple un fichier PO |
| Construire des étapes | Aucun | Extraire et compiler les catalogues |
| Nouvelles langues | Modifier le réglage language | Traduire chaque message dans la nouvelle langue |
| Pluriels et mise en forme | Traduit dans le cadre de la phrase | ICU messages 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 Lingui, le texte reste dans le composant, mais chaque message passe par un catalogue :
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.
Avec Magic Translate, le composant se ressemble et les traductions sont générées automatiquement :
import { T } from '@magic-translate/react';const Cart = () => (<h2><T>Your shopping cart</T></h2>);
Quand choisir Magic Translate
- Tu aimes écrire tes propres mots dans tes composants et tu ne veux pas gérer de catalogues.
- Tu n'as pas de traducteurs ou tu souhaites publier des mises à jour sans attendre les traductions.
- Tu veux ajouter des langues sans gérer de projet de traduction.
Quand choisir Lingui
- Tout le texte doit être traduit ou révisé par une personne.
- Tu as besoin de messages ICU pour les pluriels complexes et le genre.
- Tu veux une bibliothèque open source gratuite, sans service externe.
Passer de Lingui à Magic Translate
Comme les deux bibliothèques conservent le texte dans le composant, la migration consiste principalement à remplacer les composants et les fonctions de traduction : <Trans> devient <T>, et la macro t devient useT hook. Tu peux migrer un composant à la fois.
Prête à l'essayer ? Suis le guide de démarrage pour traduire ton premier composant en cinq minutes.