Magic Translate vs. Lingui
Lingui é uma biblioteca i18n de código aberto para JavaScript e React. Como Magic Translate, ele permite que você escreva suas próprias palavras em seus componentes em vez de teclas. A diferença é o que acontece a seguir: com Lingui, você extrai as mensagens, as traduz e as compila para todos os idiomas. Com Magic Translate, as traduções são criadas para você.
Em um piscar de olhos
| Magic Translate | Lingui | |
|---|---|---|
| Como você escreve texto | Suas próprias palavras, embrulhadas em <T> | Suas próprias palavras, embrulhadas em <Trans> |
| Traduções | Tradução de IA, criada automaticamente | Você extrai as mensagens e as traduz |
| Arquivos de mensagens | Nenhum | Um catálogo por idioma, como um arquivo PO |
| Etapas de construção | Nenhum | Extraia e compile os catálogos |
| Novos idiomas | Alterar a configuração language | Traduza todas as mensagens para o novo idioma |
| Plurais e formatação | Traduzido como parte da frase | ICU mensagens com regras plurais por idioma |
| Preço | Plano gratuito e, em seguida, planos mensais com base no uso | Código aberto e gratuito |
Como o código difere
Com Lingui, o texto permanece no componente, mas cada mensagem passa por um catálogo:
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.
Com Magic Translate, o componente parece semelhante e as traduções são geradas automaticamente:
import { T } from '@magic-translate/react';const Cart = () => (<h2><T>Your shopping cart</T></h2>);
Quando escolher Magic Translate
- Você gosta de escrever suas próprias palavras em seus componentes e não quer manter catálogos.
- Você não tem tradutores ou deseja lançar atualizações sem esperar pelas traduções.
- Você quer adicionar idiomas sem gerenciar um projeto de tradução.
Quando escolher Lingui
- Todo o texto deve ser traduzido ou revisado por uma pessoa.
- Você precisa de mensagens ICU para plurais e gêneros complexos.
- Você quer uma biblioteca gratuita e de código aberto sem serviço externo.
Mudando de Lingui para Magic Translate
Como as duas bibliotecas mantêm o texto no componente, a migração é basicamente uma questão de substituir os componentes e funções de tradução: <Trans> se torna <T> e a macro t se torna useT hook. Você pode migrar um componente por vez.
Pronto para experimentar? Siga o guia de introdução para traduzir seu primeiro componente em cinco minutos.