Как стать автором
Обновить

Комментарии 35

Насколько я помню, Тессеракт может в значительно большее количество языков. При дальнейшем развитии программы, думаю, было бы неплохо добавить поддержку тех языков, которые доступны и в этой библиотеке, и в Google Translate API.
P. S. Что касается утечек памяти, суицид - тоже не выход) Если, опять же, программа будет развиваться, с этим нужно бороться прежде всего.

Было желание сделать локализацию и выбор с какого в какой язык переводить. Но не понятно будет ли это реально востребовано, самому мне это не нужно. Ну и плюс размер данных для распознания в несколько метров для каждого языка раздует программу :)

На счет перезапуска программы для освобождения памяти. Это конечно не здорово, но, я не знаю как решить эту проблему для сторонней библиотеки. Можно запускать её отдельным процессом или отдельным доменом попробовать и их перезапускать, но это примерно так же коряво будет, и в таком маленьком проекте только лишнее усложнение.
Может быть кто посоветует что ещё можно сделать? Подобная проблема вообще часто мне встречается.

Обычно так и поступают - отправляют в отдельный процесс и периодически перезапускают.

Кстати в MacOS функция распознавания текста на картинках уже примерно год как встроена в стандартный просмоторщик. Аналогично работает в браузере и некоторых других приложениях. Выглядит так, что при выделении мышкой области на изображении она выделяется как обычный текст. Иногда на сайтах уже не понятно где текст текстом, а где картинкой.

Любопытно, как в примере с картинок в посте Вы умудрились получить неправильный перевод (как минимум лишнее "чтобы"), если текст, судя по картинке с messagebox'ом, распознан корректно, и Google Translate, если ввести в него этот текст, переводит его тоже корректно. Это какой-то неправильный API...

Очень похоже на то, что программа перевела эти две строчки по отдельности, не пытаясь их объединить в целое предложение.

Нет, объединяю в единый текст. На перевод могут влиять переносы строк

Тогда попробуйте перед отправкой в Google Translate API убирать лишние переносы строк. В переводах небольших фрагментов текста их отсутствие вряд ли испортит жизнь пользователю, а качество перевода повысится.

Думаю действительно будет лучше, если убрать переносы строк...

Форматирование текста перед отправкой нужно готовить самому - он ведь только переводчик, а не угадыватель грамматики и пунктуации. Куски разделенные переносами строк воспринимает как разные фрагменты.

У бесплатного Google Translate API было ограничение на количество запросов. До некоторой степени решалось с помощью пула проксей или тор. Сервис из этого не сделать, но для мелко-домашнего применения годилось.

Всё как есть в самом гугл переводчике

Вот текст в виде текста:

Okay—now we're going
to check your reflexes.

Действительно, Гугл Транслейт не может понять, что разрыв строки тут не несёт смыслового значения. Удивлён - для перевода текста, скопированного из PDF или plain text с заданной максимальной шириной строки, это ж боль :(

Но обсуждаемой программе было бы полезно такие ситуации отрабатывать самой, чтобы улучшить качество перевода.

Наверное действительно лучше будет убрать переносы строк.
Вот только думаю, не испортит ли это перевод, там где нет точек, а фразы разнесены графически. И не поломает ли форматирование текста, хоть это и наименее важно

В такой ситуации возможно самым простым решение будет просто переехать на нормальный переводчик, без танцев с бубном, переносами строк, тем более определением фраз. У яндекс переводчика есть неплохой api - https://yandex.ru/dev/translate/doc/dg/reference/translate.html

У bing переводчика вроде тоже.

Потому что для него разрыв строки несет смысловое значение - для него это начало нового предложения.

Видимо, авторы решили, что пользователи чаще вставляют абзацы без точки в конце, чем цельное предложение, разбитое на отдельные строки. Поскольку у них для принятия таких решений есть статистика, я бы им поверил

Ну от Гугла я ожидал интеллектуальной обработки подобных ситуаций с распознаванием, где это безграмотный конец предложения (без точки), а где - скопированный с принудительными разрывами строк текст или, скажем, стихи.

Странный юмор.. Нет, всё таки нормальный.

Это интересно своей простотой. Но вот например ту тысячу слов, которую я знаю по-английски, я знаю из игр. Так что может есть смысл лишний раз открыть живой бумажный словарь. Хз.

Крайне рекомендую Maverick OCR Helper с поддержкой: английского и японского, а также DeepL (что качественней).
Тыкаем на ~, рисуем прямоугольник, из которого будет распознаваться.
Можно сделать активные области на клавиши 1-0 + графическую обработку изображения - чтобы распознавалось Тессерактом лучше.

Видюшка с объяснением, как работать.

Если нужно, я для него даже локальный HTTP API написал.

Воот! Я знал, что плохо искал, спасибо! :)

Скачал, бегло посмотрел. Программа классная, особенно облегченная Ёлочка. Пожалуй, я бы свою не писал, если бы её видел: почти полные аналоги. Вот их различия, которые я увидел сразу:

  • Занять горячую клавишу Ё это слишком жестко. Хотя можно Alt+ или Ctrl+, но всё ещё не идеально (по моему скромному мнению)

  • Перевод более гладкий. Вероятно, из-за лишних переносов строк у меня. Нужно поправить :)

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

  • Красивое, настраиваемое окошко. Перевод можно выделить и скопировать. У меня это нужно сделать методом выделения области, а потом нажать в трее Перевести. Наверное, нужно поменять на копирование сразу перевода в буфер.

  • Я как-то не так сделал выделение по скрину :) Оно у меня немного тормозит

  • Для новелл очевидно более удобно: можно настроить область для перевода и не дергать мышкой.

  • Мелкий текст обе программы одинаково хорошо видят.

  • Нет функции перевода по тексту из компонента WinAPI (у меня это Win+Alt и после +Ctrl). Не то чтобы это минус, программа то по переводу изображений. Но в некоторых, преимущественно старых, программах, где это можно сделать, взять для перевода текст выглядит логичней.

  • У меня можно отдельно перевести и/или распознать текст и картинку по меню в трее

Класс, ёлочка зачёт, единствнное что убивает - невозможность настроить хоткей. Или можно? В реестре, в ini, где он вбит?

Что з HotKey=0?

И жаль что не гитхаб и опенсорс. Ещё не хватает возможности подвинуть окно перевода.
А в целом отлично работает, спасибо за софт!

Сколько сил тратят люди только для того, чтобы не тратить сил на изучение языка )

Мне кажется это не совсем так, на то, чтобы выучить английский на таком уровне, чтобы понимать больше 50% слов и логических конструкций, требуется год. Ну м. б. полгода, если ты гений – месяц. На то, чтобы по нажатию клавиши запихивать скриншот поочередно в ocr, а затем в гугл транслейт можно при лучшем раскладе потратить пару вечеров.

С точки зрения совершенствования английского - интереснее вариант не переводчика, а именно словаря.

UPD 27.11.2022: Добавил раздел Переносы строк, обновил картинку

Спасибо за разработку свободной программы! Записал себе, дома посмотрю.

Рад, что кому-то она понравилась. Программа по сути просто компиляция двух сервисов, но она столько лично мне пользы приносит, что не могу не поделиться :)

Интересная программа, но не сразу понял, что она переводит именно буфер обмена. Сейчас беда со временем, я как раз собираю свободные программы на личном проекте (ссылка), поэтому чуть позже добавлю её туда.

Паажди!
Буфер это дополнительная опция. В основном переводит выделением с экрана с зажатыми Win+Alt (только ими). Почитай в "О программе".
Спасибо за внимание к программе!

Спасибо, почитаю!

Спасибо за ссылку

Хорошая программа, удачи вам в её развитии!

Главное не теряйте энтузиазм! либо нужно найти способ монетизации!

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации