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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Спасибо, как до дома доберусь - опробую.  
     
    З.ы. Не въеду в принцип нумерации билдов - вроде для Qt5 она уже за 600 перевалила... Или это на Qt4?

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 18:30 01-04-2016
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    Основная нумерация идёт по Qt 4. Просто там в архиве версии для всех моих сборок, и под Qt 4, и под Qt 5. То бишь по сути получается билд 527/609.

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

    Всего записей: 6092 | Зарегистр. 22-10-2005 | Отправлено: 18:36 01-04-2016
    Romul81



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

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 18:37 01-04-2016
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Протестировал. Заголовки вкладок не пропадают. Заметил, также, что переходы вперёд-назад работают как надо, т.е. сразу происходит переход с якоря на якорь, а не через заголовок. Тестировал Mdict и Stardict.
     
    Шрифты грузятся (наконец-то в инспекторе превизуализация загруженных шрифтов работает как надо!). Но есть нюанс. src: url по стандарту может быть без кавычек (если в имени файла нет пробелов и спец. знаков).
    font-family-name-quotes
    function-url-quotes
    А сейчас по факту такой код не работает:

    Код:
    @font-face
    {  
      font-family: 'MusicalSymbols';  
      src: url(musical.ttf);
    }

     
    А такой уже да:

    Код:
    @font-face
    {  
      font-family: "MusicalSymbols";  
      src: url('musical.ttf');
    }

     
    Ну и с двойными кавычками, тоже всё работает.
     
    Трёхбуквенные пары подхватываются.
    Красота! :smile:
     
    Добавлено:

    Цитата:
    А сейчас по факту такой код не работает:

     
    Сейчас так:

    Код:
    QRegExp links( "url\\(\\s*(['\"])([^'\"]*)(['\"])\\s*\\)");

     
    Может надо так:?

    Код:
    QRegExp links( "url\\(\\s*(['\"]?)([^'\"]*)(['\"]?)\\s*\\)");

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 22:49 01-04-2016 | Исправлено: Romul81, 23:09 01-04-2016
    Abs62



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

    Цитата:
    Сейчас так:
     
    Код:
    QRegExp links( "url\\(\\s*(['\"])([^'\"]*)(['\"])\\s*\\)");
     
     
    Может надо так
     
    Код:
    QRegExp links( "url\\(\\s*(['\"]?)([^'\"]*)(['\"]?)\\s*\\)");  

    Можно и так. Не проблема.

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

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



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

     
    З.Ы. Притормаживает не слабо - задержка доходит до 250мс.
     
    З.З.Ы. Не пойму откуда это вылазит в HTML этого нет, в ресурсах, вроде, тоже..
    Запрос: GET gdlookup://localhost/bg.gif Protocol "gdlookup" is unknown
     
    З.З.З.Ы. Ладно, не стоит заморачиваться - отключил проблемный словарь mdx, больше не вылазит.
    Но тут странность в том, что bg.gif пытался подцепиться на gdlookup. Хотя, что это и где находится - так и не нашёл.
     
    Добавлено:
    Но шрифты из MDD продолжают негрузиться:
     

    По прежнему ищятся через gdlookup.
     
    Тестовый словарь (V4)

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 23:53 01-04-2016 | Исправлено: Romul81, 00:29 02-04-2016
    Abs62



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

    Цитата:
    По прежнему ищятся через gdlookup.

    Да причина-то банальна - в mdx ссылки в css не правятся. Соответственно, раз протокол не указан, Webkit пытается грузить всё по тому же протоколу, по которому грузил основной html. Будем посмотреть.

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

    Всего записей: 6092 | Зарегистр. 22-10-2005 | Отправлено: 01:24 02-04-2016
    Romul81



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

    Цитата:
    в mdx ссылки в css не правятся.

     
    Тогда можно делать налету при помощи JavaScript...

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 01:28 02-04-2016
    Abs62



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

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

    Всего записей: 6092 | Зарегистр. 22-10-2005 | Отправлено: 01:33 02-04-2016
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    Вот, пробуйте - goldendict-1.5.0-RC-530-g30dad34(EXE only).7z.

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

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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Опробовал. Заметил интересную особенность, как для Staardict, так и для Mdict. Первая загрузка:
     

     
    Шрифты загрузились, пусть и с большой задержкой (но здесь виноват долгий парсинг CSS)
     
    Далее, следующий переход на любой другой заголовок:
     

     
    Шрифтов нет (даже не значатся в запросах). В ресурсах, очевидно, тоже нет. НО... отображаются в контенте! Смотрел на явно отличающихся шрифтах в Stardict. Для Oxford не смог определить разницу на глаз, но, думаю, тоже работают. Видимо, здесь имеет место быть какая-то хитрая оптимизация в webkit.
     
    Думаю, можно считать, что проблема загрузки шрифтов для Mdict решена (при случае ещё потом понаблюдаю).
     
    Другой момент. CSS. Только сейчас заметил, что происходит изоляция по ID словаря. Но странность в следующем. Для Stardict происходит так:

    Код:
    #gdfrom-95b21453e3fc55d5c047088c60f1c6e1 article{padding-bottom:1em;}

    Т.е., если я, к примеру захочу скрыть весь блок этого словаря, то достаточно будет написать в его родном CSS

    Код:
    * {display: none;}

    При загрузке произойдёт изоляция и он выводиться не будет, включая <div class="gddictname" onclick="gdExpandArticle. Для Mdict происходит следующее:

    Код:
    #gdfrom-50a7598c99b1547e7d6de93120a40cc6 .mdict oed4{display: block;}

    Т.е. я никаким образом не смогу скрыть этот блок полностью. <div class="gddictname" будет продолжать торчать. Это уже не говоря о том, что дополнительный класс .mdict существенно будет тормозить сложные комбинации селекторов (как сейчас и происходит).
     
    Вообще, в родном CSS этот класс задействован только здесь:

    Код:
    .mdict
    {
      margin-top: 1em;
    }
     
    .mdict a[name]
    {
      text-decoration: none;
      color: inherit;
    }

     
    Стоит ли овчинка выделки?..
     
    З.Ы. Подключается ли сторонний CSS к Stardict-x?
     
    З.З.Ы. Ещё надо учитывать тот момент, что в Mdict практически всегда присутствует CSS, причём он, как правило, наиболее комплексный и сложный для парсинга по сравнению с другими форматами.

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 14:30 02-04-2016 | Исправлено: Romul81, 14:42 02-04-2016
    Abs62



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

    Цитата:
    Стоит ли овчинка выделки?..

    Хм. Модуль работы с MDict писали китайцы (я его только по мелочам правлю, вроде преобразования ссылок), изолятор тоже они допиливали. Наверно, что-то имелось в виду. Возможно даже не столько то, что прописано во встроенном article-style.css, сколько возможность дополнительного управления через пользовательский. Если убрать вставку ".mdict", такая возможность пропадёт. Так что тут я предпочту принцип "работает - не трогай".

    Цитата:
    З.Ы. Подключается ли сторонний CSS к Stardict-x?

    А разве формат Xdxf поддерживает css?

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

    Всего записей: 6092 | Зарегистр. 22-10-2005 | Отправлено: 15:28 02-04-2016
    Romul81



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

    Цитата:
    Если убрать вставку ".mdict", такая возможность пропадёт.

    Та я ж не против - пусть будет в самом HTML. Вот упрощённое дерево для Sradict

    Код:
    <span class="gdarticle gdactivearticle" id="gdfrom-ID"><div class="gddictname" id="gddictname-ID"><span class="gddicticon"></span><span class="gdfromprefix">From </span><span class="gddicttitle">XXX</span><span class="collapse_expand_area"></span></div><span class="gdarticlebody gdlangfrom-es" lang="es" style="display:inline" id="gdarticlefrom-ID"><h3>baby-sitter</h3><div class="sdct_h">

     
    То же самое для Mdict:

    Код:
    <span class="gdarticle gdactivearticle" id="gdfrom-ID"><div class="gddictname" id="gddictname-ID"><span class="gddicticon"></span><span class="gdfromprefix">From </span><span class="gddicttitle">XXX</span><span class="collapse_expand_area"></span></div><span class="gdarticlebody gdlangfrom-es" lang="es" style="display:inline" id="gdarticlefrom-ID"><div class="mdict">

     
    Как видно класс "mdict" на месте. Я просто хочу сказать, что дополнительная отбивка в виде этого класса полностью лишена смысла в случае подключения CSS, т.к. уже существует изоляция по ID. А потом на выходе получаются такие чудовища:

    Код:
        #gdfrom-e4b7c3462ab4faa923d3aca1a3c7c76d .mdict #verb .cnj tr td:nth-child(4),
        #gdfrom-e4b7c3462ab4faa923d3aca1a3c7c76d .mdict .cnj tr td:nth-child(5) {
            font-weight: 700;
        }
     
    #gdfrom-50a7598c99b1547e7d6de93120a40cc6 .mdict ls[w="az"] ~ ls[w="az"]:before,
    #gdfrom-50a7598c99b1547e7d6de93120a40cc6 .mdict ls[w="n"] ~ ls[w="az"]:before {
      height: .4em;
    }

    Которые являются убийством для быстродействия.
     

    Цитата:
    А разве формат Xdxf поддерживает css?

    Не-а)) Ну он же потом преобразуется в HTML, и к нему применяются свои классы.
    Хорошо, задам вопрос по-другому. Как я могу получить ID, чтоб сделать отбивку в custom article-style.css?

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



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    ID словаря совпадает с именем его индекса. И определяется как MD5-хэш полных путей ко всем файлам словаря.

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

    Всего записей: 6092 | Зарегистр. 22-10-2005 | Отправлено: 16:19 02-04-2016
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    З.Ы. Разовью мысль по поводу XDXF. Вообще, сам формат перекладывает визуальную составляющую полностью на оболочку (за исключением некоторых минимальных нюансов). Т.е. потенциально, оболочка должна предоставлять возможность кастомизировать отображение применительно к логической структуре формата. И GD это может (за некоторыми исключениями по конкретным тегам) посредством article-style.css (кстати, эта часть слабо документирована - нужно непосредственно смотреть классы во встроенном CSS из исходников). Но он не может делать это персонально, применительно к одному определённому словарю. Точнее, может только "пост-фактум", когда словарь уже подключен, известен его ID и вручную внесён в article-style.css. Очевидно, что для простого пользователя это всё мало достижимо. Как-то так...
     
    Добавлено:
    А я просто хочу сделать Stardict-x с аудио-ресурсами, чтоб он не отображался в выводе, но был доступен по кнопке "Аудио". Только и всего.

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 16:21 02-04-2016
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    Так то то для конкретного словаря, для всех xdxf скопом проще.
    А вообще говоря, идея сделать встроенный редактор стилей, позволяющий настраивать всё через GUI, высказана была уже давно. И все соглашались, мол, да, неплохо бы. Вот только никто за это дело так и не взялся даже в лучшие времена, когда работа шла весьма активно.

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

    Всего записей: 6092 | Зарегистр. 22-10-2005 | Отправлено: 16:29 02-04-2016
    Romul81



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

    Цитата:
    Возможно даже не столько то, что прописано во встроенном article-style.css, сколько возможность дополнительного управления через пользовательский.

    Более того, если, к примеру составитель словаря, делая словарь под GD с прицелом на класс, видимый в дереве инспектора и не зная об этой особенности пропишет правило с классом "mdict" во внутреннем CSS, то оно преобразуется в следующее:
    #gdfrom-50a7598c99b1547e7d6de93120a40cc6 .mdict .mdict{
    и, соответственно, окажется нерабочим.
    Т.е. с этой точки зрения это ещё и нелогично и вредно.

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 16:34 02-04-2016
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    Добавление ".mdict" было внесено этим вот коммитом. Попробуйте пообщаться с его автором (он, собственно, весь модуль MDict и писал) и выяснить, сильно ли это надо или можно безболезненно его убрать.

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

    Всего записей: 6092 | Зарегистр. 22-10-2005 | Отправлено: 17:18 02-04-2016 | Исправлено: Abs62, 17:20 02-04-2016
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Как-то это "probably" настораживает...  
    Да, наверное, надо уточнять, чем его не устроила изоляция по ID...

    Всего записей: 1329 | Зарегистр. 03-03-2008 | Отправлено: 17:28 02-04-2016
    CAEman5

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

    Цитата:
    Словари взяты с ftp сервера, доступ к которому получен здесь - http://forum.ru-board.com/topic.cgi?forum=93&topic=3774&start=0
    Нужно их перевести в формат
    Цитата:
    StarDict (.ifo/.dict./.idx/.syn)
    Может кто-нибудь помочь с этим?

    Если есть время подождать месяц-другой, то выложу все эти (En-Ru, En-En, Ru-En, Ru-Ru) словари и в ifo, и в xdxf форматах (наряду с оригинальным).
     
    oRDoSS

    Цитата:
    Еще есть предложение по группам словаря: сделать значки групп также и с двумя флагами.

    Давно уже предлагалось...

    Всего записей: 61 | Зарегистр. 02-04-2016 | Отправлено: 20:15 02-04-2016
       

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