Documentação

Magic Translate vs. i18next

i18next, com suas ligações React react-i18next, é a biblioteca i18n de código aberto mais popular para JavaScript. Ele é construído em torno de chaves de tradução e arquivos de idioma. Magic Translate traduz o texto em seus componentes diretamente, sem chaves ou arquivos. Esta página explica a diferença para que você possa escolher a ferramenta certa para seu aplicativo.

Em um piscar de olhos

Magic Translatei18next
Como você escreve textoSuas próprias palavras, embrulhadas em <T>Uma chave por texto, como t('cart.title')
TraduçõesTradução automática, criada automaticamenteVocê ou seus tradutores os escrevem
Arquivos de idiomaNenhumUm arquivo por idioma e namespace
Novos idiomasAlterar a configuração languageTraduza cada chave para o novo idioma
Renderização do servidorComponentes do servidor React e Next.jsSim, com configuração extra
Plurais e formataçãoTraduzido como parte da fraseIntegrado, com regras plurais por idioma
PreçoPlano gratuito e, em seguida, planos mensais com base no usoCódigo aberto e gratuito

Como o código difere

Com react-i18next, você mantém um arquivo de idioma para cada idioma e se refere aos textos por chave:

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

Com Magic Translate, o texto permanece no componente:

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

Quando escolher Magic Translate

  • Você quer seu aplicativo em vários idiomas sem gerenciar arquivos de idioma.
  • Você não tem tradutores ou não quer esperar por eles antes de lançar uma nova versão.
  • Seus textos mudam com frequência e você quer que todos os idiomas se mantenham atualizados.
  • Você usa o React Server Components ou o Next.js e quer um HTML totalmente traduzido para os mecanismos de pesquisa.

Quando escolher i18next

  • Todo texto deve ser traduzido ou revisado por uma pessoa.
  • Você precisa de controle exato sobre formas plurais, datas e números em cada idioma.
  • Você quer uma biblioteca gratuita e de código aberto sem serviço externo.

Mudando de i18next para Magic Translate

Você pode trocar um componente por vez. Substitua t('key') pelo texto em inglês do seu arquivo de idioma, encapsulado em <T>, ou use useT hook para props e atributos. As duas bibliotecas podem ser executadas lado a lado durante a migração.

Pronto para experimentar? Siga o guia de introdução para traduzir seu primeiro componente em cinco minutos.