Magic Translate vs. react-intl
react-intl faz parte do FormatJS. Ele formata mensagens, datas e números com a sintaxe de mensagem ICU e você fornece as traduções para cada idioma. Magic Translate traduz diretamente o texto em seus componentes, para que você não escreva ou mantenha nenhuma tradução.
Em um piscar de olhos
| Magic Translate | react-intl | |
|---|---|---|
| Como você escreve texto | Suas próprias palavras, embrulhadas em <T> | <FormattedMessage> com um id e uma mensagem padrão |
| Traduções | Tradução automática, criada automaticamente | Você extrai mensagens e as traduz |
| Arquivos de mensagens | Nenhum | Um arquivo por idioma |
| Datas e números | Use as APIs Intl do navegador | Componentes integrados e sintaxe ICU |
| Renderização do servidor | Componentes do servidor React e Next.js | Sim, com configuração extra |
| Preço | Plano gratuito e, em seguida, planos mensais com base no uso | Código aberto e gratuito |
Como o código difere
Com react-intl, cada mensagem tem um ID e as traduções ficam em arquivos separados:
import { FormattedMessage } from 'react-intl';const Welcome = () => (<FormattedMessage id="home.welcome" defaultMessage="Welcome back!" />);// Then extract the messages, translate them for every language// and load the right file when the app starts.
Com Magic Translate, você escreve a mensagem uma vez:
import { T } from '@magic-translate/react';const Welcome = () => <T>Welcome back!</T>;
Quando escolher Magic Translate
- Você quer seu aplicativo em vários idiomas sem um fluxo de trabalho de tradução.
- Seus textos mudam com frequência e você quer que todos os idiomas se mantenham atualizados.
- Você quer novos idiomas sem pagar ou esperar por tradutores.
Quando escolher react-intl
- Você precisa da sintaxe da mensagem ICU para plurais e gêneros complexos.
- Suas traduções devem ser escritas ou revisadas por pessoas.
- Você quer uma biblioteca gratuita e de código aberto sem serviço externo.
Usando os dois
Os dois funcionam bem juntos. Use as APIs react-intl ou Intl para formatar datas, números e moedas e Magic Translate para traduzir o texto em torno delas.
Pronto para experimentar? Siga o guia de introdução para traduzir seu primeiro componente em cinco minutos.