Shularp's picture
Update app.py
ee6702c
# -*- coding: utf-8 -*-
"""Gradio Course 04 - Test.ipynb
Automatically generated by Colaboratory.
Original file is located at
https://colab.research.google.com/drive/1QdsZHyXpY78iytNDhpBZmMTKRcb_27nQ
"""
#!pip install gradio transformers googletrans==4.0.0rc1 transformers[sentencepiece] --quiet
import gradio as gr
from transformers import pipeline
from googletrans import Translator
model_card_en2ar = 'Shularp/model-translate-en-to-ar-from-320k-dataset-ar-en-th2301191458'
model_card_th2en = 'Helsinki-NLP/opus-mt-th-en'
translate_en2ar = pipeline("translation", model = model_card_en2ar)
translate_th2en = pipeline("translation", model = model_card_th2en)
def tx_th2en(text):
result_en = translate_th2en(text)[0]['translation_text']
return (result_en)
def tx_en2ar(text):
result_ar = translate_en2ar(text)[0]['translation_text']
return (result_ar)
def tx_th2ar(text):
result_en = translate_th2en(text)[0]['translation_text']
result_ar = translate_en2ar(result_en)[0]['translation_text']
#return result_en, result_ar
return result_ar
def trans_via_google(text,source, target):
google_trans = Translator() #reduce problem timeout runtime.
return google_trans.translate(text = text, src = source, dest = target).text
def translate_en2th(text):
google_trans = Translator() #reduce problem timeout runtime.
return google_trans.translate(text = text, src = 'en', dest = 'th').text
def null(text):
return "ยังไม่ได้รองการแปลจากภาษาอังกฤษเป็นภาษาไทย"
with gr.Blocks() as demo:
with gr.Row():
with gr.Column():
input_thai = gr.Textbox(label = 'ข้อความภาษาไทย')
translate_btn = gr.Button(value = 'Translate to En and Ar')
with gr.Column():
input_en = gr.Textbox(label = 'English Text')
translate_en_btn = gr.Button(value = 'Translate to Ar')
with gr.Column():
result_ar = gr.Textbox(label = 'ข้อความภาษาอาหรับ')
translate_btn.click(tx_th2en, inputs = input_thai, outputs=input_en)
translate_btn.click(tx_th2ar, inputs = input_thai, outputs=result_ar)
translate_en_btn.click(tx_en2ar, inputs = input_en, outputs=result_ar)
translate_en_btn.click(translate_en2th,inputs = input_en, outputs= input_thai)
demo.launch()