class Mangle: def __init__(self): self.translator = Translator(client_id, client_secret) self.langs = self.translator.get_languages() def mangle(self, message_text, language='en', times=0): # If they didn't specify, pick a random number of # times to scramble. if times == 0: times = random.randint(low, high) for i in range(times): rand_lang = random.choice(self.langs) message_text = self.translator.translate(message_text, from_lang=language, to_lang=rand_lang) message_text = self.translator.translate(message_text, from_lang=rand_lang, to_lang=language) return message_text
def translate_bing(text, in_lang, out_lang, bot): if not bot.config.has_option('translate', 'bing_user') or not bot.config.has_option('translate', 'bing_pass'): return 'No se ha habilitado el uso de bing en este bot!' else: user = bot.config.translate.bing_user password = bot.config.translate.bing_pass translator = Translator(user, password) if in_lang == 'auto': return translator.translate(text, out_lang) else: return translator.translate(text, out_lang, in_lang)
def speakCaption(): filename = str(datetime.now()) + ".png" os.rename("./pepper_picture/now.png", "./pepper_picture/" + filename) print "Creating caption..." script = 'curl -F "file=@./pepper_picture/' + filename + '" localhost:8000' result = commands.getoutput(script).split("\n")[3] print result print "Translating..." translator = Translator('Your client ID', 'Your client secret') #change this line result = translator.translate(result, "ja") print result print "Creating wav.file with Rospeex and preparing speech..." tts_command = { "method":"speak", "params":["1.1", {"language":"ja","text":result,"voiceType":"*","audioType":"audio/x-wav"}]} obj_command = json.dumps(tts_command) # string to json object req = urllib2.Request(tts_url, obj_command) received = urllib2.urlopen(req).read() # get data from server obj_received = json.loads(received) tmp = obj_received['result']['audio'] # extract result->audio speech = base64.decodestring(tmp.encode('utf-8')) f = open ("./result_voice/out.wav",'wb') f.write(speech) f.close commands.getoutput('aplay ./result_voice/out.wav')
def translate_text(request): language_from = request.GET.get('from', None) language_to = request.GET.get('to', None) text = request.GET.get('text', None) if language_from == language_to: data = {'success': True, 'translation': text} else: # run the translation: if getattr(rosetta_settings, 'GOOGLE_TRANSLATE', False): import goslate translator = goslate.Goslate() else: AZURE_CLIENT_ID = getattr(settings, 'AZURE_CLIENT_ID', None) AZURE_CLIENT_SECRET = getattr(settings, 'AZURE_CLIENT_SECRET', None) translator = Translator(AZURE_CLIENT_ID, AZURE_CLIENT_SECRET) try: translated_text = translator.translate(text, language_to, language_from) data = {'success': True, 'translation': translated_text} except TranslateApiException as e: data = {'success': False, 'error': "Translation API Exception: {0}".format(e.message)} return HttpResponse(json.dumps(data), content_type='application/json')
def translate(entities): message = "" try: text_for_translation = entities['phrase_to_translate'][0]['value'] lang = entities['language'][0]['value'].lower() language = "" if lang == "spanish": language = "es" elif lang == "french": language = "fr" elif lang == "german": language = "de" elif lang == "chinese": language = "zh-CHS" else: message = "We don't support translation to " + lang + " as of now. Check back later as support is being added." return message message = "\"" + text_for_translation + "\" in " + lang + " is \'" translator = Translator( 'SMSAssistant', 'fhV+AdYFiK0QfQ4PFys+oQ/T0xiBBVQa32kxxbP55Ks=') message += translator.translate(text_for_translation, language) + "\'" if test_mode: send_sms_to_admin(message) except: message = technical_issues() return message
def translate_text(request): language_from = request.GET.get('from', None) language_to = request.GET.get('to', None) text = request.GET.get('text', None) if language_from == language_to: data = {'success': True, 'translation': text} else: # run the translation: AZURE_CLIENT_ID = getattr(settings, 'AZURE_CLIENT_ID', None) AZURE_CLIENT_SECRET = getattr(settings, 'AZURE_CLIENT_SECRET', None) translator = Translator(AZURE_CLIENT_ID, AZURE_CLIENT_SECRET) try: translated_text = translator.translate(text, language_to, language_from) data = {'success': True, 'translation': translated_text} except TranslateApiException as e: data = { 'success': False, 'error': "Translation API Exception: {0}".format(e.message), } return JsonResponse(data)
def translate(text, from_lang="zh", to_lang=None, max_nb_lines=None): u'''Translate to a different language. Eg: '你好' becomes 'Hello' Only installed dictionaries can be used. to_lang possible values : CEDICT, HanDeDict, CFDICT, or 2-letter ISO language code for MS Translate if to_lang is unspecified, the default language will be used. ''' global MS_translator_object if "" == text: return "" if None == to_lang: to_lang = chinese_support_config.options["dictionary"] if "None" == to_lang: return "" if to_lang in ["CEDICT", "CFDICT", "HanDeDict"]: #Local dict return translate_local(text, from_lang, to_lang, max_nb_lines) else: #Ms translate if None == MS_translator_object: MS_translator_object = MSTranslator( "chinese-support-add-on", "Mh+X5YY17LZZ8rO9hzJXYD3I02V3E+ltItF15ep7qG8=") try: return MS_translator_object.translate(text, to_lang) except: return ""
def translate(text, from_lang="zh", to_lang=None, max_nb_lines=None): u'''Translate to a different language. Eg: '你好' becomes 'Hello' Only installed dictionaries can be used. to_lang possible values : CEDICT, HanDeDict, CFDICT, or 2-letter ISO language code for MS Translate if to_lang is unspecified, the default language will be used. ''' global MS_translator_object if "" == text: return "" if None == to_lang: to_lang = chinese_support_config.options["dictionary"] if "None" == to_lang: return "" if to_lang in ["CEDICT", "CFDICT", "HanDeDict"]: #Local dict return translate_local(text, from_lang, to_lang, max_nb_lines) else: #Ms translate if None == MS_translator_object: MS_translator_object = MSTranslator("chinese-support-add-on", "Mh+X5YY17LZZ8rO9hzJXYD3I02V3E+ltItF15ep7qG8=") try: return MS_translator_object.translate(text, to_lang) except: return ""
def translate_text(request): if RosettaSettings.instance().readonly: data = {'success': False, 'error': 'System in readonly mode. Please try later.'} else: language_from = request.GET.get('from', None) language_to = request.GET.get('to', None) text = request.GET.get('text', None) if language_from == language_to: data = {'success': True, 'translation': text} else: # run the translation: AZURE_CLIENT_ID = getattr(settings, 'AZURE_CLIENT_ID', None) AZURE_CLIENT_SECRET = getattr(settings, 'AZURE_CLIENT_SECRET', None) translator = Translator(AZURE_CLIENT_ID, AZURE_CLIENT_SECRET) try: translated_text = translator.translate(text, language_to, language_from) data = {'success': True, 'translation': translated_text} except TranslateApiException as e: data = {'success': False, 'error': "Translation API Exception: {0}".format(e.message)} return HttpResponse(json.dumps(data), content_type='application/json')
def translate_text(request): language_from = request.GET.get('from', None) language_to = request.GET.get('to', None) text = request.GET.get('text', None) if language_from == language_to: data = {'success': True, 'translation': text} else: # run the translation: if getattr(rosetta_settings, 'GOOGLE_TRANSLATE', False): import goslate translator = goslate.Goslate() else: AZURE_CLIENT_ID = getattr(settings, 'AZURE_CLIENT_ID', None) AZURE_CLIENT_SECRET = getattr(settings, 'AZURE_CLIENT_SECRET', None) translator = Translator(AZURE_CLIENT_ID, AZURE_CLIENT_SECRET) try: translated_text = translator.translate(text, language_to, language_from) data = {'success': True, 'translation': translated_text} except TranslateApiException as e: data = { 'success': False, 'error': "Translation API Exception: {0}".format(e.message) } return HttpResponse(json.dumps(data), content_type='application/json')
def _meal(self, msg, *args): """Displays a 'enjoy your meal' message in a random language""" rand_lang = self._get_random_lang() meal = 'Enjoy your meal' translator = Translator(self._trans_client_id, self._trans_client_sec) translated = translator.translate(meal, rand_lang[0]) return '{} (translated to {})'.format(translated, rand_lang[1])
def translate(self): #prepare the translate environment translator = Translator(self.client_id, self.client_secret) #prepare the phantom server driver = webdriver.PhantomJS() print("server ready") for i in range(1, self.linkcount + 1): link = self.weblinkdic[i] driver.get(link) time.sleep(3) print("get link") description = driver.find_element_by_tag_name("body").text print(link) g = open("../translate/" + str(i) + ".txt", 'w+') for line in description.split('\n'): if len(line) > 5: line = line.strip() try: trans_line = translator.translate(line, 'zh-CHS', 'en') except: sys.exit("Error message") g.write(line + '\n') g.write(trans_line + '\n') g.close() driver.close() return
def translate(self): #prepare the translate environment client_id = self.variable.get() client_secret = self.userpasswd[client_id] translator = Translator(client_id, client_secret) #prepare the phantom server driver = webdriver.PhantomJS() for i in range(1,2): link = self.weblinkdic[i] driver.get(link) time.sleep(3) description = driver.find_element_by_tag_name("body").text #find_element_by_id #find_element_by_css_selector print(link) g = open("../translate/" +str(i)+".txt", 'w+') for line in description.split('\n'): if len(line)>5: line = line.strip() try: trans_line = translator.translate(line, 'zh-CHS', 'en') except: sys.exit("Error message") g.write(trans_line + '\n') g.close() driver.close() return
def call_translate_method(self, text, from_language, to_language): # This is supposed to be secret. I'm not really worried unless we distribute this thing. translator = Translator("HypeBot", "6QvARrt7O0/JPsUeNRDeixHIGozNb6O7Gd5cFjFLjYU=") if from_language == None: from_language = translator.detect_language(text=text) if to_language == None: to_language = 'en' # Assume English return translator.translate(text=text, to_lang=to_language, from_lang=from_language)
def run_command(msg, *args): """Displays a 'enjoy your meal' message in a random language""" lang_code, country = jabberbot.locale.random() meal = 'Enjoy your meal' translator = Translator(trans_client_id, trans_client_sec) translated = translator.translate(meal, lang_code) meal = '{} (translated to {})'.format(translated, country) return 'groupchat', meal
def send(): with sqlite3.connect("sample.db") as connection: c = connection.cursor() cht = request.form['msg'] translator = Translator('rk', os.environ['CLIENT_KEY']) p = translator.translate(cht, "hi") t = time.strftime("%Y-%m-%d %H:%M:%S") c.execute("INSERT INTO chats(chat, time, name) VALUES(?, ?, ?)", (p, t,session.get('logged_in_user'))) return "Ok"
def example_mstranslator(): """ Ref: https://github.com/wronglink/mstranslator/blob/master/mstranslator.py """ from mstranslator import Translator translator = Translator('ecnu_translator', 'sc6x4pJQDBtyqmGhhRmOknjeeXcL1YGBUTkvZLtn62k=') print(translator.translate('Привет, мир!', lang_from='ru', lang_to='en'))
def get(parameter, channel, author, folder): if not parameter: return None params = parameter.split(" ",2) client = Translator(config.AZURE_CLIENT_ID, config.AZURE_CLIENT_SECRET) try: return client.translate(params[2].decode("utf-8"), params[1], from_lang=params[0]).encode("utf-8") except: return "Viga! Kasutamine: !trans lähtekeelekood sihtkeelekood tekst"
def C3POTranslate(c3pouser, c3pomessage, c3pochannel): translator = Translator('c3po', 'KgKKwR+UILpk0IUlZ0VaZTtBbOrXFqzsgit8y8jNK3M=') message = c3pomessage.split(' ', 1)[1] language = 'en' translated = translator.translate(message, language) print sc.api_call("chat.postMessage", as_user="******", channel=c3pochannel, text=translated)
class TranslateBing: def __init__(self, logger): self.bing = Translator('l2a', '9W6zDb3DBJ77SCjWPOHZsp5y75j5gJvu0z0pjn9zdHk=') self.logger = logger.getChild(__name__) def translate(self, source, to_lang=None): self.logger.debug(source) if (not to_lang): to_lang = "ja" if self.bing.detect_language( source) == "en" else "en" return (self.bing.translate(source, to_lang))
def post_request(): # request.formにPOSTデータがある source = request.form["source"] df=pd.read_csv("secret_bing_translate.csv", header=None) NAME_TRANS = df[0][0] KEY_TRANS = df[0][1] translator = Translator(NAME_TRANS, KEY_TRANS) to_lang = request.form["to_lang"] from_lang = request.form["from_lang"] result = translator.translate(source, to_lang, from_lang) global firstevent histories[source] = result return render_template('index.html', message="翻訳結果", source = source, result=result, histories = histories)
def _birthday(self, msg, *args): """Sends a happy birthday in an random language greeting You can add a nickname: bday <nick> """ rand_lang = self._get_random_lang() greet = 'Happy birthday to you' translator = Translator(self._trans_client_id, self._trans_client_sec) translated = translator.translate(greet, rand_lang[0]) if args: return '{} @{} (translated to {})'.format(translated, ' '.join(args), rand_lang[1]) return '{} (translated to {})'.format(translated, rand_lang[1])
def run_command(msg, *args): """Sends a happy birthday in an random language greeting You can add a nickname: bday <nick> """ lang_code, country = jabberbot.locale.random() greet = 'Happy birthday to you' translator = Translator(trans_client_id, trans_client_sec) translated = translator.translate(greet, lang_code) mtype = 'groupchat' if args: return mtype, '{} @{} (translated to {})'.format( translated, ' '.join(args), country) return mtype, '{} (translated to {})'.format(translated, country)
class BingTranslator: def __init__(self): client_id = os.environ.get("BING_TRANSLATION_CLIENT_ID", "gigaware123") client_secret = os.environ.get("BING_TRANSLATION_SECRET", "Dp3afp41sR/sDsKRK3uWPt2i4WbAKqKB5q6RhCI9a1Q=") if not client_id or not client_secret: raise Exception("bing translation client id or client secret not found") self.translator = Translator(client_id, client_secret) def translate(self, untranslated, target_language): return self.translator.translate(untranslated, target_language, from_lang='en') def translate_all(self, untranslated, target_language): return self.translator.translate_array(untranslated, target_language, from_lang='en')
def read_entry(entry): session_attributes = {} reprompt_text = None should_end_session = True speech_output = '' translator = Translator('wykopalexa', 'Y3ThYcaJRUm0Y2zfF0oTlz92c3UDIaDKup+KD7Ror3k=') entryText = re.sub('<[^<]+?>', '', entry['body']) speech_output = translator.translate(entryText, 'en-us', 'pl') return build_response( session_attributes, build_speechlet_response('wykop', speech_output, reprompt_text, should_end_session))
class MSTranslator(): def __init__(self, client_id, client_secret): self.client_id = client_id self.client_secret = client_secret self.translator = Translator(client_id, client_secret) def detect(self, text): code = self.translator.detect_language(text) lang = Language(code) return lang def translate(self, text, target_lang="ja"): translated_text = self.translator.translate(text, target_lang) return translated_text
def translate_Bing(text): ''' This method translates a text string to english with the Microsoft Bing_translator. Note that this translator only translates 2.000.000 Letters / Month for free using a Microsoft account and the registered client with secret. :param text: String that is to be translated :return: english translation of the text ''' client_id = 'EuropenaTranslator' client_secret = 'iAcywBlP37WpSs/qxNVdlCOjVXYSti+L9YTUvBx4ets=' translator = Translator(client_id, client_secret) text4translation = translator.translate(text, 'en') return text4translation
def translate(entities): phrase_to_translate = entities.get('phrase_to_translate')[0].get('value') message = "" if entities.get('language') == None: message = "Language not supported" else: language = entities.get('language')[0].get('value') language = language.lower() if language == "chinese" or language == "zh-CHS": language = "zh-CHS" elif language == "dutch" or language == "nl": language = "nl" elif language == "english" or language == "en": language = "en" elif language == "french" or language == "fr": language = "fr" elif language == "german" or language == "de": language = "de" elif language == "italian" or language == "it": language = "it" elif language == "japanese" or language == "ja": language = "ja" elif language == "korean" or language == "ko": language = "ko" elif language == "portuguese" or language == "pt": language = "pt" elif language == "russian" or language == "ru": language = "ru" elif language == "spanish" or language == "es": language = "es" elif language == "swedish" or language == "sv": language = "sv" elif language == "thai" or language == "th": language = "th" elif language == "vietnamese" or language == "vi": language = "vi" else: message = "Language not supported" if message != "Language not supported": translator = Translator('SMSAssistant', 'fhV+AdYFiK0QfQ4PFys+oQ/T0xiBBVQa32kxxbP55Ks=') message = translator.translate(phrase_to_translate, language) resp = twilio.twiml.Response() # print message resp.message(message) return resp
def speakCaption(): filename = str(datetime.now()) + ".png" os.rename("./pepper_picture/now.png", "./pepper_picture/" + filename) print "Creating caption..." script = 'curl -F "file=@./pepper_picture/' + filename + '" localhost:8000' result = commands.getoutput(script).split("\n")[3] print result print "Translating..." translator = Translator('Your client ID', 'Your client secret') #change this line result = translator.translate(result, "ja") print result print "Creating wav.file with Rospeex and preparing speech..." tts_command = { "method": "speak", "params": [ "1.1", { "language": "ja", "text": result, "voiceType": "*", "audioType": "audio/x-wav" } ] } obj_command = json.dumps(tts_command) # string to json object req = urllib2.Request(tts_url, obj_command) received = urllib2.urlopen(req).read() # get data from server obj_received = json.loads(received) tmp = obj_received['result']['audio'] # extract result->audio speech = base64.decodestring(tmp.encode('utf-8')) f = open("./result_voice/out.wav", 'wb') f.write(speech) f.close commands.getoutput('aplay ./result_voice/out.wav')
def translate(text, from_lang="zh", to_lang=None, progress_bar=True): u'''Translate to a different language. Eg: '你好' becomes 'Hello' Only installed dictionaries can be used. to_lang possible values : "local_en", "local_de", "local_fr" or a 2-letter ISO language code for MS Translate if to_lang is unspecified, the default language will be used. if progress_bar is True, then will display a progress bar. ''' global MS_translator_object text = cleanup(text) if "" == text: return "" if None == to_lang: to_lang = chinese_support_config.options["dictionary"] if "None" == to_lang: return "" if to_lang.startswith("local_"): #Local dict return translate_local(text, to_lang[-2:]) else: #Ms translate ret = "" if progress_bar: mw.progress.start(label="MS Translator lookup", immediate=True) if None == MS_translator_object: MS_translator_object = MSTranslator( "chinese-support-add-on", "Mh+X5YY17LZZ8rO9hzJXYD3I02V3E+ltItF15ep7qG8=") try: ret = MS_translator_object.translate(text, to_lang) except: pass if "ArgumentException:" == ret[:18]: #Token has probably expired ret = "" if progress_bar: mw.progress.finish() return ret
def translate(text, from_lang="zh", to_lang=None, progress_bar=True): u'''Translate to a different language. Eg: '你好' becomes 'Hello' Only installed dictionaries can be used. to_lang possible values : "local_en", "local_de", "local_fr" or a 2-letter ISO language code for MS Translate if to_lang is unspecified, the default language will be used. if progress_bar is True, then will display a progress bar. ''' global MS_translator_object text = cleanup(text) if "" == text: return "" if None == to_lang: to_lang = chinese_support_config.options["dictionary"] if "None" == to_lang: return "" if to_lang.startswith("local_"): #Local dict return translate_local(text, to_lang[-2:]) else: #Ms translate ret = "" if progress_bar: mw.progress.start(label="MS Translator lookup", immediate=True) if None == MS_translator_object: MS_translator_object = MSTranslator("chinese-support-add-on", "Mh+X5YY17LZZ8rO9hzJXYD3I02V3E+ltItF15ep7qG8=") try: ret = MS_translator_object.translate(text, to_lang) except: pass if "ArgumentException:" == ret[:18]: #Token has probably expired ret="" if progress_bar: mw.progress.finish() return ret
def translate(self): #prepare the translate environment client_id = self.variable.get() client_secret = self.userpasswd[client_id] translator = Translator(client_id, client_secret) #prepare the phantom server #driver = webdriver.PhantomJS() #print("server ready") for i in range(1, 20): link = self.weblinkdic[i] try: html = urlopen(link) bsObj = BeautifulSoup(html.read()) description = bsObj.p.get_text().encode('utf-8') print(description) print(link) g = open("../translate/" + str(i) + ".txt", 'w+') for line in description.split('\n'): if len(line) > 5: line = line.strip() try: trans_line = translator.translate( line, 'zh-CHS', 'en') g.write(trans_line + '\n') except: sys.exit("Error message") g.close() except: sys.exit("Error Message") return
def translate(): #missingword = request.form['missingword'] #to_language = request.form['to_language'] missingword = 'envelope' to_language = 'ja' #from_language = request.form['from_language'] #翻訳 print '1step' translator = Translator('skeven', 'vizaHdZEjZkP0ZdL/B3CQ0UO9yzsgmTT2hDtuvJFdL0=') # from_languageは自動的に判別されるので指定する必要が無い translated_word = translator.translate(missingword, to_language) print '2step' #translated_word = translator.translate("Hello", "ja") # Registering Word to DB(CSV?) languagetype = translator.detect_language(missingword) print '3step' inlinecsv = languagetype + '$YIN$' + missingword + '$YIN$' + to_language + "$YIN$" + translated_word + '\n' print inlinecsv f = open('./word/addinfo_dictionary_utf8.txt', 'a') f.write(inlinecsv.encode('utf-8')) f.close() return translated_word;
def test_invalid_client_id(self): client = Translator("foo", "bar") with self.assertRaises(TranslateApiException): client.translate("hello", "pt")
def test_translate_array(self): client = Translator(client_id, client_secret, debug=True) self.assertEqual(client.translate("hello", "pt"), u'Ol\xe1')
def _handle_timeline_notification(self, data): """Handle timeline notification.""" for user_action in data.get('userActions', []): if user_action.get('type') == 'SHARE': # Fetch the timeline item. item = self.mirror_service.timeline().get(id=data['itemId']).execute() attachments = item.get('attachments', []) media = None if attachments: # Get the first attachment on that timeline item and do stuff with it. attachment = self.mirror_service.timeline().attachments().get( itemId=data['itemId'], attachmentId=attachments[0]['id']).execute() resp, content = self.mirror_service._http.request( attachment['contentUrl']) if resp.status == 200: media = MediaIoBaseUpload( io.BytesIO(content), attachment['contentType'], resumable=True) else: logging.info('Unable to retrieve attachment: %s', resp.status) body = { 'text': 'Echoing your shared item: %s' % item.get('text', ''), 'notification': {'level': 'DEFAULT'} } self.mirror_service.timeline().insert( body=body, media_body=media).execute() # Only handle the first successful action. break if user_action.get('type') == 'REPLY': reply_id = data['itemId'] result = self.mirror_service.timeline().get(id=reply_id).execute() origional_txt = result.get('text'); translator = Translator(client_id, client_secret) translate_txt = translator.translate(origional_txt, "zh-CHS") logging.info('here!!!!!!!!!!!!!!!!') oauth_url = 'https://datamarket.accesscontrol.windows.net/v2/OAuth2-13' oauth_junk = json.loads(requests.post(oauth_url,data=urllib.urlencode(args)).content) headers={'Authorization': 'Bearer '+oauth_junk['access_token']} translation_url = "http://api.microsofttranslator.com/V2/Http.svc/Speak?" request_string = '%stext=%s&language=zh-CHS&format=audio/mp3' % (translation_url,translate_txt) translation_result = requests.get(request_string,headers=headers) reply_id = data['itemId'] ###logging.info('translation_result is %s' ,translation_result.content) audio = translation_result.content audio_media = MediaIoBaseUpload(io.BytesIO(audio), mimetype='video/mp4', resumable=True) logging.info('%s is translated to %s' % (origional_txt, translate_txt)) ###clent.query_example() body = { 'bundleId': 'words_with_glass', 'menuItems': [{'action': 'DELETE'}], 'text': translate_txt, 'notification': {'level': 'DEFAULT'} } new_item = self.mirror_service.timeline().insert(body=body, media_body = audio_media).execute() logging.info("new_item %s", new_item) attachment_link = None attachment_link = self.get_attachment_link(new_item) ###attachment_link = 'URL: %s %s ' %(data['itemId'], attachments[0]['id']) logging.info(attachment_link) self.save_entry(origional_txt, translate_txt, str(attachment_link)) new_template = { 'original': origional_txt, 'translated': translate_txt, 'audio': attachment_link } self._insert_item(new_template) logging.info('attachments url is: %s', attachment_link) break # if user_action.get('type') == 'CUSTOM': # logging.info("*** CUSTOM notify received") # break else: logging.info( "I don't know what to do with this notification: %s", user_action)
for i in range(0,len(textos)): dicionario[ textos[i].contents[0].lower() ] = float(polaridade[i].contents[0]) assert dicionario['december'] == 0.611 tradutor = Translator("0ef986af-2384-4257-9562-8aa9ac02abb5","8iDU8Hv04E4bQXTCCFvL1oj/RIITad3yX8TYxx+UC4o=") #Testa se o tradutor esta funcionando #assert tradutor.translate(unicode("Olá","utf-8"), 'en', 'pt') == "Hello" arq_out = open('senticnet_pt.txt','a') dicionario_pt = {} texto = [] i = 0 for palavra in dicionario.keys(): try: if i >= 200: tradutor = Translator("0ef986af-2384-4257-9562-8aa9ac02abb5","8iDU8Hv04E4bQXTCCFvL1oj/RIITad3yX8TYxx+UC4o=") i = 0 palavra_pt = tradutor.translate(palavra, 'pt', 'en') dicionario_pt[palavra_pt] = dicionario[palavra] text = "%s\t%s\n"%(palavra_pt, dicionario[palavra]) arq_out.write(text) print "%s\t%s\n"%(palavra, palavra_pt) time.sleep(2) i = i + 1 except UnicodeEncodeError: print "erro codificacao" continue arq.close()
# -*- coding: utf-8 -*- from microsofttranslator import Translator translator = Translator('celiacPass', '+gpq62pRXYbq0eAQVb6RhvO4qUpCZKGdaSi+Prov/og=') languages = translator.get_languages() f = open('country_codes_to_countries.txt') codeToTranslation = {} for line in f: code = line.split(' ')[0] codeToTranslation[code] = translator.translate('I have Celiac Disease, a very serious intolerance to gluten, which is found in wheat, oats, barley and rye.', code) print codeToTranslation
#!/usr/bin/env python # -*- coding: utf-8 -*- from microsofttranslator import Translator # if this fails, do: # sudo easy_install microsofttranslator from ref_definitions2 import read_all_the_files translator = Translator('finalproj', 'LZTVKNyxQEjmIUbMWp1HhkN4x9XkIbnT6fHhaJfLFmo=') #print translator.translate('你好'.decode('utf8'), 'en', 'zh-CHT') (chinese_sentences, english_sentences) = read_all_the_files() of = open('bing_translations.txt', 'w') for chinese_sent in chinese_sentences: chinese_sent = ''.join([x for x in chinese_sent if x != ' ']) print >> of, chinese_sent print >> of, translator.translate(chinese_sent.decode('utf8'), 'en', 'zh-CHT').encode('utf-8') print >> of, '=========='
newString = temp openners = [] closers = [] # Find all strings for x in range(len(temp)): if temp[x] == '>': openners.append(x+1) elif temp[x] == '<': closers.append(x) # Convert language for x in range(len(openners)-1): if(len(temp[openners[x]:closers[x+1]].strip())>0): translatedText = translator.translate(temp[openners[x]:closers[x+1]], SPANISH) print (temp[openners[x]:closers[x+1]] + " <> " + translatedText) newString = newString.replace(temp[openners[x]:closers[x+1]], translatedText) remove_from_zip("%s/%s.odp" % (sys.argv[1],os.path.splitext(name)[0]), 'content.xml') with zipfile.ZipFile("%s/%s.odp" % (sys.argv[1],os.path.splitext(name)[0]), 'a') as z: z.writestr('content.xml',newString) except DocumentConversionException as exception: print("ERROR! " + str(exception)) exit(1) except ErrorCodeIOException as exception: print("ERROR! ErrorCodeIOException %d" % exception.ErrCode) exit(1)
from microsofttranslator import Translator import csv t = Translator("WWEB","ml7-win-wilson-eric-bernie") # ClientID,Client Secret words = open("words.csv").readlines() words = [ word.strip() for word in words ] with open("engToSpan.csv","w") as csvfile: writer = csv.writer(csvfile, delimiter="\n") for w in words: try: writer.writerow( [w + "," + t.translate(w,"es") .encode("utf-8")] ) except: pass
def translate(tag, language): """ returns lower-case tag translated into language """ translator = Translator(MS_CLIENT_ID, MS_SECRET_KEY) return translator.translate(tag, language).lower()
def translate(self, query, to): translator = Translator(self.translator_id,self.translator_key) return translator.translate(query, to)
def test_translate(self): client = Translator(client_id, client_secret, debug=True) self.assertEqual(client.translate("hello", "pt"), u'Ol\xe1')
class Mangle: def __init__(self, client_id, client_secret, language, low, high, language_blacklist): self.language = language self.translator = Translator(client_id, client_secret) self.languages = set( self.translator.get_languages()) - language_blacklist self.low = low self.high = high def mangle(self, message_text, times=0, method=None, language_list=None): if method == MangleMethod.manual and not language_list: raise ValueError("No language list given.") if method is None: method = random.sample( set(MangleMethod) - set([MangleMethod.manual]), 1)[0] if times < 0: raise ValueError("Parameter times must be greater than 0.") if times == 0: times = random.randint(self.low, self.high) if method == MangleMethod.manual: language_list.insert(0, self.language) language_list.append(self.language) elif method == MangleMethod.flipflop: language_list = [] language_list.append(self.language) for i in range(int(times / 2)): language_list.extend( [random.sample(self.languages, 1)[0], self.language]) elif method == MangleMethod.straight: language_list = [] language_list.append(self.language) language_list.extend(random.sample(self.languages, times)) language_list.append(self.language) else: raise NotImplementedError( "MangleMethod {} not implemented.".format(method)) all_messages = [message_text] for i in range(len(language_list)): if i == 0: continue try: text = self.translator.translate(all_messages[i - 1], from_lang=language_list[i - 1], to_lang=language_list[i]) all_messages.append(text) except Exception as e: all_messages = False break message_info = { 'method': str(method), 'languages': language_list, 'all_messages': all_messages } return message_info
from microsofttranslator import Translator import csv t = Translator("WWEB", "ml7-win-wilson-eric-bernie") # ClientID,Client Secret words = open("words.csv").readlines() words = [word.strip() for word in words] with open("engToSpan.csv", "w") as csvfile: writer = csv.writer(csvfile, delimiter="\n") for w in words: try: writer.writerow([w + "," + t.translate(w, "es").encode("utf-8")]) except: pass
class Translator: def __init__(self, developerKey='AIzaSyD-S4_2g1SRp4jucHpdLSBBq6xWhOsHcSI'): self.googleAPI = build('translate', 'v2', developerKey=developerKey) self.yandexAPI = YandexTranslate('trnsl.1.1.20160423T052231Z.a28f67a8074f04f8.0a0282fad14a1dfd13d21ed6ab55f0a0a61c2d3f') self.bingAPI = Bing_Translator('welcome_ciceron', 'VL9isREJUILWMCLE2hr75xVaePRof6kuGkCM+r9oTb0=') self.ciceronAPI = "http://221.142.31.56:{port}/translator/translate" def _googleTranslate(self, source_lang, target_lang, sentences): if (source_lang == 'ko' and target_lang == 'en') or \ (source_lang == 'en' and target_lang == 'ko'): result_google_jp = self.googleAPI.translations().list( source=source_lang, target='ja', q=sentences ).execute() if result_google_jp.get('translations') != None: inter_text = result_google_jp['translations'][0]['translatedText'] else: return False result_google = self.googleAPI.translations().list( source='ja', target=target_lang, q=inter_text ).execute() if result_google.get('translations') != None: result_text = result_google['translations'][0]['translatedText'] return result_text else: return False else: result_google = self.googleAPI.translations().list( source=source_lang, target=target_lang, q=sentences ).execute() if result_google.get('translations') != None: result_text = result_google['translations'][0]['translatedText'] return result_text else: return None def _ciceronTranslate(self, source_lang, target_lang, sentences): headers = {'content-type': 'application/json'} payload = {'src': sentences} if source_lang == 'en' and target_lang == 'ko': response = requests.post(self.ciceronAPI.format(port=7700), data=json.dumps(payload), headers=headers) elif source_lang == 'ko' and target_lang == 'en': response = requests.post(self.ciceronAPI.format(port=7710), data=json.dumps(payload), headers=headers) else: return None data = response.json() return data[0][0]['tgt'] def _bingTranslate(self, source_lang, target_lang, sentences): try: result_bing = self.bingAPI.translate(sentences, target_lang) return result_bing except Exception: traceback.print_exc() return None def _yandexTranslate(self, source_lang, target_lang, sentences): lang_FromTo = '%s-%s' % (source_lang, target_lang) result_yandex = self.yandexAPI.translate(sentences, lang_FromTo) if result_yandex.get('text') != None: return result_yandex['text'][0] else: return None def getCountryCode(self, country_id): if os.environ.get('PURPOSE') == 'PROD': DATABASE = "host=ciceronprod.cng6yzqtxqhh.ap-northeast-1.rds.amazonaws.com port=5432 dbname=ciceron user=ciceron_web password=noSecret01!" else: DATABASE = "host=aristoteles.ciceron.xyz port=5432 dbname=ciceron user=ciceron_web password=noSecret01!" conn = psycopg2.connect(DATABASE) cursor = conn.cursor() query = """SELECT google_code, yandex_code, bing_code FROM CICERON.D_LANGUAGES WHERE id = %s """ cursor.execute(query, (country_id, )) res = cursor.fetchone() if res is None or len(res) == 0: return False, None return True, {'google': res[0], 'yandex': res[1], 'bing': res[2]} def doWork(self, source_lang_id, target_lang_id, sentences): if len(sentences) > 1000: result_text = "한 문장에 1000글자가 넘어가면 초벌 번역이 불가능합니다. / It is imposiible to initial-translate if the length of the sentence is over 1000 characters." return True, {'google': result_text, 'bing': result_text, 'yandex': result_text} is_sourceId_OK, source_langCodeDict = self.getCountryCode(source_lang_id) is_targetId_OK, target_langCodeDict = self.getCountryCode(target_lang_id) if is_sourceId_OK == False or is_targetId_OK == False: fail_translation = "초벌 번역 처리가 불가능한 언어입니다. / Unsupported language." return False, {'google': fail_translation, 'bing': fail_translation, 'yandex': fail_translation} try: result_google = self._googleTranslate(source_langCodeDict['google'], target_langCodeDict['google'], sentences) except Exception: traceback.print_exc() result_google = "초벌번역 처리가 불가능한 문자가 삽입되었습니다. / Unsupported character is contained in the sentence." try: result_bing = self._bingTranslate(source_langCodeDict['bing'], target_langCodeDict['bing'], sentences) except Exception: traceback.print_exc() result_bing = "초벌번역 처리가 불가능한 문자가 삽입되었습니다. / Unsupported character is contained in the sentence." try: result_yandex = self._yandexTranslate(source_langCodeDict['yandex'], target_langCodeDict['yandex'], sentences) except Exception: traceback.print_exc() result_yandex = "초벌번역 처리가 불가능한 문자가 삽입되었습니다. / Unsupported character is contained in the sentence." try: result_ciceron = self._ciceronTranslate(source_langCodeDict['google'], target_langCodeDict['google'], sentences) except Exception: traceback.print_exc() result_yandex = "초벌번역 처리가 불가능한 문자가 삽입되었습니다. / Unsupported character is contained in the sentence." return True, {'google': result_google, 'bing': result_bing, 'yandex': result_yandex, 'ciceron': result_ciceron}
# -*- coding: utf-8 -*- from microsofttranslator import Translator # translator = Translator('skeven', 'vizaHdZEjZkP0ZdL/B3CQ0UO9yzsgmTT2hDtuvJFdL0=') # translator = Translator('shosekine', '2GFvzrRkechE3izlMfvRHRs+0y9VEcwpMUvVJhkPVOM=') # translator = Translator('soutasekine', 'Tk8KK3j2+W4f6v/n1lgXeLwsbZHVUdTnZLu3L++XNQI=') # translator = Translator('naosekine', 'M04ecskst3RZtaLpLZK4EbOG836TQf6r0IX7rmo5XKg=') # translator = Translator('takikosekine', 'zjTibYqktK1UpZd2bepNVLflJlVCcSxjrtrmFJNwCWY=') translator = Translator('ssekine', 'J27sphE2O9LiOcyTEya0ZDeesIpKjfDYIges9t5bFGY=') # print translator.translate(u"明日天気だったら散歩に行く予定だよ", "zh-CHS") print translator.translate(u"我打算去散步,如果它是明天天气", "ja")
tocon = sqlite3.connect("wordBank_ita_eng.db") tocur = tocon.cursor() try: tocur.execute("""CREATE TABLE wordTable(from_language text, from_word text, count integer, to_language text, to_word text);""") except Exception, e: print 'Target Table already exist' pass cur.execute("SELECT from_word, count FROM wordTable") for d in cur.fetchall(): from_word = d[0] isNew = isNewWord(from_word,tocur) if isNew == True: to_word = translator.translate(from_word, 'en') from_language = 'it' to_language = 'en' count = d[1] insertwordline = (from_language, from_word, count, to_language, to_word) tocur.execute("INSERT INTO wordTable(from_language, from_word, count, to_language, to_word) VALUES (?, ?, ?, ?, ?)", insertwordline) tocon.commit() print insertwordline time.sleep(random.random()) else: print 'ALREADY EXIST' tocon.close() con.close() if __name__ == '__main__':
#!/usr/bin/env python # -*- coding: utf-8 -*- from microsofttranslator import Translator # if this fails, do: # sudo easy_install microsofttranslator from ref_definitions2 import read_all_the_files translator = Translator('finalproj', 'LZTVKNyxQEjmIUbMWp1HhkN4x9XkIbnT6fHhaJfLFmo=') #print translator.translate('你好'.decode('utf8'), 'en', 'zh-CHT') (chinese_sentences,english_sentences) = read_all_the_files() of = open('bing_translations.txt', 'w') for chinese_sent in chinese_sentences: chinese_sent = ''.join([x for x in chinese_sent if x != ' ']) print >> of, chinese_sent print >> of, translator.translate(chinese_sent.decode('utf8'), 'en', 'zh-CHT').encode('utf-8') print >> of, '=========='
def processRequest(req): #for wolfram alpha if req.get("result").get("action") == "fact": client = wolframalpha.Client("4393W5-W6E838H957") john = client.query(req.get("result").get("resolvedQuery")) answer = next(john.results).text return { "speech": answer, "displayText": answer, "source": "From wolfram_alpha" } #translator #uses microsoft translator api USE your key here elif req.get("result").get("action") == "tran": translator = Translator( '''jkthaha''', '''syosNIlEOJnlLByQGcMS+AIin0iaNERaQVltQvJS6Jg=''') try: s = translator.translate( req.get("result").get("parameters").get("question"), req.get("result").get("parameters").get("language")) res = makeWebhookResult(s) return res except: res = makeWebhookResult("Server busy, please try again later") return res #for news #takes news randomly from different sources use newsapi docs for more info elif req.get("result").get("action") == "news": y = random.randint(1, 6) if y == 1: r = requests.get( 'https://newsapi.org/v1/articles?source=bbc-news&sortBy=top&apiKey=1412588264c447da83a7c75f1749d6e8' ) j = r.json() x = j.get('articles') newp = "The headlines are: " + "1. " + x[0][ "title"] + "." + " 2. " + x[1]["title"] + "." + " 3. " + x[2][ "title"] + "." + " 4. " + x[3]["title"] + "." + " 5. " + x[ 4]["title"] + "." res = makeWebhookResult(newp) return res elif y == 2: r = requests.get( 'https://newsapi.org/v1/articles?source=the-times-of-india&sortBy=latest&apiKey=1412588264c447da83a7c75f1749d6e8' ) j = r.json() x = j.get('articles') newp = "The headlines are: " + "1. " + x[0][ "title"] + "." + " 2. " + x[1]["title"] + "." + " 3. " + x[2][ "title"] + "." + " 4. " + x[3]["title"] + "." + " 5. " + x[ 4]["title"] + "." res = makeWebhookResult(newp) return res elif y == 3: r = requests.get( 'https://newsapi.org/v1/articles?source=independent&sortBy=top&apiKey=1412588264c447da83a7c75f1749d6e8' ) j = r.json() x = j.get('articles') newp = "The headlines are: " + "1. " + x[0][ "title"] + "." + " 2. " + x[1]["title"] + "." + " 3. " + x[2][ "title"] + "." + " 4. " + x[3]["title"] + "." + " 5. " + x[ 4]["title"] + "." res = makeWebhookResult(newp) return res elif y == 4: r = requests.get( 'https://newsapi.org/v1/articles?source=bbc-sport&sortBy=top&apiKey=1412588264c447da83a7c75f1749d6e8' ) j = r.json() x = j.get('articles') newp = "The headlines from bbc sports: " + "1. " + x[0][ "title"] + "." + " 2. " + x[1]["title"] + "." + " 3. " + x[2][ "title"] + "." + " 4. " + x[3]["title"] + "." + " 5. " + x[ 4]["title"] + "." res = makeWebhookResult(newp) return res elif y == 5: r = requests.get( 'https://newsapi.org/v1/articles?source=ars-technica&sortBy=latest&apiKey=1412588264c447da83a7c75f1749d6e8' ) j = r.json() x = j.get('articles') newp = "The headlines are: " + "1. " + x[0][ "title"] + "." + " 2. " + x[1]["title"] + "." + " 3. " + x[2][ "title"] + "." + " 4. " + x[3]["title"] + "." + " 5. " + x[ 4]["title"] + "." res = makeWebhookResult(newp) return res elif y == 6: r = requests.get( 'https://newsapi.org/v1/articles?source=the-hindu&sortBy=latest&apiKey=1412588264c447da83a7c75f1749d6e8' ) j = r.json() x = j.get('articles') newp = "The headlines are: " + "1. " + x[0][ "title"] + "." + " 2. " + x[1]["title"] + "." + " 3. " + x[2][ "title"] + "." + " 4. " + x[3]["title"] + "." + " 5. " + x[ 4]["title"] + "." res = makeWebhookResult(newp) return res #for wikipedia elif req.get("result").get("action") == "wiki": param = req.get("result").get("parameters").get("any") fin = wikipedia.summary(param, sentences=2) res = makeWebhookResult(fin) return res #for local time elif req.get("result").get("action") == "time": app_id = "4393W5-W6E838H957" client = wolframalpha.Client(app_id) john = client.query("time in bangalore") answer = next(john.results).text res = makeWebhookResult(answer) return res #for weather (yahoo api) elif req.get("result").get("action") == "yahooWeatherForecast": baseurl = "https://query.yahooapis.com/v1/public/yql?" yql_query = makeYqlQuery(req) if yql_query is None: return {} yql_url = baseurl + urllib.urlencode({'q': yql_query}) + "&format=json" result = urllib.urlopen(yql_url).read() data = json.loads(result) res = makeWebhookResult1(data) return res #for dictionary else: dictionary = PyDictionary() ch = req.get('result').get('parameters').get('word') test = req.get('result').get('parameters').get('dictionary') if test == 'antonym': res = dictionary.antonym(ch) try: try: answer = "Antonym for the word " + ch + " are: {0}, {1}, {2}, {3}, {4}.".format( res[0], res[1], res[2], res[3], res[4]) except: try: answer = "Antonym for the word " + ch + " are: {0}, {1}, {2}, {3}.".format( res[0], res[1], res[2], res[3]) except: try: answer = "Antonym for the word " + ch + " are: {0}, {1}, {2}.".format( res[0], res[1], res[2]) except: answer = "Antonym for the word " + ch + " are: {0}, {1}.".format( res[0], res[1]) except: answer = "There is no antonym for this word" return makeWebhookResult(answer) elif test == 'definition': re1s = dictionary.meaning(ch) try: try: answer = "The word {0} is a verb and its meaning is {1}".format( ch, re1s['Verb']) except: try: answer = "The word {0} is a noun and its meaning is {1}".format( ch, re1s['Noun']) except: answer = "The word {0} is an adjective and its meaning is {1}".format( ch, re1s['Adjective']) except: answer = re1s return makeWebhookResult(answer) elif test == 'synonym': res = dictionary.synonym(ch) try: try: answer = "Synonym for the word " + ch + " are: {0}, {1}, {2}, {3}, {4}.".format( res[0], res[1], res[2], res[3], res[4]) except: try: answer = "Synonym for the word " + ch + " are: {0}, {1}, {2}, {3}.".format( res[0], res[1], res[2], res[3]) except: try: answer = "Synonym for the word " + ch + " are: {0}, {1}, {2}.".format( res[0], res[1], res[2]) except: answer = "Synonym for the word " + ch + " are: {0}, {1}.".format( res[0], res[1]) return makeWebhookResult(answer) except: answer = "There is no Synonym for this word" return makeWebhookResult(answer)
# クライアントIDに書いた文字列 clientId = 'project_china' # 顧客の秘密に書かれていた文字列 clientSecret = 'vmefZLSAQKA7gt7fFzg5UApBBOwTGZhJXq9+Ab958YY=' from microsofttranslator import Translator translator = Translator(clientId, clientSecret) retrip1 = "いつか全て巡ってみたい!日本のSNS映えスポットランキングTOP10" retrip2 = "食も雑貨も揃うオススメスポット!“学芸大学”にあるオシャレなお店15選" retrip3 = "ここはエビ好きの天国!エビだらけのお店「ババガンプ・シュリンプ」とは" #一天周圍都喜歡 ! 日本 SNS 光澤現貨排名 TOP10 print(translator.translate(text=retrip1, to_lang='zh-TW', from_lang='ja')) #ある日の周りのような!日本のSNS光沢のあるスポットランキングTOP10 #推薦點食物和雜物是可用 ! 時尚商店 15 選舉是"學藝大學" print(translator.translate(text=retrip2, to_lang='zh-TW', from_lang='ja')) #いくつかの食品や雑貨が用意されていおすすめ!ファッションショップ15選挙は「学芸大学」でした #這是一個像蝦一樣的天堂 ! 布巴阿甘蝦蝦沾滿了商店 print(translator.translate(text=retrip3, to_lang='zh-TW', from_lang='ja')) #これはエビのような楽園です!ババ・ガンプ・シュリンプシュリンプ覆わ店
try: tocur.execute("""CREATE TABLE wordTable(from_language text, from_word text, count integer, to_language text, to_word text);""") except Exception, e: print 'Target Table already exist' pass argvs = sys.argv # headword = "a" headword = argvs[1] cur.execute("SELECT from_word, count FROM wordTable WHERE from_word like \'" + headword + "%\'") for d in cur.fetchall(): # print d[0] try: from_word = d[0] isNew = isNewWord(from_word,tocur) if isNew == True: to_word = translator.translate(from_word, 'zh-CHS') from_language = 'eng' to_language = 'zh-CHS' count = d[1] insertwordline = (from_language, from_word, count, to_language, to_word) tocur.execute("INSERT INTO wordTable(from_language, from_word, count, to_language, to_word) VALUES (?, ?, ?, ?, ?)", insertwordline) tocon.commit() print insertwordline time.sleep(random.random()) else: print 'ALREADY EXIST' except Exception, e: print traceback.format_exc() pass
#pdfFile = urlopen("http://pythonscraping.com/pages/warandpeace/chapter1.pdf"); pdfFile = open( "/Users/yanchunyang/Documents/kidscode/ScratchReferenceGuide.pdf", 'rb') outputString = readPDF(pdfFile) pdfFile.close() #local file #pdfFile = open("../pages/warandpeace/chapter1.pdf", 'rb') #translate the pdf print("read over") client_id = "boliu" client_secret = "pwfbBe660uJoi0yQrfyCurzfhoXYsNRkXhmaocNKInY=" translator = Translator(client_id, client_secret) outputlist = outputString.split('\n') fname = open("Reference.txt", 'w+') for line in outputlist: if len(line) > 10: try: translate_text = translator.translate(line, 'zh-CHS', 'en') fname.write(translate_text + '\n') except: print("error") fname.close()
def translate(text="", source="auto", target="en"): t = Translator("twblue", "4KZA26GYIfmVAqQA/z16Hlucbg64hVSDTIpRjT2FqIU=") return t.translate(text, target)