Spaces:
Running
Running
import streamlit as st from transformers import pipeline from gtts import gTTS import os | |
def translate_text(text, src_lang, tgt_lang): translator = pipeline("translation_{}-to-{}".format(src_lang, tgt_lang)) result = translator(text, max_length=100)[0]['translation_text'] return result | |
def text_to_speech(text, lang): tts = gTTS(text=text, lang=lang) tts.save("output.mp3") return "output.mp3" | |
def main(): st.title("Language Learning App") st.sidebar.header("Settings") src_lang = st.sidebar.selectbox("Select Source Language", ["en", "fr", "es", "de"]) tgt_lang = st.sidebar.selectbox("Select Target Language", ["en", "fr", "es", "de"]) | |
st.header("Translation") | |
user_input = st.text_area("Enter text to translate:") | |
if st.button("Translate"): | |
if user_input: | |
translation = translate_text(user_input, src_lang, tgt_lang) | |
st.success("Translated Text: " + translation) | |
if st.button("Listen to Translation"): | |
audio_file = text_to_speech(translation, tgt_lang) | |
st.audio(audio_file) | |
st.header("Vocabulary Practice") | |
st.write("(Coming Soon!)") | |
if name == "main": main() |