Translator / app.py
shrut27's picture
Update app.py
0e000b2
raw
history blame
1.7 kB
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.")