Documentazione

Magic Translate vs. Lingui

Lingui è una libreria i18n open source per JavaScript e React. Ad esempio Magic Translate, ti consente di scrivere le tue parole nei tuoi componenti anziché nelle chiavi. La differenza è ciò che succede dopo: con Lingui, estrai i messaggi, li fai tradurre e li compili per ogni lingua. Con Magic Translate, le traduzioni vengono create per te.

A colpo d'occhio

Magic TranslateLingui
Come scrivi un testoParole tue, racchiuse in <T>Parole tue, racchiuse in <Trans>
Traduzionitraduzione AI, creata automaticamenteTu estrai i messaggi e li fai tradurre
File di messaggiNessunaUn catalogo per lingua, ad esempio un file PO
Costruisci passaggiNessunaEstrai e compila i cataloghi
Nuove lingueCambia l'impostazione languageTraduci ogni messaggio nella nuova lingua
Plurali e formattazioneTradotto come parte della fraseICU messaggi con regole plurali per lingua
PrezzoPiano gratuito, poi piani mensili in base all'utilizzoOpen source e gratuito

In che modo il codice è diverso

Con Lingui, il testo rimane nel componente, ma ogni messaggio passa attraverso un catalogo:

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.

Con Magic Translate, il componente è simile e le traduzioni vengono generate automaticamente:

import { T } from '@magic-translate/react';
const Cart = () => (
<h2>
<T>Your shopping cart</T>
</h2>
);

Quando scegliere Magic Translate

  • Ti piace scrivere parole tue nei tuoi componenti e non vuoi mantenere i cataloghi.
  • Non hai traduttori o vuoi rilasciare aggiornamenti senza aspettare le traduzioni.
  • Vuoi aggiungere lingue senza gestire un progetto di traduzione.

Quando scegliere Lingui

  • Tutto il testo deve essere tradotto o revisionato da una persona.
  • Ti servono i messaggi ICU per i plurali complessi e il genere.
  • Vuoi una libreria open source gratuita senza servizi esterni.

Passare da Lingui a Magic Translate

Poiché entrambe le librerie mantengono il testo nel componente, la migrazione è principalmente una questione di sostituzione dei componenti e delle funzioni di traduzione: <Trans> diventa <T> e la macro t diventa useT hook. Puoi migrare un componente alla volta.

Pronto a provarlo? Segui la guida introduttiva per tradurre il tuo primo componente in cinque minuti.