Spaces:
Sleeping
Sleeping
import streamlit as st | |
from googletrans import Translator | |
from streamlit_option_menu import option_menu | |
# Initialize the Translator | |
translator = Translator() | |
# 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-cn', '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-cn', '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 | |
translation = translator.translate(input_text, src=input_language, dest=output_language) | |
st.subheader("Translated Text:") | |
st.success(translation.text) | |
except Exception as e: | |
st.error(f"An error occurred: {str(e)}") | |
else: | |
st.warning("Please enter some text to translate.") | |
# Footer | |
st.markdown("---") | |
st.markdown("Developed with Streamlit. Open Source Language Translation App.") | |