From c72450e3de3448066e41d0c69c8832a15363e2c2 Mon Sep 17 00:00:00 2001 From: alekssamos Date: Mon, 16 Nov 2020 15:39:19 +0300 Subject: [PATCH] Profiles and Braille the result of automatic translation is duplicated on the Braille display and support for custom configuration profiles --- README.md | 22 +++++++++++++++---- addon/doc/en/readme.md | 14 ++++++++---- .../globalPlugins/yandexTranslate/__init__.py | 10 ++++++--- addon/manifest.ini | 2 +- buildVars.py | 2 +- 5 files changed, 37 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 1ef14b2..3282961 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,28 @@ # Дополнение Яндекс.Переводчик для NVDA -[Скачать версию 2020.11.15](https://github.com/alekssamos/YandexTranslate/releases/latest/download/YandexTranslate-2020.11.15.nvda-addon) +[Скачать версию 2020.11.17](https://github.com/alekssamos/YandexTranslate/releases/latest/download/YandexTranslate-2020.11.17.nvda-addon) -После установки зайдите в NVDA меню, Параметры, Жесты ввода, назначте удобные вам сочетания клавиш для YandexTranslate. Или используйте уже предустановленные. +После установки зайдите в **NVDA меню**, **Параметры**, **Жесты ввода**, +назначте удобные вам сочетания клавиш для YandexTranslate. Или используйте уже предустановленные (ниже). -Переводит выделенный фрагмент текста или текст из буфера обмена. +> Другие переводчики, такие, как "Translate", "InstantTranslate" и другие, +> если есть, лучше отключить или удалить, во избежании конфликтов. + +Переводит выделенный фрагмент текста или содержимое из буфера обмена, есть автоматический (мгновенный) перевод речи NVDA. + +Если есть брайлевский дисплей, результат будет дублироваться и на него. + +> Не переводит? Настройте языковые пары. +> Не помогло? +> Поменяйте IP адрес / переподключитесь к интернету (выключить включить wifi роутер из разетки), +> включить или выключить режим полёта и т.д. + +Дополнение можно настроить в NVDA меню, Сервис, Настройки Yandex Translate. -Настроить можно в NVDA меню, Сервис, Настройки Yandex Translate. Поддерживается использование прокси сервера. +Есть возможность работать с профилями конфигурации, например, для браузера Google Chrome одна языковая пара, для Unigram другая, а в программе Блокнот вы хотите включить звуковой сигнал во время перевода. **NVDA меню**, **Профили конфигурации...**, для каждого приложения создаёте, переключаетесь и настраиваете переводчик. + ### Горячие клавиши * nvda+Shift+T - Перевод выделенного текста. * nvda+Shift+Y - Перевод текста из буфера обмена. diff --git a/addon/doc/en/readme.md b/addon/doc/en/readme.md index 1ef14b2..0c2403a 100644 --- a/addon/doc/en/readme.md +++ b/addon/doc/en/readme.md @@ -1,14 +1,20 @@ # Дополнение Яндекс.Переводчик для NVDA -[Скачать версию 2020.11.15](https://github.com/alekssamos/YandexTranslate/releases/latest/download/YandexTranslate-2020.11.15.nvda-addon) +[Скачать версию 2020.11.17](https://github.com/alekssamos/YandexTranslate/releases/latest/download/YandexTranslate-2020.11.17.nvda-addon) -После установки зайдите в NVDA меню, Параметры, Жесты ввода, назначте удобные вам сочетания клавиш для YandexTranslate. Или используйте уже предустановленные. +После установки зайдите в **NVDA меню**, **Параметры**, **Жесты ввода**, +назначте удобные вам сочетания клавиш для YandexTranslate. Или используйте уже предустановленные (ниже). -Переводит выделенный фрагмент текста или текст из буфера обмена. +Переводит выделенный фрагмент текста или содержимое из буфера обмена, есть автоматический (мгновенный) перевод речи NVDA. + +Если есть брайлевский дисплей, результат будет дублироваться и на него. + +Дополнение можно настроить в NVDA меню, Сервис, Настройки Yandex Translate. -Настроить можно в NVDA меню, Сервис, Настройки Yandex Translate. Поддерживается использование прокси сервера. +Есть возможность работать с профилями конфигурации, например, для браузера Google Chrome одна языковая пара, для Unigram другая, а в программе Блокнот вы хотите включить звуковой сигнал во время перевода. **NVDA меню**, **Профили конфигурации...**, для каждого приложения создаёте, переключаетесь и настраиваете переводчик. + ### Горячие клавиши * nvda+Shift+T - Перевод выделенного текста. * nvda+Shift+Y - Перевод текста из буфера обмена. diff --git a/addon/globalPlugins/yandexTranslate/__init__.py b/addon/globalPlugins/yandexTranslate/__init__.py index 4385be9..7e358b7 100644 --- a/addon/globalPlugins/yandexTranslate/__init__.py +++ b/addon/globalPlugins/yandexTranslate/__init__.py @@ -74,6 +74,10 @@ 422: _("The text could not be translated"), 501: _("The specified translation direction is not supported"), } +def tobool(s): + if s == "True" or s == "on" or str(s) == "1" or s == "yes": return True + if s == "False" or s == "off" or str(s) == "0" or s == "no": return False + raise ValueError("True, on, 1, yes or False, off, 0, no") # Decorator to lock the scripts on the secure desktop def secureScript(script): @@ -109,11 +113,11 @@ def makeSettings(self, sizer): self.switchLang.SetStringSelection(", ".join((languages[config.conf["YandexTranslate"]["switchLang"]], config.conf["YandexTranslate"]["switchLang"]))) self.copyToClipBoard = wx.CheckBox(self, label=_("&Copy translation to clipboard")) - self.copyToClipBoard.SetValue(config.conf["YandexTranslate"]["copyToClipBoard"]) + self.copyToClipBoard.SetValue(tobool(config.conf["YandexTranslate"]["copyToClipBoard"])) settingsSizerHelper.addItem(self.copyToClipBoard) self.signals = wx.CheckBox(self, label=_("&Play tones when translation waiting")) - self.signals.SetValue(config.conf["YandexTranslate"]["signals"]) + self.signals.SetValue(tobool(config.conf["YandexTranslate"]["signals"])) settingsSizerHelper.addItem(self.signals) # self.key = settingsSizerHelper.addLabeledControl(_("&API key:"), wx.TextCtrl, value=config.conf["YandexTranslate"]["key"]) @@ -123,7 +127,7 @@ def makeSettings(self, sizer): settingsSizerHelper.addItem(self.generate_new_key) self.useProxy = wx.CheckBox(self, label=_("&Use proxy server")) - self.useProxy.SetValue(config.conf["YandexTranslate"]["useProxy"]) + self.useProxy.SetValue(tobool(config.conf["YandexTranslate"]["useProxy"])) self.useProxy.Bind(wx.EVT_CHECKBOX, self.onUseProxy) settingsSizerHelper.addItem(self.useProxy) diff --git a/addon/manifest.ini b/addon/manifest.ini index 577cd0c..c7446c5 100644 --- a/addon/manifest.ini +++ b/addon/manifest.ini @@ -3,7 +3,7 @@ summary = "Yandex translator for NVDA" description = """Translates text using service Yandex Translate.""" author = "alekssamos " url = https://github.com/alekssamos/YandexTranslate/ -version = 2020.11.16 +version = 2020.11.17 docFileName = None minimumNVDAVersion = 2019.3 lastTestedNVDAVersion = 2020.2 diff --git a/buildVars.py b/buildVars.py index 93d18a4..5795928 100644 --- a/buildVars.py +++ b/buildVars.py @@ -19,7 +19,7 @@ # Translators: Long description to be shown for this add-on on add-on information from add-ons manager "addon_description": _("""Translates text using service Yandex Translate."""), # version - "addon_version": "2020.11.16", + "addon_version": "2020.11.17", # Author(s) "addon_author": u"alekssamos ", # URL for the add-on documentation support