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.') | |