topbanner_forum
  *

avatar image

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length
  • Thursday December 12, 2024, 7:18 am
  • Proudly celebrating 15+ years online.
  • Donate now to become a lifetime supporting member of the site and get a non-expiring license key for all of our programs.
  • donate

Author Topic: Boomerang still not working  (Read 9789 times)

apollyon094

  • Participant
  • Joined in 2020
  • *
  • default avatar
  • Posts: 1
    • View Profile
    • Donate to Member
Boomerang still not working
« on: May 04, 2020, 12:06 AM »
Is Mouser ever going to patch this? It was a really fun program and useful but due to new API changes it broke. I have fond memories of this piece of software and it's a pain to manually translate through a bunch of languages.

hornet

  • Charter Member
  • Joined in 2005
  • ***
  • Posts: 29
    • View Profile
    • Donate to Member
Re: Boomerang still not working
« Reply #1 on: May 05, 2020, 02:15 AM »
As an Aussie, all I can say is "just throw it" and it should come back to you. :-[

ridhmax

  • Participant
  • Joined in 2020
  • *
  • default avatar
  • Posts: 2
    • View Profile
    • Donate to Member
Re: Boomerang still not working
« Reply #2 on: May 05, 2020, 06:48 AM »
I think its time to move on with better available alternatives boomerang is classic now

lyra

  • Participant
  • Joined in 2020
  • *
  • default avatar
  • Posts: 1
    • View Profile
    • Donate to Member
Re: Boomerang still not working
« Reply #3 on: August 11, 2020, 09:55 PM »
I think its time to move on with better available alternatives boomerang is classic now

What available alternatives are there? I tried looking and I couldn't find a program that does exactly what Boomerang does

kunkel321

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 602
    • View Profile
    • Donate to Member
Re: Boomerang still not working
« Reply #4 on: August 12, 2020, 10:51 AM »
What available alternatives are there? I tried looking and I couldn't find a program that does exactly what Boomerang does

You can try this if you're comfortable with AHK:

I actually used Boomerang at work to check the validity of things that I converted to Spanish.  My theory is that if it still makes sense when it's converted back to English, then the grammar must be pretty close.  When Boomerang stopped working I found this:
https://www.autohotk....php?f=5&t=40876
You can see my correspondence with Teadrinker, who wrote the actual working parts of the code.  It's actually Java code, but I use it inside of AHK. 


Code: Autohotkey [Select]
  1. ;############## https://autohotkey.com/boards/viewtopic.php?f=5&t=40876
  2.  
  3. Send, ^c
  4. {
  5.     MsgBox, There is nothing on the clipboard to translate.  Please select some text with the mouse, then try again.
  6.     return
  7. }
  8.  
  9. asEsp := GoogleTranslate(Clipboard, "en", "es")
  10. asEng := GoogleTranslate(asEsp, "es", "en")
  11.  
  12. MsgBox, ~~~~~~~~ As Spanish ~~~~~~~~`n%asEsp%`n`n`~~~~~~~ Back to English ~~~~~~~`n%asEng%`n`n~~~~~~~~~~~~~~~~~~~~~~~~~`n[Esc] to Cancel.`n[OK] to send translation to clipboard; then paste as needed via Ctrl+v
  13. Clipboard := asEsp
  14.  
  15. GoogleTranslate(str, from := "auto", to := "es")  {
  16.    static JS := GetJScripObject(), _ := JS.( GetJScript() ) := JS.("delete ActiveXObject; delete GetObject;")
  17.    
  18.    json := SendRequest(JS, str, to, from, proxy := "")
  19.    oJSON := JS.("(" . json . ")")
  20.  
  21.    if !IsObject(oJSON[1])  {
  22.       Loop % oJSON[0].length
  23.          trans .= oJSON[0][A_Index - 1][0]
  24.    }
  25.    else  {
  26.       MainTransText := oJSON[0][0][0]
  27.       Loop % oJSON[1].length  {
  28.          trans .= "`n+"
  29.          obj := oJSON[1][A_Index-1][1]
  30.          Loop % obj.length  {
  31.             txt := obj[A_Index - 1]
  32.             trans .= (MainTransText = txt ? "" : "`n" txt)
  33.          }
  34.       }
  35.    }
  36.    if !IsObject(oJSON[1])
  37.       MainTransText := trans := Trim(trans, ",+`n ")
  38.    else
  39.       trans := MainTransText . "`n+`n" . Trim(trans, ",+`n ")
  40.  
  41.    from := oJSON[2]
  42.    trans := Trim(trans, ",+`n ")
  43.    Return trans
  44. }
  45.  
  46. SendRequest(JS, str, tl, sl, proxy) {
  47.    ComObjError(false)
  48.    http := ComObjCreate("WinHttp.WinHttpRequest.5.1")
  49.    ( proxy && http.SetProxy(2, proxy) )
  50.    http.open( "POST", "https://translate.google.com/translate_a/single?client=t&sl="
  51.       . sl . "&tl=" . tl . "&hl=" . tl
  52.       . "&dt=at&dt=bd&dt=ex&dt=ld&dt=md&dt=qca&dt=rw&dt=rm&dt=ss&dt=t&ie=UTF-8&oe=UTF-8&otf=1&ssel=3&tsel=3&pc=1&kc=2"
  53.       . "&tk=" . JS.("tk").(str), 1 )
  54.  
  55.    http.SetRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=utf-8")
  56.    http.SetRequestHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0")
  57.    http.send("q=" . URIEncode(str))
  58.    http.WaitForResponse(-1)
  59.    Return http.responsetext
  60. }
  61.  
  62. URIEncode(str, encoding := "UTF-8")  {
  63.    VarSetCapacity(var, StrPut(str, encoding))
  64.    StrPut(str, &var, encoding)
  65.  
  66.    While code := NumGet(Var, A_Index - 1, "UChar")  {
  67.       bool := (code > 0x7F || code < 0x30 || code = 0x3D)
  68.       UrlStr .= bool ? "%" . Format("{:02X}", code) : Chr(code)
  69.    }
  70.    Return UrlStr
  71. }
  72.  
  73. GetJScript()
  74. {
  75.    script =
  76.    (
  77.       var TKK = ((function() {
  78.         var a = 561666268;
  79.         var b = 1526272306;
  80.         return 406398 + '.' + (a + b);
  81.       })());
  82.  
  83.       function b(a, b) {
  84.         for (var d = 0; d < b.length - 2; d += 3) {
  85.             var c = b.charAt(d + 2),
  86.                 c = "a" <= c ? c.charCodeAt(0) - 87 : Number(c),
  87.                 c = "+" == b.charAt(d + 1) ? a >>> c : a << c;
  88.             a = "+" == b.charAt(d) ? a + c & 4294967295 : a ^ c
  89.         }
  90.         return a
  91.       }
  92.  
  93.       function tk(a) {
  94.           for (var e = TKK.split("."), h = Number(e[0]) || 0, g = [], d = 0, f = 0; f < a.length; f++) {
  95.               var c = a.charCodeAt(f);
  96.               128 > c ? g[d++] = c : (2048 > c ? g[d++] = c >> 6 | 192 : (55296 == (c & 64512) && f + 1 < a.length && 56320 == (a.charCodeAt(f + 1) & 64512) ?
  97.               (c = 65536 + ((c & 1023) << 10) + (a.charCodeAt(++f) & 1023), g[d++] = c >> 18 | 240,
  98.               g[d++] = c >> 12 & 63 | 128) : g[d++] = c >> 12 | 224, g[d++] = c >> 6 & 63 | 128), g[d++] = c & 63 | 128)
  99.           }
  100.           a = h;
  101.           for (d = 0; d < g.length; d++) a += g[d], a = b(a, "+-a^+6");
  102.           a = b(a, "+-3^+b+-f");
  103.           a ^= Number(e[1]) || 0;
  104.           0 > a && (a = (a & 2147483647) + 2147483648);
  105.           a `%= 1E6;
  106.           return a.toString() + "." + (a ^ h)
  107.       }
  108.    )
  109.    Return script
  110. }
  111.  
  112. GetJScripObject()  {
  113.    VarSetCapacity(tmpFile, (MAX_PATH := 260) << !!A_IsUnicode, 0)
  114.    DllCall("GetTempFileName", Str, A_Temp, Str, "AHK", UInt, 0, Str, tmpFile)
  115.    
  116.    (
  117.    <component>
  118.    <public><method name='eval'/></public>
  119.    <script language='JScript'></script>
  120.    </component>
  121.    ), % tmpFile
  122.    
  123.    JS := ObjBindMethod( ComObjGet("script:" . tmpFile), "eval" )
  124.    FileDelete, % tmpFile
  125.    Return JS
  126. }

Set it to a hotkey.  Once it's running, select some text, then use the hotkey.  It shows the text as Spanish, then converted back to English. 

Here is what it shows for the above top post.

---------------------------
Transpan.ahk
---------------------------
~~~~~~~~ As Spanish ~~~~~~~~
Mouser está cada vez va a arreglar esto? Fue un programa muy divertido y útil, pero debido a la nueva API cambia se rompió. Tengo buenos recuerdos de esta pieza de software y es un dolor de traducir de forma manual a través de un montón de idiomas.

~~~~~~~ Back to English ~~~~~~~
Mouser is ever going to fix this? It was a fun and useful program, but because of the new API changes broke. I have fond memories of this piece of software and it is a pain to translate manually through a lot of languages.

~~~~~~~~~~~~~~~~~~~~~~~~~
[Esc] to Cancel.
[OK] to send translation to clipboard; then paste as needed via Ctrl+v
---------------------------
OK   
---------------------------

Hopefully I'm not jinxing to whole darn thing by sharing, but [fingers crossed] it's worked flawlessly for 5 years! 

treefrog

  • Participant
  • Joined in 2005
  • *
  • default avatar
  • Posts: 5
    • View Profile
    • Donate to Member
Re: Boomerang still not working
« Reply #5 on: April 15, 2021, 03:25 PM »
Is Mouser ever going to patch this? It was a really fun program and useful but due to new API changes it broke. I have fond memories of this piece of software and it's a pain to manually translate through a bunch of languages.
-apollyon094 (May 04, 2020, 12:06 AM)

Translator Boomerang was an excellent utility.  I still have v1.09 from 2010 and, what a pity, it isn't working.  If it's not going to be updated then is there anything else like it?

KodeZwerg

  • Honorary Member
  • Joined in 2018
  • **
  • Posts: 718
    • View Profile
    • Donate to Member
Re: Boomerang still not working
« Reply #6 on: April 16, 2021, 06:28 AM »
I do not know yet if I should release my Replica of Boomerang.
beta.pngBoomerang still not working
Thats how it look so far, begun yesterday to code it.

kunkel321

  • Supporting Member
  • Joined in 2009
  • **
  • Posts: 602
    • View Profile
    • Donate to Member
Re: Boomerang still not working
« Reply #7 on: April 16, 2021, 08:56 AM »
I do not know yet if I should release my Replica of Boomerang.
[ Invalid Attachment ]
Thats how it look so far, begun yesterday to code it.
Awesome! 

KodeZwerg

  • Honorary Member
  • Joined in 2018
  • **
  • Posts: 718
    • View Profile
    • Donate to Member
Re: Boomerang still not working
« Reply #8 on: April 16, 2021, 10:33 AM »
The problem will be how my app interact with translation api.
Screenshot - 16_04.pngBoomerang still not working
Those are the settings within my app that control the workflow.
But users will need to make a) Windows Live ID to make b) Bing API AppID. (my app need the Bing)
Further more, users must find out on own hows a good mix of shown options. (shown are my defaults)

...translation api is free for a few calls, not endless fun except you pay (not me! do not misunderstand that point!)

I guess in the end I have more problems to reply "how-to" "dont work" "what now" "why is it slow" etc questions than it is worth publishing.

At least the app works legal, I do not harm any TOS.

BTW I do have more fun listening "text-to-speak" than to actual translate ;-)
Example: English Text with Arabic vocals, so much fun hehehe

I might make a game of that feature "Guess the text" played at random vocals  :P
« Last Edit: April 16, 2021, 10:47 AM by KodeZwerg »