Javitron4257's picture
This is the version 1.0 of app.py which is able to change languages
4ef5ec1 verified
from transformers import pipeline
import gradio as gr
modelo_en_es="Helsinki-NLP/opus-mt-en-es"
option="Choose a language"
opcion="Escoge una opcion"
text1="Text to translate"
text2="Translation"
modelo_es_en="Helsinki-NLP/opus-mt-es-en"
texto1="Texto a traducir"
texto2="Texto traducido"
enviar="Enviar"
def traductor(prompt,modelo):
pipe = pipeline("translation", model= modelo_en_es if modelo=="En-Es" else modelo_es_en)
frase_traducida=pipe(prompt)
return frase_traducida[0]['translation_text']
# def actualizar(modelo):
# if modelo== "En-es":
# return text1, text2
# else:
# return texto1, texto2
def actualizar(modelo):
if modelo == "En-Es":
return gr.update(label=text1), gr.update(label=text2), gr.update(label=option)
else:
return gr.update(label=texto1), gr.update(label=texto2), gr.update(label=opcion)
with gr.Blocks() as demo:
with gr.Row():
modelo=gr.Dropdown(["En-Es","Es-En"],label="Choose a language", value="En-Es")
with gr.Row():
with gr.Column():
# txtbox1= gr.Textbox(label= text1 if modelo == "En-Es" else texto1)
txtbox1= gr.Textbox(label=text1)
with gr.Column():
# txtbox2= gr.Textbox(label= text2 if modelo == "En-Es" else texto2)
txtbox2= gr.Textbox(label= text2)
submit=gr.Button("Submit")
modelo.change(actualizar,inputs=modelo, outputs=[txtbox1, txtbox2,modelo])
submit.click(traductor,inputs=[txtbox1,modelo],outputs=txtbox2)
demo.launch()