diff --git a/web/i18n/locales/ar_SA.json b/web/i18n/locales/ar_SA.json new file mode 100644 index 000000000..1e178c83d --- /dev/null +++ b/web/i18n/locales/ar_SA.json @@ -0,0 +1,434 @@ +{ + "language_name": "العربية", + "t": { + "app.title": "⚡ Pixelle-Video - محرك فيديو قصير مؤتمت بالذكاء الاصطناعي", + "app.subtitle": "بدعم من Pixelle.AI", + "section.content_input": "📝 سيناريو الفيديو", + "section.bgm": "🎵 موسيقى خلفية", + "section.tts": "🎤 تعليق صوتي", + "section.image": "🎨 توليد صور", + "section.video": "🎬 توليد فيديو", + "section.media": "🎨 توليد الوسائط", + "section.template": "📐 قالب لوحة القصة", + "section.video_generation": "🎬 إنشاء الفيديو", + "input_mode.topic": "💡 موضوع", + "input_mode.custom": "✍️ محتوى مخصص", + "mode.generate": "💡 إنشاء بالذكاء الاصطناعي", + "mode.fixed": "✍️ سيناريو مخصص", + "mode.digital": "💻 وضع وضع المنتج", + "mode.customize": "🧐 وضع مخصص", + "input.topic": "الموضوع", + "input.topic_placeholder": "سيقوم الذكاء الاصطناعي تلقائياً بإنشاء عدد محدد من التعليقات الصوتية\nمثال: كيف تبني دخلاً سلبياً", + "input.topic_help": "أدخل موضوعاً، وسيقوم الذكاء الاصطناعي بتوليد المحتوى بناءً عليه", + "input.text": "إدخال النص", + "input.text_help_generate": "أدخل الموضوع أو الفكرة (سيقوم الذكاء الاصطناعي بإنشاء التعليقات الصوتية)", + "input.text_help_fixed": "أدخل سيناريو التعليق الصوتي الكامل (يستخدم مباشرة بدون تعديل)", + "input.text_help_digital": "أدخل وصف المنتج. إذا تم تقديم وصف للمنتج، فلا داعي لإدخال اسم المنتج", + "input.text_help_audio": "أدخل المطالبات/الأوصاف، واصفاً المحتوى المرئي المطلوب بأكبر قدر من التفاصيل", + "split.mode_label": "استراتيجية التقسيم", + "split.mode_help": "اختر كيفية تقسيم النص إلى مقاطع فيديو", + "split.mode_paragraph": "📄 حسب الفقرة (\\n\\n)", + "split.mode_line": "📝 حسب السطر (\\n)", + "split.mode_sentence": "✂️ حسب الجملة (。.!؟)", + "input.content": "المحتوى", + "input.content_placeholder": "يستخدم مباشرة بدون تعديل (يتم التقسيم حسب الاستراتيجية أدناه)\nمثال:\nمرحباً بالجميع، سأشارككم اليوم ثلاث نصائح للدراسة.\n\nالنصيحة الأولى هي التدريب على التركيز، تأمل لمدة 10 دقائق يومياً.\n\nالنصيحة الثانية هي الاسترجاع النشط، راجع فوراً بعد التعلم.", + "input.content_help": "قدم المحتوى الخاص بك لتوليد الفيديو", + "input.title": "العنوان (اختياري)", + "input.title_placeholder": "عنوان الفيديو (يتم توليده تلقائياً إذا تركه فارغاً)", + "input.title_help": "اختياري: عنوان مخصص للفيديو", + "voice.title": "🎤 اختيار الصوت", + "voice.male_professional": "🎤 ذكر - احترافي", + "voice.male_young": "🎙️ ذكر - شاب", + "voice.female_gentle": "🎵 أنثى - لطيفة", + "voice.female_energetic": "🎶 أنثى - مفعمة بالحيوية", + "voice.preview": "▶ معاينة الصوت", + "voice.previewing": "جاري توليد معاينة الصوت...", + "voice.preview_failed": "فشلت المعاينة: {error}", + "style.workflow": "اختيار سير العمل", + "style.workflow_what": "يحدد كيفية توليد الرسوم التوضيحية لكل إطار وتأثيرها (مثل استخدام FLUX، نماذج SD)", + "style.workflow_how": "ضع ملف سير العمل المصدّر image_xxx.json (بتنسيق API) في مجلد workflows/selfhost/ (لـ ComfyUI المحلي) أو مجلد workflows/runninghub/ (للسحابة)", + "style.video_workflow_what": "يحدد كيفية توليد مقاطع الفيديو لكل إطار وتأثيرها", + "style.video_workflow_how": "ضع ملف سير العمل المصدّر video_xxx.json (بتنسيق API) في المجلد المناسب", + "style.image_size_info": "حجم الصورة: {width}x{height} (يتم تحديده تلقائياً بواسطة القالب)", + "style.video_size_info": "حجم الفيديو: {width}x{height} (يتم تحديده تلقائياً بواسطة القالب)", + "style.prompt_prefix": "بادئة المطالبة", + "style.prompt_prefix_what": "تضاف تلقائياً قبل جميع مطالبات الصور للتحكم في نمط الرسوم التوضيحية بشكل موحد (مثل كرتوني، واقعي)", + "style.prompt_prefix_how": "أدخل وصف النمط في صندوق الإدخال أدناه. للحفظ بشكل دائم، قم بتحرير ملف config.yaml", + "style.prompt_prefix_placeholder": "أدخل بادئة النمط (اتركها فارغة لاستخدام الافتراضي)", + "style.prompt_prefix_help": "سيتم إضافة هذا النص تلقائياً قبل جميع مطالبات توليد الصور.", + "style.custom": "مخصص", + "style.description": "وصف النمط", + "style.description_placeholder": "صف نمط الرسوم التوضيحية الذي تريده (بأي لغة)...", + "style.preview_title": "معاينة النمط", + "style.video_preview_title": "معاينة الفيديو", + "style.test_prompt": "مطالبة الاختبار", + "style.test_video_prompt": "مطالبة اختبار الفيديو", + "style.test_prompt_help": "أدخل مطالبة اختبار لمعاينة تأثير النمط", + "style.preview": "🖼️ توليد معاينة", + "style.video_preview": "🎬 توليد معاينة فيديو", + "style.previewing": "جاري توليد معاينة النمط...", + "style.video_previewing": "جاري توليد معاينة الفيديو...", + "style.preview_success": "✅ تم توليد المعاينة بنجاح!", + "style.video_preview_success": "✅ تم توليد معاينة الفيديو بنجاح!", + "style.preview_caption": "معاينة النمط", + "style.preview_failed": "فشلت المعاينة: {error}", + "style.preview_failed_general": "فشل توليد صورة المعاينة", + "style.final_prompt_label": "المطالبة النهائية", + "style.generated_prompt": "المطالبة المولدة: {prompt}", + "template.selector": "اختيار القالب", + "template.select": "اختر القالب", + "template.select_help": "اختر القالب وحجم الفيديو", + "template.video_size_info": "حجم الفيديو النهائي: {width} × {height}", + "template.separator_selected": "يرجى اختيار قالب محدد، وليس رأس المجموعة", + "template.default": "افتراضي", + "template.modern": "حديث", + "template.neon": "نيون", + "template.what": "يتحكم في التخطيط البصري ونمط التصميم لكل إطار (العنوان، النص، ترتيب الصور)", + "template.how": "ضع ملفات قوالب .html في مجلدات templates/SIZE/. يتم تجميع القوالب تلقائياً حسب الحجم.", + "template.size_info": "حجم القالب", + "template.type_selector": "نوع القالب", + "template.type.static": "📄 نمط ثابت", + "template.type.image": "🖼️ توليد صور", + "template.type.video": "🎬 توليد فيديوهات", + "template.type.static_hint": "يستخدم الأنماط المدمجة في القالب، لا يلزم وجود وسائط مولدة بالذكاء الاصطناعي.", + "template.type.image_hint": "يقوم الذكاء الاصطناعي تلقائياً بتوليد رسوم توضيحية مطابقة لمحتوى التعليق الصوتي.", + "template.type.video_hint": "يقوم الذكاء الاصطناعي تلقائياً بتوليد مقاطع فيديو مطابقة لمحتوى التعليق الصوتي.", + "orientation.portrait": "طولي", + "orientation.landscape": "عرضي", + "orientation.square": "مربع", + "template.preview_title": "معاينة القالب", + "template.preview_param_title": "العنوان", + "template.preview_param_text": "النص", + "template.preview_param_image": "مسار الصورة", + "template.preview_param_width": "العرض", + "template.preview_param_height": "الارتفاع", + "template.preview_default_title": "الذكاء الاصطناعي يغير إنشاء المحتوى", + "template.preview_default_text": "يعمل الذكاء الاصطناعي على تغيير الطريقة التي ننشئ بها المحتوى، مما يجعل من السهل على الجميع إنتاج فيديوهات احترافية.", + "template.preview_button": "🖼️ توليد معاينة", + "template.preview_generating": "جاري توليد معاينة القالب...", + "template.preview_success": "✅ تم توليد المعاينة بنجاح!", + "template.preview_failed": "❌ فشلت المعاينة: {error}", + "template.preview_image_help": "يدعم المسار المحلي أو الرابط", + "template.preview_caption": "معاينة القالب: {template}", + "template.custom_parameters": "معلمات مخصصة", + "template.gallery_view": "معرض القوالب", + "template.select_button": "تحقق", + "template.selected": "تم التحقق", + "template.selected_template": "القالب الحالي", + "template.no_templates_with_preview": "⚠️ لا توجد قوالب متاحة لهذا النوع", + "image.not_required": "القالب الحالي لا يتطلب توليد صور", + "image.not_required_hint": "القالب المختار نصي فقط ولا يحتاج لصور. الفوائد: ⚡ توليد أسرع 💰 تكلفة أقل", + "video.title": "🎬 إعدادات الفيديو", + "video.frames": "المشاهد", + "video.frames_help": "مشاهد أكثر = فيديو أطول", + "video.frames_label": "المشاهد: {n}", + "video.frames_fixed_mode_hint": "💡 الوضع الثابت: يتم تحديد عدد المشاهد حسب مقاطع السيناريو الفعلية", + "bgm.selector": "اختيار الموسيقى", + "bgm.none": "🔇 بدون موسيقى خلفية", + "bgm.volume": "مستوى الصوت", + "bgm.volume_help": "ضبط مستوى صوت الموسيقى الخلفية (0.0 = كتم، 1.0 = الصوت الأصلي)", + "bgm.preview": "▶ معاينة الموسيقى", + "bgm.preview_failed": "❌ ملف الموسيقى غير موجود: {file}", + "bgm.what": "يضيف موسيقى خلفية إلى الفيديو الخاص بك، مما يجعله أكثر احترافية", + "bgm.how": "ضع ملفات الصوت في مجلد bgm/ للكشف التلقائي عنها", + "btn.generate": "🎬 إنشاء الفيديو", + "btn.save_config": "💾 حفظ التكوين", + "btn.reset_config": "🔄 إعادة تعيين للافتراضي", + "btn.save_and_start": "حفظ وبدء", + "btn.test_connection": "اختبار الاتصال", + "status.initializing": "🔧 جاري التهيئة...", + "status.generating": "🚀 جاري إنشاء الفيديو...", + "status.success": "✅ تم إنشاء الفيديو بنجاح!", + "status.error": "❌ فشل الإنشاء: {error}", + "status.video_generated": "✅ تم إنشاء الفيديو: {path}", + "status.video_not_found": "ملف الفيديو غير موجود: {path}", + "status.config_saved": "✅ تم حفظ التكوين", + "status.config_reset": "✅ تم إعادة تعيين التكوين للافتراضيات", + "status.llm_config_incomplete": "⚠️ تكوين LLM غير مكتمل، يرجى ملء مفتاح API والرابط والنموذج", + "status.save_failed": "فشل الحفظ", + "status.connection_success": "✅ تم الاتصال بنجاح", + "status.connection_failed": "❌ فشل الاتصال", + "progress.generating_title": "جاري توليد العنوان...", + "progress.generating_narrations": "جاري توليد التعليقات الصوتية...", + "progress.splitting_script": "جاري تقسيم السيناريو...", + "progress.generating_image_prompts": "جاري توليد مطالبات الصور...", + "progress.generating_video_prompts": "جاري توليد مطالبات الفيديو...", + "progress.preparing_frames": "جاري تحضير الإطارات...", + "progress.frame": "إطار {current}/{total}", + "progress.frame_step": "إطار {current}/{total} - خطوة {step}/4: {action}", + "progress.processing_frame": "جاري معالجة الإطار {current}/{total}...", + "progress.step_audio": "جاري توليد الصوت", + "progress.step_image": "جاري توليد الصورة", + "progress.step_media": "جاري توليد الوسائط", + "progress.step_compose": "جاري تركيب الإطار", + "progress.step_video": "جاري إنشاء مقطع الفيديو", + "progress.concatenating": "جاري دمج الفيديو...", + "progress.finalizing": "جاري الإنهاء...", + "progress.generation": "يتم الآن تركيب الفيديو...", + "progress.completed": "✅ اكتمل", + "error.input_required": "❌ يرجى تقديم موضوع أو محتوى", + "error.api_key_required": "❌ يرجى إدخال مفتاح API", + "error.missing_field": "يرجى إدخال {field}", + "info.duration": "المدة", + "info.file_size": "حجم الملف", + "info.frames": "المشاهد", + "info.scenes_unit": " مشاهد", + "info.resolution": "الدقة", + "info.video_information": "📊 معلومات الفيديو", + "info.no_video_yet": "ستظهر معاينة الفيديو هنا بعد الإنشاء", + "info.generation_time": "وقت الإنشاء", + "settings.title": "⚙️ تكوين النظام (مطلوب)", + "settings.not_configured": "⚠️ يرجى إكمال تكوين النظام قبل إنشاء الفيديوهات", + "settings.llm.title": "🤖 نموذج لغة كبير", + "settings.llm.quick_select": "اختيار سريع", + "settings.llm.quick_select_help": "اختر LLM مسبق الضبط أو تكوين مخصص", + "settings.llm.get_api_key": "احصل على مفتاح API", + "settings.llm.api_key": "مفتاح API", + "settings.llm.api_key_help": "أدخل مفتاح API الخاص بك", + "settings.llm.base_url": "الرابط الأساسي", + "settings.llm.base_url_help": "عنوان خدمة API", + "settings.llm.model": "النموذج", + "settings.llm.model_help": "اسم النموذج", + "settings.llm.custom_model": "مخصص...", + "settings.llm.custom_model_input": "اسم النموذج المخصص", + "settings.llm.load_models": "تحميل", + "settings.llm.load_models_help": "جلب النماذج المتاحة من API", + "settings.llm.loading_models": "جاري التحميل...", + "settings.llm.models_loaded": "تم تحميل {count} نماذج", + "settings.llm.models_load_failed": "فشل تحميل النماذج: {error}", + "settings.llm.test_connection": "اختبار", + "settings.llm.test_connection_help": "اختبار اتصال API", + "settings.llm.connection_success": "الاتصال جيد! {count} نماذج متاحة", + "settings.llm.connection_failed": "فشل الاتصال: {error}", + "settings.comfyui.title": "🔧 تكوين ComfyUI", + "settings.comfyui.local_title": "ComfyUI محلي", + "settings.comfyui.cloud_title": "سحابة RunningHub", + "settings.comfyui.comfyui_url": "رابط خادم ComfyUI", + "settings.comfyui.comfyui_url_help": "عنوان خادم ComfyUI المحلي أو البعيد", + "settings.comfyui.comfyui_api_key": "مفتاح API لـ ComfyUI", + "settings.comfyui.runninghub_api_key": "مفتاح API لـ RunningHub", + "settings.comfyui.runninghub_hint": "لا تملك ComfyUI محلياً؟ استخدم سحابة RunningHub:", + "settings.comfyui.runninghub_get_api_key": "احصل على مفتاح API لـ RunningHub", + "settings.comfyui.runninghub_concurrent_limit": "حد التزامن", + "settings.comfyui.runninghub_instance_type": "مواصفات الجهاز", + "settings.comfyui.runninghub_instance_24g": "24G VRAM", + "settings.comfyui.runninghub_instance_48g": "48G VRAM", + "tts.inference_mode": "وضع التوليد", + "tts.mode.local": "توليد محلي", + "tts.mode.comfyui": "توليد عبر ComfyUI", + "tts.mode.local_hint": "💡 استخدام Edge TTS، لا يتطلب تكوين، جاهز للاستخدام", + "tts.mode.comfyui_hint": "⚙️ استخدام مهام سير عمل ComfyUI، مرن وقوي", + "tts.voice_selector": "اختيار الصوت", + "tts.speed": "السرعة", + "tts.speed_label": "{speed}x", + "tts.selector": "اختيار سير العمل", + "tts.ref_audio": "الصوت المرجعي", + "tts.ref_audio_help": "ارفع ملفاً صوتياً لاستنساخ الصوت", + "tts.preview_title": "معاينة TTS", + "tts.preview_text": "نص المعاينة", + "tts.preview_text_placeholder": "أدخل نصاً للمعاينة...", + "tts.preview_button": "🔊 توليد معاينة", + "tts.previewing": "جاري توليد معاينة TTS...", + "tts.preview_success": "✅ تم توليد المعاينة بنجاح!", + "tts.preview_failed": "❌ فشلت المعاينة: {error}", + "welcome.first_time": "🎉 مرحباً بك في Pixelle-Video! يرجى إكمال التكوين الأساسي", + "welcome.config_hint": "💡 الإعداد لأول مرة يتطلب تكوين مفتاح API، يمكنك تعديله لاحقاً", + "wizard.llm_required": "🤖 تكوين نموذج لغة كبير (مطلوب)", + "wizard.image_optional": "🎨 تكوين توليد الصور (اختياري)", + "wizard.configure_image": "تكوين توليد الصور (موصى به)", + "label.required": "(مطلوب)", + "label.optional": "(اختياري)", + "help.feature_description": "💡 وصف الميزة", + "help.what": "الغرض", + "help.how": "التخصيص", + "language.select": "🌐 اللغة", + "version.title": "📦 معلومات الإصدار", + "version.current": "الإصدار الحالي", + "github.title": "⭐ دعم المصدر المفتوح", + "history.page_title": "📚 سجل التوليد", + "history.total_tasks": "إجمالي المهام", + "history.completed_count": "مكتمل", + "history.failed_count": "فاشل", + "history.total_duration": "إجمالي المدة", + "history.total_size": "إجمالي الحجم", + "history.filter_status": "تصفية الحالة", + "history.status_all": "الكل", + "history.status_completed": "مكتمل", + "history.status_failed": "فاشل", + "history.status_running": "جاري التشغيل", + "history.status_pending": "قيد الانتظار", + "history.sort_by": "فرز حسب", + "history.sort_created_at": "وقت الإنشاء", + "history.sort_completed_at": "وقت الاكتمال", + "history.sort_title": "العنوان", + "history.sort_duration": "المدة", + "history.sort_order_desc": "تنازلي", + "history.sort_order_asc": "تصاعدي", + "history.page_size": "حجم الصفحة", + "history.no_tasks": "لا توجد مهام بعد", + "history.task_card.title": "العنوان", + "history.task_card.created_at": "أنشئ في", + "history.task_card.duration": "المدة", + "history.task_card.frames": "المشاهد", + "history.task_card.view_detail": "عرض التفاصيل", + "history.task_card.duplicate": "تكرار", + "history.task_card.delete": "حذف", + "history.task_card.download": "تحميل", + "history.task_card.status_completed": "✅ مكتمل", + "history.task_card.status_failed": "❌ فاشل", + "history.task_card.status_running": "⏳ جاري التشغيل", + "history.task_card.status_pending": "⏸️ قيد الانتظار", + "history.detail.modal_title": "تفاصيل المهمة", + "history.detail.task_id": "معرف المهمة", + "history.detail.input_params": "معلمات الإدخال", + "history.detail.text": "النص", + "history.detail.mode": "الوضع", + "history.detail.n_scenes": "المشاهد", + "history.detail.tts_mode": "وضع TTS", + "history.detail.voice": "الصوت", + "history.detail.storyboard": "لوحة القصة", + "history.detail.frame_index": "إطار {index}", + "history.detail.frame": "إطار", + "history.detail.download_video": "تحميل الفيديو", + "history.detail.narration": "التعليق الصوتي", + "history.detail.image_prompt": "مطالبة الصورة", + "history.detail.audio_path": "صوت", + "history.detail.image_path": "صورة", + "history.detail.video_segment_path": "مقطع فيديو", + "history.detail.close": "إغلاق", + "history.action.duplicate_success": "✅ تم تكرار المعلمات، جاري التوجيه...", + "history.action.duplicate_failed": "❌ فشل التكرار: {error}", + "history.action.delete_confirm": "تأكيد الحذف؟ لا يمكن التراجع عن هذا الإجراء!", + "history.action.delete_success": "✅ تم حذف المهمة", + "history.action.delete_failed": "❌ فشل الحذف: {error}", + "history.page_info": "صفحة {page} / {total_pages}", + "batch.mode_label": "🔢 وضع التوليد الدفعي", + "batch.mode_help": "إنشاء فيديوهات متعددة، موضوع واحد لكل سطر", + "batch.section_title": "إدخال المواضيع الدفعية", + "batch.section_generation": "📦 توليد فيديو دفعي", + "batch.rules_title": "قواعد التوليد الدفعي", + "batch.rule_1": "استخدام وضع 'إنشاء بالذكاء الاصطناعي' تلقائياً", + "batch.rule_2": "أدخل موضوعاً واحداً لكل سطر", + "batch.rule_3": "تستخدم جميع الفيديوهات نفس التكوين", + "batch.topics_label": "المواضيع (واحد لكل سطر)", + "batch.count_success": "✅ تم اكتشاف {count} مواضيع", + "batch.count_error": "❌ حجم الدفعة يتجاوز الحد (الأقصى 100)، الحالي: {count}", + "batch.preview_title": "📋 معاينة قائمة المواضيع", + "batch.title_prefix_label": "بادئة العنوان (اختياري)", + "batch.n_scenes_label": "المشاهد (موحد لجميع الفيديوهات)", + "batch.config_info": "التكوينات الأخرى: صوت TTS، قالب الفيديو، سير عمل الصور، إلخ ستستخدم الإعدادات من اللوحة اليمنى، موحدة لجميع الفيديوهات", + "batch.no_topics": "⚠️ يرجى إدخال المواضيع على اليسار (واحد لكل سطر)", + "batch.prepare_info": "📊 جاهز لتوليد {count} فيديوهات (باستخدام نفس التكوين)", + "batch.estimated_time": "⏱️ الوقت المقدر: حوالي {minutes} دقائق", + "batch.generate_button": "🚀 توليد {count} فيديوهات دفعياً", + "batch.generate_help": "⚠️ يرجى إبقاء الصفحة مفتوحة أثناء التوليد الدفعي، لا تغلق المتصفح", + "batch.overall_progress": "التقدم الإجمالي", + "batch.current_task": "المهمة الحالية", + "batch.completed": "اكتمل التوليد الدفعي!", + "batch.results_title": "📊 نتائج التوليد الدفعي", + "batch.total": "الإجمالي", + "batch.success": "ناجح", + "batch.failed": "فاشل", + "batch.total_time": "إجمالي الوقت", + "batch.minutes": "د", + "batch.seconds": "ث", + "batch.success_message": "✅ اكتمل التوليد الدفعي! تم حفظ جميع الفيديوهات في السجل.", + "batch.view_in_history": "💡 نصيحة: يمكنك عرض جميع الفيديوهات المولدة في صفحة '📚 السجل'.", + "batch.goto_history": "اذهب لصفحة السجل", + "batch.failed_list": "❌ المهام الفاشلة", + "batch.task": "مهمة", + "batch.error": "خطأ", + "pipeline.quick_create.name": "إنشاء سريع", + "pipeline.quick_create.description": "أدخل فكرة، وسيقوم الذكاء الاصطناعي بإكمال الفيديو بالكامل لك", + "pipeline.custom_media.name": "وسائط مخصصة", + "pipeline.custom_media.description": "استخدم صورك/فيديوهاتك الخاصة، والذكاء الاصطناعي يضيف التعليق الصوتي", + "pipeline.digital_human.name": "بث إنسان رقمي", + "pipeline.digital_human.description": "استخدم نصاً وصورتين ومقطعاً صوتياً، وسينشئ الذكاء الاصطناعي فيديو إنسان رقمي لك", + "pipeline.i2v.name": "من صورة إلى فيديو", + "pipeline.i2v.description": "أدخل صورة ومطالبة، وسينشئ الذكاء الاصطناعي فيديو فوراً", + "pipeline.action_transfer.name": "نقل الحركة", + "pipeline.action_transfer.description": "صورة واحدة، فيديو واحد، أعد إنشاء حركات مذهلة", + "asset_based.section.assets": "📦 رفع الوسائط", + "asset_based.section.video_info": "📝 معلومات الفيديو", + "asset_based.section.source": "⚙️ تكوين الخدمة", + "asset_based.assets.what": "ارفع صورك أو فيديوهاتك، سيقوم الذكاء الاصطناعي بتحليلها تلقائياً وإنشاء سيناريو فيديو", + "asset_based.assets.how": "يدعم صور JPG/PNG/GIF/WebP وفيديوهات MP4/MOV/AVI.", + "asset_based.assets.upload": "رفع الوسائط", + "asset_based.assets.upload_help": "يدعم ملفات متعددة", + "asset_based.assets.count": "✅ تم رفع {count} وسائط", + "asset_based.assets.preview": "📷 معاينة الوسائط", + "asset_based.assets.empty_hint": "💡 يرجى رفع صورة أو فيديو واحد على الأقل", + "asset_based.video_title": "عنوان الفيديو (اختياري)", + "asset_based.intent": "الغرض من الفيديو", + "asset_based.intent_placeholder": "مثال: الترويج لمتجري، استخدم نبرة دافئة وودودة", + "asset_based.duration": "المدة المستهدفة (ثواني)", + "asset_based.duration_label": "المدة المستهدفة: {seconds}ث", + "asset_based.source.what": "اختر مزود خدمة تحليل الصور", + "asset_based.source.select": "اختر الخدمة", + "asset_based.source.runninghub": "☁️ RunningHub (سحابي)", + "asset_based.source.selfhost": "🖥️ SelfHost (محلي)", + "asset_based.output.no_assets": "💡 يرجى رفع الوسائط على اليسار أولاً", + "asset_based.output.ready": "📦 {count} وسائط جاهزة، يمكنك البدء في التوليد", + "asset_based.progress.analyzing": "🔍 جاري تحليل الوسائط...", + "asset_based.progress.analyzing_start": "🔍 البدء في تحليل {total} وسائط...", + "asset_based.progress.analyzing_asset": "🔍 تحليل الوسيط {current}/{total}: {name}", + "asset_based.progress.analyzing_complete": "✅ اكتمل تحليل الوسائط ({count} إجمالي)", + "asset_based.progress.generating_script": "📝 جاري توليد سيناريو الفيديو...", + "asset_based.progress.script_complete": "✅ اكتمل توليد السيناريو", + "asset_based.progress.concat_complete": "✅ اكتمل دمج الفيديو", + "digital_human.section.character_assets": "😊 رفع صورة الشخصية", + "digital_human.assets.character_what": "ارفع صورة لشخصية الإنسان الرقمي", + "digital_human.assets.character_warning": "يرجى رفع صورة الشخصية", + "digital_human.assets.goods_warning": "يرجى رفع صور المنتج", + "digital_human.assets.digital_mode": "يرجى إدخال سيناريو مخصص أو موضوع مولد بالذكاء الاصطناعي", + "digital_human.assets.customize_mode": "يرجى إدخال رسالة تعليق صوتي مخصصة", + "digital_human.assets.upload": "رفع وسيط", + "digital_human.assets.character_sucess": "تم رفع صورة الشخصية بنجاح", + "digital_human.assets.preview": "📷 معاينة الوسائط", + "digital_human.assets.character_empty_hint": "💡 يرجى رفع صورة شخصية إنسان رقمي", + "digital_human.section.select_mode": "💫 اختر وضع التوليد", + "digital_human.input.topic_placeholder": "سيناريو التعليق الصوتي\nمثال: العطور تترك ذكريات دائمة. إذا كنت تبحث عن عطرك المخصص، فلماذا لا تجرب تاليا؟", + "digital_human.assets.goods_sucess": "تم رفع صورة المنتج بنجاح", + "digital_human.assets.goods_empty_hint": "💡 يرجى رفع صورة المنتج", + "digital_human.section.goods_info": "🗃️ معلومات المنتج", + "digital_human.goods_title": "تعليق صوتي من إنشاء الذكاء الاصطناعي", + "digital_human.input_text": "سيناريو التعليق الصوتي", + "digital_human.customize_text": "نص مخصص", + "digital_human.section.workflow": "⚙️ تحميل سير العمل", + "digital_human.workflow.ready": "سير عمل الإنسان الرقمي جاهز. يمكنك البدء في توليد الفيديو", + "digital_human.workflow.missing": "سير عمل الإنسان الرقمي المطلوب مفقود. يرجى التحقق من التكوين", + "digital_tts.what": "تحويل نص التعليق الصوتي إلى كلام طبيعي يشبه البشر", + "i2v.video_generation": "🛠️ معلمات التكوين", + "i2v.assets.image_what": "صورة مرجعية للإطار الأول مولدة من الفيديو المرفوع", + "i2v.assets.upload": "رفع صورة الإطار الأول للفيديو", + "i2v.assets.character_sucess": "تم الرفع بنجاح", + "i2v.assets.preview": "📷 معاينة المادة", + "i2v.assets.character_empty_hint": "💡 يرجى رفع صورة الإطار الأول للفيديو الذي تريد توليده", + "i2v.input_text": "نص مطالبة الفيديو", + "i2v.assets.image_warning": "ارفع صورة الإطار الأول للفيديو", + "i2v.assets.prompt_warning": "يرجى إدخال نص مطالبة الفيديو", + "action_transfer.video_upload": "🎞️ لقطات الفيديو", + "action_transfer.assets.video_what": "ارفع الفيديو المرجعي المستخدم لنقل الحركة", + "action_transfer.assets.video_upload": "رفع فيديو الحركة المرجعي", + "action_transfer.assets.video_sucess": "تم رفع المادة بنجاح", + "action_transfer.assets.preview": "👀 معاينة المادة", + "action_transfer.assets.video_empty_hint": "💡 يرجى رفع فيديو مرجعي لنقل الحركة", + "action_transfer.image_upload": "✏️ معلمات التكوين", + "action_transfer.assets.image_what": "ارفع الصورة المراد استخدامها للحركة المنقولة", + "action_transfer.assets.image_upload": "رفع الصورة لنقل الحركة", + "action_transfer.assets.image_sucess": "تم الرفع بنجاح", + "action_transfer.assets.image_empty_hint": "💡 يرجى رفع فيديو مرجعي لنقل الحركة", + "action_transfer.input_text": "مطالبة الفيديو", + "action_transfer.input.topic_placeholder": "أدخل مطالبة إبداعية (مثال: قلد الرقصة في الفيديو المرجعي، مع الحفاظ على الوضعية ثابتة، وبخطوات متزامنة ومتناسقة، إلخ)", + "action_transfer.assets.image_warning": "ارفع صورة لنقل الحركة", + "action_transfer.assets.video_warning": "ارفع فيديو مرجعياً لنقل الحركة", + "action_transfer.assets.prompt_warning": "يرجى إدخال مطالبة فيديو", + "faq.expand_to_view": "الأسئلة الشائعة", + "faq.load_error": "فشل تحميل محتوى الأسئلة الشائعة", + "faq.more_help": "هل تحتاج لمزيد من المساعدة؟", + "selfhost.warning.title": "لقد اخترت سير عمل SelfHost (محلي). يرجى تأكيد ما يلي:", + "selfhost.warning.message": "1. أولاً، **حمل وشغل** سير العمل `{workflow_path}` في بيئة ComfyUI الخاصة بك ({comfyui_url})\n2. تأكد من أن سير العمل **يعمل بنجاح** دون عقد أو نماذج مفقودة\n3. بعد التحقق من سير العمل، عد إلى هذا المشروع لاستخدامه", + "selfhost.warning.hint": "⚠️ إذا لم تقم بالتحقق من سير العمل هذا في ComfyUI، فإن عمليات التشغيل اللاحقة **ستفشل بالتأكيد**! لا تتخط هذه الخطوة.", + "selfhost.warning.confirm": "أفهم ذلك، استمر" + } +} \ No newline at end of file