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

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

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

Maz (23-02-2017 11:53): GoldenDict (Часть 2)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249

   

slech



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




 
Актуальная версия 1.5.0:
Windоws RC2-36 Qt 4.8.6 или Qt 5.6.2, последний EXE-файл: goldendict-1.5.0-RC2-50-g2fe314a(EXE only).7z.
Плагин dsengine.dll для Qt 5.6-based версии на Windows XP: dsengine_5.6.1_for_XP.7z
MacOSX RC2-36 (Qt 562) (рекомендуется для Mavericks & Yosemite); RC 483 (Qt 532) (рекомендуется для Mountain Lion); RC 425 (Qt 486)
 
GoldenDict — новая словарная программа, обладающая следующими особенностями:  
 
  • Графический интерфейс на основе табов, для создания которого использована библиотека Qt;
  • Интеграция с html-движком WebKit для корректного представления материалов в html-формате;
  • Поддержка подключения словарей в форматах: Babylon (.BGL), StarDict (.ifo/.dict./.idx/.syn), Dictd (.index/.dict(.dz)), ABBYY Lingvo (.dsl тексты и аудиоматериалы .lsa/.dat, .lsd - только в Android), XDXF, AARD, 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

  • Всего записей: 4893 | Зарегистр. 10-11-2004 | Отправлено: 11:34 26-04-2009 | Исправлено: Maz, 11:48 23-02-2017
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ramanuki
    Видимо потому, что даже просто, чтоб создать индекс, нужно будет распарсить целиком этот HTML, выудив контент между этими нужными тегами (попутно очистив). Если файл небольшой - теоретически возможно... Но, есть масса других проблем. Как выводить статью? Обрезать по следующему вхождению <h1>? Или <h2>? А если за <h2> идёт <h3> - это уже заголовок другой статьи, или продолжение текущей?
    В общем, не всё так просто...

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 21:41 26-12-2016
    ramanuki



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

    Цитата:
    В общем, не всё так просто.

    Как гласит программерская поговорка, чем нативнее формат, тем сложнее его обработать...)))
     
    Достаточно было бы и по <h1> обрезать. Остальные к нему приравнять.

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



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

    Цитата:
    В этой связи вопрос. Насколько дорого выходит вот эта фича? В плане нагрузки в процессе предобработки.

    Да не так, чтобы очень... Это разбор заголовка mdx, он выполняется однократно при открытии файла (то бишь инициализации словаря).

    Цитата:
    Просто возможность запихать в токены любой повторяющийся контент подкупает

    И будет оно постоянно сидеть в памяти, даже когда никому не нужно.
     
    ramanuki

    Цитата:
    Если html нативный режим, то почему бы не добавить в GD возможность чтения сжатых электронных книг в формате htmlz? И при этом, установить, что заголовками будут теги, например, <h1>...<h3>. Будет работать система? Если да, то можно будет преобразовывать готовые и создавать свои словари в HTML, что есть дешево и сердито.

    Не вариант. Во-первых, статьи тут не являются самодостаточными элементами, это всего лишь часть html-кода. А во-вторых, это zip. А значит, чтобы добраться до какой-то части файла, надо распаковать его весь. Та же байда, что и с bgl.


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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 23:04 26-12-2016
    Romul81



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

    Цитата:
    И будет оно постоянно сидеть в памяти, даже когда никому не нужно.  

    По крайней мере для CSS можно воспользоваться. Я имею в виду в теге <style>, а не ссылку в <link ...> Имхо, это всё же лучше, чем двойная изоляция во внешнем файле. Уникальность классов остаётся на совести сборщика словаря.
    ..Мысли вслух.

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 23:26 26-12-2016
    ramanuki



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Близок локоть, да не укусишь - вот именно такой пословицей можно охарактеризовать здесь ситуацию с HTML. )) Неужели нет вариантов, как сделать на нем словарь, чтобы по удобству работы был не хуже DSL?

    Всего записей: 805 | Зарегистр. 07-08-2013 | Отправлено: 00:03 27-12-2016
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    ramanuki
    Давайте вместе попросим Деда Мороза!
     
    GLS! GLS!  
     
     
     
    P.S. Ну или tab-file...

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 00:08 27-12-2016 | Исправлено: Romul81, 00:12 27-12-2016
    ramanuki



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    Как бы нас Дед Мороз без подарков не оставил! ))

    Всего записей: 805 | Зарегистр. 07-08-2013 | Отправлено: 00:36 27-12-2016
    Abs62



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

    Цитата:
    GLS! GLS!

    А спецификация формата имеется?

    Цитата:
    P.S. Ну или tab-file...

    Это что?

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

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



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

    Цитата:
    А спецификация формата имеется?  

     
    Официальной спецификации нет, если не считать эту страницу. Это формат-сырец для компилятора Babylon Glossary Builder. Преимущество его в том, что, помимо того, что он может быть конвертирован в BGL, с такой же лёгкостью он конвертируется в Stardict -h. Наши уважаемые форумчане andreyfgs и vsemozhetbyt даже написали конвертеры - для Python и Node.js соответственно. Позже andreyfgs внёс реализацию конвертера для Node.js в свою мегатулзу nodereplacer.js. Описание из справки к ней:
    Текст

    Цитата:
    Это что?

    Примерно то же самое, только в формате {начало строки}заголовок{TAB}тело статьи{перевод строки}. Без пустых строк. Удобно для редактирования и построчной обработки во всяких TextPipe-ах и прочих инструментах. Официальный компилятор Stardict его тоже понимает. Спецификации нет.
     
    Оба формата присутствуют, также, в конвертере pyglossary.
     
    Добавлено:
    Вот здесь импортный юзер просит добавить поддержку GLS в GD.
     
    P.S. Там же речь идёт о каком-то лохматом Babylon Builder 1.0.63 в котором, якобы, можно создавать словари в режиме WYSIWYG и сохранять в этом формате.  

    Цитата:
    I find Babylon Builder v.1.0 very convenient editor for simple user (custom) dictionaries - all the formatting tags are inserted by buttons and one can create a dictionary entry with all the formatting, links, embeded pictures, etc. much more quickly than when editing a raw tagged file (like DSL). It'a a pitty that there is no good WYSIWYG editor for DSL  

    Но где это чудо сыскать в наше нелёгкое время?..

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 01:11 27-12-2016 | Исправлено: Romul81, 01:34 27-12-2016
    Abs62



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

    Цитата:
    Описание из справки к ней:

    А что за текст должен быть в статьях? Plain text, html, xml или ещё что?

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

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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
    Plain text и html. Для последующей компиляции в Stardict в заголовок записывается директивы через решётку, которые позже можно найти в *.ifo

    Код:
     
    #bookname=GoldenDict Enhancer (Ru-Ru)
    #sametypesequence=h
    #author=
    #email=
    #website=
    #description=
    #date=

    Конвертер от andreyfgs поддерживает только #sametypesequence=h, то бишь HTML. Он нам и интересен.
    Теоретически может быть любой другой контент, допустимый в Stardict. Но логично ограничиться только тем, что уже поддерживает GD в Stardict.  
    sametypesequence=x тоже, наверное, было бы интересно поддерживать, но я не в курсе, делает ли кто-либо на практике словари в этом формате (вручную). Все имеющиеся - это результат конвертирования makedict. Единственный плюс здесь может быть в том, что на десктопе можно работать с сырцом GLS / sametypesequence=x, а потом скомпилировав в Stardict использовать в GD на андроиде, т.к. он голый XDXF не поддерживает.  
    Но это, прямо скажем, функционал на любителя. Мы - за HTML!
     
    P.S. Pyglossary создаёт GLS почему-то с 3-мя решётками в директивах. Тут не разбирался что к чему.

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



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

    Цитата:
    P.S. Pyglossary создаёт GLS почему-то с 3-мя решётками в директивах. Тут не разбирался что к чему.

    Образцы файлов во всех требуемых вариантах у вас найдутся?

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

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



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

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 09:40 27-12-2016
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    Да не к спеху. Я если и займусь этим, то уже не в этом году.

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

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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
    Погуглил чуть на эту тему. Ситуация следующая.
    Начну с предыстории. Не секрет, что пионером в словарной отрасли (из получивших широкое распространение) был Babylon со своим BGL. Это и понятно - разработчику удалось заручиться поддержкой именитых издательств/брендов и выпустить линейку достойных словарей, охватывающую большое кол-во языков, причём большАя часть этих словарей распространялась официально совершенно бесплатно.  Поспособствовал этому и агрессивный маркетинг, вплоть до malware (все помнят, наверное, пресловутый бабилон-тулбар, который разработчик пихал куда только можно). В то же время недостатки формата никуда не делись - основной из них - это закрытость формата в сочетании с фокусированностью разработчика на рублении бабла.
     
    Как известно, природа не любит дисбаланса и вскорости появилось несколько альтернатив. Очевидно, что многие идеи были почерпнуты именно у Babylon-а. Одними из первых подсуетились, как всегда, китайцы, со своим Stardic, позже плавно перетекшим в Stardict (формат + одноимённая оболочка). В целом, у Stardict-а было больше возможностей, чем у его коммерческого прообраза - поддержка большого кол-ва маркапов (даже нашим соотечественникам с их XDXF удалось затесаться), внешние ресурсы, позже добавилась возможность сжатия dictzip-ом. И самое главное - свободный формат, хотя и бедно документированный. Народ кинулся разбирать BGL-словари (формат к тому времени более или менее раскурочили) и конвертировать их в Stardict, благо этот функционал был и в самом Stardict Editor-е. Но счастье, как всегда, длилось не долго. Неполживая прогрессивная общественность такой фортель не оценила и подумав "нет ли тут антисемитизъму?" обвинила Stardict в пиратстве, казнокрадстве и чёрных замыслах против свободного мира. Оболочка тоже подкачала, начав хиреть и чахнуть, пока окончательно не загнулась. Но упавшее знамя ридеров формата подхватили молодые и амбициозные, во главе которых стал ...наш сабж.
     
    Но это всё лирика. На практике формат GLS - это текстовый исходник для компиляции в формат BGL. Был задуман сумрачным семитским гением в тени смоковницы на берегу Иордана. Таковым и останется. Правда, в разных версиях. Потому как сам компилятор Babylon Glossary Builder существует в нескольких версиях (теоретически). Нынешняя (последняя) версия компилятора работает с таким типом файла:

    Код:
    ### Glossary section:
     
    заголовок|синоним
    перевод
     
    другой заголовок
    перевод

    Онлайн пример.
    Все директивы и служебная инфа хранятся в файле проекта *.grp. Файл имеет XML-структуру.
    Но, видимо, так было не всегда. В эпоху MS DOS win 98 и существования полу-мифической версии Babylon Builder 1.0.63 эта инфа, видимо, хранилась в самом GLS. Удалось отыскать к примеру такой исходник (осторожно, прямая ссылка), явно созданный билдером. Все директивы прописаны через ###, включая уникальный ID, который генерирует билдер.
     
    Разработчики Stardict-а решили далеко не ходить и использовали ту же самую структуру (помимо других) для компиляции в свой формат. Изменили только блок директив и расширение на простодушное "*.babylon". При декомпиляции BGL именно такой файл и создаётся. Заголовок примерно следующий:

    Код:
     
    #stripmethod=keep
    #sametypesequence=h
    #bookname=Test
    #author=Admin
     
    aerie|aery|eyry
    aerie aery eyry

    Директив может быть больше - они соответствуют спецификации Stardict. Заметьте, флаг #sametypesequence=h проставляется по умолчанию для декомпилированного BGL, т.е. подразумевается, что именно этот маркап может присутствовать в формате-источнике. Оно и понятно, ведь перевод строки в GLS возможен только в виде <BR>, хотя сам Stardict, вроде как поддерживает \n.
     
    Резюмируя. В качестве сырца для HTML-контента формат, действительно, удобен. Косвенным подтверждением этому служит тот факт, что практически в неизменном виде он используется для компиляции в другие форматы, напр. Lingoes. Source File Format of Lingoes Dictionary Структура заголовков тоже ясная и прозрачная - с индексацией сложности не должно быть (DSL в этом плане сложнее со своими прибамбасами). В общем, по нынешним временам, когда существует спрос на возможность работы с сырым HTML, реализация поддержки GLS в GD могла бы быть хорошим решением.
     
    З.Ы. Единственным отличием по синтаксису между "родным" GLS и стардиктовским является формат ссылок. В "родном" по бабилоновскому <a href="bword://next">next</a> а в стардикт просто <a href="next">next</a>.
     
    З.З.Ы Поправил ссылку на онлайн-пример.

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 01:15 28-12-2016 | Исправлено: Romul81, 01:56 28-12-2016
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    Ясно. Что ж, в следующем году надо будет посмотреть, что тут можно сделать.

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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 01:33 28-12-2016
    CKA3O4H1K



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите пожалуйста css класс для аудиоматериалов
     
    Это оффтопик, скомпилировали для macOS словарь dsl из Lingvo x5, а там произношение дважды и коряво отображается.

    Всего записей: 1378 | Зарегистр. 26-10-2004 | Отправлено: 04:24 08-01-2017
    Sasha888mma

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток!
    Скажите пожалуйста,какие плюсы\минусы сжатия dsl в dz помимо уменьшения размеров?
    Накопил словарей на 18Гб за долгое время,все лежат на телефоне и планшете,вот думаю, а не пора бы их сжать...
    Заранее спасибо за ответы!
    P.s. Кстати ссылки на софт для сжатия в шапке дохлые.

    Всего записей: 118 | Зарегистр. 19-06-2015 | Отправлено: 19:21 13-01-2017
    Abs62



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

    Цитата:
    Скажите пожалуйста,какие плюсы\минусы сжатия dsl в dz помимо уменьшения размеров?

    Только уменьшение размера. Минус - некоторое увеличение времени загрузки статей (их же ещё распаковывать приходится).

    Цитата:
    P.s. Кстати ссылки на софт для сжатия в шапке дохлые.

    На dictzip вполне рабочая.

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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 21:06 13-01-2017 | Исправлено: Abs62, 21:08 13-01-2017
    Sasha888mma

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

    Цитата:
    Минус - некоторое увеличение времени загрузки статей (их же ещё распаковывать приходится).  

    Спасибо!оставлю тогда как есть.

    Всего записей: 118 | Зарегистр. 19-06-2015 | Отправлено: 21:45 13-01-2017 | Исправлено: Sasha888mma, 21:45 13-01-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 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249

    Компьютерный форум Ru.Board » Компьютеры » Программы » GoldenDict (Часть 1)
    Maz (23-02-2017 11:53): GoldenDict (Часть 2)


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru