Ir para o conteúdo

Análises opcionais, gravação de sessão e publicidade permanecem desativadas, a menos que você aceite. Você pode rejeitá-las e usar o Transglot. Altere sua escolha a qualquer momento em Preferências de cookies. Política de Cookies

para equipes que fazem merge todos os dias

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.

Uma simulação das duas formas de trabalho, não uma medição. Clique em "Merge a change" e leia a coluna à direita: é o que os usuários desse idioma veem.
acme / web
mainAdd a gift cardcheckout.gift_card
frAjouter une carte cadeautraduzido
deGeschenkkarte hinzufügentraduzido
jaギフトカードを追加traduzido
arأضف بطاقة هديةtraduzido
pt-BRAdicionar vale-presentetraduzido
Idiomas prontos para lançamento agora5 de 5
Strings atrasadas em relação à mainnenhum
a resposta curta

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.

localização contínua vs. tradicional

A diferença está no momento da tradução, não em quem a faz.

Tradutores, revisores e glossários existem em ambas as colunas. O que muda é o momento em que o trabalho começa e o tamanho de cada peça.
Lado a lado
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
uma string, do início ao fim

Como funciona a localização contínua

Acompanhe uma nova string pelo ciclo. Cada etapa mostra o que você realmente veria.

seu terminal ou seu log de CI
+ "checkout.gift_card": "Add a {brand} gift card"
$ git push origin main
$ transglot push --wait
push locales/en.json (en, json_nested)
Batch: #4182
$ transglot pull
written locales/fr.json
written locales/ja.json
checkout.gift_card
origemAdd a {brand} gift card
frAjouter une carte cadeau {brand}Rascunho do Glossa
de{brand}-Geschenkkarte hinzufügenda memória, 0 palavras
ja{brand} ギフトカードを追加Rascunho do Glossa
arأضف بطاقة هدية {brand}Rascunho do Glossa
os quatro portões, uma execução
Placeholders1 reparado
Formas pluraisaprovado
Termos do glossárioaprovado
Duraçãoaprovado
ja · placeholder perdido, reparado uma vez, verificado novamenteギフトカードを追加{brand} ギフトカードを追加
cart.save
origem alteradaSave Save draft
frEnregistrerrevisado por uma pessoa: mantido, reportado a vocêSugestão: Enregistrer le brouillon
deEntwurf speichernlinha da máquina: traduzida novamente
pull requestatualizado no local
Atualizar traduçõestransglot/sync → mainaberto, um por repositório
locales/fr.json+3 −1
locales/de.json+3 −1
locales/ja.json+3 −1
ou, em um pull request no GitHub, comente/translate

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.

onde as equipes se queimam

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
medido em relação aos dois que você está comparando

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.

Transglot
Uma nova string é mesclada
Traduzido por padrão
O push inicia a execução. Uma configuração do projeto desativa isso.
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 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.
Pull requests em um repositório movimentado
Um branch, um pull request
Atualizado no local a cada push.
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.
O que paga pela IA
As palavras do plano
Não é cobrado separadamente.
O mesmo trabalho: 5,000 strings em 10 idiomas
$39 por mês
Team, tradução incluída
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.
use o que você já utiliza

Comece de onde suas strings estiverem. Toda porta leva ao mesmo pipeline.

A mesma memória, glossário, gates e revisão, independentemente da porta pela qual a string entrou.
.github/workflows/translations.yml
on:
push:
branches: [main]
jobs:
translations:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- uses: actions/checkout@v7
- uses: transglot/transglot-action@v1
with:
token: ${{ secrets.TRANSGLOT_TOKEN }}
o que fazer primeiro

Como configurar a localização contínua

  1. 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.

  2. 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.

  3. 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.

  4. 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.

faça as contas com seus próprios números

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.

25
40
6
20,000
Palavras por mês26,000com esses números · 25 merges por semana, 40 palavras cada, 6 idiomas

Encaixa no plano Starter: $19/mo, 300,000 palavras por mês.

Isso representa cerca de 9% do limite.

Primeira execução, única120,000Suas strings existentes em todos os idiomas. Traduções que você importa não são traduzidas novamente.

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.

o que ela não fará por você

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?
Uma forma de trabalho em que novas strings e alterações são enviadas para tradução automaticamente à medida que mudam, e o texto traduzido retorna ao produto sem uma entrega agendada. Substitui a fase de tradução antes do lançamento por pequenas execuções após cada alteração.
A localização tradicional agrupa strings em um arquivo, envia-as perto de um lançamento e aguarda. A localização contínua processa cada alteração conforme ela ocorre, mantendo as partes pequenas, permitindo que os idiomas sejam lançados juntos e fazendo com que uma alteração tardia no texto custe apenas a reexecução de uma chave, em vez de outra ida e volta completa.
Não. O CI/CD compila, testa e libera código. A localização contínua mantém as traduções em movimento paralelamente. Elas se encontram no pipeline: o push que executa seus testes também pode enviar strings para tradução e trazer os arquivos de volta.
Não. Os aplicativos para GitHub, GitLab, Bitbucket e Azure Repos respondem a um push sem necessidade de adicionar nada ao seu pipeline, e os conectores de conteúdo respondem a alterações em um CMS ou loja. A CLI e a Ação do GitHub estão disponíveis se você quiser integrá-las ao seu próprio fluxo de trabalho.
Não. Rascunhos podem ser publicados, ou uma regra de pull pode incluir apenas o que uma pessoa revisou, arquivo por arquivo. Os revisores trabalham no editor com termos do glossário, correspondências de memória e capturas de tela ao lado de cada linha.
Não. Uma execução, uma correspondência de memória e um push verificam a linha primeiro, e uma linha editada ou revisada por uma pessoa é preservada. Se sua fonte mudar mais tarde, o texto permanece, a execução conta a linha e a reporta, e, no plano Team, uma atualização sugerida é anexada para alguém aceitar.
Geralmente importa mais em equipes pequenas, porque ninguém tem a função de gerenciar entregas manuais. Se você lança em um idioma sem planos para um segundo, pode esperar.
O tamanho de uma execução é calculado antes de começar. O plano gratuito tem um limite rígido. Um plano pago para no limite da cota, a menos que você ative o uso excedente medido, que para em um teto de gastos definido por você. No CI, a CLI sai com o código 3 quando uma execução ultrapassaria o limite, permitindo que o pipeline tome uma ação.
Sim, no GitLab.com, Bitbucket Cloud e Azure DevOps Services. Os aplicativos não cobrem GitLab autohospedado ou Bitbucket Data Center, mas a CLI roda em qualquer CI que tenha Node 22 e possa acessar a API.
Sim. Conectores de conteúdo leem de um CMS, loja ou central de ajuda, e os bidirecionais escrevem o idioma revisado de volta. Alguns são apenas para importação, e a página de cada conector indica quais são.
Sim. Publique um locale na CDN e seu produto o lerá em tempo de execução através dos SDKs de runtime. A URL mais recente fica em cache por sessenta segundos, cada versão publicada mantém sua própria URL e as últimas vinte versões são mantidas.
O importador traz projetos, chaves e traduções existentes de Lokalise, Phrase, Crowdin, Transifex, Weblate and POEditor. Traduções importadas contam como trabalho humano, então nenhuma execução as sobrescreve. É gratuito em qualquer plano e executado uma vez.