<<< 1 ... 7 8 9 Переход на страницу  +  i   🔎
81
mcx, в идеале да, но это не критично. Это косяк отдельного словаря, что они как-то неструктурно висят.
ЛС Ответить
82

.zip mcx_v10_stable.zip (Размер: 165.42 Кб)
- устранены найденные ошибки в dsl адаптере, удалось в нём реализовать инкрементное чтение-преобразование, можно смело скармливать самые-самые крупные dsl-ы;
- в stardict и mdict рефы ровно выстраиваются в колонку:




- в html сделана упрощённая добыча и сохранение в файл статистики, добавлены схемы-примеры:




Сделал всё что изначально хотел и даже немного больше. Приятного юзанья  1
mcx_v10 — PHP конвертер словарных баз - DSL, 大БКРС и CC-CEDICT в StarDict, MDict и HTML
ЛС Ответить
83
mcx - добавлено в PHP коде сжатие Dictzip для DSL и StarDict,

56  Dictzip - это хорошо.

бкрс,
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 gunzip (любым ZIP-архиватором, включая RAR и 7zip).



Может быть стоит выкладывать DSL 大БКРС сразу в Dictzip?
И одной частью?
(Деление на 3-5 частей неудобно. И представляется уже малоактуальным).
ЛС Ответить
84
Цитата:"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
22ч
ЛС Ответить
85
ColorDict (v4.5.7) для android не читает сжатые dictzip словари stardict
mcx_v10 — PHP конвертер словарных баз - DSL, 大БКРС и CC-CEDICT в StarDict, MDict и HTML
22ч
ЛС Ответить
86
GoldenDict (и для PC, и для Android) умеет читать dictzip. Какие еще из оболочек умеют читать dictzip, точно не скажу, но не только GoldenDict. В любом случае, если какая-то из оболочек с dictzip не работает, то чтобы распаковать и использовать не запакованною базу, специальный софт не нужен.

База в dictzip по сравнению с GZIP будет, как правило, ускорять поиск, т.к. при поиске не нужно будет распаковывать весь файл (при каждом обращении потребуется время на распаковку блока данных размером всего около 60КБ).

База в dictzip по сравнению с не запакованным DSL ... тут я не уверен, но могу предположить следующие варианты:
  - база целиком загружается в память один раз: в этом случае dictzip экономит память, при незначительном снижении скорости доступа (для распаковки блока данных). За счет экономии памяти на некоторых устройствах общая скорость работы может даже возрасти.
  - база читается с диска при каждом обращении: в этом случае dictzip будет работать быстрее, т.к. с диска будет читаться и загружаться в память сжатый файл намного меньшего размера (база словаря, сжатая в dictzip, становится примерно в 3-5 раз меньше).
  - возможно есть другие варианты работы оболочек с базами?
ЛС Ответить
87
karp бкрс,
Dictzip - это, в некотором роде, стандарт для словарей. Поддерживается многими оболочками, облегчает доступ к требуемой части словаря.
Может быть стоит выкладывать DSL 大БКРС сразу в Dictzip?
И одной частью?
(Деление на 3-5 частей неудобно. И представляется уже малоактуальным).

Стандарт это текст, мы именно в нём и выкладываем (разметка dsl, но это не важно, главное, что текст). Конвертация в форматы это отдельная задача и таких целей нет, тут уже кто во что горазд. Благодаря этому конвертору можно выкладывать в разных форматах, а так было dsl лишь потому что этим лично я пользовался, кто-то изредка свои делал.


На счёт деления спорно, проблема не в размере словаря, а в том, что многие оболочки у неопытных пользователей автоиндексируют весь текст, и это может занять весьма много времени (>час) с непонятным подвисанием, особенно не на самом хорошем оборудовании, по частям хотя бы процесс ощущается. И то недавно было 5, сейчас 3.
ЛС Ответить
88
karp GoldenDict (и для PC, и для Android) умеет читать dictzip. Какие еще из оболочек умеют читать ...

Наверно это углублённое обсуждение лучше в отдельную тему (кажется видел где-то тут).
По сути проблемы не стоит никакой, кому нужно распакуют, кому надо запакуют. При современных ёмких дисках dictzip обретает смысл только в одном случае - это хранение/использование огромного количества словарей.
mcx_v10 — PHP конвертер словарных баз - DSL, 大БКРС и CC-CEDICT в StarDict, MDict и HTML
ЛС Ответить
89
бкрс Благодаря этому конвертору можно выкладывать в разных форматах, а так было dsl лишь потому что этим лично я пользовался, кто-то изредка свои делал.
Лично меня DSL тоже полностью устраивает, даже никак не упакованный кроме 7zip (как сейчас).
В DictZip я и сам упаковать могу. Просто одна дополнительная операция.
Собственно, когда в описании скрипта увидел вот это:
"- добавлено в PHP коде сжатие Dictzip для DSL и StarDict,",
то и подумал, если скрипт все равно в ДиктЗип пакует, то почему-бы прямо в нем и не выкладывать.

бкрс автоиндексируют весь текст, и это может занять весьма много времени (>час) с непонятным подвисанием
Что же это за оболочки такие?
У GoldenDict это занимает от силы минуту-две.

Lingvo более 10 лет не пользуюсь, кажется, там индексирование было довольно долгим.
Но чтобы один словарь более часа, да еще на современном железе... Это как-то слишком.
ЛС Ответить
90
mcx По сути проблемы не стоит никакой, кому нужно распакуют, кому надо запакуют.
Распаковать то легко (любым архиватором), а вот для запаковки уже придется заморачиваться.

mcx dictzip обретает смысл только в одном случае - это хранение/использование огромного количества словарей.
Возможно, еще экономия оперативной памяти на слабых устройствах. Но это не точно.
ЛС Ответить
<<< 1 ... 7 8 9 Переход на страницу  +  i   🔎