Tuesday, September 7, 2021

Transliteration tool (googletrans) - Contributed by Mathew Tharakan

from googletrans import Translator

from tkinter import *

from tkinter import messagebox


root = Tk()

root.geometry('300x100')


print('''\

'af': 'afrikaans',  'sq': 'albanian',     'am': 'amharic',   'ar': 'arabic',

'hy': 'armenian',   'az': 'azerbaijani',  'eu': 'basque',    'be': 'belarusian',

'bn': 'bengali',    'bs': 'bosnian',      'bg': 'bulgarian', 'ca': 'catalan',

'ceb': 'cebuano',   'ny': 'chichewa',     'zh-cn': 'chinese (simplified)',

'zh-tw': 'chinese (traditional)',         'co': 'corsican',  'hr': 'croatian',

'cs': 'czech',      'da': 'danish',       'nl': 'dutch',     'en': 'english',

'eo': 'esperanto',  'et': 'estonian',     'tl': 'filipino',  'fi': 'finnish',

'fr': 'french',     'fy': 'frisian',      'gl': 'galician',  'ka': 'georgian',

'de': 'german',     'el': 'greek',        'gu': 'gujarati',  'ht': 'haitian',

'ha': 'hausa',      'haw': 'hawaiian',    'iw': 'hebrew',    'he': 'hebrew',

'hi': 'hindi',      'hmn': 'hmong',       'hu': 'hungarian', 'is': 'icelandic',

'ig': 'igbo',       'id': 'indonesian',   'ga': 'irish',     'it': 'italian',

'ja': 'japanese',   'jw': 'javanese',     'kn': 'kannada',   'kk': 'kazakh',

'km': 'khmer',      'ko': 'korean',       'ku': 'kurdish',   'ky': 'kyrgyz',

'lo': 'lao',        'la': 'latin',        'lv': 'latvian',   'lt': 'lithuanian',

'lb': 'luxembourg', 'mk': 'macedonian',   'mg': 'malagasy',  'ms': 'malay',

'ml': 'malayalam',  'mt': 'maltese',      'mi': 'maori',     'mr': 'marathi',

'mn': 'mongolian',  'my': 'myanmar',      'ne': 'nepali',    'no': 'norwegian',

'or': 'odia',       'ps': 'pashto',       'fa': 'persian',   'pl': 'polish',

'pt': 'portuguese', 'pa': 'punjabi',      'ro': 'romanian',  'ru': 'russian',

'sm': 'samoan',     'gd': 'scots gaelic', 'sr': 'serbian',   'st': 'sesotho',

'sn': 'shona',      'sd': 'sindhi',       'si': 'sinhala',   'sk': 'slovak',

'sl': 'slovenian',  'so': 'somali',       'es': 'spanish',   'su': 'sundanese',

'sw': 'swahili',    'sv': 'swedish',      'tg': 'tajik',     'ta': 'tamil',

'te': 'telugu',     'th': 'thai',         'tr': 'turkish',   'uk': 'ukrainian',

'ur': 'urdu',       'ug': 'uyghur',       'uz': 'uzbek',     'vi': 'vietnamese',

'cy': 'welsh',      'xh': 'xhosa',        'yi': 'yiddish',   'yo': 'yoruba',

'zu': 'zulu' ''')


def translate():

  try:

    translater = Translator()

    out = translater.translate(e1.get(), dest=e2.get())

    messagebox.showinfo('Translation', out.text)

    print(out.text)

  except:

    messagebox.showinfo('Translation', "Sorry couldn't translate")


l1 = Label(root, text='Text')

l1.grid(row=1, column=0)


e1 = Entry(root, width=30, font=("Helvetica", 16, "bold"))

e1.grid(row=1, column=1)


l2 = Label(root, text='language')

l2.grid(row=2, column=0)


e2 = Entry(root, width=30, font=("Helvetica", 16, "bold"))

e2.grid(row=2, column=1)


btn = Button(root, text="Translate", command=translate)

btn.grid(row=3, column=1)


root.mainloop()

No comments:

Post a Comment