Voltar ao blog

Como Traduzir um Arquivo SRT sem Estragar a Sincronia

Traduza um arquivo SRT sem estragar a sincronia: por que um tradutor genérico destrói os códigos de tempo, quatro métodos que não fazem isso e como conferir o resultado.

20 de setembro de 2026
Sablate Team

Para traduzir um arquivo SRT e manter a sincronia, use uma ferramenta que interprete o formato de legendas em vez de uma que trate o arquivo como texto corrido. Uma ferramenta que entende o formato lê o número do bloco, a linha do código de tempo e o texto como três coisas separadas, traduz só a terceira e devolve as outras duas exatamente como estavam.

Todo arquivo de legendas traduzido que sai quebrado remonta ao mesmo erro: o arquivo inteiro foi parar em um tradutor genérico, que não tinha como saber quais linhas sustentavam a estrutura.

Por que traduzir um SRT estraga a sincronia?

Um bloco de SRT tem quatro partes, e só uma delas é linguagem:

2
00:00:04,120 --> 00:00:06,480
The timings live on the line above.
A translator must never touch it.

O número identifica a legenda. A linha do código de tempo, com os milissegundos separados por vírgula e a seta -->, é a sincronia. O texto é a legenda propriamente dita. A linha em branco é o separador que avisa ao interpretador que o bloco terminou.

Um tradutor genérico enxerga um único documento contendo as quatro partes. Não tem motivo para tratar 00:00:04,120 --> 00:00:06,480 como sintaxe, então três coisas dão errado, normalmente juntas:

  1. As legendas se fundem. A linha em branco entre os blocos é espaço em branco para um tradutor de texto corrido, e se ela não sobreviver à ida e volta, duas legendas viram um único parágrafo. Tudo o que vem depois fica desalinhado do áudio.
  2. Os blocos são renumerados ou reordenados. Reorganizar parágrafos embaralha os números de índice, e alguns interpretadores recusam o arquivo por completo, enquanto outros o renumeram em silêncio e deslocam as legendas.
  3. Os códigos de tempo são reformatados. Um espaço a mais em volta da seta, uma vírgula virando ponto, um campo de milissegundos preenchido de outro jeito — qualquer um desses basta para tornar a linha impossível de interpretar.

Há uma quarta falha que não tem nada a ver com o tradutor. A codificação. Um arquivo com caracteres acentuados ou uma escrita não latina, salvo em Latin-1 ou Windows-1254 em vez de UTF-8, aparece como lixo na metade dos players que o abrem. Salve sempre os arquivos de legendas em UTF-8 e esse problema desaparece de vez.

O sinal revelador é que um arquivo quebrado muitas vezes ainda parece bom quando você passa os olhos. O texto está no idioma certo, os códigos de tempo continuam lá e nada chama a atenção. Ele falha quando um player tenta interpretá-lo ou, pior ainda, interpreta e reproduz com dois segundos de defasagem.

As quatro formas de traduzir um SRT

Da mais rápida à mais controlada:

  1. Subtitle Edit — gratuito, código aberto, tradução integrada, roda localmente.
  2. Um tradutor online que entenda o formato — envie o arquivo, receba outro de volta.
  3. Um LLM com um prompt rigoroso — o melhor controle de terminologia, precisa de verificação.
  4. Um programa para computador que trata a tradução como uma camada — vários idiomas a partir de uma só linha do tempo.

As quatro mantêm os códigos de tempo intactos, se usadas corretamente. Diferem no custo, na privacidade e em quantos idiomas você está produzindo.

Método 1: Subtitle Edit

A resposta gratuita, e aquela por onde a maioria das pessoas deveria começar.

O Subtitle Edit é de código aberto, roda em Windows, macOS e Linux e tem uma função de Tradução Automática que substitui o texto na memória e deixa a estrutura de blocos intacta por construção. Oferece vários motores — DeepL e Google, se você tiver chaves, LibreTranslate, se hospedar seu próprio servidor, e modelos locais via Ollama, llama.cpp ou qualquer endpoint compatível com OpenAI.

  1. Abra o .srt no Subtitle Edit.
  2. Escolha Tradução Automática e selecione um motor e o idioma de destino.
  3. Revise o resultado na visualização em lista, onde o original e a tradução ficam lado a lado.
  4. Salve como um novo arquivo, em UTF-8.

O caminho do modelo local é o que vale a pena conhecer: não precisa de chave de API e nada sai do computador, o que o torna o único método gratuito desta página que também é privado. A contrapartida é que um modelo local pequeno traduz visivelmente pior que o DeepL em pares europeus, e você vai ter que editar mais.

Método 2: um tradutor online que entenda o formato

Envie o arquivo, escolha um idioma, baixe o resultado. O DeepL aceita um .srt como tipo de documento e devolve um .srt traduzido com a estrutura intacta; quantos documentos você pode processar depende do seu plano. Vários sites dedicados à tradução de legendas fazem o mesmo.

É o caminho mais rápido para um arquivo em um idioma, e a qualidade nos principais pares europeus é a melhor dos quatro métodos, sem nenhuma configuração.

Há duas coisas a saber antes de usá-lo. O arquivo é enviado para um servidor, então é o método errado para qualquer coisa confidencial — uma montagem ainda não lançada, imagens de um cliente, a gravação de uma reunião interna. E um tradutor de documentos não dá nenhum controle sobre a terminologia: nomes de produtos, nomes de personagens e jargão são traduzidos junto com todo o resto, que é exatamente o que você não quer para nomes.

Método 3: um LLM com um prompt rigoroso

É o que dá o melhor controle de terminologia dos quatro, porque você pode dizer ao modelo o que não traduzir. É também o método com mais chance de corromper o arquivo em silêncio, então a etapa de verificação não é opcional.

Um prompt que funciona:

Translate the subtitle text below from English into German.

Rules:
- Output exactly the same number of subtitle blocks as the input.
- Copy every block number and every timecode line unchanged, character for character.
- Translate only the subtitle text lines.
- Keep the blank line between blocks.
- Do not merge, split, reorder or renumber blocks.
- Do not translate these terms: [list product and character names here]
- Keep each translated line roughly the length of the original.

Trabalhe em lotes de 50 a 100 blocos, em vez de colar um filme de duas horas de uma vez. É nas entradas longas que os modelos começam a fundir legendas e a perder blocos, e fazem isso sem avisar.

Depois verifique. Esta linha única conta as linhas de código de tempo nos dois arquivos:

grep -c " --> " original.srt translated.srt

Os dois números precisam ser idênticos. Se a tradução tiver um número menor, blocos foram fundidos, e todas as legendas depois da fusão agora estão erradas. Rode essa verificação em toda tradução feita por LLM, sempre.

Método 4: traduzir como camada, não como arquivo

Os três métodos acima têm a mesma forma: você tem um arquivo, produz outro arquivo e, se quiser oito idiomas, repete o processo oito vezes e gerencia oito arquivos.

Um programa para computador pode manter uma única linha do tempo. No Sablate, uma tradução é uma camada acrescentada a uma transcrição já existente, e não uma nova tarefa — os limites das legendas são criados uma única vez e todos os idiomas os herdam, então a questão da sincronia não volta a aparecer. Cada camada tem estilo próprio e fonte própria para o sistema de escrita do idioma, o que importa quando um idioma usa uma escrita que a fonte das legendas não contém.

Há dois caminhos de tradução disponíveis. O Argos roda offline no seu computador e nunca envia nada para lugar nenhum; DeepL, OpenAI e Claude estão disponíveis se você usar sua própria chave de API. Um detalhe honesto sobre o caminho offline: o Argos publica pacotes que fazem par com o inglês de um dos lados, então um par como turco para alemão não tem pacote direto e é composto passando pelo inglês como escala intermediária. Funciona, e uma linha de turco para alemão fica um pouco mais sem graça do que uma de turco para inglês.

O plano gratuito cobre uma camada de tradução offline por tarefa, em vídeos de até dez minutos; camadas ilimitadas, os motores na nuvem e a exportação de todos os idiomas com um clique fazem parte do Pro. Baixe para Windows ou Mac e traduza um arquivo antes de decidir qualquer coisa.

Como traduzir legendas offline

Dois dos quatro métodos rodam inteiramente na sua própria máquina, o que importa quando o roteiro é confidencial ou a conexão não é confiável: o Subtitle Edit com um modelo local e as camadas Argos do Sablate. Os dois traduzem só o texto e mantêm todos os códigos de tempo, então o problema de sincronia descrito acima não se aplica a nenhum deles.

Subtitle Edit com um modelo localSablate com Argos
O que você instalaOllama ou llama.cpp mais um modelo, e depois apontar o Subtitle Edit para eleNada além do programa; cada pacote de idioma é baixado uma vez dentro do aplicativo
IdiomasOs que o modelo escolhido por você cobrirCerca de 50 idiomas de destino a partir de qualquer idioma de origem, a maioria deles passando pelo inglês
Qualidade da traduçãoDepende do tamanho do modelo; abaixo do DeepL em pares europeusLiteral e legível, abaixo do DeepL e dos LLMs atuais
Controle de terminologiaUm prompt pode listar os termos a manterNenhum no tradutor; corrija os nomes depois com localizar e substituir
CustoGratuitoUma camada offline por tarefa no plano gratuito, ilimitadas no Pro

Ajuste as expectativas antes de depender de qualquer um dos dois. Os tradutores offline são modelos bem menores que o DeepL ou um LLM atual na nuvem, e isso aparece: a redação sai literal, as expressões idiomáticas são traduzidas palavra por palavra e os nomes às vezes são traduzidos quando não deveriam. O Argos tem ainda um limite próprio. Quase todos os seus pacotes ligam um idioma ao inglês, então um par como turco para alemão roda como duas traduções em sequência, passando pelo inglês, e herda os erros das duas.

Isso faz da tradução offline a ferramenta certa para um rascunho de trabalho, para entender um material gravado em um idioma que você não fala, ou para um idioma que você mesmo consegue revisar. Para legendas que você vai publicar em um idioma que ninguém da equipe lê, traduza offline primeiro e peça que alguém confira o resultado, ou mude só essa camada para o DeepL ou para um LLM com sua própria chave. As outras ferramentas offline que fazem a transcrição em si estão comparadas na comparação de geradores de legendas offline.

Qual método você deve usar?

MétodoCustoFunciona offlineControle de terminologiaMelhor para
Subtitle EditGratuitoSim, com um modelo localParcialUm arquivo, qualquer par de idiomas
Tradutor de documentos onlinePlano gratuito, depois pagoNãoNãoO melhor resultado mais rápido em pares europeus
LLM com um prompt rigorosoVaria conforme o modeloSim, com um modelo localSimJargão, nomes, glossário próprio
SablatePlano gratuito; o Pro custa $29, pagamento únicoSimSimVários idiomas a partir de uma só transcrição

"Tenho um arquivo e nenhum orçamento." Subtitle Edit. É gratuito, é a ferramenta de legendas mais capaz desta lista para trabalho de formato e não vai estragar a sincronia.

"Preciso da melhor tradução para o alemão e o arquivo não é sensível." Um tradutor de documentos. O resultado do DeepL do inglês para o alemão é o que precisa de menos edição de tudo isso.

"O vídeo é confidencial." Subtitle Edit com um modelo local, ou o caminho offline do Sablate. Qualquer método que envie o arquivo está desqualificado, por melhor que seja.

"Vou publicar o mesmo vídeo em seis idiomas." Camadas, não arquivos. Os métodos por arquivo se multiplicam por seis; um fluxo de trabalho em camadas não, e o fluxo de trabalho multilíngue explica por que a transcrição merece uma revisão cuidadosa antes de todo o resto começar.

Como evitar que a sincronia se quebre de novo

Três hábitos, em ordem de quanto tempo economizam.

Confira a contagem de blocos em toda tradução. A linha grep acima leva dois segundos e pega a única falha que é invisível a olho nu. Um arquivo traduzido com menos blocos que a origem está quebrado, sempre.

Confira a velocidade de leitura depois de traduzir, não depois de transcrever. Os tempos sobreviveram; o texto é que não manteve o mesmo tamanho. Do inglês para espanhol ou francês, o texto costuma ficar de 20 a 25 por cento mais comprido, e o alemão até 35 por cento, tudo dentro do mesmo número de segundos. Uma linha confortável de 14 CPS vira uma linha de 17,5 CPS sem que um único código de tempo se mexa — os limites de velocidade de leitura explicam o que fazer a respeito, e a resposta é sempre mudar as palavras ou a duração, nunca a sincronia.

Mantenha a transcrição de origem como versão principal. Corrija ali os nomes, o jargão e a pontuação antes de traduzir qualquer coisa. Um sobrenome corrigido na origem fica corrigido em todos os idiomas; o mesmo sobrenome corrigido depois é uma edição por idioma, e as edições acabam divergindo.

Se alguma dessas legendas for acabar embutida em um vídeo, faça isso por último. A velocidade de leitura em uma cópia com legenda embutida é permanente, e o formato para o qual você exporta decide se o espectador consegue sequer trocar de idioma.

Traduza o arquivo, não o vídeo. Mantenha a linha do tempo pela qual você já pagou, invista o esforço nas palavras que se apoiam nela e confira a contagem de blocos antes de entregar.

Perguntas frequentes

Como traduzo um arquivo SRT sem estragar a sincronia?

Use uma ferramenta que interprete o formato SRT em vez de uma que o trate como texto simples. Uma ferramenta assim lê o número do bloco, a linha do código de tempo e o texto separadamente, traduz só o texto e devolve o resto exatamente como estava. O Subtitle Edit faz isso de graça, e o DeepL aceita um SRT como documento.

Posso traduzir legendas offline?

Sim. O Subtitle Edit pode traduzir com um modelo local pelo Ollama ou pelo llama.cpp, e o Sablate traduz em camadas de idioma com o Argos, que baixa cada pacote de idioma uma vez e depois funciona sem conexão. Os dois mantêm a sincronia. Espere uma redação literal: os modelos offline são menores que o DeepL ou os LLMs na nuvem, então revise tudo o que for publicar.

Por que o Google Tradutor estraga arquivos SRT?

Porque ele enxerga o arquivo inteiro como texto corrido. Para um tradutor genérico, os códigos de tempo, os números dos blocos e a seta entre os tempos são todos texto traduzível; por isso ele os reformata, junta legendas cuja linha em branco separadora sumiu e renumera blocos ao reorganizar parágrafos. Muitas vezes o resultado deixa de poder ser lido pelos programas.

Posso traduzir um arquivo SRT gratuitamente?

Sim. O Subtitle Edit é gratuito e de código aberto, roda em Windows, macOS e Linux e tem tradução integrada com vários motores, incluindo modelos locais que não precisam de conexão com a internet. Também existem tradutores de legendas online gratuitos, mas eles fazem upload do seu arquivo, o que importa se o conteúdo for confidencial.

As legendas traduzidas ainda cabem nos tempos originais?

Cabem nos tempos, mas muitas vezes não na velocidade de leitura. A tradução do inglês para espanhol ou francês costuma acrescentar de 20 a 25 por cento a mais de caracteres, e o alemão pode chegar a 35 por cento, tudo dentro do mesmo número de segundos. Os limites das legendas continuam corretos, mas a linha fica rápida demais para ser lida.

Como verifico se um SRT traduzido continua válido?

Conte as linhas de código de tempo nos dois arquivos e compare. Se o original tiver 412 e a tradução tiver 389, alguns blocos foram fundidos ou perdidos. Depois abra o arquivo traduzido em um player ao lado do vídeo e confira a primeira legenda, a última e uma troca rápida no meio.

Devo traduzir o arquivo de legendas ou transcrever de novo no idioma de destino?

Traduza o arquivo. Repetir o reconhecimento de fala por idioma gera um conjunto diferente de limites de legenda para cada idioma, então uma correção de sincronia em um idioma não serve para os outros. Traduzir o texto reaproveita uma única linha do tempo correta em todos os idiomas que você adicionar.