Інтернет-конференції НУБіП України, ТЕОРЕТИЧНІ ТА ПРИКЛАДНІ АСПЕКТИ РОЗРОБКИ КОМП’ЮТЕРНИХ СИСТЕМ '2026

Розмір шрифту: 
програмний додаток перекладу тексту з екрану в реальному часі
Максим Сергійович Закомірний

Остання редакція: 24-04-2026

Тези доповіді


На сьогоднішній день люди все більше стикаються з інформацією, яка часто подається у вигляді тексту. Це можуть бути ігри, веб-сторінки, цифрові документи та інше. Дуже часто цей текст написаний іноземними мовами і люди, які не володіють даними мовами, змушені користуватися перекладачами. Щоб полегшити процес перекладу таких текстів, був розроблений даний додаток, який дозволяє перекладати текст з екрану, без необхідності копіювати та вставляти такий текст у зовнішні перекладачі.

Призначення та функціональні можливості додатку. Це десктопний додаток, який призначений для перекладу тексту з екрана в реальному часі. Його основною функцією є отримання зображення з вибраної області екрану, отримання тексту з зображення за допомогою OCR (Optical Character Recognition) моделі та переклад отриманого тексту із використанням зовнішніх сервісів перекладу. На відміну від традиційних методів перекладу, додаток не потребує від користувача копіювати текст та вставляти його в перекладач.

Особливості реалізації. Однією з ключових особливостей додатку є можливість роботи в постійному режимі, коли програма періодично із заданим інтервалом, виконує захват вибраної області екрану, що дозволяє отримувати переклад без додаткових дій. Сам переклад подається в спеціальному вікні, яке закріплюється поверх інших. Щоб це вікно не заважало працювати з іншими додатками є можливість зробити його прозорим для кліків. Окрім цього, є можливість змінити прозорість самого вікна, щоб бачити що відбувається за ним. Ще однією особливістю є можливість працювати з додатком за допомогою гарячих клавіш, які дозволяють користувачу взагалі не використовувати головний інтерфейс, як тільки всі параметри були налаштовані.

Архітектура програмного забезпечення. Для даного додатку було вирішено використовувати багатошарову архітектуру з елементами модульності. Логіка системи розділена між шаром представлення (UI layer), шаром обробки (Service layer) та шаром інтеграції зовнішніх сервісів (Integration layer). Такий підхід дозволяє чітко розмежувати відповідальність компонентів та дозволяє підключати нові модулі без зміни логіки системи. Це вирішує проблему, коли потрібно додати новий модуль або замінити старий. Також дана архітектура полегшує тестування додатку, бо кожен модуль відповідає тільки за свій функціонал.

Відповідальність шарів. Шар представлення відповідає за отримання команд від користувача, їхню обробку та виведення результатів перекладу в спеціальному вікні. Шар обробки відповідає за основну логіку програми. Тут реалізовані всі основні сервіси, які використовуються для роботи програми. Сюди належать сервіс захоплення зображення з екрана, сервіс отримання тексту з зображення та сервіс перекладу тексту. Шар інтеграції відповідає за взаємодію з зовнішніми сервісами. Його реалізація базується на використанні адаптерів, які реалізовують інтерфейси через які відбувається взаємодія з даними сервісами в самому додатку. У реалізованому додатку використовуються адаптери для сервісів перекладу та OCR моделей.

Інтерфейс користувача. Для розробки інтерфейсу використовувалися мова програмування C# та фреймворк WPF. Інтерфейс користувача був розроблений так, щоб всі необхідні функції були в швидкому доступі. Він розрахований на початкову взаємодію з додатком, коли після необхідних налаштувань системи, його можна просто закрити і працювати без нього. Для цього було додано можливість роботи з додатком використовуючи гарячі клавіші. Всі основні функції інтерфейсу розташовані зліва та зверху. По центру було зроблено панель налаштувань оверлею та перекладу, так як вони часто змінюються.

Подальший розвиток додатку. Перспективи розвитку проєкту зосереджені на розширенні інтеграційних можливостей та підвищенні швидкодії обробки даних. Пріоритетними завданнями є підключення нових перекладацьких API (зокрема DeepL та Microsoft Translator) для покращення якості адаптації складного контексту, а також впровадження алгоритмів оптимізації на базі GPU для прискорення препроцесингу зображень. Крім того, планується реалізація механізму кешування результатів, що дозволить мінімізувати кількість мережевих запитів та забезпечити миттєвий відгук системи при повторному виявленні ідентичних фрагментів тексту.