Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -213,21 +213,30 @@ def process_video(video, source_lang="en", target_lang="ar", progress=gr.Progres
|
|
213 |
|
214 |
# تنسيق النص مع التوقيت
|
215 |
transcribed_text = ""
|
|
|
|
|
|
|
216 |
for segment in result["segments"]:
|
217 |
start_time = format_timestamp(segment["start"])
|
218 |
text = segment["text"].strip()
|
219 |
transcribed_text += f"[{start_time}] {text}\n"
|
|
|
220 |
|
221 |
logger.info("تم استخراج النص بنجاح")
|
222 |
|
223 |
# ترجمة النص مع الحفاظ على التوقيت
|
224 |
progress(0.7, desc="جاري ترجمة النص...")
|
225 |
translated_segments = []
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
|
|
|
|
|
|
|
|
|
|
231 |
|
232 |
translated_text = "\n".join(translated_segments)
|
233 |
|
|
|
213 |
|
214 |
# تنسيق النص مع التوقيت
|
215 |
transcribed_text = ""
|
216 |
+
segments_for_translation = []
|
217 |
+
|
218 |
+
# تجميع النص الأصلي مع التوقيت
|
219 |
for segment in result["segments"]:
|
220 |
start_time = format_timestamp(segment["start"])
|
221 |
text = segment["text"].strip()
|
222 |
transcribed_text += f"[{start_time}] {text}\n"
|
223 |
+
segments_for_translation.append((start_time, text))
|
224 |
|
225 |
logger.info("تم استخراج النص بنجاح")
|
226 |
|
227 |
# ترجمة النص مع الحفاظ على التوقيت
|
228 |
progress(0.7, desc="جاري ترجمة النص...")
|
229 |
translated_segments = []
|
230 |
+
translator = GoogleTranslator(source=source_lang, target=target_lang)
|
231 |
+
|
232 |
+
for start_time, text in segments_for_translation:
|
233 |
+
try:
|
234 |
+
translated_text = translator.translate(text)
|
235 |
+
translated_segments.append(f"[{start_time}] {translated_text}")
|
236 |
+
logger.info(f"تمت ترجمة المقطع: {text} -> {translated_text}")
|
237 |
+
except Exception as e:
|
238 |
+
logger.error(f"خطأ في ترجمة المقطع: {str(e)}")
|
239 |
+
translated_segments.append(f"[{start_time}] [خطأ في الترجمة: {text}]")
|
240 |
|
241 |
translated_text = "\n".join(translated_segments)
|
242 |
|