The Daily Newsstand · Free, Always
Wednesday, October 21, 2026

InkPeek — переводчик для Android-читалок: работает офлайн, а с интернетом ещё и объясняет через AI

Translate

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

Захотелось мне читать больше книг на иностранном языке - на электронной книге, разумеется. Но удобного словаря для читалки, который сразу переводил бы слово или фразу поверх страницы, а при наличии сети ещё и объяснял грамматику, я не нашёл: 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% из 5000 самых частых слов языка (с формами);

  • 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).

View the original on Хабр →

KioskNews shows a cleaned-up reading view extracted from the publisher’s page — the original always lives on their site, not ours.