zineb36 commited on
Commit
c6a5ae7
Β·
verified Β·
1 Parent(s): 1a77a89

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +50 -27
app.py CHANGED
@@ -2,37 +2,60 @@ import gradio as gr
2
  from deep_translator import GoogleTranslator
3
  from gtts import gTTS
4
  import tempfile
5
- import os
6
 
7
- def translate_text(text, src, dest):
 
8
  if not text.strip():
9
  return "Please enter text", None
 
10
  try:
11
- translated = GoogleTranslator(source=src, target=dest).translate(text)
12
- tts = gTTS(translated, lang=dest)
13
- with tempfile.NamedTemporaryFile(delete=False, suffix=".mp3") as fp:
14
- tts.save(fp.name)
15
- return translated, fp.name
 
 
 
 
 
 
 
 
 
 
 
16
  except Exception as e:
17
  return f"Error: {str(e)}", None
18
 
19
- langs = ['en','fr','es','de','ar','it','ja','zh-CN']
20
-
21
- with gr.Blocks(theme=gr.themes.Soft(), title="CodeAlpha Translator") as demo:
22
- gr.Markdown("# 🌍 CodeAlpha AI Translator\n### Task 1 | CodeAlpha AI Internship 2026")
23
-
24
- with gr.Row():
25
- src = gr.Dropdown(langs, value='en', label="From")
26
- dest = gr.Dropdown(langs, value='ar', label="To")
27
-
28
- text = gr.Textbox(label="Enter Text", value="Hello from CodeAlpha Intern!", lines=3)
29
- btn = gr.Button("πŸ”„ Translate", variant="primary")
30
-
31
- with gr.Row():
32
- out_text = gr.Textbox(label="Translation", lines=3)
33
- out_audio = gr.Audio(label="Audio Output")
34
-
35
- btn.click(translate_text, [text, src, dest], [out_text, out_audio])
36
- gr.Markdown("**Built for CodeAlpha AI Internship 2026 βœ… | [GitHub](https://github.com/zineb36-star)**")
37
-
38
- demo.launch()
 
 
 
 
 
 
 
 
 
 
 
 
2
  from deep_translator import GoogleTranslator
3
  from gtts import gTTS
4
  import tempfile
 
5
 
6
+ def translate_text(text, target_lang):
7
+
8
  if not text.strip():
9
  return "Please enter text", None
10
+
11
  try:
12
+ translated = GoogleTranslator(
13
+ source='auto',
14
+ target=target_lang
15
+ ).translate(text)
16
+
17
+ tts = gTTS(translated, lang=target_lang)
18
+
19
+ temp_audio = tempfile.NamedTemporaryFile(
20
+ delete=False,
21
+ suffix=".mp3"
22
+ )
23
+
24
+ tts.save(temp_audio.name)
25
+
26
+ return translated, temp_audio.name
27
+
28
  except Exception as e:
29
  return f"Error: {str(e)}", None
30
 
31
+
32
+ languages = {
33
+ "Arabic": "ar",
34
+ "French": "fr",
35
+ "Spanish": "es",
36
+ "German": "de",
37
+ "Japanese": "ja"
38
+ }
39
+
40
+ app = gr.Interface(
41
+ fn=translate_text,
42
+ inputs=[
43
+ gr.Textbox(
44
+ lines=5,
45
+ placeholder="Enter text..."
46
+ ),
47
+ gr.Dropdown(
48
+ choices=list(languages.keys()),
49
+ value="Arabic",
50
+ label="Target Language"
51
+ )
52
+ ],
53
+ outputs=[
54
+ gr.Textbox(label="Translation"),
55
+ gr.Audio(label="Audio")
56
+ ],
57
+ title="🌍 CodeAlpha AI Translator",
58
+ description="AI Translator with Text-to-Speech"
59
+ )
60
+
61
+ app.launch()