import streamlit as st from googletrans import Translator, LANGUAGES # Streamlit app st.title("Text Translator") # Input text user_text = st.text_area("Enter the text you want to translate:") # Target language selection with a unique key st.subheader("Select the target language for translation:") target_language_options = {lang: code for code, lang in LANGUAGES.items()} selected_target_language = st.selectbox("Select a target language:", list(target_language_options.keys()), key="target_language") # Initialize the translator translator = Translator() # Translate the text when the user clicks the "Translate" button if st.button("Translate"): try: # Translate the input text to the target language translated = translator.translate( user_text, dest=target_language_options[selected_target_language] ) # Check if translation is not None if translated is not None: translated_text = translated.text translated_language = LANGUAGES[translated.dest] st.success(f"Translated text ({translated_language}): {translated_text}") else: st.error("Translation failed: Empty text") except Exception as e: st.error(f"Translation failed: {str(e)}")