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 Translate | Lingui | |
|---|---|---|
| Come scrivi un testo | Parole tue, racchiuse in <T> | Parole tue, racchiuse in <Trans> |
| Traduzioni | traduzione AI, creata automaticamente | Tu estrai i messaggi e li fai tradurre |
| File di messaggi | Nessuna | Un catalogo per lingua, ad esempio un file PO |
| Costruisci passaggi | Nessuna | Estrai e compila i cataloghi |
| Nuove lingue | Cambia l'impostazione language | Traduci ogni messaggio nella nuova lingua |
| Plurali e formattazione | Tradotto come parte della frase | ICU messaggi con regole plurali per lingua |
| Prezzo | Piano gratuito, poi piani mensili in base all'utilizzo | Open 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.