Come creare sottotitoli bilingui: due lingue in un unico file SRT o VTT
Crea un file SRT o VTT bilingue che le persone possano leggere: unisci per tempo, adatta due lingue in un unico sottotitolo, scegli quale va sopra e usa un verificatore gratuito.

Per creare sottotitoli bilingui, ti servono un file di sottotitoli con tempistiche, una sua traduzione che mantenga le stesse tempistiche e un sottotitolo per ogni momento che contenga entrambe le lingue: prima le righe originali, poi quelle tradotte, sotto un unico timestamp. Qualsiasi traduttore che produce un file doppio lo fa per te, e uno strumento di unione lo fa se hai già due file. Il formato SRT semplice non richiede una sintassi speciale.
Creare il file è la parte facile. La parte più difficile è che le tempistiche sono state scritte per una sola lingua. Un sottotitolo che contiene due righe di inglese ora deve contenerne quattro, negli stessi pochi secondi, sulla stessa immagine. Perciò questa guida dedica la maggior parte dello spazio a cosa correggere dopo l'unione.
Abbiamo creato un file di test con 12 sottotitoli, prodotto versioni in spagnolo, cinese e arabo e scritto un verificatore gratuito. I file provengono dal codice di scrittura dei sottotitoli di BookTranslator, eseguito in locale. Abbiamo scritto le traduzioni a mano invece di chiamare un modello, quindi questi test mostrano cosa succede al file, non quanto sia buona una traduzione. Il README contiene i dettagli. Il verificatore richiede solo Python 3.
Risposta rapida: come appare un sottotitolo bilingue
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.
Questo è SRT valido. Ogni sottotitolo mantiene il suo numero e il suo timestamp, e ogni riga di testo sotto il timestamp appare sullo schermo insieme. WebVTT funziona allo stesso modo.
Scegli prima la configurazione
| Vuoi | Usa | Perché |
|---|---|---|
| Guardare su quasi qualsiasi lettore o inviare un file a qualcuno | Un SRT unito | È un normale file di sottotitoli, non serve alcuna funzione del lettore |
| Guardare sul proprio computer con controllo su ciascuna lingua | Due file separati in un lettore con supporto a due tracce | Ogni lingua mantiene le proprie tempistiche e può essere spostata o disattivata |
| Mostrare le lingue in dimensioni diverse su una pagina web | Un VTT con una classe per ciascuna lingua | WebVTT supporta lo stile; SRT non ha un modo standard per farlo |
| Pubblicare un video che appaia uguale ovunque | Sottotitoli impressi nel video | Il testo diventa parte dell'immagine e gli spettatori non possono disattivarlo |
Per due tracce, mpv ha un'opzione --secondary-sid. Il suo manuale dice che la seconda traccia viene disegnata in cima allo schermo per impostazione predefinita, il che tiene separate le lingue. Non abbiamo testato mpv di persona.
Per il burn-in, il filtro subtitles di FFmpeg richiede una build con libass. La versione FFmpeg 9.0.1 che abbiamo installato per questo test non lo includeva, quindi esegui ffmpeg -filters | grep subtitles prima di pianificare di conseguenza. Non abbiamo testato il burn-in.
Passo 1: Unisci due lingue in un unico file
Se hai un solo file, traducilo con uno strumento che generi un file duale. BookTranslator lo fa per ogni processo SRT e VTT: ottieni un file tradotto e un file bilingue con gli stessi timestamp, e puoi iniziare dal traduttore di sottotitoli. Se devi prima scegliere uno strumento, consulta il nostro confronto dei software per sottotitoli.
Se hai due file, abbinali per tempo, non per numero di cue. È qui che l'unione fallisce, perché due tracce dello stesso video raramente dividono le battute allo stesso modo. La nostra seconda traccia spagnola divide in due due cue lunghi e omette l'effetto sonoro, l'anno e la musica.
python3 check_bilingual_subs.py merge sample-source.srt sample-es-own-timing.srt -o merged.srt
L'abbinamento per numero di cue (l'opzione --index dello script) ha sbagliato 10 dei 12 cue, a partire dal cue 2, dove metà dello spagnolo è andato perso. Al cue 3 la traduzione apparteneva a una battuta diversa:
3
00:00:06,800 --> 00:00:08,000
So where do we wait?
pero la estación cierra a medianoche.
L'abbinamento per tempo ha dato la traduzione corretta sotto 9 cue, ha lasciato da soli i 3 cue senza spagnolo e ha segnalato l'unica battuta spagnola che non corrispondeva a nulla, così puoi posizionarla manualmente. Lo script assegna un cue della seconda traccia al cue della prima traccia con cui si sovrappone di più, purché copra almeno metà della sua lunghezza. Anche strumenti come submerger uniscono i file; non li abbiamo testati. Qualunque cosa usi, controlla a campione i cue dopo la prima divisione.
Passo 2: Controlla il file
python3 check_bilingual_subs.py check sample-source.srt sample-es-bilingual.srt --max-target-cps 17
Confronta il file bilingue con la fonte e presuppone che le righe originali vengano prima, quindi eseguilo prima di invertire l'ordine. Ti avvisa se le righe superiori non corrispondono alla fonte. Ecco cosa ha trovato nel file spagnolo:
| Cue | Secondi | Righe | Caratteri/sec originali | Caratteri/sec spagnoli | Problema |
|---|---|---|---|---|---|
| 2 | 3.2 | 4 | 19.4 | 17.8 | Quattro righe, spagnolo troppo veloce |
| 5 | 2.7 | 2 | 6.7 | 7.0 | ' nel testo |
| 7 | 1.0 | 2 | 4.0 | 4.0 | Stesso testo due volte |
| 8 | 1.8 | 2 | 1.7 | 1.7 | Stesso testo due volte |
| 9 | 1.2 | 4 | 20.8 | 22.5 | Quattro righe, entrambe le lingue troppo veloci |
| 10 | 3.6 | 2 | 18.3 | 19.4 | Entrambe le righe oltre 42 caratteri, spagnolo troppo veloce |
Anche i cue 6 e 12 sono tornati con quattro righe. Gli altri quattro cue andavano bene.
I limiti di velocità e lunghezza delle righe provengono da Netflix, perché i suoi numeri sono pubblici e specifici, e variano da lingua a lingua. La sua guida inglese consente 42 caratteri per riga, due righe e fino a 20 caratteri al secondo per i programmi per adulti. La sua guida spagnola latinoamericana consente 17 caratteri al secondo per i sottotitoli tradotti, e la sua guida cinese semplificato consente 16 caratteri per riga e 9 al secondo. Quindi usa --max-target-line 16 --max-target-cps 9 per il cinese. Quelle guide riguardano una lingua alla volta, con al massimo due righe. Non conosciamo uno standard equivalente per due lingue in un unico cue, quindi il valore predefinito del checker di tre righe sullo schermo, e tutto ciò che segue nella prossima sezione, è a nostra discrezione.
Il checker stampa anche un numero combinato, che ha raggiunto 43,3 caratteri al secondo sul cue 9. Non cercare di correggere quel numero. Nessuno legge ogni carattere di entrambe le lingue con piena attenzione. Consideralo un indicatore dei cue da tenere d'occhio.
Passo 3: Correggi i cue a quattro righe
Ecco quanto costano quattro righe. Nel visualizzatore di sottotitoli integrato di Chromium a 1280x720, il sottotitolo inglese su due righe occupava il 10,6% dell'altezza del fotogramma, e lo stesso sottotitolo con l'aggiunta dello spagnolo occupava il 21,9%.


Esamina i sottotitoli segnalati in questo ordine:
- Mantieni la lingua audio parola per parola. Se le persone ascoltano l'originale e seguono il testo, un originale abbreviato non corrisponde più a ciò che sentono.
- Riduci l'altra lingua a una riga. Il nostro sottotitolo 2 passa da 17,8 caratteri al secondo a 13,1 quando lo spagnolo diventa
A las seis hay otro; cierran a medianoche.Così sullo schermo ci sono tre righe invece di quattro, e si mantengono entrambe le informazioni. - Aggiungi tempo solo se c'è un intervallo. Controlla l'inizio del sottotitolo successivo prima di spostare un orario di fine. Il sottotitolo 2 ha 0,2 secondi di margine, il che non vale lo sforzo.
- Poi lascia stare il resto. Il sottotitolo 9 è
You knew?/Since March.in 1,2 secondi. Supera i limiti di velocità e di righe, ma lo lasceremmo: l'intervallo di 0,2 secondi dopo è troppo breve per aiutare, e uno spettatore può probabilmente cogliere due brevi battute a colpo d'occhio. Non ogni segnalazione è un errore.
Per righe singole lunghe come il sottotitolo 10, dividi ciascuna lingua in due righe solo se il sottotitolo ha il tempo necessario. Altrimenti accorcia la traduzione.
Se controlli la visualizzazione, puoi anche rendere una lingua più facile da distinguere. Esegui to-vtt per assegnare a ciascuna lingua la propria classe. Il file risultante visualizzato in Chromium con l'inglese all'80% della dimensione e in grigio chiaro. Questo fa risparmiare pochissimo spazio (21,1% dell'altezza del fotogramma invece di 21,9%), quindi non sostituisce il taglio di una riga. Non abbiamo verificato se aiuti la lettura.

Questo utilizza le classi dei sottotitoli WebVTT e il selettore ::cue(). È pensato per i browser. Altri lettori potrebbero ignorare gli stili o il file VTT.
Passaggio 4: Decidi quale lingua mettere in alto
Esiste qualche ricerca in merito. In uno studio di eye-tracking del 2026 su 42 madrelingua spagnoli con inglese come seconda lingua, gli spettatori passavano più tempo sulla riga superiore, indipendentemente dalla lingua, e passavano più tempo sulla riga che corrispondeva all'audio. I punteggi di comprensione erano più alti con lo spagnolo, la loro prima lingua, in alto. Uno studio precedente su 112 studenti cinesi di inglese ha rilevato che i sottotitoli bilingui aiutavano la comprensione tanto quanto i sottotitoli solo nella loro prima lingua, ed entrambi battevano i sottotitoli in inglese o l'assenza di sottotitoli.
Si tratta di singoli studi su gruppi specifici di spettatori, quindi prendili come punto di partenza:
- Seguire un film o una lezione per il contenuto: metti in alto la lingua che leggi meglio.
- Esercitare una lingua che stai imparando: metti quella lingua in alto e accetta di poter capire un po' meno. Lo studio del 2026 ha misurato la comprensione, non l'apprendimento, quindi questo è un nostro giudizio.
- Rivedere una traduzione: l'ordine conta poco, quindi lascialo com'è.
Il file bilingue di BookTranslator mette sempre l'originale in alto. Per invertirlo:
python3 check_bilingual_subs.py flip sample-source.srt sample-es-bilingual.srt -o translation-on-top.srt
Cosa torna sbagliato e come risolverlo
Questi problemi sono emersi eseguendo il codice dei sottotitoli di BookTranslator sui nostri file di prova, e il verificatore segnala i primi due.
- Il testo che non necessita di traduzione appare due volte.
1984e♪ ♪vengono saltati perché non hanno parole da tradurre, quindi il file bilingue li stampa ciascuno due volte. Elimina una riga a mano. 'può apparire nel testo. A novembre 2026, un sottotitolo con tag di formattazione e un apostrofo può tornare con l'apostrofo codificato. La nostra riga originale è diventata<i>Don't answer that.</i>nel file bilingue, e in un test VTT separato una traduzione francese è diventata<i>Je n'attendrai pas.</i>anche nel file tradotto. Chromium lo ha decodificato in VTT e ha mostrato un apostrofo normale. Ma quando abbiamo convertito l'SRT con FFmpeg,'è rimasto nel testo di output, quindi supponi che alcuni lettori lo mostreranno letteralmente. Sostituisci'con'prima di usare il file. Abbiamo segnalato questo ai nostri ingegneri.- Le impostazioni dei sottotitoli VTT vengono rimosse. Le impostazioni di posizione come
line:0 align:start position:10%e i blocchiNOTEerano spariti dal nostro output di test VTT, e le etichette degli interlocutori apparivano su entrambe le righe. Se il tuo VTT si basa sul posizionamento, aggiungilo di nuovo dopo la traduzione. - Il testo da destra a sinistra è contrassegnato riga per riga. Le righe in arabo sono tornate avvolte nei marcatori di direzione Unicode. Abbiamo esaminato solo un sottotitolo, in una copia VTT del file in Chromium, e veniva visualizzato da destra a sinistra. Le righe che mescolano arabo e numeri, come il nostro sottotitolo 10, sono il caso più difficile e non le abbiamo visualizzate, quindi fai una prova nel tuo player effettivo. SRT non ha altri modi per impostare la direzione. La nostra guida per il testo da destra a sinistra tratta i problemi più ampi per i libri.
Se il tuo file di origine è ASS o SSA, l'output bilingue di BookTranslator aggiunge la riga tradotta come secondo evento con lo stesso stile e la stessa temporizzazione, il che è una struttura diversa. La nostra guida ai sottotitoli ASS spiega come sono composti questi file. Se i caratteri accentati appaiono corrotti in una delle due lingue, il problema è di solito la codifica del file, che la nostra guida alla codifica dei sottotitoli tratta.
Prima di condividere il file
- Esegui il controllo e passa in rassegna ogni sottotitolo segnalato.
- Trova
',&e"e sostituiscili. - Elimina le righe duplicate su effetti sonori, numeri e musica.
- Guarda i pochi minuti più intensi nel player che useranno i tuoi spettatori, sulla dimensione dello schermo che useranno.
- Controlla che le righe in basso non coprano il testo presente nel video.
- Leggi la traduzione nel contesto. Il nostro flusso di lavoro per i sottotitoli con AI spiega come revisionarla.
Hai un SRT o un VTT pronto? Caricalo nel traduttore di sottotitoli e scopri il prezzo prima di pagare. Al termine, scarica il file bilingue insieme a quello tradotto. Poi esegui il controllo, dato che il numero di righe in un lavoro reale dipende da come il modello suddivide ogni sottotitolo tradotto.
Post Correlati





