Оставить один язык в двуязычных субтитрах
Или вставьте текст субтитров
Параметры
Двуязычный файл обычно содержит две письменности — латиницу над китайским, японский над корейским, — и именно это читает значение по умолчанию: буквы каждой строки решают, в какой файл она попадёт, а язык, встретившийся первым, становится первым файлом. Это догадка о письменности, а не о смысле, поэтому она никогда не путает стороны, увидев первую строку. Чего она не может — различить два языка с общей азбукой. Английский файл против испанского или русский против украинского читаются как одна письменность — как и обычный одноязычный файл, длинные строки которого перенесены на вторую строку; это частый случай и причина, по которой чтение намеренно осторожно. Когда каждая строка каждой реплики читается как одна и та же письменность, ничего не выходит: файл проходит без изменений, а запуск сообщает, что ничего не изменилось. Это сигнал выбрать позицию строки. Выбор позиции делает правило всеобщим: первая строка каждой реплики уходит в первый файл, остальные — во второй. Это подходит файлу, где два языка всегда на одних и тех же строках, и это единственный способ разделить пару с общей азбукой, — но на файле с переменным порядком он разделит не те строки и, в отличие от значения по умолчанию, ничего об этом не скажет.
Эта страница оставляет один язык и исключает другой, и это выбор, какой именно. «Первый язык» — тот, что встречается в файле первым: первая строка первой реплики, где вообще есть буквы, поэтому в файле с оригиналом над переводом это оригинал. «Другой язык» — всё остальное. Что бы вы ни выбрали, другой язык из результата исчезает: его строк нет в файле вовсе, и реплика, содержавшая только его, тоже отсутствует. Что запуск сообщает после, — это то, что осталось: сколько реплик вышло и список реплик с изменённым текстом. В ваш файл на диске ничего не пишется, поэтому оригинал на месте, если вы выбрали не ту сторону. Если нужны оба языка, каждый в своём файле для отдельной поставки, вам нужна страница, делящая файл надвое: она сохраняет всё и отдаёт zip с обоими.
В какой частоте кадров считается тайминг. На страницах форматов это то, что нужно MicroDVD: он хранит время в номерах кадров. На страницах частоты кадров это частота, по которой файл был рассчитан, — версия, для которой делались субтитры, — а второе поле страницы принимает частоту видео, с которым вы будете их использовать. Обычные значения: 23,976, 24, 25, 29,97, 30, 50, 59,94 и 60. Ошибка сдвигает весь таймлайн, а на страницах частоты кадров — на коэффициент, а не на фиксированную величину.
Эта страница берёт один файл, в котором записаны два языка, и возвращает файл с одним языком на выбор: это меньшая половина пары, потому что соседняя страница делит такой файл на два и отдаёт оба, а эта просто не пропускает один из них дальше, и поле для файла здесь одно. Какой язык считается первым, решает письменность строки, а «первый» означает тот язык, который встречается в файле раньше: на релизе, где оригинал стоит над переводом, это оригинал, а строки без букв — музыка, пометки в скобках — уходят в первый язык.
Тайминг не меняется: у каждой оставшейся реплики те же начало, конец и номер, что и в исходнике, поэтому результат стоит в точности на тех же моментах. Если попросить язык, которого в файле нет, результат будет пустым — ноль реплик, и отчёт скажет именно это, а не ошибку; для двух языков с одной письменностью, например английского над испанским, единственный выход — переключить правило на position, то есть делить по номеру строки. Принимаются десять форматов, включая MicroDVD с общей частотой кадров; LRC и обычный текст — нет, потому что там нет времени окончания реплики; ничего не отправляется на сервер.
Примеры
Оставить перевод, убрать оригинал
Вход
1
00:00:01,000 --> 00:00:03,000
Good morning.
早上好。
2
00:00:05,000 --> 00:00:07,000
How are you?
你好吗?
Выход
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.
Buenos días.
2
00:00:05,000 --> 00:00:07,000
How are you?
¿Cómo estás?
Выход
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?
По буквам английский и испанский — одна письменность, поэтому различить их нечем, и по умолчанию страница оставила бы файл как есть. Переключите правило на position и попросите второй язык: первая строка каждой реплики уходит в одну сторону, остальные в другую, и испанский выходит отдельно. Это работает потому, что в этом файле каждый язык стоит на своей строке в одном и том же порядке сверху донизу.
Запрос языка, которого в файле нет
Вход
1
00:00:01,000 --> 00:00:03,000
Good morning, everyone.
Welcome back to the show.
2
00:00:05,000 --> 00:00:07,000
Today we are talking about
subtitle formats.
Выход
(no cues)
Один язык, длинные строки которого перенесены на вторую строку. Второго языка здесь нет, поэтому в результате ноль реплик, и файл помечается как файл без реплик. Это не неудачный запуск: страница не может знать, однозначный у вас файл или выбрана не та сторона. Если в файле действительно два языка с одним алфавитом, разделяет их только правило position.
Частые вопросы
Как оставить один язык и убрать второй из двуязычных субтитров?
Положите файл в единственное поле, выберите дорожку и запустите: по умолчанию стоит первая, то есть язык, который встречается в файле раньше, а второе значение оставляет другой. Первым считается язык первой строки, в которой есть буквы, — на файле с оригиналом над переводом это оригинал. На выходе один файл с выбранным языком на исходных таймингах, который можно отдать платформе или вжечь в видео без предварительной чистки.
Я попросил второй язык и получил файл без реплик.
Это значит, что второго языка в файле не было. Все строки читаются как одна письменность, поэтому второй дорожки нет, и результат пуст, а не равен исходному файлу: вернуть исходник означало бы отдать вам язык, который вы только что просили убрать. Две формы дают такой исход — однозначный файл с переносами длинных строк на вторую строку, а это самый распространённый вид субтитров, и файл, где два языка используют один алфавит, например английский над испанским. Во втором случае переключите правило на position и запустите снова.
Какой язык эта страница считает первым?
Тот, который встречается в файле раньше при чтении сверху: решает первая строка в первой реплике, где вообще есть буквы, и уже по ней выстраивается весь файл. На релизе, где оригинал стоит над переводом, первый язык — оригинал. Страница не пытается определить, какой язык исходный, а какой перевод: буквы говорят, на каком языке написана строка, но не говорят, что было написано первым.
Считается ли удалённый язык потерей в отчёте?
Нет, и это сделано намеренно. Удалить его — и есть задача страницы, поэтому запись об этом утопила бы единственное, ради чего отчёт стоит читать: число реплик, которые пришлось делить по номеру строки, потому что в них не было ни одной буквы. Такое деление — догадка, и она так и считается. Реплика, в которой был только удалённый язык, не оставляет в результате следа, кроме отсутствующей строки в списке изменённых реплик.
Сохраняются ли время и номера реплик при удалении языка?
Да, и то и другое. Каждая оставшаяся реплика сохраняет начало, конец и номер, который дал ей исходный файл, поэтому выбранный язык стоит в точности на прежних моментах, а номера по-прежнему совпадают с двуязычным файлом: реплика 2 в результате — тот же момент, что реплика 2 в исходнике. Реплика, в которой был только удалённый язык, не появляется вовсе, и следующие номера не сжимаются, чтобы это скрыть.
Какие форматы принимаются и покидает ли файл мой компьютер?
SRT, WebVTT, ASS, SSA, SBV, SAMI, TTML, JSON и CSV, а также MicroDVD, где номера кадров читаются и записываются с заданной вами частотой кадров: двуязычная реплика там — одна строка с двумя языками через вертикальную черту. LRC и обычный текст не принимаются: в LRC нет времени окончания, а в тексте нет таймингов, поэтому строке не к чему принадлежать. Ничего не отправляется: файл читается, фильтруется и записывается обратно в этой вкладке браузера.