Skip to content

Небольшое расширение, которое добавляет закадровый перевод видео из YaBrowser в другие браузеры

License

Notifications You must be signed in to change notification settings

ilyhalight/voice-over-translation

 
 

Repository files navigation

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

en ru

Caution

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

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

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

Warning

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

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

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

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

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

  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/нужный файл
  2. Сохраните изменения с помощью:

NPM (не тестил, но должно работать):

npx patch-package vot.js

Bun:

bunx patch-package --use-yarn vot.js

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

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

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

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

bun l10n

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

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

Расширение поддерживает кастомизацию внешнего вида с помощью 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

About

Небольшое расширение, которое добавляет закадровый перевод видео из YaBrowser в другие браузеры

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 79.6%
  • SCSS 16.7%
  • TypeScript 3.7%