<h2 id="#index">Оглавление</h2>
<h2 id="introduction">1 - Введение</h2>
TranslateAdvanced — это дополнение, которое позволяет переводить тексты с помощью различных онлайн-сервисов перевода, таких как Google Translate, DeepL, LibreTranslate и Microsoft Translator. Дополнение предлагает расширенные возможности, такие как одновременный перевод, история переводов, перевод выделенного текста, поддержка нескольких языков и многое другое.
<h3 id="requirements">1.1 - Требования</h3>
<h3 id="limitations-and-warnings">1.2 - Ограничения и предупреждения</h3>
Дополнение отправляет информацию в Интернет каждому соответствующему сервису для выполнения синхронного перевода. Важно отметить, что переводимая информация может содержать конфиденциальные и чувствительные данные. Ответственность за использование дополнения несет исключительно пользователь, который должен оценивать характер отправляемой информации. Разработчик дополнения не несет никакой ответственности за данные, отправляемые сервисам, используемым дополнением.
Как разработчик, я снимаю с себя всю ответственность за любые события, которые могут возникнуть в результате использования дополнения. Вся ответственность лежит на пользователе.
Кроме того, для работы дополнения необходимо подключение к Интернету. Скорость отклика дополнения зависит от нескольких факторов, таких как:
Пользователям рекомендуется ознакомиться с этими аспектами и провести необходимые тесты, чтобы убедиться, что дополнение соответствует их ожиданиям и требованиям безопасности.
<h3 id="author-information">1.3 - Информация об авторе</h3>.
Техническая информация и меры безопасности дополнения NVDA.
Я приложил все усилия, чтобы сделать дополнение как можно более надежным, предусмотреть и устранить все возможные ошибки. Все ошибки фиксируются и записываются в журнал NVDA, что позволяет легко отслеживать и быстро устранять проблемы.
**Проблемы с сертификатами Windows
Недавно я заметил, что на недавно установленных компьютерах с Windows могут возникать проблемы с сертификатами, что может быть неприятно. По этой причине я включил проверку при запуске дополнения. Если обнаружен сбой, связанный с сертификатами, дополнение автоматически регенерирует сертификаты, обеспечивая нормальную работу как Windows, так и самого дополнения.
**Меры безопасности
Дополнение включает в себя несколько мер безопасности:
Иногда NVDA может запускаться быстрее, чем Wi-Fi соединение. В таких случаях NVDA необходимо перезапустить после установления соединения, чтобы использовать дополнение должным образом.
Управление ключами **API
Дополнение генерирует JSON-файл, в котором хранятся API-ключи, необходимые для тех сервисов, которые их требуют. Этот файл, называемый apis.json, размещается в папке пользователя Windows.
**Файл ключей
Было решено хранить этот файл вне среды дополнения, чтобы избежать того, что, поскольку он содержит конфиденциальную информацию, он может быть случайно передан портативной копии NVDA или в других ситуациях. Если пользователь решит прекратить использование дополнения, этот файл должен быть удален вручную.
Эти меры обеспечивают более эффективное управление и безопасность дополнения, упрощая его использование и обслуживание.
<h2 id="description-configuration">2 - Описание и конфигурация</h2>.
<h3 id="description-services">2.1 - Описание сервисов</h3>.
В первой версии дополнение предлагает 7 сервисов перевода:
<h4 id="google">Google</h4>
**4 сервиса Google
<h4 id="deepl">DeepL</h4>
2 сервиса с сайта DeepL
<h4 id="libretranslate">LibreTranslate</h4>
**1 Сервис LibreTranslate
<h4 id="microsoft-translate">Microsoft-Translate</h4>
**1 Служба Microsoft Translate
Эти опции позволяют пользователям выбирать между несколькими сервисами перевода, обеспечивая доступность и гибкость дополнения в соответствии с индивидуальными потребностями и предпочтениями.
По мере обновления дополнения сервисы могут быть добавлены или удалены. Об изменениях будет сообщаться в разделе обновлений.
<h3 id="configuration">2.2 - Конфигурация</h3>.
**Конфигурация дополнения
В этом разделе подробно описано, как настроить каждый из сервисов, доступных в дополнении, включая добавление API-ключей, изменение URL-адресов сервисов и другие настройки, необходимые для адаптации использования дополнения к потребностям пользователя.
<h4 id="add-on-menu">Меню дополнения</h4>
В NVDA > Параметры > Продвинутый переводчик есть меню, содержащее следующее:
Настройки Продвинутого переводчика.
При нажатии на эту опцию откроется окно настроек дополнения. В этом окне есть 2 области:
Общие.
В этой вкладке будут добавлены те опции, которые носят общий характер для дополнения. В настоящее время здесь есть только флажок для включения или отключения кэша дополнения.
Дополнение может кэшировать переводы для каждого приложения, что облегчит и ускорит перевод в будущем. Кроме того, теперь оно создает кэш для каждого языка, так что несколько приложений могут иметь кэш для разных языков.
Модули перевода
На этой вкладке мы можем выбрать сервис, который мы хотим использовать для перевода. Для тех сервисов, которые требуют API-ключ, также будет показан менеджер API-ключей.
У нас может быть несколько API-ключей для одного и того же сервиса; например, в LibreTranslate у нас могут быть разные ключи и URL-адреса для подключения. Вы можете добавлять, редактировать, удалять и использовать по умолчанию нужный вам API-ключ для текущего сервиса.
Область управления ключами API меняется в зависимости от используемого сервиса. Мы можем присвоить идентификационное имя каждому ключу API, чтобы быстро понять, к какому API мы обращаемся. Если у нас есть несколько API-ключей для сервиса, элемент со звездочкой в списке будет использоваться по умолчанию. Это можно изменить, нажав на кнопку «По умолчанию», и в этот момент в фокусе будет ключ, определенный для данного сервиса.
Если выбранный нами сервис перевода не требует ключа API, менеджер не будет отображаться.
Далее имеются кнопки «ОК» и «Отмена». Все опции имеют свою клавишу быстрого доступа, которую нам сообщит NVDA.
Документация дополнения
Если мы нажмем на «Документация по дополнению», откроется эта документация.
Пригласите меня на чашечку кофе, если вам нравится моя работа**.
Если мы нажмем на эту опцию, откроется страница PayPal, где есть ссылка «Отправить». Если мы нажмем на эту ссылку, нас попросят войти в наш аккаунт и переведут на страницу пожертвований.
Скажу лишь, что я выпил много кофе, создавая это дополнение.
<h4 id="add-on-key-quick-keys">Горячие клавиши</h4>.
В NVDA > Параметры > Жесты ввода... > Продвинутый переводчик у нас есть следующие клавиши, которые мы можем настроить.
Клавиши по умолчанию не назначены, чтобы пользователь мог выбрать оптимальное расположение. К ним относятся:
Открыть настройки дополнения.
Это действие быстро откроет настройки дополнения.
Включить или выключить кэш переводов**.
Это действие позволяет включать или выключать кэш без необходимости заходить в настройки.
Включение или выключение синхронного перевода онлайн**.
Это действие включает или выключает автоматический перевод. Это основное действие, которое начнет автоматически переводить, когда мы будем двигаться с помощью клавиш со стрелками. Если все правильно, мы услышим перевод; если же мы услышим оригинальный текст, нам придется заглянуть в журнал NVDA и посмотреть, что произошло.
Изменить модуль перевода
Это действие откроет окно со всеми доступными службами перевода. Мы сможем перемещаться с помощью стрелок и выбирать с помощью «Enter». Выбранная нами служба будет той, которая установлена по умолчанию.
Изменить язык перевода
Это действие откроет окно с языками перевода, доступными в выбранном сервисе. В каждом сервисе есть разные языки, и, например, если мы переводим текст на русский, а хотим услышать его на английском, в этом диалоге нужно выбрать английский. Перемещаемся по диалогу с помощью курсорных стрелок и «Enter», чтобы выбрать нужный язык.
Названия языков получены на нашем языке от NVDA и поддерживают те языки, которые поддерживает NVDA. По этой причине список может содержать названия языков на английском языке, так как NVDA их не переводит. Рядом с названием каждого языка указан его ISO-код.
Изменить исходный язык
То же самое, что и выше, но этот диалог действителен только для переводчика Microsoft. Служба Microsoft не позволяет установить язык источника как автоматический, чтобы определить, какой язык отправляется в нее, поэтому нам придется выбрать его самостоятельно.
Остальные службы не смогут использовать этот диалог, так как по умолчанию они определяют, какой язык отправляется.
Копировать последний переведенный текст в буфер обмена.
Это действие скопирует последний переведенный текст в буфер обмена.
Удалить кэш перевода для текущего сфокусированного приложения**.
Если мы нажмем на это действие один раз, оно выдаст нам информацию; если мы быстро нажмем на него два раза, оно очистит кэш для приложения, находящегося в фокусе, и сообщит нам о результате.
Удалить все кэшированные переводы для всех приложений.
При однократном нажатии это действие предоставит информацию; при двукратном быстром нажатии оно очистит весь кэш дополнения и также предоставит информацию.
Показать историю переводов**.
Отобразится диалог со списком последних 500 переводов. Мы сможем искать и просматривать в окнах «только для чтения» исходный и переведенный текст. Этот диалог позволяет искать по всей истории, копировать в буфер обмена либо исходный, либо переведенный текст, либо оба.
Он также позволяет переключаться между исходным и переведенным текстом и работать с любым из них. Кроме того, мы можем удалить всю историю, чтобы начать работу с нуля.
Обратите внимание, что история очищается при каждом перезапуске NVDA.
Перевести выделенный текст
Это действие переведет текст, который мы выделили и на котором сфокусировались. Если это большой текст, откроется диалог с процентом перевода. Этот диалог можно отменить, что также приведет к отмене перевода.
После завершения перевода текст будет отображен в диалоговом окне, чтобы мы могли его изучить.
Эта опция использует сервис Google Translate и не может быть изменена, так как она выбрана внутренне, поскольку дает наилучшие результаты для длинных текстов.
<h2 id="trouble-shooting">3 - Устранение неполадок</h2>
<h3 id="common-problems-and-solutions">Общие проблемы и решения</h3>
**Подключение к Интернету
**Ошибки сертификата
Проблемы с производительностью.
<h3 id="how-to-consult-the-nvda-log">Как обращаться к журналу NVDA</h3> 1.
NVDA > Сервис > Просмотр журнала.<h2 id="acknowledgements">4 - Благодарности</h2>
Спасибо всем программистам NVDA за их отличную работу.
Не хочу забыть сказать, что начало этому дополнению положило дополнение Yannick PLASSIARD (TRANSLATE), из которого я почерпнул и использовал некоторые функции.
Также Alexy Sadovoy aka Lex, ruslan, beqa, Mesar Hameed, Alberto Buffolino и другие участники NVDA за дополнение (Instant Translate), из которого был взят один из методов для Google и модифицирован для внедрения его в Advanced Translator.
Это дополнение - результат нескольких лет неофициальных релизов и изучения использования автономных переводов.
Мы учимся на этом дополнении, зная, что в будущем оно принесет новые удивительные возможности.
<h3 id="translators">Переводчики</h3>
<h2 id="version-log">5 - Журнал версий</h2>
В этом разделе будет добавлен журнал версий, в который будут добавляться новые версии каждой версии.
Руководство основано на первой версии, поэтому оно не будет обновляться и будет служить базой.
Новые версии будут добавляться в этот раздел.
<h3 id="version-2024-06-06">Версия 2024.06.06</h3>.
<h3 id="version-2024-06-16">Версия 2024.06.16</h3>.
Добавлена возможность автоматического копирования переведенного текста в буфер обмена при выборе этой функции, что позволяет избежать отображения дополнительного диалога.
Эта опция была добавлена в диалог настройки плагина в разделе Общие.
При выборе этой опции больше не будет отображаться диалог при переводе выделенного текста, а он будет копироваться непосредственно в буфер обмена.
Теперь можно напрямую переводить содержимое буфера обмена, обеспечивая быстрый и эффективный способ перевода скопированного текста.
Если ничего не переведено, программа сообщит нам, что находится в буфере обмена, а если в буфере ничего нет, она уведомит нас об этом сообщением.
Была добавлена функция, позволяющая перевести последнее предложение или текст, произнесенный синтезатором голоса, что повышает доступность и удобство использования дополнения.
Если последнее произнесенное предложение не может быть переведено, будет указано последнее произнесенное предложение на исходном языке.
В новой версии добавлена поддержка отображения переводов на устройствах со строками Брайля, что облегчает доступ к переводам.
Она будет работать только на тех устройствах, где настроена строка Брайля.
В настоящее время эта функция тестируется.
Был внедрен механизм обновления, который позволяет постоянно обновлять дополнительные языки, обеспечивая доступность самых последних и точных языков.
Теперь в меню NVDA > Параметры > Расширенный переводчик
появится новый пункт под названием Обновить дополнительные языки (Нет обновлений).
Этот пункт может информировать нас о наличии обновлений, например:
Обновить дополнительные языки (доступно 3 обновления).
Если мы нажмем на него, то получим диалог с новыми языками, с обновлениями или с одним из двух, если нет обновлений в обоих.
Мы сможем установить или пропустить.
Если вы нажмете установить, языки будут загружены и установлены, а NVDA перезапустится.
Пункт меню обновляется каждые 30 минут, проверяя наличие обновлений, или при каждом перезапуске.
Для тех, у кого проблемы с данными, эта проверка занимает менее 1 Кб.
Это средство обновления позволит легко делиться с пользователями языковыми обновлениями для дополнения быстро, по мере их появления, и без необходимости выпускать новую версию с новыми языками.
Каждая новая версия дополнения будет поставляться со всеми новыми и обновленными языками, которые появились.
Исправлена проблема, вызывавшая ошибки при непрерывном чтении, что повышает стабильность и производительность дополнения при длительном использовании.
Я рекомендую, если вы не собираетесь использовать какую-либо функцию, не добавлять к ней жест ввода, чтобы он мог использоваться в других дополнениях. Давайте добавлять только те, которые мы будем использовать.
По мере добавления новых утилит будет требоваться все больше жестов, и утилита может быть бесполезной для одного и полезной для другого, поэтому назначайте только те, которые вы собираетесь использовать.
<h3 id="version-2024-06-23">Версия 2024.06.23</h3>
Этот новый модуль не требует ключа API и используется для синхронного перевода.
<h3 id=""ersion-2024-09-07">Версия 2024.09.07</h3> #### Интерфейс перевода
Интерфейс Перевода является основным компонентом дополнения Advanced Translator для NVDA. Этот интерфейс позволяет пользователю эффективно переводить текст с одного языка на другой, отображая оригинальный и переведенный текст и предоставляя несколько опций настройки.
Для его вызова необходимо назначить комбинацию клавиш в жестах ввода или в виртуальном меню (см. ниже).
Ввод исходного текста: позволяет пользователю написать или вставить текст для перевода. Быстрый доступ к нему осуществляется с помощью комбинации клавиш Alt+1.
Целевой текст (результат): область, в которой отображается переведенный текст. Это поле доступно только для чтения и может быть сфокусировано с помощью клавиши Alt+2.
Выбор языка источника: Позволяет выбрать язык исходного текста. По умолчанию используется опция «Автоопределение», которая позволяет системе автоматически определять язык текста. Доступ к нему осуществляется с помощью Alt+3.
Выбор целевого языка: Позволяет выбрать язык, на который вы хотите перевести текст. Доступ к нему осуществляется с помощью Alt+4.
Счетчик символов: Показывает количество символов в поле исходного текста. Это полезно для того, чтобы знать объем текста, который будет переведен. Доступ к нему осуществляется с помощью Alt+5.
Кнопки действий:
F3.Alt+1: Фокус на исходное текстовое поле.Когда пользователь использует опцию Прослушать после выполнения перевода, дополнение преобразует переведенный текст в аудиофайл и воспроизводит его через встроенный плеер. Плеер включает в себя основные и дополнительные элементы управления воспроизведением аудио.
**Кнопки управления:
Громкость и скорость:
Сопутствующий текст: отображает переведенный текст в поле, доступном только для чтения, позволяя пользователю наглядно увидеть, что воспроизводится.
Сохранить: позволяет сохранить созданный аудиофайл в формате WAV в системе пользователя.
F1: Перемотка воспроизведения назад.Shift+F10/Приложения: При нажатии кнопок назад и вперед появляется контекстное меню для выбора соответствующего времени.Shift+F10) или клавиши приложений.Было добавлено виртуальное меню, содержащее все опции, которыми обладает дополнение.
Мы сможем вызывать из виртуального меню все опции, которые мы можем назначить в жестах ввода, таким образом, из виртуального меню дополнение может быть использовано полностью, без необходимости назначать дополнительные клавиши для дополнения.
Все зависит от пользователя.
Для вызова виртуального меню нам нужно будет назначить клавишу в жестах ввода.
Использование виртуального меню очень простое: после вызова нам нужно нажать соответствующую клавишу для действия, которое мы хотим выполнить.
Если мы нажмем не назначенную клавишу, виртуальное меню закроется, и мы также можем закрыть его с помощью escape.
Виртуальное меню Advanced Translator обеспечивает быстрый доступ к наиболее полезным функциям дополнения. Вот сочетания клавиш, которые вы можете использовать для выполнения различных действий:
P: Открыть настройки.
Открывает настройки расширенного переводчика, где можно настроить языки и сервисы перевода.
U: Проверка обновлений языка.
Проверяет и загружает доступные обновления для дополнительных языков.
O: Изменить исходный язык
Изменение языка текста, который вы хотите перевести (исходный язык).
D: Переключить язык перевода
Измените язык, на который вы хотите перевести текст (язык перевода).
C: Сменить службу перевода.
Позволяет переключаться между доступными службами перевода, такими как Google, DeepL, Microsoft и др.
A: Удалить весь кэш переводов.
Удаляет все кэшированные переводы.
X: Удалить кэш переводов текущего приложения.
Очищает кэш переводов только для открытого приложения.
G: Включить/выключить кэш переводов.
Включает или отключает функцию кэша, временно сохраняющую переводы.
L: Копировать последний перевод в буфер обмена.
Копирует последний перевод в буфер обмена, чтобы вы могли вставить его в любое место.
B: Перевести текст из буфера обмена.
Переводит текущее содержимое буфера обмена.
V: Перевести последний многословный текст.
Переводит последний текст, который NVDA прочитала вслух.
T: T`: Перевести последний произнесенный текст.
Включение или отключение автоматического перевода при просмотре текстов.
S: Перевести выделенный текст.
Переводит текст, выделенный в приложении.
Z: Перевести текст из объекта браузера.
Переводит текст определенного объекта в браузере, например кнопки или текстового поля.
W: Открыть интерфейс перевода.
Открывает графическое окно, в котором вы можете вручную ввести текст, который нужно перевести.
I: Определить выбранный язык.
Автоматически определяет язык выделенного текста.
J: Включить/Выключить автоматический обмен языками.
Включает или выключает автоматический обмен языками, если обнаруженный исходный язык совпадает с целевым языком.
K: Поменять основной и альтернативный языки.
Меняет основной язык на альтернативный язык в конфигурации переводчика.
H: Показать историю переводов.
Отображает историю последних выполненных переводов.
F1: Показать список команд.
Отображает диалог со списком однокнопочных команд для расширенного переводчика.
Эта опция позволяет автоматически определять язык выделенного текста в любом приложении. Чтобы воспользоваться этой функцией, выполните следующие действия:
Эта функция полезна, когда вы не уверены в языке текста и хотите узнать его, прежде чем переводить или выполнять другие действия.
Эта функция позволяет избежать путаницы при переводе текстов, где исходный язык совпадает с языком перевода, автоматически переключаясь на настроенный альтернативный язык.
Добавлена возможность отображения контекстно-зависимой справки в диалогах дополнений. Нажатие комбинации клавиш Ctrl+H выведет краткое описание функции виджета, находящегося в фокусе.
В любом месте диалогов дополнений, если вам нужна информация о функции кнопки, текстового поля, ползунка или другого элемента управления, вы можете просто нажать Ctrl+H. Это выведет на экран краткое описание виджета, находящегося в фокусе, и даст краткое руководство по его использованию.
Эта функция позволяет перевести текст определенного объекта в браузере или любом другом приложении, используемом NVDA. Ее можно активировать через виртуальное меню или с помощью комбинации клавиш, назначенной в жестах ввода плагина.
Переводит любой текст, содержащийся в выбранном объекте на веб-странице, в приложении или любом другом интерфейсе, с которым взаимодействует NVDA.
Полезно для перевода небольших фрагментов текста, которые не являются частью основного текста страницы или приложения, например меню, кнопок или ярлыков.
Если объект не содержит текста или недоступен, дополнение выведет сообщение об отсутствии текста для перевода.
Вы можете получить доступ к этой функции либо из виртуального меню дополнения, либо настроив горячую клавишу в «Жесты ввода» NVDA.
Добавлен новый модуль для перевода с OpenAI с помощью модели chatGPT-4º-mini, которая является самой дешевой и быстрой.
Этот модуль находится в стадии тестирования и иногда имеет некоторые задержки, но будет улучшен в будущих версиях.
Этому модулю требуется API-ключ, который нужно назначить в конфигурации / модулях.
OpenAI является платным, поэтому пользователь должен сам проверить его стоимость.
По следующей ссылке вы можете увидеть, сколько мы тратим:
https://platform.openai.com/usage
Модуль переводчика Microsoft был написан с нуля и улучшен в плане скорости, стабильности и возможности иметь больше времени для перевода, пока они не заблокируются для использования и нам придется ждать несколько минут, чтобы перевести снова.
В ходе проведенных тестов и одновременного перевода довольно большого объема текста, превышающего обычное использование, я не испытал никаких ограничений.
Так что пока все работает и стало лучше по сравнению с предыдущим модулем.
<h3 id=""ersion-2024-09-19">Версия 2024.09.19</h3>
19 сентября 2024 года
<h3 id=""ersion-2025-09-19">Версия 2025.09.19</h3>
Предыдущая версия 2024.09.19, протестирована в версиях NVDA 2025 - 2025.3. Дополнение работает во всех указанных версиях NVDA, поэтому был изменен только манифест, чтобы разрешить установку в этих версиях. В NVDA 2026.1 дополнение не работает. Примечание: Это не официальная версия.
<h3 id=""ersion-2026-05-18">Версия 2026.05.18</h3>
Примечание: Это не официальная версия.
Из-за одной внешней зависимости не адаптированной для 640разрядной NVDA 2026, ломалась вся работа дополнения.
Это временное решение пока разработчик не обновит дополнение.
По пути: TranslateAdvanced\globalPlugins\TranslateAdvanced\app\guis\guis_player.py
Закомментировал импорт и поставил заглушку:
wx_media = None
Это чтобы не загружался несовместимым модуль media из wxPython:
TranslateAdvanced\globalPlugins\TranslateAdvanced\app\data\lib_311\wx
Модуль отвечает за аудио-функции дополнения (например, проигрывание звуков или озвучивание) если для вас это не критично, то можете пользоваться этой версией.