Przejdź do treści
SubtitleMatrix

Scal napisy bez ruszania osi czasu

Tekst i stylScalanie dwóch ścieżek w jeden plik dwujęzyczny
Albo wklej tekst napisów
Albo wklej tekst drugiego pliku

Opcje

Dwa napisy rzadko zgadzają się blok po bloku, a to wybór, który decyduje, co się dzieje wszędzie tam, gdzie się nie zgadzają. Gdziekolwiek blok z jednego pliku nakłada się na blok z drugiego, oba są traktowane jako ten sam moment i prowadzone razem, a nakładanie decyduje, jak długo wynik zostaje na ekranie. Reszta należy do tego wyboru. Opcja Zachowaj oba pliki dodaje każdy niedopasowany blok jako osobny wiersz, więc nie brakuje ani jednego słowa z żadnego wejścia — a czasy drugiego pliku nie są zachowane, bo niedopasowany blok i tak musi gdzieś leżeć na osi czasu pierwszego pliku. Opcja Zachowaj oś czasu pierwszego pliku robi odwrotnie: bloki pierwszego pliku zachowują dokładnie te początki i końce, z którymi przyszły, nic nowego nie jest wstawiane, a każdy blok drugiego pliku, który do niczego nie pasuje, jest usuwany. Raport po uruchomieniu zawsze podaje, ile to było bloków.

Gdy dwa bloki są traktowane jako ten sam moment, ich tekst musi dzielić ekran. Układ w dwóch wierszach to sposób, w jaki zwykle nadaje się napisy dwujęzyczne i jak większość odtwarzaczy oczekuje je zobaczyć: wiersz pierwszego pliku leży nad wierszem drugiego, a blok staje się dwuwierszowy. Wymaga to, by blok dopuszczał podział wiersza, dlatego każdy format zapisujący blok jako jeden wiersz jest z tej strony całkowicie wyłączony, zamiast być tu po cichu spłaszczany. Układ w jednym wierszu stawia oba języki w jednym wierszu, rozdzielone tym, co wpiszesz w polu niżej, co jest tym, czego chcesz, gdy czytelnicy mają najpierw widzieć tłumaczenie, a oryginał jako dodatek — napisy tłumacza, a nie dwujęzyczne napisy telewizyjne.

W jakiej liczbie klatek na sekundę liczone są czasy. Na stronach formatów tego wymaga MicroDVD, bo zapisuje czasy jako numery klatek. Na stronach poświęconych liczbie klatek jest to stawka, według której zgrany był plik — wersja, dla której powstały napisy — a drugie pole na stronie przyjmuje liczbę klatek wideo, z którym napisy będą używane. Najczęstsze wartości to 23,976, 24, 25, 29,97, 30, 50, 59,94 i 60. Pomyłka przesuwa całą oś czasu, a na stronach poświęconych liczbie klatek przesuwa ją o współczynnik, a nie o stałą wartość.

Ta strona bierze dwa pliki napisów i daje jeden, z jedną obietnicą nadrzędną: każdy blok z pierwszego pliku wychodzi z dokładnie tym początkiem i końcem, z jakimi wszedł. Żaden blok nie przesuwa się o klatkę, nic nie jest wstawiane między bloki, a kolejność osi czasu pierwszego pliku jest kolejnością wyniku. Włóż do pierwszego pola plik, którego czasom ufasz, a do drugiego tłumaczenie.

Ta obietnica zasługuje na własną stronę, bo oś czasu jest zwykle tą częścią, która została już zatwierdzona. Plik jest synchronizowany, sprawdzany z obrazem, odbierany i zamknięty; tłumaczenie przychodzi tygodnie później od innej osoby, zsynchronizowane na własne ucho. Scalanie przez pozwolenie obu stronom się ruszać znaczy, że zamknięty plik przestał być zamknięty – każdy blok trzeba ponownie sprawdzić z obrazem, a dla dostawy emisyjnej to cały koszt zadania. Zachowanie osi czasu pierwszego pliku znaczy, że plik, który już przeszedł, nadal jest plikiem, który masz, z drugim językiem pod każdym wierszem.

Cena jest podana przed uruchomieniem i policzona po nim: blok z drugiego pliku, który na nic się nie nakłada w pierwszym, nie ma gdzie usiąść na osi czasu, której nie wolno ruszać, więc jest odrzucany, a liczba odrzuconych trafia do raportu. W praktyce to garść bloków na program – uwaga tłumacza dla klienta, ujęty w nawias blok dźwiękowy do sceny, która została wycięta, kwestia umieszczona sekundę po ujęciu, do którego należała. Oddajesz niewielką ilość treści tłumaczenia w zamian za gwarancję, że nic już sprawdzonego się nie przesunęło. Jeśli to zła wymiana dla twojego zadania, pierwsza opcja na tej stronie przełącza na zachowanie obu plików, a strona, która to domyślnie robi, jest podlinkowana wyżej.

Parowanie jest takie samo na każdej stronie tej rodziny: blok z jednego pliku paruje się z blokiem z drugiego, gdy ich zakresy czasu się nakładają, niezależnie od numerów. Dwa pliki o tej samej liczbie bloków dałoby się dopasować wiersz po wierszu, ale liczba bloków właśnie różni się między oryginałem a tłumaczeniem, bo tłumacz rozbije jeden długi wiersz na dwa krótkie albo scali dwa pytania w jedno. Druga opcja decyduje, jak oba teksty dzielą wiersz: dwa wiersze albo jeden z wpisanym separatorem. Oba pola przyjmują każdy format czytany przez ten serwis – SRT, WebVTT, ASS, SSA, SBV, SAMI, TTML, JSON i CSV – i mogą mieć różne formaty, bo każde czytamy po zawartości; MicroDVD czytamy z jedną liczbą klatek na sekundę dla obu, a LRC i zwykły tekst odpadają, bo żaden nie umie wyrazić końca bloku. Oba pola przyjmują więcej niż jeden plik, a pierwszy plik z jednego pola paruje się z pierwszym z drugiego, więc sezon przechodzi jednym uruchomieniem. Żaden plik nie jest wysyłany: są czytane, scalane i zapisywane ponownie w tej karcie przeglądarki.

Przykłady

Chiński blok, którego nie ma plik angielski

Wejście

First file:
1
00:00:01,000 --> 00:00:03,000
Good morning.

2
00:00:05,000 --> 00:00:07,000
How are you?


Second file:
1
00:00:01,000 --> 00:00:03,000
早上好。

2
00:00:05,000 --> 00:00:07,000
你好吗?

3
00:00:20,000 --> 00:00:22,000
这句在第一份里没有对应。

Wynik

1
00:00:01,000 --> 00:00:03,000
Good morning.
早上好。

2
00:00:05,000 --> 00:00:07,000
How are you?
你好吗?

Dwa sparowane bloki wychodzą z numerami i czasami pliku angielskiego i to jest cały sens tej strony. Trzeci chiński blok, dwadzieścia sekund dalej, nie nakłada się na nic w angielskim pliku i zostaje odrzucony, a nie umieszczony we własnym czasie; raport po uruchomieniu mówi, że utracono treść jednego bloku, więc ta decyzja nie jest cicha.

Tłumacz, który rozbił jeden wiersz na dwa

Wejście

First file:
1
00:00:01,000 --> 00:00:06,000
We should leave before the storm gets worse.


Second file:
1
00:00:01,000 --> 00:00:02,500
我们该走了。

2
00:00:03,000 --> 00:00:05,000
趁暴风雨还没更大。

Wynik

1
00:00:01,000 --> 00:00:06,000
We should leave before the storm gets worse.
我们该走了。

Jeden angielski blok, dwa chińskie – zwykła postać oryginału przeciw tłumaczeniu. Parowanie jest jeden do jednego, więc paruje się tylko pierwsza połowa, a angielski blok zachowuje pełne pięć sekund na ekranie, a nie 1,5 sekundy, na które pisano tłumaczenie. Druga połowa nie nakłada się na nic i zostaje odrzucona. Oba fakty są w raporcie: czas, który został unieważniony, i blok, który zniknął.

Dwa pliki, które nie mają ze sobą nic wspólnego

Wejście

First file:
1
00:00:01,000 --> 00:00:03,000
Good morning.

2
00:00:05,000 --> 00:00:07,000
How are you?


Second file:
1
00:01:00,000 --> 00:01:02,000
一分钟处的旁白。

2
00:02:00,000 --> 00:02:02,000
两分钟处的旁白。

Wynik

1
00:00:01,000 --> 00:00:03,000
Good morning.

2
00:00:05,000 --> 00:00:07,000
How are you?

Arkusz napisów do pierwszej minuty klipu trwającego osiem sekund: oba chińskie bloki wypadają poza zakres i oba zostają odrzucone, więc plik angielski wychodzi bajt w bajt. To nie to samo co brak pracy i strona tego nie udaje – raport mówi, że utracono treść dwóch bloków. Pusty drugi plik to przypadek, który naprawdę nic nie robi, i ten jest oznaczony jako brak zmian.

Częste pytania

Co dzieje się z blokiem w drugim pliku, który na nic nie nachodzi w pierwszym?

Zostaje odrzucony, a liczba trafia do raportu, który dostajesz po uruchomieniu. Nie ma trzeciej opcji, w której zachowuje własny czas, bo zachowanie własnego czasu oznacza przesunięcie osi czasu pierwszego pliku, żeby zrobić mu miejsce – a temu właśnie ta strona ma zapobiegać. Wszystko poniżej sekundy lub dwóch odchyłki zwykle jeszcze się paruje, bo parowanie potrzebuje tylko nakładania się zakresów: chiński blok od 0,6 s do 3,2 s nakłada się na angielski od 1,0 s do 3,0 s i wychodzi z angielskimi czasami.

Jak zobaczyć, co zostało wyrzucone, zanim oddam plik?

Raport leży pod wynikiem i listuje, co zginęło, z liczbą dla każdego rodzaju, więc kontrola polega na przeczytaniu go przed pobraniem, a nie po. Typowe scalanie dwujęzyczne na tej stronie nie traci nic – tak jest, gdy różnica to kilka milisekund i żaden blok nie jest nieparowany – a gdy coś traci, ta jedna linia jest tą, którą warto przeczytać. Jeśli liczba jest większa, niż przewidywałeś, pierwsza opcja na tej stronie przełącza na zachowanie obu plików, które niczego nie odrzuca, tylko pozwala sparowanym blokom rozszerzyć się na obie strony.

Dlaczego ktoś miałby zachować oba pliki zamiast osi czasu pierwszego?

Bo czas drugiego pliku bywa lepszy: tłumaczenie fanowskie starannie zsynchronizowane ze sceną albo dokument, w którym bloki tłumacza siedzą tam, gdzie naprawdę jest mowa. Wtedy chcesz obietnicy, że żaden tekst nie zginie, a ceną jest to, że wynik nie jest niczyją dokładną osią czasu – sparowane bloki biegną od wcześniejszego początku do późniejszego końca, co potrafi rozszerzyć blok o kilkaset milisekund i wepchnąć go pod następny. Oba warianty są o jedno pole na tej stronie; różnica polega na tym, którą gwarancję wolisz mieć na piśmie.

Czy wynik zachowuje numery bloków z mojego pierwszego pliku?

Zachowuje, ilekroć każdy blok wyniku pochodzi z pierwszego pliku – co na tej stronie znaczy, że w drugim pliku nie było wcale bloków bez pary. Gdy tylko jeden blok zostanie odrzucony, wszystkie pozostałe nadal pochodzą z pierwszego pliku i numeracja nadal jest jego własna, bo odrzucanie zwęża plik, a nie dodaje do niego. Strona zachowująca oba pliki to ta, która numeruje od nowa: blok, który nie pochodzi z pierwszego pliku, nie ma z niego numeru do zachowania, więc cały plik jest numerowany od 1.

Tłumaczenie wychodzi poza koniec mojego ostatniego bloku. Czy to problem?

To ten sam przypadek co każdy inny blok bez pary i w praktyce najczęstszy: wywiad kończący się śmiechem, napis z napisów końcowych, fraza, którą tłumacz umieścił po cięciu. Ten blok zostaje odrzucony. Jeśli to ważne, poprawka należy do etapu wcześniej – wydłuż ostatni angielski blok, żeby zakresy się nakładały, co zachowuje gwarancję, bo blok, który się nakłada, jest parowany, a nowy koniec pierwszego pliku i tak jest końcem zachowanym.

Czy oba pliki muszą być w tym samym formacie napisów?

Nie. Każde pole jest czytane po zawartości, więc plik WebVTT z webinarium przeciw SRT od tłumacza działa, a wynik jest zapisywany w formacie pierwszego pliku – dlatego pola są opisane, a nie wymienne. Na stylowanie trzeba uważać: jeśli pierwszy plik to ASS ze stylowanymi blokami, scalony plik jest ASS, a tekst drugiego pliku dołącza do niego, niosąc stylowanie pierwszego pliku, nie własne, a liczba dotkniętych bloków jest w raporcie.

Powiązane narzędzia