Перевести субтитри в реченнєвий регістр
Або вставте текст субтитрів
Параметри
За одним полем стоять п’ять іменованих правил, і кожне має власну сторінку: UPPERCASE і lowercase переписують кожну літеру, title case робить великою кожну значущу літеру й лишає маленькі (a, the, of), sentence case спершу опускає рядок, а потім відновлює початки речень, а «Велика літера на початку рядків» змінює лише першу літеру кожного рядка. Ця сторінка заповнює поле правилом, яке називає її заголовок, і не пропонує інших, тож файл, який вона створює, — це файл, про який ця сторінка.
У якій частоті кадрів пораховано таймінги. На сторінках форматів це те, що потрібно MicroDVD, бо він зберігає час як номери кадрів. На сторінках частоти кадрів це частота, за якою файл синхронізували — версія, для якої робили субтитри, — а друге поле сторінки приймає частоту відео, з яким ви будете їх використовувати. 23,976, 24, 25, 29,97, 30, 50, 59,94 і 60 — найпоширеніші. Помилка зміщує весь таймлайн, а на сторінках частоти кадрів — на відношення, а не на фіксовану величину.
Ця сторінка — та, яку проганяють файлом субтитрів, що прийшов кричущим. Вона спершу опускає кожен рядок, а потім повертає великі літери туди, де речення справді починаються: одну на початку рядка й одну після кожної крапки, знака питання чи оклику. Файл, писаний суцільно великими літерами, виходить звичайним текстом зі змішаним регістром — саме цього більшість людей шукає, коли потрапляє сюди.
Що вважається кінцем речення, вирішується обережно, а не пошуком будь-якої крапки. Крапка перед цифрою — частина числа, тому 3.5 не починає нового речення. Крапка після відомого скорочення — etc., Dr., a.m. і ще близько тридцяти — теж ні. Крапка всередині лапок завершує речення, тому He said “go.” She left. дає велику літеру на She. Те саме судження використовує сторінка поділу субтитрів на речення, тож дві сторінки сайту не можуть розійтися в тому, де закінчується речення.
Один наслідок варто знати до прогону серії, і це єдине на цій сторінці, що дивує людей. Власні назви опускаються разом з усім іншим, бо ніщо у файлі субтитрів не записує, що слово було ім’ям. DR. SMITH LEFT виходить як Dr. smith left. Саме це означає регістр речень — рядок, відбудований за реченнями, а не відновник імен, — і файлам, повним імен, краще служать підняття першої літери кожного рядка або регістр заголовків, які лишають решту рядка такою, якою знайшли.
Нічого не завантажується, а файл читається за вмістом, а не за розширенням, у дванадцятьох підтримуваних форматах. Файл, що вже в регістрі речень, повертається байт у байт, що робить цей прогін дешевим першим проходом для будь-якого успадкованого файлу: усе, що він змінює, справді потребувало зміни.
Приклади
Файл, зданий великими літерами
Вхід
1
00:00:01,000 --> 00:00:02,000
THE ROOM IS DARK. THE LIGHT IS ON.
2
00:00:03,000 --> 00:00:04,000
WHO TURNED IT OFF?
Результат
1
00:00:01,000 --> 00:00:02,000
The room is dark. The light is on.
2
00:00:03,000 --> 00:00:04,000
Who turned it off?
Два речення в першій репліці, тому дві великі літери: одна на початку рядка й одна після крапки, поки все інше опускається. Правило працює на рядок, а не на репліку, тому субтитр із двома реченнями отримує дві великі літери, а не одну.
Крапки, що не завершують речення
Вхід
1
00:00:01,000 --> 00:00:02,000
IT IS 3.5 METRES, ETC. AND MORE.
2
00:00:03,000 --> 00:00:04,000
DR. SMITH LEFT AT 9 A.M.
Результат
1
00:00:01,000 --> 00:00:02,000
It is 3.5 metres, etc. and more.
2
00:00:03,000 --> 00:00:04,000
Dr. smith left at 9 a.m.
Три крапки, що нічого не починають: та в 3.5 має після себе цифру, а ті в etc. і Dr. стоять після слів зі списку скорочень. Тому and і smith лишаються малими. Друга репліка — той вихід на цій сторінці, що дивує людей; дивіться запитання нижче, бо файл, повний імен, хоче іншої сторінки.
Крапка всередині лапок
Вхід
1
00:00:01,000 --> 00:00:02,000
HE SAID "GO." SHE LEFT.
2
00:00:03,000 --> 00:00:04,000
"WAIT!" HE CALLED.
Результат
1
00:00:01,000 --> 00:00:02,000
He said "go." She left.
2
00:00:03,000 --> 00:00:04,000
"Wait!" He called.
Крапка стоїть усередині лапок і все одно завершує речення, тому She отримує велику літеру після закритої лапки. У другій репліці рядок відкривається самою лапкою, і велика літера лягає на першу літеру всередині неї — пунктуація не має регістру, тому велика літера ніколи не ставиться на лапку, дужку чи тире на початку рядка.
Файл, що вже правильний
Вхід
1
00:00:01,000 --> 00:00:02,000
The room is dark. The light is on.
2
00:00:03,000 --> 00:00:04,000
Who turned it off?
Результат
1
00:00:01,000 --> 00:00:02,000
The room is dark. The light is on.
2
00:00:03,000 --> 00:00:04,000
Who turned it off?
Байт у байт ідентичний, бо відбудовувати не було чого. На успадкованому файлі це корисний перший прогін: вихід — це різниця того, що сторінка вважає хибним, а порожня різниця означає, що проблема була не в регістрі.
Часті запитання
Чому мої власні назви вийшли в малих літерах?
Бо регістр речень опускає кожен рядок перед тим, як відбудувати його як речення, а ніщо у файлі субтитрів не записує, які слова були іменами. DR. SMITH LEFT стає Dr. smith left — захист скорочень не дає smith уважатися початком речення, тому він зберігає малу літеру, яку отримав. Це визначення операції, а не вада, і це найсильніша причина взяти іншу сторінку, коли файл повен імен: підняття першої літери кожного рядка змінює значно менше, а регістр заголовків захищає слова, що вже несуть велику літеру.
Що рахується скороченням і чи можна додати своє?
Вбудовано близько тридцяти: звертання й титули на кшталт Mr, Mrs, Dr, Prof і St, латинські скорочення etc, e.g, i.e і vs, одиниці й торгові форми на кшталт approx, inc, ltd і dept, а також часові форми a.m і p.m з їхніми варіантами з крапками. Додати до списку зі сторінки не можна, бо список мусить давати ту саму відповідь на кожному файлі. Якщо у вашому тексті є скорочення, якого там немає, крапка після нього читатиметься як кінець речення й наступне слово отримає велику літеру — подальший пошук і заміна поверне його назад.
Це та сторінка для файлу в змішаному регістрі, але з хибними великими літерами?
Лише якщо весь рядок треба відбудувати. Сторінка відкидає регістр, із яким рядок прийшов, і вирішує за текстом і пунктуацією, тому вже правильний рядок повертається незмінним, а рядок з однією хибною великою літерою переписується цілком. Там, де потрібні маленькі точкові виправлення, підняття першої літери кожного рядка або регістр заголовків зрушать менше символів і збережуть ваше судження про решту рядка.
Як він поводиться з рядком, що містить кілька речень?
Кожен початок речення отримує велику літеру, скільки б їх не було в рядку. THE ROOM IS DARK. THE LIGHT IS ON. виходить як The room is dark. The light is on. — дві великі літери з одного рядка. Оскільки субтитри часто містять два короткі речення в одній репліці, це нормальний випадок, а не крайовий, і саме тому сторінка не може просто підняти першу літеру всього.
Чи порушує зміна таймінг, порядок реплік або оформлення?
Ні. Сторінка чіпає лише текст кожного рядка, тому кожна репліка зберігає власні початок і кінець до мілісекунди, а порядок реплік лишається файловим. Оформлення також зберігається з одним винятком: там, де переведення в малі літери змінює кількість символів у рядку — типовий випадок — турецька велика i з крапкою, — теги на цьому рядку скидаються, а не лишаються накривати хибні літери, і кількість скинутих повідомляється.
Чи впізнає регістр речень розділові знаки інших мов?
Великі літери працюють для будь-якого письменства з верхнім і нижнім регістром, і застосовуються порядково, тому двомовний файл із двома письменствами обробляється в обох. Що не переноситься — список пунктуації, налаштований на крапки, знаки питання й оклику, як їх уживають в англійській та інших мовах латинки; ці знаки здебільшого все одно діють, бо більшість мов їх використовує. Файл письменством без великих літер повертається незмінним, і це правильно, а не зламано.