Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from googletrans import Translator | |
| from gtts import gTTS | |
| from IPython.display import Audio | |
| # Create an instance of Translator | |
| translator = Translator() | |
| # Set up the Streamlit app | |
| st.title("Translator") | |
| st.write("Enter text in the box below and select the language to translate to.") | |
| # Create a text input box for the user to enter text | |
| text = st.text_input("Enter text here:") | |
| # Create a dropdown menu for selecting the language to translate to | |
| languages = { | |
| "Afrikaans": "af", | |
| "Arabic": "ar", | |
| "Bengali": "bn", | |
| "Chinese (Simplified)": "zh-cn", | |
| "Chinese (Traditional)": "zh-tw", | |
| "Dutch": "nl", | |
| "English": "en", | |
| "French": "fr", | |
| "German": "de", | |
| "Greek": "el", | |
| "Hindi": "hi", | |
| "Italian": "it", | |
| "Japanese": "ja", | |
| "Korean": "ko", | |
| "Portuguese": "pt", | |
| "Russian": "ru", | |
| "Spanish": "es", | |
| "Swedish": "sv", | |
| "Turkish": "tr" | |
| } | |
| target_language = st.selectbox("Select language:", list(languages.keys())) | |
| # Translate the text when the user clicks the "Translate" button | |
| if st.button("Translate"): | |
| if text: | |
| translation = translator.translate(text, dest=languages[target_language]) | |
| st.write(f"Translated text ({target_language}):") | |
| st.write(translation.text) | |
| # Generate audio file of translated text | |
| tts = gTTS(text=translation.text, lang=languages[target_language]) | |
| audio_file = "translation.mp3" | |
| tts.save(audio_file) | |
| # Display audio player in the app | |
| audio_bytes = open(audio_file, "rb").read() | |
| st.audio(audio_bytes, format="audio/mpeg") | |
| else: | |
| st.write("Please enter some text to translate.") | |