dynobo / normcap

OCR powered screen-capture tool to capture information instead of images
https://dynobo.github.io/normcap/
Other
1.8k stars 91 forks source link

Auto language switch #607

Open coldfeudal opened 4 months ago

coldfeudal commented 4 months ago

Describe your problem:

When i am scanning something, i need to manually adjust the language setting according to what i am scanning. Not that convenient to select it every time

Solution you'd like to see:

NormCap should probably switch the language automatically according to currently selected language in tray, as done in PowerToys Text Extractor Multilanguage ocr would also be appreciated as an option, but i am pretty sure it needs a whole bunch of work done on it for this instead of just using a currently selected one in windows

Alternatives you considered:

No response

Additional information or remarks:

No response

dynobo commented 1 month ago

Hi @coldfeudal,

thanks for your suggestion!

Multilanguage ocr would also be appreciated as an option, but i am pretty sure it needs a whole bunch of work done on it for this instead of just using a currently selected one in windows

That's actually already possible! Just activate ( :heavy_check_mark: ) multiple languages in the setting menu. It has the downside of being slightly slower and potentially less accurate, but selecting e.g. two languages (like mothertongue and English) usually works quite well for me!

NormCap should probably switch the language automatically according to currently selected language in tray, as done in PowerToys Text Extractor

You mean like selecting the OS system language as default language for NormCap OCR, right?

I see how this can be more convenient for some users, but I see various things which have to be taken into account:

  1. How to reliably detect the system language on all OS and all Linux Flavors?
  2. What to do if the system's language is not available/downloaded in NormCap? (Show a dialog to download it? PyPi version of NormCap doesn't allow to install languages, how to handle that case?)
  3. What if a user doesn't want to use the system language? (Provide an option to turn the auto-select off? If so, how does it degrade the UX for such users? (now they have to set an additional option))

While those things could be solved, I think they would add a lot of complexity to the project and it would probably decrease the UX for some users, while selecting a language (once installed) is just two clicks (menu -> language)

What do you think?