def totranslate(bot: Bot, update: Update):
    msg = update.effective_message
    chat_id = update.effective_chat.id
    """
	lang = str("af,am,ar,az,be,bg,bn,bs,ca,ceb,co,cs,cy,da,de,el,en,eo,es,et,eu,fa,fi,fr,fy,ga,gd,gl,gu,ha,haw,hi,hmn,hr,ht,hu,hy,id,ig,is,it,iw,ja,jw,ka,kk,km,kn,ko,ku,ky,la,lb,lo,lt,lv,mg,mi,mk,ml,mn,mr,ms,mt,my,ne,nl,no,ny,pa,pl,ps,pt,ro,ru,sd,si,sk,sl,sm,sn,so,sq,sr,st,su,sv,sw,ta,te,tg,th,tl,tr,uk,ur,uz,vi,xh,yi,yo,zh,zh_CN,zh_TW,zu".split(","))
	try:
		if msg.reply_to_message and msg.reply_to_message.text:
			args = update.effective_message.text.split(None, 1)
			try:
				target = args[1].split(None, 1)[0]
			except:
				target = args[1]
			try:
				target2 = args[1].split(None, 2)[1]
				if target2 not in lang:
					target2 = None
				else:
					target = args[1].split(None, 2)[0]
					target2 = args[1].split(None, 2)[1]
			except:
				target2 = None
			text = msg.reply_to_message.text
			message = update.effective_message
			trl = Translator()
			if target2 == None:
				detection = trl.detect(text)
				tekstr = trl.translate(text, dest=target)
				if tekstr.pronunciation == None:
					return message.reply_text("Translated from `{}` to `{}`:\n`{}`".format(detection.lang, target, tekstr.text), parse_mode=ParseMode.MARKDOWN)
				else:
					return message.reply_text("Translated from `{}` to `{}`:\n*Characters:*\n`{}`\n*Text:*\n`{}`".format(detection.lang, target, tekstr.text, tekstr.pronunciation), parse_mode=ParseMode.MARKDOWN)
			else:
				tekstr = trl.translate(text, dest=target2, src=target)
				if tekstr.pronunciation == None:
					return message.reply_text("Translated from `{}` to `{}`:\n`{}`".format(target, target2, tekstr.text), parse_mode=ParseMode.MARKDOWN)
				else:
					return message.reply_text("Translated from `{}` to `{}`:\n*Characters:*\n`{}`\n*Text:*\n`{}`".format(target, target2, tekstr.text, tekstr.pronunciation), parse_mode=ParseMode.MARKDOWN)
			
		else:
			args = update.effective_message.text.split(None, 2)
			target = args[1]
			try:
				target2 = args[2].split(None, 1)[0]
				if target2 not in lang:
					target2 = None
					text = args[2]
				else:
					target2 = args[2].split(None, 1)[0]
					text = args[2].split(None, 1)[1]
			except:
				target2 = None
				text = args[2]
			message = update.effective_message
			trl = Translator()
			if target2 == None:
				detection = trl.detect(text)
				tekstr = trl.translate(text, dest=target)
				if tekstr.pronunciation == None:
					return message.reply_text("Translated from `{}` to `{}`:\n`{}`".format(detection.lang, target, tekstr.text), parse_mode=ParseMode.MARKDOWN)
				else:
					return message.reply_text("Translated from `{}` to `{}`:\n*Characters:*\n`{}`\n*Text:*\n`{}`".format(detection.lang, target, tekstr.text, tekstr.pronunciation), parse_mode=ParseMode.MARKDOWN)
			else:
				tekstr = trl.translate(text, dest=target2, src=target)
				if tekstr.pronunciation == None:
					return message.reply_text("Translated from `{}` to `{}`:\n`{}`".format(target, target2, tekstr.text), parse_mode=ParseMode.MARKDOWN)
				else:
					return message.reply_text("Translated from `{}` to `{}`:\n*Characters:*\n`{}`\n*Text:*\n`{}`".format(target, target2, tekstr.text, tekstr.pronunciation), parse_mode=ParseMode.MARKDOWN)
	"""
    try:
        if msg.reply_to_message and msg.reply_to_message.text:
            args = update.effective_message.text.split(None, 1)
            target2 = None
            try:
                target = args[1].split(None, 1)[0]
            except:
                target = args[1]
            if "-" in target:
                target2 = target.split("-")[1]
                target = target.split("-")[0]
            text = msg.reply_to_message.text
            #text = deEmojify(text)
            exclude_list = UNICODE_EMOJI.keys()
            for emoji in exclude_list:
                if emoji in text:
                    text = text.replace(emoji, '')
            message = update.effective_message
            trl = Translator()
            if target2 == None:
                detection = trl.detect(text)
                tekstr = trl.translate(text, dest=target)
                if tekstr.pronunciation == None:
                    return message.reply_text(
                        "Translated from `{}` to `{}`:\n`{}`".format(
                            detection.lang, target, tekstr.text),
                        parse_mode=ParseMode.MARKDOWN)
                else:
                    return message.reply_text(
                        "Translated from `{}` to `{}`:\n`{}`".format(
                            detection.lang, target, tekstr.pronunciation),
                        parse_mode=ParseMode.MARKDOWN)
            else:
                tekstr = trl.translate(text, dest=target2, src=target)
                if tekstr.pronunciation == None:
                    return message.reply_text(
                        "Translated from `{}` to `{}`:\n`{}`".format(
                            target, target2, tekstr.text),
                        parse_mode=ParseMode.MARKDOWN)
                else:
                    return message.reply_text(
                        "Translated from `{}` to `{}`:\n`{}`".format(
                            target, target2, tekstr.pronunciation),
                        parse_mode=ParseMode.MARKDOWN)

        else:
            args = update.effective_message.text.split(None, 2)
            target = args[1]
            text = args[2]
            #text = deEmojify(text)
            exclude_list = UNICODE_EMOJI.keys()
            for emoji in exclude_list:
                if emoji in text:
                    text = text.replace(emoji, '')
            target2 = None
            if "-" in target:
                target2 = target.split("-")[1]
                target = target.split("-")[0]
            message = update.effective_message
            trl = Translator()
            if target2 == None:
                detection = trl.detect(text)
                tekstr = trl.translate(text, dest=target)
                return message.reply_text(
                    "Translated from `{}` to `{}`:\n`{}`".format(
                        detection.lang, target, tekstr.text),
                    parse_mode=ParseMode.MARKDOWN)
                #if tekstr.pronunciation == None:
                #	return message.reply_text("Translated from `{}` to `{}`:\n`{}`".format(detection.lang, target, tekstr.text), parse_mode=ParseMode.MARKDOWN)
                #else:
                #	return message.reply_text("Translated from `{}` to `{}`:\n`{}`".format(detection.lang, target, tekstr.pronunciation), parse_mode=ParseMode.MARKDOWN)
            else:
                tekstr = trl.translate(text, dest=target2, src=target)
                message.reply_text(
                    "Translated from `{}` to `{}`:\n`{}`".format(
                        target, target2, tekstr.text),
                    parse_mode=ParseMode.MARKDOWN)
                #if tekstr.pronunciation == None:
                #	return message.reply_text("Translated from `{}` to `{}`:\n`{}`".format(target, target2, tekstr.text), parse_mode=ParseMode.MARKDOWN)
                #else:
                #	return message.reply_text("Translated from `{}` to `{}`:\n`{}`".format(target, target2, tekstr.pronunciation), parse_mode=ParseMode.MARKDOWN)

    except IndexError:
        update.effective_message.reply_text(
            "Reply to messages or write messages from other languages ​​for translating into the intended language\n\nExample: `/tl en-ja` to translate from English to Japanese\nOr use: `/tl ja` for automatic detection and translating it into Japanese.",
            parse_mode="markdown")
    except ValueError:
        update.effective_message.reply_text(
            "The intended language is not found!")
    else:
        return
Exemple #2
0
#pip install googletrans
from googletrans import Translator
translator = Translator()
Eng_src = 'Human is Good'
src = 'En'
dest = 'Ko'

tr_re = translator.translate(Eng_src, src=src, dest=dest)
print('String(', tr_re.src, ') :', Eng_src)
print('Trans(', tr_re.dest, ') :', tr_re.text, '\n')

import googletrans
print('번역 가능 언어: ', googletrans.LANGUAGES, '\n')

#service URL 변경
translator = Translator(service_urls=[
    'translate.google.com',
    'translate.google.co.kr',
])

#list로 문장 번역
translations = translator.translate(
    ['The quick brown fox', 'jumps over', 'the lazy dog'], dest='ko')
for translation in translations:
    print(translation.origin, ' -> ', translation.text)
print('\n')

#언어탐색
print(translator.detect('이 문장은 한글로 쓰여졌습니다.'))
Exemple #3
0
from slackeventsapi import SlackEventAdapter
from slackclient import SlackClient
import os
import re
from googletrans import Translator
import requests
port = os.environ['SLACK_APP_PORT']
translator = Translator()

slack_signing_secret = os.environ['SLACK_SIGNING_SECRET']
slack_events_adapter = SlackEventAdapter(slack_signing_secret, '/slack/events')

slack_bot_token = os.environ['SLACK_BOT_TOKEN']
api_address = os.environ['STACKY_API_ADDRESS']
slack_client = SlackClient(slack_bot_token)


@slack_events_adapter.on('app_mention')
def handle_message(event_data):
    print(event_data)
    message_reveived = event_data['event']

    # parse only user messages
    if 'subtype' not in message_reveived:
        message_reveived_clean = re.sub(r'<@[0-9A-Z].*?>',
                                        '',
                                        message_reveived['text'],
                                        flags=re.MULTILINE).strip()
        translated2en = translator.translate(message_reveived_clean, dest="en")
        r = requests.post('{}/process'.format(api_address),
                          json={'question': translated2en.text})
 def __init__(self):
     super(ThreatHuntingBook, self).__init__()
     self.translator = Translator()
     self.session = requests.Session()
     self._dataset = []
     self.__temp_attack_paths = []
Exemple #5
0
# -*- coding: utf-8 -*-

# requires a string to work. can also be a multi line string.

from googletrans import Translator, LANGUAGES
from random import choice

trans = Translator()

language_list = []
for lang in LANGUAGES:
    language_list.append(lang)

times_to_translate = 100
times_left = times_to_translate
translation = "INSERT TEXT TO TRANSLATE HERE"
print(translation)

for i in range(times_left):
    translation = trans.translate(translation, dest=choice(language_list)).text
    print(f"translated {i}/{times_to_translate} times")
print("-------------------------------------------------")
translation = trans.translate(translation, dest="en").text
print(translation)
Exemple #6
0
def bot():
    incoming_msg = request.values.get('Body', '')
    #print(incoming_msg)
    resp = MessagingResponse()
    msg = resp.message()
    responded = False

    if 'start' in incoming_msg:
        text = f'🤖 *Hallo, Selamat Datang Di Bot Buatan _Rahmad Ramadhani_ Jika Butuh Bantuan Lihat Command Dibawah\n\n📄*Berikut Command Yang Bisa Saya Lakukan* : \n\n🛡️ */FB* <url>. Untuk Mendownlad video *Facebook*.\n\n🛡️ */IG* <url>. Untuk Mendownlad Video *Instagram*. \n\n🛡️ */YT* <urL>. Untuk Mendownlad Video *Youtube*.\n\n🛡️ */GL* <query>. Untuk Menggunakan *Search Engine* \n\n🛡️ */TR* <pesan> Untuk Menggunakan *Translate eng_idn*\n\n🛡️ *help* Info Cara Menggunakan Tools'
        msg.body(text)
        responded = True
    else:
        responded = False

    if '/FB' in incoming_msg:
        import requests as r
        import re
        par = incoming_msg[3:]
        html = r.get(par)
        video_url = re.search('sd_src:"(.+?)"', html.text).group(1)
        msg.media(video_url)
        responded = True

    if '/YT' in incoming_msg:
        text = f'Coming Soon'
        msg.body(text)
        responded = True

    if '/IG' in incoming_msg:
        import requests as r
        par = incoming_msg[3:]
        a = r.get(par + '?__a=1')
        b = a.json()
        c = b['graphql']['shortcode_media']
        d = (c['video_url'])
        msg.media(d)
        responded = True

    if '/GL' in incoming_msg:
        from googlesearch import search
        query = incoming_msg[3:]
        for i in search(query, tld="com", num=10, stop=5, pause=2):
            text = f'==========Results==========\n\n *Reff* : ' + i
            msg.body(text)
            responded = True

    if '/TR' in incoming_msg:
        par = incoming_msg[3:]
        translator = Translator()
        result = translator.translate(par, src='id', dest='en')
        msg.body(result.text)
        responded = True

    if 'help' in incoming_msg:
        text = f'💻 *Help For Instagram*\n\n/IG Link Video Contoh : \n/IG https://www.instagram.com/p/BWhyIhRDBCw/\n\n\n*Note* : Link Harus Seperti Di Contoh Kalo link Akhirannya Ada ?utm_source=ig_web_copy_link hapus bagian itu\n\n 💻 *Help For Facebook*\n\n/FB _link video_ Contoh :\n\n/FB https://www.facebook.com/100010246050928/posts/1143182719366586/?app=fbl \n\n💻 *Help For Translate*\n\n/TR Text Yang Ingin Di Translate, Contoh :\n\n/TR Selamat Malam '
        msg.body(text)
        responded = True

    if responded == False:
        msg.body(
            'Maaf Saya Tidak Mengenal Perintah Itu :), Silahkan Ketik start Untuk Menunjukan Menu'
        )

    return str(resp)
Exemple #7
0
import pyautogui as gui
import webbrowser
import time
from matplotlib import pyplot as plt
import pytesseract
from googletrans import Translator

pytesseract.pytesseract.tesseract_cmd = "tesseract/4.1.0/bin/tesseract"
translator = Translator(service_urls=["translate.google.com"])


def click(path, after=0):
    time.sleep(after)
    try:
        pos = gui.locateOnScreen(path, grayscale=True, confidence=0.75)
        mid = gui.center(pos)
        gui.moveTo(mid)
        gui.mouseDown()
        gui.mouseUp()
        return True
    except:
        print(path + "button not found")
        return False


def getSentence():
    try:
        try:
            pos = gui.locateOnScreen('screenshots/sound.png',
                                     grayscale=True,
                                     confidence=0.5)
def main():
    st.sidebar.title("Developer Profile")
    if st.sidebar.checkbox("Show/Hide"):
        st.sidebar.markdown("Name : Shani Kumar")
        st.sidebar.markdown("Profile: B.tech (Computer Science Engineer) ")
        st.sidebar.subheader("Instagram Id")
        st.sidebar.markdown("https://www.instagram.com/shanikumar02/")
        img = Image.open("shanibhai.jpg")
        st.sidebar.image(img, width=200, caption="Shani Kumar")
    try:
        p = """<h1 style=text-align:center;background-color:wheat;color:black;border-radius:15px;padding-top:12px;margin-top:10px;>Welcome To Translator</h1>"""
        st.markdown(p, unsafe_allow_html=True)

        a = st.selectbox("Choose Source Language", [
            'english', 'hindi', 'amharic', 'arabic', 'armenian', 'azerbaijani',
            'basque', 'belarusian', 'bengali', 'bosnian', 'bulgarian',
            'catalan', 'cebuano', 'chichewa', 'chinese (simplified)',
            'chinese (traditional)', 'corsican', 'croatian', 'czech', 'danish',
            'dutch', 'afrikaans', 'esperanto', 'estonian', 'filipino',
            'finnish', 'french', 'frisian', 'galician', 'georgian', 'german',
            'greek', 'gujarati', 'haitian creole', 'hausa', 'hawaiian',
            'hebrew', 'hebrew', 'albanian', 'hmong', 'hungarian', 'icelandic',
            'igbo', 'indonesian', 'irish', 'italian', 'japanese', 'javanese',
            'kannada', 'kazakh', 'khmer', 'korean', 'kurdish (kurmanji)',
            'kyrgyz', 'lao', 'latin', 'latvian', 'lithuanian', 'luxembourgish',
            'macedonian', 'malagasy', 'malay', 'malayalam', 'maltese', 'maori',
            'marathi', 'mongolian', 'myanmar (burmese)', 'nepali', 'norwegian',
            'odia', 'pashto', 'persian', 'polish', 'portuguese', 'punjabi',
            'romanian', 'russian', 'samoan', 'scots gaelic', 'serbian',
            'sesotho', 'shona', 'sindhi', 'sinhala', 'slovak', 'slovenian',
            'somali', 'spanish', 'sundanese', 'swahili', 'swedish', 'tajik',
            'tamil', 'telugu', 'thai', 'turkish', 'ukrainian', 'urdu',
            'uyghur', 'uzbek', 'vietnamese', 'welsh', 'xhosa', 'yiddish',
            'yoruba', 'zulu'
        ])
        st.subheader("To")
        b = st.selectbox("Choose Destination Language", [
            'hindi', 'english', 'amharic', 'arabic', 'armenian', 'azerbaijani',
            'basque', 'belarusian', 'bengali', 'bosnian', 'bulgarian',
            'catalan', 'cebuano', 'chichewa', 'chinese (simplified)',
            'chinese (traditional)', 'corsican', 'croatian', 'czech', 'danish',
            'dutch', 'afrikaans', 'esperanto', 'estonian', 'filipino',
            'finnish', 'french', 'frisian', 'galician', 'georgian', 'german',
            'greek', 'gujarati', 'haitian creole', 'hausa', 'hawaiian',
            'hebrew', 'hebrew', 'albanian', 'hmong', 'hungarian', 'icelandic',
            'igbo', 'indonesian', 'irish', 'italian', 'japanese', 'javanese',
            'kannada', 'kazakh', 'khmer', 'korean', 'kurdish (kurmanji)',
            'kyrgyz', 'lao', 'latin', 'latvian', 'lithuanian', 'luxembourgish',
            'macedonian', 'malagasy', 'malay', 'malayalam', 'maltese', 'maori',
            'marathi', 'mongolian', 'myanmar (burmese)', 'nepali', 'norwegian',
            'odia', 'pashto', 'persian', 'polish', 'portuguese', 'punjabi',
            'romanian', 'russian', 'samoan', 'scots gaelic', 'serbian',
            'sesotho', 'shona', 'sindhi', 'sinhala', 'slovak', 'slovenian',
            'somali', 'spanish', 'sundanese', 'swahili', 'swedish', 'tajik',
            'tamil', 'telugu', 'thai', 'turkish', 'ukrainian', 'urdu',
            'uyghur', 'uzbek', 'vietnamese', 'welsh', 'xhosa', 'yiddish',
            'yoruba', 'zulu'
        ])
        c = st.text_area("Message box", height=170)
        if st.button("Translate"):
            t = Translator()
            result = t.translate(c, src=a, dest=b)
            st.text_area("", result.text, height=180)
    except:
        pass

    hide = """
    <style>
    #MainMenu{visibility:hidden;}
    footer{visibility:hidden;}
    </style>
    """
    st.markdown(hide, unsafe_allow_html=True)
from tkinter import *
from tkinter import ttk
from googletrans import Translator, LANGUAGES
translator = Translator(service_urls=['translate.googleapis.com'])

root = Tk()
root.geometry('1080x400')
root.resizable(0, 0)
root.title("Virtual Language Translator")
root.config(bg='light blue')

# heading
Label(root, text="LANGUAGE TRANSLATOR", font="arial 20 bold", bg='cyan').pack(side='top')
Label(root, text="MINI PROJECT", font='arial 20 bold', bg='cyan', width='20').pack(side='bottom')

# INPUT AND OUTPUT TEXT WIDGET
Label(root, text="Input", font='arial 13 bold', bg='white smoke').place(x=200, y=60)
Input_text = Text(root, font='arial 10', height=11, wrap=WORD, padx=5, pady=5, width=60)
Input_text.place(x=30, y=100)

Label(root, text="Output", font='arial 13 bold', bg='white smoke').place(x=780, y=60)
Output_text = Text(root, font='arial 10', height=11, wrap=WORD, padx=5, pady=5, width=60)
Output_text.place(x=600, y=100)

##################
#language selection dropdown menu
language = list(LANGUAGES.values())
src_lang = ttk.Combobox(root, values=language, width=22)
src_lang.place(x=20, y=60)
src_lang.set('Input Language')
#!/usr/bin/env python3
# coding: utf-8
import requests
from openpyxl import load_workbook
from googletrans import Translator
import os
import time

source_excel = "translate_language.xlsx"
base_path = os.path.dirname(os.path.realpath(__file__))
language_code = []
translator = Translator(service_urls=[
    'translate.google.cn'
])


def do_translate(text_english, target_lang):
    str_tran = translator.translate(text_english, src='en', dest=target_lang.strip()).text
    print(str_tran)
    return str_tran


def do_translate_chrome_ex(text_english, target_lang):
    url = "https://clients5.google.com/translate_a/t"
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.54 Safari/537.36'
    }
    proxies = {'http': 'socks5://127.0.0.1:10808', 'https': 'socks5://127.0.0.1:10808'}
    params = {
        'client': 'dict-chrome-ex',
        'sl': 'en',
Exemple #11
0
def translation_to_eng(text):
    translator = Translator()
    trans = translator.translate(text, 'en').text
    return trans
 def __init__(self):
     super().__init__()
     self.translator = Translator()
     #googletrans Translator 객체를 생성했다.
     self.initUI()
Exemple #13
0
 def __init__(self):
     super().__init__("Translate App", icon='icon.png', quit_button=None)
     self.dest_lang_title = 'portuguese'
     self.translator = Translator()
     self.update_menu()
    print(' 3)input  file = ' + inpFile)
    print(' 4)output file = ' + outFile)

    txt = ''
    rt = codecs.open(inpFile, 'r', 'shift_jis')
    for t in rt:
        txt = (txt + ' ' + str(t)).strip()
    rt.close
    rt = None

    if os.path.exists(outFile):
        os.remove(outFile)

    ggtxt = ''
    try:
        print(' ' + txt)

        gg = Translator()
        ggresult = gg.translate(txt, src=inplng, dest=outlng)
        ggtxt = ggresult.text

    except:
        print(' Error!', sys.exc_info()[0])
        sys.exit()

    print(' ' + ggtxt)
    w = codecs.open(outFile, 'w', 'shift_jis')
    w.write(ggtxt)
    w.close()
    w = None
Exemple #15
0
    def translate(from_lang, to_lang, text):
        translator = Translator()

        return translator.translate(text).text
Exemple #16
0
 def __init__(self):
     self.translator = Translator(service_urls=['translate.google.com'])
     self.langList = {}
     self.langList['ch'] = 'zh-CN'
     self.langList['en'] = 'en'
Exemple #17
0
def totranslate(update: Update, context: CallbackContext):
    msg = update.effective_message
    problem_lang_code = []
    for key in LANGUAGES:
        if "-" in key:
            problem_lang_code.append(key)
    try:
        if msg.reply_to_message and msg.reply_to_message.text:

            args = update.effective_message.text.split(None, 1)
            text = msg.reply_to_message.text
            message = update.effective_message
            dest_lang = None

            try:
                source_lang = args[1].split(None, 1)[0]
            except:
                source_lang = "en"

            if source_lang.count('-') == 2:
                for lang in problem_lang_code:
                    if lang in source_lang:
                        if source_lang.startswith(lang):
                            dest_lang = source_lang.rsplit("-", 1)[1]
                            source_lang = source_lang.rsplit("-", 1)[0]
                        else:
                            dest_lang = source_lang.split("-", 1)[1]
                            source_lang = source_lang.split("-", 1)[0]
            elif source_lang.count('-') == 1:
                for lang in problem_lang_code:
                    if lang in source_lang:
                        dest_lang = source_lang
                        source_lang = None
                        break
                if dest_lang is None:
                    dest_lang = source_lang.split("-")[1]
                    source_lang = source_lang.split("-")[0]
            else:
                dest_lang = source_lang
                source_lang = None

            exclude_list = UNICODE_EMOJI.keys()
            for emoji in exclude_list:
                if emoji in text:
                    text = text.replace(emoji, '')

            trl = Translator()
            if source_lang is None:
                detection = trl.detect(text)
                tekstr = trl.translate(text, dest=dest_lang)
                return message.reply_text(
                    f"Translated from `{detection.lang}` to `{dest_lang}`:\n`{tekstr.text}`",
                    parse_mode=ParseMode.MARKDOWN)
            else:
                tekstr = trl.translate(text, dest=dest_lang, src=source_lang)
                message.reply_text(
                    f"Translated from `{source_lang}` to `{dest_lang}`:\n`{tekstr.text}`",
                    parse_mode=ParseMode.MARKDOWN)
        else:
            args = update.effective_message.text.split(None, 2)
            message = update.effective_message
            source_lang = args[1]
            text = args[2]
            exclude_list = UNICODE_EMOJI.keys()
            for emoji in exclude_list:
                if emoji in text:
                    text = text.replace(emoji, '')
            dest_lang = None
            temp_source_lang = source_lang
            if temp_source_lang.count('-') == 2:
                for lang in problem_lang_code:
                    if lang in temp_source_lang:
                        if temp_source_lang.startswith(lang):
                            dest_lang = temp_source_lang.rsplit("-", 1)[1]
                            source_lang = temp_source_lang.rsplit("-", 1)[0]
                        else:
                            dest_lang = temp_source_lang.split("-", 1)[1]
                            source_lang = temp_source_lang.split("-", 1)[0]
            elif temp_source_lang.count('-') == 1:
                for lang in problem_lang_code:
                    if lang in temp_source_lang:
                        dest_lang = None
                        break
                    else:
                        dest_lang = temp_source_lang.split("-")[1]
                        source_lang = temp_source_lang.split("-")[0]
            trl = Translator()
            if dest_lang is None:
                detection = trl.detect(text)
                tekstr = trl.translate(text, dest=source_lang)
                return message.reply_text(
                    "Translated from `{}` to `{}`:\n`{}`".format(
                        detection.lang, source_lang, tekstr.text),
                    parse_mode=ParseMode.MARKDOWN)
            else:
                tekstr = trl.translate(text, dest=dest_lang, src=source_lang)
                message.reply_text(
                    "Translated from `{}` to `{}`:\n`{}`".format(
                        source_lang, dest_lang, tekstr.text),
                    parse_mode=ParseMode.MARKDOWN)

    except IndexError:
        update.effective_message.reply_text(
            "Reply to messages or write messages from other languages ​​for translating into the intended language\n\n"
            "Example: `/tr en-ml` to translate from English to Malayalam\n"
            "Or use: `/tr ml` for automatic detection and translating it into Malayalam.\n"
            "See [List of Language Codes](t.me/OnePunchSupport/12823) for a list of language codes.",
            parse_mode="markdown",
            disable_web_page_preview=True)
    except ValueError:
        update.effective_message.reply_text(
            "The intended language is not found!")
    else:
        return
Exemple #18
0
def languageDetection(input):

    #Assign Translator() to variable
    translator = Translator()
    # Print out the result for readability, remember to change to return.
    return translator.detect(input)
Exemple #19
0
from configparser import ConfigParser
from datetime import datetime
from urllib.request import urlretrieve, urlopen
from xml.etree import ElementTree
import re

from googletrans import Translator

from hortiradar.database import get_keywords, get_db, get_frog

# tags in the EMM are in English, therefore we need to translate the tags to Duth during processing
tlr = Translator()

keywords = get_keywords(local=True)
frog = get_frog()

db = get_db()
newsdb = db.news

config = ConfigParser()
config.read("../database/tasks_workers.ini")
posprob_minimum = config["workers"].getfloat("posprob_minimum")

pattern = re.compile(
    b"<td class=\"center_leadin\">Country:</td><td class=\"center_leadin\">([A-Za-z]+)</td>"
)


def check_if_exists(nid):
    return newsdb.find({"nid": nid}).count() > 0
Exemple #20
0
def translate(input, language):

    # Assign Translator() to variable
    translator = Translator()
    # Print Debug
    print(str(translator.translate(input, dest=language)))
Exemple #21
0
def terjemah(update, context):
    msg = update.effective_message
    chat_id = update.effective_chat.id
    getlang = langsql.get_lang(update.effective_message.from_user.id)
    try:
        if msg.reply_to_message and msg.reply_to_message.text:
            args = update.effective_message.text.split()
            if len(args) >= 2:
                target = args[1]
                if "-" in target:
                    target2 = target.split("-")[1]
                    target = target.split("-")[0]
                else:
                    target2 = None
            else:
                if getlang:
                    target = getlang
                    target2 = None
                else:
                    raise IndexError
            teks = msg.reply_to_message.text
            #teks = deEmojify(teks)
            exclude_list = UNICODE_EMOJI.keys()
            for emoji in exclude_list:
                if emoji in teks:
                    teks = teks.replace(emoji, '')
            message = update.effective_message
            trl = Translator()
            if target2 == None:
                deteksibahasa = trl.detect(teks)
                tekstr = trl.translate(teks, dest=target)
                send_message(
                    update.effective_message,
                    tl(update.effective_message,
                       "Diterjemahkan dari `{}` ke `{}`:\n`{}`").format(
                           deteksibahasa.lang, target, tekstr.text),
                    parse_mode=ParseMode.MARKDOWN)
            else:
                tekstr = trl.translate(teks, dest=target2, src=target)
                send_message(
                    update.effective_message,
                    tl(update.effective_message,
                       "Diterjemahkan dari `{}` ke `{}`:\n`{}`").format(
                           target, target2, tekstr.text),
                    parse_mode=ParseMode.MARKDOWN)

        else:
            args = update.effective_message.text.split(None, 2)
            if len(args) != 1:
                target = args[1]
                teks = args[2]
                target2 = None
                if "-" in target:
                    target2 = target.split("-")[1]
                    target = target.split("-")[0]
            else:
                target = getlang
                teks = args[1]
            #teks = deEmojify(teks)
            exclude_list = UNICODE_EMOJI.keys()
            for emoji in exclude_list:
                if emoji in teks:
                    teks = teks.replace(emoji, '')
            message = update.effective_message
            trl = Translator()
            if target2 == None:
                deteksibahasa = trl.detect(teks)
                tekstr = trl.translate(teks, dest=target)
                return send_message(
                    update.effective_message,
                    tl(update.effective_message,
                       "Diterjemahkan dari `{}` ke `{}`:\n`{}`").format(
                           deteksibahasa.lang, target, tekstr.text),
                    parse_mode=ParseMode.MARKDOWN)
            else:
                tekstr = trl.translate(teks, dest=target2, src=target)
                send_message(
                    update.effective_message,
                    tl(update.effective_message,
                       "Diterjemahkan dari `{}` ke `{}`:\n`{}`").format(
                           target, target2, tekstr.text),
                    parse_mode=ParseMode.MARKDOWN)
    except IndexError:
        send_message(
            update.effective_message,
            tl(
                update.effective_message,
                "Balas pesan atau tulis pesan dari bahasa lain untuk "
                "diterjemahkan kedalam bahasa yang di dituju\n\n"
                "Contoh: `/tr en-id` untuk menerjemahkan dari Bahasa inggris ke Bahasa Indonesia\n"
                "Atau gunakan: `/tr id` untuk deteksi otomatis dan menerjemahkannya kedalam bahasa indonesia"
            ),
            parse_mode="markdown")
    except ValueError:
        send_message(
            update.effective_message,
            tl(update.effective_message,
               "Bahasa yang di tuju tidak ditemukan!"))
    else:
        return
Exemple #22
0
import re
import string
from googletrans import Translator
lang_translator=Translator()
#lang_translator.translate(tweet,dest=lang).text

Dict=""":-) - basic smiley
:) - midget smiley
,-) - winking happy smiley
(-: - left hand smiley
(:-) - smiley big face
(:-( - very unhappy smiley
,-} - wry and winking smiley
8-O - Omigod
'-) - winking smiley
:-# - my lips are scaled
:-* - kiss
:-/ - skeptical smiley
:-> - sarcastic smiley
:-@ - screaming smiley
:-d - said with a smile
:-V - shouting smiley
:-X - a big wet kiss
:-\\ - undecided smiley
:-] - smiley blockhead
;-( - crying smiley
>;-> - a very lewd remark was just made
;^) - smirking smiley
%-) - smiley after staring at a screen for 15 hours straight
):-( - nordic smiley
3:] - Lucy my pet dog smiley
Exemple #23
0
 def __init__(self, url='translate.google.cn'):
     self.translator = Translator(service_urls=[url])
     self.engine = 'google'
Exemple #24
0
 def __init__(self):
     self.translator = Translator(service_urls=[
         'translate.google.com',
         'translate.google.co.kr',
     ])
 def translate(self, list_review):
     translator = Translator()
     for index in range(len(list_review)):
         translation = translator.translate(list_review[index])
         list_review[index] = translation.text
     return list_review
Exemple #26
0
def translateSingleMessageToEng(message):
    translator = Translator()
    translated = translator.translate(message, dest ='en', src ='sv').text
    print(translated)
    return translated
Exemple #27
0
from googletrans import Translator

t = Translator()

def translate_en_zh(s):
	return t.translate(s  , dest = "zh-CN").text

def convert(s):
	print (t.translate(s).text)
	return t.translate(t.translate(s).text , dest = "zh-CN").text

if __name__ == "__main__":
	#play
	while True:
		print (convert(input(">>")))
Exemple #28
0
 def translate(self, string, src, dest):
     trans = Translator()
     t = trans.translate(string, src=src, dest=dest)
     return t.text
Exemple #29
0
    def insert_meaning(self, word):
        ch_sim = word
        self.simp = ch_sim
        self.ch_sim_entry.delete(0, 'end')

        ch_pin = ""
        ch_mean = ""
        ch_trad = HanziConv.toTraditional(ch_sim)
        ch_audio = "[sound:xiehanzi/cmn-" + ch_sim + ".mp3]"

        found = False

        try:
            j = "json_data/" + ch_sim + ".json"
            f = open(j, encoding="utf-8")
            d = json.load(f)

            # when pinyin present in json file, fetch from there as pinyin library provide incorrect pinyin
            try:
                ch_pin = pinyinize(d["pinyin"])
                if self.contains_digit(ch_pin):
                    raise Exception('Contain number')
            except Exception as error:
                ch_pin = pinyin.get(ch_sim)

            i = 0
            for i in range(len(d['definitions'])):
                ch_mean += str(d["definitions"][i]) + ", "

            ch_mean = ch_mean.rstrip(', ')

            found = True
        except:
            print("json not found in data folder, fetching online")

        if not found and len(ch_sim) > 0:
            ch_pin = pinyin.get(ch_sim)

            translator = Translator()
            t = translator.translate(ch_sim, src='zh-cn', dest="en")
            ch_mean = t.text

        self.ch_sent = ""
        self.ch_sent_pinyin = ""
        self.ch_sent_translate = ""

        if len(ch_sim) > 0:
            try:
                if self.addAudio.get() and self.addSentence.get():
                    self.treeview.insert(
                        '',
                        'end',
                        text=ch_sim,
                        values=(ch_trad, ch_pin, ch_mean, self.ch_sent,
                                self.ch_sent_pinyin, self.ch_sent_translate,
                                ch_audio))
                    self.save_audio(ch_sim)
                else:
                    if self.addAudio.get():
                        self.treeview.insert('',
                                             'end',
                                             text=ch_sim,
                                             values=(ch_trad, ch_pin, ch_mean,
                                                     ch_audio))
                        self.save_audio(ch_sim)
                    elif self.addSentence.get():
                        self.treeview.insert('',
                                             'end',
                                             text=ch_sim,
                                             values=(ch_trad, ch_pin, ch_mean,
                                                     self.ch_sent,
                                                     self.ch_sent_pinyin,
                                                     self.ch_sent_translate))
                    else:
                        self.treeview.insert('',
                                             'end',
                                             text=ch_sim,
                                             values=(ch_trad, ch_pin, ch_mean))

            except:
                print("Insert Error")
Exemple #30
0
def service(elements):
    """
    service function translates elements (words/sentences) from english to all available (in database) languages;
    It stores them in the database "lang_support_db" tables in a really organized way.
    Parameter:
        elements:list:string: List of elements to be translated.
    """
    try:
        # Connect to MySQL database
        with connect(host='localhost',
                     user=input('Enter database username: '******'Enter database password: '******'lang_support_db') as conn:
            print('Success!')

            cur = conn.cursor()
            elem_ids = []
            translations = []

            # Insert elements in the table with stored procedure
            # Get their ids in "elem_ids" list
            for elem in elements:
                args = [elem, 0]
                tmp_res = cur.callproc('ins_into_elements', args)
                elem_ids.append(tmp_res[1])
            # Ids in "elem_ids" will be ordered the same way as the actual elements in the "elements" list
            # So it will be safe to use for inserting with other field lists later

            # Get all available languages with their ids and abbreviations
            cur.execute(
                'select * from lang_support_db.languages_lst order by language_id asc'
            )
            langs = cur.fetchall()  # List of tuples like: (1, "English", "en")

            # Start translating from english to all the available (in database) languages
            translator = Translator()
            for lang in langs:
                for i in range(len(elements)):
                    translated = translator.translate(elements[i],
                                                      src='en',
                                                      dest=lang[2]).text
                    translations.append((elem_ids[i], lang[0], translated))
                    # "translations" - List of tuples, later used in database stored procedure arguments

            for trans in translations:
                cur.callproc('ins_into_translations', trans)

            print('\nSuccessful database "lang_support_db" action.')
            print('Please, standby...\n')

        # Create and transform the dataframe for visuzlizing translations in terminal
        df = pd.DataFrame()
        df.insert(0, 'en', elements)
        trans = {}

        for lang in langs:
            for el in df['en']:
                # Add translation to the dictionary
                trans[el] = translator.translate(el, src='en',
                                                 dest=lang[2]).text

            df.insert(0, lang[2], trans)

        print(df.head())
        print('\nSuccess!')
    except Error as e:
        print(e)