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