Изучение иностранных языков — это как освоение сложной игры. Вроде бы правила понятны, но как только сталкиваешься с реальным использованием, всё кажется сложнее, чем на бумаге. Нужно постоянно переключаться между теорией и практикой, запоминать слова, разбирать грамматику. Кто-то пробует традиционные курсы, кто-то заваливает себя учебниками, а кто-то — погружается в языковую среду. Последний способ считается самым эффективным, но далеко не у всех есть возможность поехать за границу, чтобы учиться через живое общение.
Так возникла идея Lookupper. Если мы не можем оказаться в англоязычной среде, почему бы не создать её вокруг себя, прямо в тех местах, где мы уже проводим время? В играх, фильмах, в браузере — везде, где язык используется в естественном виде, а не в заученных фразах из учебников.
Как появилась идея?
В изучении языка помогает все — чтение книг на этом языке, просмотр фильмов, общение в чате. Но для меня оказалось самым интересным — компьютерные игры.
Всё началось с обычной истории: я готовился к экзамену TOEFL, но быстро понял, что стандартные методы изучения языка мне не подходят.
Я играл в Disco Elysium на английском языке. Однако постоянное переключение между игрой и переводчиком ломает процесс, разрушая погружение и мешая насладиться самим экспириенсом.
Так появилась идея — создать инструмент, который бы позволял моментально переводить слова прямо в игре.
Но простой перевод — это лишь вершина айсберга.
Как сделать так, чтобы слова запоминались?
Как избежать перегрузки и не превращать изучение языка в скучную рутину?
Нужно было придумать систему, которая органично встроится в процесс и не будет требовать от пользователя дополнительных усилий.
Отвечая на эти вопросы и пришла идея создания Lookupper.
Что делает Lookupper и почему это удобно?
Lookupper — это оверлей-переводчик, который помогает учить язык прямо в играх, фильмах и на сайтах, не отвлекаясь и не переключаясь между окнами.
Что именно он умеет и зачем это нужно:
Мгновенный перевод в оверлее — помогает не отвлекаться от контекста, обеспечивая перевод прямо на экране.
Оптическое распознавание текста (OCR) — решает проблему зашитого текста в интерфейсах игр и субтитрах, позволяя переводить даже те слова, которые нельзя выделить.
Перевод субтитров в реальном времени — позволяет комфортно смотреть фильмы и сериалы на оригинальном языке, даже если официального перевода нет.
Запоминание переведённых слов — каждое новое слово сохраняется, чтобы позже повторить его в удобное время.
Интеграция с Anki — возможность экспортировать слова в карточки и использовать метод интервального повторения для лучшего запоминания.

Техническая реализация: как это устроено?
Теперь расскажу, как это всё работает под капотом.
Создать удобный инструмент, который работает поверх всех возможных игр и программ, оказалось непростой задачей.
Оптическое распознавание символов (OCR)
Извлечь текст из изображения не сложно. Сложно чтобы он распознался правильно. В играх и видео он часто зашит в интерфейс, не является обычным текстовым элементом. Шрифты неоднородны, а фон — не статичен, А значит, стандартные инструменты не работают.
Для решения этой проблемы я использовал очень быстрый Windows OCR с предпроцессингом OpenCV, который позволяет анализировать картинку, вычислять самый лучший режим и формировать текст.
Интеграция с API переводчиков
Обычный перевод через Google Translate не всегда даёт корректный результат, особенно в контексте игровых диалогов и специализированных терминов.
Поэтому было принято решение использовать сразу несколько API: ChatGPT и DeepL translator. Так удалось добиться того, что программа дает перевод с учетом контекста конкретной игры или книги.
Работа с текстом в реальном времени
Перевод должен появляться мгновенно, иначе теряется смысл. Поэтому была разработана система кэширования, которая позволяет ускорять обработку повторяющихся фраз.
Также добавлена возможность предварительного анализа предложений, чтобы выдавать не просто дословный перевод, а адаптированный под контекст.
Создание удобного интерфейса
Использован WinUI 3, чтобы программа ощущалась как нативное приложение для Windows. И SwiftUI для macOS соответственно.
Переводчик не должен мешать игровому процессу, поэтому оверлей сделан максимально минималистично и стильно, а также умеет подстраивать тему под конкретную игру.
Поддерживается изменение горячих клавиш, для быстрого сокрытия или вызова перевода
Как Lookupper помогает учить язык?
Тут важно понимать, что простого перевода недостаточно. Нужно, чтобы новые слова запоминались, а для этого в приложение встроены словари и механики интервального повторения.
Контекстное обучение — человек запоминает слово не в отрыве, а в реальной ситуации, например, когда оно встречается в игровом квесте или в диалоге персонажа.
Запоминание через повторение — все переведённые слова попадают в личный словарь, и система предлагает повторять их через определённые промежутки времени.
Экспорт в Anki — позволяет повторять слова по методике интервального повторения, что повышает эффективность запоминания.
Минимальная когнитивная нагрузка — изучение языка происходит естественно, без давления, как бы само собой.

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