File size: 1,529 Bytes
4ef5ec1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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()