Documentation

Magic Translate vs. react-intl

react-intl fait partie de FormatJS. Il met en forme les messages, les dates et les chiffres avec la syntaxe ICU, et tu fournis les traductions pour chaque langue. Magic Translate traduit directement le texte de tes composants, donc tu n'écris ni ne mets à jour aucune traduction.

En un coup d'œil

Magic Translatereact-intl
Comment tu écris le texteTes propres mots, encadrés par <T><FormattedMessage> avec un identifiant et un message par défaut
TraductionsTraduction automatique, créée automatiquementTu extrais les messages et tu les fais traduire
Fichiers de messagesAucunUn fichier par langue
Dates et chiffresUtilise les API Intl du navigateurComposants intégrés et syntaxe ICU
Rendu sur serveurComposants du serveur React et Next.jsOui, avec une configuration supplémentaire
PrixForfait gratuit, puis forfaits mensuels en fonction de l'utilisationOpen source et gratuit

En quoi le code diffère-t-il

Avec react-intl, chaque message possède un identifiant et les traductions se trouvent dans des fichiers séparés :

import { FormattedMessage } from 'react-intl';
const Welcome = () => (
<FormattedMessage id="home.welcome" defaultMessage="Welcome back!" />
);
// Then extract the messages, translate them for every language
// and load the right file when the app starts.

Avec Magic Translate, tu n'écris le message qu'une seule fois :

import { T } from '@magic-translate/react';
const Welcome = () => <T>Welcome back!</T>;

Quand choisir Magic Translate

  • Tu veux que ton application soit disponible dans de nombreuses langues sans flux de traduction.
  • Tes textes changent souvent et tu veux que chaque langue soit à jour.
  • Tu veux de nouvelles langues sans payer ni attendre de traducteurs.

Quand choisir react-intl

  • Tu as besoin de la syntaxe ICU pour les pluriels complexes et le genre.
  • Tes traductions doivent être écrites ou révisées par des personnes.
  • Tu veux une bibliothèque open source gratuite, sans service externe.

Utiliser les deux

Les deux fonctionnent bien ensemble. Utilise les API react-intl ou Intl pour mettre en forme les dates, les chiffres et les devises, et Magic Translate pour traduire le texte qui les entoure.

Prête à l'essayer ? Suis le guide de démarrage pour traduire ton premier composant en cinq minutes.