File size: 2,220 Bytes
7f13aa1
 
10f8e16
 
 
 
7f13aa1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
import gradio as gr

from transformers import pipeline

pipe = pipeline("translation", model="Helsinki-NLP/opus-mt-en-es")

def invertir_texto(texto):
    """
    Invierte el texto de entrada.

    Esta funci贸n toma una cadena de texto como entrada y devuelve la cadena invertida.
    En una aplicaci贸n de traducci贸n real, esta funci贸n se reemplazar铆a con un modelo de traducci贸n.

    Args:
        texto (str): El texto que se va a invertir.

    Returns:
        str: El texto invertido.
    """
    return texto[::-1]

def borrar_entrada(texto_entrada):
    """
    Borra el texto del cuadro de texto de entrada.

    Esta funci贸n toma el texto actual del cuadro de texto de entrada y devuelve una cadena vac铆a,
    lo que efectivamente borra el contenido del cuadro.

    Args:
        texto_entrada (str): El texto actual en el cuadro de texto de entrada.

    Returns:
        str: Una cadena vac铆a.
    """
    return ""

with gr.Blocks() as interfaz_traductor:
    """
    Define la interfaz gr谩fica de la aplicaci贸n de traducci贸n.

    Este bloque WITH crea y gestiona todos los componentes de la interfaz.
    Aqu铆 se define la estructura principal de la GUI.
    """
    # T铆tulo de la aplicaci贸n
    gr.Markdown("# Mini Traductor")

    # Componente para la entrada de texto
    texto_entrada = gr.Textbox(label="Texto a traducir", placeholder="Pega aqu铆 el texto")

    # Bot贸n para borrar el texto de entrada
    boton_borrar = gr.Button("Borrar todo")

    # Componente para la salida del texto traducido
    texto_salida = gr.Textbox(label="Traducci贸n", placeholder="La traducci贸n aparecer谩 aqu铆", interactive=False)

    # Definici贸n de las interacciones: cuando el texto de entrada cambia, se llama a 'invertir_texto'
    texto_entrada.change(invertir_texto, inputs=texto_entrada, outputs=texto_salida)

    # Definici贸n de la interacci贸n: cuando se hace clic en el bot贸n 'Borrar todo', se llama a 'borrar_entrada'
    boton_borrar.click(borrar_entrada, inputs=texto_entrada, outputs=texto_entrada)

    # Ejemplos para facilitar la interacci贸n del usuario
    gr.Examples([["Hola Mundo"], ["驴C贸mo est谩s?"], ["Gracias"]], inputs=texto_entrada)

interfaz_traductor.launch()