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, а также всем контрибьюторам за помощь в улучшении расширения. Спасиб <3

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

Warning

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

  1. Установите расширение Tampermonkey
  2. «Установите Скрипт»

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

  • Перевод видео на русский, английский или казахский с поддерживаемых языков
  • Перевод прямых трансляций на YouTube (с небольшой задержкой)
  • Отображение субтитров, сгенерированных нейросетью
  • Отображение субтитров с сайта (например, автопереведенные субтитры YouTube)
  • Сохранение субтитров в форматах .srt, .vtt, .json
  • Сохранение аудиодорожки перевода в формате .mp3
  • Автоматический перевод видео при открытии
  • Отдельные ползунки громкости для оригинального и переведённого звука
  • Автонастройка громкости перевода как в Яндекс Браузере
  • Синхронизация громкости перевода с громкостью видео
  • Ограничение перевода видео на родном языке (язык можно выбрать в меню)
  • Перевод по горячей клавише
  • Простая настройка внешнего вида субтитров
  • Отображение перевода отдельных слов в субтитрах

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

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

Примечание:

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

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

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

Наши домены:

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

Proxy-сервер

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

Media Proxy-сервер

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

VOT-Backend

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

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

  1. Установите Node.js 22+ / Bun.sh
  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.

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

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 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 Windows Tampermonkey (MV2)
⠀✅ MS Edge v106.0.1370.34 Windows, Linux Tampermonkey (MV2)
⠀✅ Cent Browser v4.3.9.248 Windows Tampermonkey (MV2)
⠀✅ Cent Browser Beta v5.0.1002.182 Windows Tampermonkey (MV2)
⠀✅ Google Chrome v106 Windows, MacOS, Linux Tampermonkey (MV2), Tampermonkey (MV3), Violetmonkey, OrangeMonkey, User Javascript and CSS
⠀✅ Opera GX (LVL4) core91 Windows Tampermonkey Opera
⠀✅ Opera GX (LVL5) core109 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, Tampermonkey
⠀✅ Kiwi Browser v116.0.5845.61 Android Tampermonkey (MV2)
⠀✅ Yandex Browser v24.4 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)
⠀✅ Opera Tampermonkey Opera
⠀✅ Chrome Tampermonkey (MV3)
⚠️¹ Safari Userscripts
⠀✅ Любой Violetmonkey
⠀❔ Любой AdGuard Usercripts
Гайд по установке Firefox Firemonkey
⠀✅ Firefox Greasemonkey
⚠️² Любой OrangeMonkey
Гайд по установке¹ Любой User Javascript and CSS

¹ - Работает в режиме проксирования, важная функция "Использовать загрузку аудио" недоступна из-за отсутствия unsafeWindow API, что может привести к проблемам с переводом новых видео.

² - RequestIdleCallback выдает множество ошибок в консоли, но расширение работает.

example btn

Основано на проекте sodapng/voice-over-translation (license MIT)

About

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

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published