Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » GoldenDict (часть 2)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущее обсуждение: Часть 1




 
Актуальная версия 1.5.0:
Windоws Qt 4.8.6 или Qt 5.12.3, последний EXE-файл: 1.5.0-18-g59363bc9.
Плагин dsengine.dll для Qt 5.6-based версии на Windows XP: dsengine_5.6.1_for_XP.7z
как собрать актуальный рабочий комплект для windows (без словарей)
MacOSX 1.5.0-18-g59363bc9 Intel; архив прежних версий: на github (09.2012–04.2019), на sourceforge (06.2016–04.2019)
 
Расширенная настройка интерфейса
 
GoldenDict — новая словарная программа, обладающая следующими особенностями:  
 
  • Графический интерфейс на основе табов, для создания которого использована библиотека Qt;
  • Интеграция с html-движком WebKit для корректного представления материалов в html-формате;
  • Поддержка подключения словарей в форматах: Babylon (.bgl/.gls), StarDict (.ifo/.dict./.idx/.syn), Dictd (.index/.dict), ABBYY Lingvo (.dsl тексты и аудиоматериалы .lsa/.dat, .lsd - только в Android), XDXF, AARD, SLOB, ZIM, MDX/MDD, EPWING;
  • Система морфологии, которая находит основы слов при поиске, улучшая его результаты, а также дает рекомендации по правильному написанию слов. Используются обычные словари Hunspell/Myspell;
  • Поддержка индексации звуковых файлов в директориях, формируя из них словари аудио-произношений;
  • Поддержка отправки запросов в Wikipedia, Wiktionary и другие MediaWiki сайты;
  • Режим работы в роли глобальной для всего десктопа всплывающей подсказки, позволяющий выводить информацию для выделенного или помещенного в буфер обмена слова из любого текста внешней программы;
  • Для загрузки доступна версия, имеющая в комплекте набор англо-русско-английских словарей, словарей морфологии и примеры произношения слов на английском языке.  
     
    Программа позиционируется как функциональная замена StarDict, поддерживающая большее количество форматов файлов и более качественное их отображение. Программа умышленно не вводит собственного формата файлов, ставя вместо этого задачу наиболее полно поддержать все популярные существующие.
     
    Официальные Early Access билды для Windоws :: для MacOSX :: для Linux.
    Официальные Development билды для Windоws.
    Официальный форум поддержки GoldenDict.
    Официальный баг-трэкер.
     
    Параллельные топики:
    GoldenDict - New Level - Разработка новых форматов словарей для GD: DSLGD, HTMLGD; подключение речевых движков; режим закладок; варианты полнотекстового поиска.
     
    Как сжимать словари в формат .dz для использования в GoldenDict :: DictZip 1.12.1 (latest) :: Оболочка DictUI
     
    Ссылки на готовые сборки
     
    Ссылки на словари для GoldenDict

  • Всего записей: 38754 | Зарегистр. 26-02-2002 | Отправлено: 11:50 23-02-2017 | Исправлено: yozhic, 22:10 16-03-2024
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Обнаружил одну офигенную фичу GD
     
    Далее

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 14:21 03-03-2017 | Исправлено: andreyefgs, 18:24 03-03-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ArtS21
     
    Naver заработал
    Жмите сюда

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 17:34 03-03-2017 | Исправлено: andreyefgs, 17:37 03-03-2017
    shortcut

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
    GoldenDict считает причной падения при индексации библиотеку Qt (пробовал разные версии программы).
    Что можно сделать?

    Всего записей: 5 | Зарегистр. 02-09-2005 | Отправлено: 09:35 04-03-2017
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shortcut
    А что конкретно в логе?

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6077 | Зарегистр. 22-10-2005 | Отправлено: 11:21 04-03-2017
    ramanuki



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
    Решил я попробовать подключить простой (без Java) html-словарик к GoldenDict - по системе, предложенной andreyefgs (через "Веб-сайты"). Словарик здесь: http://rgho.st/6PzSZKcvk. ("As link" отключить.)
     
    В качестве ссылки для запроса в GD использовал адрес файла:
    file:///C:/Dictionaries/Temp/Test.html#%GDWORD%
     
    В словаре на заголовки навешены якоря. Но вот беда - GD просто грузит страницу, а в нужное место (к якорю), в отличие от браузера, почему-то не переходит.
     
    В чем может быть причина? Можно это как-то исправить?
     

    Всего записей: 804 | Зарегистр. 07-08-2013 | Отправлено: 12:27 04-03-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ramanuki
    Выложите свой Test.html
    Я тоже попробую что-нибудь придумать.
     

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 12:36 04-03-2017
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ramanuki

    Цитата:
    В словаре на заголовки навешены якоря. Но вот беда - GD просто грузит страницу, а в нужное место (к якорю), в отличие от браузера, почему-то не переходит.

    Хм. Обращение к сайтам происходит просто - GD посылает запрос, получает ответ и вставляет его в страницу. Какие-то дополнительные переходы по странице банально не предусмотрены. Подразумевается, что формирование ответа в нужном виде - это забота сайта.

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6077 | Зарегистр. 22-10-2005 | Отправлено: 13:00 04-03-2017
    ramanuki



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andreyefgs
    Ссылка на словарь Test.html: http://rgho.st/6PzSZKcvk
     
    Abs62

    Цитата:
    Подразумевается, что формирование ответа в нужном виде - это забота сайта.

     
    Но если послать запрос со ссылкой на якорь, то обычный браузер переходит в нужное место страницы. Пример ссылки здесь: http://rgho.st/7lBlcRqj6
     
    А почему GD, зная, каким конкретно местом на странице интересуются, не может перейти прямо к нему?
     
     
     
     
    Добавлено:
    Abs62
    А возможно ли реализовать такую фишку?:
     
    Имеется папка с html-файлами, каждый из которых представляет собой карточку словаря. Название файла служит заголовком карточки.
     
    Мы в настройках словарей в GD указываем адрес этой папки, а GD по запросу смотрит, есть ли в указанной папке файл с названием, совпадающим с запросом и, в случае соответствия, выводит страницу файла в своем окне.
     

    Всего записей: 804 | Зарегистр. 07-08-2013 | Отправлено: 13:18 04-03-2017
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ramanuki

    Цитата:
    А почему GD, зная, каким конкретно местом на странице интересуются, не может перейти прямо к нему?

    Потому что в процедуре загрузки данных с сайта такие финты не предусмотрены. Этим не браузерное ядро занимается, а сам GD (если снята галка "As link", ясен пень, в противном случае просто вставляется сама ссылка в iframe). Хотите - вставляйте в страницу скрипты, которые этим займутся.  Только что вы будете делать, если в группе окажутся два таких требовательных словаря, каждый из которых захочет потянуть одеяло на себя?

    Цитата:
    Мы в настройках словарей в GD указываем адрес этой папки, а GD по запросу смотрит, есть ли в указанной папке файл с названием, совпадающим с запросом и, в случае соответствия, выводит страницу файла в своем окне.

    "file:///C:/Dictionaries/Temp/%GDWORD%.html"?

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6077 | Зарегистр. 22-10-2005 | Отправлено: 13:44 04-03-2017
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ramanuki

    Цитата:
    Имеется папка с html-файлами, каждый из которых представляет собой карточку словаря. Название файла служит заголовком карточки.

    Это было бы элементарно организовать, если бы GD перешёл на QtWebEngine на дивжке Blink.
    Технология называется HTML Imports. Подробнее:
     
    https://www.html5rocks.com/en/tutorials/webcomponents/imports/
    https://www.webcomponents.org/community/articles/introduction-to-html-imports
    https://w3c.github.io/webcomponents/spec/imports/

    Всего записей: 1326 | Зарегистр. 03-03-2008 | Отправлено: 14:03 04-03-2017
    ramanuki



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62

    Цитата:
    "file:///C:/Dictionaries/Temp/%GDWORD%.html"

     
    Технология работает. Так что можно создавать html-словари на основе карточек-файлов.
     
    Но есть достача. В случае отсутствия соответствующей карточки кричит типа:
     
    "Ошибка поиска: Ошибка открытия C:/Dictionaries/Temp/Heading 4.html: No such file or directory"
     
    Можно эти крики как-то заглушить? То есть, если нет соответствующей карточки, то и никакого вывода нет.
     
    Добавлено:
    Romul81
    Хочется, как можно проще и всеохватнее.

    Всего записей: 804 | Зарегистр. 07-08-2013 | Отправлено: 14:22 04-03-2017 | Исправлено: ramanuki, 14:23 04-03-2017
    CAEman5

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    shortcut

    Цитата:
    Запускаю индексацию словарей (словарей много, 697 файлов, есть большие) на ноутбуке со средними характеристиками и установленной Windows 7 x86.  


    Цитата:
    В чем может быть дело?

    Возможно, слишком много для этой устаревшей и перешедшей на мобильные устройства ОС? Проверьте количество открытых процессом goldendict дескрипторов файлов. Если их (как здесь когда-то писали разработчики) >2048 (в linux это проверяется командой "lsof -p `pgrep goldendict` | wc -l", а как в Вашей ОС- попробуйте уточнить у единственного оставшегося разработчика, как раз специализирующегося на этом раритете), то наиболее простой выход - это переход на современную ОС, если не хотите заняться созданием составных словарей.

    Всего записей: 61 | Зарегистр. 02-04-2016 | Отправлено: 14:25 04-03-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ramanuki
     
    Сделал, вот тестовая страничка: скачать
     
    Переходы к якорям работают
     
    Инструкция (readme.txt) и скриншот в архиве.
     
    в readme.txt сказано как тестировать
     
    Но пришлось javascript использовать:

    Код:
     
    function urlParam(name){
     
        var results = new RegExp('[\?&]' + name + '=([^&#]*)').exec(window.location.href);
     
        if (results==null)
        {
          return null;
        }
        else
        {
          return results[1] || 0;
        }
    }
     
     
    document.addEventListener("DOMContentLoaded", function(event) {
     
        var word = urlParam('word');
     
     
        if ((word) && (word.trim().length !== "") && (word !== 'stop_infinite_loop'))
        {
        
            var a = document.createElement('a');
            a.id = "TempLink";
            a.setAttribute('href', "gdlookup://localhost/stop_infinite_loop?gdanchor=" + word);
            a.innerHTML = 'text';
            document.getElementsByTagName('body')[0].appendChild(a);
            document.getElementById('TempLink').click();
            
        }
     
    });
     

     
    По ходу кодирования и тестирования столкнулся с проблемой infinite loop
    Я её решил, но не очень элегантно, на скорую руку
     
    ЗЫ
    В настройках используем ссылку такого типа:
    file:///home/andrey/u/dev/js/anchortest/index.html?word=%GDWORD%
    Чекбокс в колонке "As link" должен быть пустым.

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 14:54 04-03-2017 | Исправлено: andreyefgs, 14:58 04-03-2017
    ramanuki



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andreyefgs
    Сделал инъекцию вашего скрипта в свой Test.html. Работает. Спасибо!  
    Только порой GD открывает новую вкладку.
     
    Добавлено:
    andreyefgs
    Еще одна беда - не дает другим, обычным словарям отображаться.

    Всего записей: 804 | Зарегистр. 07-08-2013 | Отправлено: 15:20 04-03-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Еще одна беда - не дает другим, обычным словарям отображаться.

     
    ramanuki
    Проверил, есть такое
    Попробую что-нибудь придумать, надо допиливать технологию
     

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 15:34 04-03-2017 | Исправлено: andreyefgs, 15:36 04-03-2017
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ramanuki

    Цитата:
    Можно эти крики как-то заглушить? То есть, если нет соответствующей карточки, то и никакого вывода нет.

    Можно. Вот: goldendict-1.5.0-RC2-52-g685cdab(EXE only).7z
    Для схемы "file://" крики пойдут не на экран, а в лог.

    ----------
    0 программистов ругал сердитый шеф
    Потом уволил одного, и стало их FF

    Всего записей: 6077 | Зарегистр. 22-10-2005 | Отправлено: 16:02 04-03-2017
    ramanuki



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
    Спасибо!
    Эта версия работает без ругани.
     

    Всего записей: 804 | Зарегистр. 07-08-2013 | Отправлено: 16:26 04-03-2017 | Исправлено: ramanuki, 16:27 04-03-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ramanuki
     
    Усовершенствовал: скачать
     
    Изменённый фрагмент кода:
     

    Код:
        var word = (urlParam('word')) ? urlParam('word').trim() : "";
        var gdanchor = (urlParam('gdanchor')) ? urlParam('gdanchor').trim() : "";
     
        if ((word !== "") && (gdanchor === ""))
        {
        
            var a = document.createElement('a');
            a.id = "TempLink";
            a.setAttribute('href', "gdlookup://localhost/" + word + "?gdanchor=" + word);
            a.innerHTML = 'text';
            document.getElementsByTagName('body')[0].appendChild(a);
            document.getElementById('TempLink').click();
            
        }
     

    Скриншот: ссылка
     
    Обратите внимание на скриншоте на:
    1)В окошке "Result Navigation Pane" присутствует не только Anchor (т.е. испытуемая страничка) но и обычный словарь в котором также было найдено это слово (в примере infarkt)
     
    2)В окошке "History Pane" больше нет заголовка stop_infinite_loop, история больше не засоряется
     
    3)Заголовок вкладки не stop_infinite_loop, как было неизменно прежде, а infarkt
     
    В общем, вроде все недостатки побеждены, испытывайте.
     

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 16:54 04-03-2017
    ramanuki



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    andreyefgs
    Спасибо! Можно использовать как вариант работы с HTML. Из минусов - будут висеть постоянно такие словари в списке "Найдено в словарях" даже когда и не найдено.))

    Всего записей: 804 | Зарегистр. 07-08-2013 | Отправлено: 21:51 04-03-2017
    andreyefgs



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ramanuki
    Эту проблему можно решить если внести в GD такое изменение, которое приведёт к тому, что локальные веб-странички (file://) не будут добавляться в окошко "Result Navigation Pane/Found in Dictionaries" (вообще/никогда).  
     
    При этом ни одно животное не пострадает, ибо это как бы недокументированная пока фича, которую никто не юзает.
    Да и зачем они там.
     
    А заголовок "From Словарь такой-то" (и вообще все следы странички) можно прятать динамически (js кодом) по ситуации.
     

    Всего записей: 1533 | Зарегистр. 16-10-2005 | Отправлено: 22:38 04-03-2017 | Исправлено: andreyefgs, 22:43 04-03-2017
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175

    Компьютерный форум Ru.Board » Компьютеры » Программы » GoldenDict (часть 2)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru