Como Fazer Legendas Bilíngues: Dois Idiomas em um Único Arquivo SRT ou VTT
Crie um arquivo SRT ou VTT bilíngue que as pessoas consigam ler: mescle por tempo, encaixe dois idiomas em uma mesma legenda, escolha qual fica em cima e use um verificador gratuito.

Para fazer legendas bilíngues, você precisa de um arquivo de legenda sincronizado, uma tradução dele que mantenha a mesma sincronia e uma legenda para cada momento contendo os dois idiomas: primeiro as linhas originais, depois as traduzidas, sob um mesmo timestamp. Qualquer tradutor que gere um arquivo duplo faz isso por você, e uma ferramenta de mesclagem faz o mesmo se você já tiver dois arquivos. O SRT comum não precisa de sintaxe especial para isso.
Criar o arquivo é a parte fácil. A parte mais difícil é que a sincronia foi pensada para um único idioma. Uma legenda que cabia em duas linhas de inglês agora precisa comportar quatro linhas, nos mesmos poucos segundos, sobre a mesma imagem. Por isso, este guia dedica a maior parte do tempo ao que corrigir depois da mesclagem.
Criamos um arquivo de teste com 12 legendas, geramos versões em espanhol, chinês e árabe, e escrevemos um verificador gratuito. Os arquivos vieram do próprio código de geração de legendas do BookTranslator, executado localmente. Escrevemos as traduções à mão em vez de chamar um modelo, então esses testes mostram o que acontece com o arquivo, não o quão boa é a tradução. O README tem os detalhes. O verificador precisa apenas do Python 3.
Resposta Rápida: Como É uma Legenda Bilíngue
2
00:00:03,400 --> 00:00:06,600
There's another one at six,
but the station closes at midnight.
Hay otro a las seis,
pero la estación cierra a medianoche.
Isso é SRT válido. Cada legenda mantém seu número e timestamp, e todas as linhas de texto abaixo do timestamp aparecem na tela juntas. O WebVTT funciona da mesma forma.
Escolha a Configuração Primeiro
| Você quer | Use | Por quê |
|---|---|---|
| Assistir em quase qualquer player ou enviar um arquivo para alguém | Um SRT mesclado | É um arquivo de legenda comum, sem precisar de recurso do player |
| Assistir no seu próprio computador com controle sobre cada idioma | Dois arquivos separados em um player com suporte a duas faixas | Cada idioma mantém sua própria sincronia e pode ser movido ou desativado |
| Mostrar os idiomas em tamanhos diferentes em uma página web | Um VTT com uma classe para cada idioma | O WebVTT tem estilização; o SRT não tem uma forma padrão de fazer isso |
| Publicar um vídeo que fique igual em todos os lugares | Legendas embutidas no vídeo | O texto passa a fazer parte da imagem, e os espectadores não podem desativá-lo |
Para duas faixas, o mpv tem uma opção --secondary-sid. O manual dele diz que a segunda faixa é desenhada no topo da tela por padrão, o que mantém os idiomas separados. Não testamos o mpv nós mesmos.
Para gravar as legendas no vídeo, o filtro de legendas do FFmpeg precisa de uma compilação com libass. O FFmpeg 9.0.1 que instalamos para este teste não tinha esse recurso, então execute ffmpeg -filters | grep subtitles antes de planejar com base nisso. Não testamos a gravação no vídeo.
Passo 1: Coloque dois idiomas em um único arquivo
Se você tem um arquivo, traduza-o com uma ferramenta que gere um arquivo duplo. O BookTranslator faz isso em toda tarefa de SRT e VTT: você recebe um arquivo traduzido e um arquivo bilíngue com os mesmos carimbos de tempo, e pode começar no tradutor de legendas. Se precisar escolher uma ferramenta primeiro, consulte nossa comparação de softwares de legendas.
Se você tem dois arquivos, empare-os por tempo, não por número de legenda. É aqui que a mesclagem dá errado, porque duas faixas do mesmo vídeo raramente dividem as falas da mesma forma. Nossa segunda faixa em espanhol divide duas legendas longas ao meio e deixa de fora o efeito sonoro, o ano e a música.
python3 check_bilingual_subs.py merge sample-source.srt sample-es-own-timing.srt -o merged.srt
O emparelhamento por número de legenda (a opção --index do script) errou 10 das 12 legendas, começando na legenda 2, onde metade do espanhol desapareceu. Na legenda 3, a tradução já pertencia a outra fala:
3
00:00:06,800 --> 00:00:08,000
So where do we wait?
pero la estación cierra a medianoche.
O emparelhamento por tempo deu a tradução correta em 9 legendas, deixou as 3 legendas sem espanhol intactas e reportou a única fala em espanhol que não correspondia a nada, para que você possa posicioná-la manualmente. O script atribui uma legenda da segunda faixa à legenda da primeira faixa com a qual ela mais se sobrepõe, desde que essa sobreposição cubra pelo menos metade do comprimento dela. Ferramentas como o submerger também mesclam arquivos; não as testamos. Seja o que for que você usar, verifique as legendas após a primeira divisão.
Passo 2: Verifique o arquivo
python3 check_bilingual_subs.py check sample-source.srt sample-es-bilingual.srt --max-target-cps 17
Ele compara o arquivo bilíngue com o original e assume que as falas originais vêm primeiro, então execute-o antes de inverter a ordem. Ele avisa se as linhas de cima não corresponderem ao original. Foi o que ele encontrou no arquivo em espanhol:
| Legenda | Segundos | Linhas | Caracteres/seg do original | Caracteres/seg do espanhol | Problema |
|---|---|---|---|---|---|
| 2 | 3.2 | 4 | 19.4 | 17.8 | Quatro linhas, espanhol muito rápido |
| 5 | 2.7 | 2 | 6.7 | 7.0 | ' no texto |
| 7 | 1.0 | 2 | 4.0 | 4.0 | Mesmo texto duas vezes |
| 8 | 1.8 | 2 | 1.7 | 1.7 | Mesmo texto duas vezes |
| 9 | 1.2 | 4 | 20.8 | 22.5 | Quatro linhas, ambos os idiomas muito rápidos |
| 10 | 3.6 | 2 | 18.3 | 19.4 | Ambas as linhas com mais de 42 caracteres, espanhol muito rápido |
As legendas 6 e 12 também retornaram com quatro linhas. As outras quatro legendas estavam corretas.
Os limites de velocidade e de comprimento de linha vêm da Netflix, porque seus números são públicos e específicos, e variam conforme o idioma. O guia em inglês permite 42 caracteres por linha, duas linhas e até 20 caracteres por segundo para programas adultos. O guia em espanhol latino-americano permite 17 caracteres por segundo para legendas traduzidas, e o guia em chinês simplificado permite 16 caracteres por linha e 9 por segundo. Portanto, use --max-target-line 16 --max-target-cps 9 para chinês. Esses guias cobrem um idioma por vez, com no máximo duas linhas. Não conhecemos nenhum padrão equivalente para dois idiomas em uma mesma legenda, então o padrão do verificador de três linhas na tela, e tudo na próxima seção, é nosso julgamento.
O verificador também imprime um número combinado, que chegou a 43,3 caracteres por segundo na legenda 9. Não tente corrigir esse número. Ninguém lê cada caractere dos dois idiomas com atenção total. Trate-o como um indicador das legendas que merecem atenção.
Passo 3: Corrija as legendas de quatro linhas
É o que custam quatro linhas. Na exibição de legendas integrada do Chromium a 1280x720, a legenda em inglês de duas linhas ocupou 10,6% da altura do quadro, e a mesma legenda com o espanhol adicionado ocupou 21,9%.


Percorra as legendas sinalizadas nesta ordem:
- Mantenha o idioma do áudio palavra por palavra. Se as pessoas estão ouvindo o original e acompanhando pelo texto, um original encurtado deixa de corresponder ao que elas ouvem.
- Reduza o outro idioma a uma linha. Nossa legenda 2 passa de 17,8 caracteres por segundo para 13,1 quando o espanhol vira
A las seis hay otro; cierran a medianoche.São três linhas na tela em vez de quatro, e os dois fatos são mantidos. - Adicione tempo apenas se houver uma folga. Verifique o início da próxima legenda antes de mover um tempo de término. A legenda 2 tem 0,2 segundos de folga, o que não vale o esforço.
- Depois, deixe o resto em paz. A legenda 9 é
You knew?/Since March.em 1,2 segundos. Ela viola os limites de velocidade e de linhas, mas nós a deixaríamos: a folga de 0,2 segundos depois dela é pequena demais para ajudar, e é provável que o espectador consiga captar duas respostas curtas de relance. Nem toda sinalização é um erro.
Para linhas únicas longas como a legenda 10, divida cada idioma em duas linhas apenas se a legenda tiver tempo para isso. Caso contrário, encurte a tradução.
Se você controla a exibição, também pode facilitar a distinção de um idioma. Execute to-vtt para dar a cada idioma sua própria classe. O arquivo resultante foi renderizado no Chromium com o inglês a 80% do tamanho e em cinza-claro. Isso economiza pouquíssimo espaço (21,1% da altura do quadro em vez de 21,9%), então não substitui o corte de uma linha. Não testamos se isso ajuda as pessoas a ler.

Isso usa classes de cue e o seletor ::cue() do WebVTT. É destinado a navegadores. Outros players podem ignorar os estilos ou o arquivo VTT.
Passo 4: Decida qual idioma fica em cima
Há algumas pesquisas sobre isso. Em um estudo de rastreamento ocular de 2026 com 42 falantes nativos de espanhol com inglês como segunda língua, os espectadores passaram mais tempo na linha de cima, independentemente do idioma, e passaram mais tempo na linha que correspondia ao áudio. As pontuações de compreensão foram maiores com o espanhol, a primeira língua deles, em cima. Um estudo anterior com 112 aprendizes chineses de inglês descobriu que as legendas bilíngues ajudaram a compreensão tanto quanto as legendas apenas na primeira língua deles, e ambas superaram as legendas em inglês ou a ausência de legendas.
São estudos isolados de grupos específicos de espectadores, então tome-os como ponto de partida:
- Acompanhar um filme ou palestra pelo conteúdo: coloque em cima o idioma que você lê melhor.
- Praticar um idioma que você está aprendendo: coloque esse idioma em cima e aceite que talvez compreenda um pouco menos. A compreensão foi o que o estudo de 2026 mediu, não o aprendizado, então esta é a nossa avaliação.
- Revisar uma tradução: a ordem importa pouco, então deixe como está.
O arquivo bilíngue do BookTranslator sempre coloca o original em cima. Para inverter:
python3 check_bilingual_subs.py flip sample-source.srt sample-es-bilingual.srt -o translation-on-top.srt
O que volta errado, e como corrigir
Estes vieram da execução do código de legendas do BookTranslator em nossos arquivos de teste, e o verificador sinaliza os dois primeiros.
- Texto que não precisa de tradução aparece duas vezes.
1984e♪ ♪são ignorados por não terem palavras para traduzir, então o arquivo bilíngue imprime cada um duas vezes. Exclua uma linha manualmente. 'pode aparecer no texto. Em novembro de 2026, uma legenda com tags de formatação e um apóstrofo pode voltar com o apóstrofo escapado. Nossa linha original virou<i>Don't answer that.</i>no arquivo bilíngue, e em um teste separado de VTT uma tradução em francês virou<i>Je n'attendrai pas.</i>também no arquivo traduzido. O Chromium decodificou isso em VTT e mostrou um apóstrofo normal. Mas quando convertemos o SRT com o FFmpeg, o'permaneceu no texto de saída, então presuma que alguns players o mostrarão literalmente. Substitua'por'antes de usar o arquivo. Relatamos isso aos nossos engenheiros.- As configurações de cue do VTT são removidas. Configurações de posição como
line:0 align:start position:10%e blocosNOTEdesapareceram da nossa saída de teste VTT, e os rótulos de falante apareceram nas duas linhas. Se o seu VTT depende de posicionamento, adicione-o de volta após traduzir. - O texto da direita para a esquerda é marcado linha por linha. As linhas em árabe vieram envolvidas por marcas de direção Unicode. Examinamos apenas uma legenda, em uma cópia VTT do arquivo no Chromium, e ela foi exibida da direita para a esquerda. As linhas que misturam árabe com números, como a nossa legenda 10, são o caso mais difícil e não as visualizamos, então teste no seu player real. O SRT não tem outra forma de definir a direção. Nosso guia para texto da direita para a esquerda aborda as questões mais amplas para livros.
Se o seu arquivo de origem for ASS ou SSA, a saída bilíngue do BookTranslator adiciona a linha traduzida como um segundo evento com o mesmo estilo e timing, o que é uma estrutura diferente. Nosso guia de legendas ASS explica como esses arquivos são montados. Se os caracteres acentuados parecerem quebrados em qualquer um dos idiomas, o problema geralmente é a codificação do arquivo, que nosso guia de codificação de legendas aborda.
Antes de Compartilhar o Arquivo
- Execute o verificador e revise cada legenda sinalizada.
- Encontre
',&e"e substitua-os. - Exclua linhas duplicadas em efeitos sonoros, números e música.
- Assista aos minutos mais movimentados no player que seus espectadores usarão, no tamanho de tela que eles usarão.
- Verifique se as linhas inferiores não cobrem o texto na tela do vídeo.
- Leia a tradução no contexto. Nosso fluxo de trabalho de legendas com IA aborda como revisá-la.
Tem um SRT ou VTT pronto? Envie-o para o tradutor de legendas e veja o preço antes de pagar. Quando terminar, baixe o arquivo bilíngue junto com o traduzido. Em seguida, execute o verificador nele, pois a contagem de linhas em um trabalho real depende de como o modelo divide cada legenda traduzida.
Posts Relacionados





