Spaces:
Sleeping
Sleeping
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)}") |