github ilyhalight/voice-over-translation 1.10.0

latest releases: 1.10.4, 1.10.3, 1.10.2...
3 months ago

Данное обновление содержит множество кардинальных изменений в структуре расширения. Из-за этого настройки этой версий не является обратно совместимым со старыми версиями расширения. Чтобы избежать каких-либо проблем после обновления мы автоматически конвертируем все ваши настройки под новый формат, но в любом случае рекомендуем проверить правильность настроек после первого запуска обновленного скрипта.

Общее

  • Добавлена поддержка IMDb (#1202)
  • Добавлена поддержка Bunkr (#1191)
  • Добавлена поддержка IGN (#1186)
  • Добавлена поддержка Telegram Web K (#1139, #1218)
  • Добавлена поддержка "unlisted embed" и "groups/channels/album/showcase videos" для Vimeo
  • Исправлена работа Coursehunter (#1211)
  • Добавлена авторизация через аккаунт Яндекса для работы "Живых голосов"
  1. Зайдите в настройки расширения
  2. Нажмите на кнопку "Авторизоваться"

Авторизуйтесь на сайте через аккаунт Яндекса, подобно тому, как вы входите в другие сервисы с помощью социальных аккаунтов. После успешной авторизации и редиректа на страницу "профиля" на сайте вы можете вернуться к расширению. Это действие нужно выполнить только 1 раз, чтобы получить токен доступа к API. Время жизни авторизации - 1 год.

  1. Нажмите на кнопку "Обновить" рядом с кнопкой "Авторизоваться"
  2. После выполнения всех пунктов у вас должен появиться никнейм аккаунта и ваша аватарка (загружается с серверов Яндекса, поэтому у некоторых пользоватей может быть недоступна) левее кнопки "Авторизоваться" в меню расширения

* Для повторной авторизации выйдите с аккаунта на сайте и заново на нем авторизуйтесь. Не забудьте нажать на кнопку "Обновить" в меню расширения, чтобы обновить данные в активной вкладке без перезагрузки страницы.

* Для работы данной функции вы должны использовать современный загрузчик скриптов (Tampermonkey, Violentmonkey и т.п.), который поддерживает GM Storage т.к. данная функция требует синхронизации настроек между сайтами.

  • Добавлена смена языка меню без перезагрузки страницы

  • Добавлена поддержка установки сочетания клавиш в качестве хоткея (в #1234)

  • Добавлена возможность "отменить" еще незавершенный перевод видео при повторном нажатие на кнопку перевода

  • Добавлена смена положения кнопки перевода через меню (положение меняется только в широких плеерах с шириной более 600 пикселей)

    * ранее положение кнопки перевода можно было изменить только перетащив ее мышкой в левую/правую часть плеера

  • Добавлена настройка времени до скрытия кнопки перевода. Доступные значения от 0.1 до 3 секунд, значение по умолчанию 1 секунда

  • Добавлено сохранение выставленной настройки "Режим проксирования" для пользователей из стран в которых сервера Яндекса недоступны (#1204 в #1233)

  • Визуальные изменения настроек в меню расширения

    • Блок "О расширении" вынесен в отдельное подменю
    • Добавлено подменю "Оформление интерфейса"
    • Добавлена обводка для тултипов для выделения на фоне
    • Добавлен блок "Настройки горячих клавиш"
    • Добавлен блок "Другие настройки"
    • Функция "Формат для загрузки субтитров" пересена из подменю "Оформление субтитров" в блок "Настройки субтитров"
    • Функции "Сервис перевода текста", "Сервис определения языка" и "Переводить ошибки API" (недоступно с включенным русским языком меню) перенесены в блок "Другие настройки"
    • Функция "Язык меню" перенесена в подменю "Оформление интерфейса"
    • Функция "Показывать кнопку 'Картинка в картинке'" (недоступно в Firefox) перенесена в подменю "Оформление интерфейса"
    • Функция "Не переводить с родного языка" переименована в "Не переводить с выбранных языков"
    • Функция "Использовать эксперементальный вариант голосов Yandex для некоторых видеороликов" переименована в "Использовать живые голоса. Будто все знают русский."
    • Добавлено отображение единиц измерения для слайдеров "Максимальная длина субтитров", "Размер шрифта субтитров" и "Прозрачность фона субтитров"
    • Улучшен визуал слайдера "Уменьшать громкость видео до", теперь, текущее значение находится после фразы, а не переносится на новую строчку
    • Изменен дизайн настройки хоткеев
  • Улучшен UX "ленивой" загрузки субтитров

До

При первом нажатии субтитры загружаются в фоновом режиме. Единственное, что об этом показывает - это иконка загрузки в кнопке перевода. После того, как субтитры от Яндекса были загружены появляется меню со списком субтитров.

before loading subtitles
После

При первом нажатии субтитры загружаются в фоновом режиме, но меню со списком субтитров появляется мгновенно. Благодаря этому вы можете сразу выбрать уже существующие субтитры от сайта, а не ждать для этого завершения загрузки субтитров от Яндекса. Для индикации загрузки субтитров от Яндекса добавлен лоадер в самом низу модального окна.

after loading subtitles
  • Убран сломанный 9AnimeTV (#1198)
  • Исправлена работа Kodik с зашифрованными ссылками
  • Исправлена работа /client/disk для Yandex Disk (#1206)
  • Исправлена работа Poketube
  • Исправлена ошибка из-за которой, если в кнопке перевода отображалась ошибка, то повторное нажатие не сбрасывало состояние кнопки перевода
  • Улучшена очистка названия загружаемых файлов
  • Небольшая оптимизация работы расширения

Техническая часть

  • Добавлена загрузка аудио для правильной обработки статус кода перевода AUDIO_REQUESTED на YouTube

    Ранее, расширение полностью полагалось на фичу, которая позволяла сразу отправить ошибку загрузки аудио для продолжения перевода. Это работало, но такой подход был неправильным и заставлял сервера Яндекса загружать аудио самостоятельно. Вследствие, отсутствия клиентской загрузки аудио, в последнее время, стали возникать случаи, что запрос нового перевода иногда падал с ошибкой "Возникла ошибка при переводе, попробуйте позже", хотя, это же видео успешно переводилось в ЯБраузере.

    Теперь, расширение сначала будет пытаться загрузить аудио файл, а если у него это не получится, то будет отправлять сообщение об ошибке загрузки. Данную функцию можно отключить, но делать это КРАЙНЕ НЕ РЕКОМЕНДУЕТСЯ т.к. это может негативно повлять на работу расширения и привести к ошибкам при переводе.

    * не работает в UserScripts и прочих загрузчиках, где нет unsafeWindow API.

  • Частично переработана архитектура кода расширения =>

    • Большая часть кода переписана на TypeScript
    • index.js разделен на более мелкие функциональные файлы
    • Пересмотрена логика взаимодействия между основными классами
    • Взаимодействие с UI компонентами вынесено в отдельные файлы-компоненты и частично переписано
  • Исправлена ошибка из-за которой некоторые эвенты тултипов не удалялись

  • Добавлена поддержка GM v4 API для взаимодействия с VOT Storage. Все синхронные методы теперь являются "приватными" и не должны использоваться за пределами класса VOTStorage

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

  • Значения при взаимодействие с localStorage, теперь, обрабатываются с помощью JSON.stringify / JSON.parse, что позволяет перейти от использования int boolean (0 | 1) к обычному (true | false)
  • Изменена логика обработки и получения фраз локализации. Добавлена типизация для доступных фраз.
  • Ускорена сборка расширения с помощью замены ls-loader на @sucrase/webpack-loader
  • Включена минимальная минификация обычной сборки с помощью oxc-minify-webpack-plugin для уменьшения размера
  • Убрано использование библиотеки Anime.js
  • Другие небольшие улучшения и изменения связанные с кодовой базой

What's Changed

New Contributors

Full Changelog: 1.9.5.2...1.10.0

Don't miss a new voice-over-translation release

NewReleases is sending notifications on new releases.