Lenylvt commited on
Commit
cb035db
·
verified ·
1 Parent(s): 1bf6da9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -7
app.py CHANGED
@@ -40,16 +40,19 @@ def translate_srt(input_file, source_language_code, target_language_code, progre
40
  # Initialize an empty list to store translated subtitles
41
  translated_subs = []
42
 
43
- # Set total steps for progress bar
44
- total_steps = len(subs)
45
-
46
  # Translate each subtitle
47
  for idx, sub in enumerate(subs):
48
  translated_text = translate_text(sub.text, source_language_code, target_language_code)
49
- translated_subs.append(translated_text)
50
- progress((idx + 1) / total_steps, desc=f"Translating subtitle {idx+1}/{total_steps}")
 
 
51
 
52
- return "\n".join(translated_subs)
 
 
 
 
53
 
54
  source_language_dropdown = gr.Dropdown(choices=language_options, label="Source Language")
55
  target_language_dropdown = gr.Dropdown(choices=language_options, label="Target Language")
@@ -58,7 +61,7 @@ file_input = gr.File(label="Upload SRT File")
58
  iface = gr.Interface(
59
  fn=translate_srt,
60
  inputs=[file_input, source_language_dropdown, target_language_dropdown],
61
- outputs=gr.Textbox(label="Translated SRT"),
62
  title="SRT Translator",
63
  description="Translate subtitles from one language to another."
64
  )
 
40
  # Initialize an empty list to store translated subtitles
41
  translated_subs = []
42
 
 
 
 
43
  # Translate each subtitle
44
  for idx, sub in enumerate(subs):
45
  translated_text = translate_text(sub.text, source_language_code, target_language_code)
46
+ # Construct the translated subtitle with timestamp and line number
47
+ translated_sub = pysrt.SubRipItem(index=idx+1, start=sub.start, end=sub.end, text=translated_text)
48
+ translated_subs.append(translated_sub)
49
+ progress((idx + 1) / len(subs), desc=f"Translating subtitle {idx+1}/{len(subs)}")
50
 
51
+ # Save translated subtitles to a new SRT file
52
+ translated_file = pysrt.SubRipFile(translated_subs)
53
+ translated_srt_path = input_file.name.replace(".srt", f"_{target_language_code}.srt")
54
+ translated_file.save(translated_srt_path)
55
+ return translated_srt_path
56
 
57
  source_language_dropdown = gr.Dropdown(choices=language_options, label="Source Language")
58
  target_language_dropdown = gr.Dropdown(choices=language_options, label="Target Language")
 
61
  iface = gr.Interface(
62
  fn=translate_srt,
63
  inputs=[file_input, source_language_dropdown, target_language_dropdown],
64
+ outputs=gr.File(label="Translated SRT"),
65
  title="SRT Translator",
66
  description="Translate subtitles from one language to another."
67
  )