def get_queries(category_name, source='en'):
    languages = [('en', 'english'), ('es', 'spanish'), ('de', 'german')]
    query = category_name.replace("_", " ")
    trans_phrase = {}
    trans_words = {}

    for (trans_lang, stop_lang) in languages:
        query_trans_phrase = ts.bing(query,
                                     from_language=source,
                                     to_language=trans_lang).lower()
        query_trans_words = [
            ts.bing(token, from_language=source,
                    to_language=trans_lang).lower()
            for token in word_tokenize(query)
        ]

        query_clean_phrase = [
            token for token in word_tokenize(query_trans_phrase)
            if token not in set(stopwords.words(stop_lang))
        ]
        query_clean_words = [
            token for token in query_trans_words
            if token not in set(stopwords.words(stop_lang))
        ]

        trans_phrase[trans_lang] = query_clean_phrase
        trans_words[trans_lang] = query_clean_words

    return (trans_words, trans_phrase)
Пример #2
0
    def translate_text(self, text):
        if self.translator == "google":
            return ts.google(text, to_language=self.to_language)
        elif self.translator == "bing":
            return ts.bing(text, to_language=self.to_language)
        elif self.translator == "google_separate":
            return self.google_separate.translate(text=text, dest=self.to_language).text
        elif self.translator == "microsoft":
            params = {'appid': 'Bearer ' + self.token, 'text': text, 'to': self.to_language}

            requestHeader = {'Accept': 'application/xml'}

            responseResult = requests.get(self.translateUrl, params=params, headers=requestHeader)

            soup = BeautifulSoup(responseResult.text, "lxml")

            return colored(soup.get_text())

        elif self.translator == "sogou":
            return ts.sogou(text, to_language=self.to_language)
        elif self.translator == "baidu":
            return ts.baidu(text, to_language=self.to_language)
        elif self.translator == "alibaba":
            return ts.alibaba(text, to_language=self.to_language)
        elif self.translator == "tencent":
            return ts.tencent(text, to_language=self.to_language)
        elif self.translator == "youdao":
            return ts.youdao(text, to_language=self.to_language)
        elif self.translator == "deepl":
            return ts.deepl(text, to_language=self.to_language)
Пример #3
0
 def translate_to_cn(self, input:str) -> str:
     if self._translator == 'google':
         return (tl.google(input, if_use_cn_host=False, to_language='zh-CN'))
     if self._translator == 'bing':
         return (tl.bing(input, if_use_cn_host=False, to_language='zh-CN'))
     else:
         print("Error: no translator claimed!")
def translate(text, lang):
    translate_res = None
    if lang == 'auto':
        lang_res = 'ru'
    else:
        lang_res = lang
    try:
        #lang_detect = detect(text)
        lang_detect = TextBlob(text).detect_language()
        #print(lang_detect)
        #print(langid.classify(text)[0])
        #print(TextBlob(text).detect_language())
    except Exception as e:
        logger.error("Error detect lang: %s.", e)
        lang_detect = 'en'
    if lang == 'auto' and lang_detect == 'ru':
        lang_res = 'en'
    if lang == 'auto' and lang_detect == 'en':
        lang_res = 'ru'
    if lang_res != lang_detect:
        try:
            #translate_res = translator.translate(text=text, dest=lang_res).text
            translate_res = ts.bing(text,
                                    from_language='auto',
                                    to_language=lang_res)
            #print(translate_res)
            #print(TextBlob(text).translate(to=lang_res))
        except Exception as e:
            logger.error("Error translate: %s.", e)
    return translate_res, lang_detect
Пример #5
0
def translate_the_string(text, to, from_what, server):
    try:
        if server == 'b':
            return ts.bing(text, from_what, to)
        else:
            return ts.google(text, from_what, to)
    except Exception as e:
        return 'Sorry, Following Error Occured\n{}'.format(e)
Пример #6
0
def getRow(word):
    global TARGET_LANGUAGE
    try:
        transcrypt = ipa.convert(word)
        try:
            translator = google_translator()
            translation = translator.translate(word, lang_tgt=TARGET_LANGUAGE)
        except:
            try:
                translation = translators.deepl(word,
                                                from_language='en',
                                                to_language=TARGET_LANGUAGE)
            except:
                try:
                    translation = translators.bing(word,
                                                   from_language='en',
                                                   to_language=TARGET_LANGUAGE)
                except:
                    try:
                        translation = translators.baidu(
                            word,
                            from_language='en',
                            to_language=TARGET_LANGUAGE)
                    except:
                        translation = 'not available'
        try:
            r = requests.post(
                "https://www.wordhippo.com/what-is/process-form.html",
                data={
                    'word': word,
                    'action': 'Sentences'
                })
            soup = BS(r.text, features="html.parser")
            sentence = soup.findAll(
                'tr', {'id': 'gexv2row1'})[0].findAll('td')[0].text
        except:
            try:
                r = urllib.request.urlopen(
                    'https://sentence.yourdictionary.com/' +
                    word).read().decode("utf8")
                soup = BS(r, features="html.parser")
                sentence = soup.findAll('div',
                                        {'class': 'sentence-item'})[0].text
            except:
                sentence = 'not available'
        # i += 1
        # printProgressBar(i, number_of_words, prefix='Progress:', suffix='Complete', length=50)
        return {
            'word': word,
            'transcrypt': transcrypt,
            'translation': translation,
            'sentence': sentence
        }
    except:
        pass
Пример #7
0
def get_page_data(link):
    profile_responce = session.get(link, headers=header).text

    soup = BeautifulSoup(profile_responce, "html.parser")
    post = soup.find_all('li', class_='css-ye6x8s')
    for item in post:
        title = item.find('h2', class_='css-1j9dxys e1xfvim30').get_text(strip=True)
        title = ts.bing(title, to_language='ru', if_use_cn_host=False)
        href = item.find('a').get('href')
        try:
            post = item.find('p', class_='css-1echdzn').get_text(strip=True)
            post = ts.bing(post, to_language='ru', if_use_cn_host=False)
            title = textwrap.fill(title, width=90)
            print('-' * 50)
            cprint("["+title+"]", color='green')
        except AttributeError:
            print('Нет описания')
        print('-' * 50)
        post = textwrap.fill(post, width=90)
        cprint(post)
        print(' ' + '\n' + 'https://www.nytimes.com' + href)
Пример #8
0
def _run(raw, raw_titles, trans, language, translation_type='goog',  **kwargs):
	try:
		import translators as ts
	except ImportError:
		print('WARNING: translators is not installed')
	cat = raw['category']
	
	article = raw.copy()
	
	fixed = 0
	if article['title'] in raw_titles:
		article['category'] = raw_titles[article['title']]
		fixed = 1
	
	# if cat == 'general':
	# 	possible += 1
	
	article['source'], article['author'] = resolve_source(raw['source'], raw['author'])
	
	# article['language'] = trans.detect(article['title']).lang
	article['language'] = detect(article['title'])
	article['original_title'] = article['title']
	if language is not None and article['language'] != language:
		for key in LANGUAGE_KEYS:
			if article[key] is not None and len(article[key]):
				if translation_type == 'goog':
					out = trans.translate(article[key], dest=language).text
				
				elif translation_type == 'goslate':
					out = trans.translate(article[key], language)
				
				elif translation_type.startswith('google'):
					out = ts.google(article[key], if_use_cn_host='cn' in translation_type)
				elif translation_type.startswith('bing'):
					out = ts.bing(article[key], if_use_cn_host='cn' in translation_type)
				elif translation_type.startswith('sogou'):
					out = ts.sogou(article[key])
				
				else:
					raise Exception(f'unknown translator type: {translation_type}')
				
				article[key] = out
	
	# articles.append(article)
	#
	# if cat not in full:
	# 	full[cat] = []
	# full[cat].append(article)
	# existing_titles.add(article['original_title'])
	
	return fixed, article
Пример #9
0
def translate(current):
    print('\n' + current)
    with open('log.txt', 'a') as w:
        w.write(current + '\n')
    try:
        t_text = ts.bing(current, to_language='en').replace('Carle', 'Kyaru')
        print(t_text)
        with open('log.txt', 'a') as w:
            w.write(t_text + '\n\n')
    except TypeError:
        pass
    except UnicodeError:
        pass
    except KeyError:
        pass
Пример #10
0
def categoty_translate(leng):
        text = ""
        lister = models.Category
        for el in lister:
            text = text+el.categoryName + "|"
        
        text = tran.bing(text, if_use_cn_host=False, to_language = leng)
        lent = list(text.split('|'))
        i = 0
        result = []
        for el in lister:
            l = el.lineformat
            l['categoryName'] = lent[i]
            result.append(l)
            i= i+1
        return result
Пример #11
0
 def run(self):
     if len(self.text.strip()) == 0:
         return ""
     attempt = 0
     while attempt < BingTranslator.MAX_ATTEMPTS:
         attempt += 1
         try:
             return ts.bing(self.text,
                            self.source,
                            self.target,
                            proxies=self.__get_proxies())
         except Exception as _e:
             self.logger.critical(self.text)
             self.logger.critical(_e)
             pass
     else:
         raise Exception(f"Failed to complete translation step")
Пример #12
0
def get_words(word):
    print("Translation for word:" + word)
    words = dict()

    words[word] = 1
    print("Started get_words for: " + word)

    languages = [
        'ca', 'uk', 'tlh-Latn', 'is', 'bs', 'sm', 'kmr', 'gu', 'ps', 'pt',
        'yua', 'af', 'hi', 'es', 'lzh', 'pt-PT', 'fil', 'te', 'ne', 'fi',
        'mww', 'ga', 'hu', 'de', 'sr-Latn', 'ku', 'lo', 'mr', 'lt', 'prs',
        'nb', 'bg', 'fr', 'fj', 'sk', 'ta', 'kn', 'az', 'id', 'sr-Cyrl', 'hr',
        'ar', 'el', 'ru', 'cs', 'vi', 'bn', 'fa', 'yue', 'kk', 'he', 'mg',
        'fr-CA', 'mt', 'mi', 'ty', 'ht', 'ml', 'to', 'sv', 'cy', 'ms',
        'zh-Hans', 'tr', 'et', 'otq', 'ur', 'hy', 'nl', 'zh-Hant', 'lv', 'th',
        'it', 'as', 'pl', 'sw'
    ]

    print(languages)
    size_languages = len(languages)
    index = 1

    for lang in languages:
        is_done = False
        internal_sleep = 1
        while not is_done:
            try:
                print(
                    f"Getting translation ({index}/{size_languages}) with internal_sleep={internal_sleep} "
                )
                time.sleep(internal_sleep)
                try:
                    words[ts.bing(word, from_language="en",
                                  to_language=lang)] = 1
                except KeyError:
                    print("No translation for:" + lang)
                index += 1
                internal_sleep = 1
                is_done = True
            except IOError as e:
                print(e)
                is_done = False
                internal_sleep = internal_sleep * 2
                print("Błąd w pętli for z pobieraniem tłumaczenia, ponawiam")

    return words
Пример #13
0
def translate(get_text):
    language_text = detect(get_text)
    indetect = language_text.detect_language()
    if indetect != 'ru':
        langout = 'ru'
    else:
        langout = 'en'
    lab1['text'] = indetect
    lab0['text'] = f'{indetect}↔{langout}'
    lab2['text'] = langout

    # output = ts.ts.google(get_text, to_language=langout, if_use_cn_host=True)
    output = ts.bing(get_text, to_language=langout, if_use_cn_host=False)
    text2.delete(1.0, END)
    text2.insert(END, output)
    tts.say(output)
    tts.runAndWait()
Пример #14
0
def get_translation(phrase, dest, src):
    """
    Get translations of a phrase from three translation engines.

    Args:
        phrase: a String, the phrase to be translated
        dest: the language code of the destination language
        src: the language code of the current language of the phrase

    Returns:
        a List of three Strings, different translations of the given phrase.
    """

    return [
        ts.bing(phrase, src, dest, if_use_cn_host=False),
        mm_translator(phrase, src, dest),
        ts.baidu(phrase, baiducodes[src], baiducodes[dest], sleep_seconds=0.1),
    ]
Пример #15
0
 def translate(self, element, leng):
     text = element.search + '|' + element.searchp + '|' + element.wiasi + '|' + element.wiasidesc + '|' + element.aboutus + '|' + element.returnpolicy + '|' + element.contactus + '|' + element.account + '|' + element.signin + '|' + element.signout + '|' + element.profile + '|' + element.dashboard + '|' + element.logout + '|' + element.changepass + '|' + element.email + '|' + element.password + '|' + element.donthave + '|' + element.forgotpass + '|' + element.fillname + '|' + element.confirmpass + '|' + element.mobileno + '|' + element.allreadyhave + '|' + element.login + '|' + element.register + '|' + element.overview + '|' + element.detales + '|' + element.addreview + '|' + element.reviewcaption + '|' + element.submit + '|' + element.nocards + '|' + element.seegal + '|' + element.avail + '|' + element.notavail + '|' + element.features + '|' + element.errorlog + '|' + element.error + '|' + element.successlog + '|' + element.success
     text = ts.bing(text, if_use_cn_host=False, to_language=leng)
     len = []
     len = list(text.split('|'))
     element.search = len[0]
     element.searchp = len[1]
     element.wiasi = len[2]
     element.wiasidesc = len[3]
     element.aboutus = len[4]
     element.returnpolicy = len[5]
     element.contactus = len[6]
     element.account = len[7]
     element.signin = len[8]
     element.signout = len[9]
     element.profile = len[10]
     element.dashboard = len[11]
     element.logout = len[12]
     element.changepass = len[13]
     element.email = len[14]
     element.password = len[15]
     element.donthave = len[16]
     element.forgotpass = len[17]
     element.fillname = len[18]
     element.confirmpass = len[19]
     element.mobileno = len[20]
     element.allreadyhave = len[21]
     element.login = len[22]
     element.register = len[23]
     element.overview = len[24]
     element.detales = len[25]
     element.addreview = len[26]
     element.reviewcaption = len[27]
     element.submit = len[28]
     element.nocards = len[29]
     element.seegal = len[30]
     element.avail = len[31]
     element.notavail = len[32]
     element.features = len[33]
     element.errorlog = len[34]
     element.error = len[35]
     element.successlog = len[36]
     element.success = len[37]
     return element
Пример #16
0
 def watson(self, txt_usr):
     traducao = ""
     try:
         from nlu import NLU
         from googletrans import Translator
         t = Translator()
         traducao = (t.translate(txt_usr, src='pt', dest='en')).text
         print(traducao)
     except Exception as e:
         print(e)
         try:
             import translators as ts
             traducao = ts.bing(txt_usr, 'pt', 'en')
             print(traducao)
         except Exception as e:
             print(e)
             try:
                 import translators as ts
                 # TODO:
                 # FAZER UMA FUNCAO ASYNCRONA QUE ESPERA UM VALOR DESSA LIB
                 # PARA PREVINIR O LOOP INFINITO QUE ELA FICA AS VEZES
                 traducao = ts.google(txt_usr, 'pt', 'en')
                 print(traducao)
             except Exception as e:
                 print(e)
                 try:
                     from translate import Translator  # TRADUCAO HORRIVEL
                     translator = Translator(from_lang="pt", to_lang="en")
                     traducao = translator.translate(
                         txt_usr)  # TRADUCAO HORRIVEL
                     print(traducao)
                 except Exception as e:
                     print(e)
                     return [False]
     try:
         emocao = NLU(traducao)
         return [True, emocao]
     except Exception as e:
         return [False]
Пример #17
0
def main():
    copied = pyperclip.paste()
    print(f'    Text to be translated: {copied}')

    try:
        translation = ts.google(copied, to_language='it')
    except:
        pass
    try:
        translation = ts.bing(copied, to_language='it')
    except:
        try:
            translator = Translator(to_lang="it")
            translation = translator.translate(copied)
        except:
            pass

    print(f'    Translation: {translation}')

    print('\n')
    print('\n')
    input("Press enter to exit.")
Пример #18
0
    def create_article(self):
        deck = ArticleDeck(name=self.title)
        deck.url = self.url
        language = self.url_language
        deck.language = language

        existing_words = {
            w.word: w
            for w in EuropeanWord.query.filter_by(language=language)
        }
        for word_text, freq in self.words.items():
            if word_text in existing_words:
                word = existing_words[word_text]
            else:
                english = ts.bing(word_text, to_language='en').lower()
                word = EuropeanWord(word=word_text,
                                    english=english,
                                    language=language)
            article_word = ArticleWord(frequency=freq, word=word)
            deck.cards.append(article_word)
        db.session.add(deck)
        db.session.commit()
        return deck
Пример #19
0
def product_translate(lister, leng):
    text = ""
    for el in lister:
        text = text + el.name + "|" +el.other_details + "|"+el.overview_eng + "|"+el.features + "|"
    text = text[:-1]
    print
    text = tran.bing(text, if_use_cn_host=False, to_language = leng)
    lent = list(text.split('|'))
    i = 0
    result = []
    for el in lister:
        l = el.lineformat
        l['name'] = lent[i]
        i= i+1
        l['other_details'] = lent[i]
        i= i+1
        l['overview_eng'] = lent[i]
        i= i+1
        l['features'] = lent[i]
        i= i+1
        result.append(l)
        
    return result
Пример #20
0
    def translate(self, source, source_lang):
        target_lang = self.config["target_lang"]
        target = ""
        source_lang_detected = ""

        if self.config["translator_provider"] == "google":
            translation = self.translator_google.translate(source,
                                                           src=source_lang,
                                                           dest=target_lang)
            target = translation.text
            source_lang_detected = translation.src
        elif self.config["translator_provider"] == "google_cloud":
            source_lang_translator = (None if source_lang == "auto" else
                                      source_lang)
            translation = self.translator_gcp.translate\
            (
             source,
             source_language=source_lang_translator,
             target_language=target_lang
            )
            target = translation["translatedText"]
            if source_lang == "auto":  # changed to detected language code after detection
                source_lang_detected = translation["detectedSourceLanguage"]
        elif self.config["translator_provider"] == "bing":
            translation = ts.bing(source,
                                  from_language=source_lang,
                                  to_language=target_lang,
                                  is_detail_result=True)
            target = translation[0]["translations"][0]["text"]
            source_lang_detected = translation[0]["detectedLanguage"][
                "language"]

        return {
            "target": target,
            "source_lang_detected": source_lang_detected,
            "char_count": len(source)
        }
def tradChoice(string):
    strTrad = []
    if settings['translators']['deepl']:
        strTrad.append(translateDeepl(string, sourceLang, targetLang, True))
    if settings['translators']['google'] or settings['translators']['bing']:
        for word in Glossary.keys():
            string = re.sub('(\W)' + word,
                            '\\1' + Glossary[word].title(),
                            string,
                            flags=re.IGNORECASE)
        string = re.sub('(\[.{1,13}\])', '"\\1"', string, flags=re.IGNORECASE)
        if settings['translators']['google']:
            strTrad.append(
                re.sub('"(\[.{1,13}\])"',
                       '\\1',
                       ts.google(string, sourceLang, targetLang),
                       flags=re.IGNORECASE))
        if settings['translators']['bing']:
            strTrad.append(
                re.sub('"(\[.{1,13}\])"',
                       '\\1',
                       ts.bing(string, sourceLang, targetLang),
                       flags=re.IGNORECASE))
    return strTrad
Пример #22
0
out_doc = sys.argv[2]
from_lang = sys.argv[3]
to_lang = sys.argv[4]
#print(' Input document: {}'.format(in_doc))
#print(' Translating from {} to {}.'.format(from_lang, to_lang))

# File setup
in_file = open(in_doc, 'r')
in_lines = in_file.readlines()

out_file = open(out_doc, 'w')  # write translated contents to this file

# Execute translation procedure
for line in in_lines:
    translated_line = ts.bing(line,
                              from_language=from_lang,
                              to_language=to_lang)
    out_file.write(translated_line)  # write line
'''
# Test call
text = 'I like to eat pineapples and I am from Tijuana!'
# Bing seems to work well
new_text = ts.bing(text, from_language='en', to_language='fr')
# Google has some network issue
print(ts.google(text, from_language='en', to_language='fr'))
print(new_text)
'''

# Close files
in_file.close()
out_file.close()
Пример #23
0
async def translate(jap: str) -> Optional[str]:
    if 0:
        loop = asyncio.get_event_loop()
        return await loop.run_in_executor(None, lambda: ts.bing(jap))
    return None
Пример #24
0
import translators as ts

wyw_text = '季姬寂,集鸡,鸡即棘鸡。棘鸡饥叽,季姬及箕稷济鸡。'
chs_text = '季姬感到寂寞,罗集了一些鸡来养,鸡是那种出自荆棘丛中的野鸡。野鸡饿了唧唧叫,季姬就拿竹箕中的谷物喂鸡。'

# input languages
print(ts.bing("hello my friend", from_language='auto', to_language='vi'))
#print(ts._google.language_map)
Пример #25
0
 def translate(self, text, dest='en'):
     return ts.bing(text, to_language=dest)
Пример #26
0
def sus(message):
    return (words_re.search(message.content.lower()) or words_re.search(
        ts.bing(
            message.content).lower())) and message.author.name != "Amogus Bot"
Пример #27
0
 parser.add_argument('-f',
                     '--from_lang',
                     action='store',
                     metavar='FROM_LANG',
                     default='auto',
                     help='origin language')
 parser.add_argument('-p',
                     '--provider',
                     action='store',
                     metavar='PROVIDER',
                     default='google',
                     help='select provider')
 parser.add_argument('-s',
                     '--save',
                     action='store',
                     metavar='SAVE_PATH',
                     default='./',
                     help='select a path to save result')
 args = parser.parse_args()
 if args.file_path == None:
     try:
         while True:
             s = input('>> ')
             print(translators.bing(s, to_language='fa'))
     except KeyboardInterrupt:
         print("finished")
 else:
     print(
         translator(args.file_path, args.to_lang, args.from_lang,
                    args.provider))
 print(args)
Пример #28
0

「当たり前じゃろうが」



「こ、心の準備とか、色々……!」



 ユメリアは意地の悪い笑みを浮かべる。



「当たって砕けろじゃ。頑張れ、王子殿」



「く、くっそおおぉぉぉぉぉぉっ!?」



 そして、俺の意識は光に飲まれ……目が覚めた時、俺は王子だった。"""
print(
    ts.bing(wyw_text,
            if_use_cn_host=False,
            from_language='ja',
            to_language='zh-CN'))
# print(ts.youdao(wyw_text, sleep_seconds=5, proxies={}, use_cache=True,from_language='ja',to_language='zh'))
# help
# help(ts.deepl)
Пример #29
0
def translate():
    output = []
    output = ts.bing(clip(), to_language=definition(), if_use_cn_host=False)
    return output
 print("Enter your input language (2 Character Abbreviation or Auto): ")
 inputlang = input()
 print()
 print("Enter your input string: ")
 entry = input()
 print()
 print("Enter output language (2 Character Abbreviation): ")
 outputlang = input()
 print()
 if translator == 'google':
     print(
         "Output: " +
         ts.google(entry, from_language=inputlang, to_language=outputlang))
 if translator == 'bing':
     print("Output: " +
           ts.bing(entry, from_language=inputlang, to_language=outputlang))
 if translator == 'yandex':
     print(
         "Output: " +
         ts.yandex(entry, from_language=inputlang, to_language=outputlang))
 print()
 print("Are you finished using the translator tool? Enter Y/N: ")
 x = input()
 x = x.lower()
 while exit == 0:
     if x == 'y':
         i = 1
         exit = 1
     elif x == 'n':
         i = 0
         exit = 1