|
import streamlit as st |
|
from transformers import pipeline |
|
|
|
|
|
st.markdown( |
|
""" |
|
<style> |
|
.title { |
|
text-align: center; |
|
color: #4CAF50; /* Color del título */ |
|
font-size: 36px; /* Tamaño del texto */ |
|
margin-bottom: 20px; /* Espacio debajo del título */ |
|
} |
|
.text-area { |
|
margin-bottom: 20px; /* Espacio debajo del área de texto */ |
|
} |
|
.selectbox { |
|
margin-bottom: 20px; /* Espacio debajo del selectbox */ |
|
} |
|
</style> |
|
""", |
|
unsafe_allow_html=True |
|
) |
|
|
|
st.markdown('<h1 class="title">Traducción Instantánea</h1>', unsafe_allow_html=True) |
|
st.markdown('<h1 class="title">Inglés - Español y Español - Inglés</h1>', unsafe_allow_html=True) |
|
|
|
|
|
modelo_en_es = 'Helsinki-NLP/opus-mt-en-es' |
|
modelo_es_en = 'Helsinki-NLP/opus-mt-es-en' |
|
|
|
traductor_en_es = pipeline('translation', model=modelo_en_es) |
|
traductor_es_en = pipeline('translation', model=modelo_es_en) |
|
|
|
|
|
|
|
texto_a_traducir = st.text_area("Introduce el texto que deseas traducir:", "", key="text_area", height=150) |
|
|
|
|
|
st.write("") |
|
|
|
|
|
modo_traduccion = st.selectbox("Selecciona el modo de traducción:", |
|
["Inglés a Español", "Español a Inglés"], key="selectbox") |
|
|
|
if st.button("Traducir"): |
|
if texto_a_traducir: |
|
if modo_traduccion == "Inglés a Español": |
|
|
|
resultado = traductor_en_es([texto_a_traducir]) |
|
st.write("Traducción al español:") |
|
st.write(resultado[0]['translation_text']) |
|
else: |
|
|
|
resultado = traductor_es_en([texto_a_traducir]) |
|
st.write("Traducción al inglés:") |
|
st.write(resultado[0]['translation_text']) |
|
else: |
|
st.warning("Por favor, introduce un texto para traducir.") |
|
|
|
|
|
|
|
|
|
|