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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Если заголовок обычный, то всё ОК. Но заголовки с ударением что-то не ищутся через тильду.

    Всего записей: 805 | Зарегистр. 07-08-2013 | Отправлено: 23:05 09-03-2018
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ramanuki
    Тогда вот - goldendict-1.5.0-RC2-242-g5409cdf(EXE only).7z (опять переиндексация DSL).
    Теперь и с ударениями должно быть нормально.

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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 23:56 09-03-2018 | Исправлено: Abs62, 23:56 09-03-2018
    ramanuki



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Ну вот, индексация закончилась (примечательно, что несколько сот словарей проиндексировались заметно быстрее - всего за 3 часа - чем одна-единственная в/у русская энциклопедия). Всё работает, потерянное слово, замененное тильдой, нашлось (чего только не сделаешь ради одного слова! ).  
    Спасибо за новую версию!

    Всего записей: 805 | Зарегистр. 07-08-2013 | Отправлено: 19:25 10-03-2018
    ZakosilPodWeb

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

    Цитата:
     
    При запуске, программа зависает в случае, если она была запущена не из эмулятора терминала, а
    при помощи лаунчера или меню приложений.
     

     
    Всё же хотелось вернуться к данному вопросу.
     
    Обратил внимание на то, что программа виснет в случае, если отсутствует адресат для вывода
    отладочных сообщений.
     
    Если запуск произведен из консоли, то таковым адресатом является стандартный вывод или стандартный
    вывод ошибок. Однако, в случае запуска из меню приложений или посредством лаунчера адресат не ясен,
    и при попытке вывода происходит сбой.
     
    Учитывая указанные обстоятельства, написал следующий сценарий-обёртку и добавил его пунктом меню:
     

    Код:
     
    #! /usr/bin/env zsh
     
    goldendict 1>/dev/null 2>&1
     

     
    В данном случае, адресат для вывода указан явно и при запуске данного сценария из меню, лаунчера,
    кликом по ярлыку и т. п. сбоев не наблюдается.
     
    В связи с этим возник вопрос: каким образом программа определяет куда она будет выводить отладочные
    сообщения в процессе работы?

    Всего записей: 53 | Зарегистр. 17-08-2008 | Отправлено: 20:10 10-03-2018
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ZakosilPodWeb
    Схема обычная - либо в файл gd_log.txt при задании ключа командной строки "--log-to-file", либо в stderr. Некоторые всегда отправляются в stdout.
    Хочу заметить, что так GD работает с самого рождения. И до сих пор на зависания никто не жаловался. Потому как при отсутствии связанной с процессом консоли нормальные системы сами отправляют такой вывод в nul.

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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 20:35 10-03-2018
    ramanuki



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
    А что нового в секретно вышедшей 246-й версии?

    Всего записей: 805 | Зарегистр. 07-08-2013 | Отправлено: 22:14 12-03-2018
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ramanuki
    Ничего секретного - просто мелкие правки я не анонсирую. По сравнению с 242 - пофикшена обработка тегов <audio> и внешних ссылок в онлайн-вики. И несколько ускорена обработка звукового файла размером 44 мегабайта оттуда же.
    А вообще в шапке есть ссылка "история изменений". Там вообще все изменения отражаются, даже те, которые не выложены.

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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 22:56 12-03-2018
    ramanuki



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
    Спасибо за информацию. Краткое резюме из первых рук как-то понятнее, нежели сухие строки истории изменений.

    Всего записей: 805 | Зарегистр. 07-08-2013 | Отправлено: 23:02 12-03-2018
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Немного подкрутил процесс индексации - goldendict-1.5.0-RC2-247-g9468f26(EXE only).7z.
    Будет быстрее и компактнее строиться индекс объёмом более 4.2 млн заголовков (то бишь полнотекстовый индекс офлайновых вики, у прочих словарей обычно столько не набирается), на индексы покороче изменения не влияют.

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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 23:13 13-03-2018
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
    Хотел поинтересоваться, существует ли возможность имплементировать следующий функционал.
     
    Предпосылка. Словарей может быть много. "Тяжёлых" и не очень. Даже если они разделены в группы, в конкретной группе тоже могут присутствовать десятки словарей, и загрузка всех статей по искомому слову может быть достаточно ресурсозатратной.
     
    Частная ситуация. В языковой группе ищется "простое" слово, которое, скажем, присутствует в нескольких десятках имеющихся в группе словарей. Цель не заключается в том, чтобы изучать все эти десятки статей, а банально, посмотреть простой перевод. Т.е. просмотр первых 2-5 статей был бы более чем достаточен.
     
    Предложение. Добавить в настройки функцию ограничения вывода результатов настраиваемым числом, которое бы соответствовало количеству статей/словарей, в которых было найдено искомое слово.
     
    Как развитие этой концепции, в конце страницы webview можно было бы добавить кнопку/ссылку на загрузку оставшихся словарей, чтоб постоянно не менять опцию в настройках, а дозагружать статьи "налету". У нас ведь имеется взаимодействие между webkit и оболочкой)). Да, могут быть сложности с "подцеплением" дополнительного контента к странице, ведь <body> уже закрыт, но это можно решить с помощью javascript.
     
    Что скажете?

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 11:22 16-03-2018
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    Не вижу смысла. Для "посмотреть простой перевод" можно сделать соответствующую группу с несколькими словарями. И, к примеру, выставить её для всплывающего окна (которое, собственно, именно для таких целей и задумывалось), а основное оставить с более объёмной группой. Если во всплывающем окне слово не найдено - отправить его в основное одной кнопкой.

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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 11:51 16-03-2018
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    OK. С группами да - рабочее решение. Но, давайте попробуем смоделировать две разные ситуации.
    Первая. Ищется простое слово, которое присутствует во всех пяти словарях. Всё замечательно. Группа выводит пять статей (хотя, это много для такой задачи, как по мне).
    Вторая. Слово редкое и отсутствует в нашем минимальном наборе для быстрого перевода. Тогда надо переключаться на основное окно, и, возможно, далее шариться по группам. Неудобно.
     
    Если бы была такая опция в настройках групп, то можно было иметь всего пару групп - с ограничителем и без. Если в группе с ограничителем будут присутствовать хоть сотни словарей, но при этом будет выполняться break при достижении целевого кол-ва статей, эта группа будет лёгкой, не смотря на свой объём. И при этом, в ней будет находиться практически "любое" слово, в виду количества словарей, её составляющих.
     
    Про опцию в webview предлагаю забыть пока, в виду сложности реализации. Настройка ограничителя для каждой из групп была бы выходом.

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 12:08 16-03-2018
    Abs62



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

    Цитата:
    Вторая. Слово редкое и отсутствует в нашем минимальном наборе для быстрого перевода. Тогда надо переключаться на основное окно, и, возможно, далее шариться по группам. Неудобно.

    Переключение на основное окно делается одной кнопкой - раз. А редкие слова потому и редкие, что редко попадаются - два. К тому же, если в основной группе слова не оказалось, то шариться по группам придётся в любом варианте, хоть с ограничениями, хоть без.

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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 12:27 16-03-2018
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Вам, конечно, видней. Но я всё-же считаю, что такой функционал был бы полезен. По следующей причине. Он позволил бы сократить кол-во групп. Предположим, у юзера пол-тыщи словарей для одной пары языков (а бывает и больше). Несколько утрированная ситуация, но всё же. Если все эти словари в одной группе, то пользоваться ими очень напряжно, особенно если есть html-словари с тяжёлыми стилями (которые экранируются), скриптами, многочисленными таймерами и слушателями (это невозможно контролировать). Приходится разбивать словари на группы, по различным критериям/назначению. Если искомое слово редкое, то придётся прыгать между этими группами или переключаться на "все". При наличии опции ограничения, в минимальном варианте, можно было бы иметь всего две группы со всеми этими словарями  - с ограничителем и без, и, в зависимости от цели, переключаться между ними. При этом, "ресурсная база" для поиска в группе с ограничителем была бы по-прежнему большой, но минимально необходимый результат выводился бы моментально. Т.е. эту группу можно было бы использовать и для окна быстрого перевода. Хотя, мне лично было бы удобно пользоваться такой группой и в основном окне.
     
    Я предлагаю вам, всё же, так категорично не отметать эту идею. Подождём, может другие пользователи выскажутся по этому поводу, и, возможно, существуют альтернативные идеи по её реализации.

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 12:58 16-03-2018
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    Не так.
    Вариант 1 (имеющийся): 2 группы, одна с малым количеством словарей, одна полная.
    Вариант 2 (предлагаемый): 2 группы, одна полная с ограничением, одна полная.
    Отличие: Во втором варианте в редких случаях потребуется нажать на кнопку передачи слова в главное окно, в первом не потребуется. Все прочие переключения групп требуются в обоих вариантах.
    Городить серьёзные изменения ради того, чтобы избежать одного лишнего нажатия на кнопку в редких случаях, как-то желания нет.

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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 13:41 16-03-2018
    Romul81



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

    Цитата:
    Отличие: Во втором варианте в редких случаях потребуется нажать на кнопку передачи слова в главное окно, в первом не потребуется.

    Наверное, наоборот, варианты 1 и 2 перепутаны местами? Или я вообще ничего не понимаю...

    Цитата:
    Все прочие переключения групп требуются в обоих вариантах.

    Да, но ключевой момент здесь - ограничить кол-во выводимых статей, но при этом имея базу всех словарей (в группе) для поиска.

    Цитата:
    Городить серьёзные изменения ради того, чтобы избежать одного лишнего нажатия на кнопку в редких случаях, как-то желания нет.
     

    Дело не совсем в одном лишнем нажатии на кнопку, это лишь попутное следствие (отсутствие необходимости её нажимать).
    Для этого потребуется две вещи - добавить в настройках групп ограничитель, как, например, размер истории в настройках словаря (0 - без ограничения). И при построении вывода сверять счётчик статей с этим ограничителем. При превышении - break и закрытие body.
    Или есть ещё что-то неочевидное и сложно реализуемое?

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 14:05 16-03-2018
    Abs62



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

    Цитата:
    Наверное, наоборот, варианты 1 и 2 перепутаны местами?

    Да, действительно перепутал в запале.

    Цитата:
    Или есть ещё что-то неочевидное и сложно реализуемое?

    Да не то чтобы так уж сложно... Скорее хлопотно. Как по мне, игра не стоит свеч.

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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 14:51 16-03-2018
    ramanuki



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
    Подскажите, пожалуйста, вот этот код, который я привожу ниже, работает в CSS? Что-то у меня никакого влияния он не оказывает на xdxf-словари.
     

    Код:
    .xdxf_tr:before
        {
         content:"[";
        }
     
    .xdxf_tr:after
        {
        content:"]";
        }
     
    .xdxf_tr
        {
        font-weight: normal;
        color: #A9A9A9;
        }
    .xdxf
        {
        padding-bottom: 7px;
        }
    .xdxf_dtrn
        {
         font-weight: normal;
        padding-left: 18px;
        }

    Всего записей: 805 | Зарегистр. 07-08-2013 | Отправлено: 15:50 18-03-2018 | Исправлено: ramanuki, 15:50 18-03-2018
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ramanuki
    Да вроде как работает. Проверьте в инспекторе, что там получается.

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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 18:28 18-03-2018
    ramanuki



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

    Цитата:
    Да вроде как работает. Проверьте в инспекторе, что там получается.
     

    Складывается такое впечатление, что не работает по той причине, что в инспекторе я вижу добавленные хвостики к тегам: xdxf_tr_old, co_old... которых нет в CSS и коде словаря. Откуда они взялись?
     
     

    Всего записей: 805 | Зарегистр. 07-08-2013 | Отправлено: 20:04 18-03-2018 | Исправлено: ramanuki, 20:07 18-03-2018
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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