saima730's picture
Update app.py
5a827a5 verified
raw
history blame
1.45 kB
import streamlit as st
from transformers import pipeline
# Function to load the translation pipeline based on the target language
@st.cache_resource
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.')