12.10.2016 г.

Google Translate

# -*- coding: utf-8 -*-
import requests #For get url source code
from bs4 import BeautifulSoup as bs # For search to answer
from Tkinter import * #For tkinter

def translate(Entry, Ask_Lang, Ret_Lang):
    """Return result from google, first configure for what lang to be check"""
    url = 'http://translate.google.com/?sl={}&tl={}&text='.format(Ask_Lang, Ret_Lang)
    q = '+{}'.format(Entry.encode("utf-8"))
    full_url = '{}{}'.format(url, q)
    soup = bs(requests.get(full_url).content, 'lxml')
    result = soup.find('div', {'id': 'gt-res-content'}).find('span',
                        {'id': 'result_box'}).text
    return result.encode("utf-8")


def test():
    Entry = E.get()
    if v.get() == 1:
        Ask_Lang = 'bg'
        Ret_Lang = 'en'
    else:
        Ask_Lang = 'en'
        Ret_Lang = 'bg'
    Translate_Entry = translate(Entry, Ask_Lang, Ret_Lang)
    E_Result.insert(END, Translate_Entry)


def _enter(event):
"""Key Bind to function"""
    test()



#Tkinter configure is here
root = Tk()
root.title("Google translate")
root.geometry("290x75+100+50")
root.bind('<Return>', _enter )
#First label
L = Label(root, text="Enter some word")
L.grid(row=0)
#Entry Label
E = Entry(root)
E.focus()
E.grid(row=0, column=1)
#Second Label
L_Result = Label(root, text="The result")
L_Result.grid(row=1, column=0, sticky=NW)
#Button
Translate = Button(root, text="Translate", command=test, bg='lightgreen', padx=2, pady=2, relief=RAISED)
Translate.grid(row=2,column=0, sticky=W)
#Check Box
v = IntVar()
Check_Box = Checkbutton( root, text="BG", variable= v, offvalue = 0, onvalue= 1 )
Check_Box.grid(row=0, column=2)
#View result is here
E_Result = Entry(root)
E_Result.grid(row=1, column=1)


if __name__ == "__main__":
    root.mainloop()