• Stars
    star
    243
  • Rank 166,489 (Top 4 %)
  • Language
    TypeScript
  • License
    MIT License
  • Created over 5 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Browser extension for learning languages with watching movies and TV shows

Learn languages with fun πŸŽ‰

Browser extension to learn languages by watching movies and TV shows.

WARNING

The master branch contains version 2.0 which is currently under active development.
You can find the release version in the v1.0 branch

Installation

The extension supports Chrome, Firefox, Opera and Yandex. It should also work in other browsers that have WebExtensions API support, but it hasn't been tested yet.

Release version available on Chrome Web Store and Firefox Browser Add-ons.

chrome store firefox store

Build

  1. Install node 12+
  2. Clone repo git clone [email protected]:Nitrino/easysubs.git
  3. Go to folder and install dependencies cd easysubs && npm i
  4. Build extension npm run build

Manual install

  1. Download and unzip latest version
  2. Open extensions page in browser:
    • For Chrome: chrome://extensions/
    • For Firefox: about:debugging#/runtime/this-firefox
    • For Opera: opera://extensions
    • For Yandex browser: browser://tune/
  3. Turn on developer mode (for all except Yandex browser)
  4. Load unpacked extension:
    • For Chrome and Opera: Click to Load unpacked button and select folder
    • For Firefox: Click to Load temporary Add-on... button and select folder
    • For Yandex browser: Drag and drop folder to extensions page

Features

Integration with multiple video services

The list of services will expand at the request of users.
To use the plugin, you must have a subscription to the desired service.

Now supported:

Word and full subtitle translation

Just hover over the word that you want to translate. The video will automatically pause and then start playing when you remove the cursor from the subtitles.
In the translation popup of the word, you can see alternative translations with the frequency of use. word translation

Click on the subtitles to translate the whole sentence. word translation

Export words to learning services

The list of services will expand at the request of users.

Now supported:

For the export to work, you must be logged in to the learning service that you want to use (make sure it's the same browser). Then select the desired service in the extension settings.

word translation

After which a βž•(plus) icon will appear near the words of the translation, by clicking on which the word is exported to the selected service.

word translation

Rewind to previous and next subtitle

Rewind to the previous sentence by pressing ⬅️ (left arrow).
Rewind to the next sentence by pressing ➑️ (right arrow).

Rewind only works if the next/previous sentence is less than 5 seconds apart from the current sentence. Otherwise it'll rewinds 5 seconds.
To force rewinding to the next/previous sentence use alt (option for macOS) + arrow button.

word translation

Subtitle progress bar

At the bottom of the player, there is a subtitles progress bar to simplify navigation between subtitles.
Click on the progress bar to rewind the video to the desired spot.

word translation

Subtitle settings and custom subtitles

The extension allows you to adjust the size of the subtitles and their delay. The default subtitle delay step is 0.25 seconds.
alt (option for macOS) + click the βž• or βž– buttons changes the delay by 1 second.
shift + click the βž• or βž– buttons changes the delay by 5 seconds.

You can also upload your own custom subtitles. Supported are srt and vtt formats.

word translation

Additional features

  • Show all available audio tracks and subtitles on Netflix regardless of region.

Contributing

We are open to community help.
To report a bug or feature offer, create issue and describe the question in detail.

You can also implement the desired feature and send a pull request. We recommend discussing the feature in issues tracker before implementation. This will help reduce your time.