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 |
|