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()