[RU] FAQ
Toil edited this page 2025-06-13 01:30:33 +03:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

У меня не появилась кнопка расширения, что делать?

  1. Проверьте, что загрузчик (Tampermonkey и т.п.) и само расширение включены
  2. Проверьте, что Tampermonkey не просит вас включить режим разработчика
  3. Проверьте консоль на наличие ошибок
  4. Все еще не работает? Создайте Issue и подробно опишите все шаги для воспроизведения, а так же не забудьте добавить логи консоли

Как включить "Обход Media CSP"? Или что делать, если нет озвучки у видео?

Для решения этой проблемы может быть несколько вариантов решений:

  1. Обход через встроенный механизм обхода Media CSP

1.1. Зайти на любой сайт, поддерживаемый скриптом

1.2. Зайти в меню скрипта и перейти в настройки

1.3. Активировать функцию "Обход Media CSP" (если функция не доступна, возможно, у вас выключен Web Audio API)

  1. Обход через Tampermonkey

1.1. Включите режим конфигурации "Опытный" в Tampermonkey

1.2. В списке "Добавить TM в политику безопасности CSP:" установите значение "Да" (для некоторых сайтов может потребоваться установить "Удалить полностью (небезопасно)"

1.3. Нажмите на кнопку "Сохранить"

1.4. Перезагрузите страницу с видео

  1. Воспользуйтесь сторонними расширениями для браузера, которые полностью удаляют CSP со страницы

Можно ли как-то переводить локальные видео?

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

Можно ли как-либо изменить финальную озвучку? (изменить голос, исправить ошибки и т.п.)

Нет. Озвучка происходит на серверах Яндекса и как-либо повлиять на нее нельзя.

У меня есть идея касательно расширения, где я могу ее осветить?

Warning

Не забудьте проверить, что такого предложения еще не было.

Все ваши идеи, касательно расширения вы можете осветить в Issues.

Как скачать видео с переводом?

Для этого создана специальная консольная утилита VOT-CLI

Как использовать расширение с FireMonkey?

  1. Установите расширение FireMonkey
Установка

изображение

  1. Скопируйте весь код из vot.user.js
Правильное копирование кода

изображение

  1. Зайдите в настройки FireMonkey (нажмите по иконке расширения -> Опции)
  2. Перейдите во вкладку "Скрипты и стили" и добавьте новый скрипт
Добавление скрипта

firefox_Ko9wwEyRuH

4.1. Перейдите во вкладку "Скрипты и стили"

4.2. Нажмите на кнопку создания нового скрипта

4.3. Вставьте код скрипта

  1. Добавьте правило // @inject-into page перед строчкой начинающейся с // @grant ...
Добавление правила

изображение

5.1. Найдите строчку начинающуюся с // @grant ..., в нашем примере это // @grant GM_addStyle

5.2. Добавьте правило // @inject-into page перед найденной строкой

  1. Сохраните скрипт с помощью сочетания "Ctrl + S" или используя кнопку "Сохранить"

Как использовать расширение с User JS and CSS?

  1. Установите расширение User JS and CSS
Установка

изображение изображение

  1. Скопируйте весь код из vot.user.js
Правильное копирование кода

изображение

  1. Создайте новое правило и вставьте скопированный код
Создание нового правила

изображение

3.1. Нажимаем создать новое правило

3.2. Пишем название правила - VOT

3.3. Задаем URL паттерн по которому будет работать правило. На скриншоте используется паттерн https://*/* для работы на всех сайтах, если вам это не подходит, вы можете вручную указать все нужные сайты через запятую из строчек начинающихся на // @match, например: *://*.youtube.com/*, *://*.youtube-nocookie.com/*

Пример строки начинающейся с "// @match"

изображение

3.4. Вставляем скопированный код

3.5. Нажимаем "Сохранить" справа сверху

  1. Создайте внешние модули для всех скриптов начинающихся с // @require. Не забудьте добавить полифил для GM_info.
Создание внешних модулей
Пример строки начинающейся с "// @require"

Здесь,

Выделенный фрагмент - ссылка на библиотеку.

Название библиотеки - Protobuf min.

изображение

изображение

4.1. Нажимаем слева на вкладку "Внешние модули"

4.2. Нажимаем на кнопку "Добавить новый"

4.3. Вводим название библиотеки (обычно понятно по названию файла в конце ссылки) и саму ссылку на библиотеку

4.4. Нажимаем на кнопку "Добавить"

  • Примечание: иногда добавление криво работает и дублирует уже существующий скрипт. Перезагрузка страницы поможет это исправить.

Так необходимо проделать со всеми библиотеками из строчек начинающихся с //@require

4.5. Не забудьте добавить библиотеку "GM_info Polyfill", иначе расширение работать не будет:

https://gist.githubusercontent.com/ilyhalight/94313e32c9e5efa791de82306c390d5f/raw/5d6b12792fdac55260afcaa393772b3103c4a500/gm-info-polyfill.js
Пример всех необходимых библиотек для версии расширения 1.5.3.1
Название Ссылка
1 Protobuf Min https://cdn.jsdelivr.net/npm/protobufjs/dist/light/protobuf.min.js
2 HLS Light https://cdn.jsdelivr.net/npm/hls.js/dist/hls.light.min.js
3 GM_addStyle polyfill https://gist.githubusercontent.com/ilyhalight/6eb5bb4dffc7ca9e3c57d6933e2452f3/raw/7ab38af2228d0bed13912e503bc8a9ee4b11828d/gm-addstyle-polyfill.js
4 GM_info polyfill https://gist.githubusercontent.com/ilyhalight/94313e32c9e5efa791de82306c390d5f/raw/5d6b12792fdac55260afcaa393772b3103c4a500/gm-info-polyfill.js
  1. Включите добавленные модули для правила VOT
Включение модулей

изображение

  1. Готово. При обновление скрипта вам потребуется обновить, только, код правила и перекачать внешние модули (кнопка "Скачать повторно" появляется при нажатие редактировать на нужном модуле).

Как использовать расширение в qutebrowser?

  1. Установите qutebrowser

  2. Введите в браузере команду :version. На открывшейся странице найдите путь Paths - data

Как выглядит

изображение

  1. Скопируйте найденный путь и добавьте к нему в конце /greasemonkey
Пример

Значение data: /home/username/.local/share/qutebrowser

Финальный путь: /home/username/.local/share/qutebrowser/greasemonkey

  1. Закройте браузер

  2. Создайте новый файл vot.user.js в полученном пути

  3. Вставьте в только что созданный файл vot.user.js весь код из удаленного файла vot.user.js

Правильное копирование кода

изображение

  1. Откройте локальный файл vot.user.js

  2. Найдите в файле объявление функции traverseDOM (не перепутайте с вызовом функции)

Как примерно выглядит эта функция

изображение

  1. Замените код функции traverseDOM на
Обновленный код
traverseDOM(root) {
  if (!root) return;
  const elements = [root];

  if (root.querySelectorAll) {
    elements.push(...root.querySelectorAll("*"));
  }

  for (const element of elements) {
    if (element instanceof HTMLVideoElement) {
      this.checkVideoState(element);
    }

    if (element.shadowRoot) {
      this.traverseDOM(element.shadowRoot);
    }
  }
}
  1. Чтобы исправить сохранение настроек найдите в коде this.supportGM = и this.supportGMPromises = и замените код (значения), который идет после них на false
Было / Стало

было

стало

  1. Сохраните файл

  2. Запустите браузер с помощью команды qutebrowser --debug --logfilter greasemonkey,js, это нужно, чтобы все логи от расширения и браузерной консоли показывались в вашем терминале. После тестов вы можете запускать браузер как обычно

  3. Перейдите на нужный сайт с видео (шаги 13-15 нужно выполнить один раз для каждого сайта)

  4. Дождитесь появления кнопки перевода и откройте меню скрипта.

  5. В меню скрипта установите значение Включено для функции Режим проксирования (Proxying mode) т.к. без этого вы будете получать ошибку при попытке запросить перевод

  6. Готово. Шаги 13-15 нужно выполнять один раз для каждого сайта

Я хочу создать и использовать свой vot-worker, что мне делать?

Для деплоя своего vot-worker рекомендуем ознакомиться с репозиторием vot-worker. Подробная инструкция описана в соответствующей папке внутри репозитория воркера.

Для того, чтобы сменить домен воркера откройте меню расширения на любом сайте и в самом низу введите адрес vot-worker.