
![]() 4д
![]() - устранены найденные ошибки в dsl адаптере, удалось в нём реализовать инкрементное чтение-преобразование, можно смело скармливать самые-самые крупные dsl-ы; - в stardict и mdict рефы ровно выстраиваются в колонку: - в html сделана упрощённая добыча и сохранение в файл статистики, добавлены схемы-примеры: Сделал всё что изначально хотел и даже немного больше. Приятного юзанья ![]()
mcx_v10 — PHP конвертер словарных баз - DSL, 大БКРС и CC-CEDICT в StarDict, MDict и HTML
4д
7д ![]() ![]() Dictzip - это, в некотором роде, стандарт для словарей. Поддерживается многими оболочками, облегчает доступ к требуемой части словаря.
"dictzip" uses the same compression algorithm and file format as does gzip, but provides a table that can be used to randomly access compressed blocks in the file. The use of 50-64kB blocks for compression typically degrades compression by less than 10%, while maintaining acceptable random access capabilities for all data in the file. As an added benefit, files compressed with dictzip can be decompressed with Может быть стоит выкладывать DSL 大БКРС сразу в Dictzip? И одной частью? (Деление на 3-5 частей неудобно. И представляется уже малоактуальным). 23ч
Цитата:"dictzip" uses the same compression algorithm and file format as does gzip, ...Тут мутно. Скажу так: Dictzip (.dz) = gzip (.gz). Разница в внутренней структуре, у .dz она для - Random Access - случайного доступа к любой части без распаковки всего. Любой качественный архиватор, который может распаковать gzip (.gz), легко распакует dictzip (.dz). Если архиватор не распознает расширение в имени файла ".dz", то просто замените его на ".gz" .
mcx_v10 — PHP конвертер словарных баз - DSL, 大БКРС и CC-CEDICT в StarDict, MDict и HTML
17ч
ColorDict (v4.5.7) для android не читает сжатые dictzip словари stardict
mcx_v10 — PHP конвертер словарных баз - DSL, 大БКРС и CC-CEDICT в StarDict, MDict и HTML
17ч
GoldenDict (и для PC, и для Android) умеет читать dictzip. Какие еще из оболочек умеют читать dictzip, точно не скажу, но не только GoldenDict. В любом случае, если какая-то из оболочек с dictzip не работает, то чтобы распаковать и использовать не запакованною базу, специальный софт не нужен.
База в dictzip по сравнению с GZIP будет, как правило, ускорять поиск, т.к. при поиске не нужно будет распаковывать весь файл (при каждом обращении потребуется время на распаковку блока данных размером всего около 60КБ). База в dictzip по сравнению с не запакованным DSL ... тут я не уверен, но могу предположить следующие варианты: - база целиком загружается в память один раз: в этом случае dictzip экономит память, при незначительном снижении скорости доступа (для распаковки блока данных). За счет экономии памяти на некоторых устройствах общая скорость работы может даже возрасти. - база читается с диска при каждом обращении: в этом случае dictzip будет работать быстрее, т.к. с диска будет читаться и загружаться в память сжатый файл намного меньшего размера (база словаря, сжатая в dictzip, становится примерно в 3-5 раз меньше). - возможно есть другие варианты работы оболочек с базами? 35м
23ч Стандарт это текст, мы именно в нём и выкладываем (разметка dsl, но это не важно, главное, что текст). Конвертация в форматы это отдельная задача и таких целей нет, тут уже кто во что горазд. Благодаря этому конвертору можно выкладывать в разных форматах, а так было dsl лишь потому что этим лично я пользовался, кто-то изредка свои делал. На счёт деления спорно, проблема не в размере словаря, а в том, что многие оболочки автоиндексируют весь текст, и это может занять весьма много времени (>час) с непонятным подвисанием, особенно не на самом хорошем оборудовании, по частям хотя бы процесс ощущается. И то недавно было 5, сейчас 3. 10с
|