Сначала, я “просто” смотрел кино. Потом узнал, что существуют “правильные переводы Гоблина” и перешел на них. Затем выяснилось, что существуют и другие авторские закадровые переводы. Потом были русские субтитры и оригинальные звуковые дорожки.
Затем логичным образом должен был идти переход на английский звук и английские субтитры.
Но… все оказалось не так просто, как казалось.
И я придумал выход из этой ситуации.
Всё началось с того, как, когда на сериал “Друзья”, только вышедший на Blu-ray, закончились русские субтитры...
… и один из пользователей в комментариях предложил прогонять английские субтитры через Google Translate в программе Subtitle Edit, раскрашивать получшееся других цветом и подцеплять к оригинальным, получив таким образом двуязычные субтитры — сверху оригинал, снизу “подстрочник”; литературного перевода через Google Translate, конечно, не получается, а вот просто подсматривать в русский текст, встречая незнакомое слово в английском тексте — пожалуйста.
Для автоматизации создания таких двуязычных субтитров и была в свое время написана первая версия Bilingual Subtitler, использующая для перевода субтитров Яндекс.Переводчик.
(Честно говоря, я использовал именно Яндекс.Переводчик потому,что Google публичное API своего переводчика закрыл, Bing требовал утверждения у них проекта, а Яндекс спокойно выдавал ключи и имел библиотеки на c#. Однако впоследствии оказалось, что для художественных фильмов — Яндекс.Переводчик справлялся с переводом с английского на русский лучше, нежели Google Translate)
В процессе я понял, что такой метод проведения времени мне интересен
Просто смотреть кино — не так часто попадаются картины, после которых не остается чувства потраченного времени; просто учить язык — скучновато; но вот смешивая кино с практикой языка — получается достаточно занятный способ времяпрепровождения.
Закончился сериал “Друзья”, началось другое кино, и стало понятно, что данный метод просмотра не идеален
«Друзья» — сериал с достаточно простым языком и щедрый на тайминг реплик: вполне хватало времени прочитать оригинал, отследить непонятное, прочитать русский текст, понять, вернуться к просмотру. С более насыщенными текстами остро встала проблема нехватки времени на прочитывание и английского, и русского текстов.
Машинный перевод — сбивает. Бывало, читаю английский текст, все понимаю, читаю русский, в котором ввиду ограничений машинного перевода есть ошибка — и начинаю сомневаться, а вдруг здесь всё же не так — а время уходит, кино не ждет.
Самое интересное начало происходить чуть позже — на сложных фильмах я, когда начинал читать английский текст и понимать, что “с наскока” его не взять, сразу переключался на русский, читал его — и был таков, не возвращался к английскому. По идее стоило бы на таких моментах включать паузу, вчитываться, потом возобновлять воспроизведение — но мне, видимо, было слишком лениво каждый раз тянуться к пробелу (я даже не знал, что применяю такой “ленивый” подход, это получилось неосознанно, и только опосля заметил, что так поступаю).
Выход виделся достаточно простым — нужно «по умолчанию» выводить одни лишь английские субтитры, а русские подключать лишь по мере надобности.
Но есть проблема — мне, хоть я и уже долгое время (но довольно лениво) занимаюсь изучением английского, русские вспомогательные субтитры нужны довольно часто. И каждый раз сначала по клавише Пробела ставить паузу, по клавише S менять субтитры, читать, по Shift+S возвращать английские, и снова по Пробелу восстанавливать воспроизведение — 1 раз это «окей», 10 раз это «пойдет», 100 раз за фильм — это уже «ну его нафиг». Тогда стало ясно, что нужно через внешнюю программу контролировать плеер, чтобы все эти действия делать по нажатию одной клавиши: нажал — поставилась пауза, подключились русские субтитры — прочитал — нажал клавишу снова — русские субтитры убрались, остались одни английские, воспроизведение продолжилось.
Почему именно видеоплеер?
Я видел в интернете некоторое количество сервисов, предлагающих просмотр на английском с английскими субтитрами, однако у них были либо одна из, либо все проблемы:
- Предлагалось каждый раз останавливать видео и выбирать непонятное слово из субтитров, чтобы узнать его перевод.
- Неизвестно какое качество перевода.
- «Ассортимент» видео — ограничен тем, что загружено на сервис.
Комбинация видеоплеера и утилиты-«контроллера» же работает с любыми видео, которые у вас есть, любыми видеоплеерами (поддерживающими горячие клавиши паузы/смены субтитров), поддерживает любые варианты перевода, и — по одной горячей клавише переключается между воспроизведением с английскими субтитрами и паузой с двуязычными субтитрами — так и лично мне удобнее, и если цель — просто смотреть кино, иногда посматривая в перевод, так оно, по-моему, комфортнее будет.
Здесь и далее по посту клавиши указаны применительно к видеоплееру Media Player Classic Homecinema.
По-хорошему, наверное, нужно было бы написать плагин к видеоплееру, но
а) Не хотелось привязываться к конкретному видеоплееру — у того же Media Player Classic Homecinema уже как-то объявляли, что «мы прекращаем разработку»; да и потом, а вдруг есть плееры лучше, а я не в курсе?
Так, отчасти, и оказалось...
… когда в комментарии под постом о Bilingual Subtitler меня начали спрашивать о PotPlayer — плеере, в котором можно щелкнуть по слову в субтитрах, и оно откроется в выбранном вами переводчике в браузере. Интересная штука.
б) Не было особого желания влезать во все это, потому как не было очень много свободного времени.
В итоге
Я пришел к эмуляции нажатия клавиш на клавиатуре. При первом нажатии заданной в программе горячей клавиши, эмулируются нажатия клавиш, которые заданы в видеоплеере на паузу и смену субтитров на двуязычные, при втором — снова пауза, и смена субтитров обратно.
Таким образом, программа работает с любыми видеоплеерами, поддерживающими горячие клавиши паузы, смены субтитров на предыдущие и на следующие (или включения конкретного трека субтитров). На данный момент проверена на Media Player Classic Homecinema и PotPlayer.
Ввиду смены подхода от «двуязычные субтитры всегда на экране» к «на экране только английские субтитры, русские добавляются на паузе» стало возможно сделать две клёвых вещи, а именно: возможность добавлять уже готовые (и «литературно переведенные») русские субтитры (раньше несоответствие между таймингами английских и русских субтитров рождало бы на экране кашу из неодновременно сменяющихся двух потоков субтитров; по крайней мере, мне так представляется), а также возможность добавлять не один поток русских субтитров! Ведь теперь нас не волнует занимаемое субтитрами место — они видны только на паузе, а значит, можно еще и посмотреть, как справились разные переводчики. Заодно, чтобы каждый мог настроить вид оригинальных/двуязычных субтитров так, как ему хочется, субтитры был переведены в формат ASS.
Как это примерно работает
Если вы хотели бы использовать программу, но что-то в её функциональных возможностях вас не устраивает — пожалуйста, напишите мне. Когда знаешь, что то, что ты пишешь, кому-то нужно — кодится гораздо охотнее. (Так, например, на данный момент нет поддержки плееров, у которых нет горячей клавиши переключения на предыдущие субтитры (в их числе VLC), но у меня есть задумка по этому поводу).
P.S. В последней версии программы после одного из комментариев на Хабре были изменены стандартные расположения субтитров. Теперь по умолчанию первый поток русских субтитров (который предполагается переведенным машинным переводом) располагается прямо под оригинальными субтитрами, а 2 и 3 потоки русских субтитров (где предполагаются литературные переводы) появляются сверху — чтобы при появлении незнакомого слова/конструкции сначала лишь несколько помочь подстрочником, а уж если и с ним непонятно — переводить взгляд наверх и читать другие варианты перевода.