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/mp3") else: st.write("Please enter some text to translate.")