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