BookTranslator
BookTranslator

Kako izraditi dvojezične titlove: dva jezika u jednoj SRT ili VTT datoteci

Izradite dvojezičnu SRT ili VTT datoteku koju ljudi mogu čitati: spojite prema vremenu, smjestite dva jezika u jedan titl, odaberite koji ide na vrh i pokrenite besplatni provjerivač.

BookTranslator

BookTranslator Team

10 min čitanja

Za izradu dvojezičnih titlova potrebna vam je jedna vremenski usklađena datoteka titlova, njezin prijevod koji zadržava isto vrijeme i jedan titl za svaki trenutak koji sadrži oba jezika: prvo izvorni retci, zatim prevedeni retci, pod jednom vremenskom oznakom. Svaki prevoditelj koji piše dvojezičnu datoteku to čini umjesto vas, a alat za spajanje to čini ako već imate dvije datoteke. Obični SRT ne zahtijeva posebnu sintaksu za to.

Izrada datoteke je laki dio. Teži je dio to što je vrijeme napisano za jedan jezik. Titl koji stane u dva retka engleskog sada mora sadržavati četiri retka, u istih nekoliko sekundi, preko iste slike. Stoga se ovaj vodič najviše bavi onim što treba popraviti nakon spajanja.

Napisali smo testnu datoteku s 12 titlova, izradili španjolsku, kinesku i arapsku verziju te napisali besplatni provjerivač. Datoteke su nastale iz vlastitog koda BookTranslatora za pisanje titlova, pokrenutog lokalno. Prijevode smo napisali ručno umjesto pozivanja modela, pa ovi testovi pokazuju što se događa s datotekom, a ne koliko je prijevod dobar. Detalji su u README. Provjerivač zahtijeva samo Python 3 i ništa više.

Kratki odgovor: kako izgleda dvojezični titl

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.

To je valjani SRT. Svaki titl zadržava svoj broj i vremensku oznaku, a svaki redak teksta ispod vremenske oznake prikazuje se zajedno na zaslonu. WebVTT radi na isti način.

Prvo odaberite postavku

ŽeliteKoristiteZašto
Gledati u gotovo svakom playeru ili poslati jednu datoteku nekomeJedan spojeni SRTTo je jedna obična datoteka titlova, bez potrebe za značajkom playera
Gledati na vlastitom računalu s kontrolom nad svakim jezikomDvije odvojene datoteke u playeru s podrškom za dvije stazeSvaki jezik zadržava svoje vrijeme i može se pomaknuti ili isključiti
Prikazati jezike u različitim veličinama na web-straniciJedan VTT s klasom za svaki jezikWebVTT ima stiliziranje; SRT nema standardni način za to
Objaviti video koji izgleda isto svugdjeUžareni titloviTekst postaje dio slike i gledatelji ga ne mogu isključiti

Za dvije staze, mpv ima opciju --secondary-sid. Njegov priručnik kaže da se druga staza prema zadanim postavkama iscrtava na vrhu zaslona, što razdvaja jezike. Nismo sami testirali mpv.

Za ugrađivanje u video, FFmpegov filtar za titlove zahtijeva verziju s libass podrškom. FFmpeg 9.0.1 koji smo instalirali za ovaj test nije ju imao, pa pokrenite ffmpeg -filters | grep subtitles prije nego što računate na to. Nismo testirali ugrađivanje.

Korak 1: Stavite dva jezika u jednu datoteku

Ako imate jednu datoteku, prevedite je alatom koji stvara dvojezičnu datoteku. BookTranslator to radi za svaki SRT i VTT zadatak: dobivate prevedenu datoteku i dvojezičnu datoteku s istim vremenskim oznakama, a možete započeti na prevoditelju titlova. Ako prvo trebate odabrati alat, pogledajte našu usporedbu softvera za titlove.

Ako imate dvije datoteke, uparite ih po vremenu, a ne po rednom broju titla. Tu spajanje obično zakaže jer se dvije staze istog videa rijetko dijele na isti način. Naša druga španjolska staza dijeli dva dugačka titla na pola i izostavlja zvučni efekt, godinu i glazbu.

python3 check_bilingual_subs.py merge sample-source.srt sample-es-own-timing.srt -o merged.srt

Uparivanje po rednom broju titla (opcija --index u skripti) pogrešno je uparilo 10 od 12 titlova, počevši od titla 2, gdje je nedostajala polovica španjolskog teksta. Do titla 3 prijevod je pripadao drugom retku:

3
00:00:06,800 --> 00:00:08,000
So where do we wait?
pero la estación cierra a medianoche.

Uparivanje po vremenu dalo je ispravan prijevod pod 9 titlova, ostavilo 3 titla bez španjolskog teksta netaknutima i prijavilo jedan španjolski redak koji se ni s čim nije poklopio, kako biste ga mogli ručno smjestiti. Skripta dodjeljuje titl druge staze onom titlu prve staze s kojim se najviše preklapa, pod uvjetom da pokriva barem polovicu njegove duljine. Alati poput submergera također spajaju datoteke; nismo ih testirali. Što god koristili, provjerite titlove nakon prvog razdvajanja.

Korak 2: Provjerite datoteku

python3 check_bilingual_subs.py check sample-source.srt sample-es-bilingual.srt --max-target-cps 17

Uspoređuje dvojezičnu datoteku s izvornikom i pretpostavlja da izvorni reci dolaze prvi, pa ga pokrenite prije nego zamijenite redoslijed. Upozorit će vas ako se gornji reci ne podudaraju s izvornikom. Evo što je pronašao u španjolskoj datoteci:

TitlSekundeReciIzvorni znakovi/sŠpanjolski znakovi/sProblem
23.2419.417.8Četiri retka, španjolski prebrz
52.726.77.0' u tekstu
71.024.04.0Isti tekst dvaput
81.821.71.7Isti tekst dvaput
91.2420.822.5Četiri retka, oba jezika prebrza
103.6218.319.4Oba retka preko 42 znaka, španjolski prebrz

Titlovi 6 i 12 također su vraćeni s četiri retka. Ostala četiri titla bila su u redu.

Ograničenja brzine i duljine retka dolaze od Netflixa jer su njegovi brojevi javni i konkretni, a razlikuju se po jeziku. Njegov engleski vodič dopušta 42 znaka po retku, dva retka i do 20 znakova u sekundi za programe za odrasle. Njegov vodič za latinoamerički španjolski dopušta 17 znakova u sekundi za prevedene titlove, a njegov vodič za pojednostavljeni kineski dopušta 16 znakova po retku i 9 u sekundi. Stoga za kineski koristite --max-target-line 16 --max-target-cps 9. Ti vodiči obrađuju jedan jezik odjednom, s najviše dva retka. Ne znamo za ekvivalentan standard za dva jezika u jednom titlu, pa je zadana postavka provjerivača od tri retka na zaslonu, kao i sve u sljedećem odjeljku, naša procjena.

Provjerivač također ispisuje kombinirani broj, koji je na titlu 9 dosegnuo 43,3 znaka u sekundi. Ne pokušavajte popraviti taj broj. Nitko ne čita svaki znak obaju jezika punom pažnjom. Tretirajte ga kao pokazivač na titlove koje vrijedi pregledati.

Korak 3: Popravite titlove s četiri retka

Toliko koštaju četiri retka. U Chromiumovom ugrađenom prikazu titlova na 1280x720, dvorečni engleski titl zauzimao je 10,6 % visine kadra, a isti titl s dodanim španjolskim zauzimao je 21,9 %.

Dvorečni engleski titl na dnu običnog testnog kadra od 1280 x 720, u zadanom Chromiumovom stilu titlova.

Isti titl s dodana dva španjolska retka, koji prekrivaju oko petine visine kadra.

Prođite kroz označene titlove ovim redom:

  1. Zadržite jezik zvuka od riječi do riječi. Ako ljudi slušaju original i prate tekst, skraćeni original više se ne podudara s onim što čuju.
  2. Skratite drugi jezik na jedan redak. Naš titl 2 prelazi sa 17,8 znakova u sekundi na 13,1 kada španjolski postane A las seis hay otro; cierran a medianoche. To su tri retka na zaslonu umjesto četiri i zadržava obje činjenice.
  3. Dodajte vrijeme samo ako postoji razmak. Provjerite početak sljedećeg titla prije nego što pomaknete vrijeme završetka. Titl 2 ima 0,2 sekunde viška, što nije vrijedno truda.
  4. Zatim ostavite ostalo na miru. Titl 9 je You knew? / Since March. u 1,2 sekunde. Krši ograničenja brzine i broja redaka, ali ostavili bismo ga: razmak od 0,2 sekunde nakon njega premalen je da pomogne, a gledatelj vjerojatno može na prvi pogled obuhvatiti dva kratka odgovora. Nije svaka oznaka greška.

Za dugačke pojedinačne retke poput titla 10, podijelite svaki jezik u dva retka samo ako titl ima vremena za to. U suprotnom skratite prijevod.

Ako kontrolirate prikaz, možete i olakšati razlikovanje jednog jezika. Pokrenite to-vtt da svakom jeziku dodijelite vlastitu klasu. Rezultirajuća datoteka prikazana je u Chromiumu s engleskim na 80 % veličine i svijetlosivom bojom. To jedva štedi prostor (21,1 % visine kadra umjesto 21,9 %), pa nije zamjena za skraćivanje retka. Nismo testirali pomaže li ljudima pri čitanju.

Četverorečni titl s engleskim recima manjim i sivljim od španjolskih redaka.

Ovo koristi WebVTT klase titlova i selektor ::cue(). Namijenjeno je preglednicima. Drugi reproduktori mogu zanemariti stilove ili VTT datoteku.

Korak 4: Odlučite koji jezik ide na vrh

O tome postoje neka istraživanja. U istraživanju praćenja pokreta očiju iz 2026. na 42 izvorna govornika španjolskog s engleskim kao drugim jezikom, gledatelji su provodili više vremena na gornjem retku bez obzira na to koji je jezik u njemu, a više vremena na retku koji se podudarao sa zvukom. Rezultati razumijevanja bili su viši kada je španjolski, njihov prvi jezik, bio na vrhu. Ranije istraživanje na 112 kineskih učenika engleskog pokazalo je da dvojezični titlovi pomažu razumijevanju jednako kao titlovi samo na njihovu prvom jeziku, a oboje je bolje od engleskih titlova ili bez titlova.

To su pojedinačna istraživanja na specifičnim skupinama gledatelja, pa ih uzmite kao polazište:

  • Praćenje filma ili predavanja zbog sadržaja: stavite na vrh jezik koji najbolje čitate.
  • Vježbanje jezika koji učite: stavite taj jezik na vrh i prihvatite da ćete možda razumjeti nešto manje. Istraživanje iz 2026. mjerilo je razumijevanje, a ne učenje, pa je ovo naša procjena.
  • Provjera prijevoda: redoslijed je malo važan, pa ga ostavite.

BookTranslatorova dvojezična datoteka uvijek stavlja original na vrh. Da biste ga zamijenili:

python3 check_bilingual_subs.py flip sample-source.srt sample-es-bilingual.srt -o translation-on-top.srt

Što se vraća pogrešno i kako to popraviti

Ovo je proizašlo iz pokretanja BookTranslatorova koda za titlove na našim testnim datotekama, a provjeravač označava prva dva.

  • Tekst koji ne treba prijevod pojavljuje se dvaput. 1984 i ♪ ♪ preskaču se jer nemaju riječi za prijevod, pa ih dvojezična datoteka ispisuje dvaput. Ručno izbrišite jedan redak.
  • &apos; može se pojaviti u tekstu. Od studenoga 2026. titl s oznakama za oblikovanje i apostrofom može se vratiti s uklonjenim apostrofom. Naš izvorni redak postao je <i>Don&apos;t answer that.</i> u dvojezičnoj datoteci, a u zasebnom VTT testu francuski prijevod postao je <i>Je n&apos;attendrai pas.</i> i u prevedenoj datoteci. Chromium ga je dekodirao u VTT-u i prikazao normalan apostrof. No kada smo SRT pretvorili pomoću FFmpega, &apos; je ostao u izlaznom tekstu, pa pretpostavite da će ga neki reproduktori prikazati doslovno. Zamijenite &apos; s ' prije upotrebe datoteke. Prijavili smo to našim inženjerima.
  • VTT postavke titlova uklanjaju se. Postavke položaja poput line:0 align:start position:10% i blokovi NOTE nestali su iz našeg VTT testnog izlaza, a oznake govornika pojavile su se na oba retka. Ako se vaš VTT oslanja na postavljanje položaja, dodajte ga ponovno nakon prijevoda.
  • Tekst s pisanjem zdesna nalijevo označava se redak po redak. Arapski reci vraćeni su obavijeni Unicode oznakama smjera. Pogledali smo samo jedan titl, u VTT kopiji datoteke u Chromiumu, i prikazao se zdesna nalijevo. Reci koji miješaju arapski s brojevima, poput našeg titla 10, teži su slučaj i njih nismo pregledali, stoga testirajte u svom stvarnom playeru. SRT nema drugog načina za postavljanje smjera. Naš vodič za pisanje zdesna nalijevo pokriva šira pitanja za knjige.

Ako je vaš izvor ASS ili SSA, BookTranslatorov dvojezični izlaz dodaje prevedeni redak kao drugi događaj s istim stilom i vremenskim rasporedom, što je drugačija struktura. Naš vodič za ASS titlove objašnjava kako su te datoteke sastavljene. Ako znakovi s dijakriticima izgledaju neispravno na bilo kojem jeziku, problem je obično kodiranje datoteke, što pokriva naš vodič za kodiranje titlova.

Prije nego podijelite datoteku

  1. Pokrenite provjeru i prođite kroz svaki označeni titl.
  2. Pronađite &apos;, &amp; i &quot; te ih zamijenite.
  3. Izbrišite duplicirane retke za zvučne efekte, brojeve i glazbu.
  4. Pogledajte najprometnije minute u playeru koji će vaši gledatelji koristiti, na veličini zaslona koju će koristiti.
  5. Provjerite da donji reci ne prekrivaju tekst na slici u videu.
  6. Pročitajte prijevod u kontekstu. Naš AI tijek rada za titlove pokriva kako ga pregledati.

Imate li spreman SRT ili VTT? Prenesite ga u prevoditelj titlova i pogledajte cijenu prije plaćanja. Kada završi, preuzmite dvojezičnu datoteku zajedno s prevedenom. Zatim na njoj pokrenite provjeru, jer broj redaka u stvarnom poslu ovisi o tome kako model dijeli svaki prevedeni titl.

Povezane objave