Расширение для Firefox-а для вызова GoldenDict-а через контекстное меню
GoldenDictHelper
GoldenDictHelper
Last edited by andrey on Sun Mar 12, 2017 6:05 pm, edited 5 times in total.
Инструкция
Code: Select all
ИНСТРУКЦИЯ для goldendicthelper-1.1-an+fx.xpi
НАЗНАЧЕНИЕ
Это расширение Firefox, которое предназначено для вызова словарной оболочки GoldenDict через контекстное меню.
СИСТЕМНЫЕ ТРЕБОВАНИЯ
1. Для работы расширения требуется установка Node.js
https://nodejs.org/
Скрипт тестировался с v7.7.2
2. Для работы расширения необходима новая версия GoldenDict с поддержкой ключей --group-name и --popup-group-name
Наличие или отсутствие такой поддержки можно проверить заглянув во встроенную справку оболочки.
В ней должен присутствовать раздел "13 Command line switches".
Новую версию GoldenDict можно взять здесь:
https://github.com/goldendict/goldendict/tree/qt4x5
http://forum.ru-board.com/topic.cgi?forum=5&topic=49149&glp
_______________________________
ПОДГОТОВКА
Подготовка расширения на Windows и Linux различается:
-------------------------------------------------------------
! Windows ! Windows ! Windows ! Windows ! Windows ! Windows !
-------------------------------------------------------------
Только для пользователей Windows:
1. Отредактируйте путь к файлу app\goldendict_helper.json в этой команде:
REG ADD "HKEY_CURRENT_USER\SOFTWARE\Mozilla\NativeMessagingHosts\goldendict_helper" /ve /d "C:\path\to\goldendict_helper\app\goldendict_helper.json" /f
Путь должен соответствовать положению файла goldendict_helper.json на вашем компьютере.
2. Используя эту команду и консоль добавьте ключ в реестр.
3. Отредактируйте путь в файле goldendict_helper.json
Сейчас - это "C:\\path\\to\\goldendict_helper\\app\\goldendict_helper.bat"
Путь должен соответствовать положению файла goldendict_helper.bat на вашем компьютере.
Обратите внимание на \\ в пути.
Сдвоенные слэши необходимо использовать только в пути в файле goldendict_helper.json (на Windows)
4. Отредактируйте путь в файле goldendict_helper.bat
Сейчас - это "C:\path\to\goldendict_helper\app\goldendict_helper.js"
Путь должен соответствовать положению файла goldendict_helper.js на вашем компьютере.
-------------------------------
Ещё раз:
Сначала редактируем путь в команде, для добавления ключа в реестр, добавляем ключ.
Затем редактируем пути в goldendict_helper.json и goldendict_helper.bat
В goldendict_helper.json и только в нём (и только на Windows) используем \\ вместо \
-------------------------------------------------
! Linux ! Linux ! Linux ! Linux ! Linux ! Linux !
-------------------------------------------------
Только для пользователей Linux:
Перед установкой расширения отредактируйте в файле goldendict_helper.json путь.
Сейчас - это "/home/user/path/to/goldendict_helper/app/goldendict_helper.js"
Путь должен соответствовать положению файла goldendict_helper.py на вашем компьютере.
Потом скопируйте goldendict_helper.json сюда:
/usr/lib/mozilla/native-messaging-hosts/
Полный путь:
/usr/lib/mozilla/native-messaging-hosts/goldendict_helper.json
Папки native-messaging-hosts скорее всего там не будет, поэтому ее придётся создать.
Внимание!!!
Файл goldendict_helper.js должен быть обязательно исполняемым (-rwxr-xr-x)
-------------------------------
Дополнительная информация для продвинутых пользователей и программистов:
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Native_messaging
_______________________________
Далее информация для обоих систем (Linux и Windows)
УСТАНОВКА
Просто откройте в браузере (Ctrl-O) файл goldendicthelper-1.1-an+fx.xpi (в папке add-on)
_______________________________
НАСТРОЙКА
Откройте в браузере страницу Extensions (about:addons)
Можно через Ctrl-Shift-A
Найдите там GoldenDictHelper и кнопку "Preferences" (если английский интерфейс).
Зайдите в настройки нажав на эту кнопку.
В таблице поставьте галочку в чекбоксе --popup-group-name.
Потом нажмите на кнопку "Template".
После этого в текстовом поле должно появиться следующее:
{"none":"All","en":"English","de":"German","fr":"French","es":"Spanish","pt":"Portuguese","it":"Italian","nl":"Dutch","pl":"Polish","no":"Norwegian","da":"Danish","sv":"Swedish","cs":"Czech","ru":"Russian"}
Нажмите на кнопку "Submit"
Если настройки валидны и успешно сохранены, то появится сообщение "Msg:Accepted"
Закройте эту страницу Extensions
Внимание!!!
Настройки сохраняются в локальное хранилище браузера.
_______________________________
ИСПОЛЬЗОВАНИЕ
После установки расширения в контекстном меню должен появиться пункт "GoldenDict"
Вызов:
Выделите какое-нибудь в слово на какой-нибудь странице в браузере и нажмите на правую кнопку мыши.
Клик по этому пункту должен вызвать программу GoldenDict.
Если в настройках стоит галочка только напротив --popup-group-name, то команда для вызова будет такая:
goldendict --popup-group-name=Имя "выделенный текст"
Если галочка стоит напротив --popup-group-name и --group-name:
goldendict --popup-group-name=Имя --group-name=Имя "выделенный текст"
Без галочек напротив --popup-group-name и --group-name:
goldendict "выделенный текст"
-------------------------------
Откуда берётся имя группы?
Сначала с помощью детектора языка, который предоставляет FireFox, определяется язык страницы.
https://github.com/CLD2Owners/cld2
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/i18n/detectLanguage
Затем код языка (например: "en") меняется на имя группы с использованием данных в этого массива:
{"none":"All","en":"English","de":"German","fr":"French","es":"Spanish","pt":"Portuguese","it":"Italian","nl":"Dutch","pl":"Polish","no":"Norwegian","da":"Danish","sv":"Swedish","cs":"Czech","ru":"Russian"}
Если соответствующая пара отсутствует, то goldendict вызывается без ключей.
Пара `"none":"All"` определяет какое имя группы следует использовать в случае если детектор не смог определить язык страницы.
Содержание массива можно редактировать.
Пример:
{"none":"All","el":"Greek"...} - добавление пары для греческого языка
Перед использованием расширения,
если используется детектор языка (а он используется если в настройках стоят галочки напротив --popup-group-name или --group-name),
желательно создать соответствующие группы в GoldenDict.
Иначе вызов оболочки с этим ключами не будет иметь никакого смысла.
_______________________________
Смотрите скриншоты в папке screenshots
_______________________________
Fin
Re: GoldenDictHelper
Простите за небольшой офтоп. Вы упоминали это приложение на руборде:
https://play.google.com/store/apps/deta ... .jimex.cnt
Его случайно нельзя использовать как посредник для вызовов GoldenDict из тех приложений, которые не поддерживают прямое обращение к словарям?
https://play.google.com/store/apps/deta ... .jimex.cnt
Его случайно нельзя использовать как посредник для вызовов GoldenDict из тех приложений, которые не поддерживают прямое обращение к словарям?