File size: 2,326 Bytes
b8cc7cf
4d13f14
10f8e16
b8cc7cf
 
10f8e16
4d13f14
7f13aa1
4d13f14
7f13aa1
 
4d13f14
7f13aa1
 
4d13f14
7f13aa1
4d13f14
a602080
b8cc7cf
 
4d13f14
 
 
7f13aa1
 
 
 
 
 
 
 
 
 
 
 
 
ede4f5f
7f13aa1
23019d7
7f13aa1
dc71bb1
 
 
 
 
 
 
23019d7
dc71bb1
b8cc7cf
 
dc71bb1
 
b8cc7cf
dc71bb1
23019d7
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
54
55
56
57
58
59
60
61
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 fuente Roboto (intento corregido).
    """
    gr.HTML("""
        <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap">
        <style>
            body, button, input, textarea, div {
                font-family: 'Roboto', sans-serif !important;
            }
        </style>
        <h1 style='text-align: center; font-family: Roboto, sans-serif;'>Traductor Inglés a Español</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).*", styles={"font-family": "Roboto, sans-serif"})

    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()