File size: 1,227 Bytes
9d96850
aba198b
9d96850
 
 
 
 
 
 
37224ba
31ed4a8
 
914dcb3
9d96850
 
 
 
 
 
37224ba
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
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)}")