Documentazione

Magic Translate vs. i18next

i18next, con i suoi collegamenti React react-i18next, è la libreria i18n open source più popolare per JavaScript. È basato su chiavi di traduzione e file di lingua. Magic Translate traduce direttamente il testo nei tuoi componenti, senza chiavi o file. Questa pagina spiega la differenza in modo che tu possa scegliere lo strumento giusto per la tua app.

A colpo d'occhio

Magic Translatei18next
Come scrivi un testoParole tue, racchiuse in <T>Una chiave per testo, ad esempio t('cart.title')
TraduzioniTraduzione automatica, creata automaticamenteLi scrivete tu o i tuoi traduttori
File di linguaNessunaUn file per lingua e namespace
Nuove lingueCambia l'impostazione languageTraduci ogni chiave nella nuova lingua
Rendering del serverComponenti del server React e Next.jsSì, con una configurazione aggiuntiva
Plurali e formattazioneTradotto come parte della fraseIntegrato, con regole plurali per lingua
PrezzoPiano gratuito, poi piani mensili in base all'utilizzoOpen source e gratuito

In che modo il codice è diverso

Con react-i18next, conservi un file di lingua per ogni lingua e fai riferimento ai testi per chiave:

// 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>;
};

Con Magic Translate, il testo rimane nel componente:

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

Quando scegliere Magic Translate

  • Vuoi che la tua app sia in molte lingue senza gestire i file di lingua.
  • Non hai traduttori o non vuoi aspettarli prima di rilasciare una nuova versione.
  • I tuoi testi cambiano spesso e vuoi che tutte le lingue rimangano aggiornate.
  • Tu usi React Server Components o Next.js e desideri un codice HTML completamente tradotto per i motori di ricerca.

Quando scegliere i18next

  • Ogni testo deve essere tradotto o revisionato da una persona.
  • Hai bisogno di un controllo esatto su forme plurali, date e numeri in ogni lingua.
  • Vuoi una libreria open source gratuita senza servizi esterni.

Passare da i18next a Magic Translate

Puoi cambiare un componente alla volta. Sostituisci t('key') con il testo in inglese del tuo file di lingua, racchiuso in <T>, o usa useT hook per props e attributi. Entrambe le librerie possono funzionare fianco a fianco durante la migrazione.

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