Пример #1
0
 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(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 ""
Пример #4
0
    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
Пример #5
0
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')
Пример #6
0
    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
Пример #7
0
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
Пример #8
0
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')
Пример #9
0
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)
Пример #10
0
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
Пример #11
0
def run():
    """Main function to query Microsoft Translator API and translate words

    :return:
    """

    try:
        client_id = getenv('MS_TRANSLATOR_CLIENT_ID', None)
        api_key = getenv('MS_TRANSLATOR_API_KEY', None)

        if not api_key:
            client_id = str(raw_input('Microsoft Translator Client ID: '))
            api_key = str(raw_input('Microsoft Translator API Key: '))
        if client_id and api_key:

            translator = Translator(client_id, api_key)
            en_word_list = read_word_list()
            result_matrix = []

            for lang in translator.get_languages():  #

                result = get_translated_text(en_word_list, lang, client_id,
                                             api_key)
                result_matrix.append(result)

            # Transpose the matrix for csv writer
            to_write_matrix = [list(i) for i in zip(*result_matrix)]
            write_result(to_write_matrix)
    except:
        sys.exit(2)
Пример #12
0
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')
Пример #13
0
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')
Пример #14
0
 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)
Пример #15
0
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
Пример #16
0
 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
Пример #17
0
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'))
Пример #18
0
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"
Пример #19
0
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"
Пример #20
0
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)
Пример #21
0
class MicrosoftTranslator(AbstractTranslator):
    name = "microsoft"

    def __init__(self):
        super(MicrosoftTranslator, self).__init__()
        if self.options is not None:
            client_id = self.options.get("client_id")
            client_secret = self.options.get("client_secret")
            if client_id is None or client_secret is None:
                raise ValueError(
                    "Misconfigured application. If you use the Microsoft Translator, provide a client_id and a client_secret"
                )
            self.client = MSTranslator(client_id=client_id, client_secret=client_secret)
        else:
            self.client = None

        self._languages = None

    @property
    def languages(self):
        if self._languages is not None:
            return self._languages
        if self.client is None:
            self._languages = []
        try:
            self._languages = self.client.get_languages()
        except MSTranslatorApiException:
            return []
        return self._languages

    def _translate(self, texts, language, origin_language="en"):
        """ [ 'Hello' ], 'es' => { 'Hello' : 'Hola' } """
        if self.client is None:
            return {}

        if language not in self.languages:
            return {}

        app.logger.debug("Translating %r to %r using Microsoft Translator API" % (texts, language))
        try:
            ms_translations = self.client.translate_array(texts=texts, to_lang=language, from_lang=origin_language)
        except MSTranslatorApiException as e:
            traceback.print_exc()
            app.logger.warn("Error translating using Microsoft Translator API: %s" % e, exc_info=True)
            return {}

        app.logger.debug("Translated %s sentences using Microsoft Translator API" % len(ms_translations))

        translations = {}
        for text, translation in zip(texts, ms_translations):
            translated_text = translation.get("TranslatedText")
            if translated_text:
                translations[text] = translated_text

        return translations
Пример #22
0
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)
Пример #23
0
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)
Пример #24
0
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)
Пример #26
0
    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])
Пример #27
0
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)
Пример #28
0
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')
Пример #29
0
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
Пример #30
0
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))
Пример #31
0
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)
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
Пример #33
0
    def test_get_traslations(self):
        client = Translator(client_id, client_secret, debug=True)
        self.assertEqual(
            client.get_translations("sun", "ru"),
            {'From': 'en', 'Translations': [
                {'Rating': 5, 'TranslatedText': u'Солнце', 'Count': 0, 'MatchDegree': 100, 'MatchedOriginalText': ''},
                {'Rating': 1, 'TranslatedText': u'Солнце', 'Count': 1, 'MatchDegree': 100, 'MatchedOriginalText': 'sun'},
                {'Rating': 1, 'TranslatedText': u'солнце', 'Count': 1, 'MatchDegree': 100, 'MatchedOriginalText': 'sun'},
                {'Rating': 1, 'TranslatedText': u'ВС', 'Count': 1, 'MatchDegree': 99, 'MatchedOriginalText': 'SUN'},
                {'Rating': 1, 'TranslatedText': u'Вос', 'Count': 1, 'MatchDegree': 99, 'MatchedOriginalText': 'Sun'},
                {'Rating': 1, 'TranslatedText': u'Воскресенье', 'Count': 1, 'MatchDegree': 99, 'MatchedOriginalText': 'Sun'},
                {'Rating': 1, 'TranslatedText': u'Вс', 'Count': 1, 'MatchDegree': 99, 'MatchedOriginalText': 'Sun'},
                {'Rating': 0, 'TranslatedText': u'СОЛНЦЕ!!', 'Count': 0, 'MatchDegree': 63, 'MatchedOriginalText': 'SUN!!'}
            ]}

        )
Пример #34
0
    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)
Пример #35
0
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
Пример #36
0
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')
Пример #37
0
def translate():
    if not request.json:
        abort(make_response(jsonify(message="Bad zapros"), 400))
    # sanitize html
    data = bleach.clean(request.json['text'])
    if len(data) > 400:
        abort(make_response(jsonify(message="Slishkom long stroka"), 400))
    splitted_original = re.split('(\W+)', data, flags=re.UNICODE)
    # transliterate flag. if true - the world will be transliterated
    transliterate_flag = True
    word_regex = re.compile('\w+', re.U)
    # array indexes of the words that will be really translated
    # used to put the translated words back in their places
    to_translate_indexes = []
    # array of the words that will be translated
    to_translate = []
    for i in range(0, len(splitted_original)):
        # if is's a word, not a comma, or space or whatever
        if re.match(word_regex, splitted_original[i]):
            # transliterate it or push in array for translation
            if transliterate_flag:
                splitted_original[i] = translit(splitted_original[i],
                                                'ru',
                                                reversed=True)
            else:
                to_translate_indexes.append(i)
                to_translate.append(splitted_original[i])
            transliterate_flag = not transliterate_flag
    translated = [{}]
    try:
        # translate the words
        translator = Translator(app.config['TRANSLATOR_ID'],
                                app.config['TRANSLATOR_SECRET'])
        translated = translator.translate_array(to_translate, 'en', 'ru')
    except Exception as e:
        abort(make_response(jsonify(message="Try again popozhe"), 500))
    # put the translated words back using the to_translate_indexes array
    for z in range(0, len(to_translate_indexes)):
        t = translated[z]['TranslatedText']
        splitted_original[to_translate_indexes[z]] = t
    res = ''.join(splitted_original)
    return jsonify(translation=res, status=200)
Пример #38
0
    def __init__(self):
        super(MicrosoftTranslator, self).__init__()
        if self.options is not None:
            client_id = self.options.get('client_id')
            client_secret = self.options.get('client_secret')
            if client_id is None or client_secret is None:
                raise ValueError("Misconfigured application. If you use the Microsoft Translator, provide a client_id and a client_secret")
            self.client = MSTranslator(client_id = client_id, client_secret = client_secret)
        else:
            self.client = None

        self._languages = None
Пример #39
0
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
Пример #41
0
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;
Пример #42
0
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
Пример #43
0
    def __init__(self):
        super(MicrosoftTranslator, self).__init__()
        if self.options is not None:
            client_id = self.options.get('client_id')
            client_secret = self.options.get('client_secret')
            if client_id is None or client_secret is None:
                raise ValueError(
                    "Misconfigured application. If you use the Microsoft Translator, provide a client_id and a client_secret"
                )
            self.client = MSTranslator(client_id=client_id,
                                       client_secret=client_secret)
        else:
            self.client = None

        self._languages = None
Пример #44
0
    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
Пример #45
0
def init_translate():
    aBasePath = os.getcwd()
    sourcePath = aBasePath + "/assets/BingCredentials"
    fileObj1 = open(sourcePath + '/bingClientId.txt', 'r')
    client_id = fileObj1.read().strip("\n\r")
    fileObj1.close()
    # print (type(client_id), client_id)

    fileObj2 = open(sourcePath + '/bingClientSecret.txt', 'r')
    client_secret = fileObj2.read().strip("\n\r")
    fileObj2.close()
    # print (type(client_secret), client_secret)

    client = Translator(client_id, client_secret, debug=False)

    return client
Пример #46
0
def init(recordToSkip=0):
    global translator
    translator = Translator('shalabh', '6Af7+rQSZl+Jqb/y4W0/QP196VkT+fiSMyoKRXBp8Y8=')
    client=MongoClient()
    db=client['yelp']
    reviewTable=db['reviewData']
    collection = db['converted_reviews']
    count=0
    #gs = goslate.Goslate()
    for line in file:
        count+=1
        print count
        if count<=recordToSkip:
            continue
        record={}
        arr=line.replace("\n","").split(':')
        id=str(arr[0])
        lng=str(arr[1])
        if lng in langList:
                time.sleep(1)
                #print count
                find={"review_id":id}
                for review in reviewTable.find(find):
                        text=review["text"]
                        stars=review["stars"]
                        #print text.encode('utf-8')
                        time.sleep(1)
                        if(len(text)>546):
                            arr1=text.split(".")
                            translated_text=""
                            for item in arr1:
                                translated_text= translated_text+". "+MyTranslator.translate(item.replace("\n","").encode('utf-8'), "en", lng)
                        else:
                            translated_text= MyTranslator.translate(text.replace("\n","").encode('utf-8'), "en", lng)
                        print "==========================="
                        #translated_text= MyTranslator.translate(text.replace("\n","").encode('utf-8'), "en", lng)
                        time.sleep(1)
                        #print translated_text
                        record.update({'review_id':id})
                        record.update({'lng':lng})
                        record.update({'translation':translated_text})
                        record.update({'stars':stars})
                        collection.insert_one(record).inserted_id
                        print count," record inserted"
                        print "============================="
Пример #47
0
def translate(text, language):
    global translator

    for i in range(5):
        try:
            translation = translator.translate(text, language)

            if 'ArgumentException' in translation:
                raise Exception(translation)

            return re.sub(u'peer.fm',
                          u'Peer.fm',
                          translation,
                          flags=re.IGNORECASE)

        except Exception, e:
            f = open('translate.log', 'w+')
            f.write(str(e))
            f.close()
            time.sleep(20)
            translator = Translator(
                'peerfm', 'bJHtNJK4zTLAGtaoyxnO5wI1N3XHN8Fygz2pEn11WTQ=')
Пример #48
0
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}
Пример #49
0
 def __init__(self):
   self.translator = Translator(client_id, client_secret) 
   self.langs = self.translator.get_languages()
Пример #50
0
#!/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, '=========='

Пример #51
0
#!/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, '=========='
Пример #52
0
 def test_get_languages(self):
     client = Translator(client_id, client_secret, debug=True)
     languages = client.get_languages()
     self.assertEqual(type(languages), list)
     self.assertTrue(set(default_languages).issubset(set(languages)))
Пример #53
0
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
Пример #54
0
 def __init__(self, client_id, client_secret):
     self.client_id = client_id
     self.client_secret = client_secret
     self.translator = Translator(client_id, client_secret)
Пример #55
0
 def test_translate_array(self):
     client = Translator(client_id, client_secret, debug=True)
     self.assertEqual(client.translate("hello", "pt"), u'Ol\xe1')
Пример #56
0
 def test_detect_language(self):
     client = Translator(client_id, client_secret, debug=True)
     self.assertEqual(client.detect_language('hello'), u'en')
Пример #57
0
 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"
from BeautifulSoup import BeautifulSoup

soup = BeautifulSoup(open('senticnet.rdf', 'r'))
dicionario = {}
textos = soup.findAll('text')

polaridade = soup.findAll('polarity')

assert len(textos) == len(polaridade)

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]
Пример #59
0
 def test_invalid_client_id(self):
     client = Translator("foo", "bar")
     with self.assertRaises(TranslateApiException):
         client.translate("hello", "pt")