Spaces:
Runtime error
Runtime error
Update app.py
Browse files
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 |
-
|
50 |
-
|
|
|
|
|
51 |
|
52 |
-
|
|
|
|
|
|
|
|
|
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.
|
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 |
)
|