rafaaa2105 commited on
Commit
d2573d2
1 Parent(s): 9853b81

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +107 -2
app.py CHANGED
@@ -10,6 +10,109 @@ import spaces
10
  import pytube
11
  import librosa
12
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13
  def extract_audio(video_path):
14
  video = mp.VideoFileClip(video_path)
15
  audio = video.audio
@@ -38,7 +141,9 @@ def generate_subtitles(audio_path):
38
  return [{"start": 0, "end": len(audio_input) / 16000, "text": transcription[0]}]
39
 
40
  def translate_subtitles(subtitles, target_language):
41
- translator = GoogleTranslator(source='auto', target=target_language)
 
 
42
  translated_subtitles = []
43
  for segment in subtitles:
44
  translated_text = translator.translate(segment["text"])
@@ -99,7 +204,7 @@ iface = gr.Interface(
99
  inputs=[
100
  gr.Video(label="Upload Video"),
101
  gr.Textbox(label="YouTube Link"),
102
- gr.Dropdown(choices=["es", "fr", "de", "it", "ja", "ko", "zh-CN"], label="Target Language")
103
  ],
104
  outputs=gr.Video(label="Processed Video"),
105
  title="Video Subtitle Translator",
 
10
  import pytube
11
  import librosa
12
 
13
+ # Add the LANGUAGES dictionary
14
+ LANGUAGES = {
15
+ "en": "eng",
16
+ "zh": "zho",
17
+ "de": "deu",
18
+ "es": "spa",
19
+ "ru": "rus",
20
+ "ko": "kor",
21
+ "fr": "fra",
22
+ "ja": "jpn",
23
+ "pt": "por",
24
+ "tr": "tur",
25
+ "pl": "pol",
26
+ "ca": "cat",
27
+ "nl": "nld",
28
+ "ar": "ara",
29
+ "sv": "swe",
30
+ "it": "ita",
31
+ "id": "ind",
32
+ "hi": "hin",
33
+ "fi": "fin",
34
+ "vi": "vie",
35
+ "iw": "heb",
36
+ "uk": "ukr",
37
+ "el": "ell",
38
+ "ms": "msa",
39
+ "cs": "ces",
40
+ "ro": "ron",
41
+ "da": "dan",
42
+ "hu": "hun",
43
+ "ta": "tam",
44
+ "no": "nor",
45
+ "th": "tha",
46
+ "ur": "urd",
47
+ "hr": "hrv",
48
+ "bg": "bul",
49
+ "lt": "lit",
50
+ "la": "lat",
51
+ "mi": "mri",
52
+ "ml": "mal",
53
+ "cy": "cym",
54
+ "sk": "slk",
55
+ "te": "tel",
56
+ "fa": "fas",
57
+ "lv": "lav",
58
+ "bn": "ben",
59
+ "sr": "srp",
60
+ "az": "aze",
61
+ "sl": "slv",
62
+ "kn": "kan",
63
+ "et": "est",
64
+ "mk": "mkd",
65
+ "br": "bre",
66
+ "eu": "eus",
67
+ "is": "isl",
68
+ "hy": "hye",
69
+ "ne": "nep",
70
+ "mn": "mon",
71
+ "bs": "bos",
72
+ "kk": "kaz",
73
+ "sq": "sqi",
74
+ "sw": "swa",
75
+ "gl": "glg",
76
+ "mr": "mar",
77
+ "pa": "pan",
78
+ "si": "sin",
79
+ "km": "khm",
80
+ "sn": "sna",
81
+ "yo": "yor",
82
+ "so": "som",
83
+ "af": "afr",
84
+ "oc": "oci",
85
+ "ka": "kat",
86
+ "be": "bel",
87
+ "tg": "tgk",
88
+ "sd": "snd",
89
+ "gu": "guj",
90
+ "am": "amh",
91
+ "yi": "yid",
92
+ "lo": "lao",
93
+ "uz": "uzb",
94
+ "fo": "fao",
95
+ "ht": "hat",
96
+ "ps": "pus",
97
+ "tk": "tuk",
98
+ "nn": "nno",
99
+ "mt": "mlt",
100
+ "sa": "san",
101
+ "lb": "ltz",
102
+ "my": "mya",
103
+ "bo": "bod",
104
+ "tl": "tgl",
105
+ "mg": "mlg",
106
+ "as": "asm",
107
+ "tt": "tat",
108
+ "haw": "haw",
109
+ "ln": "lin",
110
+ "ha": "hau",
111
+ "ba": "bak",
112
+ "jw": "jav",
113
+ "su": "sun",
114
+ }
115
+
116
  def extract_audio(video_path):
117
  video = mp.VideoFileClip(video_path)
118
  audio = video.audio
 
141
  return [{"start": 0, "end": len(audio_input) / 16000, "text": transcription[0]}]
142
 
143
  def translate_subtitles(subtitles, target_language):
144
+ # Use the LANGUAGES dictionary to get the full language name
145
+ target_lang_code = next((k for k, v in LANGUAGES.items() if v == target_language), target_language)
146
+ translator = GoogleTranslator(source='auto', target=target_lang_code)
147
  translated_subtitles = []
148
  for segment in subtitles:
149
  translated_text = translator.translate(segment["text"])
 
204
  inputs=[
205
  gr.Video(label="Upload Video"),
206
  gr.Textbox(label="YouTube Link"),
207
+ gr.Dropdown(choices=list(LANGUAGES.values()), label="Target Language")
208
  ],
209
  outputs=gr.Video(label="Processed Video"),
210
  title="Video Subtitle Translator",