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