Shahabmoin commited on
Commit
071fbdb
·
verified ·
1 Parent(s): 46269ed

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -17
app.py CHANGED
@@ -1,9 +1,9 @@
1
- import streamlit as st
2
- from googletrans import Translator
3
- from streamlit_option_menu import option_menu
4
-
5
- # Initialize the Translator
6
- translator = Translator()
7
 
8
  # Configure Streamlit page settings
9
  st.set_page_config(page_title="Language Translator", layout="wide")
@@ -15,23 +15,24 @@ st.write("Translate text seamlessly between multiple languages.")
15
  # Sidebar for language selection
16
  with st.sidebar:
17
  st.header("Language Settings")
18
- input_language = st.selectbox("Select Input Language:", options=['auto', 'en', 'es', 'fr', 'de', 'zh-cn', 'hi', 'ar', 'ru'], index=0, format_func=lambda x: 'Auto Detect' if x == 'auto' else x)
19
- output_language = st.selectbox("Select Output Language:", options=['en', 'es', 'fr', 'de', 'zh-cn', 'hi', 'ar', 'ru'], index=1)
20
 
21
  # Input text area
22
  input_text = st.text_area("Enter text to translate:", placeholder="Type or paste text here...")
23
 
24
  # Translation logic
25
  if input_text.strip():
26
- try:
27
- # Perform translation
28
- translation = translator.translate(input_text, src=input_language, dest=output_language)
29
- st.subheader("Translated Text:")
30
- st.success(translation.text)
31
- except Exception as e:
32
- st.error(f"An error occurred: {str(e)}")
33
- else:
34
- st.warning("Please enter some text to translate.")
 
35
 
36
  # Footer
37
  st.markdown("---")
 
1
+ try:
2
+ import streamlit as st
3
+ from deep_translator import GoogleTranslator
4
+ from streamlit_option_menu import option_menu
5
+ except ModuleNotFoundError as e:
6
+ raise ImportError("One or more required modules are not installed in the environment. Please ensure 'streamlit', 'deep-translator', and 'streamlit_option_menu' are installed.") from e
7
 
8
  # Configure Streamlit page settings
9
  st.set_page_config(page_title="Language Translator", layout="wide")
 
15
  # Sidebar for language selection
16
  with st.sidebar:
17
  st.header("Language Settings")
18
+ input_language = st.selectbox("Select Input Language:", options=['auto', 'en', 'es', 'fr', 'de', 'zh', 'hi', 'ar', 'ru'], index=0, format_func=lambda x: 'Auto Detect' if x == 'auto' else x)
19
+ output_language = st.selectbox("Select Output Language:", options=['en', 'es', 'fr', 'de', 'zh', 'hi', 'ar', 'ru'], index=1)
20
 
21
  # Input text area
22
  input_text = st.text_area("Enter text to translate:", placeholder="Type or paste text here...")
23
 
24
  # Translation logic
25
  if input_text.strip():
26
+ try:
27
+ # Perform translation using deep_translator
28
+ if input_language == 'auto':
29
+ translated_text = GoogleTranslator(target=output_language).translate(input_text)
30
+ else:
31
+ translated_text = GoogleTranslator(source=input_language, target=output_language).translate(input_text)
32
+ st.subheader("Translated Text:")
33
+ st.success(translated_text)
34
+ except Exception as e:
35
+ st.error(f"An error occurred: {str(e)}")
36
 
37
  # Footer
38
  st.markdown("---")