14 KiB
Voice-over-translation
Caution
WIP. All necessary depends will be opened with the release of beta
Caution
Before creating Issues, we strongly recommend that you read the FAQ section, as well as with existing Issues
The voice-over translation of the video is now available not only in YandexBrowser. Very grateful, Yandex.Translate, sodapng, mynovelhost, SashaXser and to all other contributors. Thanks <3
Installing the extension:
Warning
If you use Tampermonkey 5.2.0+, don't forget to enable Developer mode or use Tampermonkey MV2
- Install the extension Tampermonkey (An alternative for Safari: UserScripts)
- «Install the Script» (Cloudflare version)
List of functionality:
- Video translation from one of the available languages in russian, english or kazakh
- Translation of streams to YouTube (works with a slight delay)
- Displaying subtitles generated by the neural network (autogenerated subtitles are additionally displayed on YouTube)
- Saving used subtitles (in
.srtformat) - Saving the audio track of the translation (in
.mp3format) - Automatic video translation when opening
- Sliders for changing video volume and translation
- Automatic setting of the translated video volume (as in Yandex browser)
- Synchronizing the translation volume with the video volume
- Limit the translation of videos from your native language (you can select the language in the menu)
- Audio proxying if you have banned Yandex servers (in the Cloudflare version)
Useful links:
- Version for VioletMonkey, FireMonkey, GreaseMonkey, AdGuard, OrangeMonkey, UserScripts and some browsers (cloudflare-version): Link
- Terminal version (vot-cli): Link
- Wiki: Link
Note:
- I recommend allowing autoplay of "audio and video" to avoid errors when working with the extension
- The extension cannot translate videos longer than 4 hours (translator API limitation)
List of supported sites:
You can see all the restrictions related to site support in wiki.
- YouTube
- Twitch
- VK
- OK
- 9GAG
- Rutube
- Bilibili
- Video Mail.ru
- Vimeo
- XVideos
- PornHub
- Bitchute
- Coursera
- [⚠️] Udemy
- [⚠️] Facebook*
- TikTok
- Rumble
- EPorner
- Peertube
- Dailymotion
- Trovo
- [⚠️] Yandex Disk
- Google Drive
- Banned Video
- Weverse
- Egghead
- Youku
- Archive.org
- Newgrounds
- ProxiTok
- Invidious
- Piped
- Any direct web links to
.mp4
⚠️ - Requires additional actions, more in Wiki
Our domains:
These domains can be set in the extension settings (only those domains that can be changed without rebuilding are listed here):
Proxy-server
Warning
In the next version, the domain
vot.toil.ccwill be replaced byvot-worker.toil.cc. If you don't plan to upgrade extension and you are using the cloudflare version, then you will need to install the domain yourselfvot-worker.toil.ccin the extension menu
- vot-worker.toil.cc (Load balancer between proxy servers)
- vot-worker-s1.toil.cc
- vot.deno.dev
- vot-new.toil-dump.workers.dev (⚠️ doesn't work in Russia)
M3U8 Proxy-server
- m3u8-proxy.toil.cc
- m3u8-proxy.toiloff.workers.dev (⚠️ doesn't work in Russia. It's not recommended for use due to low limits.)
How to build an extension?
- Install Node.js 18.18+ / Bun.sh
- Install dependencies:
npm i
-
Building an extension:
3.0. All versions at once:
npm run build3.1. All minified versions at once:
npm run build:min3.2. Only the regular version:
npm run build:default3.3. Cloudflare version only:
npm run build:cloudflare3.2. Only the usual min. versions:
npm run build:default-min3.3. Only min. Cloudflare versions:
npm run build:cloudflare-min -
Installing the pre-commit hook:
npm run prepare
How to patch vot.js
- Make the necessary changes to node_modules/vot.js/the required file
- Save the changes using:
NPM (not tested, but it should work):
npx patch-package vot.js
Bun:
bunx patch-package --use-yarn vot.js
Do not use patches from the bun patch or from any npm packages. They will be incompatible with the patch-package, and may also break when updating the package.
Customization of appearance:
The extension supports customization of the appearance using Stylus, Stylish and other similar extensions
Example of changing styles:
/* ==UserStyle==
@name VOT-styles
@version 16.09.2023
@namespace vot-styles
@description LLL
@author Toil
@license No License
==/UserStyle== */
:root {
--vot-font-family: "Roboto", "Segoe UI", BlinkMacSystemFont, system-ui,
-apple-system;
--vot-primary-rgb: 139, 180, 245;
--vot-onprimary-rgb: 32, 33, 36;
--vot-surface-rgb: 32, 33, 36;
--vot-onsurface-rgb: 227, 227, 227;
--vot-subtitles-background: rgba(var(--vot-surface-rgb, 46, 47, 52), 0.8);
--vot-subtitles-color: rgb(var(--vot-onsurface-rgb, 227, 227, 227));
--vot-subtitles-passed-color: rgb(var(--vot-primary-rgb, 33, 150, 243));
}
The extension has been tested in the following browsers:
| Status | Browser | Browser Version | Platform | Extension |
|---|---|---|---|---|
| ⠀✅ | Firefox Developer Edition | v106 — v128, 64 bit | Windows | Tampermonkey (MV2) |
| ⠀✅ | Firefox | v116.0.2 | Windows, Linux, Android | Tampermonkey (MV2), Violetmonkey |
| ⠀✅ | Firefox Nightly | v118.0a1 | Windows, Android | Tampermonkey (MV2) |
| ⠀✅ | LibreWolf | v100.0.2-1 | Windows | Tampermonkey (MV2) |
| ⠀✅ | Brave | v106.0.5249.91 | Windows | Tampermonkey (MV2) |
| ⠀✅ | MS Edge | v106.0.1370.34 | Windows, Linux | Tampermonkey (MV2) |
| ⠀✅ | Cent Browser | v4.3.9.248, 32 bit | Windows | Tampermonkey (MV2) |
| ⠀✅ | Cent Browser Beta | v5.0.1002.182, 64 bit | Windows | Tampermonkey (MV2) |
| ⠀✅ | Google Chrome | v106 — 126 | Windows, MacOS, Linux | Tampermonkey (MV2), Tampermonkey (MV3), Violetmonkey, OrangeMonkey |
| ⠀✅ | Opera GX | LVL4 (core: 91) - LVL5 (core 109) | Windows | Tampermonkey Opera |
| ⠀✅ | Opera | v92.0.4561.43 | Windows | Tampermonkey Opera |
| ⠀✅ | Vivaldi | 5.7.2921.63 | Windows, Linux | Tampermonkey (MV2) |
| ⠀✅ | Safari | v15.6.1 | MacOS, iOS | Userscripts |
| ⠀✅ | Kiwi Browser | v116.0.5845.61 | Android | Tampermonkey (MV2) |
| ⠀✅ | Yandex Browser | v24.4-24.6 | Windows | Tampermonkey (MV2), Tampermonkey (MV3) |
| ⠀✅ | Arc | v1.6.1 | Windows | Tampermonkey (MV3) |
Working with the modern version of Tampermonkey (MV3) has not been tested in most browsers. If there are problems, it is recommended to use Tampermonkey Legacy (MV2)
To activate the script in Tampermonkey (MV3), you must enable "Developer Mode"
Tested in the following extensions for user scripts:
| Status | Browser | Extension |
|---|---|---|
| ⠀✅ | Any | Tampermonkey Legacy (MV2) |
| ⠀✅ | Opera | Tampermonkey Opera |
| ⠀✅ | Chrome | Tampermonkey (MV3) |
| ⠀❔ | Safari | Userscripts |
| ⠀✅ | Any | Violetmonkey |
| ⠀❔ | Any | AdGuard Usercripts |
| ⠀Install guide | Firefox | Firemonkey |
| ⠀✅ | Firefox | Greasemonkey |
| ⠀⚠️ requestIdleCallback is full of errors, but it works | Any | OrangeMonkey |
| ⠀Install guide | Any | User Javascript and CSS |
*: Banned on the territory of the Russian Federation
