About watching a movie in English with subtitles, simplifying it with bilingual subtitles, and Bilingual Subtitler

At first, I just watched a movie. Then he found out that there are “correct Goblin translations” and switched to them. Then it turned out that there are other author's voice-over translations. Then there were Russian subtitles and original soundtracks.

Then, in a logical way, the transition to English sound and English subtitles was to go.

But ... everything was not as simple as it seemed.



And I came up with a way out of this situation.

It all started when, when the series “Friends”, which was just released on Blu-ray, ended Russian subtitles ...


... and one of the users in the comments suggested to run English subtitles through Google Translate in the Subtitle Edit program , color the resulting color with other colors and hook to the original ones, thus obtaining bilingual subtitles - the original is on top, and “interlinear” is on top; literary translation through Google Translate, of course, does not work, but just peeping into the Russian text, meeting an unfamiliar word in the English text - please.


To automate the creation of such bilingual subtitles, the first version of the Bilingual Subtitler was written at the time, which uses Yandex to translate subtitles.

Honestly, I used Yandex.Translator because ...

 Google API , Bing , c#. , 2016 — . , Google Translate.

In the process, I realized that this method of spending time is interesting to me


Just watching a movie - not so often come across pictures, after which there is no sense of time spent; just learning a language is boring; but mixing the cinema with the practice of language, it turns out to be a rather entertaining way of spending time.

The series “Friends” has ended, another movie has begun, and it became clear that this method of viewing is not ideal


“Friends” is a series with a fairly simple language and generous timing remarks: there was enough time to read the original, track the incomprehensible, read the Russian text, understand, return to viewing. With richer texts, there was an acute problem of lack of time to read both English and Russian texts.

Machine translation - knocks down. Sometimes I read an English text, I understand everything, I read Russian, which, due to the limitations of machine translation, is a mistake - and I begin to doubt, but suddenly it’s still not so here - but time is running out, the movie is not waiting.

The most interesting thing began to happen a little later - when I started reading English text on complex films and understood that I couldn’t take it “offhand”, I immediately switched to Russian, read it - and was like that, did not return to English. In theory, it would be worthwhile to include a pause at such moments, read it, then resume playback - but apparently, I was too lazy to reach for a gap each time (I did not even know that I was using such a “lazy” approach, it turned out unconsciously, and only after noticed that I’m doing this).

The way out seemed simple enough - you only need to output English subtitles “by default”, and connect Russians only as needed.


But there is a problem - to me, although I have been studying English for a long time (but rather lazily), Russian auxiliary subtitles are needed quite often. And each time, first pause the Space bar, change the subtitle by the S key, read English, use the Shift + S keys to restore English, and restore the playback again by the Space bar - once this is “okay”, 10 times it will “go”, 100 times per movie - This is already "well, nafig it." Then it became clear that you need to control the player through an external program so that all these actions are done by pressing a single key: press - pause, connect Russian subtitles - read - press key again - Russian subtitles are removed, only English subtitles remain, playback continued.

Why exactly a video player?
, , , :

  1. , .
  2. .
  3. «» — , .

-«» , , ( / ), , — — , — , , , -, .

Media Player Classic Homecinema.

In a good way, you probably should have written a plug-in for a video player, but
a) I didn’t want to get attached to a specific video player - Media Player Classic Homecinema had already announced that “we are stopping development”; and then, what if there are better players, but I don’t know?

So, in part, it turned out ...

 Bilingual Subtitler PotPlayer — , , . .

b) There was no particular desire to get into all this, because there was not a lot of free time.

Eventually

- Yes, I came to emulate keystrokes on the keyboard. The first time you press a hot key that is set in the program, the keystrokes that are set in the video player to pause and change subtitles to bilingual are emulated, the second pause again, and change the subtitles back.

In view of the change of approach from “bilingual subtitles always on the screen” to “only English subtitles on the screen, Russians are added on pause” it became possible to do two cool things, namely: the ability to add ready-made (and “literally translated”) Russian subtitles (previously a mismatch between the timings of English and Russian subtitles, it would give rise to a mess of two subtitle streams changing simultaneously; at least, it seems to me), as well as the ability to add more than one stream of Russian subtitles! After all, now we don’t care about the place taken by the subtitles - they are visible only on pause, which means that you can also see how different translators managed. At the same time, so that everyone can customize the appearance of the original / bilingual subtitles as he wants, the subtitles were converted to ASS format.

Implemented emulation of keystrokes, implemented a new creation of the necessary subtitles, and here it is, Bilingual Subtitler, the second revision that can already be shown to people :)

How does it work?



The program works with any players that support hot keys for pause, change subtitles to previous and next (or enable a specific subtitle track). Currently tested on Media Player Classic Homecinema and PotPlayer.

If you would like to use the program, but something in its functionality does not suit you - please write to me. When you know that what you write is needed by someone, it is much more readily coded. (So, for example, at the moment there is no support for players who do not have a hotkey for switching to previous subtitles (including VLC), but I have an idea about this).

Program site, with a full description, used libraries and contacts for communication →
GitHub repository →

PS Used in the programlibraries for working with Yandex.Translate authorshipKvanTTTfor which many thanks to him.

All Articles