GoldenDictHelper

Post Reply
User avatar
andrey
Posts: 1694
Joined: Sat Aug 24, 2013 3:27 pm

GoldenDictHelper

Post by andrey » Thu Feb 16, 2017 5:41 pm

Расширение для Firefox-а для вызова GoldenDict-а через контекстное меню
Скачать:
goldendict_helper_v1_1.zip
Last edited by andrey on Sun Mar 12, 2017 6:05 pm, edited 5 times in total.

User avatar
andrey
Posts: 1694
Joined: Sat Aug 24, 2013 3:27 pm

Инструкция

Post by andrey » Thu Feb 16, 2017 5:46 pm

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

Post Reply