File size: 1,730 Bytes
071fbdb
 
 
 
 
 
46269ed
 
 
 
 
 
 
 
 
 
 
071fbdb
 
46269ed
 
 
 
 
 
071fbdb
 
 
 
 
 
 
 
 
 
46269ed
 
 
 
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
37
38
39
40
try:
    import streamlit as st
    from deep_translator import GoogleTranslator
    from streamlit_option_menu import option_menu
except ModuleNotFoundError as e:
    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

# Configure Streamlit page settings
st.set_page_config(page_title="Language Translator", layout="wide")

# App Header
st.title("\U0001F310 Language Translator")
st.write("Translate text seamlessly between multiple languages.")

# Sidebar for language selection
with st.sidebar:
    st.header("Language Settings")
    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)
    output_language = st.selectbox("Select Output Language:", options=['en', 'es', 'fr', 'de', 'zh', 'hi', 'ar', 'ru'], index=1)

# Input text area
input_text = st.text_area("Enter text to translate:", placeholder="Type or paste text here...")

# Translation logic
if input_text.strip():
    try:
        # Perform translation using deep_translator
        if input_language == 'auto':
            translated_text = GoogleTranslator(target=output_language).translate(input_text)
        else:
            translated_text = GoogleTranslator(source=input_language, target=output_language).translate(input_text)
        st.subheader("Translated Text:")
        st.success(translated_text)
    except Exception as e:
        st.error(f"An error occurred: {str(e)}")

# Footer
st.markdown("---")
st.markdown("Developed with Streamlit. Open Source Language Translation App.")