Spaces:
Sleeping
Sleeping
| 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() |