Skip to content

Latest commit

 

History

40 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RU Max Clean

Программа-сборщик большого русско-русского словаря значений для чтения в KOReader.

RU Max Clean отвечает на простой вопрос: «Что означает это слово?». Он собирает русское ядро из открытых лексикографических источников, связывает словоформы с основной статьёй и очищает карточки от служебной разметки, ссылочных хвостов и лишней энциклопедичности. На выходе получается обычный совместимый со StarDict словарь, который можно открыть в KOReader.

Узкие области не смешиваются с русским ядром: латынь, французская и немецкая лексика, архаика, литературные имена, фэнтезийные термины, сокращения изданий и фразеология собираются как отдельные подключаемые слои.

Как пользоваться

  1. Откройте раздел Releases и скачайте ZIP последней версии.
  2. Распакуйте его в отдельную папку на Windows.
  3. Запустите RU-Max-Clean.cmd. Если Python 3.10+ ещё не установлен, программа предложит установить 64-битную версию через winget.
  4. Выберите пункт «Собрать словарь», затем профиль:
    • MAX — русское ядро с Wikipedia и всеми доступными источниками;
    • Компактный — русское ядро без большой Wikipedia.
  5. Выберите дополнительные слои. Меню использует только цифры: 0 — только русское ядро, 1 — все дополнительные слои, номера 2–12 — отдельные слои; несколько номеров вводятся через пробел. Перед каждой обычной сборкой программа сама проверяет источники и скачивает только действительно изменившиеся файлы — отдельный вопрос об обновлении задавать не нужно. Большие дампы загружаются через ограниченные диапазоны с автоматическим backoff при HTTP 429; повторные сборки используют кэши и значительно быстрее. Импорт большого Wiktionary-дампа выполняет пакетные записи в SQLite, поэтому прогресс не должен надолго застывать на сотнях записей в секунду. На Windows rapidgzip не включается автоматически: отдельные его колёса замедляют построчное чтение Kaikki. Поэтому обычный запуск использует надёжный stdlib gzip; экспериментальный opt-in через RU_MAX_ENABLE_RAPIDGZIP=1 обычному пользователю не нужен.
  6. После успешной сборки все готовые артефакты находятся под единым корнем 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 слои отображаются под понятными русскими названиями; технические имена папок остаются неизменными только для совместимости.
  7. В KOReader откройте Настройки → Словари и включите нужные словари.

На экране сборщика всегда указаны публичная версия программы и внутренняя версия builder-базы. Кнопка быстрой пересборки предназначена для повторного запуска на машине, где уже сохранены источники и кэши. Готовые словари, пользовательские книги, скачанные дампы и кэши в Releases не выкладываются; небольшая QA-книга для проверки читалки является единственным исключением.

Тестовая книга

Каждый значимый релиз содержит небольшую оригинальную книгу RU-Max-Clean-Dictionary-Test-Book в форматах EPUB и FB2. Это не словарь и не художественное произведение: книга нужна, чтобы быстро проверить словари на своей читалке. В ней есть контрольные слова для русского ядра, словоформ, фразеологии, латыни, французского и немецкого, архаики, исторической графики, сокращений, литературных имён и фэнтезийных терминов.

Скопируйте EPUB или FB2 на устройство, подключите ядро и companion-паки по одному, затем открывайте слова долгим нажатием. Проверьте начальную и изменённую форму, регистр, ё/е, дефисы, апострофы, диакритику, кавычки и многословные выражения. Итоговый список находится в разделе «Контрольная полоса». Книга также доступна в исходном репозитории в каталоге test_books/.

Дополнение для KOReader

В репозитории есть необязательный Lua-патч koreader_patch/2-ru-max-clean-meaning-only.lua. Это небольшой патч интерфейса, а не отдельный словарь и не полноценный плагин. Он убирает автоматически добавляемую строку (запрос: ...) из окна быстрого поиска, не изменяя .dict и не переписывая определения.

Установка:

  1. Скопируйте файл .lua в <папка KOReader>/patches/.
  2. Перезапустите KOReader.
  3. Словари включаются отдельно через Настройки → Словари.

Патч действует глобально на локальные словари 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- инструмент; готовые словари, кэши и пользовательские книги туда не входят.

About

Большой русско-русский словарь значений для KOReader — сборщик StarDict с морфологическими формами и литературными слоями.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

1 watching

Forks

Releases

Contributors

Languages