Spaces:
Sleeping
Sleeping
import streamlit as st | |
from transformers import pipeline | |
# Function to load the translation pipeline based on the target language | |
def load_translation_pipeline(target_language): | |
if target_language == "French": | |
model_name = "Helsinki-NLP/opus-mt-en-fr" | |
elif target_language == "Spanish": | |
model_name = "Helsinki-NLP/opus-mt-en-es" | |
elif target_language == "German": | |
model_name = "Helsinki-NLP/opus-mt-en-de" | |
else: | |
st.error("Target language not supported!") | |
return None | |
return pipeline("translation", model=model_name) | |
# Streamlit app layout | |
st.title("Language Translator") | |
# Input text to translate | |
text = st.text_area("Enter text in English to translate:") | |
# Select target language | |
target_language = st.selectbox( | |
"Select target language:", | |
["French", "Spanish", "German"] # Add more languages if needed | |
) | |
# Translate button | |
if st.button("Translate"): | |
if text: | |
# Load the translation pipeline based on selected language | |
translation_pipeline = load_translation_pipeline(target_language) | |
if translation_pipeline: | |
# Perform translation | |
translation = translation_pipeline(text) | |
translated_text = translation[0]['translation_text'] | |
st.write(f"**Translated text in {target_language}:**") | |
st.write(translated_text) | |
else: | |
st.error("Please enter text to translate.") | |