Русские субтитры: Конвертация текста титров из Excel в .srt - Русские субтитры

Перейти к содержимому

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему

Конвертация текста титров из Excel в .srt Импорт в SW

#1 Пользователь офлайн   Dilmah2 Иконка

  • Иконка
  • Отправить ЛС
  • Группа: Members
  • Сообщений: 8
  • Регистрация: 25 Май 10
  • Страна:

Отправлено 25 Май 2010 - 23:14

Доброе время суток.
Как экспортировать текст двухстрочных титров
(первая строка: столбец E; вторая строка: столбец D)

E D
Сосредоточились.
- Пока, Джек. - Пока, Ник.
- А почему тебя называют Джеком? - Это мое новое австралийское имя.
- А зачем? - Им сложно произносить имя Ромул.
Эти девушки постоянно на нас смотрят.
...

набранных в MS Excel (.xls) -> в формат .srt?
Для дальнейшего импорта в SW.
Заранее благодарю.
0

#2 Пользователь офлайн   Bodkin Иконка

  • Иконка
  • Отправить ЛС
  • Группа: Admin
  • Сообщений: 1 084
  • Регистрация: 28 Сентябрь 03
  • Пол:Мужчина
  • Страна:
  • Прислал(a) субтитров: 116

Отправлено 26 Май 2010 - 00:03

Выложи сюда этот файл.
0

#3 Пользователь офлайн   Dilmah2 Иконка

  • Иконка
  • Отправить ЛС
  • Группа: Members
  • Сообщений: 8
  • Регистрация: 25 Май 10
  • Страна:

Отправлено 26 Май 2010 - 08:24

Просмотр сообщенияBodkin (25 Май 2010 - 23:03) писал:

Выложи сюда этот файл.

Выкладываю.

Прикрепленные файлы


0

#4 Пользователь офлайн   НуПогоди Иконка

  • Иконка
  • Отправить ЛС
  • Группа: Избранные
  • Сообщений: 832
  • Регистрация: 31 Июль 06
  • Страна:
  • Прислал(a) субтитров: 46
  • Своих переводов: 19

Отправлено 26 Май 2010 - 11:07

Так пойдёт?

[EDIT] Описание процесса нужно?

Прикрепленные файлы


Сообщение отредактировал НуПогоди: 26 Май 2010 - 11:45

0

#5 Пользователь офлайн   Dilmah2 Иконка

  • Иконка
  • Отправить ЛС
  • Группа: Members
  • Сообщений: 8
  • Регистрация: 25 Май 10
  • Страна:

Отправлено 26 Май 2010 - 13:18

Просмотр сообщенияНуПогоди (26 Май 2010 - 10:07) писал:

Так пойдёт?

[EDIT] Описание процесса нужно?

Спасибо большое! :ok:
Как раз нужно описание процесса. Так как таких файлов много, в том числе и на разных языках.
0

#6 Пользователь офлайн   НуПогоди Иконка

  • Иконка
  • Отправить ЛС
  • Группа: Избранные
  • Сообщений: 832
  • Регистрация: 31 Июль 06
  • Страна:
  • Прислал(a) субтитров: 46
  • Своих переводов: 19

Отправлено 26 Май 2010 - 13:51

1. Excel: между колонками с начальным и конечным временем титра вставляем доп.колонку и заполняем её всю значком "-->"
2. Excel: Сохраняем получившеeся в текстовый формат, в котором колонки разделены значком табуляции (есть в Save as... такая возможность). Т.е. на выходе должен получиться текст приблизительно такого вида (\t = значок табуляции, в большинстве блокнотов его не видно)
1 \t t1start \t --> \t t1end \t string11 \t string12
2 \t t2start \t --> \t t2end \t string21 \t string22
3 \t t3start \t --> \t t3end \t string31 \t string32...

3. Ищем любой текстовый редактор, который позволяет искать и заменять специальные символы, в частности табуляцию и перенос. Я, скажем, обычно работаю в Notepad++ (freeware, open source).
4. Notepad++: открываем экспортированный из Excel текст и вычищаем все значки --> , которые не привязаны к титрам (от строки с последним по порядковому номеру титром вплоть до конца файла). Т.е. файл должен заканчиваться строкой (L = номер последнего титра)
...
L \t tLstart \t --> \t tLend \t stringL1 \t stringL2

а не полупустыми строками, в которых только -->
5. Notepad++: в окошке функции "Заменить" (см. скриншот) выбрать Search mode > Extended, после чего сделать 3 замены ReplaceAll, именно в таком порядке
[5.1] "\t-->\t" на " --> "
[5.2] "\n" на "\n\n"
[5.3] "\t" на "\n"
Примечание: Окно функции "Заменить" можно не закрывать, после первой замены подкорректировать что искать и на что заменять и снова нажать ReplaceAll...
6. Всё! Сохраняем, меняем расширение файла на srt, загружаем в SW.

Где-то так... выходит около минуты на конвертирование файла. В принципе, в Notepad++ можно открыть сразу несколько экспортированных из Excel файлов и при замене воспользоваться кнопкой Replace in all opened documents, а при сохранении кнопкой Save All (Ctrl-Shift-S).

Прикрепленные файлы

  • Прикрепленный файл  Replace.png (14,01К)
    Количество загрузок:: 11

0

#7 Пользователь офлайн   Dilmah2 Иконка

  • Иконка
  • Отправить ЛС
  • Группа: Members
  • Сообщений: 8
  • Регистрация: 25 Май 10
  • Страна:

Отправлено 26 Май 2010 - 18:26

Просмотр сообщенияНуПогоди (26 Май 2010 - 12:51) писал:

1. Excel: между колонками с начальным и конечным временем титра вставляем доп.колонку и заполняем её всю значком "-->"
2. Excel: Сохраняем получившеeся в текстовый формат, в котором колонки разделены значком табуляции (есть в Save as... такая возможность). Т.е. на выходе должен получиться текст приблизительно такого вида (\t = значок табуляции, в большинстве блокнотов его не видно)
1 \t t1start \t --> \t t1end \t string11 \t string12
2 \t t2start \t --> \t t2end \t string21 \t string22
3 \t t3start \t --> \t t3end \t string31 \t string32...

3. Ищем любой текстовый редактор, который позволяет искать и заменять специальные символы, в частности табуляцию и перенос. Я, скажем, обычно работаю в Notepad++ (freeware, open source).
4. Notepad++: открываем экспортированный из Excel текст и вычищаем все значки --> , которые не привязаны к титрам (от строки с последним по порядковому номеру титром вплоть до конца файла). Т.е. файл должен заканчиваться строкой (L = номер последнего титра)
...
L \t tLstart \t --> \t tLend \t stringL1 \t stringL2

а не полупустыми строками, в которых только -->
5. Notepad++: в окошке функции "Заменить" (см. скриншот) выбрать Search mode > Extended, после чего сделать 3 замены ReplaceAll, именно в таком порядке
[5.1] "\t-->\t" на " --> "
[5.2] "\n" на "\n\n"
[5.3] "\t" на "\n"
Примечание: Окно функции "Заменить" можно не закрывать, после первой замены подкорректировать что искать и на что заменять и снова нажать ReplaceAll...
6. Всё! Сохраняем, меняем расширение файла на srt, загружаем в SW.

Где-то так... выходит около минуты на конвертирование файла. В принципе, в Notepad++ можно открыть сразу несколько экспортированных из Excel файлов и при замене воспользоваться кнопкой Replace in all opened documents, а при сохранении кнопкой Save All (Ctrl-Shift-S).

Спасибо за подробный ответ!
Хотел уточнить 4 пункт: "вычищаем все значки -->". Каждый значок удаляем отдельно или возможно автоматизировать?
0

#8 Пользователь офлайн   НуПогоди Иконка

  • Иконка
  • Отправить ЛС
  • Группа: Избранные
  • Сообщений: 832
  • Регистрация: 31 Июль 06
  • Страна:
  • Прислал(a) субтитров: 46
  • Своих переводов: 19

Отправлено 26 Май 2010 - 18:59

Просмотр сообщенияDilmah2 (26 Май 2010 - 16:26) писал:

Спасибо за подробный ответ!
Хотел уточнить 4 пункт: "вычищаем все значки -->". Каждый значок удаляем отдельно или возможно автоматизировать?
Удалять нужно только те значки -->, которые Excel вставил для строк без текста! Т.е. "пустые" строки, в которых кроме "-->" ничего нет.

Как? Можно выделить руками всё от последней строки с текстом титров до самого конца файла и стереть. Скажем так, ставим курсор на первой "пустой" строке, нажимаем Shift и, не отпуская его, Ctrl-End (выделится всё лишнее вплоть до конца файла), отпускаем клавиши и жмём Del.

Если так неудобно, то можно воспользовать всё той же функцией Replace: а) уходим в конец файла, выбираем одну "пустую" строку (всю, включая перенос каретки), затём жмём Ctrl-c (копируем выбранное в буфер), б) вызываем Replace, если скопированная строка вдруг не стоит в поле Find what вставляем её туда, нажимая Ctrl-v, вытираем всё в поле Replace with и жмём Replace All или даже Replace in all opened documents.
0

#9 Пользователь офлайн   Dilmah2 Иконка

  • Иконка
  • Отправить ЛС
  • Группа: Members
  • Сообщений: 8
  • Регистрация: 25 Май 10
  • Страна:

Отправлено 26 Май 2010 - 20:38

Просмотр сообщенияНуПогоди (26 Май 2010 - 17:59) писал:

Удалять нужно только те значки -->, которые Excel вставил для строк без текста! Т.е. "пустые" строки, в которых кроме "-->" ничего нет.

Как? Можно выделить руками всё от последней строки с текстом титров до самого конца файла и стереть. Скажем так, ставим курсор на первой "пустой" строке, нажимаем Shift и, не отпуская его, Ctrl-End (выделится всё лишнее вплоть до конца файла), отпускаем клавиши и жмём Del.

Если так неудобно, то можно воспользовать всё той же функцией Replace: а) уходим в конец файла, выбираем одну "пустую" строку (всю, включая перенос каретки), затём жмём Ctrl-c (копируем выбранное в буфер), б) вызываем Replace, если скопированная строка вдруг не стоит в поле Find what вставляем её туда, нажимая Ctrl-v, вытираем всё в поле Replace with и жмём Replace All или даже Replace in all opened documents.

Все понятно, но не получается :(
Не могу "поймать" как раз эту "пустую" строку.
При выделении "ловится" знак табуляции, а мне (на сколько я понимаю) надо "ловить" табуляцию вместе с переносом каретки.
Если можно поясните для "танкистов".
0

#10 Пользователь офлайн   НуПогоди Иконка

  • Иконка
  • Отправить ЛС
  • Группа: Избранные
  • Сообщений: 832
  • Регистрация: 31 Июль 06
  • Страна:
  • Прислал(a) субтитров: 46
  • Своих переводов: 19

Отправлено 26 Май 2010 - 21:00

Просмотр сообщенияDilmah2 (26 Май 2010 - 18:38) писал:

Все понятно, но не получается :(
Не могу "поймать" как раз эту "пустую" строку.
При выделении "ловится" знак табуляции, а мне (на сколько я понимаю) надо "ловить" табуляцию вместе с переносом каретки.
Если можно поясните для "танкистов".
Танкист должен поставить курсор в крайнее левой положение в строке, которую хочет копировать, нажать княпочку на мыше, потом не отпуская кнопки, повести её (мышь) строго на юг, т.е. на одну строку вниз, и после этого княпочку отпустить. Должна выделиться ровно одна строка - вся, сo всеми табуляциями, значком --> и переносом строки (CR+LF). Затем копируем (Ctrl-c), вызываем функцию Replace (Ctrl-h) и дальше по тексту...

PS Нагляднее будет, если выставить в меню view > show symbol > show all characters

PPS A если танкист уж совсем безнадёжен :lol: , то оба символа переноса при Search mode = extended можно дописать и рукой
CR = \r
LF = \n

3PS кстати, если в "пустой" строке Excel сохраняет порядковый номер титра (вот чего не помню, того не помню), то автоматизация удаления таких строк через Replace всё равно невозможна - их придётся выделять все вместе (до конца файла) и вытирать руками...

Сообщение отредактировал НуПогоди: 26 Май 2010 - 21:38

0

#11 Пользователь офлайн   НуПогоди Иконка

  • Иконка
  • Отправить ЛС
  • Группа: Избранные
  • Сообщений: 832
  • Регистрация: 31 Июль 06
  • Страна:
  • Прислал(a) субтитров: 46
  • Своих переводов: 19

Отправлено 26 Май 2010 - 23:38

Совсем для танкистов!
На скорую руку склепал простенькую консольную программу для конвертации текста прямо в srt. Иначе говоря, берём xls приведенного вида, ничего в нём не меняя экспортируем всё из Excel в текст с табуляциями (получаем на выходе 01.txt), потом запускаем в командной строке
txt2srt.exe 01.txt 01.srt

где первый аргумент - название файла с исходным текстом, а второй - название файла, в который будет сохранён результат.

Компиллировал в каком-то ешё DOS-овском C-компилляторе, поэтому названия файлов (и входного и с результатом) должны соответствовать формату 8.3 (не более 8 букв названия и 3 расширения). Аттачу exe с примером... Развлекайтесь. Надеюсь, оно того стоило.

Прикрепленные файлы

  • Прикрепленный файл  txt2srt.zip (32,56К)
    Количество загрузок:: 18

0

#12 Пользователь офлайн   Dilmah2 Иконка

  • Иконка
  • Отправить ЛС
  • Группа: Members
  • Сообщений: 8
  • Регистрация: 25 Май 10
  • Страна:

Отправлено 27 Май 2010 - 11:18

Просмотр сообщенияНуПогоди (26 Май 2010 - 20:00) писал:

Танкист должен поставить курсор в крайнее левой положение в строке, которую хочет копировать, нажать княпочку на мыше, потом не отпуская кнопки, повести её (мышь) строго на юг, т.е. на одну строку вниз, и после этого княпочку отпустить. Должна выделиться ровно одна строка - вся, сo всеми табуляциями, значком --> и переносом строки (CR+LF). Затем копируем (Ctrl-c), вызываем функцию Replace (Ctrl-h) и дальше по тексту...

PS Нагляднее будет, если выставить в меню view > show symbol > show all characters

PPS A если танкист уж совсем безнадёжен :lol: , то оба символа переноса при Search mode = extended можно дописать и рукой
CR = \r
LF = \n

3PS кстати, если в "пустой" строке Excel сохраняет порядковый номер титра (вот чего не помню, того не помню), то автоматизация удаления таких строк через Replace всё равно невозможна - их придётся выделять все вместе (до конца файла) и вытирать руками...

Отчёт о стрельбах.
Все мишени поражены!
Помогла информация "CR = \r" (не мог эту CR выделить).
Теперь все получилось! Огромное Вам спасибо.
Если нужна какая-нибудь помощь с удовольствием помогу чем смогу. ;)
0

#13 Пользователь офлайн   Dilmah2 Иконка

  • Иконка
  • Отправить ЛС
  • Группа: Members
  • Сообщений: 8
  • Регистрация: 25 Май 10
  • Страна:

Отправлено 27 Май 2010 - 11:23

Просмотр сообщенияНуПогоди (26 Май 2010 - 22:38) писал:

Совсем для танкистов!
На скорую руку склепал простенькую консольную программу для конвертации текста прямо в srt. Иначе говоря, берём xls приведенного вида, ничего в нём не меняя экспортируем всё из Excel в текст с табуляциями (получаем на выходе 01.txt), потом запускаем в командной строке
txt2srt.exe 01.txt 01.srt

где первый аргумент - название файла с исходным текстом, а второй - название файла, в который будет сохранён результат.

Компиллировал в каком-то ешё DOS-овском C-компилляторе, поэтому названия файлов (и входного и с результатом) должны соответствовать формату 8.3 (не более 8 букв названия и 3 расширения). Аттачу exe с примером... Развлекайтесь. Надеюсь, оно того стоило.

Большое спасибо все работает. :ok:
0

Страница 1 из 1
  • Вы не можете создать новую тему
  • Вы не можете ответить в тему