Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; Released under the GNU General Public License version 3+ by J2897.
- #NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
- ;#Warn ; Enable warnings to assist with detecting common errors.
- SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
- SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
- FileEncoding UTF-8 ; Converts text from files into Unicode format.
- ; Typing "{gt" will launch Google Translate.
- ; Typing "{np" will launch Naver Papago.
- ; Anything you type between curly braces will be automatically translated.
- ; The closing curly brace is what triggers the action.
- ; You need a username and password to use this service...
- ; https://console.bluemix.net/docs/services/language-translator/getting-started.html
- ; Other requirements...
- ; 1. curl: https://curl.haxx.se/download.html
- ; 2. JQ: https://stedolan.github.io/jq/download/
- ; 3. AutoHotkey v1.1.30.00: https://autohotkey.com/download/
- ; Note that, if a Spell Checker changes your words, those changes will not be recorded.
- LANGUAGES := "en-ko" ; Translate from and to: https://console.bluemix.net/docs/services/language-translator/identifiable-languages.html
- USERNAME := "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"
- PASSWORD := "XXXXXXXXXXXX"
- API := "https://gateway.watsonplatform.net/language-translator/api/v3/translate?version=2018-05-01"
- IBM_TRANSLATION_JSON := A_Temp "\IBM_Watson.json"
- IBM_TRANSLATION_TXT := A_Temp "\IBM_Watson.txt"
- CURL_EXE := "C:\Users\" A_UserName "\Programs\curl\bin\curl.exe"
- JQ_EXE := "C:\Users\" A_UserName "\Programs\jq\jq-win32.exe"
- MsgBox IBM Watson Language Translator AutoHotkey interface loaded.
- ~{::
- Input, UserInput, V T60 L400 C, {}}, np,gt
- if (ErrorLevel = "Max") {
- MsgBox, You entered "%UserInput%", which is the maximum length of text.
- return
- }
- if (ErrorLevel = "Timeout") {
- MsgBox, You entered "%UserInput%" at which time the input timed out.
- return
- }
- if (ErrorLevel = "NewInput")
- return
- If InStr(ErrorLevel, "EndKey:") {
- RunWait, cmd /c "%CURL_EXE% --user %USERNAME%:%PASSWORD% --request POST --header "Content-Type: application/json" --data "{\"text\": [\"%UserInput%\"]`, \"model_id\":\"%LANGUAGES%\"}" %API% >%IBM_TRANSLATION_JSON%"
- RunWait, cmd /c "type %IBM_TRANSLATION_JSON% | %JQ_EXE% -j .translations[].translation >%IBM_TRANSLATION_TXT%"
- FileReadLine, FF, %IBM_TRANSLATION_TXT%, 1
- UILengh := StrLen(UserInput) + 2
- Send, {backspace %UILengh%}{Text}%FF%
- clipboard = %FF%
- return
- }
- if (UserInput = "np") {
- Send, {backspace 3}
- Run, https://papago.naver.com
- }
- else if (UserInput = "gt") {
- Send, {backspace 3}
- Run, http://translate.google.com
- }
- return
- ; Reload after saving (CTRL+S).
- #ifwinactive, *C:\Users\John\Code\AHK\TranslatorIBM.ahk - Notepad++
- ~^s::
- Send, ^s
- Reload
- return
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement