2ccdb532b5
Introduces new translation keys for post-processing status messages ('merging formats' and 'removing sponsor segments') in all supported languages. Updates code to use these i18n keys in both downloader and GUI, improving localization and consistency of user-facing messages.
398 lines
24 KiB
JSON
398 lines
24 KiB
JSON
{
|
|
"language": {
|
|
"display_name": "العربية (Arabic)",
|
|
"select_language": "اختر اللغة:",
|
|
"current_language": "اللغة الحالية: {language}",
|
|
"restart_required": "سيتم تطبيق تغيير اللغة بعد إعادة تشغيل التطبيق.",
|
|
"english": "الإنجليزية",
|
|
"spanish": "الإسبانية",
|
|
"portuguese": "البرتغالية",
|
|
"russian": "الروسية",
|
|
"chinese": "الصينية",
|
|
"german": "الألمانية",
|
|
"french": "الفرنسية",
|
|
"hindi": "الهندية",
|
|
"indonesian": "الإندونيسية",
|
|
"turkish": "التركية",
|
|
"polish": "البولندية",
|
|
"italian": "الإيطالية",
|
|
"arabic": "العربية",
|
|
"japanese": "اليابانية",
|
|
"help_text": "اختر اللغة المفضلة للواجهة.",
|
|
"restart_notice": "سيتم تطبيق تغيير اللغة بعد إعادة تشغيل التطبيق."
|
|
},
|
|
"app": {
|
|
"title": "YTSage",
|
|
"version": "v{version}",
|
|
"ready": "جاهز"
|
|
},
|
|
"formats": {
|
|
"show_formats": "إظهار التنسيقات:",
|
|
"video_format": "تنسيق الفيديو:",
|
|
"audio_format": "تنسيق الصوت:",
|
|
"no_formats": "لا توجد تنسيقات متاحة",
|
|
"loading": "جاري تحميل التنسيقات...",
|
|
"select": "اختر",
|
|
"quality": "الجودة",
|
|
"extension": "الامتداد",
|
|
"resolution": "الدقة",
|
|
"file_size": "حجم الملف",
|
|
"codec": "الترميز",
|
|
"audio": "الصوت",
|
|
"fps": "إطار/ث",
|
|
"hdr": "HDR",
|
|
"will_merge_audio": "سيتم دمج الصوت",
|
|
"has_audio": "✓ يحتوي على صوت",
|
|
"audio_only": "صوت فقط",
|
|
"best_4k": "الأفضل (4K)",
|
|
"best_2k": "الأفضل (2K)",
|
|
"high_1080p": "عالية (1080p)",
|
|
"high_720p": "عالية (720p)",
|
|
"medium_480p": "متوسطة (480p)",
|
|
"low_quality": "جودة منخفضة",
|
|
"best_audio": "أفضل صوت",
|
|
"high_audio": "صوت عالي",
|
|
"medium_audio": "صوت متوسط",
|
|
"low_audio": "صوت منخفض",
|
|
"audio_only_resolution": "صوت فقط"
|
|
},
|
|
"buttons": {
|
|
"download": "تنزيل",
|
|
"pause": "إيقاف مؤقت",
|
|
"resume": "استئناف",
|
|
"cancel": "إلغاء",
|
|
"browse": "تصفح",
|
|
"clear": "مسح",
|
|
"ok": "موافق",
|
|
"apply": "تطبيق",
|
|
"close": "إغلاق",
|
|
"run_command": "تشغيل الأمر",
|
|
"custom_command_help": "مساعدة",
|
|
"about": "حول",
|
|
"analyze": "تحليل",
|
|
"paste_url": "لصق الرابط",
|
|
"select_videos": "اختر الفيديوهات...",
|
|
"video": "فيديو",
|
|
"audio_only": "صوت فقط",
|
|
"custom_options": "خيارات مخصصة",
|
|
"trim_video": "قص الفيديو",
|
|
"download_settings": "إعدادات التنزيل",
|
|
"update": "تحديث yt-dlp",
|
|
"select_defaults": "اختر الافتراضي",
|
|
"select_all": "تحديد الكل",
|
|
"deselect_all": "إلغاء تحديد الكل"
|
|
},
|
|
"dialogs": {
|
|
"custom_options": "خيارات مخصصة",
|
|
"settings": "الإعدادات",
|
|
"select_folder": "اختر مجلد التنزيل",
|
|
"sponsorblock_categories": "فئات SponsorBlock",
|
|
"sponsorblock_description": "اختر أنواع مقاطع الفيديو المراد إزالتها تلقائياً أثناء التنزيل.\nيستخدم SponsorBlock بيانات مقدمة من المجتمع لتحديد هذه المقاطع.",
|
|
"select_subtitles": "اختر الترجمات",
|
|
"filter_languages_placeholder": "تصفية اللغات (مثال: ar، en)...",
|
|
"no_subtitles_available": "لا توجد ترجمات متاحة",
|
|
"matching": "مطابقة"
|
|
},
|
|
"tabs": {
|
|
"cookies": "تسجيل الدخول بالكوكيز",
|
|
"custom_command": "أمر مخصص",
|
|
"proxy": "بروكسي",
|
|
"language": "اللغة"
|
|
},
|
|
"cookies": {
|
|
"help_text": "اختر طريقة لتوفير ملفات تعريف الارتباط للمصادقة.\nيسمح هذا بتنزيل مقاطع الفيديو الخاصة وملفات الصوت عالية الجودة.",
|
|
"cookie_source": "مصدر الكوكيز",
|
|
"use_cookie_file": "استخدام ملف كوكيز",
|
|
"extract_from_browser": "استخراج من المتصفح",
|
|
"cookie_file": "ملف الكوكيز",
|
|
"cookie_file_placeholder": "مسار ملف cookies.txt...",
|
|
"browser_selection": "اختيار المتصفح",
|
|
"browser_help": "اختر المتصفح لاستخراج ملفات تعريف الارتباط منه:",
|
|
"browser_label": "المتصفح:",
|
|
"profile_label": "الملف الشخصي:",
|
|
"profile_placeholder": "افتراضي",
|
|
"browser_extract_message": "سيتم استخراج كوكيز المتصفح بعد التطبيق",
|
|
"file_selected_message": "تم تحديد ملف الكوكيز - انقر على موافق للتطبيق",
|
|
"select_file_title": "اختر ملف الكوكيز",
|
|
"file_filter": "ملفات الكوكيز (*.txt *.lwp)"
|
|
},
|
|
"custom_command": {
|
|
"help_text": "أدخل أمر yt-dlp مخصص أدناه. سيتم إضافة الرابط الحالي تلقائياً.<br><br>للحصول على قائمة كاملة بالخيارات وأمثلة الاستخدام <a href=\"{docs_url}\">انقر هنا لمشاهدة الوثائق الرسمية لـ yt-dlp</a>.<br><br>ملاحظة: يتم التعامل مع مسار التنزيل ونموذج اسم الملف تلقائياً.",
|
|
"input_label": "معاملات yt-dlp:",
|
|
"input_placeholder": "أدخل معاملات yt-dlp هنا...\n\nمثال: --extract-audio --audio-format mp3",
|
|
"output_label": "مخرجات الأمر:",
|
|
"output_placeholder": "ستظهر مخرجات الأمر هنا...",
|
|
"command_placeholder": "أدخل أمر yt-dlp مخصص...",
|
|
"command_help": "العناصر المتاحة:\n{url} - رابط الفيديو\n{output} - مجلد الإخراج\n\nمثال: --write-info-json --write-thumbnail",
|
|
"full_command": "🔧 الأمر الكامل: {command}",
|
|
"command_success": "✅ تم تنفيذ الأمر المخصص بنجاح!",
|
|
"command_failed": "❌ فشل الأمر برمز الخروج {code}",
|
|
"command_error": "❌ خطأ في تنفيذ الأمر المخصص: {error}"
|
|
},
|
|
"proxy": {
|
|
"help_text": "قم بتكوين إعدادات البروكسي للتنزيلات. اتركه فارغاً للاتصال المباشر.",
|
|
"main_proxy": "البروكسي الرئيسي",
|
|
"main_proxy_help": "خادم البروكسي الرئيسي لجميع التنزيلات. يدعم بروتوكولات HTTP/HTTPS و SOCKS5.",
|
|
"proxy_url_label": "رابط البروكسي:",
|
|
"proxy_url_placeholder": "http://proxy:port أو socks5://proxy:port",
|
|
"proxy_examples": "أمثلة:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080",
|
|
"geo_proxy": "بروكسي تجاوز الموقع الجغرافي",
|
|
"geo_proxy_help": "بروكسي إضافي خصيصاً لتجاوز القيود الجغرافية.",
|
|
"geo_proxy_url_label": "رابط بروكسي تجاوز الموقع:",
|
|
"geo_proxy_url_placeholder": "http://geo-proxy:port",
|
|
"clear_main_proxy": "مسح البروكسي الرئيسي",
|
|
"clear_geo_proxy": "مسح بروكسي الموقع",
|
|
"proxy_url": "رابط البروكسي",
|
|
"proxy_placeholder": "http://proxy:port أو socks5://proxy:port",
|
|
"geo_bypass": "بروكسي تجاوز الموقع الجغرافي (للقيود الجغرافية)",
|
|
"geo_bypass_placeholder": "http://proxy:port لتجاوز الحظر الجغرافي",
|
|
"invalid_main_url": "تنسيق رابط البروكسي الرئيسي غير صالح",
|
|
"invalid_geo_url": "تنسيق رابط بروكسي الموقع غير صالح",
|
|
"main_configured": "تم تكوين البروكسي الرئيسي",
|
|
"geo_configured": "تم تكوين بروكسي الموقع"
|
|
},
|
|
"download": {
|
|
"preparing": "جاري التحضير للتنزيل...",
|
|
"starting": "🚀 بدء التنزيل...",
|
|
"fetching_info": "🔍 جاري الحصول على معلومات الفيديو...",
|
|
"preparing_streams": "🎯 جاري تحضير تدفقات الفيديو...",
|
|
"downloading_audio": "⏬ جاري تنزيل الصوت...",
|
|
"downloading_video": "⏬ جاري تنزيل الفيديو...",
|
|
"downloading_subtitle": "⏬ جاري تنزيل الترجمات...",
|
|
"downloading": "⏬ جاري التنزيل...",
|
|
"completed": "✅ اكتمل التنزيل!",
|
|
"video_completed": "✅ اكتمل تنزيل الفيديو!",
|
|
"audio_completed": "✅ اكتمل تنزيل الصوت!",
|
|
"subtitle_completed": "✅ اكتمل تنزيل الترجمات!",
|
|
"completed_cleaning": "✅ اكتمل التنزيل! جاري التنظيف...",
|
|
"cancelled": "تم إلغاء التنزيل",
|
|
"processing_playlist": "📋 جاري معالجة بيانات قائمة التشغيل...",
|
|
"paused": "تم إيقاف التنزيل مؤقتاً",
|
|
"resumed": "تم استئناف التنزيل",
|
|
"merging_formats": "✨ المعالجة اللاحقة: دمج التنسيقات...",
|
|
"removing_sponsor_segments": "✨ المعالجة اللاحقة: إزالة مقاطع الرعاية...",
|
|
"speed": "السرعة",
|
|
"eta": "الوقت المتبقي",
|
|
"please_enter_url": "الرجاء إدخال رابط أولاً.",
|
|
"please_set_path": "الرجاء تحديد مسار التنزيل أولاً.",
|
|
"please_enter_url_and_path": "الرجاء إدخال رابط وتحديد مسار التنزيل.",
|
|
"please_select_format": "الرجاء اختيار تنسيق أولاً."
|
|
},
|
|
"update": {
|
|
"title": "تحديث yt-dlp",
|
|
"checking": "جاري التحقق من التحديثات...",
|
|
"update_available": "تحديث متاح!\nالإصدار الحالي: {current}\nأحدث إصدار: {latest}",
|
|
"up_to_date": "yt-dlp محدث (الإصدار {version})",
|
|
"could_not_determine": "تعذر تحديد الإصدار.",
|
|
"error_comparing": "خطأ في مقارنة الإصدارات: {error}",
|
|
"update_available_failed": "تحديث متاح! (فشلت المقارنة)\nالحالي: {current}\nالأحدث: {latest}",
|
|
"updating": "جاري التحديث...",
|
|
"initializing": "🚀 جاري تهيئة عملية التحديث...",
|
|
"checking_current": "🔍 جاري التحقق من التثبيت الحالي...",
|
|
"found_at": "📍 تم العثور على yt-dlp في: {path}",
|
|
"error_getting_path": "❌ خطأ في الحصول على مسار yt-dlp: {error}",
|
|
"updating_binary": "📦 جاري تحديث ملف yt-dlp الثنائي المدار بواسطة التطبيق...",
|
|
"updating_pip": "🐍 جاري تحديث yt-dlp النظام عبر pip...",
|
|
"update_failed": "❌ فشل تحديث yt-dlp. حاول مرة أخرى أو تحقق من اتصال الإنترنت.",
|
|
"binary_updated": "✅ تم تحديث الملف الثنائي بنجاح!",
|
|
"update_failed_stderr": "❌ فشل تحديث yt-dlp: {error}",
|
|
"update_timeout": "❌ انتهت مهلة تحديث yt-dlp.",
|
|
"unexpected_error": "❌ خطأ غير متوقع أثناء التحديث: {error}",
|
|
"checking_pip": "🔍 جاري التحقق من تثبيت pip الحالي...",
|
|
"current_version": "📋 الإصدار الحالي: {version}",
|
|
"not_found_pip": "⚠️ لم يتم العثور على yt-dlp عبر pip، جاري محاولة التثبيت...",
|
|
"checking_latest": "🌐 جاري التحقق من أحدث إصدار...",
|
|
"failed_check_updates": "❌ فشل التحقق من التحديثات",
|
|
"latest_version": "🆕 أحدث إصدار: {version}",
|
|
"updating_from_to": "⬆️ جاري التحديث من {current} إلى {latest}...",
|
|
"running_pip_install": "📦 جاري تشغيل pip install --upgrade...",
|
|
"pip_completed": "✅ اكتمل تحديث pip بنجاح!",
|
|
"pip_failed": "❌ فشل تحديث pip: {error}",
|
|
"already_up_to_date": "✅ yt-dlp محدث بالفعل!"
|
|
},
|
|
"about": {
|
|
"title": "حول YTSage",
|
|
"version": "الإصدار {version}",
|
|
"description": "برنامج تنزيل يوتيوب حديث مع واجهة PySide6 نظيفة.",
|
|
"author": "المطور: {author}",
|
|
"github": "GitHub: {repo}",
|
|
"system_info": "معلومات النظام",
|
|
"loading": "🔄 جاري تحميل معلومات النظام...",
|
|
"refresh": "🔄",
|
|
"refreshing": "🔄 جاري التحديث...",
|
|
"refresh_failed": "فشل التحديث",
|
|
"refresh_failed_message": "تعذر تحديث معلومات الإصدار.",
|
|
"detected": "✓ تم الكشف",
|
|
"missing": "✗ مفقود",
|
|
"not_available": "غير متاح"
|
|
},
|
|
"time_range": {
|
|
"title": "قص الفيديو",
|
|
"time_range_group": "النطاق الزمني",
|
|
"start_time": "وقت البدء (HH:MM:SS)",
|
|
"end_time": "وقت الانتهاء (HH:MM:SS)",
|
|
"start_placeholder": "00:00:00",
|
|
"end_placeholder": "00:00:00",
|
|
"start_time_placeholder": "وقت البدء (HH:MM:SS)",
|
|
"end_time_placeholder": "وقت الانتهاء (HH:MM:SS)",
|
|
"force_keyframes": "فرض الإطارات الرئيسية عند نقاط القص",
|
|
"help_text": "حدد أوقات البدء والانتهاء لقص الفيديو.\nاتركه فارغاً لتنزيل الفيديو كاملاً.",
|
|
"invalid_format": "تنسيق الوقت غير صالح. استخدم تنسيق HH:MM:SS.",
|
|
"start_after_end": "لا يمكن أن يكون وقت البدء بعد وقت الانتهاء."
|
|
},
|
|
"settings": {
|
|
"title": "إعدادات التنزيل",
|
|
"download_path": "مسار التنزيل",
|
|
"browse": "تصفح...",
|
|
"speed_limit": "حد السرعة",
|
|
"speed_limit_placeholder": "بدون",
|
|
"auto_update_ytdlp": "التحديثات التلقائية لـ yt-dlp",
|
|
"enable_auto_updates": "تفعيل التحديثات التلقائية لـ yt-dlp",
|
|
"update_frequency": "تكرار التحديثات:",
|
|
"check_startup": "تحقق عند كل بداية تشغيل (ساعة واحدة على الأقل بين الفحوصات)",
|
|
"check_daily": "تحقق يومياً",
|
|
"check_weekly": "تحقق أسبوعياً",
|
|
"check_updates_now": "تحقق من التحديثات الآن",
|
|
"update_check_title": "التحقق من التحديثات",
|
|
"could_not_determine_version": "تعذر تحديد الإصدار الحالي لـ yt-dlp.",
|
|
"update_available_dialog": "تحديث متاح!\n\nالحالي: {current}\nالأحدث: {latest}\n\nاستخدم زر 'تحديث yt-dlp' في النافذة الرئيسية للتحديث.",
|
|
"up_to_date_dialog": "yt-dlp محدث!\n\nالإصدار الحالي: {version}",
|
|
"error_checking_updates": "خطأ في التحقق من التحديثات: {error}",
|
|
"settings_saved_title": "تم حفظ الإعدادات",
|
|
"settings_saved_message": "تم حفظ إعدادات التحديث التلقائي بنجاح!",
|
|
"error_title": "خطأ",
|
|
"failed_save_settings": "فشل حفظ إعدادات التحديث التلقائي.",
|
|
"error_saving_settings": "خطأ في حفظ إعدادات التحديث التلقائي: {error}",
|
|
"auto_update_title": "إعدادات التحديثات التلقائية",
|
|
"auto_update_header": "🔄 إعدادات التحديثات التلقائية",
|
|
"auto_update_description": "قم بتكوين التحديثات التلقائية لـ yt-dlp لضمان الحصول على أحدث الميزات وإصلاحات الأخطاء.",
|
|
"current_status": "الحالة الحالية",
|
|
"current_version_label": "إصدار yt-dlp الحالي: جاري التحقق...",
|
|
"last_check_label": "آخر فحص للتحديثات: أبداً",
|
|
"next_check_label": "الفحص التالي: بناءً على الإعدادات",
|
|
"manual_check_button": "🔍 تحقق من التحديثات الآن",
|
|
"update_frequency_group": "تكرار التحديثات",
|
|
"save_settings": "حفظ الإعدادات",
|
|
"settings_saved_successfully": "✅ تم حفظ الإعدادات بنجاح!",
|
|
"error_saving": "❌ خطأ في حفظ الإعدادات: {error}"
|
|
},
|
|
"main_ui": {
|
|
"url_placeholder": "أدخل رابط فيديو يوتيوب أو قائمة تشغيل",
|
|
"merge_subtitles": "دمج الترجمات",
|
|
"save_thumbnail": "حفظ الصورة المصغرة",
|
|
"save_description": "حفظ الوصف",
|
|
"embed_chapters": "تضمين الفصول",
|
|
"subtitles_selected": "{count} محدد",
|
|
"all_selected": "تم تحديد الكل",
|
|
"select_videos_all": "اختر الفيديوهات... (تم تحديد الكل)",
|
|
"please_enter_url": "الرجاء إدخال رابط أولاً",
|
|
"cookie_file_selected_title": "تم تحديد ملف الكوكيز",
|
|
"cookie_file_selected_message": "ملف الكوكيز المحدد: {path}",
|
|
"browser_cookies_selected_title": "تم تحديد كوكيز المتصفح",
|
|
"browser_cookies_selected_message": "سيتم استخراج كوكيز المتصفح من: {browser}",
|
|
"error_no_format_info": "خطأ: لا توجد معلومات تنسيق متاحة.",
|
|
"error_extract_info": "خطأ: تعذر استخراج معلومات الفيديو الأساسية. تحقق من الرابط.",
|
|
"analyzing_preparing": "التحليل (0%)... جاري التحضير للطلب",
|
|
"analyzing_extracting_basic": "التحليل (15%)... جاري استخراج المعلومات الأساسية",
|
|
"analyzing_extracting_detailed": "التحليل (30%)... جاري استخراج المعلومات التفصيلية",
|
|
"analyzing_processing_video": "التحليل (45%)... جاري معالجة بيانات الفيديو",
|
|
"analyzing_processing_formats": "التحليل (60%)... جاري معالجة التنسيقات",
|
|
"analyzing_loading_thumbnail": "التحليل (75%)... جاري تحميل الصورة المصغرة",
|
|
"analyzing_processing_subtitles": "التحليل (85%)... جاري معالجة الترجمات",
|
|
"analyzing_updating_table": "التحليل (95%)... جاري تحديث جدول التنسيقات",
|
|
"analysis_complete": "اكتمل التحليل!",
|
|
"analyzing_extracting_ytdlp": "التحليل (30%)... جاري استخراج المعلومات باستخدام yt-dlp",
|
|
"analyzing_processing_data": "التحليل (60%)... جاري معالجة البيانات",
|
|
"analyzing_processing_formats_ytdlp": "التحليل (75%)... جاري معالجة التنسيقات",
|
|
"analyzing_loading_thumbnail_ytdlp": "التحليل (85%)... جاري تحميل الصورة المصغرة",
|
|
"analyzing_processing_subtitles_ytdlp": "التحليل (90%)... جاري معالجة الترجمات",
|
|
"select_subtitles": "اختر الترجمات...",
|
|
"sponsorblock_categories": "فئات SponsorBlock..."
|
|
},
|
|
"sponsorblock": {
|
|
"sponsor": "الراعي",
|
|
"sponsor_desc": "الإعلانات المدفوعة والتوصيات المدفوعة والإعلانات المباشرة",
|
|
"selfpromo": "غير مدفوع/ترويج ذاتي",
|
|
"selfpromo_desc": "الترويج غير المدفوع لمحتوى المنشئ الخاص",
|
|
"interaction": "تذكير التفاعل",
|
|
"interaction_desc": "يُطلب من المشاهدين الإعجاب أو الاشتراك أو المتابعة على وسائل التواصل الاجتماعي",
|
|
"intro": "المقدمة",
|
|
"intro_desc": "مقدمة الفيديو التي يمكن تخطيها",
|
|
"outro": "الخاتمة/البطاقات النهائية",
|
|
"outro_desc": "الاعتمادات النهائية أو عندما ينتهي الفيديو",
|
|
"preview": "المعاينة/الملخص",
|
|
"preview_desc": "ملخص موجز لمقاطع الفيديو السابقة أو معاينة المحتوى القادم",
|
|
"music_offtopic": "قسم غير موسيقي",
|
|
"music_offtopic_desc": "لمقاطع الفيديو الموسيقية فقط. يشير إلى أقسام غير موسيقية",
|
|
"filler": "حشو جانبي",
|
|
"filler_desc": "مشاهد جانبية تُضاف فقط كحشو أو للفكاهة"
|
|
},
|
|
"video_info": {
|
|
"channel": "القناة",
|
|
"views": "المشاهدات",
|
|
"likes": "الإعجابات",
|
|
"upload_date": "تاريخ الرفع",
|
|
"duration": "المدة",
|
|
"unknown_channel": "قناة غير معروفة",
|
|
"unknown_date": "تاريخ غير معروف",
|
|
"unknown_title": "عنوان غير معروف"
|
|
},
|
|
"command": {
|
|
"running": "جاري التشغيل...",
|
|
"run_command": "تشغيل الأمر"
|
|
},
|
|
"selection": {
|
|
"none_selected": "0 محدد",
|
|
"one_selected": "فئة واحدة محددة",
|
|
"count_selected": "{count} محدد"
|
|
},
|
|
"status": {
|
|
"ready": "جاهز",
|
|
"file_exists": "⚠️ الملف موجود بالفعل",
|
|
"video_file_exists": "⚠️ ملف الفيديو موجود بالفعل",
|
|
"audio_file_exists": "⚠️ ملف الصوت موجود بالفعل",
|
|
"subtitle_file_exists": "⚠️ ملف الترجمات موجود بالفعل",
|
|
"cancelling": "جاري إلغاء التنزيل..."
|
|
},
|
|
"errors": {
|
|
"playlist_no_videos": "خطأ: قائمة التشغيل لا تحتوي على مقاطع فيديو صالحة.",
|
|
"playlist_no_url": "خطأ: تعذر الحصول على رابط أول فيديو في قائمة التشغيل.",
|
|
"ytdlp_not_found": "خطأ: لم يتم العثور على ملف yt-dlp التنفيذي. الرجاء تثبيت yt-dlp أولاً.",
|
|
"ytdlp_not_found_path": "خطأ: لم يتم العثور على ملف yt-dlp التنفيذي. قد يكون ذلك بسبب تثبيت غير صحيح أو مشكلة في PATH.",
|
|
"no_data_returned": "خطأ: لم يتم إرجاع بيانات من yt-dlp",
|
|
"no_format_info": "خطأ: لا توجد معلومات تنسيق متاحة.",
|
|
"analysis_timeout": "خطأ: انتهت مهلة التحليل. الرجاء المحاولة مرة أخرى.",
|
|
"invalid_speed_limit": "❌ خطأ: قيمة حد السرعة غير صالحة في الإعدادات.",
|
|
"ytdlp_failed": "خطأ: فشل yt-dlp: {error}",
|
|
"parse_failed": "خطأ: فشل تحليل مخرجات yt-dlp: {error}",
|
|
"analysis_failed": "خطأ: فشل التحليل: {error}",
|
|
"generic_error": "خطأ: {error}"
|
|
},
|
|
"update_dialog": {
|
|
"title": "تحديث متاح"
|
|
},
|
|
"playlist": {
|
|
"unknown": "قائمة تشغيل غير معروفة",
|
|
"total_videos": "إجمالي الفيديوهات: {count}",
|
|
"display_format": "قائمة التشغيل: {title} | {count} فيديوهات"
|
|
},
|
|
"subtitle_selection": {
|
|
"count_selected": "{count} محدد"
|
|
},
|
|
"file_exists_dialog": {
|
|
"title": "الملف موجود بالفعل",
|
|
"message": "الملف موجود بالفعل:\n{filename}",
|
|
"info": "تم تنزيل هذا الفيديو بالفعل."
|
|
},
|
|
"auto_update": {
|
|
"last_check_never": "آخر فحص للتحديث: أبداً",
|
|
"last_check": "آخر فحص للتحديث: {time}",
|
|
"next_check_disabled": "الفحص التالي: معطل",
|
|
"next_check_startup": "الفحص التالي: عند بدء التشغيل",
|
|
"next_check_overdue": "الفحص التالي: الآن (متأخر)",
|
|
"next_check": "الفحص التالي: {time}",
|
|
"next_check_error": "الفحص التالي: خطأ في الحساب",
|
|
"checking": "🔄 جاري الفحص...",
|
|
"check_now": "🔍 التحقق من التحديثات الآن"
|
|
}
|
|
} |