Magic Translate vs. vue-i18n
vue-i18n é a biblioteca i18n padrão para Vue e @nuxtjs/i18n se baseia nela para Nuxt. Como a maioria das bibliotecas i18n, ela usa uma chave para cada mensagem e um conjunto de mensagens por idioma. Magic Translate traduz o texto em seus modelos Vue diretamente, sem chaves ou arquivos de mensagens.
Em um piscar de olhos
| Magic Translate | vue-i18n | |
|---|---|---|
| Como você escreve texto | Suas próprias palavras, embrulhadas em <T> | Uma chave para cada mensagem, como $t('cart.title') |
| Traduções | Tradução de IA, criada automaticamente | Você ou seus tradutores os escrevem |
| Arquivos de mensagens | Nenhum | Um conjunto de mensagens por idioma |
| Novos idiomas | Alterar a configuração language | Traduza todas as mensagens para o novo idioma |
| Mudando de idioma | Em tempo de execução, com useLanguageSwitcher | Em tempo de execução, alterando a localidade |
| Plurais e formatação | Traduzido como parte da frase | Integrado, com regras plurais e formatação de data e número |
| Preço | Plano gratuito e, em seguida, planos mensais com base no uso | Código aberto e gratuito |
Como o código difere
Com vue-i18n, você define as mensagens para cada idioma e se refere a elas por chave:
// i18n.tsimport { createI18n } from 'vue-i18n';export const i18n = createI18n({locale: 'de',messages: {en: { cart: { title: 'Your shopping cart' } },de: { cart: { title: 'Ihr Warenkorb' } }}});
<h2>{{ $t('cart.title') }}</h2>
Com Magic Translate, o texto permanece no modelo:
<h2><T>Your shopping cart</T></h2>
Para atributos como espaços reservados, use useTranslate:
<input :placeholder="t('Search products')" />
Quando escolher Magic Translate
- Você quer seu aplicativo Vue em vários idiomas sem gerenciar as mensagens de cada um.
- Você não tem tradutores ou deseja lançar atualizações sem esperar pelas traduções.
- Seu texto muda com frequência e você quer que todos os idiomas se mantenham atualizados.
Quando escolher vue-i18n
- Todo o texto deve ser traduzido ou revisado por uma pessoa.
- Você precisa de mecanismos de pesquisa para ver o HTML traduzido da renderização do servidor Nuxt. Magic Translate para Vue traduz no navegador.
- Você quer uma biblioteca gratuita e de código aberto sem serviço externo.
Mudando de vue-i18n para Magic Translate
Você pode trocar um componente por vez. Substitua $t('key') pelo texto em inglês de suas mensagens, encapsulado em <T>, ou use t() de useTranslate para atributos. As duas bibliotecas podem ser executadas lado a lado durante a migração. O guia Vue mostra a configuração.
Pronto para experimentar? Siga o guia de introdução para traduzir seu primeiro componente em cinco minutos.