Функции конвертера:
1. Преобразует файлы загруженные с bkrs.info (Словарные базы за сегодня) в форматы DSL, StarDict, MDict, HTML.
2. Тоже самое с файлом CC-CEDICT
3. Преобразует любой DSL словарь в StarDict, MDict, HTML
Является php скриптом c html интерфейсом, инструкция в readme.txt
2024.12.10бкрс Имел ввиду файл ридми/абоут/инфо как в предыдущих письмах, т.к. это первое, что ищут глаза, и когда его нет тревожно.
Также кратко что зачем откуда, и стоит даже ссылку на тему добавить.
Добавил описание readme.txt, поднял память до 1Гб. Сделал генерацию многоблочной структуры данных в формате MDict.
Теперь максимальный файл dabkrs_dabruks_examples.mdx (559мб) легко открывается и работает 🚀 в условиях дефицита (менее 400Мб) оперативной памяти. До этого (v1) оболочка MDict падала при попытке открыть одноблочный dabkrs.mdx . Проверялось на android планшете Digma optima 7 A100s, 1Гб RAM из которых свободно менее 400Мб.
2025.02.10dsx 🎈 Большое обновление до версии 6.
Теперь можно конвертировать CC-CEDICT и словари в формате DSL в форматы: StarDict, MDict, HTML.
В HTML настроен вид страницы для печати и добавлена кнопка на панель. Поскольку в диалоге принтера часто встречается возможность сохранять в PDF, то её хорошо не упускать.
О, теперь всё-таки глобальный конверт. Очень полезно, даже если что-то уже есть.
Про нас уже говорил, что ваша программа по сути решила проблему конвертации, т.к. до этого делал только dsl и было весьма муторно.
Стоит переименовать тему, перечислив ключевики, чтобы проще искалось извне, типа:
PHP Мультиконвертер словарных баз - DSL (Lingvo, GoldenDict) в HTML, Stardict, MDict
и может 大БКРС и CC-CEDICT впихнуть
сейчас у темы мутноватое название
Можно название конвертору дать, типа dsx или что-то подобно
2025.02.13dsx Убрал, т.к ридми есть в файле а скриншоты полезности не несут получилось очень короткий пост с одной ссылкой)
Базовое описание хотя бы в предложение стоит оставить, можно прям это:
Цитата:Функции конвертера:
1. Преобразует файлы загруженные с bkrs.info (Словарные базы за сегодня) в форматы DSL, StarDict, MDict, HTML.
2. Тоже самое с файлами CC-CEDICT
3. Преобразует любой DSL словарь в StarDict, MDict, HTML
Является php скриптом c html интерфейсом, инструкция в readme.txt
2025.02.14dsx Правильно я понял - Py это обычный массив, ключ для поиска значение для замены найденного, а ищем пиньинь в нутрях только в скобках поcле han: han[ ] (или везде) ?
Да, примитивная глобальная замена по всему тексту.
py - pinyin
Только сейчас заметил, что в цедикте регистр у пиньиня, нужно добавить с А (и может c Е)
бкрс, парсер питоновский перенести не смог, исправил convertToPinyinDiacritic и только эту функцию из той библиотеки оставил. Парсит хорошо, пропускает только кантонский ютпхин.
Остальное всё, как выше написал ☝️, есть. MDict оснастил внутренним сжатием этого формата; на больших словарях, как 大БКРС+БРуКС+Примеры, экономия на диске больше 200Мб(!). Единственный минус - это плохая сжимаемость (в 7z, zip) уже сжатого внутри словаря. Внутреннее сжатие можно отключить в index.php (по умолчанию включено).
Цитата:$dsl_parbalance = 1; // 1 - уравновесить части по размеру; 2 - уровнять части по количеству слов.
Я это в ручную подгонял
В марте новую версию буду делать, затестю на сколько лучше моего старого способа, там у меня по сути пол дня уходило, а то и день с учётом моральных подготовок и чаяпитей, только на один dsl.
У старого акка старая аура) Решил - пусть будет новый
mcx_v10 — PHP конвертер словарных баз - DSL, 大БКРС и CC-CEDICT в StarDict, MDict и HTML. dictz_v2 — браузерный dictzip компрессор для словарей (DSL, StarDict и др.)
mcx_v10_stable.zip (Размер: 165.42 Кб)
- устранены найденные ошибки в dsl адаптере, удалось в нём реализовать инкрементное чтение-преобразование, можно смело скармливать самые-самые крупные dsl-ы;
- в stardict и mdict рефы ровно выстраиваются в колонку:
- в html сделана упрощённая добыча и сохранение в файл статистики, добавлены схемы-примеры:
Сделал всё что изначально хотел и даже немного больше. Приятного юзанья
mcx_v10 — PHP конвертер словарных баз - DSL, 大БКРС и CC-CEDICT в StarDict, MDict и HTML. dictz_v2 — браузерный dictzip компрессор для словарей (DSL, StarDict и др.)
25дkarp бкрс,
Dictzip - это, в некотором роде, стандарт для словарей. Поддерживается многими оболочками, облегчает доступ к требуемой части словаря.
Может быть стоит выкладывать DSL 大БКРС сразу в Dictzip?
И одной частью? (Деление на 3-5 частей неудобно. И представляется уже малоактуальным).
Стандарт это текст, мы именно в нём и выкладываем (разметка dsl, но это не важно, главное, что текст). Конвертация в форматы это отдельная задача и таких целей нет, тут уже кто во что горазд. Благодаря этому конвертору можно выкладывать в разных форматах, а так было dsl лишь потому что этим лично я пользовался, кто-то изредка свои делал.
На счёт деления спорно, проблема не в размере словаря, а в том, что многие оболочки у неопытных пользователей автоиндексируют весь текст, и это может занять весьма много времени (>час) с непонятным подвисанием, особенно не на самом хорошем оборудовании, по частям хотя бы процесс ощущается. И то недавно было 5, сейчас 3.
mcx, это нужно, но лучше как-нибудь пояснить или "сокращённый". Как вариант, можно в опции и там комментарий.
И можно ссылку туда - https://bkrs.info/p257
Сделал версию, естественно 天壤之别 по сравнению с моим предудущем опытом. Вопрос конвертации, благодаря вашему конвертору решён.
Кое чем пришлось поступиться, в ручную всегда качественней, но главное, что меня теперь не тошнит от "опять нужно версию делать, день на смарку". Всё-таки, автоматизация это вещь.
Пользуюсь таки опцией архивирования что в начале не хотел, 7zip конечно существенно лучше сжимает, но экономия времени большая и скачать на несколько даже десятков мегабайт больше раз в пол года сейчас мизер и на сервере трафика достаточно.
Отказался от версий (последняя была 93), сейчас весрия будет дата типа 250314.
Форматы нужно проверить в оболочках, но если кто будет пользоваться, ошибки вылезут, если они есть.
Файлов конечно многовато, раньше один формат был, а сейчас 4, возможно, некоторые буду делать реже.
Некоторые заметки, если пригодятся:
Цитата:Не понял про DictZIP, как это соотносится с обычным сжатием? Все ли оболочки принимают? По умолчанию оно включено, немного тревожно его делать.
Нужно проверять искомые файлы, или хотябы смотреть, что их расширение не .gz, или выводить "добавлено 0 слов, возможно какая-то ошибка, проверьте файлы". Я забыл распаковать и не мог понять почему успешно создаётся пустой словарь.
Когда выводится результат с цифрами нужно пояснение что они значат и number_format для красоты:
dabkrss: 745751 (-2653547)
Можно переименовывать по нажатию - это с чем-то связано?
Mdict -- полный 大БКРС два раза не хотел делать вместе с БРуКС (ошбику выдавал через 20-30 минут), в третий раз поставил отдельно - завис на долго, но вроде как сам файл сгенерировался. Более мелкие варианты делает нормально, поэтому похоже какое-то техническое ограничение.
В названия файло БРуКС без da, 大 используется только для 大БКРС, чтобы отличаться от оригинального БКРС, а БРуКС и так оригинален (название).
Также в названиях -- желательно включать формат в название архива, т.е. html_dabkrs.zip, dsl_ stardict_. И ещё лучше включать дату: html_dabkrs_250315.zip
16дбкрс Я выше написал, вообще не понял про него, недавно был диалог, но я не ожидал, что он по умолчанию включен. Я его выключил на всякий. Есть гарантия, что оболочки его поймут? Если есть зип, нужно ли это?
Для stardict и dsl сжатие dictzip лучше выключить (в index.php поставить ноль в соответствующих опциях), если предполагается использовать сконвертированные словари в оболочках не поддерживающих dictzip (такие существуют).
Цитата:Нужно проверять искомые файлы, или хотябы смотреть, что их расширение не .gz, или выводить "добавлено 0 слов, возможно какая-то ошибка, проверьте файлы". Я забыл распаковать и не мог понять почему успешно создаётся пустой словарь.
Проверка есть, нужно доработать,- добавить ^ и $. Хотя в readme упомянуто "распаковать".
Цитата:Когда выводится результат с цифрами нужно пояснение что они значат и number_format для красоты:
dabkrss: 745751 (-2653547)
можно добавить пояснение
Цитата:Можно переименовывать по нажатию - это с чем-то связано?
Возможно кому-то пригодится, сделать пометки для себя или версии свои (v94, v95,...)
Цитата:Mdict -- полный 大БКРС два раза не хотел делать вместе с БРуКС (ошбику выдавал через 20-30 минут), в третий раз поставил отдельно - завис на долго, но вроде как сам файл сгенерировался. Более мелкие варианты делает нормально, поэтому похоже какое-то техническое ограничение.
Не замечал ошибок. Нужно подробнее описать ошибку. Предположу что ноут уснул и появилось сообщение "Процесс завершился ошибкой. Возможно локальный сервер был остановлен, попробуйте перезапустить.".
"Завис на долго" это нормально, в readme в последнем пункте про это написано.
Решение: на время конвертации в настройках ноута/пк/смартфона отключить режим сна, гибернации, экономии - т.к.конвертация процедура не частая - это не сложно. Заметил на андроидах в последнем обновлении в настройках отключения подсветки экрана нет опции "никогда" а максимум 30минут. Можно конвертить частями а не все сразу.
Цитата:В названия файло БРуКС без da, 大 используется только для 大БКРС, чтобы отличаться от оригинального БКРС, а БРуКС и так оригинален (название).
Также в названиях -- желательно включать формат в название архива, т.е. html_dabkrs.zip, dsl_ stardict_. И ещё лучше включать дату: html_dabkrs_250315.zip
В названиях файлов только выходные кодовые имена, файлы раскладываются по каталогам, каждому формату свой (dsl, stardict, mdict). Это для упрощения, готовые файлы можно переименовать как угодно, с любыми пояснениями, включающими: дату, версию, формат. К чему усложнять выходные имена, если 100% вероятность что они будут исправлены "как надо"? (стандартов не видел)
mcx_v10 — PHP конвертер словарных баз - DSL, 大БКРС и CC-CEDICT в StarDict, MDict и HTML. dictz_v2 — браузерный dictzip компрессор для словарей (DSL, StarDict и др.)
15дбкрс Да, это оно было, видимо уснул. Получается Mdict это самый ресурсоёмкий формат.
Да, и как написал выше, его предстоит доделать. Возможно в итоге будет немного быстрее конвертировать.
У меня на смартфоне эти пункты -
StarDict: bkrs+bruks+examples,
MDict: bkrs+bruks+examples,
DSL: bkrs+bruks+examples,
HTML: bkrs+bruks+examples
- конвертируются за 56 минут.
Сейчас все доделки оставил на потом.
mcx_v10 — PHP конвертер словарных баз - DSL, 大БКРС и CC-CEDICT в StarDict, MDict и HTML. dictz_v2 — браузерный dictzip компрессор для словарей (DSL, StarDict и др.)
Ещё возможная полезная опция - добавлять текстовый файл в архив. Или готовый файл в папке или переменная в опциях или тектэриа на странице. Для ридми/инфо.
dictz, так там для оболочек, а не для чтения, он где-то в глубине оболочки отображается после того как добавил словарь (по крайне мере ann).
Речь о когда распаковываешь архив, там сразу висит README.txt/INFO.txt и при необходимости туда можно что угодно добавить и он хорошо виден.
Это не критичная важность, из разряда полезной фичи.
Можно упомнять источник, долгую индексацию, ссылку на коневертор, на базы, на тему. Может какие-то особенности, которые потом всплывут (поломанные ссылки если по частям?)