Spaces:
Sleeping
Sleeping
import streamlit as st | |
import time | |
from transformers import pipeline | |
st.title("Enhanced Multilingual Translator Chatbot") | |
# Choose the translation models from Hugging Face | |
translation_models = { | |
"English to German": "Helsinki-NLP/opus-mt-en-de", | |
"German to English": "Helsinki-NLP/opus-mt-de-en", | |
"English to French": "Helsinki-NLP/opus-mt-en-fr", | |
"French to English": "Helsinki-NLP/opus-mt-fr-en", | |
"English to Urdu": "Helsinki-NLP/opus-mt-en-ur", | |
"Urdu to English": "Helsinki-NLP/opus-mt-ur-en", | |
"English to Spanish": "Helsinki-NLP/opus-mt-en-es", | |
"Spanish to English": "Helsinki-NLP/opus-mt-es-en", | |
"English to Chinese": "Helsinki-NLP/opus-mt-en-zh", | |
"Chinese to English": "Helsinki-NLP/opus-mt-zh-en", | |
# Add more language pairs as needed | |
} | |
selected_translation = st.selectbox("Select translation model", list(translation_models.keys())) | |
# Load the translation pipeline | |
translator = pipeline(task="translation", model=translation_models[selected_translation]) | |
# User input for translation | |
user_input = st.text_area("Enter text for translation:", "") | |
# Display loading indicator | |
if st.button("Translate"): | |
with st.spinner("Translating..."): | |
# Simulate translation delay for demonstration | |
time.sleep(2) | |
if user_input: | |
# Perform translation | |
translated_text = translator(user_input, max_length=500)[0]['translation_text'] | |
st.success(f"Translated Text: {translated_text}") | |
else: | |
st.warning("Please enter text for translation.") | |
# Clear button to reset input and result | |
if st.button("Clear"): | |
user_input = "" | |
st.success("Input cleared.") | |
st.empty() # Clear previous results if any | |
st.markdown("---") | |
st.subheader("About") | |
st.write( | |
"This is an enhanced Multilingual Translator chatbot that uses the Hugging Face Transformers library." | |
) | |
st.write( | |
"Select a translation model from the dropdown, enter text, and click 'Translate' to see the translation." | |
) | |