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

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

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



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Можно что-то сделать с индексацией SLOB-словарей?
    Взял википедию отсюда.
    Прошло 12 (двенадцать!) часов, GD съел всю память (7.5 Гб), пришлось прервать.
    И это не полнотекстовая индексация, а просто получение заголовков статей.
    Интересно, что для ZIM-википедии такой проблемы нет.
    Насколько я понимаю, в SLOB заголовки уже отсортированы, так зачем их ещё раз сортировать?

    ----------
    Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
    Кекс. Антибиотики. Ламбада.

    Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 02:12 24-07-2019
    Dimsokolov

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    У кого осталась википедия с kiwix сайта? wikipedia_ru_all_nopic_2017-09.
     
    Потерял из-за проблем с жёсткого диска а у них только 2019 года, которая для kiwix 0.9 не годится. С торрента не качается.

    Всего записей: 141 | Зарегистр. 28-03-2009 | Отправлено: 13:06 24-07-2019
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    data man
    Вот, пробуйте - goldendict-1.5.0-RC2-389-g0f951b0.
    Попробовал немного оптимизировать, должно быть чуток побыстрее.

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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 02:32 25-07-2019
    ramanuki



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
    Для информации.
    Если открыть две вкладки в GoldenDict, то попытка переключиться между ними при помощи Ctrl+Tab может привести к закрытию приложения. Крэш происходит после появления меню с выбором вкладки. Бывает не всегда, но довольно часто. Было такое и в более ранних версиях GoldenDict.

    Всего записей: 805 | Зарегистр. 07-08-2013 | Отправлено: 09:36 25-07-2019
    data man



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Спасибо за попытку!
    В общем-то проблема не во времени, а в том что GD памяти не хватает и система начинает использовать своп.
    Вот wiktionary заметно быстрее проиндексировался, хотя там заголовки короткие, конечно.
    Инфа по словарям:

    Цитата:
    enwiki-20190607.slob
    --------------------
    id: 29aae56db0ab4fde83dd64c6f6c53849
    encoding: utf-8
    compression: lzma2
    blob count: 5911798
    ref count: 18431912


    Цитата:
    enwiktionary-20190626.slob
    --------------------------
    id: c7bd1c589c69456eb84b12af0d283e6d
    encoding: utf-8
    compression: lzma2
    blob count: 6064588
    ref count: 8228072


    ----------
    Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
    Кекс. Антибиотики. Ламбада.

    Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 10:04 25-07-2019
    Abs62



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

    Цитата:
    В общем-то проблема не во времени, а в том что GD памяти не хватает и система начинает использовать своп.

    У меня на индексацию этой вики в последнем варианте отожрало 4 с небольшим гига. Много, конечно, но отнюдь не фатально. Русско-английский multitran, не будучи разбит на части, отжирает ещё больше. В общем, для работы с такими большими словарями настоятельно рекомендуется x64 версия и от 8 гиг памяти.

    Цитата:
    Вот wiktionary заметно быстрее проиндексировался, хотя там заголовки короткие, конечно.

    Дело не в длине заголовков, а в их количестве. В wiktionary их более чем вдвое меньше. "ref count" в этой инфе - это и есть количество элементов, которые при индексации надо перебрать, рассортировав на заголовки и ресурсы.

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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 10:20 25-07-2019
    data man



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

    Цитата:
    У меня на индексацию этой вики в последнем варианте отожрало 4 с небольшим гига.

    А времени сколько заняло?
    Может я чуть-чуть не дождался.

    Цитата:
    x64 версия и от 8 гиг памяти

    x64, ArchLinux. Но памяти 8 Гб, 7.2 было свободно.
     
    Почему же для ZIM нужно меньше памяти (хотя статей примерно столько же), алгоритм же похож?

    ----------
    Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
    Кекс. Антибиотики. Ламбада.

    Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 10:52 25-07-2019
    Abs62



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

    Цитата:
    А времени сколько заняло?

    С RC2-389 где-то минут десять-пятнадцать. С RC2-387 и я не дождался.

    Цитата:
    Почему же для ZIM нужно меньше памяти (хотя статей примерно столько же), алгоритм же похож?

    Да для Zim по идее примерно столько же нужно. Просто после ~16 млн. заголовков в индексе появлялся новый уровень дерева, что очень сильно всё тормозило. Сейчас граница увеличена до ~25 млн.

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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 11:02 25-07-2019
    data man



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Может, использовать сторонние контейнеры, а не Qt?
    Например:
    parallel-hashmap
    Tessil's libs
    Для чисел Roaring bitmaps

    ----------
    Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
    Кекс. Антибиотики. Ламбада.

    Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 11:20 25-07-2019
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    data man
    В сторонних контейнерах как правило упирают на скорость работы, а не на расход памяти.

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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 11:45 25-07-2019
    data man



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Отсюда: benchmark-hopscotch-map
     
    Memory usage of random full inserts (3000000 integers)
    QHash - 169 MiB
    tsl::sparse_map - 59 MiB
     
    Добавлено:
    А в parallel-hashmap QHash отсутствует.

    ----------
    Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
    Кекс. Антибиотики. Ламбада.

    Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 12:24 25-07-2019
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    data man
    В GD используется QMap, а не QHash.

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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 13:13 25-07-2019
    data man



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Мнится мне, что там так же "оптимизировано".

    ----------
    Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
    Кекс. Антибиотики. Ламбада.

    Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 15:22 25-07-2019
    Romul81



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

    Цитата:
    проверил -  на ширину окна не растягивает.  
    а ещё не работает масштабирование текста.

    Тогда так:

    Код:
     
    .zimdict > #content,
    .zimdict > #bodyContent,
    .zimdict > .content {  
        max-width: none !important;
    }
     


    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 11:22 29-07-2019
    Nikolai2004



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    Цитата:
    .zimdict > #content,
    .zimdict > #bodyContent,
    .zimdict > .content {  
        max-width: none !important;
    }  

    к сожалению, этот код тоже не растягивает на ширину окна.
     
    я уже сам начал экспериментировать и методом тыка определил работоспособные варианты:
    Код:
    .content {  
        max-width: none !important;
    }  
    или
    Код:
    #bodyContent {  
        max-width: none !important;
    }  

    однако, если без CSS ширина текста всегда была 800px, то теперь удалось растянуть до 90% ширины экрана, а хотелось бы на все 100%.
    также осталась проблема невозможности масштабирования текста кнопками на тулбаре gd.
    есть какие-нибудь идеи как это вылечить?

    Всего записей: 1523 | Зарегистр. 07-01-2004 | Отправлено: 14:11 29-07-2019
    Romul81



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Nikolai2004
     
    Возможно, более универсально...

    Код:
    .zimdict .content,
    .zimdict #content,
    .zimdict .mw-body > .content,
    .zimdict #content > #bodyContent,
    .zimdict #content > .content {
        max-width: none !important;
        margin: 0;
    }
     

     
    Кнопки масштабирования работают без проблем на предложенной тестовой вики. Использовал последний exe из шапки.

    Всего записей: 1327 | Зарегистр. 03-03-2008 | Отправлено: 14:35 29-07-2019
    Nikolai2004



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Romul81
    Цитата:
    .zimdict .content,
    .zimdict #content,
    .zimdict .mw-body > .content,
    .zimdict #content > #bodyContent,
    .zimdict #content > .content {
        max-width: none !important;
        margin: 0;
    }  

    работает точно так же - растягивает только до 90% ширины экрана.
    margin:0 дало то, что теперь эти 90% передвинуты к левой границе экрана.
     

    Цитата:
    Кнопки масштабирования работают без проблем на предложенной тестовой вики

    пардон, действительно работают, но на qt5 сборках.
    не работает масштабирование на qt4, которая мне нужна из-за windows xp.
    это тогда вопрос к движку рендеринга, вряд ли CSS поможет
     

    Всего записей: 1523 | Зарегистр. 07-01-2004 | Отправлено: 22:05 29-07-2019
    data man



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Abs62
     
    Результаты моих экспериментов.
    Базовый бенчмарк: Gist. Хэширование строк: wyhash.
    Слов: 1107693
     
    Type Insert (ns/key) Find (ns/key) Memory (MiB)    
    qmap 239.269 143.777 76.9453    
    std_unordered_map 321.677 127.583 69.9688    
    std_unordered_map_reserve 207.852 108.276 70.6953    
    google_dense_map 191.268 70.2239 100.195    
    google_dense_map_reserve 139.778 61.3658 162.277    
    spp_sparsepp 290.239 81.3791 48.582    
    spp_sparsepp_reserve 195.455 88.5799 54.3945    
    tsl_array_hash 286.553 82.6907 45.8867    
    tsl_array_hash_reserve 151.932 70.7401 38.0117    
    tsl_hopscotch_map 272.466 61.3442 120.301    
    tsl_hopscotch_map_reserve 133.53 59.8279 98.3398    
    tsl_htrie_map 166.964 52.8047 22.2305    
    ph_flat_hash_map 133.743 77.7074 102.633    
    ph_node_hash_map 227.899 85.098 71.0117    
    ph_parallel_flat_hash_map 145.88 81.9272 94.8711    
    ph_parallel_node_hash_map 283.954 80.1044 64.9648  

     
    Буду использовать tsl_htrie_map в GD. Патч примете?

    ----------
    Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
    Кекс. Антибиотики. Ламбада.

    Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 01:45 31-07-2019
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    data man
    Попробуйте. Будем посмотреть, что из этого выйдет.

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

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 16:37 31-07-2019
    Nikolai2004



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    всё, разобрался как отображать свежие википедии в формате zim на всю ширину экрана с увеличенным размером текста и другими мелкими исправлениями.
     
    article-style.css
    Код:
    .content {
        max-width: none !important;
        width: 100% !important;
        line-height: normal !important;
    }
     
    p {
        font-size: 18px !important;
    }
     
    .thumbcaption,
    .dablink,
    .hatnote {
        font-size: 14px !important;
    }
     
    li {
        margin-top: 0.3em !important;
        margin-bottom: 0 !important;
    }
     
    [id=mw-content-text] > div:last-of-type {
        display:none;
    }  

    Всего записей: 1523 | Зарегистр. 07-01-2004 | Отправлено: 17:06 31-07-2019 | Исправлено: Nikolai2004, 09:52 01-08-2019
    Открыть новую тему     Написать ответ в эту тему

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