Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Translate UI element text
Gets UI element text (or selection, OCR) and translates with Google Cloud Translation API. Displays the result in a tooltip.

Import the attached files.


- Added OCR.
- Added code for exe program.

- Settings.
- Now it's a project folder.
- The script renamed.

Attached Files
.zip   @Translate (Size: 10.23 KB / Downloads: 4)
Translates the control text at the mouse pointer, Set the trigger by pressing the Ctrl key twice, Is this possible? Smile
thanks, the code Works well

Do I have to create a separate script file?
How to put the code into file @Triggers and toolbars -> Triggers -> Hotkey triggers.cs  , 
I tried without success
Menu TT -> Other triggers. It opens a file with examples.
In that file add this somewhere inside the class:

Copy      Help
    void KeyboardHookTriggers() {
        WindowsHook.Keyboard(k => {
            var a = _lastKeys ??= new();
            if (a.Count > 15) a.RemoveAt(a.Count - 1);
            a.Insert(0, new(k.IsUp, k.Key, k.Mod, k.vkCode, k.scanCode, k.IsExtended, k.IsInjected, k.IsAlt, k.time));
            //trigger LCtrl*2
            if (k.vkCode == KKey.LCtrl) {
                if (k.IsUp && a.Count >= 4 && a[1].vkCode == k.vkCode && !a[1].isUp && a[2].vkCode == k.vkCode && a[2].isUp && a[3].vkCode == k.vkCode && !a[3].isUp && a[1].time - a[3].time < 500 && (a.Count == 4 || a[4].vkCode != k.vkCode || a[3].time - a[4].time > 500)) {
          "Translate UI element text.cs");

            //Add other triggers here.
            //    To block the key event: k.BlockEvent();
            //Note: this function must be as fast as possible. Slow code here will make kayboard input slow.
            //    If need slow code, put it in other script or thread, and here just start the script or thread.


    record _KeyEvent(bool isUp, KKey key, KMod mod, KKey vkCode, uint scanCode, bool isExtended, bool isInjected, bool isAlt, int time);
    List<_KeyEvent> _lastKeys; //max 16 previous key events, starting from the most recent, including current event
Now QTranslate can translate UI elements too. Older versions translated only through Ctrl+C. But it has high-DPI problems.
#6 The code works fine

QTranslate It will pop up, which is not very convenient
It's a bit strange, some pages on the forum can't be used by Google Translate. The translation did not take effect  Huh

Tested, translates that forum page. Maybe depends on language, I don't know.
Only some web pages cannot be translated

[Image: abc.gif]
Don't know. I translate to Lithuanian and it works.

Maybe browser caching problems. Try to hard-reload the page (Ctrl+F5).
Still doesn't work, I'll try again in a few days,
Thanks for your help
Just want to throw a thank you to Gintaras, this script is so useful to me.  Saved a lot of time to google translate and OCR. 
[Image: srM98EP.png]

Hi Gintaras, Can this script be complied to an exe? I think my friend will definitely love it. It's so useful and powerful.  Big Grin
Quote:Can this script be complied to an exe?

Yes. Import the updated code.
Hi Gintaras, I have tried to import the new code but it seems there was an error occurs. There is only one file in the folder which is named "Translate UI element text.cs", I think the other two were missed. Please have a look into the code. Thanks
[Image: vkWjXnK.png]
I forgot to post these files. Import the attached
Hi Gintaras, Could you please add a drop-down list to select source language and target language? It would be very helpful and flexible that way. Now I have to compile several different versions of exe? Thanks!
Added settings dialog. Languages can be changed there.
This is just amazing! LA is too powerful. You shouldn't take it as free!?

Forum Jump:

Users browsing this thread: 1 Guest(s)