Программа-сборщик большого русско-русского словаря значений для чтения в KOReader.
RU Max Clean отвечает на простой вопрос: «Что означает это слово?». Он собирает русское ядро из открытых лексикографических источников, связывает словоформы с основной статьёй и очищает карточки от служебной разметки, ссылочных хвостов и лишней энциклопедичности. На выходе получается обычный совместимый со StarDict словарь, который можно открыть в KOReader.
Узкие области не смешиваются с русским ядром: латынь, французская и немецкая лексика, архаика, литературные имена, фэнтезийные термины, сокращения изданий и фразеология собираются как отдельные подключаемые слои.
- Откройте раздел Releases и скачайте ZIP последней версии.
- Распакуйте его в отдельную папку на Windows.
- Запустите
RU-Max-Clean.cmd. Если Python 3.10+ ещё не установлен, программа предложит установить 64-битную версию через winget. - Выберите пункт «Собрать словарь», затем профиль:
- MAX — русское ядро с Wikipedia и всеми доступными источниками;
- Компактный — русское ядро без большой Wikipedia.
- Выберите дополнительные слои. Меню использует только цифры:
0— только русское ядро,1— все дополнительные слои, номера2–12— отдельные слои; несколько номеров вводятся через пробел. Перед каждой обычной сборкой программа сама проверяет источники и скачивает только действительно изменившиеся файлы — отдельный вопрос об обновлении задавать не нужно. Большие дампы загружаются через ограниченные диапазоны с автоматическим backoff при HTTP 429; повторные сборки используют кэши и значительно быстрее. Импорт большого Wiktionary-дампа выполняет пакетные записи в SQLite, поэтому прогресс не должен надолго застывать на сотнях записей в секунду. На Windows rapidgzip не включается автоматически: отдельные его колёса замедляют построчное чтение Kaikki. Поэтому обычный запуск использует надёжный stdlib gzip; экспериментальный opt-in черезRU_MAX_ENABLE_RAPIDGZIP=1обычному пользователю не нужен. - После успешной сборки все готовые артефакты находятся под единым корнем
RU-Dictionaries/:RU-Dictionaries/RU-Max-Clean/— русское ядро;RU-Dictionaries/RU-Reader-Packs/<pack>/— выбранные companion-слои. СкопируйтеRU-Dictionaries/RU-Max-Cleanи нужные папки companion-слоёв вkoreader/data/dict/. Старые верхнеуровневые папкиRU-Max-CleanиRU-Reader-Packsподдерживаются при явной передаче--output-dirи автоматически читаются launcher-ом как legacy fallback. В самом KOReader слои отображаются под понятными русскими названиями; технические имена папок остаются неизменными только для совместимости.
- В KOReader откройте Настройки → Словари и включите нужные словари.
На экране сборщика всегда указаны публичная версия программы и внутренняя версия builder-базы. Кнопка быстрой пересборки предназначена для повторного запуска на машине, где уже сохранены источники и кэши. Готовые словари, пользовательские книги, скачанные дампы и кэши в Releases не выкладываются; небольшая QA-книга для проверки читалки является единственным исключением.
Каждый значимый релиз содержит небольшую оригинальную книгу
RU-Max-Clean-Dictionary-Test-Book в форматах EPUB и FB2. Это не словарь и не
художественное произведение: книга нужна, чтобы быстро проверить словари на
своей читалке. В ней есть контрольные слова для русского ядра, словоформ,
фразеологии, латыни, французского и немецкого, архаики, исторической графики, сокращений,
литературных имён и фэнтезийных терминов.
Скопируйте EPUB или FB2 на устройство, подключите ядро и companion-паки по
одному, затем открывайте слова долгим нажатием. Проверьте начальную и
изменённую форму, регистр, ё/е, дефисы, апострофы, диакритику, кавычки и
многословные выражения. Итоговый список находится в разделе «Контрольная
полоса». Книга также доступна в исходном репозитории в каталоге test_books/.
В репозитории есть необязательный Lua-патч
koreader_patch/2-ru-max-clean-meaning-only.lua.
Это небольшой патч интерфейса, а не отдельный словарь и не полноценный плагин.
Он убирает автоматически добавляемую строку (запрос: ...) из окна быстрого
поиска, не изменяя .dict и не переписывая определения.
Установка:
- Скопируйте файл
.luaв<папка KOReader>/patches/. - Перезапустите KOReader.
- Словари включаются отдельно через Настройки → Словари.
Патч действует глобально на локальные словари KOReader. Для отката удалите
файл из patches/ и перезапустите приложение. После крупных обновлений KOReader
его следует перепроверить; он использует API ui/widget/dictquicklookup.
Файл .patches_disabled не должен присутствовать.
build_ru_max_clean.py— сборка русского ядра;RU-Max-Clean.cmd,ru_max_launcher.py— простой Windows-запуск и меню;build_reader_packs.py,reader_packs/— отдельные литературные и языковые слои;validate_stardict.py— строгая проверка результата;test_*.py— локальные регрессионные тесты;koreader_patch/— необязательный Lua-патч для карточек «только значение»;README_RU.txt,READER_LAYERS_RU.md— дополнительные технические сведения.
Большие исходные дампы нужны только для production-сборки. Быстрые проверки, которые не скачивают их:
py -3 -X utf8 test_builder.py
py -3 -X utf8 test_source_manager.py
py -3 -X utf8 test_stage_cache.py
py -3 -X utf8 test_package_builder.py
py -3 -m compileall -q .
Проверки reader-слоёв и внутренний анализ корпуса запускаются только в CI и
исходном репозитории разработчика; internal_book_coverage.py и его отчёты
для фиксированного корпуса в пользовательский ZIP не входят.
Собрать архив программы вручную:
py -3 -X utf8 package_builder.py
Скрипт создаёт builder-only ZIP с BUILD_MANIFEST.json и SHA-256. Он исключает
готовые .dict/.idx/.ifo, пользовательские книги, production-кэши, большие
дампы и внутренние корпусные отчёты. Исключение — оригинальная тестовая книга,
которая включается в релиз отдельно как QA-инструмент.
Перед выпуском проходят регрессионные тесты, compileall и
validate_stardict.py. Код распространяется по MIT; лицензии и требования
атрибуции Wiktionary, Wikidata, Wikipedia и Даля указаны в
NOTICE_DATA.txt.
Ошибки в определениях и редкие слова можно присылать через Issues. Готовые словари не являются частью GitHub-проекта: каждый пользователь собирает их локально под свои источники и выбранные слои.
Публичный релиз выпускается после накопления заметного набора исправлений, изменений и улучшений, а не после каждой небольшой правки. Каждый релиз проходит полный локальный и CI-прогон, получает один builder-only ZIP, SHA-256 и обновлённую инструкцию. Тестовая книга включается в архив как отдельный QA- инструмент; готовые словари, кэши и пользовательские книги туда не входят.