# Save this as `app.py` import streamlit as st from transformers import pipeline # Set page configuration st.set_page_config( page_title="Multilingual Text Translator", page_icon="🌍", layout="centered", ) # Title and Description st.title("🌍 Multilingual Text Translator") st.write("Translate text seamlessly across multiple languages with ease!") # Add some spacing and styling st.markdown( """ """, unsafe_allow_html=True, ) # Sidebar for user input st.sidebar.header("🌐 Translation Settings") languages = { "English": "en", "French": "fr", "Spanish": "es", "German": "de", "Chinese": "zh", "Arabic": "ar", "Hindi": "hi" } source_language_full = st.sidebar.selectbox( "Source Language", list(languages.keys()) ) target_language_full = st.sidebar.selectbox( "Target Language", list(languages.keys()) ) source_language = languages[source_language_full] target_language = languages[target_language_full] # Text input st.subheader("Enter the text you want to translate:") text = st.text_area("Type or paste your text below:", height=150) if st.button("🌟 Translate Now!"): if text.strip(): try: # Load translation model st.spinner("Loading translation model...") translator = pipeline( "translation", model=f"Helsinki-NLP/opus-mt-{source_language}-{target_language}" ) # Translate text with st.spinner("Translating..."): translation = translator(text, max_length=400)[0]["translation_text"] st.success("✅ Translation Completed!") st.subheader("Translated Text:") st.write(f"### {translation}") except ImportError: st.error( "⚠️ Required library `sentencepiece` is missing. " "Please make sure to include it in your dependencies." ) except Exception as e: st.error(f"❌ An unexpected error occurred: {e}") else: st.warning("⚠️ Please enter some text to translate!") # Footer st.markdown( """ --- 🌟 Developed with ❤️ using [Streamlit](https://streamlit.io) and [Hugging Face](https://huggingface.co) """ )