Привет. Это пост про небольшое приложение, которое я сделал для себя. Скажу сразу: писал я его в паре с нейронкой. Как Хабр сейчас относится к таким проектам, не знаю, но вдруг кому‑то пригодится.

Захотелось мне читать больше книг на иностранном языке — на электронной книге, разумеется. Но удобного словаря для читалки, который сразу переводил бы слово или фразу поверх страницы, а при наличии сети ещё и объяснял грамматику, я не нашёл: AI‑плагины к KOReader перегружены, а словари для FBReader выглядят как привет из начала двухтысячных. Поэтому сделал свой.

Работает на читалках вроде Boox: подключается к FBReader, CoolReader или KOReader как внешний словарь и вызывается из меню выделения текста, онлайн и офлайн. Изначально это был эксперимент, но у меня оно прижилось, поэтому решил поделиться.

Пример разбора грамматики с AI
Пример разбора грамматики с AI

Суть функционала в следующем:

  • приложение регистрируется в системе по протоколу «ColorDict 3» и различные читаки могут дергать его как внешний словарь;

  • приложение при вызове открывает окошко поверх читалки (у меня FBReader);

  • позволяет переводить отдельные слова и фразы офлайн:

    • перевод каждого слова по скачанным языковым пакетам: словари мы собираем сами из Викисловаря (выгрузки kaikki.org) + WikDict — там, где в Викисловаре нет статьи. Сейчас это два десятка пар: книги на 8 языках с ответами на английском, на 5 — с ответами на русском, плюс английский: французский, испанский, итальянский, португальский, польский в качестве эксперимента. Готовые словари не подошли: качество у всех разное, формы слов находятся через раз. Поэтому собираю свои, и перед публикацией каждый пак проверяется тестами;

    • перевод фраз — с использованием translation‑моделей от Firefox: напрямую, если один из языков английский, иначе через английский (de → en → ru), на движке Bergamot прямо на устройстве (через английский оттенки вроде ты/вы могут теряться);

    • для определения исходного языка используется легкая модель определения языка фразы из проекта fastText — для уточнения с какого языка должен идти офлайн‑перевод;

    • для слов подсказывает грамматику: der/die/das и множественное число для немецких существительных, основные формы глаголов (gehen — ging — ist gegangen), сильные и неправильные глаголы; любая форма слова в тексте ведёт к словарной: Häusern → das Haus, went → go.

Подстрочник без интернета: каждое слово фразы с начальной формой и значением
Подстрочник без интернета: каждое слово фразы с начальной формой и значением
  • при наличии подключения к сети доступны доп фишки с AI:

    • интеграция с разными провайдерами по API (нужен свой ключ API), в том числе OpenRouter где есть даже бесплатные модельки/лимиты по API, и свой сервер (LM Studio, Ollama);

    • AI перевод фраз, зависит от выбранной модели и провайдера;

    • AI «Разбор»: грамматика фразы и трудные слова;

    • AI «Контекст»: что значит здесь, стиль, идиомы, плюс примеры с переводом;

    • по нажатию на любую AI‑вкладку все запросы уходят разом и кэшируются, остальные вкладки потом открываются мгновенно.

  • Также есть стандартные фишки типа истории (у каждой записи — короткий перевод), избранных слов и фраз итд.

AI-перевод фразы из Кафки
AI‑перевод фразы из Кафки

Немного цифр:

  • Boox Go 6 (Snapdragon 662, 2 ГБ): офлайн‑перевод предложения за 0,1–0,9 с;

  • языковой пак — 25–60 МБ на пару, качаешь только нужные;

  • пара публикуется, только если её словарь знает не меньше 85% из 5 000 самых частых слов языка (с формами);

  • 20 пар, интерфейс на 8 языках, без интернета работает всё, кроме AI‑вкладок.

Удивило меня в итоге не то, что с нейронкой можно быстро собрать приложение, — к этому уже привыкаешь. Удивило, сколько всего готового и открытого уже лежит под рукой. Модель fastText размером около мегабайта за миллисекунды определяет язык текста среди 176 языков. Весь Викисловарь доступен в виде структурированных данных (kaikki.org), и из него можно собрать свои словари с родом, формами слов и спряжениями. У Mozilla есть открытые модели офлайн‑перевода, которые на слабенькой Boox Go 6 переводят предложение меньше чем за секунду. А AI поверх всего этого прикручивается за вечер, через любого провайдера или даже свой сервер. Пять лет назад для такого понадобилась бы команда, а сейчас это пет‑проект на пару дней.

В итоге получился проект InkPeek (https://github.com/kafeg/inkpeek) где я с нейронкой на пару реализовал то что нужно именно мне: можно читать литературу на интересующем языке, без сети получать удобный перевод слов (+грамматика +глаголы) и целых фраз (разумеется качество не сравнимо с онлайн версиями), а при наличии сети — еще и получать доп объяснения по грамматическим конструкциям, примеры итд.

Как подключить: ставите APK из Releases, во вкладке «Языки» отмечаете нужные пары и скачиваете. В FBReader: Настройки → Словарь и переводчик → «ColorDict 3» и для слов, и для фраз. Для KOReader, Cool Reader и Moon+ инструкция есть в README.

У меня все работает на Boox Go 6, довольно слабой книжке, так что проблем на любой читалке быть не должно. В README на GitHub есть технические подробности. Возможно, кому‑то такое приложение‑словарь для читалки будет полезно, как и мне.

Код под MIT, словари под CC BY‑SA (Викисловарь), модели под MPL-2.0 (Mozilla).

Комментарии (2)


  1. ivpetrov386
    21.10.2026 12:28

    В AlreaderX будет работать?


    1. vitaly_KF Автор
      21.10.2026 12:28

      Проверил - AlreaderX работает, достаточно выбрать словарь "GoldenDict/ColorDict 3" в настройках.