Переводчик экрана: наложение перевода поверх текста на экране
build / build (push) Failing after 10s
build / build (push) Failing after 10s
Программа накладывает русский перевод прямо на английские надписи — как переводчик по фото, только для монитора. Работает с играми, интерфейсами и документами: распознаёт кадр, собирает текст в связные блоки, переводит и рисует плашки под цвет фона. Распознавание — встроенный Windows.Media.Ocr, офлайн. Перевод — цепочка движков с автопереключением (google, lingva, mymemory), потому что до разных сервисов из разных сетей достучаться получается по-разному. Собирается без .NET SDK: Roslyn из Build Tools плюс сборки Framework 4.8, которые уже есть в системе. На выходе один exe без установщика. Главная сложность оказалась не в переводе, а в том, чтобы понять, где на экране связный текст, а где отдельные надписи. Классические алгоритмы сегментации решают это по межстрочному зазору, но в плотном интерфейсе он одинаков у строк абзаца и у соседних контролов. Поэтому решение принимает ансамбль признаков: фон, граница между строками, заполненность строки, кегль. Надписи на чужом языке отсеиваются тремя уровнями — форма слова, вторая модель распознавания и частоты буквенных пар. Чтобы правки эвристик не оценивались на глаз, в tools лежат эталонные кадры и RenderTest: прогон конвейера без окна с подсчётом попаданий. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
ПЕРЕВОДЧИК ЭКРАНА
|
||||
=================
|
||||
|
||||
Накладывает русский перевод прямо поверх английского текста на экране —
|
||||
как Яндекс.Переводчик по фото, только для монитора. Работает с чем угодно:
|
||||
игры, сайты, программы, PDF.
|
||||
|
||||
|
||||
КАК ЗАПУСТИТЬ
|
||||
-------------
|
||||
|
||||
1. Распакуй папку куда угодно (например, на рабочий стол).
|
||||
2. Запусти ScreenTranslator.exe
|
||||
3. Windows скажет «SmartScreen защитил ваш компьютер» — это потому, что
|
||||
у файла нет платной подписи. Жми «Подробнее» → «Выполнить в любом случае».
|
||||
4. Появится значок в трее (синий кружок «AЯ», рядом с часами). Всё, работает.
|
||||
|
||||
Окна никакого нет и не должно быть — программа ждёт горячую клавишу.
|
||||
|
||||
|
||||
КАК ПОЛЬЗОВАТЬСЯ
|
||||
----------------
|
||||
|
||||
Ctrl + Alt + Z перевести тот монитор, где сейчас курсор
|
||||
Ctrl + Alt + X обвести рамкой кусок экрана и перевести только его
|
||||
|
||||
Esc закрыть перевод (или ещё раз Ctrl+Alt+Z)
|
||||
пробел пока держишь — видно оригинал под переводом
|
||||
клик по тексту скопировать перевод в буфер
|
||||
Ctrl + C скопировать весь перевод
|
||||
|
||||
Как это выглядит: экран замирает, английские надписи закрываются плашками
|
||||
под цвет фона, на них русский текст. Переведённые места подчёркнуты тонкой
|
||||
синей линией. Перевод занимает пару секунд, всё это время видно, что
|
||||
программа работает.
|
||||
|
||||
В игре лучше оконный или безрамочный режим — в полноэкранном Windows
|
||||
не даёт рисовать поверх.
|
||||
|
||||
|
||||
ЧТО ХОЧЕТСЯ ПРОВЕРИТЬ
|
||||
---------------------
|
||||
|
||||
Главное — связный текст: описания квестов, книги, диалоги, подсказки.
|
||||
Он должен переводиться целыми фразами, а не по отдельным словам.
|
||||
|
||||
Ещё интересно:
|
||||
- меню и панели (окна профессий, настройки, инвентарь);
|
||||
- не наезжают ли плашки на соседние надписи;
|
||||
- успевает ли по скорости.
|
||||
|
||||
Если что-то пойдёт не так — нажми PrintScreen прямо поверх перевода
|
||||
(оверлей от этого не закроется) и скинь скриншот целиком, не обрезая.
|
||||
По полному кадру видно, где именно проблема.
|
||||
|
||||
|
||||
ЧТО УЖЕ ИЗВЕСТНО
|
||||
----------------
|
||||
|
||||
- Названия переводятся буквально: Steam → «Пар», Discord → «Раздор».
|
||||
Отличить название от обычного слова программа не может, это нормально.
|
||||
- Рабочий стол и панель задач переводить бесполезно — там одни названия.
|
||||
- Совсем мелкие надписи (8 пикселей, вкладки браузера) распознаются плохо.
|
||||
- Русский текст на экране программа старается не трогать, но иногда
|
||||
что-то проскакивает.
|
||||
|
||||
|
||||
ЕСЛИ НЕ РАБОТАЕТ
|
||||
----------------
|
||||
|
||||
Ничего не происходит по Ctrl+Alt+Z
|
||||
Комбинацию мог занять кто-то другой (часто это Яндекс.Диск или Punto).
|
||||
Открой config.json блокнотом, поменяй hotkeyTranslate на другую,
|
||||
например "Ctrl+Alt+Q", потом правый клик по значку в трее →
|
||||
«Перечитать настройки».
|
||||
|
||||
Пишет, что нет распознавания текста
|
||||
Нужен языковой компонент Windows. Параметры → Время и язык →
|
||||
Язык и регион → у английского языка «...» → Компоненты языка →
|
||||
поставить галочку «Распознавание текста». Обычно он уже стоит.
|
||||
|
||||
Не переводит, ругается на сеть
|
||||
Правый клик по значку в трее → «Проверить переводчики». Покажет,
|
||||
какой из трёх сервисов отвечает, а какой нет. Скинь этот результат.
|
||||
|
||||
Настройки — файл config.json рядом с программой, открывается блокнотом.
|
||||
После правки: значок в трее → «Перечитать настройки», перезапуск не нужен.
|
||||
Reference in New Issue
Block a user