Find a file
2025-02-27 21:36:19 +03:00
.github Create FUNDING.yml 2024-12-04 01:24:15 +03:00
.husky Updated dev packages 2024-05-24 20:06:22 +03:00
.webpack migrated from vot.js to @vot.js/ext and @vot.js/shared 2024-11-22 00:48:30 +03:00
dist fix: #1120 and #1117 2025-02-27 21:32:45 +03:00
img fix incorrect images 2024-03-13 16:26:04 +03:00
patches chore: revert remove VOTStreamNotSupportedUrl phrase 2025-02-25 03:09:42 +03:00
scripts/wiki-gen fix: invalid output for array of matches 2025-02-21 22:05:44 +03:00
src chore: bump version 2025-02-27 21:33:29 +03:00
tests chore: jsdelivr -> unpkg 2025-02-23 16:13:33 +03:00
.gitignore ignore test file 2024-11-05 01:12:25 +03:00
.oxlintignore rewrited to eslint 9 2024-07-08 03:24:25 +03:00
.prettierignore Updated dev packages 2024-05-24 20:06:22 +03:00
.prettierrc.json Updated dev packages 2024-05-24 20:06:22 +03:00
bun.lock chore: bump depends 2025-02-23 16:12:03 +03:00
changelog.md docs: added 1.9.1 changelog 2025-02-27 21:35:07 +03:00
CONTRIBUTING.md migrated from vot.js to @vot.js/ext and @vot.js/shared 2024-11-22 00:48:30 +03:00
eslint.config.js updated vot.js to 1.4.1 2024-11-14 14:37:57 +03:00
l10n.config.json chore: small fixes after migration to localize-tui 2025-01-11 03:13:48 +03:00
LANG_SUPPORT.md improved readme (634#discussioncomment-9788714) 2024-06-17 15:30:07 +03:00
LICENSE Обновлен год лицензии до 2022 2022-04-16 01:08:12 +03:00
package-lock.json fix: #1120 and #1117 2025-02-27 21:32:45 +03:00
package.json fix: #1120 and #1117 2025-02-27 21:32:45 +03:00
README-EN.md docs: fix typo 2025-02-19 03:23:47 +03:00
README.md docs: added info about translation separated words in subtitle 2025-02-19 03:17:37 +03:00
tsconfig.json changed audio context player tone.js -> chaimu 2024-10-29 00:57:20 +03:00

Закадровый перевод видео

en ru

Caution

Перед созданием Issues настоятельно рекомендуем ознакомиться с разделом FAQ, а так же с уже существующими Issues

Warning

Расширение создано исключительно в исследовательских целях и не предназначена для коммерческого использования. Все права на оригинальное программное обеспечение принадлежат их правообладателям. Расширение не связана с оригинальными правообладателями

Закадровый перевод видео, теперь, доступен не только в YandexBrowser. Очень признателен, Yandex.Translate, sodapng, mynovelhost, SashaXser и всем остальным контрибьюторам. Спасиб <3

Установка расширения:

Warning

Если вы пользуетесь Tampermonkey 5.2.0+, не забудьте включить режим разработчика или используйте Tampermonkey MV2

  1. Установите расширение Tampermonkey (Альтернатива для Safari: UserScripts)
  2. «Установите Скрипт»

Список функционала:

  1. Перевод видео с одного из доступных языков на русский, английский или казахский
  2. Перевод стримов на YouTube (работает с небольшой задержкой)
  3. Отображение субтитров сгенерированных нейросетью
  4. Отображение субтитров от сайта (на YouTube дополнительно отображаются субтитры, которые автоматически переводятся сайтом на выбранный язык)
  5. Сохранение используемых субтитров (поддерживаемые форматы: .srt, .vtt, .json)
  6. Сохранение аудиодорожки перевода (в .mp3 формате)
  7. Автоматический перевод видео при открытие
  8. Слайдеры для изменения громкости видео и перевода
  9. Автоматическое выставление громкости переведенного видео (как в Яндекс браузере)
  10. Синхронизация громкости перевода с громкостью видео
  11. Ограничение перевода видео с родного языка (язык можно выбрать в меню)
  12. Перевод с помощью горячей клавиши
  13. Настройка оформления субтитров
  14. Просмотр перевода для отдельных слов в субтитрах

Полезные ссылки:

  1. Библиотека для JS (vot.js): Ссылка
  2. Версия для терминала (vot-cli): Ссылка
  3. Вики: Ссылка

Примечание:

  1. Рекомендую разрешить автовоспроизведение "аудио и видео", чтобы избежать ошибок при работе расширения
  2. Расширение не может переводить видео длиной более 4 часов (ограничение API переводчика)

Список поддерживаемых сайтов:

Полный список поддерживаемых веб-сайтов и все ограничения, связанные с их поддержкой, вы можете увидеть в вики

Наши домены:

Эти домены могут быть установлены в настройках расширения (здесь указаны только те домены, которые можно изменить без пересборки):

Proxy-сервер

Необходим для проксирования запросов, если не получается сделать прямой запрос к серверам Яндекса

Media Proxy-сервер

Необходим для проксирования .m3u8 файлов и исправления перевода для непрямых ссылок на .mp4 или .webm (подробнее в репозитории)

VOT-Backend

Необходим для перевода дополнительных сайтов, которые используют формат видео, который не поддерживается серверами Яндекса.

Как собрать расширение?

  1. Установите Node.js 18.18+ / Bun
  2. Установите зависимости:

NPM:

npm install

Bun:

bun install --yarn
  1. Сборка расширения:

    3.0. Все версии сразу:

    npm run build
    

    3.1. Все минифицированные версии сразу:

    npm run build:min
    

    3.2. Только обычная версии:

    npm run build:default
    

    3.3. Только обычная мин. версии:

    npm run build:default-min
    

Как патчить vot.js?

  1. Внесите нужные изменения в node_modules/@vot.js/package_name/нужный файл
  2. Сохраните изменения с помощью:

NPM:

npx patch-package @vot.js/package_name

Bun:

bunx patch-package --use-yarn @vot.js/package_name

Не пользуйтесь патчами из bun patch или из каких-либо npm пакетов. Они будут несовместимы с patch-package, а так же могут ломаться при обновлении пакета.

Как обновлять файлы локализации?

Для всего взаимодействия с файлами локализации сделана консольная утилита localize-tui.

Для вызова утилиты используйте команду:

NPM:

npx @toil/localize-tui

Bun:

bunx @toil/localize-tui

или

bun localize

Подробнее о утилите можно прочитать тут

Кастомизация внешнего вида:

Расширение поддерживает кастомизацию внешнего вида с помощью Stylus, Stylish и других подобных расширений

Пример изменения стилей:

/* ==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-color: rgb(var(--vot-onsurface-rgb, 227, 227, 227));
  --vot-subtitles-passed-color: rgb(var(--vot-primary-rgb, 33, 150, 243));
}

Расширение протестировано в следующих браузерах:

Статус Браузер Версия браузера Платформа Расширение
⠀✅ Firefox Developer Edition v106 — v129, 64 bit Windows Tampermonkey (MV2), FireMonkey, VioletMonkey, Greasemonkey
⠀✅ 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 v1.46 - v1.68.134 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 — v127 Windows, MacOS, Linux Tampermonkey (MV2), Tampermonkey (MV3), Violetmonkey, OrangeMonkey, User Javascript and CSS
⠀✅ 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)
⠀✅ Incognition v4.1.1.0 (v125) Windows Tampermonkey (MV3), Tampermonkey (MV2)

Работа с современной версией Tampermonkey (MV3) не тестировалась в большинстве браузеров. При наличие проблем рекомендуется использовать Tampermonkey Legacy (MV2)

Для активации скрипта в Tampermonkey (MV3) необходимо включить "Developer Mode"

Протестировано в следующих расширениях для юзерскриптов:

Статус Браузер Расширение
⠀✅ Любой Tampermonkey Legacy (MV2)
⠀✅ Opera Tampermonkey Opera
⠀✅ Chrome Tampermonkey (MV3)
⠀❔ Safari Userscripts
⠀✅ Любой Violetmonkey
⠀❔ Любой AdGuard Usercripts
⠀Гайд по установке Firefox Firemonkey
⠀✅ Firefox Greasemonkey
⚠️ RequestIdleCallback сыпет ошибками, но работает Любой OrangeMonkey
⠀Гайд по установке Любой User Javascript and CSS

example btn