Розділити двомовні субтитри на два файли
Або вставте текст субтитрів
Параметри
Двомовний файл зазвичай містить дві системи письма — латиницю над китайською, японську над корейською — і саме це читає типовий режим: літери кожного рядка визначають, у який файл він належить, а мова, що з’являється першою у файлі, стає першим файлом. Це не здогад про значення, лише про письмо, тож він ніколи не переплутає боки, щойно побачив перший рядок. Чого він не вміє — розрізняти дві мови зі спільною абеткою. Англійський файл проти іспанського або російський проти українського читається як одна система письма — як і звичайний одномовний файл, чиї довгі рядки перенесено на другий рядок, що є частим випадком і причиною цієї навмисної обережності. Коли кожен рядок кожної репліки читається як та сама система письма, нічого не виходить: файл проходить без змін, а запуск повідомляє, що нічого не змінено. Це сигнал вибрати позицію рядка. Вибір позиції робить це правилом усюди: перший рядок кожної репліки йде в перший файл, решта — у другий. Це підходить файлу, де дві мови завжди на тих самих рядках, і це єдиний спосіб розділити пару зі спільною абеткою — але на файлі, де порядок змінюється, він поділить не ті рядки, і, на відміну від типового режиму, нічого про це не скаже.
У якій частоті кадрів пораховано таймінги. На сторінках форматів це те, що потрібно MicroDVD, бо він зберігає час як номери кадрів. На сторінках частоти кадрів це частота, за якою файл синхронізували — версія, для якої робили субтитри, — а друге поле сторінки приймає частоту відео, з яким ви будете їх використовувати. 23,976, 24, 25, 29,97, 30, 50, 59,94 і 60 — найпоширеніші. Помилка зміщує весь таймлайн, а на сторінках частоти кадрів — на відношення, а не на фіксовану величину.
Ця сторінка бере один файл субтитрів із двома мовами й повертає два файли, по одній мові в кожному. Саме так виходять більшість двомовних релізів: оригінал у першому рядку кожної репліки, переклад у другому. Розділити його потрібно перед тим, як віддати дві мови різним людям — перекладачеві, що має правити свій текст, не чіпаючи вашого; мовницькому цеху, що здає кожну мову окремою доріжкою; платформі, що бере один файл субтитрів на мову й не приймає файлу з двома.
Два файли виходять із прогону разом, запаковані в zip. Це не прикраса: браузер дозволяє лише одне завантаження з одного натискання, тому дві окремі кнопки збереження означали б, що другий файл тихо ніколи не прийде. Обидва рівноправні — жоден не є оригіналом — і несуть ту саму назву, що ваш файл, із мовою, доданою перед розширенням, тож film.srt повертається як film.srt і film.cjk.srt усередині film.zip. Робіть по файлу за раз або киньте цілий сезон, і кожен файл розділиться окремо.
Який рядок належить якій мові, вирішується за письменством, яким рядок написано, а не за його позицією в репліці. Англійський рядок над китайським, японський над корейським, грецький над арабським — самі літери кажуть, до якого файлу йде кожен рядок, а мова, що з’являється у файлі першою, стає першим файлом. Порядок рядків не використовується, бо перекладачі його не дотримують: файл, де переклад іноді зверху, а іноді знизу, правило, що рахує рядки, порізало б не там, а письменство працює зверху донизу.
Чого письменство не може — розрізнити дві мови, що ділять абетку. Англійська над іспанською, російська над українською — на рівні літер це одне письменство, і неминуче так само звичайний одномовний файл, чиї довгі рядки перенесено на другий рядок. Інструмент, що тут угадував би, взяв би найпоширеніший файл субтитрів у світі й повернув два файли, кожен із половиною речення. Тому сторінка не вгадує: коли кожен рядок файлу читається як те саме письменство, нічого не виходить, а прогін повідомляється як такий, що нічого не змінив, — це проста правда й сигнал перемкнути варіант на позицію рядка: перший рядок кожної репліки до першого файлу, решта до другого. Це єдине правило, здатне розділити пару з однією абеткою, і сторінка каже про це замість тихо ділити ваш файл хибно.
Приймаються десять форматів: SRT, WebVTT, ASS, SSA, SBV, SAMI, TTML, JSON і CSV, а також MicroDVD, чиї номери кадрів читаються й записуються з заданою вами частотою кадрів. LRC виключено, бо він не зберігає кінця, тож немає репліки для поділу, а звичайний текст — бо в нього немає таймкодів узагалі. Обидва файли зберігають часи, з якими прийшли, і номер, який кожна репліка мала в джерелі, — ось чому перший файл може йти 1, 3, 4, тоді як другий іде 1, 2, 3, 4. Відсутній номер не помилка: це спосіб першого файлу сказати, що репліка належить іншій мові. Нічого не завантажується, ніщо не реєструється, і поділ відбувається у цій вкладці браузера.
Приклади
Англійська над китайською, поділ на два файли
Вхід
1
00:00:01,000 --> 00:00:03,000
Good morning.
早上好。
2
00:00:05,000 --> 00:00:07,000
How are you?
你好吗?
Результат
First file (film.srt):
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 (film.cjk.srt):
1
00:00:01,000 --> 00:00:03,000
早上好。
2
00:00:05,000 --> 00:00:07,000
你好吗?
Звичайний випадок. Кожен рядок читається окремо, тому не важливо, що китайський рядок у кожній репліці другий, — вирішують літери. Обидва файли зберігають оригінальні часи й оригінальні номери реплік, і саме це робить безпечним покласти два файли поруч потім і звірити один з одним.
Репліка, що існує лише в одній із мов
Вхід
1
00:00:01,000 --> 00:00:03,000
Good morning.
早上好。
2
00:00:05,000 --> 00:00:07,000
(敲门声)
3
00:00:09,000 --> 00:00:11,000
See you soon.
再见。
Результат
First file (film.srt):
1
00:00:01,000 --> 00:00:03,000
Good morning.
3
00:00:09,000 --> 00:00:11,000
See you soon.
Second file (film.cjk.srt):
1
00:00:01,000 --> 00:00:03,000
早上好。
2
00:00:05,000 --> 00:00:07,000
(敲门声)
3
00:00:09,000 --> 00:00:11,000
再见。
Середня репліка — звуковий ефект, записаний лише в перекладі, тому ділити в ній нічого: уся репліка переходить до другого файлу, а перший перескакує з 1 на 3. Ця прогалина навмисна. Це єдина видима ознака в першому файлі, що репліка належить іншій мові, і вона зникає, якщо файл перенумерувати.
Англійська та іспанська, які типове налаштування не розрізняє
Вхід
1
00:00:01,000 --> 00:00:03,000
Good morning.
Buenos días.
2
00:00:05,000 --> 00:00:07,000
How are you?
¿Cómo estás?
Результат
With the split set to line position (film.srt):
1
00:00:01,000 --> 00:00:03,000
Good morning.
2
00:00:05,000 --> 00:00:07,000
How are you?
With the split set to line position (film.latin.srt):
1
00:00:01,000 --> 00:00:03,000
Buenos días.
2
00:00:05,000 --> 00:00:07,000
¿Cómo estás?
Дві мови, одна абетка, тому жодне правило на основі літер їх не розділить — саме тому прогін нічого не робить, доки поділ не змінено на позицію рядка. Це працює тут, бо обидві мови завжди на власному рядку в тому самому порядку. Якщо ваш файл мішає порядок від репліки до репліки, позиція рядка поріже не ті рядки й, на відміну від типового налаштування, не скаже вам про це потім.
Часті запитання
Як сторінка визначає, який рядок якою мовою написано?
За письменством кожного рядка, читаючи літера за літерою: латинка, китайська, японська кана, корейський хангиль, кирилиця, арабська, гебрейська, грецька й деванагарі розрізняються, а китайська та японська рахуються однією стороною, бо японський файл мішає обидві. Мова, що з’являється у вашому файлі першою, стає першим із двох файлів, тому файл англійська-над-китайською повертається як англійська плюс китайська. Цифри, пунктуація, примітки й нотні знаки не рахуються жодною мовою: вони лишаються з першим файлом, коли стоять усередині репліки з обома мовами, і ніколи не спричиняють поділу репліки.
Я розділив файл англійською та іспанською й отримав той самий файл. Чому?
Бо на рівні літер ці дві мови — одне письменство, і так само будь-який одномовний файл, чиї довгі рядки перенесено на другий рядок. Інструмент, що вгадував би, взяв би найпоширеніший файл субтитрів і повернув два файли, кожен із половиною речення, тому ця сторінка відмовляється вгадувати й повідомляє, що нічого не змінилося. Поставте поділ на позицію рядка й запустіть знову: перший рядок кожної репліки йде до першого файлу, решта до другого. Це єдине правило, що розділяє мови з однією абеткою, і йому потрібно, щоб ваш файл тримав обидві мови на тих самих рядках по всій довжині.
Я отримую один файл з обома мовами чи два файли?
Два файли, запаковані разом у zip, названий за вашим: film.srt повертається як film.srt і film.cjk.srt усередині film.zip, із мовою, позначеною перед розширенням. Дві кнопки збереження не працювали б, бо браузер дозволяє одне завантаження на натискання, і другий файл тихо ніколи не прийшов би. Якщо ви воліли б мати обидві мови в одному файлі — оригінал над перекладом, — це сторінка об’єднання, яка робить протилежне до цієї.
Котрий із двох файлів вважається оригіналом?
Жоден. Сторінка не має способу знати, яка мова джерельна, а яка переклад, тому й не вдає: файл, що містить мову, яка з’являється у вашому вході першою, стає першим файлом, і обидва рівні в усьому іншому — у zip, у списку результатів і в назвах, що різняться лише позначкою мови. Якщо вам потрібен саме оригінал, подивіться, який файл повернувся з мовою, яку ви чекаєте в першому рядку першої репліки.
Чи змінює поділ таймінг або щось відкидає?
Ні. Обидва файли зберігають початки, кінці й номери реплік, які мав джерельний файл, тому репліка в першому файлі стоїть точно в тому моменті, що й раніше. Єдине, що варто прочитати, — звіт після прогону: у звичайному випадку він порожній, а в іншому називає кількість реплік, які довелося поділити за позицією рядка, бо їхні рядки не несли літер узагалі, — музичні репліки й звуки в дужках. Ці репліки зберігають перший рядок у першому файлі, а решту в другому, тож жоден файл не втрачає звук, але те, де впав розріз, — здогад, і звіт це каже.
Які формати можна так розділити й чи завантажуються мої файли?
SRT, WebVTT, ASS, SSA, SBV, SAMI, TTML, JSON і CSV, а також MicroDVD, чиї номери кадрів читаються й записуються із заданою вами частотою кадрів: двомовний файл там — один рядок із двома мовами, розділеними вертикальною рискою. LRC і звичайний текст не приймаються, бо LRC не зберігає кінця, а текст не має таймкодів, тож жоден не має репліки для поділу. Нічого не завантажується: ваш файл читається, ділиться й записується назад у цій вкладці, і це важливо для тих, чий матеріал не можна виносити з машини.