import streamlit as st from transformers import pipeline # Title of the app st.title("🌐 Language Translator") # Load translation pipeline @st.cache_resource def load_translation_pipeline(language_code): model_name = f"Helsinki-NLP/opus-mt-en-{language_code}" return pipeline("translation", model=model_name) # Input text text_to_translate = st.text_area("Enter text in English to translate:") # Target language selection languages = { "German": "de", "French": "fr", "Spanish": "es", "Italian": "it", "Chinese": "zh", "Hindi": "hi", } target_language = st.selectbox("Select target language:", options=list(languages.keys())) # Translation action if st.button("Translate"): if not text_to_translate.strip(): st.warning("Please enter some text to translate.") else: # Get the language code for the selected target language language_code = languages[target_language] # Load the translation model translator = load_translation_pipeline(language_code) # Perform translation with st.spinner("Translating..."): try: result = translator(text_to_translate)[0]['translation_text'] st.success("Translated Text:") st.write(result) except Exception as e: st.error(f"An error occurred: {e}")