Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if direction == "<"
- # https://en.wikipedia.org/wiki/ISO_639-1 on how to set your target lang
- # Default: lang="en" which means to english
- def translateIt(words, check=false, lang="en")
- return File.binread("_translate") if File.file?("_translate") and !words and check
- error = false
- if Thread.main["bing_aid"] and !check
- appId = Thread.main["bing_aid"]
- return nil if words.strip == ""
- words = URI::encode(words)
- language = eat("https://api.microsofttranslator.com/V2/Ajax.Svc/Detect?text=\"#{words}\"&appId=#{appId}").gsub(/[\W]/,"") rescue (error = true)
- return nil if !language
- return translateIt(words,true) if language["ArgumentException: The token has expired"]
- transl = eat("https://api.microsofttranslator.com/V2/Ajax.Svc/Translate?text=\"#{words}\"&from=\"#{language}\"&to=\"#{lang}\"&appId=#{appId}") rescue (error = true)
- return !error ? transl.gsub(/[^\w\s\']/,"") : nil
- elsif check
- appId = eat("https://ssl.microsofttranslator.com/ajax/v3/WidgetV3.ashx?siteData=ueOIGRSKkd965FeEGM5JtQ**")[/\{appId\:\'(.*?)'/,1] rescue (error = true)
- File.binwrite("_translate",appId) if !error
- translateIt(words,false) if words and !error
- return !error ? appId : nil
- end
- return nil
- end
- if decoy["done"]
- Thread.main["bing_aid"] = translateIt(false,true) if !Thread.main["bing_aid"]
- if data.getAttr("t").class == String
- if data.tag?("m")
- if data.getAttr("t")[0] != "/"
- Thread.new(decoy) do |decoy|
- ndata = deepCopy(data)
- trans = ndata.getAttr("t").gsub(/\([^()]*?\)/,"").strip
- trans = translateIt(CGI::unescapeHTML(trans)) if trans != ""
- ndata.setAttr("t","[Bing Translate] #{trans}") if trans.class == String and trans != ""
- decoy["<"].print(ndata) if trans.class == String and trans != ""
- ndata = nil
- end
- end
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment