Screen-Translate

A Screen Translator/OCR Translator made by using Python and Tesseract, the user interface are made using Tkinter. All code written in python.

MIT License

Stars
107
Screen-Translate - 2.1.1 - Ability to customize tesseract config and language key Latest Release

Published by Dadangdut33 over 1 year ago

This release added some options that you can set to improve usability

What's Changed

  • added option to add extra tesseract config dc86b14
  • added ability to customize language keys manually at user/keys.json fd295bd
  • added more language to deepl fd295bd
  • added vertical japanese and chinese language code fd295bd
  • added setting to set psm 5 on (vertical) input fd295bd

Requirements

  • tesseract, needed for the ocr. Install it with all the language pack.
  • LibreTranslate for offline translation (Optional).
  • Internet connection for the other engines (Needed if not using LibreTranslate).

Full Changelog: https://github.com/Dadangdut33/Screen-Translate/compare/2.1.0...2.1.1

Download Screen Translate

Screen-Translate - 2.1.0 UI improvement and Dark theme

Published by Dadangdut33 over 1 year ago

Decided to try and see what would happen if you use modern community made ttk theme and it actually looks quite nice. If you don't like the custom theme you can switch to the default os one by selecting the first theme in the setting (you might need to restart after changing theme). Optionally, you can add / modify your own preferred custom theme. Instruction located in the theme folder.

What's Changed

  • added sun valley theme with dark / light mode support
  • added auto color mode for dark / light mode on first time run
  • added option to change theme in setting and ways to add custom theme
  • added option to auto copy translated text to clipboard
  • Use tksheet for history table to improve looks and usage experience
  • categorize the ui code directory structure

Requirements

  • tesseract, needed for the ocr. Install it with all the language pack.
  • LibreTranslate for offline translation (Optional).
  • Internet connection for the other engines (Needed if not using LibreTranslate).

Linked Issue

  • #17

Full Changelog: https://github.com/Dadangdut33/Screen-Translate/compare/2.0.1...2.1.0

Download Screen Translate

Screen-Translate - 2.0.1 Minor bug fix and update

Published by Dadangdut33 over 1 year ago

Found some bugs with autorun and fix it. Tray app is also improved a bit.

What's Changed

  • Fix run on startup showing terminal window because of wrong registry key value
  • Improve the tray app

Full Changelog: https://github.com/Dadangdut33/Screen-Translate/compare/2.0.0...2.0.1

Download Screen Translate

Screen-Translate - 2.0.0 - Tray app, UX improvement, & bug fixes

Published by Dadangdut33 over 1 year ago

I decided to do some refactor and add more features to the app. You can now run this app in background and run the app on startup. I have also done some adjustment to the build so now the build folder is a little more clean. You can see the full changelog below.

Just like before, there is 2 version of the release the one with console and the one without it. The naming is a little different now, for version that have console/terminal there is -C in the name. I recommend the one without terminal since the logging have been improved now.

What's Changed

  • Added tray app
  • Added option to run on startup
  • Added right click context menu to capture window, detached window, and snipping mode
  • Added loadbar for loading indicator
  • Cleaner app folder
  • Refactor and improve code structure
  • Better logging
  • Fix getting offset
  • Some settings are now saved dynamically
  • Setting window component now dynamically resize
  • Auto reconnect to internet for translation
  • Snipping mode now capture the window first before snipping
  • Now uses thread so window won't freeze when capturing / translating

Requirements

  • tesseract, needed for the ocr. Install it with all the language pack.
  • LibreTranslate for offline translation (Optional).
  • Internet connection for the other engines (Needed if not using LibreTranslate).

Linked PR/Issue

Full Changelog: https://github.com/Dadangdut33/Screen-Translate/compare/V1.8.5...2.0.0

Download Screen Translate

Screen-Translate - V1.8.5 Resizable setting window

Published by Dadangdut33 over 2 years ago

As mentioned in #12 by @vtminhh if monitor scaling is not 100%, the setting window will appear cropped. This release fixes that by making the frame bigger and the window resizable.

Changelog
[V1.8.5 Resizable setting window]

  • To counter scaling problem, you can now resize the setting window. It is also bigger now.

Requirements

  • tesseract, needed for the ocr. Install it with all the language pack.
  • LibreTranslate for offline translation (Optional).
  • Internet connection for translation if not using LibreTranslate.

Full Changelog: https://github.com/Dadangdut33/Screen-Translate/compare/V1.8.4...V1.8.5

For detailed installation information please take a look at the readme page

Download Screen Translate

Screen-Translate - V1.8.4 Minor Update

Published by Dadangdut33 almost 3 years ago

I realized that with the captured words being separated by new lines, the translation will be a little messy. So now I added an option to disable/enable it. By default, new lines will now be replaced by space. I also added a setting for libreTranslate API key.

Changelog
[V1.8.4 Minor Update]

  • Added setting for replacing new line with space for captured text.
  • Added setting for API keys for LibreTranslate.

Requirements

  • tesseract, needed for the ocr. Install it with all the language pack.
  • LibreTranslate for offline translation (Optional).
  • Internet connection for the other engines (Needed if not using LibreTranslate).

Full Changelog: https://github.com/Dadangdut33/Screen-Translate/compare/V1.8.3...V1.8.4

Screen-Translate - V1.8.3 Added offline translation support by using LibreTranslate

Published by Dadangdut33 almost 3 years ago

Thanks to user fnx4 offline translation is now possible. There is now LibreTranslate engine that you can use by hosting it yourself or by using dedicated server available. If you host it yourself, you can use it without internet connection.

Changelog
[V1.8.3 Added offline translation support by using LibreTranslate]

  • Now supports offline translation by using LibreTranslate. You can also use the online version if you are not interested in hosting it offline yourself. Link: https://github.com/LibreTranslate/LibreTranslate
  • Added connection indicator in the main menu.
  • You can now reconnect if you start the program without internet connection by pressing the signal logo on top right of the main menu.

Requirements

  • tesseract, needed for the ocr. Install it with all the language pack.
  • LibreTranslate for offline translation (Optional).
  • Internet connection for the other engines (Needed if not using LibreTranslate).

Full Changelog: https://github.com/Dadangdut33/Screen-Translate/compare/V1.8.2...V1.8.3

Screen-Translate - V1.8.2 Minor Bug Fix and Update

Published by Dadangdut33 almost 3 years ago

To improve the user experience, I have added some status indicators and symbols/emojis to the program.

Changelog
[V1.8.2 Minor Bug Fix and Update]

  • Fixed the alt chinese language not working on capturing
  • Fix logo for mask ui (I forgot to add the logo before)
  • Added status indicator in top right of the main menu to show the current state of the program (Ready/Busy/Error/Warning), each are colored differently.
  • Added log window to show program running log, you can turn this on in the settings.
  • Added symbols/emoji to some buttons to make it more clear.
  • Added button to delete all captured images in setting.
  • Change cursor look after snipping to indicate loading status.

Requirements

  • Tesseract, needed for the ocr. Install it with all the language pack.
  • Internet connection

Full Changelog: https://github.com/Dadangdut33/Screen-Translate/compare/V1.8.1...V1.8.2

Screen-Translate - V1.8.1 Minor Bug Fix and Update

Published by Dadangdut33 almost 3 years ago

By request, i have added a mask window that could help when trying to capture text. The way it works is by making the area around the image darker/lighter depending on the colors that you choose (default is dark).

Changelog
[V1.8.1 Minor Bug Fix and Update]

  • Fixed chinese language bug
  • Fix debug mode checkbox not syncing between the 2 ui
  • Add setting to control how many last characters to delete

Requirements

  • Tesseract, needed for the ocr. Install it with all the language pack.
  • Internet connection

Full Changelog: https://github.com/Dadangdut33/Screen-Translate/compare/V1.8...V1.8.1

Screen-Translate - V1.8 Added snip and cap

Published by Dadangdut33 almost 3 years ago

Finally another update. The app looks like it's in the final stage now, I have reached what I envision when I first created it. I don't know whether there will be more features to add or not, but you all can still submit a feature request if you have any.

With this update, there is now a feature to snip and cap, it makes the program more practical to use now, I hope this helps. Also thanks to user nonamebatbai for requesting the feature. I almost didn't want to create it at first but because of the request, I ended up doing it because now I know that someone needs and wants it. Thanks once again! :D

Changelog:
[V1.8 Added snip and cap]

  • Added snip and cap
  • Added more options to the capture window
  • Added detached setting window for capturing
  • Added options for auto detect background type
  • Added debug mode for capture enhancement (This will show how the image is processed, might help on getting the best result)
  • Fix keybind not unbinding on restore default

Requirements

  • Tesseract, needed for the ocr. Install it with all the language pack.

Full Changelog: https://github.com/Dadangdut33/Screen-Translate/compare/V1.7.2...V1.8

P.S. Now I also uploaded this program to Sourceforge, you can download it from there, also leave a rate if you can xD

Screen-Translate - V1.7.2 Bug fix and background option

Published by Dadangdut33 about 3 years ago

V1.7.2, I found out that you need to specify whether the background is dark or light when using the cv2 enhancement, so I decided to upload this small but useful update.

Changelog:
[V1.7.2 Bug fix and background option]

  • Fix reversed word
  • Added option to choose wether the background that is gonna be captured is light or dark
Screen-Translate - V1.7.1 Added option to show or not show alert if no text is get

Published by Dadangdut33 about 3 years ago

V1.7.1, a minor update. By default, the app now won't show any alert if no text is entered.

Changelog:
[V1.7.1 Added option to show or not show alert if no text is get]

  • By default, the app will now ignore the alert if no text is get. You can set alert to show again by going into setting
Screen-Translate - V1.7 OCR Enhancement and setting window improvement

Published by Dadangdut33 about 3 years ago


V1.7 is here. We now have an installer by using inno setup. The setting window is now categorized to each category, you can now customize the query and result box, there is now also an option to improve the ocr by using python-opencv.

Changelog:
[V1.7 OCR Enhancement and setting window improvement]

  • Fix the language code bug
  • Added some more language that tesseract supports
  • The ocr now utilizes python-opencv to improve the text detection. You can turn it off or on in setting
  • There is now setting for window transparency, textbox font, textbox foreground, and texbox background color for each detached window (the query and result window)
  • You can now choose wether to check for update on app startup or not
  • Setting ui is now not resizable but it's now categorized to each category and looks way better with more hints or tips
  • Every button and spinbox now uses ttk instead of tk (It looks more modern now)
  • The table in history now expand
  • Added more tooltiptext to settings
  • App now have an installer!
  • *Note: App size might be bigger now that it uses cv2

Note

  • You can choose between the installer one or the rar one, the only difference is that the installer one is more fancy and have an uninstaller.
Screen-Translate - V1.6 Added optional separate window for the translation

Published by Dadangdut33 about 3 years ago


V1.6 is finally here. With this update, the source code are also more readable now which makes it easier to maintain and improve, you can expect more update in the future. Also, thanks to Mdika for the help with the logo.

Requirements:

  • Tesseract
  • Internet connection

Changelog:
[V1.6 Added optional separate window for the translation]

  • There are now 2 additional window, 1 for the query and 1 for the result that you can generate in the generate menu
  • You can now check for update in the check for update and in the about window
  • App now have a logo thanks to Mdika
  • App now have 2 version, 1 with console window and 1 without it. There is no major difference between the 2. The only difference is that the one with console window is more useful for debugging
  • Hide the modules/library in the build folder so that it is not visible unless show hidden item is on.
  • File size has been reduced. The app now only includes the necessary module/library on build
  • The ui source code have been restructured to make it more readable and easier to maintain

Edit Also :

  • There is now also a shortcut key for opening about, settings, history, and captured
  • The slider now sync up between the two window
Screen-Translate - V1.5 Added hotkeys for capturing

Published by Dadangdut33 about 3 years ago

Once again, thanks to user @laggykiller, for they have added options to use hotkeys for capturing the text, making it easier to use

Requirements:

Changelog:
[V1.5 Added hotkeys for capture and translate]

  • Added keybinding for the "Capture and translate" button
  • Added time delay for capturing using the keybinding
  • Minor improvement/fix to the settings loading by reducing the read/load of Setting.json
Screen-Translate - V1.4 Added option for not translating

Published by Dadangdut33 about 3 years ago

Thanks to user @laggykiller for the help and contribution. There is now an option for just capturing by setting the engine to none.

[V1.4 Add Option For Not Translating]

  • Added option for not translating by using the 'none' engine
  • Realign refresh button padding on history ui
  • Remove check on 0 as this can cause error on the first language for engine that does not have auto detect
  • Release tag will now follow the version number
Screen-Translate - V.1.3.1 Bug fixes

Published by Dadangdut33 about 3 years ago

[V1.3.1 Bug fix]

  • Fix bug where program won't run if resource/json directory doesn't exist, program will now create it automatically if such directory doesn't exist.
  • Also fix bug where program won't save img if img_cache directory doesn't exist, program will now create it automatically if such directory doesn't exist.
Screen-Translate - V1.3 Improvement + New Feature

Published by Dadangdut33 about 3 years ago

[V1.3 Improvement + New Feature]

  • Added auto copy to clipboard on setting
  • 'To' language now carried on when changing engines just like the 'from' language (Forgot this in the last release)
  • Added readme and changelog to folder download
Screen-Translate - V1.2_Improvement

Published by Dadangdut33 about 3 years ago

I realized that it is kinda annoying that when you switch engines, the selected 'from' language will be the top one. Therefore I added some improvements and make it so that when you change the engine, the 'from' language will still be the same if it does exist. The 'to' language is still defaulted on English, no change is made.

TL;DR - From language now carried on when changing engines

Screen-Translate - V1.0-Fixed

Published by Dadangdut33 about 3 years ago

After testing it out many times, it finally works as intended. You can report if you found any bugs.

Don't forget to install tesseract, without it the ocr won't work.
If you are still confused, you can check the visual tutorial on the user_manual folder.