Пишу как могу...
Что-то поменялось, а что-то забыто.
Достал старые записи, стряхнул с них пыль и привожу в порядок...
Названия кнопок заключены в квадратные скобки.
-
Секция над Закладками
Закладка 'Subtitle'
Закладка 'Subtitles Operations'
Закладка 'Time / Frame Operations'
Закладка 'Time Utilities'
Меню программы
Окно "Subtitles Lists"
'BUGS' - замеченые ошибки
Порядок нажатия кнопок
(действия производятся на закладке 'Subtitles Operations') :
Перед тем как нажать [Subtitles Correction] имеет смысл нажать
[Offset ReCount] для перенумерации субтитров, иначе при коррекции
соседние субтитры могут слипнуться.
Также имеет смысл нажать кнопку [Fix Delimiters] для выправления
расстановки знаков препинания (не идеально, но в большинстве случаев это лучше,
чем массовые пропуски пробелов после точек, запятых и восклицательных знаков).
Основные дествия для преобразования
длины строк субтитров под нужные значения.
Перейти на закладку 'Subtitles Operations'.
Нажать следующие кнопки в указанном порядке:
[Subtitle To One Line]
[Rename out-File]
[Set Length]
[Rename out-File]
Субтитры готовы.
Осталось протестировать результат:
[Test Length] (будет создан файл *.len)
[Test Time] (будет создан файл *.time)
(или [Test Frame] (будет создан файл *.frame)
С включённым параметром No Time Range to Log лог будет создан
только если есть ошибки пересечения интервалов времени показа субтитров.
Ручная корректировка субтитров по log-файлам
(то, что невозможно сделать автоматически).
Посмотреть и, при необходимости, скорректировать неправильные/критичные
субтитры можно переключившись на закладку 'Subtitle'. Далее надо будет
выбрать тип log-файла в секции 'Log Data' и нажать кнопку
Load Log-file. При выборе типа log-файла, если указанный
тип файла присутсвует, то справа от окна выбора типа появится маркер
exist означающий, что данный файл присутсвует. После загрузки
log-файла, в соответсвующей секции будет указано количество загруженных
строк с ошибками/сообщениями. Навигация по этим строкам осуществляется через
кнопки Prev, Next, Go to: секции 'Log Data'.
Описание ошибки/сообщения отображается в длинной строке секции 'Log Data'.
При перемещении по списку со строкам ошибок/сообщений, соответсвующий субтитр
к которому относится ошибка/сообщение будет отображаться в секции
'Subtitle Lines'.
Для массового преобразования файлов субтитров (например, субтитры к сериалам) удобно включить флажок 'Directory Mode'. На тех кнопках, которые работают в режиме Directory Mode надписи будут выделены курсивом.
Секция над Закладками | |
флаг 'Directory Mode' | Режим Каталога - включает режим, в котором обрабатываются все субтитры (по указанному расширению), расположенные в текущем каталоге. |
флаг 'Keep first Sub' |
Оставлять первый субтитр без изменений. Действует на кнопках: [Sprain Range Time / Farmes at Second] [Sprain Range Time] |
[All in One] |
'Всё в одном' - набор из кобинации кнопок: [Any to DOS] [Fix Delimiters] [Subtitles Correction] [ReCount] [Subtitle To One Line] [SubtitlesDigitsFix] [Set Length] |
[Rename out-File] | После операций с кнопками отредактированный файл субтитра записывается с расширением out (на всякий непредвиденный случай). Для замены старого субтитра новым необходимо нажать эту кнопку. |
[Delete File:] | Удалить файл с указанным расширением в окне справа |
Log Data | |
[Load Log-file:] | Загрузить log-файл с указанным справа от кнопки расширением (имя log-файла аналогично имени субтитра) |
[Go to:] |
Перейти к указанной (номер справа от кнопки) строке log-файла [слева от кнопки - количество всех строк в log-файле] |
[Prev] | Перейти к предыдущей строке log-файла |
[Next] | Перейти к следующей строке log-файла |
При нажатии на кнокпки [Go to:], [Prev], [Next] в окне Subtitle Lines отображается проблемный субтитр. | |
Subtitle Lines | |
[Add Last Subtitle] |
Добавить последний субтитр в конец с указанным текстом.
Для этой функции есть параметры через сколько минут/секунд
от последнего субтитра всавить новый последний субтитр и
параметр указывающий длительность нового последнего субтитра. Удобно, например, вставлять [English] в конец субтитра. |
[Break Str Eq] | Break String Equal - переразбить строки субтитра так, чтобы строки были примерно одинаковой длинны. |
[Break Str] | Break String - переразбить строки субтитра |
[Switch Case] | Инвертировать регистр в текущем субтитре |
[Switch SelCs] | Инвертировать регистр в выделенной части текущего субтитра |
[Break Dlg] | Разбить субтитр с диалогом на два субтитра |
[Break Big] | Разбить большой текст (количество символов > 119 или сколько выставлено в параметрах) на два субтитра. |
строка разницы времени/фреймов, горячие клавиши | |
'-' | установить указаный диапазон времени (дельта) относительно конечного времени тайминга, указанного в строке тайминга. (т.е. время окончания показа субтитра 'минус' дельта времени) |
'+' | установить указаный диапазон времени (дельта) относительно начального времени тайминга, указанного в строке тайминга. (т.е. время начала показа субтитра 'плюс' дельта времени) |
окно редактирования субтитров, горячие клавиши | |
'Ctrl+1' | преобразовать текст субтитра в одну строку |
'Ctrl+2' | перенести слово из начала следующей строки в конец текущей строки |
'Ctrl+3' | перенести слово из начала второй строки в конец первой строки |
'Ctrl+4' | перенести слово из конца текущей строки в начало следующей строки |
'Ctrl+5' | перенести слово из конца первой строки в начало второй строки |
'PageUp' | перейти на предыдущий субтитр |
'PageDown' | перейти на следующий субтитр |
'Ctrl+PageUp' | перейти на предыдущий проблемный субтитр |
'Ctrl+PageDown' | перейти на следующий проблемный субтитр |
Закладка 'Subtitles Operations'
Общая Секция | |
[Sprain Range Time / Farmes at Second] ex [Sprain Range Time/Farme] ex [Sprain Range Time at Sec] | - Расстяривает/сжимает файлы *.srt и *.sub по параметрам фрэймов в секунду. |
[Tags Fix] |
субтитры, содержащие тэги <i> и </i>
или {y:i} и {y:b} переводит в одну строку
(диалоги, естественно, оставляются),
далее субтитр разбиваются на строки по указанным тэгам. Попутно удаляются двойные пробелы и крайние пробелы. |
[Fix] | Если в начале субтитра стоит таг {y:i} или {y:b}, то его прописываем в каждую строчку |
[Remove Line Begin from Text] ex [Delete Line from] ex [Remove From] |
Удаление строки начинающейся с подстроки.
Удобно для удаления '<[-=' - символы для чужого времени. |
Секция 'Subtitles Length' | |
флаг 'Save SubLine (to1line)' | сохранять длинну строк субтитра, если все они удовлетворяют одному условию, т.е. меньше указанной длинны. |
флаг 'Analys Wide Letters' ex 'Analys Symbols' | анализировать широкие буквы (проводить разбиение с учетом широких букв) |
[Subtitle To One Line] | текст субтитра переводится в одну строку (диалоги, естественно, оставляются) Попутно удаляются двойные пробелы и крайние пробелы, опционально (Add Space After Symbols (to1line)) можно расставить пробелы после указанных символов-завершителей строки. |
[Set Lenght] |
Загоняет субтитры в выставленные рамки - количество строк и
количество символов в строке (Субтитр старается разбиться красиво,
поэтому возможны случаи, когда строк в субтитре быдет больше положеного). Дополнительные параметры позволяют указать опции при форматировании субтитра (анализ широких символов, начинать разбивку с конца субтитра, а не сначала) |
[Test Length] | Проверяет субтитры на соответсвие выставленным рамкам - количество строк и количество символов в строке, а так же правильность нумерации субтитров. |
Секция 'Subtitle Fix' | |
[Subtitles Correction] |
Вставляет пустые строки,
если номер субтитра и его тайминг прилипли к предыдущему субтитру.
убираются пустые строки между номером субтитра и таймингом, между
временем и текстом субтитра, между строками текста в субтитре,
между субтитрами. Убираются лишние пробелы на концах строк, будь то
номер субтитра, тайминг/фрэйминг субтитра или текст субтитра
(даже в любом текстовом файле подчистит пробелы на концах строк). Добавлено: замена двух пробелов на Enter (для srt) Добавлено: склеивание двух строк, если первая строка вида "-", "<b>-", "<i>-", т.е. коррекция для диалогов (для srt). |
флаг 'TimeCorrection' | Коррекция времени (касательно миллисекунд) |
флаг 'CaseCorrection' | Коррекция регистра в середине слова после дефиса |
[Subtitles To Bottom] | Прижать субтитры к низу экрана Достигается вставной строк из одного пробела перед строками субтитра (после тайнига). |
[Fix Subtitle Dialog] |
Восстанавливает диалоговые строки, начинающиеся с дефиса. (файл DiaBreak.dat) |
[Break Big Text] | разбивает большой текст (по знакам препинания) на два субтитра, если он содержит более указанного максимального количества строк для субтитра (SubtitleFullLength = 119). |
[Break Sub Dialog] | разбивает диалог пополам, если он содержит более указанного количества строк или более указанного максимального количества строк для субтитра. |
[Fix Delimiters] | Вставляет пробелы после указанные символов - завершителей строки. |
Закладка 'Time / Frame Operations'
Секция 'Time Extender' | |
[Extend Time] | По возможности расширяет длительность показа субтитра на экране. Для этого субтитр сдвигается немного назад (на указанное количество милисекунд) и увеличиается на указанное значение показа субтитра или (если указанное значение превышает возможности) конечное время показа субтитра выставляется как начальное время показа следующего субтитра (последнее настраивается в параметрах - можно выставить с разницей в 1 сек или 1 фрэйм - галка [v] One Tick Difference Nears Time/Frame (for New)). |
Секция 'Range of Time' | |
[Sprain Range Time] | Растягивает субтитр, на основе указанного конечного времени субтитра |
Секция 'Range of Frame' | |
[Sprain Range Frame] | Растягивает субтитр, на основе указанного конечного фрейма субтитра |
Секция 'Timings' | |
[Replace Timings] | Берёт тайминги/фрэйминги из другого (добавочного) файла (количество субтитров должно совпадать!!!) |
[Compare Timings] |
[-=TEST=-]
Берёт тайминги из другого файла
(количество субтитров может не совпадать)
Сравнение производится либо по времени, либо по тексту субтитров. В последнем случае тэги типа <i>, </i> отбрасываются перед сравнением. |
[Fix double Time] | Находит субтитры с одинаковыми таймингами и делит эти тайминги на 2 или 3 субтитра, которые расположены рядом. |
[Fix Wrong Time] | Находит несоответсвия в субтитрах по времени и выправляет их. Может присоединять текст текущего субтитра к тексту предыдущего субтитра, не меняя времени (если в результате корректировки времени текущего субтитра, длина тайминга оказалась меньше заданнго значения). |
Кнопки [Fix double Time], [Fix Wrong Time] работают в паре, если установлен флаг 'Ins Time'. | |
флаг 'TAG' | записывать в лог присутствие TAG-ов при процессе по кнопке [Test Length] |
флаг 'No Time Range to Log' | для процесса по кнопке [Test Time] |
флаг 'Time Area' |
для процесса по кнопке [Test Time] - отображает соседние параметры длительности времени |
флаг 'Round Word' | строку текста округлять до целых слов - т.е. отсекать половинки получившиеся в результате разбиения (для сравнения) текстовой строки. |
флаг 'Ins Time' | вставляет чужой тайминг из добавочного файла. |
флаг 'Force Ext' | |
флаг 'Join Sub-Text' | |
Секция 'Offset Time of Tail' | |
[Offset Tail] | Сместить указанную часть временного интервала на указанное количество времени. |
Секция 'Calculator', горячие клавиши | |
T | во второй/третьей строке тайминга - перевод дельты фреймов в таминг, при этом дельта фреймов перескакивает в правую строку. |
- | во второй/третьей строке разницы времени/фреймов - установить указаный диапазон времени (дельта) относительно конечного времени тайминга, указанного в строке тайминга. (т.е. время окончания показа субтитра 'минус' дельта времени) |
+ | во второй/третьей строке разницы времени/фреймов - установить указаный диапазон времени (дельта) относительно начального времени тайминга, указанного в строке тайминга. (т.е. время начала показа субтитра 'плюс' дельта времени) |
Секция 'Split & Join' | |
[Split SubTime & SubText] |
Разделяет файл субтитров на 2 части и вспомогательный файл: *.srttext - файл с текстом (строки субтитров) *.srttime - файл с номерами субтитров и временем, *.srttrk - файл с номерами субтитров и количеством строк (ini-файл) |
[Join SubTime & SubText] | Собирает 2 файла *.srttext и *.srttime в один при помощи файла *.srttrk. |
[Del Last Subtitle] | Удаляет последний субтитр (антипод процедуры [Add Last Subtitle]) |
[Subtitle Time Correction] | Корректирует время субтитров в случае нахлёста - время окончания показа предыдущего субтитра выставляется равным времени начала показа следующего субтитра. |
Закладка 'Diag'
- Задумана для просмотра графика изменения времени
(ось абсцисс - старое время, ось ординат - новое время).
Предполагалась для изучения искривления при преобразовании субтитров
от одной частоты кадров к дуругой (Например от 23,976 fps к 25 fps).
Меню программы
menu [Convertation Text in File] | |
text to lower case | Преобразовывает все символы в нижний регистр. |
Text To Begin From Upper Letter | Преобразовывает слова в слова с заглавных букв. |
Normalize text string | Начинает предложения с заглавных букв (Начало строки, Начало диалога, после точки, восклицательного/вопросительного знака). |
флаг 'Up Case (Text In Brackets)' | Устанавливает верхний регистр для слов в круглых скобках при преобразовании регистра по любому пункту меню, выбранному выше этого флага. |
'[Code Text]' | Создаёт файл CodeTest.chr в папке программы, в котором представлена кодовая таблица в виде субтитра формата *.srt |
menu [Parameters] | |
Закладка 'Main' | |
флаг 'One Tick Difference Nears Time/Frame (for New)' | Выставлять следующий субтитр на 1 секунду/фрэйм позже - т.е. не допускать ситуации когда время/фрэйм окончания показа предыдущего субтитра совпадает с временем/фрэймом начала показа текущего субтитра. Изначально использовалась для кнопки [Extend Time]. |
флаг 'Correct TAGs' | для процесса по кнопке [Set Length] (SubtitleLineCut) |
флаг 'Correct Inside TAGs' | для процессов по кнопкам [Set Length] и [Subtitles To One Line] для выявления ситуаций типа '</i> <i>'. Причем в [Set Length] работает в паре с 'Correct TAGs'. |
флаг 'Write Log On Set Length' | |
флаг 'Write Operations Log' |
Записывать лог нажатых кнопок в файл Operations.log. При достижении 500 строк, в файле остаётся 200 поледних строк и запись продолжается. |
'Replace Mode' | Режим замены - заменять любую подстроку (в любом слове) или только слова. |
флаг 'Case Sensitive' | включение чувствительности регистра для 'Режима замены'. |
Закладка 'String & Length' | |
флаг 'Check Count Lines More That TruncCount Symbols' |
Проверяет соответсвие количества строк содержащемуся в них количеству
символов. По-русски: проверяется, можно ли разместить такое количество символов в меньшем количестве строк, чем есть сейчас. |
'Break Mode' | С коррекцией или без коррекции (используется при переразбивке субтитра - разбираться где-то глубоко). |
Закладка 'Other' | |
'Sprain Range Mode' | Режим растягивания/сжатия субтитра. |
Deflection | ? 2 / 3 - пропорция 2 из 3 частей - переломная часть функции |
'subs list mode' | Режим отображения 'Списка субтитров' - использовать два или один списка. |
add Time from last |
Установка временных параметров для вставки последнего субтитра по кнопке
|
menu [Parts & Tails] | |
Параметры для секции Timings
опции Compare 'inText with addText' - указываются дробные значени - сколько брать текста для сравнения | |
Length |
Верхняя строка - длины строк (больше 0, больше 12, больше 24 символов). |
Parts & Tails | Значения строк Parts и Tails образуют в столбцах дроби напротив длин строк (1/1 для длины больше 0, 1/2 для длины больше 12, 1/2 для длины больше 24). |
Окно "Subtitles Lists" | |
[Save] | Сохранить субтитр |
[ReCount] | Перенуморовать все субтитры с единицы |
[Del Line] | Удалить текущий субтитр (строку) |
[Break] |
Разбить субтитр на два. Разбивается пополам время субтитра,
сам субтитр дублируется. В случае диалога - субтитр разбивается
пополам по диалоговым фразам. [В случае большого текста - не помню]. В конце каждого разбитого субтитра ставится метка <-=BREAK=-> |
[Join] | Объединить текущий субтитр с предыдущим. |
[<< Ins] [Ins >>] |
Вставить текущий субтитр из соседнего окна. В конце вставленного субтитра ставится метка <-=INSERT=-> |
[<Time>] | Вставить в субтитр пометку <<Time>> |
[Close] | Закрыть окно |
Bug Track | |
[v.3.7.12.148] | Обнаружен глюк, который выпадал из проверки на ошибки: единственный дефиc в строке, что может сигнализировать о порушенном диалоге. В программу внесены коррективы. |
[v.3.7.12.147] | Всё ещё тянется с давних пор глюк, возникающий при массовом переименовании - выскакивает сообщение типа "out-файл отсутсвует". |
[v.3.7.12.145] | Снова обнаружил ошибку, описанную ранее ниже. :) |
[v.3.7.12.133] | Если в нескольких субтитрах srt-файла полностью совпадают тайминги, то могут возникнуть проблемы при позиционировании на таком субтитре и субтитры с совпадающими таймингами могут переписаться текстом из первого субтитра с совпадающим таймингом. |
[v.3.7.11.111] |
Ошибка тянется давно, но, пока так и не отловлена. Ошибка 'List Out of Bound' - возникает периодически, при открытии следующего файла по кнопке 'Открыть'. В результате создаётся файл с именем открываего субтитра и расширением out. Содержимое и размер полностью идентично открываемому файлу субтитра. |