File size: 1,971 Bytes
b8cc7cf
4d13f14
10f8e16
b8cc7cf
 
10f8e16
4d13f14
7f13aa1
4d13f14
7f13aa1
 
4d13f14
7f13aa1
 
4d13f14
7f13aa1
4d13f14
a602080
b8cc7cf
 
4d13f14
 
 
7f13aa1
 
 
 
 
 
 
 
 
 
 
 
 
ede4f5f
7f13aa1
ede4f5f
7f13aa1
ede4f5f
b8cc7cf
 
a602080
b8cc7cf
 
c9603ef
 
7f13aa1
4d13f14
 
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
from transformers import pipeline
import gradio as gr

# Define el modelo de traducción inglés-español
modelo_traduccion = pipeline("translation", model="Helsinki-NLP/opus-mt-en-es")

def traducir_texto(texto_en):
    """
    Traduce el texto de entrada del inglés al español utilizando el modelo predefinido.

    Args:
        texto_en (str): El texto en inglés que se va a traducir.

    Returns:
        str: El texto traducido al español.
    """
    try:
        if not texto_en.strip():
            return ""
        resultado = modelo_traduccion(texto_en)
        return resultado[0]['translation_text']
    except Exception as e:
        return f"Error en la traducción: {e}"

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

    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 de inglés a español con título centralizado y cuadros de texto más grandes.
    """
    gr.Markdown("<h1 align='center'><font face='Arial'>Traductor Inglés a Español</font></h1>")
    with gr.Row():
        with gr.Column():
            texto_entrada_en = gr.Textbox(label="Texto en inglés", placeholder="Pega aquí el texto en inglés", lines=10)
            boton_borrar = gr.Button("Borrar todo")
        with gr.Column():
            texto_salida_es = gr.Textbox(label="Traducción al español", placeholder="La traducción aparecerá aquí", interactive=False, lines=10)
            gr.Markdown("*Puedes copiar el texto traducido seleccionándolo y usando Ctrl+C (o Cmd+C en macOS).*")

    texto_entrada_en.change(traducir_texto, inputs=texto_entrada_en, outputs=texto_salida_es)
    boton_borrar.click(borrar_entrada, inputs=texto_entrada_en, outputs=texto_entrada_en)

interfaz_traductor.launch()