Localização contínua: todos os idiomas, em cada merge.
A localização contínua traduz strings novas e alteradas conforme seu código muda, em vez de em uma fase separada antes de cada lançamento. Cada idioma permanece pronto para ser lançado junto com o código que o exigiu.
O que é localização contínua?
Localização contínua é uma forma de trabalho em que strings novas e alteradas vão para tradução automaticamente assim que mudam, e o texto traduzido retorna ao produto sem que ninguém precise agendar isso.
Não há fase de tradução, porque a tradução nunca para. Um desenvolvedor faz merge de uma string, as traduções acompanham no mesmo fluxo do código e um lançamento não fica esperando pelo arquivo de ninguém.
É a metade de localização da entrega contínua. Uma equipe que faz merge todos os dias e entrega a tradução a cada poucas semanas fica com idiomas defasados em relação ao código durante a maior parte de cada mês. A localização contínua reduz essa lacuna ao tempo de uma execução.
Isso não significa que saídas de máquina vão ao ar sem revisão. Você decide quais strings precisam de uma pessoa e um lançamento pode incluir apenas o que foi revisado.
A diferença está no momento da tradução, não em quem a faz.
| O que muda | Entrega em lote | Contínuo |
|---|---|---|
| Lado a lado | ||
| Quando a tradução ocorre | Em uma fase antes de cada lançamento | À medida que cada string é alterada |
| O que inicia o processo | Alguém exporta um arquivo | Um push, um merge ou uma alteração de conteúdo |
| O tamanho de cada parte | Semanas de strings de uma vez | As strings em uma única alteração |
| O que um lançamento aguarda | O retorno do arquivo | Revisão, nas strings que você marcou para isso |
| Uma alteração tardia de cópia | Outra ida e volta | Uma nova execução dessa única chave |
| Com o que o tradutor trabalha | Uma planilha de strings | A linha, com seus termos de glossário, correspondências de memória e capturas de tela |
| Idiomas no lançamento | Escalonado, uma onda após outra | Juntos, com o recurso |
- Quando a tradução ocorre
- Em uma fase antes de cada lançamento
- O que inicia o processo
- Alguém exporta um arquivo
- O tamanho de cada parte
- Semanas de strings de uma vez
- O que um lançamento aguarda
- O retorno do arquivo
- Uma alteração tardia de cópia
- Outra ida e volta
- Com o que o tradutor trabalha
- Uma planilha de strings
- Idiomas no lançamento
- Escalonado, uma onda após outra
- Quando a tradução ocorre
- À medida que cada string é alterada
- O que inicia o processo
- Um push, um merge ou uma alteração de conteúdo
- O tamanho de cada parte
- As strings em uma única alteração
- O que um lançamento aguarda
- Revisão, nas strings que você marcou para isso
- Uma alteração tardia de cópia
- Uma nova execução dessa única chave
- Com o que o tradutor trabalha
- A linha, com seus termos de glossário, correspondências de memória e capturas de tela
- Idiomas no lançamento
- Juntos, com o recurso
Como funciona a localização contínua
Acompanhe uma nova string pelo ciclo. Cada etapa mostra o que você realmente veria.
A alteração chega ao Transglot por meio da CLI, da Ação do GitHub ou do aplicativo no seu host Git. Os arquivos de origem são analisados em um dos 20 formatos nativos, e cada string é comparada com o que o projeto já possui. Apenas strings novas e alteradas prosseguem.
Uma correspondência exata da memória de tradução preenche a linha e não custa palavras. O que sobra vai para o Glossa com seu glossário, seu guia de estilo e o contexto daquela chave.
Placeholders, formas plurais, termos de glossário e comprimento são verificados em cada linha de cada execução. Um placeholder quebrado, uma forma plural ausente ou um termo de glossário proibido é reparado uma vez e verificado novamente; se falhar uma segunda vez, é recusado, não enviado. Uma linha que apenas excede seu comprimento é gravada e, a partir do plano Team, a aprovação automática ou uma execução de QA a sinaliza para revisão.
Uma execução nunca sobrescreve uma linha que uma pessoa editou ou revisou. Se a origem mudar depois, o texto permanece, a execução conta a linha e avisa você e, no plano Team, uma sugestão de atualização fica ao lado dela para alguém aceitar.
Os aplicativos Git fazem commit dos arquivos de localidade em um branch de sincronização e mantêm um pull request atualizado. No GitHub, comente /translate em um pull request e os arquivos vão para o branch desse pull request. Ou publique no CDN e o produto em execução lê a alteração sem necessidade de lançamento.
Seis maneiras pelas quais a localização contínua dá errado e o que impede cada uma
Uma execução sobrescreve o trabalho de uma pessoa
Cada escritor verifica primeiro o estado da linha: uma execução, uma correspondência de memória e um push. Uma linha editada ou revisada por uma pessoa permanece, e a execução a reporta.
→fr, revisado, origem acabou de mudar
✓mantido, contado, reportado
Uma string quebrada chega à produção
Cada token que entrou precisa sair. Em um projeto ICU, uma mensagem que causaria erro no momento da renderização fica fora do pull, do conector e do pacote do CDN, e a execução a identifica.
→{count, plural, one {# article}
✓excluído do arquivo, nomeado na execução
O repositório fica cheio de pull requests de bots
Uma branch de sincronização e um pull request por repositório. Dois pushes rápidos convergem para ela em vez de abrir um segundo.
→#812 #815 #819 #823 atualização l10n
✓#812 transglot/sync, atualizado no local
Uma edição na fonte deixa traduções antigas para trás
Cada linha de destino registra a fonte contra a qual foi escrita, então uma string alterada é conhecida como desatualizada em todos os idiomas de uma vez, e apenas essa chave é executada novamente.
→Salvar tornou-se Salvar rascunho. fr, de, ja ainda dizem Save
✓fr, de, ja executam novamente nessa única chave
Cada execução fatura o projeto inteiro novamente
Uma execução é dimensionada com base no que mudou. Uma string inalterada não é enviada, uma correspondência exata de memória não custa palavras e uma linha de propriedade de uma pessoa é recusada antes que qualquer coisa seja gasta.
→arquivo contém 48.000 palavras
✓esta execução: 60 palavras
Um pull request inacabado apaga um arquivo de locale
Se o servidor não reportar entradas para um locale, o pull se recusa a sobrescrever um arquivo que tem conteúdo e sai com código 1 para que o pipeline pare ali.
→pull: 0 entradas para ja, arquivo contém 1.204
✓recusando sobrescrever locales/ja.json com um pacote vazio
- run 4182 fr: placeholder ausente no rascunho, reparado na nova tentativa
- run 4182 de: 3 linhas mantidas, uma pessoa as possui
- run 4182 ja: 41 linhas da memória, 0 palavras
- run 4183 ar: forma plural ausente após nova tentativa, linha recusada
- pull escrito locales/pt-BR.json
- sync transglot/sync atualizado, pull request #812
Todos os três se conectam ao seu repositório. O que difere é o que acontece quando você faz o merge.
Lido das páginas próprias de cada empresa em 5 de novembro de 2026. A linha de preço vem das nossas páginas de comparação, vinculadas abaixo, que mostram o plano e a matemática. Preços e planos mudam, então verifique-os antes de decidir.
| O que acontece | Transglot | Lokalise | Crowdin |
|---|---|---|---|
| Uma nova string é mesclada | Traduzido por padrão O push inicia a execução. Uma configuração do projeto desativa isso. | Traduzido assim que você configurar As automações ficam desativadas por padrão na criação de chaves e na importação de arquivos. Um fluxo de trabalho com uma etapa de IA é executado conforme sua programação. | Traduzido assim que você ativar Em Configurações, Tradução Automática, ele é executado a cada upload. A sincronização do Git é executada por hora, por padrão. |
| Uma tradução falha em uma verificação | Reparado uma vez, depois recusado Para um placeholder quebrado, forma plural ou termo proibido, em cada linha de cada execução. Um excesso de comprimento é registrado. Em um projeto ICU, uma linha com erro fica fora do pull, dos conectores e da CDN. | Uma verificação de nível Erro impede o salvamento no editor Cada verificação é definida como Desativada, Aviso ou Erro. | Uma verificação de nível Erro impede o salvamento Cada verificação é definida como Aviso ou Erro. |
| Uma pessoa já editou a linha | A execução se recusa a gravá-la O mesmo vale para correspondência de memória e para push. Se a origem mudar depois, a execução reporta a linha. | As automações preenchem valores vazios por padrão Uma opção de forçar e uma ação de limpar sobrescrevem os preenchidos. | As opções mantêm linhas humanas e aprovadas Também existe uma opção de substituir tudo. |
| Pull requests em um repositório movimentado | Um branch, um pull request Atualizado no local a cada push. | Um novo branch para cada pull request Nomeado com um timestamp. | Um branch de serviço, sincronizado por hora Por hora é o padrão, e o intervalo pode ser alterado. |
| O que o plano conta | Palavras traduzidas, uma vez por idioma Correspondências exatas de memória não custam nada. Armazenar uma string não custa nada. | Palavras processadas O idioma base e o alvo são contados. | Palavras hospedadas Palavras para traduzir, multiplicadas pelos idiomas de destino. |
| O que paga pela IA | As palavras do plano Não é cobrado separadamente. | Limites de palavras de IA por plano As palavras de IA Standard e Pro AI são linhas distintas do plano. | Um saldo separado ou sua própria chave A IA gerenciada da Crowdin é paga com créditos, fora da assinatura. |
| O mesmo trabalho: 5,000 strings em 10 idiomas | $39 por mês Team, tradução incluída | $1,049 por mês Advanced (billed yearly) | $138 por mês Pro with 560K hosted words (billed monthly), IA adicional |
| GitHub, GitLab, Bitbucket, Azure Repos, uma CLI e um servidor MCP | Todos eles Os aplicativos Git começam no plano Team e cobrem as edições em nuvem. | Todos eles As integrações estão disponíveis em todos os planos. | Todos eles Também cobre o Bitbucket Server. |
- Uma nova string é mesclada
- Traduzido por padrãoO push inicia a execução. Uma configuração do projeto desativa isso.
- Uma tradução falha em uma verificação
- Reparado uma vez, depois recusadoPara um placeholder quebrado, forma plural ou termo proibido, em cada linha de cada execução. Um excesso de comprimento é registrado. Em um projeto ICU, uma linha com erro fica fora do pull, dos conectores e da CDN.
- Uma pessoa já editou a linha
- A execução se recusa a gravá-laO mesmo vale para correspondência de memória e para push. Se a origem mudar depois, a execução reporta a linha.
- Pull requests em um repositório movimentado
- Um branch, um pull requestAtualizado no local a cada push.
- O que o plano conta
- Palavras traduzidas, uma vez por idiomaCorrespondências exatas de memória não custam nada. Armazenar uma string não custa nada.
- O que paga pela IA
- As palavras do planoNão é cobrado separadamente.
- O mesmo trabalho: 5,000 strings em 10 idiomas
- $39 por mêsTeam, tradução incluída
- GitHub, GitLab, Bitbucket, Azure Repos, uma CLI e um servidor MCP
- Todos elesOs aplicativos Git começam no plano Team e cobrem as edições em nuvem.
- Uma nova string é mesclada
- Traduzido assim que você configurarAs automações ficam desativadas por padrão na criação de chaves e na importação de arquivos. Um fluxo de trabalho com uma etapa de IA é executado conforme sua programação.
- Uma tradução falha em uma verificação
- Uma verificação de nível Erro impede o salvamento no editorCada verificação é definida como Desativada, Aviso ou Erro.
- Uma pessoa já editou a linha
- As automações preenchem valores vazios por padrãoUma opção de forçar e uma ação de limpar sobrescrevem os preenchidos.
- Pull requests em um repositório movimentado
- Um novo branch para cada pull requestNomeado com um timestamp.
- O que o plano conta
- Palavras processadasO idioma base e o alvo são contados.
- O que paga pela IA
- Limites de palavras de IA por planoAs palavras de IA Standard e Pro AI são linhas distintas do plano.
- O mesmo trabalho: 5,000 strings em 10 idiomas
- $1,049 por mêsAdvanced (billed yearly)
- GitHub, GitLab, Bitbucket, Azure Repos, uma CLI e um servidor MCP
- Todos elesAs integrações estão disponíveis em todos os planos.
- Uma nova string é mesclada
- Traduzido assim que você ativarEm Configurações, Tradução Automática, ele é executado a cada upload. A sincronização do Git é executada por hora, por padrão.
- Uma tradução falha em uma verificação
- Uma verificação de nível Erro impede o salvamentoCada verificação é definida como Aviso ou Erro.
- Uma pessoa já editou a linha
- As opções mantêm linhas humanas e aprovadasTambém existe uma opção de substituir tudo.
- Pull requests em um repositório movimentado
- Um branch de serviço, sincronizado por horaPor hora é o padrão, e o intervalo pode ser alterado.
- O que o plano conta
- Palavras hospedadasPalavras para traduzir, multiplicadas pelos idiomas de destino.
- O que paga pela IA
- Um saldo separado ou sua própria chaveA IA gerenciada da Crowdin é paga com créditos, fora da assinatura.
- O mesmo trabalho: 5,000 strings em 10 idiomas
- $138 por mêsPro with 560K hosted words (billed monthly), IA adicional
- GitHub, GitLab, Bitbucket, Azure Repos, uma CLI e um servidor MCP
- Todos elesTambém cobre o Bitbucket Server.
Comece de onde suas strings estiverem. Toda porta leva ao mesmo pipeline.
Como configurar a localização contínua
- 01
Extraia as strings do código
Cada string visível ao usuário precisa de uma chave estável em um arquivo de localidade. O Transglot lê 20 formatos, então mantenha o que você já tem.
jsonyamlxliffarb - 02
Conectar o repositório
O comando init encontra seus arquivos de localidade, faz login pelo navegador, envia o que você já tem e executa a primeira tradução.
npx transglot@latest init - 03
Execute em cada merge
Adicione a GitHub Action, chame a CLI de qualquer outro CI ou instale o aplicativo para GitHub, GitLab, Bitbucket ou Azure Repos.
transglot push --wait - 04
Decida o que precisa de revisão humana
Defina min_state como reviewed em uma regra de pull request e esse arquivo levará apenas strings revisadas por uma pessoa. Deixe desativado e os rascunhos serão enviados.
min_state: reviewed
Quanto custa executar em cada merge: as palavras que mudaram.
Uma palavra é uma palavra de origem, contada uma vez por idioma de destino. Uma execução é dimensionada com base no que mudou, então um merge que altera doze palavras em cinco idiomas conta sessenta, independentemente do tamanho do projeto.
Encaixa no plano Starter: $19/mo, 300,000 palavras por mês.
Isso representa cerca de 9% do limite.
Isso conta apenas tradução. Verificações de qualidade, rascunhos de voz da marca e reparos também contam como palavras, e correspondências exatas da memória não custam nada. A CLI e a GitHub Action começam no plano Starter, e os aplicativos para GitHub, GitLab, Bitbucket e Azure Repos começam no plano Team.
Três coisas que a localização contínua não resolve
Strings ainda presas no código
Um pipeline só pode traduzir o que consegue ler. Strings codificadas diretamente e frases montadas a partir de partes precisam ser corrigidas primeiro, e são a causa usual de atrasos no lançamento.
Ninguém responsável pelas palavras
A automação move as strings. Ela não decide como seu produto nomeia as coisas. Alguém precisa ser responsável pelo glossário, caso contrário, um idioma que ninguém lê pode se desviar sem que ninguém perceba.
Conteúdo que exige julgamento
Textos jurídicos, preços e slogans da marca merecem revisão humana. Envie-os para análise e mantenha-os fora dos arquivos de lançamento até que alguém os aprovar.
Perguntas frequentes sobre localização contínua
As perguntas que as equipes fazem antes de ativar o recurso.
O que é localização contínua?
Como a localização contínua difere da localização tradicional?
A localização contínua é a mesma coisa que CI/CD?
Preciso de um pipeline de CI/CD para localização contínua?
Localização contínua significa nenhuma revisão humana?
Uma execução automatizada pode sobrescrever a edição de um tradutor?
Vale a pena para uma equipe pequena?
Como evito que uma execução custe mais do que espero?
Funciona com GitLab, Bitbucket e Azure DevOps?
Posso fazer localização contínua sem Git?
As traduções podem atualizar sem um lançamento?
Como mover um projeto existente?
41 conectores, já construídos.
Conecte um repositório. O próximo merge faz o resto.
Um comando localiza seus arquivos de locale, faz login pelo navegador e executa a primeira tradução.