{"id":13607899,"url":"https://github.com/ilyhalight/voice-over-translation","last_synced_at":"2026-04-02T13:33:01.956Z","repository":{"id":36988185,"uuid":"450906609","full_name":"ilyhalight/voice-over-translation","owner":"ilyhalight","description":"Небольшое расширение, которое добавляет закадровый перевод видео из YaBrowser в другие браузеры","archived":false,"fork":false,"pushed_at":"2025-05-07T15:28:20.000Z","size":19480,"stargazers_count":4886,"open_issues_count":133,"forks_count":312,"subscribers_count":43,"default_branch":"master","last_synced_at":"2025-05-07T16:30:03.943Z","etag":null,"topics":["extension","userscript","vot","vtrans"],"latest_commit_sha":null,"homepage":"https://votdocs.toil.cc/ecosystem/voice-over-translation.html","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"sodapng/voice-over-translation","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ilyhalight.png","metadata":{"files":{"readme":"README-EN.md","changelog":"changelog.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"custom":"https://toil.cc/donate"}},"created_at":"2022-01-22T18:48:22.000Z","updated_at":"2025-05-07T15:37:55.000Z","dependencies_parsed_at":"2025-04-13T03:37:10.732Z","dependency_job_id":"1d0f7763-0b2e-4306-abf9-d09795fbc8e0","html_url":"https://github.com/ilyhalight/voice-over-translation","commit_stats":null,"previous_names":[],"tags_count":109,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyhalight%2Fvoice-over-translation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyhalight%2Fvoice-over-translation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyhalight%2Fvoice-over-translation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ilyhalight%2Fvoice-over-translation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ilyhalight","download_url":"https://codeload.github.com/ilyhalight/voice-over-translation/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254036842,"owners_count":22003654,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["extension","userscript","vot","vtrans"],"created_at":"2024-08-01T19:01:22.627Z","updated_at":"2026-04-02T13:33:01.949Z","avatar_url":"https://github.com/ilyhalight.png","language":"JavaScript","funding_links":["https://toil.cc/donate"],"categories":["TypeScript"],"sub_categories":[],"readme":"# Voice Over Translation\n\n\u003c!-- loaders links (website \u003e github \u003e store) --\u003e\n\n[tampermonkey-link]: https://www.tampermonkey.net/index.php\n[violentmonkey-opera]: https://chrome.google.com/webstore/detail/violent-monkey/jinjaccalgkegednnccohejagnlnfdag\n[userscripts-safari]: https://github.com/quoid/userscripts\n[violetmonkey-link]: https://violentmonkey.github.io\n[adguard-userscripts]: https://kb.adguard.com/en/general/userscripts#supported-apps\n[firemonkey-link]: https://erosman.github.io/firemonkey/\n[greasemonkey-link]: https://github.com/greasemonkey/greasemonkey\n[user-js-and-css-link]: https://tenrabbits.github.io/user-js-css-docs/\n\n\u003c!-- FAQs / Wiki --\u003e\n\n[firemonkey-how-to]: https://github.com/ilyhalight/voice-over-translation/wiki/%5BEN%5D-FAQ#%D0%BA%D0%B0%D0%BA-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81-firemonkey\n[user-js-and-css-how-to]: https://github.com/ilyhalight/voice-over-translation/wiki/%5BEN%5D-FAQ#%D0%BA%D0%B0%D0%BA-%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C-%D1%80%D0%B0%D1%81%D1%88%D0%B8%D1%80%D0%B5%D0%BD%D0%B8%D0%B5-%D1%81-user-js-and-css\n[devmode-enable]: https://www.tampermonkey.net/faq.php#Q209\n[opera-search-results-access]: https://help.opera.com/en/extensions/content-scripts/\n[vot-faq]: https://github.com/ilyhalight/voice-over-translation/wiki/%5BEN%5D-FAQ\n[vot-supported-sites]: https://github.com/ilyhalight/voice-over-translation/wiki/%5BEN%5D-Supported-sites\n[vot-wiki]: https://github.com/ilyhalight/voice-over-translation/wiki\n\n\u003c!-- Our servers --\u003e\n\n[vot-balancer]: https://vot-worker.toil.cc/health\n[vot-worker]: https://github.com/FOSWLY/vot-worker\n[media-proxy]: https://github.com/FOSWLY/media-proxy\n[vot-backend]: https://github.com/FOSWLY/vot-backend\n[vot-status]: https://votstatus.toil.cc\n[vot-stats]: https://votstats.toil.cc\n\n\u003c!-- Install / Build --\u003e\n\n[vot-dist]: https://raw.githubusercontent.com/ilyhalight/voice-over-translation/master/dist/vot.user.js\n[vot-releases]: https://github.com/ilyhalight/voice-over-translation/releases\n[nodejs-link]: https://nodejs.org\n[bun-link]: https://bun.sh/\n\n\u003c!-- Badges --\u003e\n\n[badge-en]: https://img.shields.io/badge/lang-English%20%F0%9F%87%AC%F0%9F%87%A7-white\n[badge-ru]: https://img.shields.io/badge/%D1%8F%D0%B7%D1%8B%D0%BA-%D0%A0%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9%20%F0%9F%87%B7%F0%9F%87%BA-white\n\n\u003c!-- Other --\u003e\n\n[vot-readme-ru]: README.md\n[vot-readme-en]: README-EN.md\n[vot-langs]: LANG_SUPPORT.md\n[vot-issues]: https://github.com/ilyhalight/voice-over-translation/issues\n[votjs-link]: https://github.com/FOSWLY/vot.js\n[vot-cli-link]: https://github.com/FOSWLY/vot-cli\n[yabrowser-link]: https://browser.yandex.com\n[yatranslate-link]: https://translate.yandex.ru/\n[contributors-link]: https://github.com/ilyhalight/voice-over-translation/graphs/contributors\n\n\u003c!-- Content --\u003e\n\n[![ru][badge-ru]][vot-readme-ru]\n[![en][badge-en]][vot-readme-en]\n\n\u003e [!CAUTION]\n\u003e Before creating Issues, we strongly recommend that you read the [FAQ][vot-faq] section and with existing [Issues][vot-issues].\n\n\u003e All rights to the original software belong to their respective owners. This extension is not affiliated with the original rights holders.\n\nVoice-over translation is now available beyond [Yandex Browser][yabrowser-link]. Thanks to the **[Yandex.Translate][yatranslate-link]** team and all [contributors][contributors-link] helping improve this project.\n\n## Installing the extension:\n\n\u003e [!WARNING]\n\u003e **Important for Tampermonkey 5.2+ (MV3) users:**\n\u003e In **Chromium**-based browsers (Chrome, Edge, Brave, Vivaldi, etc.) you must:\n\u003e 1. Open the extensions page (`chrome://extensions`) and enable **\"Developer mode\"** (details in [Tampermonkey documentation][devmode-enable]).\n\u003e 2. If you use **Chromium 138+**, open extension details and enable **\"Allow User Scripts\"**.\n\u003e\n\u003e **For Opera users:**\n\u003e 1. Use **[Violentmonkey][violentmonkey-opera]** instead of Tampermonkey.\n\u003e 2. In the extension settings, enable **\"Allow access to search page results\"** (Opera guide: [where to find this setting][opera-search-results-access]), otherwise the script will not work.\n\n1. Install a userscript manager: **[Tampermonkey][tampermonkey-link]** (or [Violentmonkey][violentmonkey-opera] for Opera)\n2. **[Install the script][vot-dist]**\n\n### Install Native Extension for Chrome / Chromium\n\n1. Open [Releases][vot-releases] and download `vot-extension-chrome-\u003cversion\u003e.zip`\n2. Open your extensions page:\n   - Chrome: `chrome://extensions`\n   - Edge: `edge://extensions`\n   - Brave: `brave://extensions`\n   - Opera: `opera://extensions`\n3. Enable **Developer mode**\n4. Drag and drop the downloaded `.zip` file onto the extensions page\n\n### Install Native Extension for Firefox\n\n1. Open [Releases][vot-releases], click `vot-extension-firefox-\u003cversion\u003e.xpi`, and confirm installation in Firefox\n\n## List of features:\n\n- Translate videos into Russian, English, or Kazakh from [supported source languages][vot-langs]\n- Auto-translate videos on open\n- Auto-enable subtitles on open\n- Smart subtitle layout that adapts line width and text size to player dimensions\n- Display AI-generated subtitles\n- Display site-provided subtitles (for example, auto-translated YouTube subtitles)\n- Save subtitles in `.srt`, `.vtt`, and `.json` formats\n- Save translated audio as `.mp3`\n- Separate volume sliders for original and translated audio\n- Adaptive volume: duck original audio while translated speech is playing\n- Limit translation for videos in your native language (language can be selected in the menu)\n- Link translation volume with video volume\n- Limit translation from selected languages\n- Hotkeys for translation and subtitles (including key combinations)\n- Easy subtitle appearance customization\n- Word-by-word translation directly in subtitles\n\n### Useful links:\n\n1. JavaScript library (vot.js): **[Link][votjs-link]**\n2. Terminal version (vot-cli): **[Link][vot-cli-link]**\n3. Wiki: **[Link][vot-wiki]**\n\n## Note:\n\n1. It is recommended to allow autoplay for audio/video to avoid runtime playback errors\n2. The extension cannot translate videos longer than 4 hours (translator API limitation)\n3. For stable audio-download flow, use up-to-date and supported userscript managers (for example, Tampermonkey or Violentmonkey)\n\n## List of supported sites:\n\nYou can find the full list of supported websites and their specific limitations in the **[wiki][vot-supported-sites]**.\n\n### Our domains:\n\nThese domains can be set in the extension settings (only those domains that can be changed without rebuilding are listed here):\n\n#### Proxy-server\n\nRequired for proxying requests when direct access to Yandex servers is unavailable.\n\n- [vot-worker.toil.cc][vot-balancer] (Load balancer between proxy servers)\n- [vot-worker-s1.toil.cc][vot-worker]\n- [vot-worker-s2.toil.cc][vot-worker]\n- [vot.deno.dev][vot-worker]\n- [vot-new.toil-dump.workers.dev][vot-worker] (⚠️ doesn't work in Russia)\n\n#### Media Proxy-server\n\nIt's necessary for proxying `.m3u8` files and correcting the translation for indirect links to `.mp4` or `.webm`(for more information in the repository)\n\n- [media-proxy.toil.cc][media-proxy]\n\n#### VOT-Backend\n\nIt's necessary to translate additional sites that use the `.m3u8` or `.mpd` video format.\n\n- [vot.toil.cc][vot-backend]\n\n#### VOT Status and Stats\n\nCheck current status and uptime of all servers here:\n\n- [votstatus.toil.cc][vot-status]\n\nCheck proxy server usage statistics (updated every 5 minutes):\n\n- [votstats.toil.cc][vot-stats]\n\n## How to build an extension?\n\n1. Install [Node.js 22+][nodejs-link] / [Bun.sh][bun-link]\n2. Install dependencies:\n\nNPM:\n\n```bash\nnpm install\n```\n\nBun:\n\n```bash\nbun install\n```\n\n3. Build targets:\n\n   3.0. Userscript (regular build):\n\n   ```bash\n   npm run build\n   ```\n\n   3.1. Userscript (minified build):\n\n   ```bash\n   npm run build:min\n   ```\n\n   3.2. Userscript (both variants):\n\n   ```bash\n   npm run build:all\n   ```\n\n   3.3. Native Chrome/Firefox extension packages:\n\n   ```bash\n   npm run build:ext\n   ```\n\n   3.4. Development userscript build with sourcemaps:\n\n   ```bash\n   npm run build:dev\n   ```\n\nUserscript artifacts are generated in `dist/`, native extension artifacts in `dist-ext/`.\n\n## Customization of appearance:\n\nThe extension supports appearance customization via Stylus, Stylish, and similar tools.\n\nExample style override:\n\n```css\n/* ==UserStyle==\n@name         VOT-styles\n@version      16.09.2023\n@namespace    vot-styles\n@description  LLL\n@author       Toil\n@license      No License\n==/UserStyle== */\n\n:root {\n  --vot-font-family: \"Roboto\", \"Segoe UI\", BlinkMacSystemFont, system-ui,\n    -apple-system;\n\n  --vot-primary-rgb: 139, 180, 245;\n  --vot-onprimary-rgb: 32, 33, 36;\n  --vot-surface-rgb: 32, 33, 36;\n  --vot-onsurface-rgb: 227, 227, 227;\n\n  --vot-subtitles-color: rgb(var(--vot-onsurface-rgb, 227, 227, 227));\n  --vot-subtitles-passed-color: rgb(var(--vot-primary-rgb, 33, 150, 243));\n}\n```\n\n## Tested browsers and loaders\n\nThis list is updated infrequently but is usually still relevant.\n\nThe extension has been tested in the following browsers:\n\n| Status | Browser                   | Min. Browser Version | Platform                | Extension                                                                                   |\n| ------ | ------------------------- | -------------------- | ----------------------- | ------------------------------------------------------------------------------------------- |\n| ✅     | Firefox Developer Edition | v106                 | Windows                 | Tampermonkey (MV2), FireMonkey, Violentmonkey, Greasemonkey                                  |\n| ✅     | Firefox                   | v116.0.2             | Windows, Linux, Android | Tampermonkey (MV2), Violentmonkey                                                            |\n| ✅     | Firefox Nightly           | v118.0a1             | Windows, Android        | Tampermonkey (MV2)                                                                          |\n| ✅     | LibreWolf                 | v100.0.2-1           | Windows                 | Tampermonkey (MV2)                                                                          |\n| ✅     | Brave                     | v1.46                | Windows                 | Tampermonkey (MV2)                                                                          |\n| ✅     | MS Edge                   | v106.0.1370.34       | Windows, Linux          | Tampermonkey (MV2)                                                                          |\n| ✅     | Cent Browser              | v4.3.9.248           | Windows                 | Tampermonkey (MV2)                                                                          |\n| ✅     | Cent Browser Beta         | v5.0.1002.182        | Windows                 | Tampermonkey (MV2)                                                                          |\n| ✅     | Google Chrome             | v106                 | Windows, MacOS, Linux   | Tampermonkey (MV2), Tampermonkey (MV3), Violentmonkey, User Javascript and CSS |\n| ✅     | Opera GX (LVL4)           | core91               | Windows                 | Violentmonkey                                                                               |\n| ✅     | Opera GX (LVL5)           | core109              | Windows                 | Violentmonkey                                                                               |\n| ✅     | Opera                     | v92.0.4561.43        | Windows                 | Violentmonkey                                                                               |\n| ✅     | Vivaldi                   | 5.7.2921.63          | Windows, Linux          | Tampermonkey (MV2)                                                                          |\n| ✅     | Safari                    | v15.6.1              | MacOS, iOS              | Userscripts, Tampermonkey                                                                   |\n| ✅     | Kiwi Browser              | v116.0.5845.61       | Android                 | Tampermonkey (MV2)                                                                          |\n| ✅     | Yandex Browser            | v24.4                | Windows                 | Tampermonkey (MV2), Tampermonkey (MV3)                                                     |\n| ✅     | Arc                       | v1.6.1               | Windows                 | Tampermonkey (MV3)                                                                          |\n| ✅     | Incognition               | v4.1.1.0 (v125)      | Windows                 | Tampermonkey (MV3), Tampermonkey (MV2)                                                     |\n\nMin. browser version is the lowest version where the extension was tested. This does not guarantee behavior on older versions. Please note that we **do not** support or fix issues in outdated browsers.\n\nTo activate the script in Tampermonkey (MV3), you must [enable \"Developer Mode\"][devmode-enable].\n\nTested in the following userscript manager extensions:\n\n| Status                    | Browser | Extension                                       |\n| ------------------------- | ------- | ----------------------------------------------- |\n| ✅                        | Any     | [Tampermonkey Legacy (MV2)][tampermonkey-link]  |\n| ✅                        | Opera   | [Violentmonkey][violentmonkey-opera]           |\n| ✅                        | Chrome  | [Tampermonkey (MV3)][tampermonkey-link]        |\n| ⚠️¹                       | Safari  | [Userscripts][userscripts-safari]              |\n| ✅                        | Any     | [Violentmonkey][violetmonkey-link]             |\n| ❔                        | Any     | [AdGuard Userscripts][adguard-userscripts]     |\n| [Install guide][firemonkey-how-to] | Firefox | [Firemonkey][firemonkey-link]                  |\n| ✅                        | Firefox | [Greasemonkey][greasemonkey-link]              |\n| [Install guide][user-js-and-css-how-to]¹ | Any     | [User Javascript and CSS][user-js-and-css-link] |\n\n¹ - Works in proxy mode, disabling the \"Use audio download\" feature may cause issues with newly requested translations.\n\n## Contributing\n\nPlease refer to the [contributing guide](./CONTRIBUTING.md).\n\n![example btn](https://github.com/ilyhalight/voice-over-translation/blob/master/img/example_en.png \"btn\")\n\n\u003e Based on [sodapng/voice-over-translation](https://github.com/sodapng/voice-over-translation) project (license MIT)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filyhalight%2Fvoice-over-translation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filyhalight%2Fvoice-over-translation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filyhalight%2Fvoice-over-translation/lists"}