Вилучити переноси рядків
Або вставте текст субтитрів
Параметри
Одне поле, п’ять виборів, і кожен вибір має власну сторінку. «Переформатувати» перерозподіляє кожну репліку до заданої кількості колонок, що може скоротити задовгий рядок так само легко, як підтягнути короткий. «Розділити довгі рядки» розбиває лише рядки, довші за кількість, і лишає решту точно як були. «Вирівняти» зберігає наявну кількість рядків кожної репліки й переставляє слова між ними, доки найдовший рядок не стане якомога коротшим. «З’єднати» ставить кожну репліку в один рядок. «Обмежити» не чіпає жодної репліки, що вже в межах кількості рядків. Ця сторінка заповнює поле вибором, який називає її заголовок, і не пропонує інших.
У якій частоті кадрів пораховано таймінги. На сторінках форматів це те, що потрібно MicroDVD, бо він зберігає час як номери кадрів. На сторінках частоти кадрів це частота, за якою файл синхронізували — версія, для якої робили субтитри, — а друге поле сторінки приймає частоту відео, з яким ви будете їх використовувати. 23,976, 24, 25, 29,97, 30, 50, 59,94 і 60 — найпоширеніші. Помилка зміщує весь таймлайн, а на сторінках частоти кадрів — на відношення, а не на фіксовану величину.
Ця сторінка ставить кожну репліку в один рядок. Там, де репліка мала два рядки чи три, текст з’єднується в один потік, і на місці кожного переносу стоїть одна пробілка, а репліка зберігає свій початок, кінець і номер. У файлі й далі та сама кількість субтитрів у тому самому порядку; зникли лише переноси всередині них.
Це сторінка для випадку, коли файл ламали під значно вужчий екран, ніж той, на якому ви його покажете, або коли переноси впали посеред фрази, а ви воліли б мати все речення одним потоком. Якщо ви хочете, щоб текст ламався деінде, а не з’єднувався, сторінка перенесення перекладає репліки до заданої кількості колонок, і ця сторінка — її протилежність: тут завжди рівно один рядок на репліку, якою б довгою вона не вийшла.
Рядок, що починається з тире, позначає зміну мовця, і кожна інша сторінка цієї групи ставиться до таких рядків як до стін, які не переходить. Ця сторінка їх переходить, і причина в її назві: перехід між двома мовцями — це перенос рядка, а прибирання переносів — те, про що ви попросили. Чого вона не робить — не мовчить про це. Прогін повідомляє, скільки мовних переходів з’єднав, тож файл, де по черзі говорили троє, не лишається з виглядом, ніби все сказала одна людина, без жодного слова про це у звіті.
Два дрібніші рішення варто знати. Коли текст з обох боків переносу китайський, японський або корейський, пробілка не вставляється, бо ці письменства пишуться без пробілів між словами, і пробілка там виглядала б дірою посеред речення. А порожній рядок — репліка, що містить порожній рядок між двома частинами тексту, — нічого не додає до з’єднання, тому не лишає по собі подвійної пробілки. Усе працює у вашому браузері, нічого не завантажується, і приймаються одинадцять форматів, чиї репліки можуть мати більше одного рядка: SRT, WebVTT, ASS, SSA, SBV, SAMI, LRC, MicroDVD, TTML, JSON і CSV.
Приклади
Репліка на два рядки й репліка на один
Вхід
1
00:00:01,000 --> 00:00:04,000
We could take the train
and be there by six
2
00:00:05,000 --> 00:00:08,000
A single line
Результат
1
00:00:01,000 --> 00:00:04,000
We could take the train and be there by six
2
00:00:05,000 --> 00:00:08,000
A single line
Перша репліка виходить одним рядком на 43 колонки з однією пробілкою на місці переносу, а друга вже була в одному рядку, тож робити з нею не було чого. Обидві зберігають номери й таймкоди, а порожній рядок між двома блоками належить компонуванню SRT, а не репліці, тому повертається як був. У часовій шкалі ніщо не зрушило: з’єднана репліка на екрані рівно той самий проміжок, що й раніше.
Троє мовців на трьох рядках
Вхід
1
00:00:01,000 --> 00:00:04,000
- Then we walk
- All the way home
Результат
1
00:00:01,000 --> 00:00:04,000
- Then we walk - All the way home
Два рядки з тире з’єднуються в один, разом із тире, тож позначки зміни мовців і далі стоять у тексті там, де були. Прогін повідомляє про один з’єднаний мовний перехід, і це чесний опис того, що сталося: файл більше не показує на екрані, що говорили двоє, і ніщо у виході цього не виявляє, крім самих тире. Це єдина сторінка групи, яка так робить, і робить лише тому, що її назва просить саме цього.
Порожній рядок і китайська репліка
Вхід
[Script Info]
Title: join
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello\N\Nworld
Dialogue: 0,0:00:06.00,0:00:09.00,Default,,0,0,0,,你好世界\N再见朋友
Результат
[Script Info]
Title: join
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello world
Dialogue: 0,0:00:06.00,0:00:09.00,Default,,0,0,0,,你好世界再见朋友
Перша репліка містить порожній рядок між двома словами — так ASS записує його, — і з’єднання дає Hello world з однією пробілкою, а не двома, бо порожній рядок не додав тексту, а його пробілка виглядала б подвійним проміжком. Друга репліка китайська, і дві її половини повертаються без нічого між ними: вставлена пробілка поклала б видиму діру посеред речення. Сам порожній рядок відкидається — це єдине, що ця сторінка прибирає, а не пересуває.
Часті запитання
Чим прибирання переносів відрізняється від перенесення субтитрів?
Прибирання з’єднує все, тому кожна репліка закінчується рівно одним рядком, якою б довгою вона не була. Перенесення працює до кількості колонок і дає стільки рядків, скільки потрібно тексту, щоб у неї вкластися, — цілком можливо, два чи три. Одна сторінка закінчується одним рядком на репліку, інша — рядками не ширшими за задане число. Якщо вам важлива ширина, переносьте; якщо саме один рядок, прибирайте.
Чому між двома китайськими рядками немає пробілки?
Бо китайська, японська й корейська пишуться без пробілів між словами, і пробілка, вставлена між двома половинами речення, була б видна читачеві як діра. Сторінка дивиться на символ з кожного боку переносу: коли обидва з цих письменств, вона з’єднує їх безпосередньо, інакше ставить одну пробілку. Змішаний текст, як-от китайське ім’я перед англійським рядком, усе одно отримує пробілку, бо там їй місце.
Що стається з тире, коли з’єднані рядки позначали зміну мовця?
Вони лишаються в тексті, а з’єднання зараховується й повідомляється. Рядок, що починається з тире, означає, що говорить інша людина, тому з’єднання його з рядком вище стирає екранний сигнал про двох мовців — тире лишаються, але вже не на початку рядка. Прогін повідомляє, скільки мовних переходів з’єднано, щоб це було тим, про що вам сказали, а не тим, що ви маєте самі помітити.
Чи змінює прибирання переносів кількість субтитрів у файлі?
Ні. Сторінка працює всередині кожної репліки й ніколи не з’єднує дві репліки, тому репліка, що мала два рядки, і репліка, що мала один, виходять по одній репліці кожна, зі своїми таймкодами й номерами. З’єднання двох реплік в одну — інша операція з іншим результатом на часовій шкалі, і вона живе на сторінці об’єднання реплік, а не тут.
Куди подівся порожній рядок усередині моєї репліки?
Його відкинуто, бо він не мав тексту, який додати, а збереження його пробілки лишило б з’єднаний рядок із подвійним проміжком посередині. Порожній рядок усередині репліки зазвичай залишок редагування, а не те, що глядач має бачити, тому від його прибирання нічого не втрачається. Якщо репліка була порожня від краю до краю, без жодного тексту, вона повертається порожньою реплікою, а не видаляється.
У яких форматах можна прибрати переноси рядків?
В одинадцятьох, чиї репліки можуть мати більше одного рядка: SRT, WebVTT, ASS, SSA, SBV, SAMI, LRC, MicroDVD, TTML, JSON і CSV. Звичайного тексту серед них немає, і це якраз не обмеження: у текстовому файлі один рядок — це вже одна репліка, тому з’єднувати нічого й прогін повернув би файл незмінним. Оформлення, що перетинає перенос, лишається на з’єднаному рядку, а не відкидається, тоді як караоке-таймінг, що перетинає його, відкидається й зараховується.