Para um app Lovable, a verdadeira decisão é entre tradução em tempo de execução e tradução commitada. Lovalingo e Weglot injetam as traduções no navegador depois que a página carrega. O globalize.now gera arquivos de locale dentro do seu repositório e os mantém sincronizados a cada push. O globalize.now é uma infraestrutura de localização com IA: ele extrai as strings fixas do seu código gerado por IA, monta os catálogos e devolve catálogos traduzidos como um pull request, sem exportações manuais e sem fila de revisão. Este guia compara os três quanto a funcionamento, SEO, caminho de instalação e custo.
Como funcionam, na prática, o Lovalingo, o Weglot e o globalize.now?
Eles se dividem em dois grupos: widgets em tempo de execução e catálogos commitados.
O Lovalingo é uma biblioteca React em tempo de execução. Você instala @lovalingo/lovalingo e envolve seu app em um provider; ele detecta o conteúdo e o traduz no navegador, gera URLs de idioma e hreflang, e adiciona um seletor de idioma. O Weglot também é uma camada em tempo de execução: um snippet de JavaScript traduz seu site existente e serve os idiomas por subdiretórios ou subdomínios, com a edição das traduções feita na própria interface do Weglot. Ambos traduzem a página já renderizada, e não o seu código-fonte.
O globalize.now atua uma camada abaixo, como infraestrutura de localização. A skill lovable-i18n instala o Lingui, monta um catálogo PO para cada idioma em src/locales/[locale]/messages.po, envolve as strings em macros <Trans> e adiciona uma GitHub Action. Depois que você conecta o repositório, cada push gera um diff das novas strings e abre um pull request com os catálogos atualizados. As traduções ficam no seu repositório como arquivos reais, não no ambiente de execução de um fornecedor. Se você está avaliando a categoria de forma mais ampla, nosso guia de localização para vibe coders percorre a mesma decisão.
Qual é a diferença entre tradução em tempo de execução e catálogos commitados?
A tradução em tempo de execução acontece no navegador; a tradução commitada acontece no seu build.
Um widget em tempo de execução entrega o seu app em inglês e depois troca o texto depois que a página é renderizada. Isso é rápido de adicionar e não exige mudanças no build, mas o conteúdo traduzido é gerado no lado do cliente, no momento da visualização. Uma abordagem de catálogos commitados extrai suas strings para arquivos de locale que fazem parte da base de código, então o texto traduzido é compilado no markup que o seu app entrega. Esses arquivos são seus, ficam no controle de versão e acompanham o repositório se você trocar de ferramenta.
É também por isso que as traduções em apps construídos com IA tendem a ficar desatualizadas. Cada prompt no Lovable pode adicionar novas strings fixas, e uma camada em tempo de execução só captura o que enxerga no momento do carregamento. Conectar a extração ao ciclo de push é o que mantém os catálogos atualizados. Cobrimos esse problema em por que as traduções de apps Lovable quebram a cada push.
Com que velocidade as traduções entram no ar?
Minutos, no mesmo push, contra até um dia de espera.
Um serviço em tempo de execução precisa processar o seu site antes de conseguir servir outros idiomas — o próprio app do Lovalingo avisa para esperar até 24 horas para as traduções e páginas entrarem no ar. Com o globalize.now, a tradução roda no momento do próprio push: assim que você envia novas strings, ele abre um pull request com os catálogos atualizados, normalmente em minutos, então o markup traduzido é publicado no mesmo ciclo da mudança de código que o originou. Para um app Lovable que você atualiza diariamente, a diferença é se cada mudança já está traduzida no momento do merge, ou se fica um dia atrasada.
Qual abordagem é melhor para o SEO de um app Lovable?
Catálogos commitados são indexados de forma mais confiável do que a injeção em tempo de execução.
Os mecanismos de busca classificam o que está presente no HTML entregue. Quando as traduções são injetadas no lado do cliente depois da renderização, os crawlers frequentemente só enxergam a página original em inglês, e a indexação por idioma sofre com isso. O Weglot ameniza isso ao renderizar os idiomas em subdiretórios ou subdomínios com hreflang gerado automaticamente, mas a própria documentação do Weglot destaca que o hreflang é gerado com integração por subdiretório ou subdomínio, não em uma configuração apenas com JavaScript. O Lovalingo também gera hreflang e URLs por idioma, mas o texto traduzido ainda é montado em tempo de execução.
Com o Lingui e catálogos PO commitados, além do roteamento por idioma, cada idioma se torna uma página distinta e rastreável, cujo markup traduzido já está presente antes de o navegador executar qualquer script. Para um app Lovable que você quer que seja encontrado em buscas fora do inglês, essa diferença se acumula com o tempo. Também não há flash de texto não traduzido, nem deslocamento de layout causado por uma substituição tardia de texto, o que mantém os Core Web Vitals limpos.
Como cada um se instala em um projeto Lovable?
Cada um tem um ponto de entrada diferente: um provider, um snippet ou uma skill.
O Lovalingo é uma instalação via npm mais um provider que envolve o seu app. O Weglot é uma tag de script e uma chave de API, configurados na interface do Weglot. O globalize.now se instala dentro do editor do Lovable como uma skill do workspace:
# In Lovable: Skills → Add → Import from GitHub
https://github.com/globalize-now/lovable-i18n
Depois, você dá o prompt diretamente ao Lovable:
Set up i18n for my project using the lovable-i18n skill.
O Lovable detecta a sua stack (SPA em Vite ou TanStack Start), instala o Lingui, monta os catálogos, envolve as strings e adiciona a GitHub Action. Você conecta o repositório no globalize.now, escolhe os idiomas de destino e faz o merge. Está construindo o mesmo repositório no Cursor ou no Claude Code? Rode npx skills add globalize-now/globalize-skills no repositório conectado para obter o pacote completo. O passo a passo completo está na página de integração com o Lovable.
Quanto custam o Lovalingo, o Weglot e o globalize.now?
Os três usam métricas diferentes: visitantes, palavras e caracteres.
O Lovalingo oferece um plano gratuito até 500 visitantes e depois passa para uma cobrança baseada em visitantes. O Weglot começa gratuito para 2.000 palavras e um idioma, depois custa 15 €/mês para 10.000 palavras e um idioma, e 29 €/mês para 50.000 palavras e três idiomas; os limites de palavras são cotas fixas, não pools que se renovam mensalmente. O globalize.now custa 20 €/mês por workspace, incluindo 20 € de crédito de tradução (cerca de 200.000 palavras) por mês, com uso adicional cobrado por token na mesma taxa por caractere. Não há cobrança por assento nem por idioma, os projetos são ilimitados, e o cadastro inclui 20 € de crédito, sem necessidade de cartão.
Na prática: um plano gratuito em tempo de execução é a forma mais rápida de testar um site pequeno, enquanto um plano de workspace medido por caractere, sem sobretaxas de assento ou idioma, escala de forma mais previsível conforme o app ganha idiomas e páginas. Escolha a métrica de acordo com a forma real de crescimento do seu app. Para uma visão mais detalhada de recursos entre ferramentas, veja nossas comparações.
Qual você deve escolher para o seu app Lovable?
Escolha de acordo com o que você valoriza: velocidade de implantação, ou propriedade dos dados e indexação.
Escolha um widget em tempo de execução, como o Lovalingo ou o Weglot, quando quiser adicionar idiomas a um site já no ar em uma tarde e não estiver otimizando para buscas fora do inglês. Escolha o globalize.now quando quiser traduções que fiquem no seu repositório, sejam publicadas como páginas indexáveis por idioma e se mantenham atualizadas automaticamente enquanto você continua dando prompts no Lovable. O primeiro é uma camada de tradução sobre a página; o segundo é infraestrutura de localização sob a base de código. Para um app que você pretende expandir para vários mercados, ser dono dos catálogos e do SEO costuma ser a posição em que você quer estar.
O globalize.now trata o i18n do Lovable como catálogos commitados. Adicione a skill lovable-i18n no seu workspace, rode npx skills add globalize-now/globalize-skills no repositório, ou veja como funciona em globalize.now.
O globalize.now transforma textos fixos do app em arquivos de locale prontos para tradução e os mantém atualizados a cada novo lançamento.
Experimente o globalize.now grátis