LearnGerman / app.py
Hidayatmahar's picture
Update app.py
be1c4be verified
import gradio as gr
from gtts import gTTS
import os
# Simple German-English learning dataset
phrases = {
"Hello": "Hallo",
"Good Morning": "Guten Morgen",
"Thank you": "Danke",
"Good Night": "Gute Nacht",
"How are you?": "Wie geht es dir?",
"I love Germany": "Ich liebe Deutschland",
"What is your name?": "Wie heißt du?",
"Goodbye": "Auf Wiedersehen",
"Yes": "Ja",
"No": "Nein"
}
# Function to get translation
def translate_to_german(english_text):
if english_text in phrases:
german = phrases[english_text]
return german
else:
return "Not found in dictionary."
# Function to speak German
def speak_german(text):
german = translate_to_german(text)
if german != "Not found in dictionary.":
tts = gTTS(german, lang="de")
audio_file = "german_audio.mp3"
tts.save(audio_file)
return german, audio_file
else:
return german, None
# UI Layout
with gr.Blocks(title="🇩🇪 Learn German with Dr. Hidayatullah Mahar") as demo:
gr.Markdown("## 🇩🇪 Learn German\n### Translate common English phrases into German and hear pronunciation.")
english_input = gr.Dropdown(choices=list(phrases.keys()), label="Select English Phrase")
translate_btn = gr.Button("Translate & Speak")
output_text = gr.Textbox(label="German Translation")
output_audio = gr.Audio(label="German Pronunciation")
translate_btn.click(fn=speak_german, inputs=english_input, outputs=[output_text, output_audio])
gr.Markdown("**Developed by Dr. Hidayatullah Mahar**")
demo.launch()