zineb36's picture
Update app.py
c6a5ae7 verified
raw
history blame
1.27 kB
import gradio as gr
from deep_translator import GoogleTranslator
from gtts import gTTS
import tempfile
def translate_text(text, target_lang):
if not text.strip():
return "Please enter text", None
try:
translated = GoogleTranslator(
source='auto',
target=target_lang
).translate(text)
tts = gTTS(translated, lang=target_lang)
temp_audio = tempfile.NamedTemporaryFile(
delete=False,
suffix=".mp3"
)
tts.save(temp_audio.name)
return translated, temp_audio.name
except Exception as e:
return f"Error: {str(e)}", None
languages = {
"Arabic": "ar",
"French": "fr",
"Spanish": "es",
"German": "de",
"Japanese": "ja"
}
app = gr.Interface(
fn=translate_text,
inputs=[
gr.Textbox(
lines=5,
placeholder="Enter text..."
),
gr.Dropdown(
choices=list(languages.keys()),
value="Arabic",
label="Target Language"
)
],
outputs=[
gr.Textbox(label="Translation"),
gr.Audio(label="Audio")
],
title="๐ŸŒ CodeAlpha AI Translator",
description="AI Translator with Text-to-Speech"
)
app.launch()