File size: 1,931 Bytes
b8cc7cf
4d13f14
10f8e16
b8cc7cf
 
10f8e16
4d13f14
7f13aa1
4d13f14
7f13aa1
 
4d13f14
7f13aa1
 
4d13f14
7f13aa1
4d13f14
a602080
b8cc7cf
 
4d13f14
 
 
7f13aa1
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c9603ef
7f13aa1
4d13f14
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 cuadros de texto más grandes y una instrucción para copiar.
    """
    gr.Markdown("# Traductor Inglés a Español")
    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()