Move language files to ytsage/languages directory
Renamed and relocated all language JSON files from the root 'languages' directory to 'ytsage/languages' for improved project organization.
This commit is contained in:
@@ -0,0 +1,610 @@
|
||||
{
|
||||
"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": "إلغاء تحديد الكل",
|
||||
"open_folder": "فتح موقع المجلد",
|
||||
"history": "السجل"
|
||||
},
|
||||
"dialogs": {
|
||||
"custom_options": "خيارات مخصصة",
|
||||
"settings": "الإعدادات",
|
||||
"select_folder": "اختر مجلد التنزيل",
|
||||
"sponsorblock_categories": "فئات SponsorBlock",
|
||||
"sponsorblock_description": "اختر أنواع مقاطع الفيديو المراد إزالتها تلقائياً أثناء التنزيل.\nيستخدم SponsorBlock بيانات مقدمة من المجتمع لتحديد هذه المقاطع.",
|
||||
"select_subtitles": "اختر الترجمات",
|
||||
"filter_languages_placeholder": "تصفية اللغات (مثال: ar، en)...",
|
||||
"no_subtitles_available": "لا توجد ترجمات متاحة",
|
||||
"matching": "مطابقة",
|
||||
"ytdlp_log_title": "سجل yt-dlp"
|
||||
},
|
||||
"tabs": {
|
||||
"cookies": "تسجيل الدخول بالكوكيز",
|
||||
"custom_command": "أمر مخصص",
|
||||
"proxy": "بروكسي",
|
||||
"language": "اللغة",
|
||||
"updater": "التحديث"
|
||||
},
|
||||
"cookies": {
|
||||
"help_text": "اختر طريقة لتوفير ملفات تعريف الارتباط للمصادقة.\nيسمح هذا بتنزيل مقاطع الفيديو الخاصة وملفات الصوت عالية الجودة.",
|
||||
"cookie_source": "مصدر الكوكيز",
|
||||
"use_cookie_file": "استخدام ملف كوكيز",
|
||||
"extract_from_browser": "استخراج من المتصفح",
|
||||
"recommended": "موصى به",
|
||||
"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)",
|
||||
"file_selected_title": "تم تطبيق ملف الكوكيز",
|
||||
"file_applied_message": "تم تطبيق ملف الكوكيز: {path}",
|
||||
"browser_selected_title": "تم تطبيق كوكيز المتصفح",
|
||||
"browser_applied_message": "سيتم استخراج كوكيز المتصفح من: {browser}",
|
||||
"cleared_title": "تم مسح الكوكيز",
|
||||
"cleared_message": "تم مسح إعدادات الكوكيز",
|
||||
"active_browser": "✓ نشط: كوكيز المتصفح ({browser})",
|
||||
"active_file": "✓ نشط: ملف كوكيز ({file})",
|
||||
"none_active": "○ لا توجد كوكيز نشطة"
|
||||
},
|
||||
"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}",
|
||||
"error_no_url": "❌ خطأ: لم يتم تقديم عنوان URL. يرجى إدخال رابط في النافذة الرئيسية.",
|
||||
"error_no_command": "❌ خطأ: لم يتم تقديم أي أمر. يرجى إدخال معاملات yt-dlp.",
|
||||
"executing": "🚀 جارٍ تنفيذ أمر yt-dlp مخصص",
|
||||
"url_label": "📍 الرابط: {url}",
|
||||
"args_label": "⚙️ المعاملات: {command}",
|
||||
"download_path_label": "📁 مسار التنزيل: {path}",
|
||||
"separator": "=================================================="
|
||||
},
|
||||
"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": "تم تكوين بروكسي الموقع",
|
||||
"set_title": "تم تعيين الوكيل",
|
||||
"set_message": "تم تعيين الوكيل الرئيسي وحفظه: {proxy}",
|
||||
"geo_set_title": "تم تعيين وكيل جغرافي",
|
||||
"geo_set_message": "تم تعيين وكيل التحقق الجغرافي وحفظه: {proxy}",
|
||||
"cleared_title": "تم مسح إعدادات الوكيل",
|
||||
"cleared_message": "تم مسح جميع إعدادات الوكيل وحفظها.",
|
||||
"saved_main": "تم حفظ الوكيل الرئيسي: {proxy}",
|
||||
"saved_geo": "تم حفظ وكيل الموقع: {proxy}"
|
||||
},
|
||||
"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": "الرجاء اختيار تنسيق أولاً.",
|
||||
"downloading_fallback": "⚡ جاري التنزيل..."
|
||||
},
|
||||
"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 الثنائي المدار بواسطة التطبيق...",
|
||||
"update_failed": "❌ فشل تحديث yt-dlp. حاول مرة أخرى أو تحقق من اتصال الإنترنت.",
|
||||
"binary_updated": "✅ تم تحديث الملف الثنائي بنجاح!",
|
||||
"update_failed_stderr": "❌ فشل تحديث yt-dlp: {error}",
|
||||
"update_timeout": "❌ انتهت مهلة تحديث yt-dlp.",
|
||||
"unexpected_error": "❌ خطأ غير متوقع أثناء التحديث: {error}",
|
||||
"already_up_to_date": "✅ yt-dlp محدث بالفعل!",
|
||||
"update_success": "✅ تم تحديث yt-dlp بنجاح!",
|
||||
"already_latest": "yt-dlp محدث (الإصدار {version})",
|
||||
"network_error": "❌ خطأ في الشبكة أثناء التحديث: {error}",
|
||||
"general_error": "❌ فشل التحديث: {error}",
|
||||
"update_in_progress_title": "التحديث قيد التقدم",
|
||||
"update_in_progress_message": "يتم تحديث 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": "تحديث yt-dlp",
|
||||
"update_check_title": "التحقق من التحديثات",
|
||||
"could_not_determine_version": "تعذر تحديد الإصدار الحالي لـ yt-dlp.",
|
||||
"update_available_dialog": "تحديث متاح!\n\nالحالي: {current}\nالأحدث: {latest}\n\nانقر فوق موافق للمتابعة بالتحديث.",
|
||||
"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}",
|
||||
"ytdlp_channel": "قناة إصدار yt-dlp",
|
||||
"ytdlp_channel_stable": "مستقر (إصدارات مختبرة)",
|
||||
"ytdlp_channel_nightly": "ليلي (تحديثات يومية، موصى به من yt-dlp)",
|
||||
"ytdlp_channel_description": "اختر بين الإصدارات المستقرة والليلية. يتم تحديث الإصدارات الليلية يومياً بأحدث الإصلاحات والميزات. يمكنك تبديل القنوات في أي وقت.",
|
||||
"ytdlp_switching_channel": "التبديل إلى قناة {channel}...",
|
||||
"ytdlp_channel_switched": "✅ تم التبديل بنجاح إلى قناة {channel}!",
|
||||
"ytdlp_channel_switch_failed": "❌ فشل تبديل القناة: {error}",
|
||||
"ytdlp_current_channel": "القناة الحالية: {channel}",
|
||||
"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}",
|
||||
"output_format_settings": "إعدادات تنسيق الإخراج",
|
||||
"force_output_format": "فرض تنسيق الإخراج عند الدمج",
|
||||
"preferred_format": "التنسيق المفضل:",
|
||||
"force_format_help": "عند التمكين، سيتم تحويل الفيديوهات المدموجة إلى تنسيقك المفضل. قم بالتعطيل للسماح لـ yt-dlp بالقرار تلقائياً.",
|
||||
"format_mp4": "MP4 (الأكثر توافقاً)",
|
||||
"format_webm": "WebM (حديث، مفتوح)",
|
||||
"format_mkv": "MKV (غني بالميزات)",
|
||||
"audio_format_settings": "إعدادات تنسيق الصوت",
|
||||
"force_audio_format": "فرض تنسيق الصوت لتنزيلات الصوت فقط",
|
||||
"preferred_audio_format": "تنسيق الصوت المفضل:",
|
||||
"force_audio_format_help": "عند التمكين، سيتم تحويل تنزيلات الصوت فقط إلى التنسيق المفضل لديك. هذا ينطبق فقط عند تنزيل تنسيقات الصوت.",
|
||||
"audio_format_best": "الأفضل (بدون تحويل)",
|
||||
"audio_format_aac": "AAC (جيد للتحرير)",
|
||||
"audio_format_mp3": "MP3 (عالمي)",
|
||||
"audio_format_flac": "FLAC (بدون فقدان)",
|
||||
"audio_format_wav": "WAV (غير مضغوط)",
|
||||
"audio_format_opus": "Opus (فعال)",
|
||||
"audio_format_m4a": "M4A (أبل)",
|
||||
"audio_format_vorbis": "Vorbis (مفتوح)"
|
||||
},
|
||||
"main_ui": {
|
||||
"url_placeholder": "أدخل رابط فيديو يوتيوب أو قائمة تشغيل",
|
||||
"merge_subtitles": "دمج الترجمات",
|
||||
"save_thumbnail": "حفظ الصورة المصغرة",
|
||||
"save_description": "حفظ الوصف",
|
||||
"embed_chapters": "تضمين الفصول",
|
||||
"subtitles_selected": "{count} محدد",
|
||||
"all_selected": "تم تحديد الكل",
|
||||
"select_videos_all": "اختر الفيديوهات... (تم تحديد الكل)",
|
||||
"please_enter_url": "الرجاء إدخال رابط أولاً",
|
||||
"error_title": "خطأ",
|
||||
"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%)... جاري استخراج المعلومات",
|
||||
"analyzing_fetching_first_video": "تحليل... جاري جلب التنسيقات للفيديو الأول",
|
||||
"analyzing_processing_data": "التحليل (60%)... جاري معالجة البيانات",
|
||||
"analyzing_processing_formats_ytdlp": "التحليل (75%)... جاري معالجة التنسيقات",
|
||||
"analyzing_loading_thumbnail_ytdlp": "التحليل (85%)... جاري تحميل الصورة المصغرة",
|
||||
"analyzing_processing_subtitles_ytdlp": "التحليل (90%)... جاري معالجة الترجمات",
|
||||
"select_subtitles": "اختر الترجمات...",
|
||||
"sponsorblock_categories": "فئات SponsorBlock...",
|
||||
"invalid_url_or_enter": "عنوان URL غير صالح أو الرجاء إدخال عنوان URL.",
|
||||
"zero_selected": "تم اختيار 0",
|
||||
"analyze_first_tooltip": "يرجى تحليل الفيديو أولاً",
|
||||
"audio_mode_disabled": "غير متاح في وضع الصوت فقط",
|
||||
"select_subtitles_first": "يرجى تحديد الترجمة أولاً",
|
||||
"settings_tooltip": "المسار الحالي: {path}\nحد السرعة: {speed_limit}",
|
||||
"speed_limit_none": "بدون",
|
||||
"open_folder_error": "تعذر فتح المجلد: {error}",
|
||||
"time_range_set": "تم تعيين المقطع: {section}"
|
||||
},
|
||||
"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": "جاري إلغاء التنزيل...",
|
||||
"thumbnail_saved": "✅ تم حفظ الصورة المصغرة: {filename}",
|
||||
"thumbnail_error": "❌ خطأ في الصورة المصغرة: {error}",
|
||||
"thumbnail_no_image": "لا توجد صورة مصغرة متاحة للحفظ"
|
||||
},
|
||||
"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}",
|
||||
"download_failed_return_code_conflict": "فشل التنزيل برمز الإرجاع {return_code}. قد يكون ذلك بسبب تعارض بين عدة عمليات تثبيت لـ yt-dlp. جرّب إزالة أي تثبيت لنظام التشغيل (مثل snap أو apt) ثم أعد تشغيل التطبيق.",
|
||||
"download_failed_return_code": "فشل التنزيل برمز الإرجاع {return_code}",
|
||||
"direct_command_error": "خطأ في الأمر المباشر: {error}"
|
||||
},
|
||||
"update_dialog": {
|
||||
"title": "تحديث متاح",
|
||||
"new_version_available": "يتوفر إصدار جديد من YTSage!",
|
||||
"current_version_label": "الإصدار الحالي:",
|
||||
"latest_version_label": "أحدث إصدار:",
|
||||
"changelog": "سجل التغييرات",
|
||||
"download_update": "تنزيل التحديث",
|
||||
"remind_later": "ذكرني لاحقاً"
|
||||
},
|
||||
"playlist": {
|
||||
"unknown": "قائمة تشغيل غير معروفة",
|
||||
"total_videos": "إجمالي الفيديوهات: {count}",
|
||||
"display_format": "قائمة التشغيل: {title} | {count} فيديوهات",
|
||||
"select_videos_title": "اختر مقاطع الفيديو من قائمة التشغيل"
|
||||
},
|
||||
"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": "🔍 التحقق من التحديثات الآن",
|
||||
"current_version": "إصدار yt-dlp الحالي: {version}"
|
||||
},
|
||||
"url_validation": {
|
||||
"empty_url": "لا يمكن أن يكون الرابط فارغًا",
|
||||
"invalid_format": "تنسيق الرابط غير صالح",
|
||||
"invalid_scheme": "يجب أن يبدأ الرابط بـ http:// أو https://",
|
||||
"missing_domain": "رابط غير صالح: اسم النطاق مفقود",
|
||||
"unsupported_platform": "YTSage يدعم فقط روابط YouTube و YouTube Music.\nالنطاق '{domain}' غير مدعوم.",
|
||||
"invalid_youtu_be": "رابط youtu.be غير صالح: معرف الفيديو مفقود"
|
||||
},
|
||||
"ytdlp_errors": {
|
||||
"private_video": "هذا فيديو خاص. يمكنك تنزيله عن طريق تسجيل الدخول إلى حسابك باستخدام ملفات تعريف الارتباط.\nانتقل إلى 'خيارات مخصصة' ← 'تسجيل الدخول باستخدام ملفات تعريف الارتباط' ← 'استخراج ملفات تعريف الارتباط من المتصفح' للمصادقة.",
|
||||
"age_restricted": "هذا الفيديو مقيد بالعمر. تحتاج إلى تسجيل الدخول للوصول إليه.\nاستخدم 'خيارات مخصصة' ← 'تسجيل الدخول باستخدام ملفات تعريف الارتباط' للمصادقة بحسابك.",
|
||||
"geo_blocked": "هذا الفيديو غير متاح في منطقتك (محظور جغرافيًا).\nقد تحتاج إلى استخدام VPN أو قد يكون الفيديو مقيدًا في بلدك.",
|
||||
"video_unavailable": "تمت إزالة هذا الفيديو أو لم يعد متاحًا.\nربما تم حذف الفيديو بواسطة المُحمِّل أو إزالته بسبب انتهاك السياسات.",
|
||||
"live_stream": "هذا بث مباشر لا يمكن تنزيله أثناء نشاطه.\nانتظر حتى ينتهي البث، ثم حاول تنزيل النسخة المؤرشفة.",
|
||||
"playlist_error": "تعذر الوصول إلى قائمة التشغيل هذه. قد تكون خاصة أو محذوفة أو فارغة.\nتحقق من وجود قائمة التشغيل وأنها متاحة للعامة.",
|
||||
"network_error": "خطأ في الاتصال بالشبكة. يرجى التحقق من اتصالك بالإنترنت والمحاولة مرة أخرى.\nإذا استمرت المشكلة، فقد يكون خادم الفيديو غير متاح مؤقتًا.",
|
||||
"invalid_url": "رابط غير صالح أو غير مدعوم. يرجى التحقق من الرابط والمحاولة مرة أخرى.\nتأكد من استخدام رابط صالح لـ YouTube أو Vimeo أو منصة مدعومة أخرى.",
|
||||
"premium_content": "يتطلب هذا المحتوى YouTube Premium أو عضوية القناة.\nتحتاج إلى تسجيل الدخول بحساب لديه حق الوصول إلى هذا المحتوى.",
|
||||
"copyright_blocked": "هذا الفيديو محظور بسبب مطالبات حقوق النشر.\nصاحب المحتوى قيد الوصول إلى هذا الفيديو.",
|
||||
"extraction_failed": "فشل استخراج معلومات الفيديو. قد تكون هذه مشكلة مؤقتة.\nيرجى المحاولة مرة أخرى بعد بضع دقائق، أو تحقق من صحة رابط الفيديو.",
|
||||
"generic_error": "تعذر استخراج معلومات الفيديو. يرجى التحقق من الرابط الخاص بك.\nالتفاصيل التقنية: {error}"
|
||||
},
|
||||
"history": {
|
||||
"title": "سجل التنزيلات",
|
||||
"clear_all": "مسح الكل",
|
||||
"clear_confirm_title": "مسح السجل؟",
|
||||
"clear_confirm_message": "هل أنت متأكد؟ لا يمكن التراجع عن هذا.",
|
||||
"no_history": "لا يوجد سجل بعد",
|
||||
"no_history_description": "ستظهر تنزيلاتك هنا",
|
||||
"loading": "جارٍ تحميل السجل...",
|
||||
"search_placeholder": "بحث...",
|
||||
"open_location": "فتح الموقع",
|
||||
"redownload": "إعادة التنزيل",
|
||||
"remove": "إزالة",
|
||||
"file_not_found": "الملف غير موجود",
|
||||
"file_not_found_message": "تم نقل الملف أو حذفه:\n{path}",
|
||||
"downloaded_on": "تم التنزيل: {date}",
|
||||
"file_size": "الحجم: {size}",
|
||||
"audio_download": "صوت",
|
||||
"video_download": "فيديو",
|
||||
"remove_confirm_title": "إزالة؟",
|
||||
"remove_confirm_message": "إزالة من السجل؟\n\n{title}",
|
||||
"item_removed": "تمت الإزالة",
|
||||
"history_cleared": "تم مسح السجل",
|
||||
"entries_count": "{count} تنزيلات",
|
||||
"one_entry": "تنزيل واحد",
|
||||
"redownload_confirm_title": "إعادة التنزيل؟",
|
||||
"redownload_confirm_message": "إعادة التنزيل؟\n\n{title}",
|
||||
"redownload_started": "بدأ التنزيل",
|
||||
"no_url_error": "لم يتم العثور على عنوان URL في سجل التاريخ",
|
||||
"redownload_failed": "فشل بدء إعادة التنزيل: {error}"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"installation_title": "تثبيت FFmpeg",
|
||||
"installation_message": "يحتاج YTSage إلى FFmpeg لمعالجة الفيديوهات.\n\nاختر خيار التثبيت أدناه:",
|
||||
"install_button": "تثبيت FFmpeg",
|
||||
"manual_guide": "الدليل اليدوي",
|
||||
"installation_failed": "واجه تثبيت FFmpeg مشكلة.",
|
||||
"already_installed": "تم تثبيت FFmpeg بالفعل!",
|
||||
"installation_complete": "اكتملت عملية التثبيت. يمكنك إغلاق هذا الحوار ومتابعة استخدام YTSage.",
|
||||
"installing": "جارٍ تثبيت FFmpeg... يرجى الانتظار",
|
||||
"install_success": "تم تثبيت FFmpeg بنجاح!",
|
||||
"installation_complete_close": "اكتملت عملية التثبيت. يمكنك الآن إغلاق هذا الحوار ومتابعة استخدام YTSage.",
|
||||
"try_manual": "يرجى محاولة استخدام دليل التثبيت اليدوي بدلاً من ذلك."
|
||||
},
|
||||
"ytdlp_setup": {
|
||||
"required_title": "إعداد yt-dlp مطلوب",
|
||||
"description": "يتطلب YTSage وجود yt-dlp لتنزيل الفيديوهات.<br><br>لم يتم العثور على yt-dlp في الدليل المحلي للتطبيق. يحتاج YTSage إلى إعداد yt-dlp لنظام {os_name}.<br><br>يرجى اختيار خيار أدناه:",
|
||||
"option_auto": "تنزيل تلقائيًا (موصى به)",
|
||||
"option_manual": "اختيار المسار يدويًا",
|
||||
"setup_button": "إعداد yt-dlp",
|
||||
"downloading": "جارٍ تنزيل yt-dlp...",
|
||||
"success": "تم تثبيت yt-dlp بنجاح!",
|
||||
"error": "خطأ: {error}",
|
||||
"download_failed_title": "فشل التنزيل",
|
||||
"download_failed_message": "فشل تنزيل yt-dlp: {error}",
|
||||
"select_executable_title": "اختر ملف yt-dlp التنفيذي",
|
||||
"copied_to": "تم نسخ yt-dlp بنجاح إلى {path}",
|
||||
"setup_error_title": "خطأ في الإعداد",
|
||||
"copy_error": "خطأ أثناء نسخ yt-dlp إلى مجلد التطبيق: {error}",
|
||||
"invalid_executable_title": "ملف تنفيذي غير صالح",
|
||||
"invalid_executable_message": "الملف المحدد لا يبدو كتنفيذ صحيح لـ yt-dlp.",
|
||||
"verify_error": "خطأ أثناء التحقق من ملف yt-dlp التنفيذي: {error}",
|
||||
"setup_failed_title": "فشل الإعداد",
|
||||
"setup_failed_message": "فشل إعداد yt-dlp. قد لا تعمل بعض الميزات بشكل صحيح.",
|
||||
"success_dialog_title": "إعداد yt-dlp",
|
||||
"success_dialog_message": "تم تكوين yt-dlp بنجاح في:\n{path}",
|
||||
"file_filter_windows": "ملفات تنفيذية (*.exe)",
|
||||
"file_filter_all": "كل الملفات (*)"
|
||||
},
|
||||
"ffmpeg_updater": {
|
||||
"title": "مدقق إصدار FFmpeg",
|
||||
"current_version": "الإصدار الحالي:",
|
||||
"latest_version": "أحدث إصدار:",
|
||||
"status_up_to_date": "✓ محدث",
|
||||
"status_update_available": "⚠ يتوفر تحديث",
|
||||
"status_not_installed": "✗ غير مثبت",
|
||||
"status_idle": "انقر على 'التحقق من الإصدار' للبدء",
|
||||
"status_checking": "🔄 جاري التحقق من الإصدار...",
|
||||
"check_updates": "التحقق من الإصدار",
|
||||
"check_failed": "فشل التحقق من الإصدار. يرجى التحقق من اتصال الإنترنت.",
|
||||
"description": "تحقق من إصدار FFmpeg الخاص بك وقارنه بأحدث إصدار متاح.",
|
||||
"guide_info": " لتثبيت أو تحديث FFmpeg، <a href='https://github.com/oop7/ffmpeg-install-guide'>انقر هنا لعرض دليل التثبيت الشامل</a>."
|
||||
},
|
||||
"deno": {
|
||||
"setup_required": "إعداد Deno مطلوب",
|
||||
"setup_description": "يتطلب YTSage Deno لتشغيل ميزات معينة.<br><br>لم يتم العثور على Deno في الدليل المحلي للتطبيق. يحتاج YTSage إلى إعداد Deno لنظام {os_name} الخاص بك.<br><br>انقر فوق 'إعداد Deno' للتنزيل والتثبيت تلقائياً.",
|
||||
"setup_button": "إعداد Deno",
|
||||
"downloading": "جاري تنزيل Deno...",
|
||||
"extracting": "جاري استخراج Deno...",
|
||||
"verifying": "جاري التحقق من Deno...",
|
||||
"success": "تم تثبيت Deno بنجاح!",
|
||||
"download_failed": "فشل التنزيل",
|
||||
"download_error": "فشل تنزيل Deno: {error}",
|
||||
"verification_failed": "فشل التحقق من SHA256. قد يكون الملف المنزل تالفاً أو تم العبث به.",
|
||||
"setup_failed": "فشل إعداد Deno. قد لا تعمل بعض الميزات بشكل صحيح.",
|
||||
"setup_error": "خطأ في الإعداد"
|
||||
},
|
||||
"deno_updater": {
|
||||
"title": "فاحص ومحدث إصدار Deno",
|
||||
"description": "تحقق من إصدار Deno الخاص بك وقم بالتحديث إلى أحدث إصدار.",
|
||||
"current_version": "الإصدار الحالي:",
|
||||
"latest_version": "أحدث إصدار:",
|
||||
"status_idle": "انقر فوق 'التحقق من التحديثات' للبدء",
|
||||
"status_checking": "🔄 جارٍ التحقق من التحديثات...",
|
||||
"status_up_to_date": "✓ محدث",
|
||||
"status_update_available": "⚠ التحديث متاح",
|
||||
"status_not_installed": "✗ غير مثبت",
|
||||
"check_updates": "التحقق من التحديثات",
|
||||
"update_now": "تحديث Deno",
|
||||
"updating": "🔄 جارٍ تحديث Deno...",
|
||||
"update_success": "✅ تم تحديث Deno بنجاح!",
|
||||
"update_failed": "❌ فشل التحديث: {error}",
|
||||
"check_failed": "فشل التحقق من التحديثات. يرجى التحقق من اتصالك بالإنترنت."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,610 @@
|
||||
{
|
||||
"language": {
|
||||
"display_name": "Deutsch (German)",
|
||||
"select_language": "Sprache auswählen:",
|
||||
"current_language": "Aktuelle Sprache: {language}",
|
||||
"restart_required": "Sprachänderungen werden nach dem Neustart der Anwendung wirksam.",
|
||||
"english": "Englisch",
|
||||
"spanish": "Spanisch",
|
||||
"portuguese": "Portugiesisch",
|
||||
"russian": "Russisch",
|
||||
"chinese": "Chinesisch",
|
||||
"german": "Deutsch",
|
||||
"french": "Französisch",
|
||||
"hindi": "Hindi",
|
||||
"indonesian": "Indonesisch",
|
||||
"turkish": "Türkisch",
|
||||
"polish": "Polnisch",
|
||||
"italian": "Italienisch",
|
||||
"arabic": "Arabisch",
|
||||
"japanese": "Japanisch",
|
||||
"help_text": "Wählen Sie Ihre bevorzugte Sprache für die Benutzeroberfläche.",
|
||||
"restart_notice": "Die Sprachänderung wird nach dem Neustart der Anwendung wirksam."
|
||||
},
|
||||
"app": {
|
||||
"title": "YTSage",
|
||||
"version": "v{version}",
|
||||
"ready": "Bereit"
|
||||
},
|
||||
"formats": {
|
||||
"show_formats": "Formate anzeigen:",
|
||||
"video_format": "Videoformat:",
|
||||
"audio_format": "Audioformat:",
|
||||
"no_formats": "Keine Formate verfügbar",
|
||||
"loading": "Lade Formate...",
|
||||
"select": "Auswählen",
|
||||
"quality": "Qualität",
|
||||
"extension": "Erweiterung",
|
||||
"resolution": "Auflösung",
|
||||
"file_size": "Dateigröße",
|
||||
"codec": "Codec",
|
||||
"audio": "Audio",
|
||||
"fps": "FPS",
|
||||
"hdr": "HDR",
|
||||
"will_merge_audio": "Audio wird zusammengeführt",
|
||||
"has_audio": "✓ Hat Audio",
|
||||
"audio_only": "Nur Audio",
|
||||
"best_4k": "Beste (4K)",
|
||||
"best_2k": "Beste (2K)",
|
||||
"high_1080p": "Hoch (1080p)",
|
||||
"high_720p": "Hoch (720p)",
|
||||
"medium_480p": "Mittel (480p)",
|
||||
"low_quality": "Niedrige Qualität",
|
||||
"best_audio": "Bestes Audio",
|
||||
"high_audio": "Hohes Audio",
|
||||
"medium_audio": "Mittleres Audio",
|
||||
"low_audio": "Niedriges Audio",
|
||||
"audio_only_resolution": "Nur Audio"
|
||||
},
|
||||
"buttons": {
|
||||
"download": "Herunterladen",
|
||||
"pause": "Pausieren",
|
||||
"resume": "Fortsetzen",
|
||||
"cancel": "Abbrechen",
|
||||
"browse": "Durchsuchen",
|
||||
"clear": "Löschen",
|
||||
"ok": "OK",
|
||||
"apply": "Anwenden",
|
||||
"close": "Schließen",
|
||||
"run_command": "Befehl ausführen",
|
||||
"custom_command_help": "Hilfe",
|
||||
"about": "Über",
|
||||
"analyze": "Analysieren",
|
||||
"paste_url": "URL einfügen",
|
||||
"select_videos": "Videos auswählen...",
|
||||
"video": "Video",
|
||||
"audio_only": "Nur Audio",
|
||||
"custom_options": "Benutzerdefinierte Optionen",
|
||||
"trim_video": "Video schneiden",
|
||||
"download_settings": "Download-Einstellungen",
|
||||
"update": "yt-dlp aktualisieren",
|
||||
"select_defaults": "Standard auswählen",
|
||||
"select_all": "Alle auswählen",
|
||||
"deselect_all": "Alle abwählen",
|
||||
"open_folder": "Ordnerspeicherort öffnen",
|
||||
"history": "Verlauf"
|
||||
},
|
||||
"dialogs": {
|
||||
"custom_options": "Benutzerdefinierte Optionen",
|
||||
"settings": "Einstellungen",
|
||||
"select_folder": "Download-Ordner auswählen",
|
||||
"sponsorblock_categories": "SponsorBlock-Kategorien",
|
||||
"sponsorblock_description": "Wählen Sie aus, welche Arten von Videosegmenten während des Downloads automatisch entfernt werden sollen.\nSponsorBlock verwendet von der Community übermittelte Daten, um diese Segmente zu identifizieren.",
|
||||
"select_subtitles": "Untertitel auswählen",
|
||||
"filter_languages_placeholder": "Sprachen filtern (z.B. en, de)...",
|
||||
"no_subtitles_available": "Keine Untertitel verfügbar",
|
||||
"matching": "passend",
|
||||
"ytdlp_log_title": "yt-dlp-Protokoll"
|
||||
},
|
||||
"tabs": {
|
||||
"cookies": "Mit Cookies anmelden",
|
||||
"custom_command": "Benutzerdefinierter Befehl",
|
||||
"proxy": "Proxy",
|
||||
"language": "Sprache",
|
||||
"updater": "Updater"
|
||||
},
|
||||
"cookies": {
|
||||
"help_text": "Wählen Sie aus, wie Cookies für die Anmeldung bereitgestellt werden sollen.\nDies ermöglicht das Herunterladen privater Videos und hochwertiger Audio-Dateien.",
|
||||
"cookie_source": "Cookie-Quelle",
|
||||
"use_cookie_file": "Cookie-Datei verwenden",
|
||||
"extract_from_browser": "Aus Browser extrahieren",
|
||||
"recommended": "Empfohlen",
|
||||
"cookie_file": "Cookie-Datei",
|
||||
"cookie_file_placeholder": "Pfad zur cookies.txt-Datei...",
|
||||
"browser_selection": "Browser-Auswahl",
|
||||
"browser_help": "Wählen Sie den Browser aus, aus dem Cookies extrahiert werden sollen:",
|
||||
"browser_label": "Browser:",
|
||||
"profile_label": "Profil:",
|
||||
"profile_placeholder": "Standard",
|
||||
"browser_extract_message": "Browser-Cookies werden beim Anwenden extrahiert",
|
||||
"file_selected_message": "Cookie-Datei ausgewählt - Klicken Sie OK zum Anwenden",
|
||||
"select_file_title": "Cookie-Datei auswählen",
|
||||
"file_filter": "Cookie-Dateien (*.txt *.lwp)",
|
||||
"file_selected_title": "Cookie-Datei angewendet",
|
||||
"file_applied_message": "Cookie-Datei angewendet: {path}",
|
||||
"browser_selected_title": "Browser-Cookies angewendet",
|
||||
"browser_applied_message": "Browser-Cookies werden extrahiert von: {browser}",
|
||||
"cleared_title": "Cookies gelöscht",
|
||||
"cleared_message": "Cookie-Einstellungen wurden gelöscht",
|
||||
"active_browser": "✓ Aktiv: Browser-Cookies ({browser})",
|
||||
"active_file": "✓ Aktiv: Cookie-Datei ({file})",
|
||||
"none_active": "○ Keine Cookies aktiv"
|
||||
},
|
||||
"custom_command": {
|
||||
"help_text": "Geben Sie Ihren benutzerdefinierten yt-dlp-Befehl unten ein. Die aktuelle URL wird automatisch angehängt.<br><br>Für die vollständige Liste der Optionen und Verwendungsbeispiele <a href=\"{docs_url}\">klicken Sie hier, um die offizielle yt-dlp-Dokumentation anzuzeigen</a>.<br><br>Hinweis: Download-Pfad und Dateinamen-Vorlage werden automatisch behandelt.",
|
||||
"input_label": "yt-dlp-Argumente:",
|
||||
"input_placeholder": "Geben Sie yt-dlp-Argumente hier ein...\n\nz.B.: --extract-audio --audio-format mp3",
|
||||
"output_label": "Befehlsausgabe:",
|
||||
"output_placeholder": "Die Befehlsausgabe wird hier erscheinen...",
|
||||
"command_placeholder": "Benutzerdefinierten yt-dlp-Befehl eingeben...",
|
||||
"command_help": "Verfügbare Platzhalter:\n{url} - Video-URL\n{output} - Ausgabeordner\n\nBeispiel: --write-info-json --write-thumbnail",
|
||||
"full_command": "🔧 Vollständiger Befehl: {command}",
|
||||
"command_success": "✅ Benutzerdefinierter Befehl erfolgreich ausgeführt!",
|
||||
"command_failed": "❌ Befehl fehlgeschlagen mit Exit-Code {code}",
|
||||
"command_error": "❌ Fehler beim Ausführen des benutzerdefinierten Befehls: {error}",
|
||||
"error_no_url": "❌ Fehler: Keine URL angegeben. Bitte geben Sie im Hauptfenster eine URL ein.",
|
||||
"error_no_command": "❌ Fehler: Kein Befehl angegeben. Bitte yt-dlp-Argumente eingeben.",
|
||||
"executing": "🚀 Benutzerdefinierter yt-dlp-Befehl wird ausgeführt",
|
||||
"url_label": "📍 URL: {url}",
|
||||
"args_label": "⚙️ Argumente: {command}",
|
||||
"download_path_label": "📁 Download-Pfad: {path}",
|
||||
"separator": "=================================================="
|
||||
},
|
||||
"proxy": {
|
||||
"help_text": "Proxy-Einstellungen für Downloads konfigurieren. Leer lassen für direkte Verbindung.",
|
||||
"main_proxy": "Haupt-Proxy",
|
||||
"main_proxy_help": "Primärer Proxy-Server für alle Downloads. Unterstützt HTTP/HTTPS- und SOCKS5-Protokolle.",
|
||||
"proxy_url_label": "Proxy-URL:",
|
||||
"proxy_url_placeholder": "http://proxy:port oder socks5://proxy:port",
|
||||
"proxy_examples": "Beispiele:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080",
|
||||
"geo_proxy": "Geo-Umgehungs-Proxy",
|
||||
"geo_proxy_help": "Sekundärer Proxy speziell zur Umgehung geografischer Beschränkungen.",
|
||||
"geo_proxy_url_label": "Geo-Umgehungs-Proxy-URL:",
|
||||
"geo_proxy_url_placeholder": "http://geo-proxy:port",
|
||||
"clear_main_proxy": "Haupt-Proxy löschen",
|
||||
"clear_geo_proxy": "Geo-Proxy löschen",
|
||||
"proxy_url": "Proxy-URL",
|
||||
"proxy_placeholder": "http://proxy:port oder socks5://proxy:port",
|
||||
"geo_bypass": "Geo-Umgehungs-Proxy (für geografische Beschränkungen)",
|
||||
"geo_bypass_placeholder": "http://proxy:port zur Umgehung von Geo-Blockierungen",
|
||||
"invalid_main_url": "Ungültiges Haupt-Proxy-URL-Format",
|
||||
"invalid_geo_url": "Ungültiges Geo-Proxy-URL-Format",
|
||||
"main_configured": "Haupt-Proxy konfiguriert",
|
||||
"geo_configured": "Geo-Proxy konfiguriert",
|
||||
"set_title": "Proxy gesetzt",
|
||||
"set_message": "Haupt-Proxy gesetzt und gespeichert: {proxy}",
|
||||
"geo_set_title": "Geo-Proxy gesetzt",
|
||||
"geo_set_message": "Geo-Prüf-Proxy gesetzt und gespeichert: {proxy}",
|
||||
"cleared_title": "Proxy-Einstellungen gelöscht",
|
||||
"cleared_message": "Alle Proxy-Einstellungen wurden gelöscht und gespeichert.",
|
||||
"saved_main": "Gespeicherter Haupt-Proxy: {proxy}",
|
||||
"saved_geo": "Gespeicherter Geo-Proxy: {proxy}"
|
||||
},
|
||||
"download": {
|
||||
"preparing": "Download wird vorbereitet...",
|
||||
"starting": "🚀 Download wird gestartet...",
|
||||
"fetching_info": "🔍 Video-Informationen werden abgerufen...",
|
||||
"preparing_streams": "🎯 Video-Streams werden vorbereitet...",
|
||||
"downloading_audio": "⏬ Audio wird heruntergeladen...",
|
||||
"downloading_video": "⏬ Video wird heruntergeladen...",
|
||||
"downloading_subtitle": "⏬ Untertitel werden heruntergeladen...",
|
||||
"downloading": "⏬ Wird heruntergeladen...",
|
||||
"completed": "✅ Download abgeschlossen!",
|
||||
"video_completed": "✅ Video-Download abgeschlossen!",
|
||||
"audio_completed": "✅ Audio-Download abgeschlossen!",
|
||||
"subtitle_completed": "✅ Untertitel-Download abgeschlossen!",
|
||||
"completed_cleaning": "✅ Download abgeschlossen! Wird aufgeräumt...",
|
||||
"cancelled": "Download abgebrochen",
|
||||
"processing_playlist": "📋 Playlist-Daten werden verarbeitet...",
|
||||
"paused": "Download pausiert",
|
||||
"resumed": "Download fortgesetzt",
|
||||
"merging_formats": "✨ Nachbearbeitung: Formate werden zusammengeführt...",
|
||||
"removing_sponsor_segments": "✨ Nachbearbeitung: Sponsor-Segmente werden entfernt...",
|
||||
"speed": "Geschwindigkeit",
|
||||
"eta": "Verbleibende Zeit",
|
||||
"please_enter_url": "Bitte geben Sie zuerst eine URL ein.",
|
||||
"please_set_path": "Bitte setzen Sie zuerst einen Download-Pfad.",
|
||||
"please_enter_url_and_path": "Bitte geben Sie eine URL ein und setzen Sie einen Download-Pfad.",
|
||||
"please_select_format": "Bitte wählen Sie zuerst ein Format aus.",
|
||||
"downloading_fallback": "⚡ Wird heruntergeladen..."
|
||||
},
|
||||
"update": {
|
||||
"title": "yt-dlp aktualisieren",
|
||||
"checking": "Suche nach Updates...",
|
||||
"update_available": "Update verfügbar!\nAktuelle Version: {current}\nNeueste Version: {latest}",
|
||||
"up_to_date": "yt-dlp ist aktuell (Version {version})",
|
||||
"could_not_determine": "Versionen konnten nicht bestimmt werden.",
|
||||
"error_comparing": "Fehler beim Vergleichen der Versionen: {error}",
|
||||
"update_available_failed": "Update verfügbar! (Vergleich fehlgeschlagen)\nAktuell: {current}\nNeuest: {latest}",
|
||||
"updating": "Wird aktualisiert...",
|
||||
"initializing": "🚀 Update-Prozess wird initialisiert...",
|
||||
"checking_current": "🔍 Aktuelle Installation wird überprüft...",
|
||||
"found_at": "📍 yt-dlp gefunden in: {path}",
|
||||
"error_getting_path": "❌ Fehler beim Abrufen des yt-dlp-Pfads: {error}",
|
||||
"updating_binary": "📦 App-verwaltete yt-dlp-Binärdatei wird aktualisiert...",
|
||||
"update_failed": "❌ yt-dlp-Update fehlgeschlagen. Bitte versuchen Sie es erneut oder überprüfen Sie Ihre Internetverbindung.",
|
||||
"binary_updated": "✅ Binärdatei erfolgreich aktualisiert!",
|
||||
"update_failed_stderr": "❌ yt-dlp-Update fehlgeschlagen: {error}",
|
||||
"update_timeout": "❌ yt-dlp-Update-Zeitüberschreitung.",
|
||||
"unexpected_error": "❌ Unerwarteter Fehler während des Updates: {error}",
|
||||
"already_up_to_date": "✅ yt-dlp ist bereits auf dem neuesten Stand!",
|
||||
"update_success": "✅ yt-dlp wurde erfolgreich aktualisiert!",
|
||||
"already_latest": "yt-dlp ist auf dem neuesten Stand (Version {version})",
|
||||
"network_error": "❌ Netzwerkfehler während des Updates: {error}",
|
||||
"general_error": "❌ Update fehlgeschlagen: {error}",
|
||||
"update_in_progress_title": "Update läuft",
|
||||
"update_in_progress_message": "yt-dlp wird gerade aktualisiert. Bitte warten Sie einen Moment."
|
||||
},
|
||||
"about": {
|
||||
"title": "Über YTSage",
|
||||
"version": "Version {version}",
|
||||
"description": "Moderner YouTube-Downloader mit sauberer PySide6-Oberfläche.",
|
||||
"author": "Von: {author}",
|
||||
"github": "GitHub: {repo}",
|
||||
"system_info": "Systeminformationen",
|
||||
"loading": "🔄 Systeminformationen werden geladen...",
|
||||
"refresh": "🔄",
|
||||
"refreshing": "🔄 Wird aktualisiert...",
|
||||
"refresh_failed": "Aktualisierung fehlgeschlagen",
|
||||
"refresh_failed_message": "Versionsinformationen konnten nicht aktualisiert werden.",
|
||||
"detected": "✓ Erkannt",
|
||||
"missing": "✗ Fehlend",
|
||||
"not_available": "Nicht verfügbar"
|
||||
},
|
||||
"time_range": {
|
||||
"title": "Video schneiden",
|
||||
"time_range_group": "Zeitbereich",
|
||||
"start_time": "Startzeit (HH:MM:SS)",
|
||||
"end_time": "Endzeit (HH:MM:SS)",
|
||||
"start_placeholder": "00:00:00",
|
||||
"end_placeholder": "00:00:00",
|
||||
"start_time_placeholder": "Startzeit (HH:MM:SS)",
|
||||
"end_time_placeholder": "Endzeit (HH:MM:SS)",
|
||||
"force_keyframes": "Keyframes an Schnittpunkten erzwingen",
|
||||
"help_text": "Setzen Sie Start- und Endzeit, um das Video zu schneiden.\nLeer lassen, um das vollständige Video herunterzuladen.",
|
||||
"invalid_format": "Ungültiges Zeitformat. Verwenden Sie das Format HH:MM:SS.",
|
||||
"start_after_end": "Startzeit kann nicht nach der Endzeit liegen."
|
||||
},
|
||||
"settings": {
|
||||
"title": "Download-Einstellungen",
|
||||
"download_path": "Download-Pfad",
|
||||
"browse": "Durchsuchen...",
|
||||
"speed_limit": "Geschwindigkeitsbegrenzung",
|
||||
"speed_limit_placeholder": "Keine",
|
||||
"auto_update_ytdlp": "yt-dlp automatisch aktualisieren",
|
||||
"enable_auto_updates": "Automatische yt-dlp-Updates aktivieren",
|
||||
"update_frequency": "Update-Häufigkeit:",
|
||||
"check_startup": "Bei jedem Start prüfen (mindestens 1 Stunde zwischen Prüfungen)",
|
||||
"check_daily": "Täglich prüfen",
|
||||
"check_weekly": "Wöchentlich prüfen",
|
||||
"check_updates_now": "yt-dlp aktualisieren",
|
||||
"update_check_title": "Update-Prüfung",
|
||||
"could_not_determine_version": "Aktuelle yt-dlp-Version konnte nicht bestimmt werden.",
|
||||
"update_available_dialog": "Update verfügbar!\n\nAktuell: {current}\nNeuest: {latest}\n\nKlicken Sie auf OK, um mit dem Update fortzufahren.",
|
||||
"up_to_date_dialog": "yt-dlp ist aktuell!\n\nAktuelle Version: {version}",
|
||||
"error_checking_updates": "Fehler bei der Update-Prüfung: {error}",
|
||||
"settings_saved_title": "Einstellungen gespeichert",
|
||||
"settings_saved_message": "Auto-Update-Einstellungen wurden erfolgreich gespeichert!",
|
||||
"error_title": "Fehler",
|
||||
"failed_save_settings": "Speichern der Auto-Update-Einstellungen fehlgeschlagen.",
|
||||
"error_saving_settings": "Fehler beim Speichern der Auto-Update-Einstellungen: {error}",
|
||||
"ytdlp_channel": "yt-dlp Release-Kanal",
|
||||
"ytdlp_channel_stable": "Stabil (Getestete Versionen)",
|
||||
"ytdlp_channel_nightly": "Nightly (Tägliche Updates, empfohlen von yt-dlp)",
|
||||
"ytdlp_channel_description": "Wählen Sie zwischen stabilen und nächtlichen Versionen. Nightly-Builds werden täglich mit den neuesten Korrekturen und Funktionen aktualisiert. Sie können jederzeit zwischen den Kanälen wechseln.",
|
||||
"ytdlp_switching_channel": "Wechsle zu {channel}-Kanal...",
|
||||
"ytdlp_channel_switched": "✅ Erfolgreich zu {channel}-Kanal gewechselt!",
|
||||
"ytdlp_channel_switch_failed": "❌ Kanalwechsel fehlgeschlagen: {error}",
|
||||
"ytdlp_current_channel": "Aktueller Kanal: {channel}",
|
||||
"auto_update_title": "Auto-Update-Einstellungen",
|
||||
"auto_update_header": "🔄 Auto-Update-Einstellungen",
|
||||
"auto_update_description": "Konfigurieren Sie automatische Updates für yt-dlp, um sicherzustellen, dass Sie immer die neuesten Funktionen und Fehlerbehebungen haben.",
|
||||
"current_status": "Aktueller Status",
|
||||
"current_version_label": "Aktuelle yt-dlp-Version: Wird überprüft...",
|
||||
"last_check_label": "Letzte Update-Prüfung: Nie",
|
||||
"next_check_label": "Nächste Prüfung: Basierend auf Einstellungen",
|
||||
"manual_check_button": "🔍 Jetzt nach Updates suchen",
|
||||
"update_frequency_group": "Update-Häufigkeit",
|
||||
"save_settings": "Einstellungen speichern",
|
||||
"settings_saved_successfully": "✅ Einstellungen erfolgreich gespeichert!",
|
||||
"error_saving": "❌ Fehler beim Speichern der Einstellungen: {error}",
|
||||
"output_format_settings": "Ausgabeformat-Einstellungen",
|
||||
"force_output_format": "Ausgabeformat beim Zusammenführen erzwingen",
|
||||
"preferred_format": "Bevorzugtes Format:",
|
||||
"force_format_help": "Wenn aktiviert, werden zusammengeführte Videos in Ihr bevorzugtes Format konvertiert. Deaktivieren Sie diese Option, damit yt-dlp automatisch entscheidet.",
|
||||
"format_mp4": "MP4 (Am kompatibelsten)",
|
||||
"format_webm": "WebM (Modern, offen)",
|
||||
"format_mkv": "MKV (Funktionsreich)",
|
||||
"audio_format_settings": "Audioformat-Einstellungen",
|
||||
"force_audio_format": "Audioformat für Nur-Audio-Downloads erzwingen",
|
||||
"preferred_audio_format": "Bevorzugtes Audioformat:",
|
||||
"force_audio_format_help": "Wenn aktiviert, werden Nur-Audio-Downloads in Ihr bevorzugtes Format konvertiert. Dies gilt nur beim Herunterladen von Audioformaten.",
|
||||
"audio_format_best": "Beste (Keine Konvertierung)",
|
||||
"audio_format_aac": "AAC (Gut zum Bearbeiten)",
|
||||
"audio_format_mp3": "MP3 (Universal)",
|
||||
"audio_format_flac": "FLAC (Verlustfrei)",
|
||||
"audio_format_wav": "WAV (Unkomprimiert)",
|
||||
"audio_format_opus": "Opus (Effizient)",
|
||||
"audio_format_m4a": "M4A (Apple)",
|
||||
"audio_format_vorbis": "Vorbis (Offen)"
|
||||
},
|
||||
"main_ui": {
|
||||
"url_placeholder": "YouTube-Video- oder Playlist-URL eingeben",
|
||||
"merge_subtitles": "Untertitel zusammenführen",
|
||||
"save_thumbnail": "Thumbnail speichern",
|
||||
"save_description": "Beschreibung speichern",
|
||||
"embed_chapters": "Kapitel einbetten",
|
||||
"subtitles_selected": "{count} ausgewählt",
|
||||
"all_selected": "Alle ausgewählt",
|
||||
"select_videos_all": "Videos auswählen... (Alle ausgewählt)",
|
||||
"please_enter_url": "Bitte geben Sie zuerst eine URL ein",
|
||||
"error_title": "Fehler",
|
||||
"cookie_file_selected_title": "Cookie-Datei ausgewählt",
|
||||
"cookie_file_selected_message": "Cookie-Datei ausgewählt: {path}",
|
||||
"browser_cookies_selected_title": "Browser-Cookies ausgewählt",
|
||||
"browser_cookies_selected_message": "Browser-Cookies werden aus folgendem Browser extrahiert: {browser}",
|
||||
"error_no_format_info": "Fehler: Keine Formatinformationen verfügbar.",
|
||||
"error_extract_info": "Fehler: Grundlegende Videoinformationen konnten nicht extrahiert werden. Bitte überprüfen Sie Ihren Link.",
|
||||
"analyzing_preparing": "Analysiere (0%)... Anfrage wird vorbereitet",
|
||||
"analyzing_extracting_basic": "Analysiere (15%)... Grundlegende Informationen werden extrahiert",
|
||||
"analyzing_extracting_detailed": "Analysiere (30%)... Detaillierte Informationen werden extrahiert",
|
||||
"analyzing_processing_video": "Analysiere (45%)... Videodaten werden verarbeitet",
|
||||
"analyzing_processing_formats": "Analysiere (60%)... Formate werden verarbeitet",
|
||||
"analyzing_loading_thumbnail": "Analysiere (75%)... Thumbnail wird geladen",
|
||||
"analyzing_processing_subtitles": "Analysiere (85%)... Untertitel werden verarbeitet",
|
||||
"analyzing_updating_table": "Analysiere (95%)... Formattabelle wird aktualisiert",
|
||||
"analysis_complete": "Analyse abgeschlossen!",
|
||||
"analyzing_extracting_ytdlp": "Analysiere (30%)... Informationen werden extrahiert",
|
||||
"analyzing_fetching_first_video": "Analysiere... Formate für das erste Video werden abgerufen",
|
||||
"analyzing_processing_data": "Analysiere (60%)... Daten werden verarbeitet",
|
||||
"analyzing_processing_formats_ytdlp": "Analysiere (75%)... Formate werden verarbeitet",
|
||||
"analyzing_loading_thumbnail_ytdlp": "Analysiere (85%)... Thumbnail wird geladen",
|
||||
"analyzing_processing_subtitles_ytdlp": "Analysiere (90%)... Untertitel werden verarbeitet",
|
||||
"select_subtitles": "Untertitel auswählen...",
|
||||
"sponsorblock_categories": "SponsorBlock-Kategorien...",
|
||||
"invalid_url_or_enter": "Ungültige URL oder bitte geben Sie eine URL ein.",
|
||||
"zero_selected": "0 ausgewählt",
|
||||
"analyze_first_tooltip": "Bitte analysieren Sie zuerst das Video",
|
||||
"audio_mode_disabled": "Nicht verfügbar im Nur-Audio-Modus",
|
||||
"select_subtitles_first": "Bitte wählen Sie zuerst Untertitel aus",
|
||||
"settings_tooltip": "Aktueller Pfad: {path}\nGeschwindigkeitslimit: {speed_limit}",
|
||||
"speed_limit_none": "Keines",
|
||||
"open_folder_error": "Ordner konnte nicht geöffnet werden: {error}",
|
||||
"time_range_set": "Abschnitt gesetzt: {section}"
|
||||
},
|
||||
"sponsorblock": {
|
||||
"sponsor": "Sponsor",
|
||||
"sponsor_desc": "Bezahlte Werbung, bezahlte Empfehlungen und direkte Werbung",
|
||||
"selfpromo": "Unbezahlte/Eigenwerbung",
|
||||
"selfpromo_desc": "Unbezahlte Werbung für eigene Inhalte der Ersteller",
|
||||
"interaction": "Interaktions-Erinnerung",
|
||||
"interaction_desc": "Zuschauer werden gebeten zu liken, zu abonnieren oder sozialen Medien zu folgen",
|
||||
"intro": "Intro",
|
||||
"intro_desc": "Video-Einleitung, die übersprungen werden kann",
|
||||
"outro": "Outro/Abspann-Karten",
|
||||
"outro_desc": "Credits oder wenn das Video endet",
|
||||
"preview": "Vorschau/Zusammenfassung",
|
||||
"preview_desc": "Kurze Zusammenfassung vorheriger Videos oder Vorschau auf kommende Inhalte",
|
||||
"music_offtopic": "Nicht-Musik-Bereich",
|
||||
"music_offtopic_desc": "Nur für Musikvideos. Markiert Nicht-Musik-Bereiche",
|
||||
"filler": "Füller-Exkurs",
|
||||
"filler_desc": "Abschweifende Szenen, die nur als Füller oder für Humor hinzugefügt wurden"
|
||||
},
|
||||
"video_info": {
|
||||
"channel": "Kanal",
|
||||
"views": "👁 Aufrufe",
|
||||
"likes": "👍 Gefällt mir",
|
||||
"upload_date": "📅 Upload-Datum",
|
||||
"duration": "⏱ Dauer",
|
||||
"unknown_channel": "Unbekannter Kanal",
|
||||
"unknown_date": "Unbekanntes Datum",
|
||||
"unknown_title": "Unbekannter Titel"
|
||||
},
|
||||
"command": {
|
||||
"running": "Läuft...",
|
||||
"run_command": "Befehl ausführen"
|
||||
},
|
||||
"selection": {
|
||||
"none_selected": "0 ausgewählt",
|
||||
"one_selected": "1 Kategorie ausgewählt",
|
||||
"count_selected": "{count} ausgewählt"
|
||||
},
|
||||
"status": {
|
||||
"ready": "Bereit",
|
||||
"file_exists": "⚠️ Datei existiert bereits",
|
||||
"video_file_exists": "⚠️ Video-Datei existiert bereits",
|
||||
"audio_file_exists": "⚠️ Audio-Datei existiert bereits",
|
||||
"subtitle_file_exists": "⚠️ Untertitel-Datei existiert bereits",
|
||||
"cancelling": "Download wird abgebrochen...",
|
||||
"thumbnail_saved": "✅ Miniaturbild gespeichert: {filename}",
|
||||
"thumbnail_error": "❌ Miniaturbild-Fehler: {error}",
|
||||
"thumbnail_no_image": "Kein Miniaturbild zum Speichern verfügbar"
|
||||
},
|
||||
"errors": {
|
||||
"playlist_no_videos": "Fehler: Playlist enthält keine gültigen Videos.",
|
||||
"playlist_no_url": "Fehler: URL für das erste Playlist-Video konnte nicht abgerufen werden.",
|
||||
"ytdlp_not_found": "Fehler: yt-dlp-Ausführbare Datei nicht gefunden. Bitte installieren Sie zuerst yt-dlp.",
|
||||
"ytdlp_not_found_path": "Fehler: yt-dlp-Ausführbare Datei nicht gefunden. Dies könnte auf eine fehlerhafte Installation oder ein PATH-Problem zurückzuführen sein.",
|
||||
"no_data_returned": "Fehler: Keine Daten von yt-dlp zurückgegeben",
|
||||
"no_format_info": "Fehler: Keine Formatinformationen verfügbar.",
|
||||
"analysis_timeout": "Fehler: Analyse-Zeitüberschreitung. Bitte versuchen Sie es erneut.",
|
||||
"invalid_speed_limit": "❌ Fehler: Ungültiger Geschwindigkeitsbegrenzungswert in den Einstellungen.",
|
||||
"ytdlp_failed": "Fehler: yt-dlp fehlgeschlagen: {error}",
|
||||
"parse_failed": "Fehler: Fehler beim Parsen der yt-dlp-Ausgabe: {error}",
|
||||
"analysis_failed": "Fehler: Analyse fehlgeschlagen: {error}",
|
||||
"generic_error": "Fehler: {error}",
|
||||
"download_failed_return_code_conflict": "Download fehlgeschlagen mit Rückgabecode {return_code}. Dies kann an einem Konflikt mit mehreren yt-dlp-Installationen liegen. Deinstalliere ggf. eine systemweit installierte yt-dlp-Version (z. B. über snap oder apt) und starte die Anwendung neu.",
|
||||
"download_failed_return_code": "Download fehlgeschlagen mit Rückgabecode {return_code}",
|
||||
"direct_command_error": "Fehler im direkten Befehl: {error}"
|
||||
},
|
||||
"update_dialog": {
|
||||
"title": "Update verfügbar",
|
||||
"new_version_available": "Eine neue Version von YTSage ist verfügbar!",
|
||||
"current_version_label": "Aktuelle Version:",
|
||||
"latest_version_label": "Neueste Version:",
|
||||
"changelog": "Änderungsprotokoll",
|
||||
"download_update": "Update herunterladen",
|
||||
"remind_later": "Später erinnern"
|
||||
},
|
||||
"playlist": {
|
||||
"unknown": "Unbekannte Playlist",
|
||||
"total_videos": "Gesamtanzahl Videos: {count}",
|
||||
"display_format": "Playlist: {title} | {count} Videos",
|
||||
"select_videos_title": "Playlist-Videos auswählen"
|
||||
},
|
||||
"subtitle_selection": {
|
||||
"count_selected": "{count} ausgewählt"
|
||||
},
|
||||
"file_exists_dialog": {
|
||||
"title": "Datei existiert bereits",
|
||||
"message": "Die Datei existiert bereits:\n{filename}",
|
||||
"info": "Dieses Video wurde bereits heruntergeladen."
|
||||
},
|
||||
"auto_update": {
|
||||
"last_check_never": "Letzte Aktualisierungsprüfung: Nie",
|
||||
"last_check": "Letzte Aktualisierungsprüfung: {time}",
|
||||
"next_check_disabled": "Nächste Prüfung: Deaktiviert",
|
||||
"next_check_startup": "Nächste Prüfung: Beim Start",
|
||||
"next_check_overdue": "Nächste Prüfung: Jetzt (überfällig)",
|
||||
"next_check": "Nächste Prüfung: {time}",
|
||||
"next_check_error": "Nächste Prüfung: Fehler bei Berechnung",
|
||||
"checking": "🔄 Prüfen...",
|
||||
"check_now": "🔍 Jetzt nach Updates suchen",
|
||||
"current_version": "Aktuelle yt-dlp-Version: {version}"
|
||||
},
|
||||
"url_validation": {
|
||||
"empty_url": "URL kann nicht leer sein",
|
||||
"invalid_format": "Ungültiges URL-Format",
|
||||
"invalid_scheme": "URL muss mit http:// oder https:// beginnen",
|
||||
"missing_domain": "Ungültige URL: Domain-Name fehlt",
|
||||
"unsupported_platform": "YTSage unterstützt nur YouTube- und YouTube Music-URLs.\nDie Domain '{domain}' wird nicht unterstützt.",
|
||||
"invalid_youtu_be": "Ungültige youtu.be-URL: Video-ID fehlt"
|
||||
},
|
||||
"ytdlp_errors": {
|
||||
"private_video": "Dies ist ein privates Video. Sie können es herunterladen, indem Sie sich mit Cookies in Ihr Konto einloggen.\nGehen Sie zu 'Benutzerdefinierte Optionen' → 'Mit Cookies anmelden' → 'Cookies aus Browser extrahieren', um sich zu authentifizieren.",
|
||||
"age_restricted": "Dieses Video ist altersbeschränkt. Sie müssen angemeldet sein, um darauf zuzugreifen.\nVerwenden Sie 'Benutzerdefinierte Optionen' → 'Mit Cookies anmelden', um sich mit Ihrem Konto zu authentifizieren.",
|
||||
"geo_blocked": "Dieses Video ist in Ihrer Region nicht verfügbar (geografisch gesperrt).\nSie benötigen möglicherweise ein VPN oder das Video ist in Ihrem Land eingeschränkt.",
|
||||
"video_unavailable": "Dieses Video wurde entfernt oder ist nicht mehr verfügbar.\nDas Video wurde möglicherweise vom Uploader gelöscht oder wegen Richtlinienverstößen entfernt.",
|
||||
"live_stream": "Dies ist ein Live-Stream, der während der Aktivität nicht heruntergeladen werden kann.\nWarten Sie, bis der Stream endet, und versuchen Sie dann, die archivierte Version herunterzuladen.",
|
||||
"playlist_error": "Zugriff auf diese Playlist nicht möglich. Sie ist möglicherweise privat, gelöscht oder leer.\nÜberprüfen Sie, ob die Playlist existiert und öffentlich zugänglich ist.",
|
||||
"network_error": "Netzwerkverbindungsfehler. Bitte überprüfen Sie Ihre Internetverbindung und versuchen Sie es erneut.\nWenn das Problem weiterhin besteht, ist der Videoserver möglicherweise vorübergehend nicht verfügbar.",
|
||||
"invalid_url": "Ungültige oder nicht unterstützte URL. Bitte überprüfen Sie den Link und versuchen Sie es erneut.\nStellen Sie sicher, dass Sie eine gültige YouTube-, Vimeo- oder andere unterstützte Plattform-URL verwenden.",
|
||||
"premium_content": "Dieser Inhalt erfordert YouTube Premium oder eine Kanalmitgliedschaft.\nSie müssen mit einem Konto angemeldet sein, das Zugriff auf diesen Inhalt hat.",
|
||||
"copyright_blocked": "Dieses Video ist aufgrund von Urheberrechtsansprüchen gesperrt.\nDer Inhaltsinhaber hat den Zugriff auf dieses Video eingeschränkt.",
|
||||
"extraction_failed": "Fehler beim Extrahieren von Videoinformationen. Dies könnte ein vorübergehendes Problem sein.\nBitte versuchen Sie es in ein paar Minuten erneut oder überprüfen Sie, ob der Videolink korrekt ist.",
|
||||
"generic_error": "Videoinformationen konnten nicht extrahiert werden. Bitte überprüfen Sie Ihren Link.\nTechnische Details: {error}"
|
||||
},
|
||||
"history": {
|
||||
"title": "Download-Verlauf",
|
||||
"clear_all": "Alles Löschen",
|
||||
"clear_confirm_title": "Verlauf Löschen?",
|
||||
"clear_confirm_message": "Sind Sie sicher? Dies kann nicht rückgängig gemacht werden.",
|
||||
"no_history": "Noch kein Verlauf",
|
||||
"no_history_description": "Ihre Downloads werden hier angezeigt",
|
||||
"loading": "Verlauf wird geladen...",
|
||||
"search_placeholder": "Suchen...",
|
||||
"open_location": "Speicherort Öffnen",
|
||||
"redownload": "Erneut Laden",
|
||||
"remove": "Entfernen",
|
||||
"file_not_found": "Datei nicht gefunden",
|
||||
"file_not_found_message": "Die Datei wurde verschoben oder gelöscht:\n{path}",
|
||||
"downloaded_on": "Geladen: {date}",
|
||||
"file_size": "Größe: {size}",
|
||||
"audio_download": "Audio",
|
||||
"video_download": "Video",
|
||||
"remove_confirm_title": "Entfernen?",
|
||||
"remove_confirm_message": "Aus Verlauf entfernen?\n\n{title}",
|
||||
"item_removed": "Entfernt",
|
||||
"history_cleared": "Verlauf gelöscht",
|
||||
"entries_count": "{count} Downloads",
|
||||
"one_entry": "1 Download",
|
||||
"redownload_confirm_title": "Erneut Laden?",
|
||||
"redownload_confirm_message": "Erneut herunterladen?\n\n{title}",
|
||||
"redownload_started": "Download gestartet",
|
||||
"no_url_error": "Keine URL im Verlaufseintrag gefunden",
|
||||
"redownload_failed": "Neuer Download konnte nicht gestartet werden: {error}"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"installation_title": "FFmpeg-Installation",
|
||||
"installation_message": "YTSage benötigt FFmpeg zur Verarbeitung von Videos.\n\nWähle unten eine Installationsoption:",
|
||||
"install_button": "FFmpeg installieren",
|
||||
"manual_guide": "Manuelle Anleitung",
|
||||
"installation_failed": "Bei der FFmpeg-Installation ist ein Problem aufgetreten.",
|
||||
"already_installed": "FFmpeg ist bereits installiert!",
|
||||
"installation_complete": "Installation abgeschlossen. Sie können diesen Dialog schließen und YTSage weiter nutzen.",
|
||||
"installing": "FFmpeg wird installiert... Bitte warten",
|
||||
"install_success": "FFmpeg wurde erfolgreich installiert!",
|
||||
"installation_complete_close": "Installation abgeschlossen. Sie können diesen Dialog jetzt schließen und YTSage weiter nutzen.",
|
||||
"try_manual": "Bitte versuchen Sie stattdessen die manuelle Installationsanleitung."
|
||||
},
|
||||
"ytdlp_setup": {
|
||||
"required_title": "yt-dlp-Einrichtung erforderlich",
|
||||
"description": "YTSage benötigt yt-dlp zum Herunterladen von Videos.<br><br>yt-dlp wurde im lokalen App-Verzeichnis nicht gefunden. YTSage muss yt-dlp für dein {os_name}-System einrichten.<br><br>Bitte wähle unten eine Option:",
|
||||
"option_auto": "Automatisch herunterladen (empfohlen)",
|
||||
"option_manual": "Pfad manuell auswählen",
|
||||
"setup_button": "yt-dlp einrichten",
|
||||
"downloading": "yt-dlp wird heruntergeladen...",
|
||||
"success": "yt-dlp wurde erfolgreich installiert!",
|
||||
"error": "Fehler: {error}",
|
||||
"download_failed_title": "Download fehlgeschlagen",
|
||||
"download_failed_message": "yt-dlp konnte nicht heruntergeladen werden: {error}",
|
||||
"select_executable_title": "yt-dlp-Programm auswählen",
|
||||
"copied_to": "yt-dlp erfolgreich nach {path} kopiert",
|
||||
"setup_error_title": "Einrichtungsfehler",
|
||||
"copy_error": "Fehler beim Kopieren von yt-dlp ins App-Verzeichnis: {error}",
|
||||
"invalid_executable_title": "Ungültige Datei",
|
||||
"invalid_executable_message": "Die ausgewählte Datei scheint kein gültiges yt-dlp-Programm zu sein.",
|
||||
"verify_error": "Fehler beim Prüfen der yt-dlp-Datei: {error}",
|
||||
"setup_failed_title": "Einrichtung fehlgeschlagen",
|
||||
"setup_failed_message": "yt-dlp konnte nicht eingerichtet werden. Einige Funktionen funktionieren möglicherweise nicht korrekt.",
|
||||
"success_dialog_title": "yt-dlp-Einrichtung",
|
||||
"success_dialog_message": "yt-dlp wurde erfolgreich eingerichtet unter:\n{path}",
|
||||
"file_filter_windows": "Ausführbare Dateien (*.exe)",
|
||||
"file_filter_all": "Alle Dateien (*)"
|
||||
},
|
||||
"ffmpeg_updater": {
|
||||
"title": "FFmpeg-Versionsprüfer",
|
||||
"current_version": "Aktuelle Version:",
|
||||
"latest_version": "Neueste Version:",
|
||||
"status_up_to_date": "✓ Auf dem neuesten Stand",
|
||||
"status_update_available": "⚠ Update verfügbar",
|
||||
"status_not_installed": "✗ Nicht installiert",
|
||||
"status_idle": "Klicken Sie auf 'Version prüfen' um zu beginnen",
|
||||
"status_checking": "🔄 Version wird geprüft...",
|
||||
"check_updates": "Version prüfen",
|
||||
"check_failed": "Versionprüfung fehlgeschlagen. Bitte überprüfen Sie Ihre Internetverbindung.",
|
||||
"description": "Überprüfen Sie Ihre FFmpeg-Version und vergleichen Sie sie mit der neuesten verfügbaren Version.",
|
||||
"guide_info": " Um FFmpeg zu installieren oder zu aktualisieren, <a href='https://github.com/oop7/ffmpeg-install-guide'>klicken Sie hier, um unseren umfassenden Installationsleitfaden anzuzeigen</a>."
|
||||
},
|
||||
"deno": {
|
||||
"setup_required": "Deno-Einrichtung erforderlich",
|
||||
"setup_description": "YTSage benötigt Deno, um bestimmte Funktionen auszuführen.<br><br>Deno wurde im lokalen Verzeichnis der App nicht gefunden. YTSage muss Deno für Ihr {os_name}-System einrichten.<br><br>Klicken Sie auf 'Deno einrichten', um es automatisch herunterzuladen und zu installieren.",
|
||||
"setup_button": "Deno einrichten",
|
||||
"downloading": "Deno wird heruntergeladen...",
|
||||
"extracting": "Deno wird extrahiert...",
|
||||
"verifying": "Deno wird überprüft...",
|
||||
"success": "Deno wurde erfolgreich installiert!",
|
||||
"download_failed": "Download fehlgeschlagen",
|
||||
"download_error": "Deno konnte nicht heruntergeladen werden: {error}",
|
||||
"verification_failed": "SHA256-Überprüfung fehlgeschlagen. Die heruntergeladene Datei ist möglicherweise beschädigt oder manipuliert.",
|
||||
"setup_failed": "Deno konnte nicht eingerichtet werden. Einige Funktionen funktionieren möglicherweise nicht richtig.",
|
||||
"setup_error": "Einrichtungsfehler"
|
||||
},
|
||||
"deno_updater": {
|
||||
"title": "Deno Versionsprüfer & Updater",
|
||||
"description": "Überprüfen Sie Ihre Deno-Version und aktualisieren Sie auf die neueste Version.",
|
||||
"current_version": "Aktuelle Version:",
|
||||
"latest_version": "Neueste Version:",
|
||||
"status_idle": "Klicken Sie auf 'Nach Updates suchen', um zu beginnen",
|
||||
"status_checking": "🔄 Suche nach Updates...",
|
||||
"status_up_to_date": "✓ Aktuell",
|
||||
"status_update_available": "⚠ Update verfügbar",
|
||||
"status_not_installed": "✗ Nicht installiert",
|
||||
"check_updates": "Nach Updates suchen",
|
||||
"update_now": "Deno aktualisieren",
|
||||
"updating": "🔄 Deno wird aktualisiert...",
|
||||
"update_success": "✅ Deno wurde erfolgreich aktualisiert!",
|
||||
"update_failed": "❌ Update fehlgeschlagen: {error}",
|
||||
"check_failed": "Suche nach Updates fehlgeschlagen. Bitte überprüfen Sie Ihre Internetverbindung."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,611 @@
|
||||
{
|
||||
"language": {
|
||||
"display_name": "English",
|
||||
"select_language": "Select language:",
|
||||
"current_language": "Current language: {language}",
|
||||
"restart_required": "Language changes will take effect after restarting the application.",
|
||||
"english": "English",
|
||||
"spanish": "Español (Spanish)",
|
||||
"portuguese": "Português (Portuguese)",
|
||||
"russian": "Русский (Russian)",
|
||||
"chinese": "中文 (简体) (Chinese Simplified)",
|
||||
"german": "Deutsch (German)",
|
||||
"french": "Français (French)",
|
||||
"hindi": "हिन्दी (Hindi)",
|
||||
"indonesian": "Bahasa Indonesia (Indonesian)",
|
||||
"turkish": "Türkçe (Turkish)",
|
||||
"polish": "Polski (Polish)",
|
||||
"italian": "Italiano (Italian)",
|
||||
"arabic": "العربية (Arabic)",
|
||||
"japanese": "日本語 (Japanese)",
|
||||
"help_text": "Select your preferred language for the interface.",
|
||||
"restart_notice": "Language change will take effect after restarting the application."
|
||||
},
|
||||
"app": {
|
||||
"title": "YTSage",
|
||||
"version": "v{version}",
|
||||
"ready": "Ready"
|
||||
},
|
||||
"formats": {
|
||||
"show_formats": "Show Formats:",
|
||||
"video_format": "Video Format:",
|
||||
"audio_format": "Audio Format:",
|
||||
"no_formats": "No formats available",
|
||||
"loading": "Loading formats...",
|
||||
"select": "Select",
|
||||
"quality": "Quality",
|
||||
"extension": "Extension",
|
||||
"resolution": "Resolution",
|
||||
"file_size": "File Size",
|
||||
"codec": "Codec",
|
||||
"audio": "Audio",
|
||||
"fps": "FPS",
|
||||
"hdr": "HDR",
|
||||
"will_merge_audio": "Will merge audio",
|
||||
"has_audio": "✓ Has Audio",
|
||||
"audio_only": "Audio Only",
|
||||
"best_4k": "Best (4K)",
|
||||
"best_2k": "Best (2K)",
|
||||
"high_1080p": "High (1080p)",
|
||||
"high_720p": "High (720p)",
|
||||
"medium_480p": "Medium (480p)",
|
||||
"low_quality": "Low Quality",
|
||||
"best_audio": "Best Audio",
|
||||
"high_audio": "High Audio",
|
||||
"medium_audio": "Medium Audio",
|
||||
"low_audio": "Low Audio",
|
||||
"audio_only_resolution": "Audio only"
|
||||
},
|
||||
"buttons": {
|
||||
"download": "Download",
|
||||
"pause": "Pause",
|
||||
"resume": "Resume",
|
||||
"cancel": "Cancel",
|
||||
"browse": "Browse",
|
||||
"clear": "Clear",
|
||||
"ok": "OK",
|
||||
"apply": "Apply",
|
||||
"close": "Close",
|
||||
"run_command": "Run Command",
|
||||
"custom_command_help": "Help",
|
||||
"about": "About",
|
||||
"history": "History",
|
||||
"analyze": "Analyze",
|
||||
"paste_url": "Paste URL",
|
||||
"select_videos": "Select Videos...",
|
||||
"video": "Video",
|
||||
"audio_only": "Audio Only",
|
||||
"custom_options": "Custom Options",
|
||||
"trim_video": "Trim Video",
|
||||
"download_settings": "Download Settings",
|
||||
"update": "Update yt-dlp",
|
||||
"select_defaults": "Select Defaults",
|
||||
"select_all": "Select All",
|
||||
"deselect_all": "Deselect All",
|
||||
"open_folder": "Open folder location"
|
||||
},
|
||||
"dialogs": {
|
||||
"custom_options": "Custom Options",
|
||||
"settings": "Settings",
|
||||
"select_folder": "Select Download Folder",
|
||||
"sponsorblock_categories": "SponsorBlock Categories",
|
||||
"sponsorblock_description": "Select which types of video segments to automatically remove during download.\nSponsorBlock uses community-submitted data to identify these segments.",
|
||||
"select_subtitles": "Select Subtitles",
|
||||
"filter_languages_placeholder": "Filter languages (e.g., en, es)...",
|
||||
"filter_playlist_placeholder": "Filter videos...",
|
||||
"no_subtitles_available": "No subtitles available",
|
||||
"matching": "matching",
|
||||
"ytdlp_log_title": "yt-dlp Log"
|
||||
},
|
||||
"tabs": {
|
||||
"cookies": "Login with Cookies",
|
||||
"custom_command": "Custom Command",
|
||||
"proxy": "Proxy",
|
||||
"language": "Language",
|
||||
"updater": "Updater"
|
||||
},
|
||||
"cookies": {
|
||||
"help_text": "Choose how to provide cookies for logging in.\nThis allows downloading of private videos and premium quality audio.",
|
||||
"cookie_source": "Cookie Source",
|
||||
"use_cookie_file": "Use cookie file",
|
||||
"extract_from_browser": "Extract from browser",
|
||||
"recommended": "Recommended",
|
||||
"cookie_file": "Cookie File",
|
||||
"cookie_file_placeholder": "Path to cookies.txt file...",
|
||||
"browser_selection": "Browser Selection",
|
||||
"browser_help": "Select the browser to extract cookies from:",
|
||||
"browser_label": "Browser:",
|
||||
"profile_label": "Profile:",
|
||||
"profile_placeholder": "default",
|
||||
"browser_extract_message": "Browser cookies will be extracted when applied",
|
||||
"file_selected_message": "Cookie file selected - Click OK to apply",
|
||||
"select_file_title": "Select Cookie File",
|
||||
"file_filter": "Cookies files (*.txt *.lwp)",
|
||||
"file_selected_title": "Cookie File Applied",
|
||||
"file_applied_message": "Cookie file applied: {path}",
|
||||
"browser_selected_title": "Browser Cookies Applied",
|
||||
"browser_applied_message": "Browser cookies will be extracted from: {browser}",
|
||||
"cleared_title": "Cookies Cleared",
|
||||
"cleared_message": "Cookie settings have been cleared",
|
||||
"active_browser": "✓ Active: Browser cookies ({browser})",
|
||||
"active_file": "✓ Active: Cookie file ({file})",
|
||||
"none_active": "○ No cookies active"
|
||||
},
|
||||
"custom_command": {
|
||||
"help_text": "Enter your custom yt-dlp command below. The current URL will be appended automatically.<br><br>For the full list of options and usage examples, <a href=\"{docs_url}\">click here to view the official yt-dlp documentation</a>.<br><br>Note: Download path and filename template will be handled automatically.",
|
||||
"input_label": "yt-dlp Arguments:",
|
||||
"input_placeholder": "Enter yt-dlp arguments here...\n\ne.g. --extract-audio --audio-format mp3",
|
||||
"output_label": "Command Output:",
|
||||
"output_placeholder": "Command output will appear here...",
|
||||
"command_placeholder": "Enter custom yt-dlp command...",
|
||||
"command_help": "Available placeholders:\n{url} - Video URL\n{output} - Output directory\n\nExample: --write-info-json --write-thumbnail",
|
||||
"full_command": "🔧 Full command: {command}",
|
||||
"command_success": "✅ Custom command completed successfully!",
|
||||
"command_failed": "❌ Command failed with exit code {code}",
|
||||
"command_error": "❌ Error running custom command: {error}",
|
||||
"error_no_url": "❌ Error: No URL provided. Please enter a URL in the main window.",
|
||||
"error_no_command": "❌ Error: No command provided. Please enter yt-dlp arguments.",
|
||||
"executing": "🚀 Executing custom yt-dlp command",
|
||||
"url_label": "📍 URL: {url}",
|
||||
"args_label": "⚙️ Arguments: {command}",
|
||||
"download_path_label": "📁 Download path: {path}",
|
||||
"separator": "=================================================="
|
||||
},
|
||||
"proxy": {
|
||||
"help_text": "Configure proxy settings for downloading. Leave empty to use direct connection.",
|
||||
"main_proxy": "Main Proxy",
|
||||
"main_proxy_help": "Primary proxy server for all downloads. Supports HTTP/HTTPS and SOCKS5 protocols.",
|
||||
"proxy_url_label": "Proxy URL:",
|
||||
"proxy_url_placeholder": "http://proxy:port or socks5://proxy:port",
|
||||
"proxy_examples": "Examples:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080",
|
||||
"geo_proxy": "Geo-bypass Proxy",
|
||||
"geo_proxy_help": "Secondary proxy specifically for bypassing geographic restrictions.",
|
||||
"geo_proxy_url_label": "Geo-bypass Proxy URL:",
|
||||
"geo_proxy_url_placeholder": "http://geo-proxy:port",
|
||||
"clear_main_proxy": "Clear Main Proxy",
|
||||
"clear_geo_proxy": "Clear Geo Proxy",
|
||||
"proxy_url": "Proxy URL",
|
||||
"proxy_placeholder": "http://proxy:port or socks5://proxy:port",
|
||||
"geo_bypass": "Geo-bypass proxy (for geographic restrictions)",
|
||||
"geo_bypass_placeholder": "http://proxy:port for bypassing geo-blocks",
|
||||
"invalid_main_url": "Invalid main proxy URL format",
|
||||
"invalid_geo_url": "Invalid geo proxy URL format",
|
||||
"main_configured": "Main proxy configured",
|
||||
"geo_configured": "Geo proxy configured",
|
||||
"set_title": "Proxy Set",
|
||||
"set_message": "Main proxy set and saved: {proxy}",
|
||||
"geo_set_title": "Geo Proxy Set",
|
||||
"geo_set_message": "Geo-verification proxy set and saved: {proxy}",
|
||||
"cleared_title": "Proxy Settings Cleared",
|
||||
"cleared_message": "All proxy settings have been cleared and saved.",
|
||||
"saved_main": "Saved main proxy: {proxy}",
|
||||
"saved_geo": "Saved geo proxy: {proxy}"
|
||||
},
|
||||
"download": {
|
||||
"preparing": "Preparing download...",
|
||||
"starting": "🚀 Starting download...",
|
||||
"fetching_info": "🔍 Fetching video information...",
|
||||
"preparing_streams": "🎯 Preparing video streams...",
|
||||
"downloading_audio": "⏬ Downloading audio...",
|
||||
"downloading_video": "⏬ Downloading video...",
|
||||
"downloading_subtitle": "⏬ Downloading subtitle...",
|
||||
"downloading": "⏬ Downloading...",
|
||||
"completed": "✅ Download completed!",
|
||||
"video_completed": "✅ Video download completed!",
|
||||
"audio_completed": "✅ Audio download completed!",
|
||||
"subtitle_completed": "✅ Subtitle download completed!",
|
||||
"completed_cleaning": "✅ Download completed! Cleaning up...",
|
||||
"cancelled": "Download cancelled",
|
||||
"processing_playlist": "📋 Processing playlist data...",
|
||||
"paused": "Download paused",
|
||||
"resumed": "Download resumed",
|
||||
"merging_formats": "✨ Post-processing: Merging formats...",
|
||||
"removing_sponsor_segments": "✨ Post-processing: Removing sponsor segments...",
|
||||
"speed": "Speed",
|
||||
"eta": "ETA",
|
||||
"please_enter_url": "Please enter a URL first.",
|
||||
"please_set_path": "Please set a download path first.",
|
||||
"please_enter_url_and_path": "Please enter a URL and set download path.",
|
||||
"please_select_format": "Please select a format first.",
|
||||
"downloading_fallback": "⚡ Downloading..."
|
||||
},
|
||||
"update": {
|
||||
"title": "Update yt-dlp",
|
||||
"checking": "Checking for updates...",
|
||||
"update_available": "Update available!\nCurrent version: {current}\nLatest version: {latest}",
|
||||
"up_to_date": "yt-dlp is up to date (version {version})",
|
||||
"already_up_to_date": "✅ yt-dlp is already up to date!",
|
||||
"could_not_determine": "Could not determine versions.",
|
||||
"error_comparing": "Error comparing versions: {error}",
|
||||
"update_available_failed": "Update available! (Comparison failed)\nCurrent: {current}\nLatest: {latest}",
|
||||
"updating": "Updating...",
|
||||
"initializing": "🚀 Initializing update process...",
|
||||
"checking_current": "🔍 Checking current installation...",
|
||||
"found_at": "📍 Found yt-dlp at: {path}",
|
||||
"error_getting_path": "❌ Error getting yt-dlp path: {error}",
|
||||
"updating_binary": "📦 Updating app-managed yt-dlp binary...",
|
||||
"update_failed": "❌ Failed to update yt-dlp. Please try again or check your internet connection.",
|
||||
"binary_updated": "✅ Binary successfully updated!",
|
||||
"update_failed_stderr": "❌ yt-dlp update failed: {error}",
|
||||
"update_timeout": "❌ yt-dlp update timed out.",
|
||||
"unexpected_error": "❌ Unexpected error during update: {error}",
|
||||
"update_success": "✅ yt-dlp has been successfully updated!",
|
||||
"already_latest": "yt-dlp is up to date (version {version})",
|
||||
"network_error": "❌ Network error during update: {error}",
|
||||
"general_error": "❌ Update failed: {error}",
|
||||
"update_in_progress_title": "Update in Progress",
|
||||
"update_in_progress_message": "yt-dlp is currently updating. Please wait a moment."
|
||||
},
|
||||
"about": {
|
||||
"title": "About YTSage",
|
||||
"version": "Version {version}",
|
||||
"description": "Modern YouTube downloader with clean PySide6 interface.",
|
||||
"author": "By: {author}",
|
||||
"github": "GitHub: {repo}",
|
||||
"system_info": "System Information",
|
||||
"loading": "🔄 Loading system information...",
|
||||
"refresh": "🔄",
|
||||
"refreshing": "🔄 Refreshing...",
|
||||
"refresh_failed": "Refresh Failed",
|
||||
"refresh_failed_message": "Could not refresh version information.",
|
||||
"detected": "✓ Detected",
|
||||
"missing": "✗ Missing",
|
||||
"not_available": "Not Available"
|
||||
},
|
||||
"time_range": {
|
||||
"title": "Trim Video",
|
||||
"time_range_group": "Time Range",
|
||||
"start_time": "Start Time (HH:MM:SS)",
|
||||
"end_time": "End Time (HH:MM:SS)",
|
||||
"start_placeholder": "00:00:00",
|
||||
"end_placeholder": "00:00:00",
|
||||
"start_time_placeholder": "Start time (HH:MM:SS)",
|
||||
"end_time_placeholder": "End time (HH:MM:SS)",
|
||||
"force_keyframes": "Force keyframes at cut points",
|
||||
"help_text": "Set the start and end times to trim the video.\nLeave empty to download the full video.",
|
||||
"invalid_format": "Invalid time format. Use HH:MM:SS format.",
|
||||
"start_after_end": "Start time cannot be after end time."
|
||||
},
|
||||
"settings": {
|
||||
"title": "Download Settings",
|
||||
"download_path": "Download Path",
|
||||
"browse": "Browse...",
|
||||
"speed_limit": "Speed Limit",
|
||||
"speed_limit_placeholder": "None",
|
||||
"auto_update_ytdlp": "Auto-Update yt-dlp",
|
||||
"enable_auto_updates": "Enable automatic yt-dlp updates",
|
||||
"update_frequency": "Update frequency:",
|
||||
"check_startup": "Check on every startup (minimum 1 hour between checks)",
|
||||
"check_daily": "Check daily",
|
||||
"check_weekly": "Check weekly",
|
||||
"check_updates_now": "Update yt-dlp",
|
||||
"update_check_title": "Update Check",
|
||||
"could_not_determine_version": "Could not determine current yt-dlp version.",
|
||||
"update_available_dialog": "Update available!\n\nCurrent: {current}\nLatest: {latest}\n\nClick OK to proceed with the update.",
|
||||
"up_to_date_dialog": "yt-dlp is up to date!\n\nCurrent version: {version}",
|
||||
"error_checking_updates": "Error checking for updates: {error}",
|
||||
"settings_saved_title": "Settings Saved",
|
||||
"settings_saved_message": "Auto-update settings have been saved successfully!",
|
||||
"error_title": "Error",
|
||||
"failed_save_settings": "Failed to save auto-update settings.",
|
||||
"error_saving_settings": "Error saving auto-update settings: {error}",
|
||||
"ytdlp_channel": "yt-dlp Release Channel",
|
||||
"ytdlp_channel_stable": "Stable (Tested releases)",
|
||||
"ytdlp_channel_nightly": "Nightly (Daily updates, recommended by yt-dlp)",
|
||||
"ytdlp_channel_description": "Choose between stable and nightly releases. Nightly builds are updated daily with the latest fixes and features. You can switch channels at any time.",
|
||||
"ytdlp_switching_channel": "Switching to {channel} channel...",
|
||||
"ytdlp_channel_switched": "✅ Successfully switched to {channel} channel!",
|
||||
"ytdlp_channel_switch_failed": "❌ Failed to switch channel: {error}",
|
||||
"ytdlp_current_channel": "Current channel: {channel}",
|
||||
"auto_update_title": "Auto-Update Settings",
|
||||
"auto_update_header": "🔄 Auto-Update Settings",
|
||||
"auto_update_description": "Configure automatic updates for yt-dlp to ensure you always have the latest features and bug fixes.",
|
||||
"current_status": "Current Status",
|
||||
"current_version_label": "Current yt-dlp version: Checking...",
|
||||
"last_check_label": "Last update check: Never",
|
||||
"next_check_label": "Next check: Based on settings",
|
||||
"manual_check_button": "🔍 Check for Updates Now",
|
||||
"update_frequency_group": "Update Frequency",
|
||||
"save_settings": "Save Settings",
|
||||
"settings_saved_successfully": "✅ Settings saved successfully!",
|
||||
"error_saving": "❌ Error saving settings: {error}",
|
||||
"output_format_settings": "Output Format Settings",
|
||||
"force_output_format": "Force output format when merging",
|
||||
"preferred_format": "Preferred format:",
|
||||
"force_format_help": "When enabled, merged videos will be converted to your preferred format. Disable to let yt-dlp decide automatically.",
|
||||
"format_mp4": "MP4 (Most compatible)",
|
||||
"format_webm": "WebM (Modern, open)",
|
||||
"format_mkv": "MKV (Feature-rich)",
|
||||
"audio_format_settings": "Audio Format Settings",
|
||||
"force_audio_format": "Force audio format for audio-only downloads",
|
||||
"preferred_audio_format": "Preferred audio format:",
|
||||
"force_audio_format_help": "When enabled, audio-only downloads will be converted to your preferred format. This only applies when downloading audio formats.",
|
||||
"audio_format_best": "Best (No conversion)",
|
||||
"audio_format_aac": "AAC (Good for editing)",
|
||||
"audio_format_mp3": "MP3 (Universal)",
|
||||
"audio_format_flac": "FLAC (Lossless)",
|
||||
"audio_format_wav": "WAV (Uncompressed)",
|
||||
"audio_format_opus": "Opus (Efficient)",
|
||||
"audio_format_m4a": "M4A (Apple)",
|
||||
"audio_format_vorbis": "Vorbis (Open)"
|
||||
},
|
||||
"main_ui": {
|
||||
"url_placeholder": "Enter YouTube video or playlist URL",
|
||||
"merge_subtitles": "Merge Subtitles",
|
||||
"save_thumbnail": "Save Thumbnail",
|
||||
"save_description": "Save Description",
|
||||
"embed_chapters": "Embed Chapters",
|
||||
"subtitles_selected": "{count} selected",
|
||||
"all_selected": "All selected",
|
||||
"select_videos_all": "Select Videos... (All selected)",
|
||||
"please_enter_url": "Please enter a URL first",
|
||||
"error_title": "Error",
|
||||
"cookie_file_selected_title": "Cookie File Selected",
|
||||
"cookie_file_selected_message": "Cookie file selected: {path}",
|
||||
"browser_cookies_selected_title": "Browser Cookies Selected",
|
||||
"browser_cookies_selected_message": "Browser cookies will be extracted from: {browser}",
|
||||
"error_no_format_info": "Error: No format information available.",
|
||||
"error_extract_info": "Error: Could not extract basic video information. Please check your link.",
|
||||
"analyzing_preparing": "Analyzing (0%)... Preparing request",
|
||||
"analyzing_extracting_basic": "Analyzing (15%)... Extracting basic info",
|
||||
"analyzing_extracting_detailed": "Analyzing (30%)... Extracting detailed info",
|
||||
"analyzing_processing_video": "Analyzing (45%)... Processing video data",
|
||||
"analyzing_processing_formats": "Analyzing (60%)... Processing formats",
|
||||
"analyzing_loading_thumbnail": "Analyzing (75%)... Loading thumbnail",
|
||||
"analyzing_processing_subtitles": "Analyzing (85%)... Processing subtitles",
|
||||
"analyzing_updating_table": "Analyzing (95%)... Updating format table",
|
||||
"analysis_complete": "Analysis complete!",
|
||||
"analyzing_extracting_ytdlp": "Analyzing (30%)... Extracting info",
|
||||
"analyzing_fetching_first_video": "Analyzing... Fetching formats for first video",
|
||||
"analyzing_processing_data": "Analyzing (60%)... Processing data",
|
||||
"analyzing_processing_formats_ytdlp": "Analyzing (75%)... Processing formats",
|
||||
"analyzing_loading_thumbnail_ytdlp": "Analyzing (85%)... Loading thumbnail",
|
||||
"analyzing_processing_subtitles_ytdlp": "Analyzing (90%)... Processing subtitles",
|
||||
"select_subtitles": "Select Subtitles...",
|
||||
"sponsorblock_categories": "SponsorBlock Categories...",
|
||||
"invalid_url_or_enter": "Invalid URL or please enter a URL.",
|
||||
"zero_selected": "0 selected",
|
||||
"analyze_first_tooltip": "Please analyze the video first",
|
||||
"audio_mode_disabled": "Not available in audio-only mode",
|
||||
"select_subtitles_first": "Please select subtitles first",
|
||||
"settings_tooltip": "Current Path: {path}\nSpeed Limit: {speed_limit}",
|
||||
"speed_limit_none": "None",
|
||||
"open_folder_error": "Could not open folder: {error}",
|
||||
"time_range_set": "Section set: {section}"
|
||||
},
|
||||
"sponsorblock": {
|
||||
"sponsor": "Sponsor",
|
||||
"sponsor_desc": "Paid promotion, paid referrals and direct advertisements",
|
||||
"selfpromo": "Unpaid/Self Promotion",
|
||||
"selfpromo_desc": "Unpaid promotion of creators' own content",
|
||||
"interaction": "Interaction Reminder",
|
||||
"interaction_desc": "Asking viewers to like, subscribe, or follow social media",
|
||||
"intro": "Intro",
|
||||
"intro_desc": "Video introduction that can be skipped",
|
||||
"outro": "Outro/End Cards",
|
||||
"outro_desc": "Credits or when the video ends",
|
||||
"preview": "Preview/Recap",
|
||||
"preview_desc": "Quick recap of previous videos or preview of what's coming up",
|
||||
"music_offtopic": "Non-Music Section",
|
||||
"music_offtopic_desc": "Only for music videos. Marks non-music sections",
|
||||
"filler": "Filler Tangent",
|
||||
"filler_desc": "Tangential scenes added only for filler or humor"
|
||||
},
|
||||
"video_info": {
|
||||
"channel": "Channel",
|
||||
"views": "👁 Views",
|
||||
"likes": "👍 Likes",
|
||||
"upload_date": "📅 Upload date",
|
||||
"duration": "⏱ Duration",
|
||||
"unknown_channel": "Unknown channel",
|
||||
"unknown_date": "Unknown date",
|
||||
"unknown_title": "Unknown title"
|
||||
},
|
||||
"command": {
|
||||
"running": "Running...",
|
||||
"run_command": "Run Command"
|
||||
},
|
||||
"selection": {
|
||||
"none_selected": "0 selected",
|
||||
"one_selected": "1 category selected",
|
||||
"count_selected": "{count} selected"
|
||||
},
|
||||
"status": {
|
||||
"ready": "Ready",
|
||||
"file_exists": "⚠️ File already exists",
|
||||
"video_file_exists": "⚠️ Video file already exists",
|
||||
"audio_file_exists": "⚠️ Audio file already exists",
|
||||
"subtitle_file_exists": "⚠️ Subtitle file already exists",
|
||||
"cancelling": "Cancelling download...",
|
||||
"thumbnail_saved": "✅ Thumbnail saved: {filename}",
|
||||
"thumbnail_error": "❌ Thumbnail error: {error}",
|
||||
"thumbnail_no_image": "No thumbnail available to save"
|
||||
},
|
||||
"errors": {
|
||||
"playlist_no_videos": "Error: Playlist contains no valid videos.",
|
||||
"playlist_no_url": "Error: Could not get URL for the first playlist video.",
|
||||
"ytdlp_not_found": "Error: yt-dlp executable not found. Please install yt-dlp first.",
|
||||
"ytdlp_not_found_path": "Error: yt-dlp executable not found. This could be due to improper installation or a PATH issue.",
|
||||
"no_data_returned": "Error: No data returned from yt-dlp",
|
||||
"no_format_info": "Error: No format information available.",
|
||||
"analysis_timeout": "Error: Analysis timed out. Please try again.",
|
||||
"invalid_speed_limit": "❌ Error: Invalid speed limit value set in settings.",
|
||||
"ytdlp_failed": "Error: yt-dlp failed: {error}",
|
||||
"parse_failed": "Error: Failed to parse yt-dlp output: {error}",
|
||||
"analysis_failed": "Error: Analysis failed: {error}",
|
||||
"generic_error": "Error: {error}",
|
||||
"download_failed_return_code_conflict": "Download failed with return code {return_code}. This may be due to a conflict with multiple yt-dlp installations. Try uninstalling any system-installed yt-dlp (e.g. through snap or apt) and restart the application.",
|
||||
"download_failed_return_code": "Download failed with return code {return_code}",
|
||||
"direct_command_error": "Error in direct command: {error}"
|
||||
},
|
||||
"update_dialog": {
|
||||
"title": "Update Available",
|
||||
"new_version_available": "A new version of YTSage is available!",
|
||||
"current_version_label": "Current version:",
|
||||
"latest_version_label": "Latest version:",
|
||||
"changelog": "Changelog",
|
||||
"download_update": "Download Update",
|
||||
"remind_later": "Remind Me Later"
|
||||
},
|
||||
"playlist": {
|
||||
"unknown": "Unknown Playlist",
|
||||
"total_videos": "Total Videos: {count}",
|
||||
"display_format": "Playlist: {title} | {count} videos",
|
||||
"select_videos_title": "Select Playlist Videos"
|
||||
},
|
||||
"subtitle_selection": {
|
||||
"count_selected": "{count} selected"
|
||||
},
|
||||
"file_exists_dialog": {
|
||||
"title": "File Already Exists",
|
||||
"message": "The file already exists:\n{filename}",
|
||||
"info": "This video has already been downloaded."
|
||||
},
|
||||
"auto_update": {
|
||||
"last_check_never": "Last update check: Never",
|
||||
"last_check": "Last update check: {time}",
|
||||
"next_check_disabled": "Next check: Disabled",
|
||||
"next_check_startup": "Next check: On next startup",
|
||||
"next_check_overdue": "Next check: Now (overdue)",
|
||||
"next_check": "Next check: {time}",
|
||||
"next_check_error": "Next check: Error calculating",
|
||||
"checking": "🔄 Checking...",
|
||||
"check_now": "🔍 Check for Updates Now",
|
||||
"current_version": "Current yt-dlp version: {version}"
|
||||
},
|
||||
"url_validation": {
|
||||
"empty_url": "URL cannot be empty",
|
||||
"invalid_format": "Invalid URL format",
|
||||
"invalid_scheme": "URL must start with http:// or https://",
|
||||
"missing_domain": "Invalid URL: missing domain name",
|
||||
"unsupported_platform": "YTSage only supports YouTube and YouTube Music URLs.\nThe domain '{domain}' is not supported.",
|
||||
"invalid_youtu_be": "Invalid youtu.be URL: missing video ID"
|
||||
},
|
||||
"ytdlp_errors": {
|
||||
"private_video": "This is a private video. You can download it by logging into your account using cookies.\nGo to 'Custom Options' → 'Login with Cookies' → 'Extract cookies from browser' to authenticate.",
|
||||
"age_restricted": "This video is age-restricted. You need to be logged in to access it.\nUse 'Custom Options' → 'Login with Cookies' to authenticate with your account.",
|
||||
"geo_blocked": "This video is not available in your region (geo-blocked).\nYou may need to use a VPN or the video might be restricted in your country.",
|
||||
"video_unavailable": "This video has been removed or is no longer available.\nThe video may have been deleted by the uploader or removed due to policy violations.",
|
||||
"live_stream": "This is a live stream that cannot be downloaded while active.\nWait for the stream to end, then try downloading the archived version.",
|
||||
"playlist_error": "Unable to access this playlist. It may be private, deleted, or empty.\nCheck if the playlist exists and is publicly accessible.",
|
||||
"network_error": "Network connection error. Please check your internet connection and try again.\nIf the problem persists, the video server might be temporarily unavailable.",
|
||||
"invalid_url": "Invalid or unsupported URL. Please check the link and try again.\nMake sure you're using a valid YouTube, Vimeo, or other supported platform URL.",
|
||||
"premium_content": "This content requires YouTube Premium or channel membership.\nYou need to be logged in with an account that has access to this content.",
|
||||
"copyright_blocked": "This video is blocked due to copyright claims.\nThe content owner has restricted access to this video.",
|
||||
"extraction_failed": "Failed to extract video information. This might be a temporary issue.\nPlease try again in a few minutes, or check if the video link is correct.",
|
||||
"generic_error": "Could not extract video information. Please check your link.\nTechnical details: {error}"
|
||||
},
|
||||
"history": {
|
||||
"title": "Download History",
|
||||
"clear_all": "Clear All History",
|
||||
"clear_confirm_title": "Clear History?",
|
||||
"clear_confirm_message": "Are you sure you want to clear all download history? This cannot be undone.",
|
||||
"no_history": "No download history yet",
|
||||
"no_history_description": "Your downloaded videos and audio will appear here",
|
||||
"loading": "Loading history...",
|
||||
"search_placeholder": "Search history...",
|
||||
"open_location": "Open File Location",
|
||||
"redownload": "Redownload",
|
||||
"remove": "Remove from History",
|
||||
"file_not_found": "File not found at original location",
|
||||
"file_not_found_message": "The file was moved or deleted:\n{path}",
|
||||
"downloaded_on": "Downloaded on {date}",
|
||||
"file_size": "Size: {size}",
|
||||
"audio_download": "Audio",
|
||||
"video_download": "Video",
|
||||
"remove_confirm_title": "Remove from History?",
|
||||
"remove_confirm_message": "Remove this item from history?\n\n{title}",
|
||||
"item_removed": "Item removed from history",
|
||||
"history_cleared": "History cleared",
|
||||
"entries_count": "{count} downloads",
|
||||
"one_entry": "1 download",
|
||||
"redownload_confirm_title": "Redownload Video?",
|
||||
"redownload_confirm_message": "Download this video again using the same settings?\n\n{title}",
|
||||
"redownload_started": "Redownload started",
|
||||
"no_url_error": "No URL found in history entry",
|
||||
"redownload_failed": "Failed to start redownload: {error}"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"installation_title": "FFmpeg Installation",
|
||||
"installation_message": "YTSage needs FFmpeg to process videos.\n\nChoose an installation option below:",
|
||||
"install_button": "Install FFmpeg",
|
||||
"manual_guide": "Manual Guide",
|
||||
"installation_failed": "FFmpeg installation encountered an issue.",
|
||||
"already_installed": "FFmpeg is already installed!",
|
||||
"installation_complete": "Installation complete. You can close this dialog and continue using YTSage.",
|
||||
"installing": "Installing FFmpeg... Please wait",
|
||||
"install_success": "FFmpeg has been installed successfully!",
|
||||
"installation_complete_close": "Installation complete. You can now close this dialog and continue using YTSage.",
|
||||
"try_manual": "Please try using the manual installation guide instead."
|
||||
},
|
||||
"ytdlp_setup": {
|
||||
"required_title": "yt-dlp Setup Required",
|
||||
"description": "YTSage requires yt-dlp to download videos.<br><br>yt-dlp was not found in the app's local directory. YTSage needs to set up yt-dlp for your {os_name} system.<br><br>Please choose an option below:",
|
||||
"option_auto": "Download automatically (Recommended)",
|
||||
"option_manual": "Select path manually",
|
||||
"setup_button": "Setup yt-dlp",
|
||||
"downloading": "Downloading yt-dlp...",
|
||||
"success": "yt-dlp was successfully installed!",
|
||||
"error": "Error: {error}",
|
||||
"download_failed_title": "Download Failed",
|
||||
"download_failed_message": "Failed to download yt-dlp: {error}",
|
||||
"select_executable_title": "Select yt-dlp executable",
|
||||
"copied_to": "yt-dlp successfully copied to {path}",
|
||||
"setup_error_title": "Setup Error",
|
||||
"copy_error": "Error copying yt-dlp to app directory: {error}",
|
||||
"invalid_executable_title": "Invalid Executable",
|
||||
"invalid_executable_message": "The selected file does not appear to be a valid yt-dlp executable.",
|
||||
"verify_error": "Error verifying yt-dlp executable: {error}",
|
||||
"setup_failed_title": "Setup Failed",
|
||||
"setup_failed_message": "Failed to set up yt-dlp. Some features may not work correctly.",
|
||||
"success_dialog_title": "yt-dlp Setup",
|
||||
"success_dialog_message": "yt-dlp has been successfully configured at:\n{path}",
|
||||
"file_filter_windows": "Executable Files (*.exe)",
|
||||
"file_filter_all": "All Files (*)"
|
||||
},
|
||||
"ffmpeg_updater": {
|
||||
"title": "FFmpeg Version Checker",
|
||||
"current_version": "Current Version:",
|
||||
"latest_version": "Latest Version:",
|
||||
"status_up_to_date": "✓ Up to date",
|
||||
"status_update_available": "⚠ Update available",
|
||||
"status_not_installed": "✗ Not installed",
|
||||
"status_idle": "Click 'Check Version' to get started",
|
||||
"status_checking": "🔄 Checking version...",
|
||||
"check_updates": "Check Version",
|
||||
"check_failed": "Failed to check version. Please check your internet connection.",
|
||||
"description": "Check your FFmpeg version and compare it with the latest available version.",
|
||||
"guide_info": " To install or update FFmpeg, <a href='https://github.com/oop7/ffmpeg-install-guide'>click here to view our comprehensive installation guide</a>."
|
||||
},
|
||||
"deno": {
|
||||
"setup_required": "Deno Setup Required",
|
||||
"setup_description": "YTSage requires Deno to run certain features.<br><br>Deno was not found in the app's local directory. YTSage needs to set up Deno for your {os_name} system.<br><br>Click 'Setup Deno' to download and install automatically.",
|
||||
"setup_button": "Setup Deno",
|
||||
"downloading": "Downloading Deno...",
|
||||
"extracting": "Extracting Deno...",
|
||||
"verifying": "Verifying Deno...",
|
||||
"success": "Deno was successfully installed!",
|
||||
"download_failed": "Download Failed",
|
||||
"download_error": "Failed to download Deno: {error}",
|
||||
"verification_failed": "SHA256 verification failed. The downloaded file may be corrupted or tampered with.",
|
||||
"setup_failed": "Failed to set up Deno. Some features may not work correctly.",
|
||||
"setup_error": "Setup Error"
|
||||
},
|
||||
"deno_updater": {
|
||||
"title": "Deno Version Checker & Updater",
|
||||
"description": "Check your Deno version and update to the latest release.",
|
||||
"current_version": "Current Version:",
|
||||
"latest_version": "Latest Version:",
|
||||
"status_idle": "Click 'Check for Updates' to get started",
|
||||
"status_checking": "🔄 Checking for updates...",
|
||||
"status_up_to_date": "✓ Up to date",
|
||||
"status_update_available": "⚠ Update available",
|
||||
"status_not_installed": "✗ Not installed",
|
||||
"check_updates": "Check for Updates",
|
||||
"update_now": "Update Deno",
|
||||
"updating": "🔄 Updating Deno...",
|
||||
"update_success": "✅ Deno has been successfully updated!",
|
||||
"update_failed": "❌ Update failed: {error}",
|
||||
"check_failed": "Failed to check for updates. Please check your internet connection."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,593 @@
|
||||
{
|
||||
"language": {
|
||||
"display_name": "Español (Spanish)",
|
||||
"select_language": "Seleccionar idioma:",
|
||||
"current_language": "Idioma actual: {language}",
|
||||
"restart_required": "Los cambios de idioma tendrán efecto después de reiniciar la aplicación.",
|
||||
"english": "Inglés",
|
||||
"spanish": "Español (Spanish)",
|
||||
"portuguese": "Português (Portuguese)",
|
||||
"russian": "Русский (Russian)",
|
||||
"chinese": "中文 (简体) (Chinese Simplified)",
|
||||
"german": "Deutsch (German)",
|
||||
"french": "Français (French)",
|
||||
"hindi": "Hindi",
|
||||
"indonesian": "Indonesio",
|
||||
"turkish": "Turco",
|
||||
"polish": "Polaco",
|
||||
"italian": "Italiano",
|
||||
"arabic": "Árabe",
|
||||
"japanese": "Japonés"
|
||||
},
|
||||
"app": {
|
||||
"title": "YTSage",
|
||||
"version": "v{version}",
|
||||
"ready": "Listo"
|
||||
},
|
||||
"buttons": {
|
||||
"download": "Descargar",
|
||||
"pause": "Pausar",
|
||||
"resume": "Reanudar",
|
||||
"cancel": "Cancelar",
|
||||
"browse": "Examinar",
|
||||
"clear": "Limpiar",
|
||||
"ok": "Aceptar",
|
||||
"apply": "Aplicar",
|
||||
"close": "Cerrar",
|
||||
"run_command": "Ejecutar Comando",
|
||||
"about": "Acerca de",
|
||||
"update": "Actualizar",
|
||||
"analyze": "Analizar",
|
||||
"paste_url": "Pegar URL",
|
||||
"select_videos": "Seleccionar Videos...",
|
||||
"video": "Video",
|
||||
"audio_only": "Solo Audio",
|
||||
"custom_options": "Opciones Personalizadas",
|
||||
"trim_video": "Recortar Video",
|
||||
"download_settings": "Configuración de Descarga",
|
||||
"select_defaults": "Seleccionar Predeterminados",
|
||||
"select_all": "Seleccionar Todos",
|
||||
"deselect_all": "Deseleccionar Todos",
|
||||
"open_folder": "Abrir ubicación de carpeta",
|
||||
"history": "Historial"
|
||||
},
|
||||
"dialogs": {
|
||||
"custom_options": "Opciones Personalizadas",
|
||||
"settings": "Configuración",
|
||||
"select_folder": "Seleccionar Carpeta de Descarga",
|
||||
"sponsorblock_categories": "Categorías SponsorBlock",
|
||||
"sponsorblock_description": "Selecciona qué tipos de segmentos de video se eliminarán automáticamente durante la descarga.\nSponsorBlock utiliza datos enviados por la comunidad para identificar estos segmentos.",
|
||||
"select_subtitles": "Seleccionar Subtítulos",
|
||||
"filter_languages_placeholder": "Filtrar idiomas (ej., en, es)...",
|
||||
"no_subtitles_available": "No hay subtítulos disponibles",
|
||||
"matching": "que coincidan con",
|
||||
"ytdlp_log_title": "Registro de yt-dlp"
|
||||
},
|
||||
"tabs": {
|
||||
"cookies": "Iniciar sesión con Cookies",
|
||||
"custom_command": "Comando Personalizado",
|
||||
"proxy": "Proxy",
|
||||
"language": "Idioma",
|
||||
"updater": "Actualizador"
|
||||
},
|
||||
"cookies": {
|
||||
"help_text": "Elige cómo proporcionar cookies para iniciar sesión.\nEsto permite la descarga de videos privados y audio de calidad premium.",
|
||||
"cookie_source": "Origen de Cookie",
|
||||
"use_cookie_file": "Usar archivo de cookie (formato Netscape)",
|
||||
"extract_from_browser": "Extraer cookies del navegador",
|
||||
"recommended": "Recomendado",
|
||||
"cookie_file": "Archivo de Cookie",
|
||||
"cookie_file_placeholder": "Ruta al archivo de cookies (formato Netscape)",
|
||||
"browser_selection": "Selección de Navegador",
|
||||
"browser_help": "Selecciona el navegador del cual extraer cookies. Asegúrate de que el navegador esté cerrado antes de la extracción.",
|
||||
"browser_label": "Navegador:",
|
||||
"profile_label": "Perfil (opcional):",
|
||||
"profile_placeholder": "Nombre o ruta del perfil (dejar vacío para el predeterminado)",
|
||||
"browser_extract_message": "Las cookies del navegador se extraerán al aplicar",
|
||||
"file_selected_message": "Archivo de cookies seleccionado - Haz clic en Aceptar para aplicar",
|
||||
"select_file_title": "Seleccionar Archivo de Cookies",
|
||||
"file_filter": "Archivos de cookies (*.txt *.lwp)",
|
||||
"file_selected_title": "Archivo de Cookies Aplicado",
|
||||
"file_applied_message": "Archivo de cookies aplicado: {path}",
|
||||
"browser_selected_title": "Cookies del Navegador Aplicadas",
|
||||
"browser_applied_message": "Las cookies del navegador se extraerán de: {browser}",
|
||||
"cleared_title": "Cookies Borradas",
|
||||
"cleared_message": "La configuración de cookies se ha borrado",
|
||||
"active_browser": "✓ Activas: cookies del navegador ({browser})",
|
||||
"active_file": "✓ Activo: archivo de cookies ({file})",
|
||||
"none_active": "○ No hay cookies activas"
|
||||
},
|
||||
"custom_command": {
|
||||
"help_text": "Ingresa tu comando yt-dlp personalizado a continuación. La URL actual se añadirá automáticamente.<br><br>Para ver la lista completa de opciones y ejemplos de uso, <a href=\"{docs_url}\">haz clic aquí para ver la documentación oficial de yt-dlp</a>.<br><br>Nota: La ruta de descarga y la plantilla de nombre de archivo se manejarán automáticamente.",
|
||||
"input_label": "Argumentos de yt-dlp:",
|
||||
"input_placeholder": "Ingresa argumentos de yt-dlp aquí...\n\nej. --extract-audio --audio-format mp3",
|
||||
"output_label": "Salida del Comando:",
|
||||
"output_placeholder": "La salida del comando aparecerá aquí...",
|
||||
"full_command": "🔧 Comando completo: {command}",
|
||||
"command_failed": "❌ El comando falló con código de salida {code}",
|
||||
"command_success": "✅ ¡Comando completado exitosamente!",
|
||||
"command_error": "❌ Error ejecutando comando: {error}",
|
||||
"error_no_url": "❌ Error: No se proporcionó URL. Ingresa una URL en la ventana principal.",
|
||||
"error_no_command": "❌ Error: No se proporcionó comando. Ingresa argumentos de yt-dlp.",
|
||||
"executing": "🚀 Ejecutando comando personalizado de yt-dlp",
|
||||
"url_label": "📍 URL: {url}",
|
||||
"args_label": "⚙️ Argumentos: {command}",
|
||||
"download_path_label": "📁 Ruta de descarga: {path}",
|
||||
"separator": "=================================================="
|
||||
},
|
||||
"proxy": {
|
||||
"help_text": "Configurar ajustes de proxy para conexiones de red y geo-verificación.\nEl proxy puede ayudar a evitar restricciones regionales y mejorar el rendimiento de descarga.",
|
||||
"main_proxy": "Proxy Principal",
|
||||
"main_proxy_help": "Usar el proxy HTTP/HTTPS/SOCKS especificado para todas las conexiones.",
|
||||
"proxy_url_label": "URL del Proxy:",
|
||||
"proxy_url_placeholder": "ej., http://proxy.example.com:8080 o socks5://user:pass@127.0.0.1:1080",
|
||||
"proxy_examples": "Ejemplos: http://proxy.com:8080, https://proxy.com:8080, socks5://127.0.0.1:1080",
|
||||
"geo_proxy": "Proxy de Geo-verificación",
|
||||
"geo_proxy_help": "Usar este proxy para verificar dirección IP para sitios con restricciones geográficas. El proxy principal (si está configurado) se usa para la descarga real.",
|
||||
"geo_proxy_url_label": "URL del Geo Proxy:",
|
||||
"geo_proxy_url_placeholder": "ej., http://us-proxy.example.com:8080",
|
||||
"clear_main_proxy": "Limpiar Proxy Principal",
|
||||
"clear_geo_proxy": "Limpiar Geo Proxy",
|
||||
"invalid_main_url": "Formato de URL de proxy principal inválido",
|
||||
"invalid_geo_url": "Formato de URL de geo proxy inválido",
|
||||
"main_configured": "Proxy principal configurado",
|
||||
"geo_configured": "Geo proxy configurado",
|
||||
"set_title": "Proxy establecido",
|
||||
"set_message": "Proxy principal establecido y guardado: {proxy}",
|
||||
"geo_set_title": "Proxy geo establecido",
|
||||
"geo_set_message": "Proxy de verificación geográfica establecido y guardado: {proxy}",
|
||||
"cleared_title": "Configuración de proxy borrada",
|
||||
"cleared_message": "Se borró y guardó toda la configuración de proxy.",
|
||||
"saved_main": "Proxy principal guardado: {proxy}",
|
||||
"saved_geo": "Proxy geo guardado: {proxy}"
|
||||
},
|
||||
"download": {
|
||||
"preparing": "Preparando descarga...",
|
||||
"starting": "🚀 Iniciando descarga...",
|
||||
"fetching_info": "🔍 Obteniendo información del video...",
|
||||
"preparing_streams": "🎯 Preparando flujos de video...",
|
||||
"downloading_audio": "⏬ Descargando audio...",
|
||||
"downloading_video": "⏬ Descargando video...",
|
||||
"downloading_subtitle": "⏬ Descargando subtítulos...",
|
||||
"downloading": "⏬ Descargando...",
|
||||
"completed": "✅ ¡Descarga completada!",
|
||||
"video_completed": "✅ ¡Descarga de video completada!",
|
||||
"audio_completed": "✅ ¡Descarga de audio completada!",
|
||||
"subtitle_completed": "✅ ¡Descarga de subtítulos completada!",
|
||||
"completed_cleaning": "✅ ¡Descarga completada! Limpiando...",
|
||||
"cancelled": "Descarga cancelada",
|
||||
"processing_playlist": "📋 Procesando datos de lista de reproducción...",
|
||||
"paused": "Descarga pausada",
|
||||
"resumed": "Descarga reanudada",
|
||||
"merging_formats": "✨ Post-procesamiento: Fusionando formatos...",
|
||||
"removing_sponsor_segments": "✨ Post-procesamiento: Eliminando segmentos patrocinados...",
|
||||
"speed": "Velocidad",
|
||||
"eta": "Tiempo restante",
|
||||
"please_enter_url": "Por favor ingresa una URL primero.",
|
||||
"please_set_path": "Por favor establece una ruta de descarga primero.",
|
||||
"please_enter_url_and_path": "Por favor ingresa URL y establece ruta de descarga.",
|
||||
"please_select_format": "Por favor selecciona un formato primero.",
|
||||
"downloading_fallback": "⚡ Descargando..."
|
||||
},
|
||||
"formats": {
|
||||
"show_formats": "Mostrar formatos:",
|
||||
"select": "Seleccionar",
|
||||
"quality": "Calidad",
|
||||
"extension": "Extensión",
|
||||
"resolution": "Resolución",
|
||||
"file_size": "Tamaño",
|
||||
"codec": "Códec",
|
||||
"audio": "Audio",
|
||||
"fps": "FPS",
|
||||
"hdr": "HDR",
|
||||
"will_merge_audio": "Se combinará audio",
|
||||
"has_audio": "✓ Tiene Audio",
|
||||
"audio_only": "Solo Audio",
|
||||
"best_4k": "Óptima (4K)",
|
||||
"best_2k": "Óptima (2K)",
|
||||
"high_1080p": "Alta (1080p)",
|
||||
"high_720p": "Alta (720p)",
|
||||
"medium_480p": "Media (480p)",
|
||||
"low_quality": "Baja Calidad",
|
||||
"best_audio": "Mejor Audio",
|
||||
"high_audio": "Audio Alto",
|
||||
"medium_audio": "Audio Medio",
|
||||
"low_audio": "Audio Bajo",
|
||||
"audio_only_resolution": "Solo audio"
|
||||
},
|
||||
"about": {
|
||||
"title": "Acerca de YTSage",
|
||||
"version": "Versión {version}",
|
||||
"description": "Descargador moderno de YouTube con una interfaz limpia de PySide6.",
|
||||
"author": "Por: {author}",
|
||||
"github": "GitHub: {repo}",
|
||||
"system_info": "Información del Sistema",
|
||||
"loading": "🔄 Cargando información del sistema...",
|
||||
"refresh": "🔄",
|
||||
"refreshing": "🔄 Actualizando...",
|
||||
"refresh_failed": "Actualización Fallida",
|
||||
"refresh_failed_message": "No se pudo actualizar la información de versión.",
|
||||
"detected": "✓ Detectado",
|
||||
"missing": "✗ Faltante",
|
||||
"not_available": "No Disponible"
|
||||
},
|
||||
"time_range": {
|
||||
"title": "Descargar Sección del Video",
|
||||
"help_text": "Descarga solo partes específicas de un video especificando rangos de tiempo.\nUsa formato HH:MM:SS o segundos. Deja inicio o fin vacío para descargar desde el principio o hasta el final.",
|
||||
"time_range_group": "Rango de Tiempo",
|
||||
"start_time": "Tiempo de Inicio:",
|
||||
"end_time": "Tiempo de Fin:",
|
||||
"start_time_placeholder": "00:00:00 (o dejar vacío para inicio)",
|
||||
"end_time_placeholder": "00:10:00 (o dejar vacío para fin)",
|
||||
"force_keyframes": "Forzar fotogramas clave en cortes (mejor precisión, más lento)"
|
||||
},
|
||||
"update": {
|
||||
"title": "Actualizar yt-dlp",
|
||||
"checking": "Verificando actualizaciones...",
|
||||
"update_available": "¡Actualización disponible!\nVersión actual: {current}\nÚltima versión: {latest}",
|
||||
"up_to_date": "yt-dlp está actualizado (versión {version})",
|
||||
"already_up_to_date": "✅ ¡yt-dlp ya está actualizado!",
|
||||
"could_not_determine": "No se pudieron determinar las versiones.",
|
||||
"error_comparing": "Error al comparar versiones: {error}",
|
||||
"update_available_failed": "¡Actualización disponible! (Comparación fallida)\nActual: {current}\nÚltima: {latest}",
|
||||
"updating": "Actualizando...",
|
||||
"initializing": "🚀 Inicializando proceso de actualización...",
|
||||
"checking_current": "🔍 Verificando instalación actual...",
|
||||
"found_at": "📍 Se encontró yt-dlp en: {path}",
|
||||
"error_getting_path": "❌ Error al obtener la ruta de yt-dlp: {error}",
|
||||
"updating_binary": "📦 Actualizando binario de yt-dlp administrado por la app...",
|
||||
"update_failed": "❌ Falló la actualización de yt-dlp. Inténtalo de nuevo o verifica tu conexión a internet.",
|
||||
"binary_updated": "✅ ¡Binario actualizado exitosamente!",
|
||||
"update_failed_stderr": "❌ Falló la actualización de yt-dlp: {error}",
|
||||
"update_timeout": "❌ Tiempo agotado en la actualización de yt-dlp.",
|
||||
"unexpected_error": "❌ Error inesperado durante la actualización: {error}",
|
||||
"update_success": "✅ ¡yt-dlp se ha actualizado exitosamente!",
|
||||
"already_latest": "yt-dlp está actualizado (versión {version})",
|
||||
"network_error": "❌ Error de red durante la actualización: {error}",
|
||||
"general_error": "❌ La actualización falló: {error}",
|
||||
"update_in_progress_title": "Actualización en curso",
|
||||
"update_in_progress_message": "yt-dlp se está actualizando actualmente. Por favor espere un momento."
|
||||
},
|
||||
"settings": {
|
||||
"title": "Configuración de Descarga",
|
||||
"download_path": "Ruta de Descarga",
|
||||
"browse": "Examinar...",
|
||||
"speed_limit": "Límite de Velocidad",
|
||||
"speed_limit_placeholder": "Ninguno",
|
||||
"auto_update_ytdlp": "Auto-Actualizar yt-dlp",
|
||||
"enable_auto_updates": "Habilitar actualizaciones automáticas de yt-dlp",
|
||||
"update_frequency": "Frecuencia de actualización:",
|
||||
"check_startup": "Verificar en cada inicio (mínimo 1 hora entre verificaciones)",
|
||||
"check_daily": "Verificar diariamente",
|
||||
"check_weekly": "Verificar semanalmente",
|
||||
"check_updates_now": "Actualizar yt-dlp",
|
||||
"update_check_title": "Verificación de Actualizaciones",
|
||||
"could_not_determine_version": "No se pudo determinar la versión actual de yt-dlp.",
|
||||
"update_available_dialog": "¡Actualización disponible!\n\nActual: {current}\nÚltima: {latest}\n\nHaz clic en Aceptar para continuar con la actualización.",
|
||||
"up_to_date_dialog": "¡yt-dlp está actualizado!\n\nVersión actual: {version}",
|
||||
"error_checking_updates": "Error al verificar actualizaciones: {error}",
|
||||
"settings_saved_title": "Configuración Guardada",
|
||||
"settings_saved_message": "¡La configuración de auto-actualización se ha guardado exitosamente!",
|
||||
"error_title": "Error",
|
||||
"failed_save_settings": "Falló al guardar la configuración de auto-actualización.",
|
||||
"error_saving_settings": "Error al guardar la configuración de auto-actualización: {error}",
|
||||
"ytdlp_channel": "Canal de Lanzamiento de yt-dlp",
|
||||
"ytdlp_channel_stable": "Estable (Versiones probadas)",
|
||||
"ytdlp_channel_nightly": "Nightly (Actualizaciones diarias, recomendado por yt-dlp)",
|
||||
"ytdlp_channel_description": "Elige entre versiones estables y nightly. Las versiones nightly se actualizan diariamente con las últimas correcciones y características. Puedes cambiar de canal en cualquier momento.",
|
||||
"ytdlp_switching_channel": "Cambiando al canal {channel}...",
|
||||
"ytdlp_channel_switched": "✅ ¡Cambiado exitosamente al canal {channel}!",
|
||||
"ytdlp_channel_switch_failed": "❌ Error al cambiar de canal: {error}",
|
||||
"ytdlp_current_channel": "Canal actual: {channel}",
|
||||
"auto_update_title": "Configuración de Auto-Actualización",
|
||||
"auto_update_header": "🔄 Configuración de Auto-Actualización",
|
||||
"auto_update_description": "Configura las actualizaciones automáticas de yt-dlp para asegurar que siempre tengas las últimas funciones y correcciones de errores.",
|
||||
"current_status": "Estado Actual",
|
||||
"current_version_label": "Versión actual de yt-dlp: Verificando...",
|
||||
"last_check_label": "Última verificación de actualización: Nunca",
|
||||
"next_check_label": "Próxima verificación: Basado en configuración",
|
||||
"manual_check_button": "🔍 Verificar Actualizaciones Ahora",
|
||||
"update_frequency_group": "Frecuencia de Actualización",
|
||||
"save_settings": "Guardar Configuración",
|
||||
"settings_saved_successfully": "✅ ¡Configuración guardada exitosamente!",
|
||||
"error_saving": "❌ Error al guardar configuración: {error}",
|
||||
"output_format_settings": "Configuración de Formato de Salida",
|
||||
"force_output_format": "Forzar formato de salida al combinar",
|
||||
"preferred_format": "Formato preferido:",
|
||||
"force_format_help": "Cuando está habilitado, los videos combinados se convertirán a su formato preferido. Deshabilitar para dejar que yt-dlp decida automáticamente.",
|
||||
"format_mp4": "MP4 (Más compatible)",
|
||||
"format_webm": "WebM (Moderno, abierto)",
|
||||
"format_mkv": "MKV (Rico en funciones)",
|
||||
"audio_format_settings": "Configuración de formato de audio",
|
||||
"force_audio_format": "Forzar formato de audio para descargas solo de audio",
|
||||
"preferred_audio_format": "Formato de audio preferido:",
|
||||
"force_audio_format_help": "Cuando está habilitado, las descargas solo de audio se convertirán a su formato preferido. Esto solo se aplica al descargar formatos de audio.",
|
||||
"audio_format_best": "Mejor (Sin conversión)",
|
||||
"audio_format_aac": "AAC (Bueno para edición)",
|
||||
"audio_format_mp3": "MP3 (Universal)",
|
||||
"audio_format_flac": "FLAC (Sin pérdida)",
|
||||
"audio_format_wav": "WAV (Sin comprimir)",
|
||||
"audio_format_opus": "Opus (Eficiente)",
|
||||
"audio_format_m4a": "M4A (Apple)",
|
||||
"audio_format_vorbis": "Vorbis (Abierto)"
|
||||
},
|
||||
"main_ui": {
|
||||
"url_placeholder": "Ingresa URL de video o lista de YouTube",
|
||||
"merge_subtitles": "Combinar Subtítulos",
|
||||
"save_thumbnail": "Guardar Miniatura",
|
||||
"save_description": "Guardar Descripción",
|
||||
"embed_chapters": "Incrustar Capítulos",
|
||||
"subtitles_selected": "{count} seleccionados",
|
||||
"all_selected": "Todos seleccionados",
|
||||
"select_videos_all": "Seleccionar Videos... (Todos seleccionados)",
|
||||
"please_enter_url": "Por favor ingresa primero una URL",
|
||||
"error_title": "Error",
|
||||
"cookie_file_selected_title": "Archivo de Cookies Seleccionado",
|
||||
"cookie_file_selected_message": "Archivo de cookies seleccionado: {path}",
|
||||
"browser_cookies_selected_title": "Cookies de Navegador Seleccionadas",
|
||||
"browser_cookies_selected_message": "Las cookies del navegador serán extraídas de: {browser}",
|
||||
"error_no_format_info": "Error: No hay información de formato disponible.",
|
||||
"error_extract_info": "Error: No se pudo extraer la información básica del video. Por favor verifica tu enlace.",
|
||||
"analyzing_preparing": "Analizando (0%)... Preparando solicitud",
|
||||
"analyzing_extracting_basic": "Analizando (15%)... Extrayendo información básica",
|
||||
"analyzing_extracting_detailed": "Analizando (30%)... Extrayendo información detallada",
|
||||
"analyzing_processing_video": "Analizando (45%)... Procesando datos de video",
|
||||
"analyzing_processing_formats": "Analizando (60%)... Procesando formatos",
|
||||
"analyzing_loading_thumbnail": "Analizando (75%)... Cargando miniatura",
|
||||
"analyzing_processing_subtitles": "Analizando (85%)... Procesando subtítulos",
|
||||
"analyzing_updating_table": "Analizando (95%)... Actualizando tabla de formatos",
|
||||
"analysis_complete": "¡Análisis completo!",
|
||||
"analyzing_extracting_ytdlp": "Analizando (30%)... Extrayendo información",
|
||||
"analyzing_fetching_first_video": "Analizando... Obteniendo formatos del primer video",
|
||||
"analyzing_processing_data": "Analizando (60%)... Procesando datos",
|
||||
"analyzing_processing_formats_ytdlp": "Analizando (75%)... Procesando formatos",
|
||||
"analyzing_loading_thumbnail_ytdlp": "Analizando (85%)... Cargando miniatura",
|
||||
"analyzing_processing_subtitles_ytdlp": "Analizando (90%)... Procesando subtítulos",
|
||||
"select_subtitles": "Seleccionar Subtítulos...",
|
||||
"sponsorblock_categories": "Categorías SponsorBlock...",
|
||||
"invalid_url_or_enter": "URL inválida o por favor ingresa una URL.",
|
||||
"zero_selected": "0 seleccionados",
|
||||
"analyze_first_tooltip": "Por favor analiza el video primero",
|
||||
"audio_mode_disabled": "No disponible en modo solo audio",
|
||||
"select_subtitles_first": "Por favor selecciona subtítulos primero",
|
||||
"settings_tooltip": "Ruta actual: {path}\nLímite de velocidad: {speed_limit}",
|
||||
"speed_limit_none": "Ninguno",
|
||||
"open_folder_error": "No se pudo abrir la carpeta: {error}",
|
||||
"time_range_set": "Sección establecida: {section}"
|
||||
},
|
||||
"sponsorblock": {
|
||||
"sponsor": "Patrocinador",
|
||||
"sponsor_desc": "Promoción pagada, referencias pagadas y anuncios directos",
|
||||
"selfpromo": "Autopromoción No Pagada",
|
||||
"selfpromo_desc": "Promoción no pagada del propio contenido del creador",
|
||||
"interaction": "Recordatorio de Interacción",
|
||||
"interaction_desc": "Pedir a los espectadores que den like, se suscriban o sigan en redes sociales",
|
||||
"intro": "Introducción",
|
||||
"intro_desc": "Introducción del video que se puede omitir",
|
||||
"outro": "Outro/Tarjetas Finales",
|
||||
"outro_desc": "Créditos o cuando termina el video",
|
||||
"preview": "Vista Previa/Resumen",
|
||||
"preview_desc": "Resumen rápido de videos anteriores o vista previa de lo que viene",
|
||||
"music_offtopic": "Sección No Musical",
|
||||
"music_offtopic_desc": "Solo para videos musicales. Marca secciones no musicales",
|
||||
"filler": "Relleno/Tangente",
|
||||
"filler_desc": "Escenas tangenciales agregadas solo como relleno o humor"
|
||||
},
|
||||
"video_info": {
|
||||
"channel": "Canal",
|
||||
"views": "👁 Visualizaciones",
|
||||
"likes": "👍 Me gusta",
|
||||
"upload_date": "📅 Fecha de subida",
|
||||
"duration": "⏱ Duración",
|
||||
"unknown_channel": "Canal desconocido",
|
||||
"unknown_date": "Fecha desconocida",
|
||||
"unknown_title": "Título desconocido"
|
||||
},
|
||||
"command": {
|
||||
"running": "Ejecutando...",
|
||||
"run_command": "Ejecutar Comando"
|
||||
},
|
||||
"selection": {
|
||||
"none_selected": "0 seleccionados",
|
||||
"one_selected": "1 categoría seleccionada",
|
||||
"count_selected": "{count} seleccionados"
|
||||
},
|
||||
"status": {
|
||||
"ready": "Listo",
|
||||
"file_exists": "⚠️ El archivo ya existe",
|
||||
"video_file_exists": "⚠️ El archivo de video ya existe",
|
||||
"audio_file_exists": "⚠️ El archivo de audio ya existe",
|
||||
"subtitle_file_exists": "⚠️ El archivo de subtítulos ya existe",
|
||||
"cancelling": "Cancelando descarga...",
|
||||
"thumbnail_saved": "✅ Miniatura guardada: {filename}",
|
||||
"thumbnail_error": "❌ Error de miniatura: {error}",
|
||||
"thumbnail_no_image": "No hay miniatura disponible para guardar"
|
||||
},
|
||||
"errors": {
|
||||
"playlist_no_videos": "Error: La lista de reproducción no contiene videos válidos.",
|
||||
"playlist_no_url": "Error: No se pudo obtener la URL del primer video de la lista.",
|
||||
"ytdlp_not_found": "Error: Ejecutable de yt-dlp no encontrado. Por favor instala yt-dlp primero.",
|
||||
"ytdlp_not_found_path": "Error: Ejecutable de yt-dlp no encontrado. Esto podría deberse a una instalación incorrecta o un problema de PATH.",
|
||||
"no_data_returned": "Error: yt-dlp no devolvió datos",
|
||||
"no_format_info": "Error: No hay información de formato disponible.",
|
||||
"analysis_timeout": "Error: Se agotó el tiempo de análisis. Por favor inténtalo de nuevo.",
|
||||
"invalid_speed_limit": "❌ Error: Valor de límite de velocidad inválido en configuración.",
|
||||
"ytdlp_failed": "Error: yt-dlp falló: {error}",
|
||||
"parse_failed": "Error: Falló al analizar salida de yt-dlp: {error}",
|
||||
"analysis_failed": "Error: Análisis falló: {error}",
|
||||
"generic_error": "Error: {error}",
|
||||
"download_failed_return_code_conflict": "La descarga falló con el código de salida {return_code}. Esto puede deberse a un conflicto con varias instalaciones de yt-dlp. Intenta desinstalar cualquier yt-dlp instalado en el sistema (p. ej., mediante snap o apt) y reinicia la aplicación.",
|
||||
"download_failed_return_code": "La descarga falló con el código de salida {return_code}",
|
||||
"direct_command_error": "Error en el comando directo: {error}"
|
||||
},
|
||||
"update_dialog": {
|
||||
"title": "Actualización disponible",
|
||||
"new_version_available": "¡Una nueva versión de YTSage está disponible!",
|
||||
"current_version_label": "Versión actual:",
|
||||
"latest_version_label": "Última versión:",
|
||||
"changelog": "Registro de cambios",
|
||||
"download_update": "Descargar Actualización",
|
||||
"remind_later": "Recordar Más Tarde"
|
||||
},
|
||||
"playlist": {
|
||||
"unknown": "Lista de reproducción desconocida",
|
||||
"total_videos": "Total de Videos: {count}",
|
||||
"display_format": "Lista de reproducción: {title} | {count} videos",
|
||||
"select_videos_title": "Seleccionar Videos de la Lista de Reproducción"
|
||||
},
|
||||
"subtitle_selection": {
|
||||
"count_selected": "{count} seleccionados"
|
||||
},
|
||||
"file_exists_dialog": {
|
||||
"title": "El archivo ya existe",
|
||||
"message": "El archivo ya existe:\n{filename}",
|
||||
"info": "Este video ya ha sido descargado."
|
||||
},
|
||||
"auto_update": {
|
||||
"last_check_never": "Última verificación: Nunca",
|
||||
"last_check": "Última verificación: {time}",
|
||||
"next_check_disabled": "Próxima verificación: Deshabilitada",
|
||||
"next_check_startup": "Próxima verificación: Al iniciar",
|
||||
"next_check_overdue": "Próxima verificación: Ahora (atrasada)",
|
||||
"next_check": "Próxima verificación: {time}",
|
||||
"next_check_error": "Próxima verificación: Error al calcular",
|
||||
"checking": "🔄 Verificando...",
|
||||
"check_now": "🔍 Verificar actualizaciones ahora",
|
||||
"current_version": "Versión actual de yt-dlp: {version}"
|
||||
},
|
||||
"url_validation": {
|
||||
"empty_url": "La URL no puede estar vacía",
|
||||
"invalid_format": "Formato de URL no válido",
|
||||
"invalid_scheme": "La URL debe comenzar con http:// o https://",
|
||||
"missing_domain": "URL no válida: falta el nombre de dominio",
|
||||
"unsupported_platform": "YTSage solo admite URLs de YouTube y YouTube Music.\nEl dominio '{domain}' no es compatible.",
|
||||
"invalid_youtu_be": "URL de youtu.be no válida: falta el ID del video"
|
||||
},
|
||||
"ytdlp_errors": {
|
||||
"private_video": "Este es un video privado. Puede descargarlo iniciando sesión en su cuenta usando cookies.\nVaya a 'Opciones Personalizadas' → 'Iniciar sesión con Cookies' → 'Extraer cookies del navegador' para autenticarse.",
|
||||
"age_restricted": "Este video tiene restricción de edad. Debe iniciar sesión para acceder a él.\nUse 'Opciones Personalizadas' → 'Iniciar sesión con Cookies' para autenticarse con su cuenta.",
|
||||
"geo_blocked": "Este video no está disponible en su región (bloqueado geográficamente).\nPuede necesitar usar una VPN o el video puede estar restringido en su país.",
|
||||
"video_unavailable": "Este video ha sido eliminado o ya no está disponible.\nEl video puede haber sido eliminado por el usuario que lo subió o eliminado debido a violaciones de políticas.",
|
||||
"live_stream": "Esta es una transmisión en vivo que no se puede descargar mientras está activa.\nEspere a que termine la transmisión y luego intente descargar la versión archivada.",
|
||||
"playlist_error": "No se puede acceder a esta lista de reproducción. Puede ser privada, estar eliminada o vacía.\nVerifique si la lista de reproducción existe y es públicamente accesible.",
|
||||
"network_error": "Error de conexión de red. Verifique su conexión a Internet e intente nuevamente.\nSi el problema persiste, el servidor de video puede no estar disponible temporalmente.",
|
||||
"invalid_url": "URL no válida o no compatible. Verifique el enlace e intente nuevamente.\nAsegúrese de usar una URL válida de YouTube, Vimeo u otra plataforma compatible.",
|
||||
"premium_content": "Este contenido requiere YouTube Premium o membresía del canal.\nDebe iniciar sesión con una cuenta que tenga acceso a este contenido.",
|
||||
"copyright_blocked": "Este video está bloqueado debido a reclamaciones de derechos de autor.\nEl propietario del contenido ha restringido el acceso a este video.",
|
||||
"extraction_failed": "Error al extraer información del video. Esto podría ser un problema temporal.\nIntente nuevamente en unos minutos o verifique si el enlace del video es correcto.",
|
||||
"generic_error": "No se pudo extraer la información del video. Verifique su enlace.\nDetalles técnicos: {error}"
|
||||
},
|
||||
"history": {
|
||||
"title": "Historial de Descargas",
|
||||
"clear_all": "Borrar Todo",
|
||||
"clear_confirm_title": "¿Borrar Historial?",
|
||||
"clear_confirm_message": "¿Estás seguro de que quieres borrar todo el historial? Esto no se puede deshacer.",
|
||||
"no_history": "Aún no hay historial",
|
||||
"no_history_description": "Tus descargas aparecerán aquí",
|
||||
"loading": "Cargando historial...",
|
||||
"search_placeholder": "Buscar...",
|
||||
"open_location": "Abrir Ubicación",
|
||||
"redownload": "Descargar de Nuevo",
|
||||
"remove": "Eliminar",
|
||||
"file_not_found": "Archivo no encontrado",
|
||||
"file_not_found_message": "El archivo fue movido o eliminado:\n{path}",
|
||||
"downloaded_on": "Descargado: {date}",
|
||||
"file_size": "Tamaño: {size}",
|
||||
"audio_download": "Audio",
|
||||
"video_download": "Video",
|
||||
"remove_confirm_title": "¿Eliminar?",
|
||||
"remove_confirm_message": "¿Eliminar del historial?\n\n{title}",
|
||||
"item_removed": "Eliminado",
|
||||
"history_cleared": "Historial borrado",
|
||||
"entries_count": "{count} descargas",
|
||||
"one_entry": "1 descarga",
|
||||
"redownload_confirm_title": "¿Descargar de Nuevo?",
|
||||
"redownload_confirm_message": "¿Descargar nuevamente?\n\n{title}",
|
||||
"redownload_started": "Descarga iniciada",
|
||||
"no_url_error": "No se encontró URL en la entrada del historial",
|
||||
"redownload_failed": "No se pudo iniciar la re-descarga: {error}"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"installation_title": "Instalación de FFmpeg",
|
||||
"installation_message": "YTSage necesita FFmpeg para procesar videos.\n\nElige una opción de instalación:",
|
||||
"install_button": "Instalar FFmpeg",
|
||||
"manual_guide": "Guía manual",
|
||||
"installation_failed": "La instalación de FFmpeg encontró un problema.",
|
||||
"already_installed": "¡FFmpeg ya está instalado!",
|
||||
"installation_complete": "Instalación completa. Puedes cerrar este diálogo y seguir usando YTSage.",
|
||||
"installing": "Instalando FFmpeg... Por favor espera",
|
||||
"install_success": "¡FFmpeg se instaló correctamente!",
|
||||
"installation_complete_close": "Instalación completa. Ahora puedes cerrar este diálogo y seguir usando YTSage.",
|
||||
"try_manual": "Intenta usar la guía de instalación manual en su lugar."
|
||||
},
|
||||
"ytdlp_setup": {
|
||||
"required_title": "Se requiere configurar yt-dlp",
|
||||
"description": "YTSage requiere yt-dlp para descargar videos.<br><br>No se encontró yt-dlp en el directorio local de la app. YTSage necesita configurar yt-dlp para tu sistema {os_name}.<br><br>Elige una opción:",
|
||||
"option_auto": "Descargar automáticamente (recomendado)",
|
||||
"option_manual": "Seleccionar ruta manualmente",
|
||||
"setup_button": "Configurar yt-dlp",
|
||||
"downloading": "Descargando yt-dlp...",
|
||||
"success": "¡yt-dlp se instaló correctamente!",
|
||||
"error": "Error: {error}",
|
||||
"download_failed_title": "Descarga fallida",
|
||||
"download_failed_message": "No se pudo descargar yt-dlp: {error}",
|
||||
"select_executable_title": "Seleccionar ejecutable de yt-dlp",
|
||||
"copied_to": "yt-dlp se copió correctamente a {path}",
|
||||
"setup_error_title": "Error de configuración",
|
||||
"copy_error": "Error al copiar yt-dlp al directorio de la app: {error}",
|
||||
"invalid_executable_title": "Ejecutable inválido",
|
||||
"invalid_executable_message": "El archivo seleccionado no parece ser un ejecutable válido de yt-dlp.",
|
||||
"verify_error": "Error al verificar el ejecutable de yt-dlp: {error}",
|
||||
"setup_failed_title": "Configuración fallida",
|
||||
"setup_failed_message": "No se pudo configurar yt-dlp. Algunas funciones pueden no funcionar correctamente.",
|
||||
"success_dialog_title": "Configuración de yt-dlp",
|
||||
"success_dialog_message": "yt-dlp se configuró correctamente en:\n{path}",
|
||||
"file_filter_windows": "Archivos ejecutables (*.exe)",
|
||||
"file_filter_all": "Todos los archivos (*)"
|
||||
},
|
||||
"ffmpeg_updater": {
|
||||
"title": "Comprobador de Versión FFmpeg",
|
||||
"current_version": "Versión Actual:",
|
||||
"latest_version": "Última Versión:",
|
||||
"status_up_to_date": "✓ Actualizado",
|
||||
"status_update_available": "⚠ Actualización disponible",
|
||||
"status_not_installed": "✗ No instalado",
|
||||
"status_idle": "Haga clic en 'Comprobar Versión' para comenzar",
|
||||
"status_checking": "🔄 Verificando versión...",
|
||||
"check_updates": "Comprobar Versión",
|
||||
"check_failed": "Error al verificar la versión. Por favor, verifique su conexión a internet.",
|
||||
"description": "Compruebe su versión de FFmpeg y compárela con la última versión disponible.",
|
||||
"guide_info": " Para instalar o actualizar FFmpeg, <a href='https://github.com/oop7/ffmpeg-install-guide'>haga clic aquí para ver nuestra guía completa de instalación</a>."
|
||||
},
|
||||
"deno": {
|
||||
"setup_required": "Configuración de Deno requerida",
|
||||
"setup_description": "YTSage requiere Deno para ejecutar ciertas funciones.<br><br>No se encontró Deno en el directorio local de la aplicación. YTSage necesita configurar Deno para su sistema {os_name}.<br><br>Haga clic en 'Configurar Deno' para descargar e instalar automáticamente.",
|
||||
"setup_button": "Configurar Deno",
|
||||
"downloading": "Descargando Deno...",
|
||||
"extracting": "Extrayendo Deno...",
|
||||
"verifying": "Verificando Deno...",
|
||||
"success": "¡Deno se instaló correctamente!",
|
||||
"download_failed": "Descarga fallida",
|
||||
"download_error": "Error al descargar Deno: {error}",
|
||||
"verification_failed": "Error en la verificación SHA256. El archivo descargado puede estar dañado o alterado.",
|
||||
"setup_failed": "Error al configurar Deno. Es posible que algunas funciones no funcionen correctamente.",
|
||||
"setup_error": "Error de configuración"
|
||||
},
|
||||
"deno_updater": {
|
||||
"title": "Verificador y Actualizador de Versión de Deno",
|
||||
"description": "Verifique su versión de Deno y actualice a la última versión.",
|
||||
"current_version": "Versión Actual:",
|
||||
"latest_version": "Última Versión:",
|
||||
"status_idle": "Haga clic en 'Buscar Actualizaciones' para comenzar",
|
||||
"status_checking": "🔄 Buscando actualizaciones...",
|
||||
"status_up_to_date": "✓ Actualizado",
|
||||
"status_update_available": "⚠ Actualización disponible",
|
||||
"status_not_installed": "✗ No instalado",
|
||||
"check_updates": "Buscar Actualizaciones",
|
||||
"update_now": "Actualizar Deno",
|
||||
"updating": "🔄 Actualizando Deno...",
|
||||
"update_success": "✅ ¡Deno se ha actualizado correctamente!",
|
||||
"update_failed": "❌ Error en la actualización: {error}",
|
||||
"check_failed": "Error al buscar actualizaciones. Por favor, verifique su conexión a Internet."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,610 @@
|
||||
{
|
||||
"language": {
|
||||
"display_name": "Français (French)",
|
||||
"select_language": "Sélectionner la langue :",
|
||||
"current_language": "Langue actuelle : {language}",
|
||||
"restart_required": "Les modifications de langue prendront effet après le redémarrage de l'application.",
|
||||
"english": "Anglais",
|
||||
"spanish": "Espagnol",
|
||||
"portuguese": "Portugais",
|
||||
"russian": "Russe",
|
||||
"chinese": "Chinois",
|
||||
"german": "Allemand",
|
||||
"french": "Français",
|
||||
"hindi": "Hindi",
|
||||
"indonesian": "Indonésien",
|
||||
"turkish": "Turc",
|
||||
"polish": "Polonais",
|
||||
"italian": "Italien",
|
||||
"arabic": "Arabe",
|
||||
"japanese": "Japonais",
|
||||
"help_text": "Sélectionnez votre langue préférée pour l'interface.",
|
||||
"restart_notice": "Le changement de langue prendra effet après le redémarrage de l'application."
|
||||
},
|
||||
"app": {
|
||||
"title": "YTSage",
|
||||
"version": "v{version}",
|
||||
"ready": "Prêt"
|
||||
},
|
||||
"formats": {
|
||||
"show_formats": "Afficher les formats :",
|
||||
"video_format": "Format vidéo :",
|
||||
"audio_format": "Format audio :",
|
||||
"no_formats": "Aucun format disponible",
|
||||
"loading": "Chargement des formats...",
|
||||
"select": "Sélectionner",
|
||||
"quality": "Qualité",
|
||||
"extension": "Extension",
|
||||
"resolution": "Résolution",
|
||||
"file_size": "Taille du fichier",
|
||||
"codec": "Codec",
|
||||
"audio": "Audio",
|
||||
"fps": "IPS",
|
||||
"hdr": "HDR",
|
||||
"will_merge_audio": "L'audio sera fusionné",
|
||||
"has_audio": "✓ Contient de l'audio",
|
||||
"audio_only": "Audio uniquement",
|
||||
"best_4k": "Meilleure (4K)",
|
||||
"best_2k": "Meilleure (2K)",
|
||||
"high_1080p": "Haute (1080p)",
|
||||
"high_720p": "Haute (720p)",
|
||||
"medium_480p": "Moyenne (480p)",
|
||||
"low_quality": "Qualité faible",
|
||||
"best_audio": "Meilleur audio",
|
||||
"high_audio": "Audio élevé",
|
||||
"medium_audio": "Audio moyen",
|
||||
"low_audio": "Audio faible",
|
||||
"audio_only_resolution": "Audio uniquement"
|
||||
},
|
||||
"buttons": {
|
||||
"download": "Télécharger",
|
||||
"pause": "Pause",
|
||||
"resume": "Reprendre",
|
||||
"cancel": "Annuler",
|
||||
"browse": "Parcourir",
|
||||
"clear": "Effacer",
|
||||
"ok": "OK",
|
||||
"apply": "Appliquer",
|
||||
"close": "Fermer",
|
||||
"run_command": "Exécuter la commande",
|
||||
"custom_command_help": "Aide",
|
||||
"about": "À propos",
|
||||
"analyze": "Analyser",
|
||||
"paste_url": "Coller l'URL",
|
||||
"select_videos": "Sélectionner les vidéos...",
|
||||
"video": "Vidéo",
|
||||
"audio_only": "Audio uniquement",
|
||||
"custom_options": "Options personnalisées",
|
||||
"trim_video": "Découper la vidéo",
|
||||
"download_settings": "Paramètres de téléchargement",
|
||||
"update": "Mettre à jour yt-dlp",
|
||||
"select_defaults": "Sélectionner par défaut",
|
||||
"select_all": "Tout sélectionner",
|
||||
"deselect_all": "Tout désélectionner",
|
||||
"open_folder": "Ouvrir l'emplacement du dossier",
|
||||
"history": "Historique"
|
||||
},
|
||||
"dialogs": {
|
||||
"custom_options": "Options personnalisées",
|
||||
"settings": "Paramètres",
|
||||
"select_folder": "Sélectionner le dossier de téléchargement",
|
||||
"sponsorblock_categories": "Catégories SponsorBlock",
|
||||
"sponsorblock_description": "Choisissez les types de segments vidéo à supprimer automatiquement pendant le téléchargement.\nSponsorBlock utilise des données soumises par la communauté pour identifier ces segments.",
|
||||
"select_subtitles": "Sélectionner les sous-titres",
|
||||
"filter_languages_placeholder": "Filtrer les langues (ex: en, fr)...",
|
||||
"no_subtitles_available": "Aucun sous-titre disponible",
|
||||
"matching": "correspondant",
|
||||
"ytdlp_log_title": "Journal yt-dlp"
|
||||
},
|
||||
"tabs": {
|
||||
"cookies": "Se connecter avec des cookies",
|
||||
"custom_command": "Commande personnalisée",
|
||||
"proxy": "Proxy",
|
||||
"language": "Langue",
|
||||
"updater": "Mise à jour"
|
||||
},
|
||||
"cookies": {
|
||||
"help_text": "Choisissez comment fournir les cookies pour l'authentification.\nCeci permet de télécharger des vidéos privées et des fichiers audio de haute qualité.",
|
||||
"cookie_source": "Source des cookies",
|
||||
"use_cookie_file": "Utiliser un fichier de cookies",
|
||||
"extract_from_browser": "Extraire du navigateur",
|
||||
"recommended": "Recommandé",
|
||||
"cookie_file": "Fichier de cookies",
|
||||
"cookie_file_placeholder": "Chemin vers le fichier cookies.txt...",
|
||||
"browser_selection": "Sélection du navigateur",
|
||||
"browser_help": "Sélectionnez le navigateur depuis lequel extraire les cookies :",
|
||||
"browser_label": "Navigateur :",
|
||||
"profile_label": "Profil :",
|
||||
"profile_placeholder": "Par défaut",
|
||||
"browser_extract_message": "Les cookies du navigateur seront extraits lors de l'application",
|
||||
"file_selected_message": "Fichier de cookies sélectionné - Cliquez sur OK pour appliquer",
|
||||
"select_file_title": "Sélectionner le fichier de cookies",
|
||||
"file_filter": "Fichiers de cookies (*.txt *.lwp)",
|
||||
"file_selected_title": "Fichier de cookies appliqué",
|
||||
"file_applied_message": "Fichier de cookies appliqué : {path}",
|
||||
"browser_selected_title": "Cookies du navigateur appliqués",
|
||||
"browser_applied_message": "Les cookies du navigateur seront extraits de : {browser}",
|
||||
"cleared_title": "Cookies effacés",
|
||||
"cleared_message": "Les paramètres des cookies ont été effacés",
|
||||
"active_browser": "✓ Actifs : cookies du navigateur ({browser})",
|
||||
"active_file": "✓ Actif : fichier cookies ({file})",
|
||||
"none_active": "○ Aucun cookie actif"
|
||||
},
|
||||
"custom_command": {
|
||||
"help_text": "Entrez votre commande yt-dlp personnalisée ci-dessous. L'URL actuelle sera automatiquement ajoutée.<br><br>Pour la liste complète des options et exemples d'utilisation <a href=\"{docs_url}\">cliquez ici pour voir la documentation officielle yt-dlp</a>.<br><br>Note : Le chemin de téléchargement et le modèle de nom de fichier sont gérés automatiquement.",
|
||||
"input_label": "Arguments yt-dlp :",
|
||||
"input_placeholder": "Entrez les arguments yt-dlp ici...\n\nEx : --extract-audio --audio-format mp3",
|
||||
"output_label": "Sortie de la commande :",
|
||||
"output_placeholder": "La sortie de la commande apparaîtra ici...",
|
||||
"command_placeholder": "Entrer une commande yt-dlp personnalisée...",
|
||||
"command_help": "Espaces réservés disponibles :\n{url} - URL de la vidéo\n{output} - Dossier de sortie\n\nExemple : --write-info-json --write-thumbnail",
|
||||
"full_command": "🔧 Commande complète : {command}",
|
||||
"command_success": "✅ Commande personnalisée exécutée avec succès !",
|
||||
"command_failed": "❌ Commande échouée avec le code de sortie {code}",
|
||||
"command_error": "❌ Erreur lors de l'exécution de la commande personnalisée : {error}",
|
||||
"error_no_url": "❌ Erreur : aucune URL fournie. Veuillez saisir une URL dans la fenêtre principale.",
|
||||
"error_no_command": "❌ Erreur : aucune commande fournie. Veuillez saisir des arguments yt-dlp.",
|
||||
"executing": "🚀 Exécution de la commande yt-dlp personnalisée",
|
||||
"url_label": "📍 URL : {url}",
|
||||
"args_label": "⚙️ Arguments : {command}",
|
||||
"download_path_label": "📁 Chemin de téléchargement : {path}",
|
||||
"separator": "=================================================="
|
||||
},
|
||||
"proxy": {
|
||||
"help_text": "Configurer les paramètres proxy pour les téléchargements. Laisser vide pour une connexion directe.",
|
||||
"main_proxy": "Proxy principal",
|
||||
"main_proxy_help": "Serveur proxy principal pour tous les téléchargements. Prend en charge les protocoles HTTP/HTTPS et SOCKS5.",
|
||||
"proxy_url_label": "URL du proxy :",
|
||||
"proxy_url_placeholder": "http://proxy:port ou socks5://proxy:port",
|
||||
"proxy_examples": "Exemples :\n• HTTP : http://proxy.example.com:8080\n• SOCKS5 : socks5://proxy.example.com:1080",
|
||||
"geo_proxy": "Proxy de contournement géographique",
|
||||
"geo_proxy_help": "Proxy secondaire spécialement pour contourner les restrictions géographiques.",
|
||||
"geo_proxy_url_label": "URL du proxy de contournement géographique :",
|
||||
"geo_proxy_url_placeholder": "http://geo-proxy:port",
|
||||
"clear_main_proxy": "Effacer le proxy principal",
|
||||
"clear_geo_proxy": "Effacer le proxy géographique",
|
||||
"proxy_url": "URL du proxy",
|
||||
"proxy_placeholder": "http://proxy:port ou socks5://proxy:port",
|
||||
"geo_bypass": "Proxy de contournement géographique (pour les restrictions géographiques)",
|
||||
"geo_bypass_placeholder": "http://proxy:port pour contourner le géo-blocage",
|
||||
"invalid_main_url": "Format d'URL de proxy principal invalide",
|
||||
"invalid_geo_url": "Format d'URL de proxy géographique invalide",
|
||||
"main_configured": "Proxy principal configuré",
|
||||
"geo_configured": "Proxy géographique configuré",
|
||||
"set_title": "Proxy défini",
|
||||
"set_message": "Proxy principal défini et enregistré : {proxy}",
|
||||
"geo_set_title": "Proxy géo défini",
|
||||
"geo_set_message": "Proxy de vérification géographique défini et enregistré : {proxy}",
|
||||
"cleared_title": "Paramètres proxy effacés",
|
||||
"cleared_message": "Tous les paramètres proxy ont été effacés et enregistrés.",
|
||||
"saved_main": "Proxy principal enregistré : {proxy}",
|
||||
"saved_geo": "Proxy géo enregistré : {proxy}"
|
||||
},
|
||||
"download": {
|
||||
"preparing": "Préparation du téléchargement...",
|
||||
"starting": "🚀 Démarrage du téléchargement...",
|
||||
"fetching_info": "🔍 Récupération des informations vidéo...",
|
||||
"preparing_streams": "🎯 Préparation des flux vidéo...",
|
||||
"downloading_audio": "⏬ Téléchargement audio...",
|
||||
"downloading_video": "⏬ Téléchargement vidéo...",
|
||||
"downloading_subtitle": "⏬ Téléchargement des sous-titres...",
|
||||
"downloading": "⏬ Téléchargement...",
|
||||
"completed": "✅ Téléchargement terminé !",
|
||||
"video_completed": "✅ Téléchargement vidéo terminé !",
|
||||
"audio_completed": "✅ Téléchargement audio terminé !",
|
||||
"subtitle_completed": "✅ Téléchargement des sous-titres terminé !",
|
||||
"completed_cleaning": "✅ Téléchargement terminé ! Nettoyage...",
|
||||
"cancelled": "Téléchargement annulé",
|
||||
"processing_playlist": "📋 Traitement des données de la playlist...",
|
||||
"paused": "Téléchargement en pause",
|
||||
"resumed": "Téléchargement repris",
|
||||
"merging_formats": "✨ Post-traitement : Fusion des formats...",
|
||||
"removing_sponsor_segments": "✨ Post-traitement : Suppression des segments sponsorisés...",
|
||||
"speed": "Vitesse",
|
||||
"eta": "Temps restant",
|
||||
"please_enter_url": "Veuillez d'abord entrer une URL.",
|
||||
"please_set_path": "Veuillez d'abord définir un chemin de téléchargement.",
|
||||
"please_enter_url_and_path": "Veuillez entrer une URL et définir un chemin de téléchargement.",
|
||||
"please_select_format": "Veuillez d'abord sélectionner un format.",
|
||||
"downloading_fallback": "⚡ Téléchargement..."
|
||||
},
|
||||
"update": {
|
||||
"title": "Mettre à jour yt-dlp",
|
||||
"checking": "Vérification des mises à jour...",
|
||||
"update_available": "Mise à jour disponible !\nVersion actuelle : {current}\nDernière version : {latest}",
|
||||
"up_to_date": "yt-dlp est à jour (Version {version})",
|
||||
"could_not_determine": "Impossible de déterminer les versions.",
|
||||
"error_comparing": "Erreur lors de la comparaison des versions : {error}",
|
||||
"update_available_failed": "Mise à jour disponible ! (Comparaison échouée)\nActuelle : {current}\nDernière : {latest}",
|
||||
"updating": "Mise à jour...",
|
||||
"initializing": "🚀 Initialisation du processus de mise à jour...",
|
||||
"checking_current": "🔍 Vérification de l'installation actuelle...",
|
||||
"found_at": "📍 yt-dlp trouvé à : {path}",
|
||||
"error_getting_path": "❌ Erreur lors de la récupération du chemin yt-dlp : {error}",
|
||||
"updating_binary": "📦 Mise à jour du binaire yt-dlp géré par l'application...",
|
||||
"update_failed": "❌ Échec de la mise à jour yt-dlp. Veuillez réessayer ou vérifier votre connexion Internet.",
|
||||
"binary_updated": "✅ Binaire mis à jour avec succès !",
|
||||
"update_failed_stderr": "❌ Échec de la mise à jour yt-dlp : {error}",
|
||||
"update_timeout": "❌ Délai d'attente de la mise à jour yt-dlp dépassé.",
|
||||
"unexpected_error": "❌ Erreur inattendue lors de la mise à jour : {error}",
|
||||
"already_up_to_date": "✅ yt-dlp est déjà à jour !",
|
||||
"update_success": "✅ yt-dlp a été mis à jour avec succès !",
|
||||
"already_latest": "yt-dlp est à jour (version {version})",
|
||||
"network_error": "❌ Erreur réseau pendant la mise à jour : {error}",
|
||||
"general_error": "❌ La mise à jour a échoué : {error}",
|
||||
"update_in_progress_title": "Mise à jour en cours",
|
||||
"update_in_progress_message": "yt-dlp est en cours de mise à jour. Veuillez patienter un instant."
|
||||
},
|
||||
"about": {
|
||||
"title": "À propos de YTSage",
|
||||
"version": "Version {version}",
|
||||
"description": "Téléchargeur YouTube moderne avec une interface PySide6 propre.",
|
||||
"author": "Par : {author}",
|
||||
"github": "GitHub : {repo}",
|
||||
"system_info": "Informations système",
|
||||
"loading": "🔄 Chargement des informations système...",
|
||||
"refresh": "🔄",
|
||||
"refreshing": "🔄 Actualisation...",
|
||||
"refresh_failed": "Échec de l'actualisation",
|
||||
"refresh_failed_message": "Impossible d'actualiser les informations de version.",
|
||||
"detected": "✓ Détecté",
|
||||
"missing": "✗ Manquant",
|
||||
"not_available": "Non disponible"
|
||||
},
|
||||
"time_range": {
|
||||
"title": "Découper la vidéo",
|
||||
"time_range_group": "Plage horaire",
|
||||
"start_time": "Heure de début (HH:MM:SS)",
|
||||
"end_time": "Heure de fin (HH:MM:SS)",
|
||||
"start_placeholder": "00:00:00",
|
||||
"end_placeholder": "00:00:00",
|
||||
"start_time_placeholder": "Heure de début (HH:MM:SS)",
|
||||
"end_time_placeholder": "Heure de fin (HH:MM:SS)",
|
||||
"force_keyframes": "Forcer les images clés aux points de coupe",
|
||||
"help_text": "Définissez les heures de début et de fin pour découper la vidéo.\nLaissez vide pour télécharger la vidéo complète.",
|
||||
"invalid_format": "Format d'heure invalide. Utilisez le format HH:MM:SS.",
|
||||
"start_after_end": "L'heure de début ne peut pas être après l'heure de fin."
|
||||
},
|
||||
"settings": {
|
||||
"title": "Paramètres de téléchargement",
|
||||
"download_path": "Chemin de téléchargement",
|
||||
"browse": "Parcourir...",
|
||||
"speed_limit": "Limite de vitesse",
|
||||
"speed_limit_placeholder": "Aucune",
|
||||
"auto_update_ytdlp": "Mise à jour automatique de yt-dlp",
|
||||
"enable_auto_updates": "Activer les mises à jour automatiques de yt-dlp",
|
||||
"update_frequency": "Fréquence de mise à jour :",
|
||||
"check_startup": "Vérifier à chaque démarrage (minimum 1 heure entre les vérifications)",
|
||||
"check_daily": "Vérifier quotidiennement",
|
||||
"check_weekly": "Vérifier hebdomadairement",
|
||||
"check_updates_now": "Mettre à jour yt-dlp",
|
||||
"update_check_title": "Vérification de mise à jour",
|
||||
"could_not_determine_version": "Impossible de déterminer la version actuelle de yt-dlp.",
|
||||
"update_available_dialog": "Mise à jour disponible !\n\nActuelle : {current}\nDernière : {latest}\n\nCliquez sur OK pour continuer la mise à jour.",
|
||||
"up_to_date_dialog": "yt-dlp est à jour !\n\nVersion actuelle : {version}",
|
||||
"error_checking_updates": "Erreur lors de la vérification des mises à jour : {error}",
|
||||
"settings_saved_title": "Paramètres sauvegardés",
|
||||
"settings_saved_message": "Les paramètres de mise à jour automatique ont été sauvegardés avec succès !",
|
||||
"error_title": "Erreur",
|
||||
"failed_save_settings": "Échec de la sauvegarde des paramètres de mise à jour automatique.",
|
||||
"error_saving_settings": "Erreur lors de la sauvegarde des paramètres de mise à jour automatique : {error}",
|
||||
"ytdlp_channel": "Canal de version yt-dlp",
|
||||
"ytdlp_channel_stable": "Stable (Versions testées)",
|
||||
"ytdlp_channel_nightly": "Nightly (Mises à jour quotidiennes, recommandé par yt-dlp)",
|
||||
"ytdlp_channel_description": "Choisissez entre les versions stables et nightly. Les versions nightly sont mises à jour quotidiennement avec les dernières corrections et fonctionnalités. Vous pouvez changer de canal à tout moment.",
|
||||
"ytdlp_switching_channel": "Passage au canal {channel}...",
|
||||
"ytdlp_channel_switched": "✅ Passage réussi au canal {channel} !",
|
||||
"ytdlp_channel_switch_failed": "❌ Échec du changement de canal : {error}",
|
||||
"ytdlp_current_channel": "Canal actuel : {channel}",
|
||||
"auto_update_title": "Paramètres de mise à jour automatique",
|
||||
"auto_update_header": "🔄 Paramètres de mise à jour automatique",
|
||||
"auto_update_description": "Configurez les mises à jour automatiques pour yt-dlp afin de vous assurer d'avoir toujours les dernières fonctionnalités et corrections de bogues.",
|
||||
"current_status": "État actuel",
|
||||
"current_version_label": "Version actuelle de yt-dlp : Vérification...",
|
||||
"last_check_label": "Dernière vérification de mise à jour : Jamais",
|
||||
"next_check_label": "Prochaine vérification : Basée sur les paramètres",
|
||||
"manual_check_button": "🔍 Vérifier les mises à jour maintenant",
|
||||
"update_frequency_group": "Fréquence de mise à jour",
|
||||
"save_settings": "Sauvegarder les paramètres",
|
||||
"settings_saved_successfully": "✅ Paramètres sauvegardés avec succès !",
|
||||
"error_saving": "❌ Erreur lors de la sauvegarde des paramètres : {error}",
|
||||
"output_format_settings": "Paramètres du format de sortie",
|
||||
"force_output_format": "Forcer le format de sortie lors de la fusion",
|
||||
"preferred_format": "Format préféré :",
|
||||
"force_format_help": "Lorsqu'activé, les vidéos fusionnées seront converties vers votre format préféré. Désactivez pour laisser yt-dlp décider automatiquement.",
|
||||
"format_mp4": "MP4 (Plus compatible)",
|
||||
"format_webm": "WebM (Moderne, ouvert)",
|
||||
"format_mkv": "MKV (Riche en fonctionnalités)",
|
||||
"audio_format_settings": "Paramètres du format audio",
|
||||
"force_audio_format": "Forcer le format audio pour les téléchargements audio uniquement",
|
||||
"preferred_audio_format": "Format audio préféré :",
|
||||
"force_audio_format_help": "Lorsqu'activé, les téléchargements audio uniquement seront convertis dans votre format préféré. Cela s'applique uniquement lors du téléchargement de formats audio.",
|
||||
"audio_format_best": "Meilleur (Pas de conversion)",
|
||||
"audio_format_aac": "AAC (Bon pour l'édition)",
|
||||
"audio_format_mp3": "MP3 (Universel)",
|
||||
"audio_format_flac": "FLAC (Sans perte)",
|
||||
"audio_format_wav": "WAV (Non compressé)",
|
||||
"audio_format_opus": "Opus (Efficace)",
|
||||
"audio_format_m4a": "M4A (Apple)",
|
||||
"audio_format_vorbis": "Vorbis (Ouvert)"
|
||||
},
|
||||
"main_ui": {
|
||||
"url_placeholder": "Entrer l'URL de la vidéo ou de la playlist YouTube",
|
||||
"merge_subtitles": "Fusionner les sous-titres",
|
||||
"save_thumbnail": "Sauvegarder la miniature",
|
||||
"save_description": "Sauvegarder la description",
|
||||
"embed_chapters": "Intégrer les chapitres",
|
||||
"subtitles_selected": "{count} sélectionné(s)",
|
||||
"all_selected": "Tous sélectionnés",
|
||||
"select_videos_all": "Sélectionner les vidéos... (Tous sélectionnés)",
|
||||
"please_enter_url": "Veuillez d'abord entrer une URL",
|
||||
"error_title": "Erreur",
|
||||
"cookie_file_selected_title": "Fichier de cookies sélectionné",
|
||||
"cookie_file_selected_message": "Fichier de cookies sélectionné : {path}",
|
||||
"browser_cookies_selected_title": "Cookies de navigateur sélectionnés",
|
||||
"browser_cookies_selected_message": "Les cookies du navigateur seront extraits depuis : {browser}",
|
||||
"error_no_format_info": "Erreur : Aucune information de format disponible.",
|
||||
"error_extract_info": "Erreur : Impossible d'extraire les informations de base de la vidéo. Veuillez vérifier votre lien.",
|
||||
"analyzing_preparing": "Analyse (0%)... Préparation de la requête",
|
||||
"analyzing_extracting_basic": "Analyse (15%)... Extraction des informations de base",
|
||||
"analyzing_extracting_detailed": "Analyse (30%)... Extraction des informations détaillées",
|
||||
"analyzing_processing_video": "Analyse (45%)... Traitement des données vidéo",
|
||||
"analyzing_processing_formats": "Analyse (60%)... Traitement des formats",
|
||||
"analyzing_loading_thumbnail": "Analyse (75%)... Chargement de la miniature",
|
||||
"analyzing_processing_subtitles": "Analyse (85%)... Traitement des sous-titres",
|
||||
"analyzing_updating_table": "Analyse (95%)... Mise à jour du tableau des formats",
|
||||
"analysis_complete": "Analyse terminée !",
|
||||
"analyzing_extracting_ytdlp": "Analyse (30%)... Extraction d'informations",
|
||||
"analyzing_fetching_first_video": "Analyse... Récupération des formats pour la première vidéo",
|
||||
"analyzing_processing_data": "Analyse (60%)... Traitement des données",
|
||||
"analyzing_processing_formats_ytdlp": "Analyse (75%)... Traitement des formats",
|
||||
"analyzing_loading_thumbnail_ytdlp": "Analyse (85%)... Chargement de la miniature",
|
||||
"analyzing_processing_subtitles_ytdlp": "Analyse (90%)... Traitement des sous-titres",
|
||||
"select_subtitles": "Sélectionner les sous-titres...",
|
||||
"sponsorblock_categories": "Catégories SponsorBlock...",
|
||||
"invalid_url_or_enter": "URL invalide ou veuillez entrer une URL.",
|
||||
"zero_selected": "0 sélectionné",
|
||||
"analyze_first_tooltip": "Veuillez d'abord analyser la vidéo",
|
||||
"audio_mode_disabled": "Non disponible en mode audio uniquement",
|
||||
"select_subtitles_first": "Veuillez d'abord sélectionner les sous-titres",
|
||||
"settings_tooltip": "Chemin actuel : {path}\nLimite de vitesse : {speed_limit}",
|
||||
"speed_limit_none": "Aucune",
|
||||
"open_folder_error": "Impossible d’ouvrir le dossier : {error}",
|
||||
"time_range_set": "Section définie : {section}"
|
||||
},
|
||||
"sponsorblock": {
|
||||
"sponsor": "Sponsor",
|
||||
"sponsor_desc": "Publicité payante, recommandations payantes et publicité directe",
|
||||
"selfpromo": "Auto-promotion non payante",
|
||||
"selfpromo_desc": "Publicité non payante pour le contenu propre du créateur",
|
||||
"interaction": "Rappel d'interaction",
|
||||
"interaction_desc": "Les spectateurs sont invités à aimer, s'abonner ou suivre sur les réseaux sociaux",
|
||||
"intro": "Intro",
|
||||
"intro_desc": "Introduction de la vidéo qui peut être ignorée",
|
||||
"outro": "Outro/Cartes de fin",
|
||||
"outro_desc": "Crédits ou fin de la vidéo",
|
||||
"preview": "Aperçu/Récapitulatif",
|
||||
"preview_desc": "Bref récapitulatif des vidéos précédentes ou aperçu du contenu à venir",
|
||||
"music_offtopic": "Section hors-musique",
|
||||
"music_offtopic_desc": "Uniquement pour les vidéos musicales. Marque les sections non-musicales",
|
||||
"filler": "Digression de remplissage",
|
||||
"filler_desc": "Scènes de diversion ajoutées uniquement comme remplissage ou pour l'humour"
|
||||
},
|
||||
"video_info": {
|
||||
"channel": "Chaîne",
|
||||
"views": "👁 Vues",
|
||||
"likes": "👍 J'aime",
|
||||
"upload_date": "📅 Date de mise en ligne",
|
||||
"duration": "⏱ Durée",
|
||||
"unknown_channel": "Chaîne inconnue",
|
||||
"unknown_date": "Date inconnue",
|
||||
"unknown_title": "Titre inconnu"
|
||||
},
|
||||
"command": {
|
||||
"running": "En cours...",
|
||||
"run_command": "Exécuter la commande"
|
||||
},
|
||||
"selection": {
|
||||
"none_selected": "0 sélectionné",
|
||||
"one_selected": "1 catégorie sélectionnée",
|
||||
"count_selected": "{count} sélectionné(s)"
|
||||
},
|
||||
"status": {
|
||||
"ready": "Prêt",
|
||||
"file_exists": "⚠️ Le fichier existe déjà",
|
||||
"video_file_exists": "⚠️ Le fichier vidéo existe déjà",
|
||||
"audio_file_exists": "⚠️ Le fichier audio existe déjà",
|
||||
"subtitle_file_exists": "⚠️ Le fichier de sous-titres existe déjà",
|
||||
"cancelling": "Annulation du téléchargement...",
|
||||
"thumbnail_saved": "✅ Miniature enregistrée : {filename}",
|
||||
"thumbnail_error": "❌ Erreur de miniature : {error}",
|
||||
"thumbnail_no_image": "Aucune miniature disponible à enregistrer"
|
||||
},
|
||||
"errors": {
|
||||
"playlist_no_videos": "Erreur : La playlist ne contient aucune vidéo valide.",
|
||||
"playlist_no_url": "Erreur : Impossible d'obtenir l'URL de la première vidéo de la playlist.",
|
||||
"ytdlp_not_found": "Erreur : Exécutable yt-dlp introuvable. Veuillez d'abord installer yt-dlp.",
|
||||
"ytdlp_not_found_path": "Erreur : Exécutable yt-dlp introuvable. Cela pourrait être dû à une installation incorrecte ou à un problème de PATH.",
|
||||
"no_data_returned": "Erreur : Aucune donnée renvoyée par yt-dlp",
|
||||
"no_format_info": "Erreur : Aucune information de format disponible.",
|
||||
"analysis_timeout": "Erreur : Délai d'analyse dépassé. Veuillez réessayer.",
|
||||
"invalid_speed_limit": "❌ Erreur : Valeur de limite de vitesse invalide définie dans les paramètres.",
|
||||
"ytdlp_failed": "Erreur : yt-dlp a échoué : {error}",
|
||||
"parse_failed": "Erreur : Échec de l'analyse de la sortie yt-dlp : {error}",
|
||||
"analysis_failed": "Erreur : Échec de l'analyse : {error}",
|
||||
"generic_error": "Erreur : {error}",
|
||||
"download_failed_return_code_conflict": "Téléchargement échoué avec le code de retour {return_code}. Cela peut être dû à un conflit entre plusieurs installations de yt-dlp. Essayez de désinstaller toute version installée au niveau du système (par ex. via snap ou apt) puis redémarrez l’application.",
|
||||
"download_failed_return_code": "Téléchargement échoué avec le code de retour {return_code}",
|
||||
"direct_command_error": "Erreur dans la commande directe : {error}"
|
||||
},
|
||||
"update_dialog": {
|
||||
"title": "Mise à jour disponible",
|
||||
"new_version_available": "Une nouvelle version de YTSage est disponible !",
|
||||
"current_version_label": "Version actuelle :",
|
||||
"latest_version_label": "Dernière version :",
|
||||
"changelog": "Journal des modifications",
|
||||
"download_update": "Télécharger la mise à jour",
|
||||
"remind_later": "Me le rappeler plus tard"
|
||||
},
|
||||
"playlist": {
|
||||
"unknown": "Playlist inconnue",
|
||||
"total_videos": "Total des vidéos : {count}",
|
||||
"display_format": "Playlist : {title} | {count} vidéos",
|
||||
"select_videos_title": "Sélectionner les Vidéos de la Playlist"
|
||||
},
|
||||
"subtitle_selection": {
|
||||
"count_selected": "{count} sélectionné(s)"
|
||||
},
|
||||
"file_exists_dialog": {
|
||||
"title": "Le fichier existe déjà",
|
||||
"message": "Le fichier existe déjà :\n{filename}",
|
||||
"info": "Cette vidéo a déjà été téléchargée."
|
||||
},
|
||||
"auto_update": {
|
||||
"last_check_never": "Dernière vérification : Jamais",
|
||||
"last_check": "Dernière vérification : {time}",
|
||||
"next_check_disabled": "Prochaine vérification : Désactivée",
|
||||
"next_check_startup": "Prochaine vérification : Au démarrage",
|
||||
"next_check_overdue": "Prochaine vérification : Maintenant (en retard)",
|
||||
"next_check": "Prochaine vérification : {time}",
|
||||
"next_check_error": "Prochaine vérification : Erreur de calcul",
|
||||
"checking": "🔄 Vérification...",
|
||||
"check_now": "🔍 Vérifier les mises à jour maintenant",
|
||||
"current_version": "Version actuelle de yt-dlp : {version}"
|
||||
},
|
||||
"url_validation": {
|
||||
"empty_url": "L'URL ne peut pas être vide",
|
||||
"invalid_format": "Format d'URL invalide",
|
||||
"invalid_scheme": "L'URL doit commencer par http:// ou https://",
|
||||
"missing_domain": "URL invalide : nom de domaine manquant",
|
||||
"unsupported_platform": "YTSage ne prend en charge que les URLs YouTube et YouTube Music.\nLe domaine '{domain}' n'est pas pris en charge.",
|
||||
"invalid_youtu_be": "URL youtu.be invalide : ID de vidéo manquant"
|
||||
},
|
||||
"ytdlp_errors": {
|
||||
"private_video": "Ceci est une vidéo privée. Vous pouvez la télécharger en vous connectant à votre compte avec des cookies.\nAllez dans 'Options Personnalisées' → 'Se connecter avec des Cookies' → 'Extraire les cookies du navigateur' pour vous authentifier.",
|
||||
"age_restricted": "Cette vidéo est soumise à une restriction d'âge. Vous devez être connecté pour y accéder.\nUtilisez 'Options Personnalisées' → 'Se connecter avec des Cookies' pour vous authentifier avec votre compte.",
|
||||
"geo_blocked": "Cette vidéo n'est pas disponible dans votre région (géo-bloquée).\nVous pourriez avoir besoin d'utiliser un VPN ou la vidéo pourrait être restreinte dans votre pays.",
|
||||
"video_unavailable": "Cette vidéo a été supprimée ou n'est plus disponible.\nLa vidéo a peut-être été supprimée par l'uploader ou retirée en raison de violations de politique.",
|
||||
"live_stream": "Ceci est un flux en direct qui ne peut pas être téléchargé pendant qu'il est actif.\nAttendez la fin du flux, puis essayez de télécharger la version archivée.",
|
||||
"playlist_error": "Impossible d'accéder à cette playlist. Elle peut être privée, supprimée ou vide.\nVérifiez si la playlist existe et est accessible publiquement.",
|
||||
"network_error": "Erreur de connexion réseau. Veuillez vérifier votre connexion Internet et réessayer.\nSi le problème persiste, le serveur vidéo pourrait être temporairement indisponible.",
|
||||
"invalid_url": "URL invalide ou non prise en charge. Veuillez vérifier le lien et réessayer.\nAssurez-vous d'utiliser une URL YouTube, Vimeo ou autre plateforme prise en charge valide.",
|
||||
"premium_content": "Ce contenu nécessite YouTube Premium ou l'adhésion à la chaîne.\nVous devez être connecté avec un compte ayant accès à ce contenu.",
|
||||
"copyright_blocked": "Cette vidéo est bloquée en raison de réclamations pour droits d'auteur.\nLe propriétaire du contenu a restreint l'accès à cette vidéo.",
|
||||
"extraction_failed": "Échec de l'extraction des informations vidéo. Cela pourrait être un problème temporaire.\nVeuillez réessayer dans quelques minutes ou vérifier si le lien vidéo est correct.",
|
||||
"generic_error": "Impossible d'extraire les informations vidéo. Veuillez vérifier votre lien.\nDétails techniques : {error}"
|
||||
},
|
||||
"history": {
|
||||
"title": "Historique des Téléchargements",
|
||||
"clear_all": "Tout Effacer",
|
||||
"clear_confirm_title": "Effacer l'Historique?",
|
||||
"clear_confirm_message": "Êtes-vous sûr? Cela ne peut pas être annulé.",
|
||||
"no_history": "Pas encore d'historique",
|
||||
"no_history_description": "Vos téléchargements apparaîtront ici",
|
||||
"loading": "Chargement de l’historique...",
|
||||
"search_placeholder": "Rechercher...",
|
||||
"open_location": "Ouvrir l'Emplacement",
|
||||
"redownload": "Télécharger à Nouveau",
|
||||
"remove": "Supprimer",
|
||||
"file_not_found": "Fichier non trouvé",
|
||||
"file_not_found_message": "Le fichier a été déplacé ou supprimé:\n{path}",
|
||||
"downloaded_on": "Téléchargé: {date}",
|
||||
"file_size": "Taille: {size}",
|
||||
"audio_download": "Audio",
|
||||
"video_download": "Vidéo",
|
||||
"remove_confirm_title": "Supprimer?",
|
||||
"remove_confirm_message": "Supprimer de l'historique?\n\n{title}",
|
||||
"item_removed": "Supprimé",
|
||||
"history_cleared": "Historique effacé",
|
||||
"entries_count": "{count} téléchargements",
|
||||
"one_entry": "1 téléchargement",
|
||||
"redownload_confirm_title": "Télécharger à Nouveau?",
|
||||
"redownload_confirm_message": "Télécharger à nouveau?\n\n{title}",
|
||||
"redownload_started": "Téléchargement démarré",
|
||||
"no_url_error": "Aucune URL trouvée dans l’entrée d’historique",
|
||||
"redownload_failed": "Impossible de relancer le téléchargement : {error}"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"installation_title": "Installation de FFmpeg",
|
||||
"installation_message": "YTSage a besoin de FFmpeg pour traiter les vidéos.\n\nChoisissez une option d’installation ci‑dessous :",
|
||||
"install_button": "Installer FFmpeg",
|
||||
"manual_guide": "Guide manuel",
|
||||
"installation_failed": "L’installation de FFmpeg a rencontré un problème.",
|
||||
"already_installed": "FFmpeg est déjà installé !",
|
||||
"installation_complete": "Installation terminée. Vous pouvez fermer cette boîte de dialogue et continuer à utiliser YTSage.",
|
||||
"installing": "Installation de FFmpeg... Veuillez patienter",
|
||||
"install_success": "FFmpeg a été installé avec succès !",
|
||||
"installation_complete_close": "Installation terminée. Vous pouvez maintenant fermer cette boîte de dialogue et continuer à utiliser YTSage.",
|
||||
"try_manual": "Veuillez essayer d’utiliser le guide d’installation manuel à la place."
|
||||
},
|
||||
"ytdlp_setup": {
|
||||
"required_title": "Configuration de yt-dlp requise",
|
||||
"description": "YTSage nécessite yt-dlp pour télécharger des vidéos.<br><br>yt-dlp est introuvable dans le répertoire local de l’application. YTSage doit configurer yt-dlp pour votre système {os_name}.<br><br>Veuillez choisir une option ci‑dessous :",
|
||||
"option_auto": "Télécharger automatiquement (recommandé)",
|
||||
"option_manual": "Sélectionner le chemin manuellement",
|
||||
"setup_button": "Configurer yt-dlp",
|
||||
"downloading": "Téléchargement de yt-dlp...",
|
||||
"success": "yt-dlp a été installé avec succès !",
|
||||
"error": "Erreur : {error}",
|
||||
"download_failed_title": "Téléchargement échoué",
|
||||
"download_failed_message": "Échec du téléchargement de yt-dlp : {error}",
|
||||
"select_executable_title": "Sélectionner l’exécutable yt-dlp",
|
||||
"copied_to": "yt-dlp copié avec succès vers {path}",
|
||||
"setup_error_title": "Erreur de configuration",
|
||||
"copy_error": "Erreur lors de la copie de yt-dlp dans le répertoire de l’application : {error}",
|
||||
"invalid_executable_title": "Exécutable invalide",
|
||||
"invalid_executable_message": "Le fichier sélectionné ne semble pas être un exécutable yt-dlp valide.",
|
||||
"verify_error": "Erreur lors de la vérification de l’exécutable yt-dlp : {error}",
|
||||
"setup_failed_title": "Configuration échouée",
|
||||
"setup_failed_message": "La configuration de yt-dlp a échoué. Certaines fonctionnalités peuvent ne pas fonctionner correctement.",
|
||||
"success_dialog_title": "Configuration de yt-dlp",
|
||||
"success_dialog_message": "yt-dlp a été configuré avec succès à l’emplacement :\n{path}",
|
||||
"file_filter_windows": "Fichiers exécutables (*.exe)",
|
||||
"file_filter_all": "Tous les fichiers (*)"
|
||||
},
|
||||
"ffmpeg_updater": {
|
||||
"title": "Vérificateur de Version FFmpeg",
|
||||
"current_version": "Version Actuelle:",
|
||||
"latest_version": "Dernière Version:",
|
||||
"status_up_to_date": "✓ À jour",
|
||||
"status_update_available": "⚠ Mise à jour disponible",
|
||||
"status_not_installed": "✗ Non installé",
|
||||
"status_idle": "Cliquez sur 'Vérifier la Version' pour commencer",
|
||||
"status_checking": "🔄 Vérification de la version...",
|
||||
"check_updates": "Vérifier la Version",
|
||||
"check_failed": "Échec de la vérification de la version. Vérifiez votre connexion Internet.",
|
||||
"description": "Vérifiez votre version de FFmpeg et comparez-la avec la dernière version disponible.",
|
||||
"guide_info": " Pour installer ou mettre à jour FFmpeg, <a href='https://github.com/oop7/ffmpeg-install-guide'>cliquez ici pour consulter notre guide d'installation complet</a>."
|
||||
},
|
||||
"deno": {
|
||||
"setup_required": "Configuration de Deno requise",
|
||||
"setup_description": "YTSage nécessite Deno pour exécuter certaines fonctionnalités.<br><br>Deno n'a pas été trouvé dans le répertoire local de l'application. YTSage doit configurer Deno pour votre système {os_name}.<br><br>Cliquez sur 'Configurer Deno' pour télécharger et installer automatiquement.",
|
||||
"setup_button": "Configurer Deno",
|
||||
"downloading": "Téléchargement de Deno...",
|
||||
"extracting": "Extraction de Deno...",
|
||||
"verifying": "Vérification de Deno...",
|
||||
"success": "Deno a été installé avec succès !",
|
||||
"download_failed": "Échec du téléchargement",
|
||||
"download_error": "Échec du téléchargement de Deno : {error}",
|
||||
"verification_failed": "Échec de la vérification SHA256. Le fichier téléchargé peut être corrompu ou altéré.",
|
||||
"setup_failed": "Échec de la configuration de Deno. Certaines fonctionnalités peuvent ne pas fonctionner correctement.",
|
||||
"setup_error": "Erreur de configuration"
|
||||
},
|
||||
"deno_updater": {
|
||||
"title": "Vérificateur et Mise à Jour de Version Deno",
|
||||
"description": "Vérifiez votre version de Deno et mettez à jour vers la dernière version.",
|
||||
"current_version": "Version Actuelle :",
|
||||
"latest_version": "Dernière Version :",
|
||||
"status_idle": "Cliquez sur 'Vérifier les Mises à Jour' pour commencer",
|
||||
"status_checking": "🔄 Vérification des mises à jour...",
|
||||
"status_up_to_date": "✓ À jour",
|
||||
"status_update_available": "⚠ Mise à jour disponible",
|
||||
"status_not_installed": "✗ Non installé",
|
||||
"check_updates": "Vérifier les Mises à Jour",
|
||||
"update_now": "Mettre à Jour Deno",
|
||||
"updating": "🔄 Mise à jour de Deno...",
|
||||
"update_success": "✅ Deno a été mis à jour avec succès !",
|
||||
"update_failed": "❌ Échec de la mise à jour : {error}",
|
||||
"check_failed": "Échec de la vérification des mises à jour. Veuillez vérifier votre connexion Internet."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,610 @@
|
||||
{
|
||||
"language": {
|
||||
"display_name": "हिन्दी (Hindi)",
|
||||
"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": "URL पेस्ट करें",
|
||||
"select_videos": "वीडियो चुनें...",
|
||||
"video": "वीडियो",
|
||||
"audio_only": "केवल ऑडियो",
|
||||
"custom_options": "कस्टम विकल्प",
|
||||
"trim_video": "वीडियो ट्रिम करें",
|
||||
"download_settings": "डाउनलोड सेटिंग्स",
|
||||
"update": "yt-dlp अपडेट करें",
|
||||
"select_defaults": "डिफ़ॉल्ट चुनें",
|
||||
"select_all": "सभी चुनें",
|
||||
"deselect_all": "सभी को अचयनित करें",
|
||||
"open_folder": "फ़ोल्डर स्थान खोलें",
|
||||
"history": "इतिहास"
|
||||
},
|
||||
"dialogs": {
|
||||
"custom_options": "कस्टम विकल्प",
|
||||
"settings": "सेटिंग्स",
|
||||
"select_folder": "डाउनलोड फ़ोल्डर चुनें",
|
||||
"sponsorblock_categories": "SponsorBlock श्रेणियां",
|
||||
"sponsorblock_description": "डाउनलोड के दौरान अपने आप हटाए जाने वाले वीडियो सेगमेंट के प्रकार चुनें।\nSponsorBlock इन सेगमेंट की पहचान के लिए समुदाय द्वारा प्रस्तुत डेटा का उपयोग करता है।",
|
||||
"select_subtitles": "उपशीर्षक चुनें",
|
||||
"filter_languages_placeholder": "भाषाएं फ़िल्टर करें (जैसे: hi, en)...",
|
||||
"no_subtitles_available": "कोई उपशीर्षक उपलब्ध नहीं",
|
||||
"matching": "मेल खाता",
|
||||
"ytdlp_log_title": "yt-dlp लॉग"
|
||||
},
|
||||
"tabs": {
|
||||
"cookies": "कुकीज़ के साथ लॉगिन",
|
||||
"custom_command": "कस्टम कमांड",
|
||||
"proxy": "प्रॉक्सी",
|
||||
"language": "भाषा",
|
||||
"updater": "अपडेटर"
|
||||
},
|
||||
"cookies": {
|
||||
"help_text": "प्रमाणीकरण के लिए कुकीज़ प्रदान करने का तरीका चुनें।\nयह निजी वीडियो और उच्च गुणवत्ता वाली ऑडियो फ़ाइलें डाउनलोड करने की अनुमति देता है।",
|
||||
"cookie_source": "कुकी स्रोत",
|
||||
"use_cookie_file": "कुकी फ़ाइल का उपयोग करें",
|
||||
"extract_from_browser": "ब्राउज़र से निकालें",
|
||||
"recommended": "अनुशंसित",
|
||||
"cookie_file": "कुकी फ़ाइल",
|
||||
"cookie_file_placeholder": "cookies.txt फ़ाइल का पथ...",
|
||||
"browser_selection": "ब्राउज़र चयन",
|
||||
"browser_help": "वह ब्राउज़र चुनें जिससे कुकीज़ निकालनी हैं:",
|
||||
"browser_label": "ब्राउज़र:",
|
||||
"profile_label": "प्रोफ़ाइल:",
|
||||
"profile_placeholder": "डिफ़ॉल्ट",
|
||||
"browser_extract_message": "लागू करने पर ब्राउज़र कुकीज़ निकाली जाएंगी",
|
||||
"file_selected_message": "कुकी फ़ाइल चुनी गई - लागू करने के लिए OK दबाएं",
|
||||
"select_file_title": "कुकी फ़ाइल चुनें",
|
||||
"file_filter": "कुकी फ़ाइलें (*.txt *.lwp)",
|
||||
"file_selected_title": "कुकी फ़ाइल लागू की गई",
|
||||
"file_applied_message": "कुकी फ़ाइल लागू की गई: {path}",
|
||||
"browser_selected_title": "ब्राउज़र कुकीज़ लागू की गईं",
|
||||
"browser_applied_message": "ब्राउज़र कुकीज़ निकाली जाएंगी: {browser}",
|
||||
"cleared_title": "कुकीज़ साफ़ की गईं",
|
||||
"cleared_message": "कुकी सेटिंग्स साफ़ कर दी गई हैं",
|
||||
"active_browser": "✓ सक्रिय: ब्राउज़र कुकीज़ ({browser})",
|
||||
"active_file": "✓ सक्रिय: कुकी फ़ाइल ({file})",
|
||||
"none_active": "○ कोई कुकी सक्रिय नहीं"
|
||||
},
|
||||
"custom_command": {
|
||||
"help_text": "नीचे अपना कस्टम yt-dlp कमांड दर्ज करें। वर्तमान URL स्वचालित रूप से जोड़ा जाएगा।<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} - वीडियो URL\n{output} - आउटपुट फ़ोल्डर\n\nउदाहरण: --write-info-json --write-thumbnail",
|
||||
"full_command": "🔧 पूरा कमांड: {command}",
|
||||
"command_success": "✅ कस्टम कमांड सफलतापूर्वक निष्पादित!",
|
||||
"command_failed": "❌ कमांड असफल, एग्जिट कोड {code}",
|
||||
"command_error": "❌ कस्टम कमांड निष्पादित करने में त्रुटि: {error}",
|
||||
"error_no_url": "❌ त्रुटि: कोई URL नहीं दिया गया। कृपया मुख्य विंडो में URL दर्ज करें।",
|
||||
"error_no_command": "❌ त्रुटि: कोई कमांड नहीं दिया गया। कृपया yt-dlp आर्गुमेंट्स दर्ज करें।",
|
||||
"executing": "🚀 कस्टम yt-dlp कमांड चल रहा है",
|
||||
"url_label": "📍 URL: {url}",
|
||||
"args_label": "⚙️ आर्गुमेंट्स: {command}",
|
||||
"download_path_label": "📁 डाउनलोड पथ: {path}",
|
||||
"separator": "=================================================="
|
||||
},
|
||||
"proxy": {
|
||||
"help_text": "डाउनलोड के लिए प्रॉक्सी सेटिंग्स कॉन्फ़िगर करें। प्रत्यक्ष कनेक्शन के लिए खाली छोड़ें।",
|
||||
"main_proxy": "मुख्य प्रॉक्सी",
|
||||
"main_proxy_help": "सभी डाउनलोड के लिए प्राथमिक प्रॉक्सी सर्वर। HTTP/HTTPS और SOCKS5 प्रोटोकॉल समर्थित।",
|
||||
"proxy_url_label": "प्रॉक्सी URL:",
|
||||
"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": "भू-बाईपास प्रॉक्सी URL:",
|
||||
"geo_proxy_url_placeholder": "http://geo-proxy:port",
|
||||
"clear_main_proxy": "मुख्य प्रॉक्सी साफ़ करें",
|
||||
"clear_geo_proxy": "भू-प्रॉक्सी साफ़ करें",
|
||||
"proxy_url": "प्रॉक्सी URL",
|
||||
"proxy_placeholder": "http://proxy:port या socks5://proxy:port",
|
||||
"geo_bypass": "भू-बाईपास प्रॉक्सी (भौगोलिक प्रतिबंधों के लिए)",
|
||||
"geo_bypass_placeholder": "http://proxy:port भू-ब्लॉकिंग बायपास के लिए",
|
||||
"invalid_main_url": "अमान्य मुख्य प्रॉक्सी URL प्रारूप",
|
||||
"invalid_geo_url": "अमान्य भू-प्रॉक्सी URL प्रारूप",
|
||||
"main_configured": "मुख्य प्रॉक्सी कॉन्फ़िगर की गई",
|
||||
"geo_configured": "भू-प्रॉक्सी कॉन्फ़िगर की गई",
|
||||
"set_title": "प्रॉक्सी सेट",
|
||||
"set_message": "मुख्य प्रॉक्सी सेट और सेव किया गया: {proxy}",
|
||||
"geo_set_title": "जियो प्रॉक्सी सेट",
|
||||
"geo_set_message": "जियो‑वेरिफिकेशन प्रॉक्सी सेट और सेव किया गया: {proxy}",
|
||||
"cleared_title": "प्रॉक्सी सेटिंग्स साफ़ की गईं",
|
||||
"cleared_message": "सभी प्रॉक्सी सेटिंग्स साफ़ कर सेव कर दी गईं।",
|
||||
"saved_main": "सहेजा गया मुख्य प्रॉक्सी: {proxy}",
|
||||
"saved_geo": "सहेजा गया जियो प्रॉक्सी: {proxy}"
|
||||
},
|
||||
"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": "कृपया पहले URL दर्ज करें।",
|
||||
"please_set_path": "कृपया पहले डाउनलोड पथ सेट करें।",
|
||||
"please_enter_url_and_path": "कृपया URL दर्ज करें और डाउनलोड पथ सेट करें।",
|
||||
"please_select_format": "कृपया पहले प्रारूप चुनें।",
|
||||
"downloading_fallback": "⚡ डाउनलोड हो रहा है..."
|
||||
},
|
||||
"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 बाइनरी अपडेट हो रही है...",
|
||||
"update_failed": "❌ yt-dlp अपडेट असफल। कृपया पुनः प्रयास करें या अपना इंटरनेट कनेक्शन जांचें।",
|
||||
"binary_updated": "✅ बाइनरी सफलतापूर्वक अपडेट हुई!",
|
||||
"update_failed_stderr": "❌ yt-dlp अपडेट असफल: {error}",
|
||||
"update_timeout": "❌ yt-dlp अपडेट टाइमआउट।",
|
||||
"unexpected_error": "❌ अपडेट के दौरान अनपेक्षित त्रुटि: {error}",
|
||||
"already_up_to_date": "✅ yt-dlp पहले से अप टू डेट है!",
|
||||
"update_success": "✅ yt-dlp सफलतापूर्वक अपडेट किया गया है!",
|
||||
"already_latest": "yt-dlp अप टू डेट है (संस्करण {version})",
|
||||
"network_error": "❌ अपडेट के दौरान नेटवर्क त्रुटि: {error}",
|
||||
"general_error": "❌ अपडेट असफल: {error}",
|
||||
"update_in_progress_title": "अपडेट जारी है",
|
||||
"update_in_progress_message": "yt-dlp अभी अपडेट हो रहा है। कृपया कुछ देर प्रतीक्षा करें।"
|
||||
},
|
||||
"about": {
|
||||
"title": "YTSage के बारे में",
|
||||
"version": "संस्करण {version}",
|
||||
"description": "साफ PySide6 इंटरफेस के साथ आधुनिक YouTube डाउनलोडर।",
|
||||
"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": "हर स्टार्टअप पर जांचें (जांच के बीच कम से कम 1 घंटा)",
|
||||
"check_daily": "दैनिक जांचें",
|
||||
"check_weekly": "साप्ताहिक जांचें",
|
||||
"check_updates_now": "yt-dlp अपडेट करें",
|
||||
"update_check_title": "अपडेट जांच",
|
||||
"could_not_determine_version": "वर्तमान yt-dlp संस्करण निर्धारित नहीं हो सका।",
|
||||
"update_available_dialog": "अपडेट उपलब्ध!\n\nवर्तमान: {current}\nनवीनतम: {latest}\n\nअपडेट जारी रखने के लिए OK पर क्लिक करें।",
|
||||
"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}",
|
||||
"ytdlp_channel": "yt-dlp रिलीज़ चैनल",
|
||||
"ytdlp_channel_stable": "स्थिर (परीक्षित रिलीज़)",
|
||||
"ytdlp_channel_nightly": "नाइटली (दैनिक अपडेट, yt-dlp द्वारा अनुशंसित)",
|
||||
"ytdlp_channel_description": "स्थिर और नाइटली रिलीज़ के बीच चुनें। नाइटली बिल्ड नवीनतम फिक्स और सुविधाओं के साथ दैनिक अपडेट होते हैं। आप किसी भी समय चैनल बदल सकते हैं।",
|
||||
"ytdlp_switching_channel": "{channel} चैनल पर स्विच किया जा रहा है...",
|
||||
"ytdlp_channel_switched": "✅ सफलतापूर्वक {channel} चैनल पर स्विच किया गया!",
|
||||
"ytdlp_channel_switch_failed": "❌ चैनल स्विच करना विफल: {error}",
|
||||
"ytdlp_current_channel": "वर्तमान चैनल: {channel}",
|
||||
"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}",
|
||||
"output_format_settings": "आउटपुट प्रारूप सेटिंग्स",
|
||||
"force_output_format": "मर्ज करते समय आउटपुट प्रारूप बाध्य करें",
|
||||
"preferred_format": "पसंदीदा प्रारूप:",
|
||||
"force_format_help": "सक्षम होने पर, मर्ज किए गए वीडियो आपके पसंदीदा प्रारूप में परिवर्तित हो जाएंगे। yt-dlp को स्वचालित रूप से निर्णय लेने देने के लिए अक्षम करें।",
|
||||
"format_mp4": "MP4 (सबसे संगत)",
|
||||
"format_webm": "WebM (आधुनिक, खुला)",
|
||||
"format_mkv": "MKV (सुविधा समृद्ध)",
|
||||
"audio_format_settings": "ऑडियो प्रारूप सेटिंग्स",
|
||||
"force_audio_format": "केवल ऑडियो डाउनलोड के लिए ऑडियो प्रारूप लागू करें",
|
||||
"preferred_audio_format": "पसंदीदा ऑडियो प्रारूप:",
|
||||
"force_audio_format_help": "सक्षम होने पर, केवल ऑडियो डाउनलोड आपके पसंदीदा प्रारूप में परिवर्तित हो जाएंगे। यह केवल ऑडियो प्रारूप डाउनलोड करते समय लागू होता है।",
|
||||
"audio_format_best": "सर्वोत्तम (कोई परिवर्तन नहीं)",
|
||||
"audio_format_aac": "AAC (संपादन के लिए अच्छा)",
|
||||
"audio_format_mp3": "MP3 (सार्वभौमिक)",
|
||||
"audio_format_flac": "FLAC (हानिरहित)",
|
||||
"audio_format_wav": "WAV (असंकुचित)",
|
||||
"audio_format_opus": "Opus (कुशल)",
|
||||
"audio_format_m4a": "M4A (Apple)",
|
||||
"audio_format_vorbis": "Vorbis (खुला)"
|
||||
},
|
||||
"main_ui": {
|
||||
"url_placeholder": "YouTube वीडियो या प्लेलिस्ट URL दर्ज करें",
|
||||
"merge_subtitles": "उपशीर्षक मर्ज करें",
|
||||
"save_thumbnail": "थंबनेल सेव करें",
|
||||
"save_description": "विवरण सेव करें",
|
||||
"embed_chapters": "चैप्टर एम्बेड करें",
|
||||
"subtitles_selected": "{count} चुना गया",
|
||||
"all_selected": "सभी चुने गए",
|
||||
"select_videos_all": "वीडियो चुनें... (सभी चुने गए)",
|
||||
"please_enter_url": "कृपया पहले URL दर्ज करें",
|
||||
"error_title": "त्रुटि",
|
||||
"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%)... जानकारी निकाली जा रही है",
|
||||
"analyzing_fetching_first_video": "विश्लेषण कर रहा है... पहले वीडियो के लिए प्रारूप प्राप्त कर रहा है",
|
||||
"analyzing_processing_data": "विश्लेषण (60%)... डेटा प्रोसेस हो रहा है",
|
||||
"analyzing_processing_formats_ytdlp": "विश्लेषण (75%)... प्रारूप प्रोसेस हो रहे हैं",
|
||||
"analyzing_loading_thumbnail_ytdlp": "विश्लेषण (85%)... थंबनेल लोड हो रहा है",
|
||||
"analyzing_processing_subtitles_ytdlp": "विश्लेषण (90%)... उपशीर्षक प्रोसेस हो रहे हैं",
|
||||
"select_subtitles": "उपशीर्षक चुनें...",
|
||||
"sponsorblock_categories": "SponsorBlock श्रेणियां...",
|
||||
"invalid_url_or_enter": "अमान्य URL या कृपया URL दर्ज करें।",
|
||||
"zero_selected": "0 चयनित",
|
||||
"analyze_first_tooltip": "कृपया पहले वीडियो का विश्लेषण करें",
|
||||
"audio_mode_disabled": "केवल ऑडियो मोड में उपलब्ध नहीं",
|
||||
"select_subtitles_first": "कृपया पहले उपशीर्षक चुनें",
|
||||
"settings_tooltip": "वर्तमान पथ: {path}\nस्पीड लिमिट: {speed_limit}",
|
||||
"speed_limit_none": "कोई नहीं",
|
||||
"open_folder_error": "फ़ोल्डर नहीं खुल सका: {error}",
|
||||
"time_range_set": "सेक्शन सेट: {section}"
|
||||
},
|
||||
"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": "1 श्रेणी चुनी गई",
|
||||
"count_selected": "{count} चुने गए"
|
||||
},
|
||||
"status": {
|
||||
"ready": "तैयार",
|
||||
"file_exists": "⚠️ फ़ाइल पहले से मौजूद है",
|
||||
"video_file_exists": "⚠️ वीडियो फ़ाइल पहले से मौजूद है",
|
||||
"audio_file_exists": "⚠️ ऑडियो फ़ाइल पहले से मौजूद है",
|
||||
"subtitle_file_exists": "⚠️ उपशीर्षक फ़ाइल पहले से मौजूद है",
|
||||
"cancelling": "डाउनलोड रद्द हो रहा है...",
|
||||
"thumbnail_saved": "✅ थंबनेल सहेजा गया: {filename}",
|
||||
"thumbnail_error": "❌ थंबनेल त्रुटि: {error}",
|
||||
"thumbnail_no_image": "सहेजने के लिए कोई थंबनेल उपलब्ध नहीं"
|
||||
},
|
||||
"errors": {
|
||||
"playlist_no_videos": "त्रुटि: प्लेलिस्ट में कोई वैध वीडियो नहीं है।",
|
||||
"playlist_no_url": "त्रुटि: प्लेलिस्ट के पहले वीडियो के लिए URL प्राप्त नहीं कर सके।",
|
||||
"ytdlp_not_found": "त्रुटि: yt-dlp executable नहीं मिला। कृपया पहले yt-dlp इंस्टॉल करें।",
|
||||
"ytdlp_not_found_path": "त्रुटि: yt-dlp executable नहीं मिला। यह अनुचित इंस्टॉलेशन या 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}",
|
||||
"download_failed_return_code_conflict": "डाउनलोड {return_code} रिटर्न कोड के साथ विफल हुआ। यह कई yt-dlp इंस्टॉलेशन के टकराव के कारण हो सकता है। किसी भी सिस्टम-इंस्टॉल्ड yt-dlp (जैसे snap या apt) को हटाकर ऐप को रीस्टार्ट करें।",
|
||||
"download_failed_return_code": "डाउनलोड {return_code} रिटर्न कोड के साथ विफल हुआ",
|
||||
"direct_command_error": "सीधे कमांड में त्रुटि: {error}"
|
||||
},
|
||||
"update_dialog": {
|
||||
"title": "अपडेट उपलब्ध",
|
||||
"new_version_available": "YTSage का नया संस्करण उपलब्ध है!",
|
||||
"current_version_label": "वर्तमान संस्करण:",
|
||||
"latest_version_label": "नवीनतम संस्करण:",
|
||||
"changelog": "परिवर्तन सूची",
|
||||
"download_update": "अपडेट डाउनलोड करें",
|
||||
"remind_later": "बाद में याद दिलाएं"
|
||||
},
|
||||
"playlist": {
|
||||
"unknown": "अज्ञात प्लेलिस्ट",
|
||||
"total_videos": "कुल वीडियो: {count}",
|
||||
"display_format": "प्लेलिस्ट: {title} | {count} वीडियो",
|
||||
"select_videos_title": "प्लेलिस्ट वीडियो चुनें"
|
||||
},
|
||||
"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": "🔍 अभी अपडेट की जांच करें",
|
||||
"current_version": "वर्तमान yt-dlp संस्करण: {version}"
|
||||
},
|
||||
"url_validation": {
|
||||
"empty_url": "URL खाली नहीं हो सकता",
|
||||
"invalid_format": "अमान्य URL प्रारूप",
|
||||
"invalid_scheme": "URL http:// या https:// से शुरू होना चाहिए",
|
||||
"missing_domain": "अमान्य URL: डोमेन नाम गायब है",
|
||||
"unsupported_platform": "YTSage केवल YouTube और YouTube Music URLs का समर्थन करता है।\nडोमेन '{domain}' समर्थित नहीं है।",
|
||||
"invalid_youtu_be": "अमान्य youtu.be URL: वीडियो ID गायब है"
|
||||
},
|
||||
"ytdlp_errors": {
|
||||
"private_video": "यह एक निजी वीडियो है। आप कुकीज़ का उपयोग करके अपने खाते में लॉग इन करके इसे डाउनलोड कर सकते हैं।\nप्रमाणित करने के लिए 'कस्टम विकल्प' → 'कुकीज़ के साथ लॉगिन' → 'ब्राउज़र से कुकीज़ निकालें' पर जाएं।",
|
||||
"age_restricted": "यह वीडियो आयु-प्रतिबंधित है। इसे एक्सेस करने के लिए आपको लॉग इन करना होगा।\nअपने खाते से प्रमाणित करने के लिए 'कस्टम विकल्प' → 'कुकीज़ के साथ लॉगिन' का उपयोग करें।",
|
||||
"geo_blocked": "यह वीडियो आपके क्षेत्र में उपलब्ध नहीं है (भू-अवरोधित)।\nआपको VPN का उपयोग करने की आवश्यकता हो सकती है या वीडियो आपके देश में प्रतिबंधित हो सकता है।",
|
||||
"video_unavailable": "यह वीडियो हटा दिया गया है या अब उपलब्ध नहीं है।\nवीडियो को अपलोडर द्वारा हटाया जा सकता है या नीति उल्लंघन के कारण हटाया जा सकता है।",
|
||||
"live_stream": "यह एक लाइव स्ट्रीम है जिसे सक्रिय रहते हुए डाउनलोड नहीं किया जा सकता।\nस्ट्रीम समाप्त होने तक प्रतीक्षा करें, फिर संग्रहीत संस्करण डाउनलोड करने का प्रयास करें।",
|
||||
"playlist_error": "इस प्लेलिस्ट तक पहुंचने में असमर्थ। यह निजी, हटाई गई या खाली हो सकती है।\nजांचें कि प्लेलिस्ट मौजूद है और सार्वजनिक रूप से सुलभ है।",
|
||||
"network_error": "नेटवर्क कनेक्शन त्रुटि। कृपया अपना इंटरनेट कनेक्शन जांचें और पुनः प्रयास करें।\nयदि समस्या बनी रहती है, तो वीडियो सर्वर अस्थायी रूप से अनुपलब्ध हो सकता है।",
|
||||
"invalid_url": "अमान्य या असमर्थित URL। कृपया लिंक जांचें और पुनः प्रयास करें।\nसुनिश्चित करें कि आप एक मान्य YouTube, Vimeo, या अन्य समर्थित प्लेटफ़ॉर्म URL का उपयोग कर रहे हैं।",
|
||||
"premium_content": "इस सामग्री के लिए YouTube Premium या चैनल सदस्यता की आवश्यकता है।\nआपको ऐसे खाते से लॉग इन करना होगा जिसके पास इस सामग्री तक पहुंच है।",
|
||||
"copyright_blocked": "कॉपीराइट दावों के कारण यह वीडियो अवरुद्ध है।\nसामग्री स्वामी ने इस वीडियो तक पहुंच प्रतिबंधित कर दी है।",
|
||||
"extraction_failed": "वीडियो जानकारी निकालने में विफल। यह एक अस्थायी समस्या हो सकती है।\nकृपया कुछ मिनट में पुनः प्रयास करें, या जांचें कि वीडियो लिंक सही है या नहीं।",
|
||||
"generic_error": "वीडियो जानकारी निकालने में विफल। कृपया अपना लिंक जांचें।\nतकनीकी विवरण: {error}"
|
||||
},
|
||||
"history": {
|
||||
"title": "डाउनलोड इतिहास",
|
||||
"clear_all": "सभी साफ़ करें",
|
||||
"clear_confirm_title": "इतिहास साफ़ करें?",
|
||||
"clear_confirm_message": "क्या आप निश्चित हैं? इसे पूर्ववत नहीं किया जा सकता।",
|
||||
"no_history": "अभी तक कोई इतिहास नहीं",
|
||||
"no_history_description": "आपके डाउनलोड यहां दिखाई देंगे",
|
||||
"loading": "इतिहास लोड हो रहा है...",
|
||||
"search_placeholder": "खोजें...",
|
||||
"open_location": "स्थान खोलें",
|
||||
"redownload": "फिर से डाउनलोड करें",
|
||||
"remove": "हटाएं",
|
||||
"file_not_found": "फ़ाइल नहीं मिली",
|
||||
"file_not_found_message": "फ़ाइल स्थानांतरित या हटाई गई:\n{path}",
|
||||
"downloaded_on": "डाउनलोड किया: {date}",
|
||||
"file_size": "आकार: {size}",
|
||||
"audio_download": "ऑडियो",
|
||||
"video_download": "वीडियो",
|
||||
"remove_confirm_title": "हटाएं?",
|
||||
"remove_confirm_message": "इतिहास से हटाएं?\n\n{title}",
|
||||
"item_removed": "हटाया गया",
|
||||
"history_cleared": "इतिहास साफ़ किया गया",
|
||||
"entries_count": "{count} डाउनलोड",
|
||||
"one_entry": "1 डाउनलोड",
|
||||
"redownload_confirm_title": "फिर से डाउनलोड करें?",
|
||||
"redownload_confirm_message": "फिर से डाउनलोड करें?\n\n{title}",
|
||||
"redownload_started": "डाउनलोड शुरू हुआ",
|
||||
"no_url_error": "हिस्ट्री एंट्री में कोई URL नहीं मिला",
|
||||
"redownload_failed": "रीडाउनलोड शुरू करने में विफल: {error}"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"installation_title": "FFmpeg इंस्टॉलेशन",
|
||||
"installation_message": "वीडियो प्रोसेस करने के लिए YTSage को FFmpeg चाहिए।\n\nनीचे एक इंस्टॉलेशन विकल्प चुनें:",
|
||||
"install_button": "FFmpeg इंस्टॉल करें",
|
||||
"manual_guide": "मैन्युअल गाइड",
|
||||
"installation_failed": "FFmpeg इंस्टॉलेशन में समस्या आई।",
|
||||
"already_installed": "FFmpeg पहले से इंस्टॉल है!",
|
||||
"installation_complete": "इंस्टॉलेशन पूरा हुआ। आप इस डायलॉग को बंद कर YTSage उपयोग कर सकते हैं।",
|
||||
"installing": "FFmpeg इंस्टॉल हो रहा है... कृपया प्रतीक्षा करें",
|
||||
"install_success": "FFmpeg सफलतापूर्वक इंस्टॉल हो गया!",
|
||||
"installation_complete_close": "इंस्टॉलेशन पूरा हुआ। अब आप इस डायलॉग को बंद कर YTSage उपयोग कर सकते हैं।",
|
||||
"try_manual": "कृपया इसके बजाय मैन्युअल इंस्टॉलेशन गाइड का उपयोग करें।"
|
||||
},
|
||||
"ytdlp_setup": {
|
||||
"required_title": "yt-dlp सेटअप आवश्यक",
|
||||
"description": "वीडियो डाउनलोड करने के लिए YTSage को yt-dlp चाहिए।<br><br>ऐप की लोकल डायरेक्टरी में yt-dlp नहीं मिला। YTSage को आपके {os_name} सिस्टम के लिए yt-dlp सेटअप करना होगा।<br><br>कृपया नीचे एक विकल्प चुनें:",
|
||||
"option_auto": "अपने आप डाउनलोड करें (सिफ़ारिश की गई)",
|
||||
"option_manual": "पाथ मैन्युअली चुनें",
|
||||
"setup_button": "yt-dlp सेटअप",
|
||||
"downloading": "yt-dlp डाउनलोड हो रहा है...",
|
||||
"success": "yt-dlp सफलतापूर्वक इंस्टॉल हो गया!",
|
||||
"error": "त्रुटि: {error}",
|
||||
"download_failed_title": "डाउनलोड विफल",
|
||||
"download_failed_message": "yt-dlp डाउनलोड नहीं हो सका: {error}",
|
||||
"select_executable_title": "yt-dlp executable चुनें",
|
||||
"copied_to": "yt-dlp को {path} पर सफलतापूर्वक कॉपी किया गया",
|
||||
"setup_error_title": "सेटअप त्रुटि",
|
||||
"copy_error": "yt-dlp को ऐप डायरेक्टरी में कॉपी करने में त्रुटि: {error}",
|
||||
"invalid_executable_title": "अमान्य executable",
|
||||
"invalid_executable_message": "चुनी गई फ़ाइल वैध yt-dlp executable नहीं लगती।",
|
||||
"verify_error": "yt-dlp executable सत्यापित करने में त्रुटि: {error}",
|
||||
"setup_failed_title": "सेटअप विफल",
|
||||
"setup_failed_message": "yt-dlp सेटअप विफल रहा। कुछ फीचर सही से काम नहीं कर सकते।",
|
||||
"success_dialog_title": "yt-dlp सेटअप",
|
||||
"success_dialog_message": "yt-dlp सफलतापूर्वक इस स्थान पर कॉन्फ़िगर हुआ है:\n{path}",
|
||||
"file_filter_windows": "Executable फ़ाइलें (*.exe)",
|
||||
"file_filter_all": "सभी फ़ाइलें (*)"
|
||||
},
|
||||
"ffmpeg_updater": {
|
||||
"title": "FFmpeg संस्करण जांचकर्ता",
|
||||
"current_version": "वर्तमान संस्करण:",
|
||||
"latest_version": "नवीनतम संस्करण:",
|
||||
"status_up_to_date": "✓ अप टू डेट",
|
||||
"status_update_available": "⚠ अपडेट उपलब्ध",
|
||||
"status_not_installed": "✗ इंस्टॉल नहीं है",
|
||||
"status_idle": "शुरू करने के लिए 'संस्करण जांचें' पर क्लिक करें",
|
||||
"status_checking": "🔄 संस्करण जांच रहे हैं...",
|
||||
"check_updates": "संस्करण जांचें",
|
||||
"check_failed": "संस्करण जांच विफल रही। कृपया अपना इंटरनेट कनेक्शन जांचें।",
|
||||
"description": "अपने FFmpeg संस्करण की जांच करें और इसे नवीनतम उपलब्ध संस्करण से तुलना करें।",
|
||||
"guide_info": " FFmpeg को इंस्टॉल या अपडेट करने के लिए, <a href='https://github.com/oop7/ffmpeg-install-guide'>हमारी व्यापक इंस्टॉलेशन गाइड देखने के लिए यहां क्लिक करें</a>."
|
||||
},
|
||||
"deno": {
|
||||
"setup_required": "Deno सेटअप आवश्यक",
|
||||
"setup_description": "YTSage को कुछ विशेषताओं को चलाने के लिए Deno की आवश्यकता है।<br><br>Deno एप की स्थानीय निर्देशिका में नहीं मिला। YTSage को आपकी {os_name} प्रणाली के लिए Deno सेटअप करने की आवश्यकता है।<br><br>स्वचालित रूप से डाउनलोड और इंस्टॉल करने के लिए 'Deno सेटअप करें' पर क्लिक करें।",
|
||||
"setup_button": "Deno सेटअप करें",
|
||||
"downloading": "Deno डाउनलोड हो रहा है...",
|
||||
"extracting": "Deno निकाला जा रहा है...",
|
||||
"verifying": "Deno की जांच हो रही है...",
|
||||
"success": "Deno सफलतापूर्वक स्थापित हो गया!",
|
||||
"download_failed": "डाउनलोड विफल",
|
||||
"download_error": "Deno डाउनलोड करने में विफल: {error}",
|
||||
"verification_failed": "SHA256 सत्यापन विफल। डाउनलोड की गई फ़ाइल दूषित या छेड़छाड़ की गई हो सकती है।",
|
||||
"setup_failed": "Deno सेटअप करने में विफल। कुछ विशेषताएं सही ढंग से काम नहीं कर सकती हैं।",
|
||||
"setup_error": "सेटअप त्रुटि"
|
||||
},
|
||||
"deno_updater": {
|
||||
"title": "Deno संस्करण जांचकर्ता और अपडेटर",
|
||||
"description": "अपने Deno संस्करण की जांच करें और नवीनतम संस्करण में अपडेट करें।",
|
||||
"current_version": "वर्तमान संस्करण:",
|
||||
"latest_version": "नवीनतम संस्करण:",
|
||||
"status_idle": "शुरू करने के लिए 'अपडेट की जांच करें' पर क्लिक करें",
|
||||
"status_checking": "🔄 अपडेट की जांच हो रही है...",
|
||||
"status_up_to_date": "✓ अपडेट है",
|
||||
"status_update_available": "⚠ अपडेट उपलब्ध है",
|
||||
"status_not_installed": "✗ स्थापित नहीं है",
|
||||
"check_updates": "अपडेट की जांच करें",
|
||||
"update_now": "Deno अपडेट करें",
|
||||
"updating": "🔄 Deno अपडेट हो रहा है...",
|
||||
"update_success": "✅ Deno सफलतापूर्वक अपडेट हो गया है!",
|
||||
"update_failed": "❌ अपडेट विफल: {error}",
|
||||
"check_failed": "अपडेट की जांच विफल। कृपया अपना इंटरनेट कनेक्शन जांचें।"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,610 @@
|
||||
{
|
||||
"language": {
|
||||
"display_name": "Bahasa Indonesia (Indonesian)",
|
||||
"select_language": "Pilih Bahasa:",
|
||||
"current_language": "Bahasa saat ini: {language}",
|
||||
"restart_required": "Perubahan bahasa akan berlaku setelah memulai ulang aplikasi.",
|
||||
"english": "Bahasa Inggris",
|
||||
"spanish": "Bahasa Spanyol",
|
||||
"portuguese": "Bahasa Portugis",
|
||||
"russian": "Bahasa Rusia",
|
||||
"chinese": "Bahasa Mandarin",
|
||||
"german": "Bahasa Jerman",
|
||||
"french": "Bahasa Prancis",
|
||||
"hindi": "Bahasa Hindi",
|
||||
"indonesian": "Bahasa Indonesia",
|
||||
"turkish": "Bahasa Turki",
|
||||
"polish": "Bahasa Polandia",
|
||||
"italian": "Bahasa Italia",
|
||||
"arabic": "Bahasa Arab",
|
||||
"japanese": "Bahasa Jepang",
|
||||
"help_text": "Pilih bahasa yang diinginkan untuk antarmuka.",
|
||||
"restart_notice": "Perubahan bahasa akan berlaku setelah memulai ulang aplikasi."
|
||||
},
|
||||
"app": {
|
||||
"title": "YTSage",
|
||||
"version": "v{version}",
|
||||
"ready": "Siap"
|
||||
},
|
||||
"formats": {
|
||||
"show_formats": "Tampilkan format:",
|
||||
"video_format": "Format video:",
|
||||
"audio_format": "Format audio:",
|
||||
"no_formats": "Tidak ada format yang tersedia",
|
||||
"loading": "Memuat format...",
|
||||
"select": "Pilih",
|
||||
"quality": "Kualitas",
|
||||
"extension": "Ekstensi",
|
||||
"resolution": "Resolusi",
|
||||
"file_size": "Ukuran file",
|
||||
"codec": "Codec",
|
||||
"audio": "Audio",
|
||||
"fps": "FPS",
|
||||
"hdr": "HDR",
|
||||
"will_merge_audio": "Audio akan digabungkan",
|
||||
"has_audio": "✓ Memiliki audio",
|
||||
"audio_only": "Audio saja",
|
||||
"best_4k": "Terbaik (4K)",
|
||||
"best_2k": "Terbaik (2K)",
|
||||
"high_1080p": "Tinggi (1080p)",
|
||||
"high_720p": "Tinggi (720p)",
|
||||
"medium_480p": "Sedang (480p)",
|
||||
"low_quality": "Kualitas rendah",
|
||||
"best_audio": "Audio terbaik",
|
||||
"high_audio": "Audio tinggi",
|
||||
"medium_audio": "Audio sedang",
|
||||
"low_audio": "Audio rendah",
|
||||
"audio_only_resolution": "Audio saja"
|
||||
},
|
||||
"buttons": {
|
||||
"download": "Unduh",
|
||||
"pause": "Jeda",
|
||||
"resume": "Lanjutkan",
|
||||
"cancel": "Batal",
|
||||
"browse": "Jelajahi",
|
||||
"clear": "Bersihkan",
|
||||
"ok": "OK",
|
||||
"apply": "Terapkan",
|
||||
"close": "Tutup",
|
||||
"run_command": "Jalankan perintah",
|
||||
"custom_command_help": "Bantuan",
|
||||
"about": "Tentang",
|
||||
"analyze": "Analisis",
|
||||
"paste_url": "Tempel URL",
|
||||
"select_videos": "Pilih video...",
|
||||
"video": "Video",
|
||||
"audio_only": "Audio saja",
|
||||
"custom_options": "Opsi khusus",
|
||||
"trim_video": "Potong video",
|
||||
"download_settings": "Pengaturan unduhan",
|
||||
"update": "Perbarui yt-dlp",
|
||||
"select_defaults": "Pilih default",
|
||||
"select_all": "Pilih semua",
|
||||
"deselect_all": "Batalkan pilihan semua",
|
||||
"open_folder": "Buka lokasi folder",
|
||||
"history": "Riwayat"
|
||||
},
|
||||
"dialogs": {
|
||||
"custom_options": "Opsi khusus",
|
||||
"settings": "Pengaturan",
|
||||
"select_folder": "Pilih folder unduhan",
|
||||
"sponsorblock_categories": "Kategori SponsorBlock",
|
||||
"sponsorblock_description": "Pilih jenis segmen video yang akan dihapus secara otomatis selama pengunduhan.\nSponsorBlock menggunakan data yang dikirimkan komunitas untuk mengidentifikasi segmen ini.",
|
||||
"select_subtitles": "Pilih subtitle",
|
||||
"filter_languages_placeholder": "Filter bahasa (misalnya: id, en)...",
|
||||
"no_subtitles_available": "Tidak ada subtitle yang tersedia",
|
||||
"matching": "yang cocok",
|
||||
"ytdlp_log_title": "Log yt-dlp"
|
||||
},
|
||||
"tabs": {
|
||||
"cookies": "Masuk dengan cookies",
|
||||
"custom_command": "Perintah khusus",
|
||||
"proxy": "Proxy",
|
||||
"language": "Bahasa",
|
||||
"updater": "Pembaruan"
|
||||
},
|
||||
"cookies": {
|
||||
"help_text": "Pilih cara memberikan cookies untuk autentikasi.\nIni memungkinkan pengunduhan video pribadi dan file audio berkualitas tinggi.",
|
||||
"cookie_source": "Sumber cookie",
|
||||
"use_cookie_file": "Gunakan file cookie",
|
||||
"extract_from_browser": "Ekstrak dari browser",
|
||||
"recommended": "Direkomendasikan",
|
||||
"cookie_file": "File cookie",
|
||||
"cookie_file_placeholder": "Jalur ke file cookies.txt...",
|
||||
"browser_selection": "Pilihan browser",
|
||||
"browser_help": "Pilih browser untuk mengekstrak cookies:",
|
||||
"browser_label": "Browser:",
|
||||
"profile_label": "Profil:",
|
||||
"profile_placeholder": "Default",
|
||||
"browser_extract_message": "Cookies browser akan diekstrak saat diterapkan",
|
||||
"file_selected_message": "File cookie dipilih - Klik OK untuk menerapkan",
|
||||
"select_file_title": "Pilih file cookie",
|
||||
"file_filter": "File cookie (*.txt *.lwp)",
|
||||
"file_selected_title": "File Cookie Diterapkan",
|
||||
"file_applied_message": "File cookie diterapkan: {path}",
|
||||
"browser_selected_title": "Cookies Browser Diterapkan",
|
||||
"browser_applied_message": "Cookies browser akan diekstrak dari: {browser}",
|
||||
"cleared_title": "Cookies Dihapus",
|
||||
"cleared_message": "Pengaturan cookie telah dihapus",
|
||||
"active_browser": "✓ Aktif: cookie browser ({browser})",
|
||||
"active_file": "✓ Aktif: file cookie ({file})",
|
||||
"none_active": "○ Tidak ada cookie aktif"
|
||||
},
|
||||
"custom_command": {
|
||||
"help_text": "Masukkan perintah yt-dlp khusus Anda di bawah. URL saat ini akan ditambahkan secara otomatis.<br><br>Untuk daftar lengkap opsi dan contoh penggunaan <a href=\"{docs_url}\">klik di sini untuk melihat dokumentasi resmi yt-dlp</a>.<br><br>Catatan: Jalur unduhan dan template nama file ditangani secara otomatis.",
|
||||
"input_label": "Argumen yt-dlp:",
|
||||
"input_placeholder": "Masukkan argumen yt-dlp di sini...\n\nContoh: --extract-audio --audio-format mp3",
|
||||
"output_label": "Output perintah:",
|
||||
"output_placeholder": "Output perintah akan muncul di sini...",
|
||||
"command_placeholder": "Masukkan perintah yt-dlp khusus...",
|
||||
"command_help": "Placeholder yang tersedia:\n{url} - URL video\n{output} - Folder output\n\nContoh: --write-info-json --write-thumbnail",
|
||||
"full_command": "🔧 Perintah lengkap: {command}",
|
||||
"command_success": "✅ Perintah khusus berhasil dijalankan!",
|
||||
"command_failed": "❌ Perintah gagal dengan kode keluar {code}",
|
||||
"command_error": "❌ Kesalahan menjalankan perintah khusus: {error}",
|
||||
"error_no_url": "❌ Error: Tidak ada URL yang diberikan. Masukkan URL di jendela utama.",
|
||||
"error_no_command": "❌ Error: Tidak ada perintah yang diberikan. Masukkan argumen yt-dlp.",
|
||||
"executing": "🚀 Menjalankan perintah yt-dlp kustom",
|
||||
"url_label": "📍 URL: {url}",
|
||||
"args_label": "⚙️ Argumen: {command}",
|
||||
"download_path_label": "📁 Lokasi unduhan: {path}",
|
||||
"separator": "=================================================="
|
||||
},
|
||||
"proxy": {
|
||||
"help_text": "Konfigurasi pengaturan proxy untuk unduhan. Biarkan kosong untuk koneksi langsung.",
|
||||
"main_proxy": "Proxy utama",
|
||||
"main_proxy_help": "Server proxy utama untuk semua unduhan. Mendukung protokol HTTP/HTTPS dan SOCKS5.",
|
||||
"proxy_url_label": "URL Proxy:",
|
||||
"proxy_url_placeholder": "http://proxy:port atau socks5://proxy:port",
|
||||
"proxy_examples": "Contoh:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080",
|
||||
"geo_proxy": "Proxy bypass geografis",
|
||||
"geo_proxy_help": "Proxy sekunder khusus untuk mem-bypass pembatasan geografis.",
|
||||
"geo_proxy_url_label": "URL proxy bypass geografis:",
|
||||
"geo_proxy_url_placeholder": "http://geo-proxy:port",
|
||||
"clear_main_proxy": "Hapus proxy utama",
|
||||
"clear_geo_proxy": "Hapus proxy geografis",
|
||||
"proxy_url": "URL Proxy",
|
||||
"proxy_placeholder": "http://proxy:port atau socks5://proxy:port",
|
||||
"geo_bypass": "Proxy bypass geografis (untuk pembatasan geografis)",
|
||||
"geo_bypass_placeholder": "http://proxy:port untuk mem-bypass geo-blocking",
|
||||
"invalid_main_url": "Format URL proxy utama tidak valid",
|
||||
"invalid_geo_url": "Format URL proxy geografis tidak valid",
|
||||
"main_configured": "Proxy utama dikonfigurasi",
|
||||
"geo_configured": "Proxy geografis dikonfigurasi",
|
||||
"set_title": "Proxy diatur",
|
||||
"set_message": "Proxy utama diatur dan disimpan: {proxy}",
|
||||
"geo_set_title": "Proxy geo diatur",
|
||||
"geo_set_message": "Proxy verifikasi geo diatur dan disimpan: {proxy}",
|
||||
"cleared_title": "Pengaturan proxy dibersihkan",
|
||||
"cleared_message": "Semua pengaturan proxy telah dibersihkan dan disimpan.",
|
||||
"saved_main": "Proxy utama tersimpan: {proxy}",
|
||||
"saved_geo": "Proxy geo tersimpan: {proxy}"
|
||||
},
|
||||
"download": {
|
||||
"preparing": "Mempersiapkan unduhan...",
|
||||
"starting": "🚀 Memulai unduhan...",
|
||||
"fetching_info": "🔍 Mengambil informasi video...",
|
||||
"preparing_streams": "🎯 Mempersiapkan aliran video...",
|
||||
"downloading_audio": "⏬ Mengunduh audio...",
|
||||
"downloading_video": "⏬ Mengunduh video...",
|
||||
"downloading_subtitle": "⏬ Mengunduh subtitle...",
|
||||
"downloading": "⏬ Mengunduh...",
|
||||
"completed": "✅ Unduhan selesai!",
|
||||
"video_completed": "✅ Unduhan video selesai!",
|
||||
"audio_completed": "✅ Unduhan audio selesai!",
|
||||
"subtitle_completed": "✅ Unduhan subtitle selesai!",
|
||||
"completed_cleaning": "✅ Unduhan selesai! Membersihkan...",
|
||||
"cancelled": "Unduhan dibatalkan",
|
||||
"processing_playlist": "📋 Memproses data playlist...",
|
||||
"paused": "Unduhan dijeda",
|
||||
"resumed": "Unduhan dilanjutkan",
|
||||
"merging_formats": "✨ Pasca-pemrosesan: Menggabungkan format...",
|
||||
"removing_sponsor_segments": "✨ Pasca-pemrosesan: Menghapus segmen sponsor...",
|
||||
"speed": "Kecepatan",
|
||||
"eta": "Waktu tersisa",
|
||||
"please_enter_url": "Silakan masukkan URL terlebih dahulu.",
|
||||
"please_set_path": "Silakan atur jalur unduhan terlebih dahulu.",
|
||||
"please_enter_url_and_path": "Silakan masukkan URL dan atur jalur unduhan.",
|
||||
"please_select_format": "Silakan pilih format terlebih dahulu.",
|
||||
"downloading_fallback": "⚡ Mengunduh..."
|
||||
},
|
||||
"update": {
|
||||
"title": "Perbarui yt-dlp",
|
||||
"checking": "Memeriksa pembaruan...",
|
||||
"update_available": "Pembaruan tersedia!\nVersi saat ini: {current}\nVersi terbaru: {latest}",
|
||||
"up_to_date": "yt-dlp sudah terbaru (Versi {version})",
|
||||
"could_not_determine": "Tidak dapat menentukan versi.",
|
||||
"error_comparing": "Kesalahan membandingkan versi: {error}",
|
||||
"update_available_failed": "Pembaruan tersedia! (Perbandingan gagal)\nSaat ini: {current}\nTerbaru: {latest}",
|
||||
"updating": "Memperbarui...",
|
||||
"initializing": "🚀 Menginisialisasi proses pembaruan...",
|
||||
"checking_current": "🔍 Memeriksa instalasi saat ini...",
|
||||
"found_at": "📍 yt-dlp ditemukan di: {path}",
|
||||
"error_getting_path": "❌ Kesalahan mendapatkan jalur yt-dlp: {error}",
|
||||
"updating_binary": "📦 Memperbarui binary yt-dlp yang dikelola aplikasi...",
|
||||
"update_failed": "❌ Pembaruan yt-dlp gagal. Silakan coba lagi atau periksa koneksi internet Anda.",
|
||||
"binary_updated": "✅ Binary berhasil diperbarui!",
|
||||
"update_failed_stderr": "❌ Pembaruan yt-dlp gagal: {error}",
|
||||
"update_timeout": "❌ Timeout pembaruan yt-dlp.",
|
||||
"unexpected_error": "❌ Kesalahan tak terduga selama pembaruan: {error}",
|
||||
"already_up_to_date": "✅ yt-dlp sudah terbaru!",
|
||||
"update_success": "✅ yt-dlp telah berhasil diperbarui!",
|
||||
"already_latest": "yt-dlp sudah terbaru (versi {version})",
|
||||
"network_error": "❌ Kesalahan jaringan selama pembaruan: {error}",
|
||||
"general_error": "❌ Pembaruan gagal: {error}",
|
||||
"update_in_progress_title": "Pembaruan Sedang Berlangsung",
|
||||
"update_in_progress_message": "yt-dlp sedang diperbarui. Mohon tunggu sebentar."
|
||||
},
|
||||
"about": {
|
||||
"title": "Tentang YTSage",
|
||||
"version": "Versi {version}",
|
||||
"description": "Pengunduh YouTube modern dengan antarmuka PySide6 yang bersih.",
|
||||
"author": "Oleh: {author}",
|
||||
"github": "GitHub: {repo}",
|
||||
"system_info": "Informasi sistem",
|
||||
"loading": "🔄 Memuat informasi sistem...",
|
||||
"refresh": "🔄",
|
||||
"refreshing": "🔄 Menyegarkan...",
|
||||
"refresh_failed": "Gagal menyegarkan",
|
||||
"refresh_failed_message": "Tidak dapat menyegarkan informasi versi.",
|
||||
"detected": "✓ Terdeteksi",
|
||||
"missing": "✗ Hilang",
|
||||
"not_available": "Tidak tersedia"
|
||||
},
|
||||
"time_range": {
|
||||
"title": "Potong video",
|
||||
"time_range_group": "Rentang waktu",
|
||||
"start_time": "Waktu mulai (HH:MM:SS)",
|
||||
"end_time": "Waktu selesai (HH:MM:SS)",
|
||||
"start_placeholder": "00:00:00",
|
||||
"end_placeholder": "00:00:00",
|
||||
"start_time_placeholder": "Waktu mulai (HH:MM:SS)",
|
||||
"end_time_placeholder": "Waktu selesai (HH:MM:SS)",
|
||||
"force_keyframes": "Paksa keyframe pada titik potong",
|
||||
"help_text": "Atur waktu mulai dan selesai untuk memotong video.\nBiarkan kosong untuk mengunduh video penuh.",
|
||||
"invalid_format": "Format waktu tidak valid. Gunakan format HH:MM:SS.",
|
||||
"start_after_end": "Waktu mulai tidak boleh setelah waktu selesai."
|
||||
},
|
||||
"settings": {
|
||||
"title": "Pengaturan unduhan",
|
||||
"download_path": "Jalur unduhan",
|
||||
"browse": "Jelajahi...",
|
||||
"speed_limit": "Batas kecepatan",
|
||||
"speed_limit_placeholder": "Tidak ada",
|
||||
"auto_update_ytdlp": "Pembaruan otomatis yt-dlp",
|
||||
"enable_auto_updates": "Aktifkan pembaruan otomatis yt-dlp",
|
||||
"update_frequency": "Frekuensi pembaruan:",
|
||||
"check_startup": "Periksa setiap startup (minimal 1 jam antara pemeriksaan)",
|
||||
"check_daily": "Periksa harian",
|
||||
"check_weekly": "Periksa mingguan",
|
||||
"check_updates_now": "Perbarui yt-dlp",
|
||||
"update_check_title": "Pemeriksaan pembaruan",
|
||||
"could_not_determine_version": "Tidak dapat menentukan versi yt-dlp saat ini.",
|
||||
"update_available_dialog": "Pembaruan tersedia!\n\nSaat ini: {current}\nTerbaru: {latest}\n\nKlik OK untuk melanjutkan pembaruan.",
|
||||
"up_to_date_dialog": "yt-dlp sudah terbaru!\n\nVersi saat ini: {version}",
|
||||
"error_checking_updates": "Kesalahan memeriksa pembaruan: {error}",
|
||||
"settings_saved_title": "Pengaturan disimpan",
|
||||
"settings_saved_message": "Pengaturan pembaruan otomatis berhasil disimpan!",
|
||||
"error_title": "Kesalahan",
|
||||
"failed_save_settings": "Gagal menyimpan pengaturan pembaruan otomatis.",
|
||||
"error_saving_settings": "Kesalahan menyimpan pengaturan pembaruan otomatis: {error}",
|
||||
"ytdlp_channel": "Saluran Rilis yt-dlp",
|
||||
"ytdlp_channel_stable": "Stabil (Rilis yang diuji)",
|
||||
"ytdlp_channel_nightly": "Nightly (Pembaruan harian, direkomendasikan oleh yt-dlp)",
|
||||
"ytdlp_channel_description": "Pilih antara rilis stabil dan nightly. Build nightly diperbarui setiap hari dengan perbaikan dan fitur terbaru. Anda dapat berganti saluran kapan saja.",
|
||||
"ytdlp_switching_channel": "Beralih ke saluran {channel}...",
|
||||
"ytdlp_channel_switched": "✅ Berhasil beralih ke saluran {channel}!",
|
||||
"ytdlp_channel_switch_failed": "❌ Gagal beralih saluran: {error}",
|
||||
"ytdlp_current_channel": "Saluran saat ini: {channel}",
|
||||
"auto_update_title": "Pengaturan pembaruan otomatis",
|
||||
"auto_update_header": "🔄 Pengaturan pembaruan otomatis",
|
||||
"auto_update_description": "Konfigurasi pembaruan otomatis untuk yt-dlp untuk memastikan Anda selalu memiliki fitur dan perbaikan bug terbaru.",
|
||||
"current_status": "Status saat ini",
|
||||
"current_version_label": "Versi yt-dlp saat ini: Memeriksa...",
|
||||
"last_check_label": "Pemeriksaan pembaruan terakhir: Tidak pernah",
|
||||
"next_check_label": "Pemeriksaan berikutnya: Berdasarkan pengaturan",
|
||||
"manual_check_button": "🔍 Periksa pembaruan sekarang",
|
||||
"update_frequency_group": "Frekuensi pembaruan",
|
||||
"save_settings": "Simpan pengaturan",
|
||||
"settings_saved_successfully": "✅ Pengaturan berhasil disimpan!",
|
||||
"error_saving": "❌ Kesalahan menyimpan pengaturan: {error}",
|
||||
"output_format_settings": "Pengaturan Format Output",
|
||||
"force_output_format": "Paksa format output saat menggabungkan",
|
||||
"preferred_format": "Format yang disukai:",
|
||||
"force_format_help": "Jika diaktifkan, video yang digabungkan akan dikonversi ke format pilihan Anda. Nonaktifkan untuk membiarkan yt-dlp memutuskan secara otomatis.",
|
||||
"format_mp4": "MP4 (Paling kompatibel)",
|
||||
"format_webm": "WebM (Modern, terbuka)",
|
||||
"format_mkv": "MKV (Kaya fitur)",
|
||||
"audio_format_settings": "Pengaturan Format Audio",
|
||||
"force_audio_format": "Paksa format audio untuk unduhan khusus audio",
|
||||
"preferred_audio_format": "Format audio pilihan:",
|
||||
"force_audio_format_help": "Saat diaktifkan, unduhan khusus audio akan dikonversi ke format pilihan Anda. Ini hanya berlaku saat mengunduh format audio.",
|
||||
"audio_format_best": "Terbaik (Tanpa konversi)",
|
||||
"audio_format_aac": "AAC (Bagus untuk editing)",
|
||||
"audio_format_mp3": "MP3 (Universal)",
|
||||
"audio_format_flac": "FLAC (Lossless)",
|
||||
"audio_format_wav": "WAV (Tidak terkompresi)",
|
||||
"audio_format_opus": "Opus (Efisien)",
|
||||
"audio_format_m4a": "M4A (Apple)",
|
||||
"audio_format_vorbis": "Vorbis (Terbuka)"
|
||||
},
|
||||
"main_ui": {
|
||||
"url_placeholder": "Masukkan URL video atau playlist YouTube",
|
||||
"merge_subtitles": "Gabungkan subtitle",
|
||||
"save_thumbnail": "Simpan thumbnail",
|
||||
"save_description": "Simpan deskripsi",
|
||||
"embed_chapters": "Sematkan bab",
|
||||
"subtitles_selected": "{count} dipilih",
|
||||
"all_selected": "Semua dipilih",
|
||||
"select_videos_all": "Pilih video... (Semua dipilih)",
|
||||
"please_enter_url": "Silakan masukkan URL terlebih dahulu",
|
||||
"error_title": "Kesalahan",
|
||||
"cookie_file_selected_title": "File cookie dipilih",
|
||||
"cookie_file_selected_message": "File cookie dipilih: {path}",
|
||||
"browser_cookies_selected_title": "Cookies browser dipilih",
|
||||
"browser_cookies_selected_message": "Cookies browser akan diekstrak dari: {browser}",
|
||||
"error_no_format_info": "Kesalahan: Tidak ada informasi format yang tersedia.",
|
||||
"error_extract_info": "Kesalahan: Tidak dapat mengekstrak informasi video dasar. Silakan periksa tautan Anda.",
|
||||
"analyzing_preparing": "Menganalisis (0%)... Mempersiapkan permintaan",
|
||||
"analyzing_extracting_basic": "Menganalisis (15%)... Mengekstrak informasi dasar",
|
||||
"analyzing_extracting_detailed": "Menganalisis (30%)... Mengekstrak informasi detail",
|
||||
"analyzing_processing_video": "Menganalisis (45%)... Memproses data video",
|
||||
"analyzing_processing_formats": "Menganalisis (60%)... Memproses format",
|
||||
"analyzing_loading_thumbnail": "Menganalisis (75%)... Memuat thumbnail",
|
||||
"analyzing_processing_subtitles": "Menganalisis (85%)... Memproses subtitle",
|
||||
"analyzing_updating_table": "Menganalisis (95%)... Memperbarui tabel format",
|
||||
"analysis_complete": "Analisis selesai!",
|
||||
"analyzing_extracting_ytdlp": "Menganalisis (30%)... Mengekstrak informasi",
|
||||
"analyzing_fetching_first_video": "Menganalisis... Mengambil format untuk video pertama",
|
||||
"analyzing_processing_data": "Menganalisis (60%)... Memproses data",
|
||||
"analyzing_processing_formats_ytdlp": "Menganalisis (75%)... Memproses format",
|
||||
"analyzing_loading_thumbnail_ytdlp": "Menganalisis (85%)... Memuat thumbnail",
|
||||
"analyzing_processing_subtitles_ytdlp": "Menganalisis (90%)... Memproses subtitle",
|
||||
"select_subtitles": "Pilih subtitle...",
|
||||
"sponsorblock_categories": "Kategori SponsorBlock...",
|
||||
"invalid_url_or_enter": "URL tidak valid atau silakan masukkan URL.",
|
||||
"zero_selected": "0 dipilih",
|
||||
"analyze_first_tooltip": "Silakan analisis video terlebih dahulu",
|
||||
"audio_mode_disabled": "Tidak tersedia dalam mode audio saja",
|
||||
"select_subtitles_first": "Silakan pilih subtitle terlebih dahulu",
|
||||
"settings_tooltip": "Path saat ini: {path}\nBatas kecepatan: {speed_limit}",
|
||||
"speed_limit_none": "Tidak ada",
|
||||
"open_folder_error": "Tidak dapat membuka folder: {error}",
|
||||
"time_range_set": "Bagian disetel: {section}"
|
||||
},
|
||||
"sponsorblock": {
|
||||
"sponsor": "Sponsor",
|
||||
"sponsor_desc": "Iklan berbayar, rekomendasi berbayar dan iklan langsung",
|
||||
"selfpromo": "Promosi diri tidak berbayar",
|
||||
"selfpromo_desc": "Iklan tidak berbayar untuk konten kreator sendiri",
|
||||
"interaction": "Pengingat interaksi",
|
||||
"interaction_desc": "Pemirsa diminta untuk menyukai, berlangganan atau mengikuti media sosial",
|
||||
"intro": "Intro",
|
||||
"intro_desc": "Intro video yang dapat dilewati",
|
||||
"outro": "Outro/Kartu akhir",
|
||||
"outro_desc": "Kredit atau saat video berakhir",
|
||||
"preview": "Pratinjau/Ringkasan",
|
||||
"preview_desc": "Ringkasan singkat video sebelumnya atau pratinjau konten mendatang",
|
||||
"music_offtopic": "Bagian non-musik",
|
||||
"music_offtopic_desc": "Hanya untuk video musik. Menandai bagian non-musik",
|
||||
"filler": "Tangensial pengisi",
|
||||
"filler_desc": "Adegan tangensial yang ditambahkan hanya sebagai pengisi atau untuk humor"
|
||||
},
|
||||
"video_info": {
|
||||
"channel": "Saluran",
|
||||
"views": "👁 Tayangan",
|
||||
"likes": "👍 Suka",
|
||||
"upload_date": "📅 Tanggal upload",
|
||||
"duration": "⏱ Durasi",
|
||||
"unknown_channel": "Saluran tidak diketahui",
|
||||
"unknown_date": "Tanggal tidak diketahui",
|
||||
"unknown_title": "Judul tidak diketahui"
|
||||
},
|
||||
"command": {
|
||||
"running": "Berjalan...",
|
||||
"run_command": "Jalankan perintah"
|
||||
},
|
||||
"selection": {
|
||||
"none_selected": "0 dipilih",
|
||||
"one_selected": "1 kategori dipilih",
|
||||
"count_selected": "{count} dipilih"
|
||||
},
|
||||
"status": {
|
||||
"ready": "Siap",
|
||||
"file_exists": "⚠️ File sudah ada",
|
||||
"video_file_exists": "⚠️ File video sudah ada",
|
||||
"audio_file_exists": "⚠️ File audio sudah ada",
|
||||
"subtitle_file_exists": "⚠️ File subtitle sudah ada",
|
||||
"cancelling": "Membatalkan unduhan...",
|
||||
"thumbnail_saved": "✅ Thumbnail disimpan: {filename}",
|
||||
"thumbnail_error": "❌ Kesalahan thumbnail: {error}",
|
||||
"thumbnail_no_image": "Tidak ada thumbnail yang tersedia untuk disimpan"
|
||||
},
|
||||
"errors": {
|
||||
"playlist_no_videos": "Kesalahan: Playlist tidak berisi video yang valid.",
|
||||
"playlist_no_url": "Kesalahan: Tidak dapat mendapatkan URL untuk video playlist pertama.",
|
||||
"ytdlp_not_found": "Kesalahan: Executable yt-dlp tidak ditemukan. Silakan instal yt-dlp terlebih dahulu.",
|
||||
"ytdlp_not_found_path": "Kesalahan: Executable yt-dlp tidak ditemukan. Ini bisa karena instalasi yang tidak tepat atau masalah PATH.",
|
||||
"no_data_returned": "Kesalahan: Tidak ada data yang dikembalikan dari yt-dlp",
|
||||
"no_format_info": "Kesalahan: Tidak ada informasi format yang tersedia.",
|
||||
"analysis_timeout": "Kesalahan: Analisis timeout. Silakan coba lagi.",
|
||||
"invalid_speed_limit": "❌ Kesalahan: Nilai batas kecepatan tidak valid yang diatur dalam pengaturan.",
|
||||
"ytdlp_failed": "Kesalahan: yt-dlp gagal: {error}",
|
||||
"parse_failed": "Kesalahan: Gagal mengurai output yt-dlp: {error}",
|
||||
"analysis_failed": "Kesalahan: Analisis gagal: {error}",
|
||||
"generic_error": "Kesalahan: {error}",
|
||||
"download_failed_return_code_conflict": "Unduhan gagal dengan kode pengembalian {return_code}. Ini mungkin karena konflik dengan beberapa instalasi yt-dlp. Coba uninstall yt-dlp yang terpasang di sistem (mis. melalui snap atau apt) lalu mulai ulang aplikasi.",
|
||||
"download_failed_return_code": "Unduhan gagal dengan kode pengembalian {return_code}",
|
||||
"direct_command_error": "Error pada perintah langsung: {error}"
|
||||
},
|
||||
"update_dialog": {
|
||||
"title": "Pembaruan Tersedia",
|
||||
"new_version_available": "Versi baru YTSage tersedia!",
|
||||
"current_version_label": "Versi saat ini:",
|
||||
"latest_version_label": "Versi terbaru:",
|
||||
"changelog": "Catatan perubahan",
|
||||
"download_update": "Unduh Pembaruan",
|
||||
"remind_later": "Ingatkan Nanti"
|
||||
},
|
||||
"playlist": {
|
||||
"unknown": "Playlist Tidak Dikenal",
|
||||
"total_videos": "Total Video: {count}",
|
||||
"display_format": "Playlist: {title} | {count} video",
|
||||
"select_videos_title": "Pilih Video Playlist"
|
||||
},
|
||||
"subtitle_selection": {
|
||||
"count_selected": "{count} dipilih"
|
||||
},
|
||||
"file_exists_dialog": {
|
||||
"title": "File Sudah Ada",
|
||||
"message": "File sudah ada:\n{filename}",
|
||||
"info": "Video ini sudah pernah diunduh."
|
||||
},
|
||||
"auto_update": {
|
||||
"last_check_never": "Pemeriksaan terakhir: Tidak pernah",
|
||||
"last_check": "Pemeriksaan terakhir: {time}",
|
||||
"next_check_disabled": "Pemeriksaan berikutnya: Dinonaktifkan",
|
||||
"next_check_startup": "Pemeriksaan berikutnya: Saat startup",
|
||||
"next_check_overdue": "Pemeriksaan berikutnya: Sekarang (terlambat)",
|
||||
"next_check": "Pemeriksaan berikutnya: {time}",
|
||||
"next_check_error": "Pemeriksaan berikutnya: Kesalahan perhitungan",
|
||||
"checking": "🔄 Memeriksa...",
|
||||
"check_now": "🔍 Periksa pembaruan sekarang",
|
||||
"current_version": "Versi yt-dlp saat ini: {version}"
|
||||
},
|
||||
"url_validation": {
|
||||
"empty_url": "URL tidak boleh kosong",
|
||||
"invalid_format": "Format URL tidak valid",
|
||||
"invalid_scheme": "URL harus dimulai dengan http:// atau https://",
|
||||
"missing_domain": "URL tidak valid: nama domain hilang",
|
||||
"unsupported_platform": "YTSage hanya mendukung URL YouTube dan YouTube Music.\nDomain '{domain}' tidak didukung.",
|
||||
"invalid_youtu_be": "URL youtu.be tidak valid: ID video hilang"
|
||||
},
|
||||
"ytdlp_errors": {
|
||||
"private_video": "Ini adalah video privat. Anda dapat mengunduhnya dengan masuk ke akun Anda menggunakan cookie.\nBuka 'Opsi Kustom' → 'Masuk dengan Cookie' → 'Ekstrak cookie dari browser' untuk autentikasi.",
|
||||
"age_restricted": "Video ini dibatasi usia. Anda perlu masuk untuk mengaksesnya.\nGunakan 'Opsi Kustom' → 'Masuk dengan Cookie' untuk autentikasi dengan akun Anda.",
|
||||
"geo_blocked": "Video ini tidak tersedia di wilayah Anda (diblokir geografis).\nAnda mungkin perlu menggunakan VPN atau video mungkin dibatasi di negara Anda.",
|
||||
"video_unavailable": "Video ini telah dihapus atau tidak lagi tersedia.\nVideo mungkin telah dihapus oleh pengunggah atau dihapus karena pelanggaran kebijakan.",
|
||||
"live_stream": "Ini adalah siaran langsung yang tidak dapat diunduh saat aktif.\nTunggu hingga siaran berakhir, lalu coba unduh versi arsip.",
|
||||
"playlist_error": "Tidak dapat mengakses playlist ini. Mungkin privat, dihapus, atau kosong.\nPeriksa apakah playlist ada dan dapat diakses publik.",
|
||||
"network_error": "Kesalahan koneksi jaringan. Silakan periksa koneksi internet Anda dan coba lagi.\nJika masalah berlanjut, server video mungkin tidak tersedia sementara.",
|
||||
"invalid_url": "URL tidak valid atau tidak didukung. Silakan periksa tautan dan coba lagi.\nPastikan Anda menggunakan URL YouTube, Vimeo, atau platform didukung lainnya yang valid.",
|
||||
"premium_content": "Konten ini memerlukan YouTube Premium atau keanggotaan channel.\nAnda perlu masuk dengan akun yang memiliki akses ke konten ini.",
|
||||
"copyright_blocked": "Video ini diblokir karena klaim hak cipta.\nPemilik konten telah membatasi akses ke video ini.",
|
||||
"extraction_failed": "Gagal mengekstrak informasi video. Ini mungkin masalah sementara.\nSilakan coba lagi dalam beberapa menit, atau periksa apakah tautan video benar.",
|
||||
"generic_error": "Tidak dapat mengekstrak informasi video. Silakan periksa tautan Anda.\nDetail teknis: {error}"
|
||||
},
|
||||
"history": {
|
||||
"title": "Riwayat Unduhan",
|
||||
"clear_all": "Hapus Semua",
|
||||
"clear_confirm_title": "Hapus Riwayat?",
|
||||
"clear_confirm_message": "Apakah Anda yakin? Ini tidak dapat dibatalkan.",
|
||||
"no_history": "Belum ada riwayat",
|
||||
"no_history_description": "Unduhan Anda akan muncul di sini",
|
||||
"loading": "Memuat riwayat...",
|
||||
"search_placeholder": "Cari...",
|
||||
"open_location": "Buka Lokasi",
|
||||
"redownload": "Unduh Lagi",
|
||||
"remove": "Hapus",
|
||||
"file_not_found": "File tidak ditemukan",
|
||||
"file_not_found_message": "File dipindahkan atau dihapus:\n{path}",
|
||||
"downloaded_on": "Diunduh: {date}",
|
||||
"file_size": "Ukuran: {size}",
|
||||
"audio_download": "Audio",
|
||||
"video_download": "Video",
|
||||
"remove_confirm_title": "Hapus?",
|
||||
"remove_confirm_message": "Hapus dari riwayat?\n\n{title}",
|
||||
"item_removed": "Dihapus",
|
||||
"history_cleared": "Riwayat dihapus",
|
||||
"entries_count": "{count} unduhan",
|
||||
"one_entry": "1 unduhan",
|
||||
"redownload_confirm_title": "Unduh Lagi?",
|
||||
"redownload_confirm_message": "Unduh lagi?\n\n{title}",
|
||||
"redownload_started": "Unduhan dimulai",
|
||||
"no_url_error": "Tidak ada URL pada entri riwayat",
|
||||
"redownload_failed": "Gagal memulai unduh ulang: {error}"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"installation_title": "Instalasi FFmpeg",
|
||||
"installation_message": "YTSage membutuhkan FFmpeg untuk memproses video.\n\nPilih opsi instalasi di bawah:",
|
||||
"install_button": "Instal FFmpeg",
|
||||
"manual_guide": "Panduan manual",
|
||||
"installation_failed": "Instalasi FFmpeg mengalami masalah.",
|
||||
"already_installed": "FFmpeg sudah terinstal!",
|
||||
"installation_complete": "Instalasi selesai. Anda dapat menutup dialog ini dan melanjutkan menggunakan YTSage.",
|
||||
"installing": "Menginstal FFmpeg... Harap tunggu",
|
||||
"install_success": "FFmpeg berhasil diinstal!",
|
||||
"installation_complete_close": "Instalasi selesai. Anda sekarang dapat menutup dialog ini dan melanjutkan menggunakan YTSage.",
|
||||
"try_manual": "Silakan coba gunakan panduan instalasi manual sebagai gantinya."
|
||||
},
|
||||
"ytdlp_setup": {
|
||||
"required_title": "Pengaturan yt-dlp diperlukan",
|
||||
"description": "YTSage memerlukan yt-dlp untuk mengunduh video.<br><br>yt-dlp tidak ditemukan di direktori lokal aplikasi. YTSage perlu menyiapkan yt-dlp untuk sistem {os_name} Anda.<br><br>Silakan pilih opsi di bawah:",
|
||||
"option_auto": "Unduh otomatis (disarankan)",
|
||||
"option_manual": "Pilih path secara manual",
|
||||
"setup_button": "Siapkan yt-dlp",
|
||||
"downloading": "Mengunduh yt-dlp...",
|
||||
"success": "yt-dlp berhasil diinstal!",
|
||||
"error": "Error: {error}",
|
||||
"download_failed_title": "Unduhan gagal",
|
||||
"download_failed_message": "Gagal mengunduh yt-dlp: {error}",
|
||||
"select_executable_title": "Pilih executable yt-dlp",
|
||||
"copied_to": "yt-dlp berhasil disalin ke {path}",
|
||||
"setup_error_title": "Kesalahan pengaturan",
|
||||
"copy_error": "Kesalahan menyalin yt-dlp ke direktori aplikasi: {error}",
|
||||
"invalid_executable_title": "Executable tidak valid",
|
||||
"invalid_executable_message": "File yang dipilih tidak tampak sebagai executable yt-dlp yang valid.",
|
||||
"verify_error": "Kesalahan memverifikasi executable yt-dlp: {error}",
|
||||
"setup_failed_title": "Pengaturan gagal",
|
||||
"setup_failed_message": "Gagal menyiapkan yt-dlp. Beberapa fitur mungkin tidak berfungsi dengan benar.",
|
||||
"success_dialog_title": "Pengaturan yt-dlp",
|
||||
"success_dialog_message": "yt-dlp berhasil dikonfigurasi di:\n{path}",
|
||||
"file_filter_windows": "File executable (*.exe)",
|
||||
"file_filter_all": "Semua file (*)"
|
||||
},
|
||||
"ffmpeg_updater": {
|
||||
"title": "Pemeriksa Versi FFmpeg",
|
||||
"current_version": "Versi Saat Ini:",
|
||||
"latest_version": "Versi Terbaru:",
|
||||
"status_up_to_date": "✓ Terbaru",
|
||||
"status_update_available": "⚠ Pembaruan tersedia",
|
||||
"status_not_installed": "✗ Tidak terinstal",
|
||||
"status_idle": "Klik 'Periksa Versi' untuk memulai",
|
||||
"status_checking": "🔄 Memeriksa versi...",
|
||||
"check_updates": "Periksa Versi",
|
||||
"check_failed": "Gagal memeriksa versi. Periksa koneksi internet Anda.",
|
||||
"description": "Periksa versi FFmpeg Anda dan bandingkan dengan versi terbaru yang tersedia.",
|
||||
"guide_info": " Untuk menginstal atau memperbarui FFmpeg, <a href='https://github.com/oop7/ffmpeg-install-guide'>klik di sini untuk melihat panduan instalasi lengkap kami</a>."
|
||||
},
|
||||
"deno": {
|
||||
"setup_required": "Pengaturan Deno Diperlukan",
|
||||
"setup_description": "YTSage memerlukan Deno untuk menjalankan fitur tertentu.<br><br>Deno tidak ditemukan di direktori lokal aplikasi. YTSage perlu mengatur Deno untuk sistem {os_name} Anda.<br><br>Klik 'Atur Deno' untuk mengunduh dan menginstal secara otomatis.",
|
||||
"setup_button": "Atur Deno",
|
||||
"downloading": "Mengunduh Deno...",
|
||||
"extracting": "Mengekstrak Deno...",
|
||||
"verifying": "Memverifikasi Deno...",
|
||||
"success": "Deno berhasil diinstal!",
|
||||
"download_failed": "Unduhan Gagal",
|
||||
"download_error": "Gagal mengunduh Deno: {error}",
|
||||
"verification_failed": "Verifikasi SHA256 gagal. File yang diunduh mungkin rusak atau dimanipulasi.",
|
||||
"setup_failed": "Gagal mengatur Deno. Beberapa fitur mungkin tidak berfungsi dengan benar.",
|
||||
"setup_error": "Kesalahan Pengaturan"
|
||||
},
|
||||
"deno_updater": {
|
||||
"title": "Pemeriksa & Pembaruan Versi Deno",
|
||||
"description": "Periksa versi Deno Anda dan perbarui ke rilis terbaru.",
|
||||
"current_version": "Versi Saat Ini:",
|
||||
"latest_version": "Versi Terbaru:",
|
||||
"status_idle": "Klik 'Periksa Pembaruan' untuk memulai",
|
||||
"status_checking": "🔄 Memeriksa pembaruan...",
|
||||
"status_up_to_date": "✓ Terbaru",
|
||||
"status_update_available": "⚠ Pembaruan tersedia",
|
||||
"status_not_installed": "✗ Tidak terinstal",
|
||||
"check_updates": "Periksa Pembaruan",
|
||||
"update_now": "Perbarui Deno",
|
||||
"updating": "🔄 Memperbarui Deno...",
|
||||
"update_success": "✅ Deno telah berhasil diperbarui!",
|
||||
"update_failed": "❌ Pembaruan gagal: {error}",
|
||||
"check_failed": "Gagal memeriksa pembaruan. Harap periksa koneksi internet Anda."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,610 @@
|
||||
{
|
||||
"language": {
|
||||
"display_name": "Italiano (Italian)",
|
||||
"select_language": "Seleziona lingua:",
|
||||
"current_language": "Lingua attuale: {language}",
|
||||
"restart_required": "Il cambio di lingua avrà effetto dopo il riavvio dell'applicazione.",
|
||||
"english": "Inglese",
|
||||
"spanish": "Spagnolo",
|
||||
"portuguese": "Portoghese",
|
||||
"russian": "Russo",
|
||||
"chinese": "Cinese",
|
||||
"german": "Tedesco",
|
||||
"french": "Francese",
|
||||
"hindi": "Hindi",
|
||||
"indonesian": "Indonesiano",
|
||||
"turkish": "Turco",
|
||||
"polish": "Polacco",
|
||||
"italian": "Italiano",
|
||||
"arabic": "Arabo",
|
||||
"japanese": "Giapponese",
|
||||
"help_text": "Seleziona la lingua preferita per l'interfaccia.",
|
||||
"restart_notice": "Il cambio di lingua avrà effetto dopo il riavvio dell'applicazione."
|
||||
},
|
||||
"app": {
|
||||
"title": "YTSage",
|
||||
"version": "v{version}",
|
||||
"ready": "Pronto"
|
||||
},
|
||||
"formats": {
|
||||
"show_formats": "Mostra formati:",
|
||||
"video_format": "Formato video:",
|
||||
"audio_format": "Formato audio:",
|
||||
"no_formats": "Nessun formato disponibile",
|
||||
"loading": "Caricamento formati...",
|
||||
"select": "Seleziona",
|
||||
"quality": "Qualità",
|
||||
"extension": "Estensione",
|
||||
"resolution": "Risoluzione",
|
||||
"file_size": "Dimensione file",
|
||||
"codec": "Codec",
|
||||
"audio": "Audio",
|
||||
"fps": "FPS",
|
||||
"hdr": "HDR",
|
||||
"will_merge_audio": "L'audio verrà unito",
|
||||
"has_audio": "✓ Contiene audio",
|
||||
"audio_only": "Solo audio",
|
||||
"best_4k": "Migliore (4K)",
|
||||
"best_2k": "Migliore (2K)",
|
||||
"high_1080p": "Alta (1080p)",
|
||||
"high_720p": "Alta (720p)",
|
||||
"medium_480p": "Media (480p)",
|
||||
"low_quality": "Bassa qualità",
|
||||
"best_audio": "Miglior audio",
|
||||
"high_audio": "Audio alto",
|
||||
"medium_audio": "Audio medio",
|
||||
"low_audio": "Audio basso",
|
||||
"audio_only_resolution": "Solo audio"
|
||||
},
|
||||
"buttons": {
|
||||
"download": "Scarica",
|
||||
"pause": "Pausa",
|
||||
"resume": "Riprendi",
|
||||
"cancel": "Annulla",
|
||||
"browse": "Sfoglia",
|
||||
"clear": "Cancella",
|
||||
"ok": "OK",
|
||||
"apply": "Applica",
|
||||
"close": "Chiudi",
|
||||
"run_command": "Esegui comando",
|
||||
"custom_command_help": "Aiuto",
|
||||
"about": "Informazioni",
|
||||
"analyze": "Analizza",
|
||||
"paste_url": "Incolla URL",
|
||||
"select_videos": "Seleziona video...",
|
||||
"video": "Video",
|
||||
"audio_only": "Solo audio",
|
||||
"custom_options": "Opzioni personalizzate",
|
||||
"trim_video": "Taglia video",
|
||||
"download_settings": "Impostazioni download",
|
||||
"update": "Aggiorna yt-dlp",
|
||||
"select_defaults": "Seleziona predefiniti",
|
||||
"select_all": "Seleziona tutto",
|
||||
"deselect_all": "Deseleziona tutto",
|
||||
"open_folder": "Apri posizione cartella",
|
||||
"history": "Cronologia"
|
||||
},
|
||||
"dialogs": {
|
||||
"custom_options": "Opzioni personalizzate",
|
||||
"settings": "Impostazioni",
|
||||
"select_folder": "Seleziona cartella di download",
|
||||
"sponsorblock_categories": "Categorie SponsorBlock",
|
||||
"sponsorblock_description": "Seleziona i tipi di segmenti video da rimuovere automaticamente durante il download.\nSponsorBlock utilizza dati inviati dalla comunità per identificare questi segmenti.",
|
||||
"select_subtitles": "Seleziona sottotitoli",
|
||||
"filter_languages_placeholder": "Filtra lingue (es: it, en)...",
|
||||
"no_subtitles_available": "Nessun sottotitolo disponibile",
|
||||
"matching": "corrispondenti",
|
||||
"ytdlp_log_title": "Registro yt-dlp"
|
||||
},
|
||||
"tabs": {
|
||||
"cookies": "Accedi con i cookie",
|
||||
"custom_command": "Comando personalizzato",
|
||||
"proxy": "Proxy",
|
||||
"language": "Lingua",
|
||||
"updater": "Aggiornamento"
|
||||
},
|
||||
"cookies": {
|
||||
"help_text": "Seleziona un metodo per fornire i cookie per l'autenticazione.\nCiò consente di scaricare video privati e file audio di alta qualità.",
|
||||
"cookie_source": "Fonte cookie",
|
||||
"use_cookie_file": "Usa file cookie",
|
||||
"extract_from_browser": "Estrai dal browser",
|
||||
"recommended": "Consigliato",
|
||||
"cookie_file": "File cookie",
|
||||
"cookie_file_placeholder": "Percorso al file cookies.txt...",
|
||||
"browser_selection": "Selezione browser",
|
||||
"browser_help": "Seleziona il browser da cui estrarre i cookie:",
|
||||
"browser_label": "Browser:",
|
||||
"profile_label": "Profilo:",
|
||||
"profile_placeholder": "Predefinito",
|
||||
"browser_extract_message": "I cookie del browser verranno estratti dopo l'applicazione",
|
||||
"file_selected_message": "File cookie selezionato - Clicca OK per applicare",
|
||||
"select_file_title": "Seleziona file cookie",
|
||||
"file_filter": "File cookie (*.txt *.lwp)",
|
||||
"file_selected_title": "File Cookie Applicato",
|
||||
"file_applied_message": "File cookie applicato: {path}",
|
||||
"browser_selected_title": "Cookie del Browser Applicati",
|
||||
"browser_applied_message": "I cookie del browser verranno estratti da: {browser}",
|
||||
"cleared_title": "Cookie Cancellati",
|
||||
"cleared_message": "Le impostazioni dei cookie sono state cancellate",
|
||||
"active_browser": "✓ Attivi: cookie del browser ({browser})",
|
||||
"active_file": "✓ Attivo: file cookie ({file})",
|
||||
"none_active": "○ Nessun cookie attivo"
|
||||
},
|
||||
"custom_command": {
|
||||
"help_text": "Inserisci un comando yt-dlp personalizzato qui sotto. L'URL corrente verrà aggiunto automaticamente.<br><br>Per l'elenco completo delle opzioni ed esempi di utilizzo <a href=\"{docs_url}\">clicca qui per vedere la documentazione ufficiale yt-dlp</a>.<br><br>Nota: Il percorso di download e il modello del nome file sono gestiti automaticamente.",
|
||||
"input_label": "Argomenti yt-dlp:",
|
||||
"input_placeholder": "Inserisci gli argomenti yt-dlp qui...\n\nEsempio: --extract-audio --audio-format mp3",
|
||||
"output_label": "Output comando:",
|
||||
"output_placeholder": "L'output del comando apparirà qui...",
|
||||
"command_placeholder": "Inserisci comando yt-dlp personalizzato...",
|
||||
"command_help": "Placeholder disponibili:\n{url} - URL del video\n{output} - Cartella di output\n\nEsempio: --write-info-json --write-thumbnail",
|
||||
"full_command": "🔧 Comando completo: {command}",
|
||||
"command_success": "✅ Comando personalizzato eseguito con successo!",
|
||||
"command_failed": "❌ Comando fallito con codice di uscita {code}",
|
||||
"command_error": "❌ Errore nell'esecuzione del comando personalizzato: {error}",
|
||||
"error_no_url": "❌ Errore: nessun URL fornito. Inserisci un URL nella finestra principale.",
|
||||
"error_no_command": "❌ Errore: nessun comando fornito. Inserisci gli argomenti di yt-dlp.",
|
||||
"executing": "🚀 Esecuzione del comando yt-dlp personalizzato",
|
||||
"url_label": "📍 URL: {url}",
|
||||
"args_label": "⚙️ Argomenti: {command}",
|
||||
"download_path_label": "📁 Percorso di download: {path}",
|
||||
"separator": "=================================================="
|
||||
},
|
||||
"proxy": {
|
||||
"help_text": "Configura le impostazioni proxy per i download. Lascia vuoto per connessione diretta.",
|
||||
"main_proxy": "Proxy principale",
|
||||
"main_proxy_help": "Server proxy principale per tutti i download. Supporta protocolli HTTP/HTTPS e SOCKS5.",
|
||||
"proxy_url_label": "URL Proxy:",
|
||||
"proxy_url_placeholder": "http://proxy:porta o socks5://proxy:porta",
|
||||
"proxy_examples": "Esempi:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080",
|
||||
"geo_proxy": "Proxy geo-bypass",
|
||||
"geo_proxy_help": "Proxy aggiuntivo specificamente per aggirare le restrizioni geografiche.",
|
||||
"geo_proxy_url_label": "URL proxy geo-bypass:",
|
||||
"geo_proxy_url_placeholder": "http://geo-proxy:porta",
|
||||
"clear_main_proxy": "Cancella proxy principale",
|
||||
"clear_geo_proxy": "Cancella proxy geo",
|
||||
"proxy_url": "URL Proxy",
|
||||
"proxy_placeholder": "http://proxy:porta o socks5://proxy:porta",
|
||||
"geo_bypass": "Proxy geo-bypass (per restrizioni geografiche)",
|
||||
"geo_bypass_placeholder": "http://proxy:porta per aggirare il geo-blocking",
|
||||
"invalid_main_url": "Formato URL proxy principale non valido",
|
||||
"invalid_geo_url": "Formato URL proxy geo non valido",
|
||||
"main_configured": "Proxy principale configurato",
|
||||
"geo_configured": "Proxy geo configurato",
|
||||
"set_title": "Proxy impostato",
|
||||
"set_message": "Proxy principale impostato e salvato: {proxy}",
|
||||
"geo_set_title": "Proxy geo impostato",
|
||||
"geo_set_message": "Proxy di verifica geo impostato e salvato: {proxy}",
|
||||
"cleared_title": "Impostazioni proxy cancellate",
|
||||
"cleared_message": "Tutte le impostazioni proxy sono state cancellate e salvate.",
|
||||
"saved_main": "Proxy principale salvato: {proxy}",
|
||||
"saved_geo": "Proxy geo salvato: {proxy}"
|
||||
},
|
||||
"download": {
|
||||
"preparing": "Preparazione download...",
|
||||
"starting": "🚀 Avvio download...",
|
||||
"fetching_info": "🔍 Recupero informazioni video...",
|
||||
"preparing_streams": "🎯 Preparazione stream video...",
|
||||
"downloading_audio": "⏬ Download audio...",
|
||||
"downloading_video": "⏬ Download video...",
|
||||
"downloading_subtitle": "⏬ Download sottotitoli...",
|
||||
"downloading": "⏬ Download...",
|
||||
"completed": "✅ Download completato!",
|
||||
"video_completed": "✅ Download video completato!",
|
||||
"audio_completed": "✅ Download audio completato!",
|
||||
"subtitle_completed": "✅ Download sottotitoli completato!",
|
||||
"completed_cleaning": "✅ Download completato! Pulizia in corso...",
|
||||
"cancelled": "Download annullato",
|
||||
"processing_playlist": "📋 Elaborazione dati playlist...",
|
||||
"paused": "Download in pausa",
|
||||
"resumed": "Download ripreso",
|
||||
"merging_formats": "✨ Post-elaborazione: Unione formati...",
|
||||
"removing_sponsor_segments": "✨ Post-elaborazione: Rimozione segmenti sponsorizzati...",
|
||||
"speed": "Velocità",
|
||||
"eta": "Tempo rimanente",
|
||||
"please_enter_url": "Inserisci prima un URL.",
|
||||
"please_set_path": "Imposta prima un percorso di download.",
|
||||
"please_enter_url_and_path": "Inserisci un URL e imposta un percorso di download.",
|
||||
"please_select_format": "Seleziona prima un formato.",
|
||||
"downloading_fallback": "⚡ Download in corso..."
|
||||
},
|
||||
"update": {
|
||||
"title": "Aggiorna yt-dlp",
|
||||
"checking": "Controllo aggiornamenti...",
|
||||
"update_available": "Aggiornamento disponibile!\nVersione corrente: {current}\nUltima versione: {latest}",
|
||||
"up_to_date": "yt-dlp è aggiornato (Versione {version})",
|
||||
"could_not_determine": "Impossibile determinare la versione.",
|
||||
"error_comparing": "Errore nel confronto versioni: {error}",
|
||||
"update_available_failed": "Aggiornamento disponibile! (Confronto fallito)\nCorrente: {current}\nUltima: {latest}",
|
||||
"updating": "Aggiornamento...",
|
||||
"initializing": "🚀 Inizializzazione processo di aggiornamento...",
|
||||
"checking_current": "🔍 Controllo installazione corrente...",
|
||||
"found_at": "📍 yt-dlp trovato in: {path}",
|
||||
"error_getting_path": "❌ Errore nel recupero del percorso yt-dlp: {error}",
|
||||
"updating_binary": "📦 Aggiornamento binario yt-dlp gestito dall'app...",
|
||||
"update_failed": "❌ Aggiornamento yt-dlp fallito. Riprova o controlla la connessione internet.",
|
||||
"binary_updated": "✅ Binario aggiornato con successo!",
|
||||
"update_failed_stderr": "❌ Aggiornamento yt-dlp fallito: {error}",
|
||||
"update_timeout": "❌ Timeout aggiornamento yt-dlp.",
|
||||
"unexpected_error": "❌ Errore inaspettato durante l'aggiornamento: {error}",
|
||||
"already_up_to_date": "✅ yt-dlp è già aggiornato!",
|
||||
"update_success": "✅ yt-dlp è stato aggiornato con successo!",
|
||||
"already_latest": "yt-dlp è aggiornato (versione {version})",
|
||||
"network_error": "❌ Errore di rete durante l'aggiornamento: {error}",
|
||||
"general_error": "❌ Aggiornamento fallito: {error}",
|
||||
"update_in_progress_title": "Aggiornamento in corso",
|
||||
"update_in_progress_message": "yt-dlp si sta aggiornando. Attendere prego."
|
||||
},
|
||||
"about": {
|
||||
"title": "Informazioni su YTSage",
|
||||
"version": "Versione {version}",
|
||||
"description": "Downloader YouTube moderno con interfaccia PySide6 pulita.",
|
||||
"author": "Autore: {author}",
|
||||
"github": "GitHub: {repo}",
|
||||
"system_info": "Informazioni sistema",
|
||||
"loading": "🔄 Caricamento informazioni sistema...",
|
||||
"refresh": "🔄",
|
||||
"refreshing": "🔄 Aggiornamento...",
|
||||
"refresh_failed": "Aggiornamento fallito",
|
||||
"refresh_failed_message": "Impossibile aggiornare le informazioni sulla versione.",
|
||||
"detected": "✓ Rilevato",
|
||||
"missing": "✗ Mancante",
|
||||
"not_available": "Non disponibile"
|
||||
},
|
||||
"time_range": {
|
||||
"title": "Taglia video",
|
||||
"time_range_group": "Intervallo di tempo",
|
||||
"start_time": "Tempo di inizio (HH:MM:SS)",
|
||||
"end_time": "Tempo di fine (HH:MM:SS)",
|
||||
"start_placeholder": "00:00:00",
|
||||
"end_placeholder": "00:00:00",
|
||||
"start_time_placeholder": "Tempo di inizio (HH:MM:SS)",
|
||||
"end_time_placeholder": "Tempo di fine (HH:MM:SS)",
|
||||
"force_keyframes": "Forza keyframe ai punti di taglio",
|
||||
"help_text": "Imposta i tempi di inizio e fine per tagliare il video.\nLascia vuoto per scaricare il video completo.",
|
||||
"invalid_format": "Formato tempo non valido. Usa il formato HH:MM:SS.",
|
||||
"start_after_end": "Il tempo di inizio non può essere dopo il tempo di fine."
|
||||
},
|
||||
"settings": {
|
||||
"title": "Impostazioni download",
|
||||
"download_path": "Percorso download",
|
||||
"browse": "Sfoglia...",
|
||||
"speed_limit": "Limite velocità",
|
||||
"speed_limit_placeholder": "Nessuno",
|
||||
"auto_update_ytdlp": "Aggiornamenti automatici yt-dlp",
|
||||
"enable_auto_updates": "Abilita aggiornamenti automatici yt-dlp",
|
||||
"update_frequency": "Frequenza aggiornamenti:",
|
||||
"check_startup": "Controlla ad ogni avvio (minimo 1 ora tra i controlli)",
|
||||
"check_daily": "Controlla giornalmente",
|
||||
"check_weekly": "Controlla settimanalmente",
|
||||
"check_updates_now": "Aggiorna yt-dlp",
|
||||
"update_check_title": "Controllo aggiornamenti",
|
||||
"could_not_determine_version": "Impossibile determinare la versione corrente di yt-dlp.",
|
||||
"update_available_dialog": "Aggiornamento disponibile!\n\nCorrente: {current}\nUltima: {latest}\n\nClicca su OK per procedere con l'aggiornamento.",
|
||||
"up_to_date_dialog": "yt-dlp è aggiornato!\n\nVersione corrente: {version}",
|
||||
"error_checking_updates": "Errore nel controllo aggiornamenti: {error}",
|
||||
"settings_saved_title": "Impostazioni salvate",
|
||||
"settings_saved_message": "Le impostazioni di aggiornamento automatico sono state salvate con successo!",
|
||||
"error_title": "Errore",
|
||||
"failed_save_settings": "Impossibile salvare le impostazioni di aggiornamento automatico.",
|
||||
"error_saving_settings": "Errore nel salvataggio delle impostazioni di aggiornamento automatico: {error}",
|
||||
"ytdlp_channel": "Canale di rilascio yt-dlp",
|
||||
"ytdlp_channel_stable": "Stabile (Rilasci testati)",
|
||||
"ytdlp_channel_nightly": "Nightly (Aggiornamenti giornalieri, consigliato da yt-dlp)",
|
||||
"ytdlp_channel_description": "Scegli tra rilasci stabili e nightly. Le build nightly vengono aggiornate quotidianamente con le ultime correzioni e funzionalità. Puoi cambiare canale in qualsiasi momento.",
|
||||
"ytdlp_switching_channel": "Passaggio al canale {channel}...",
|
||||
"ytdlp_channel_switched": "✅ Passaggio al canale {channel} riuscito!",
|
||||
"ytdlp_channel_switch_failed": "❌ Impossibile cambiare canale: {error}",
|
||||
"ytdlp_current_channel": "Canale attuale: {channel}",
|
||||
"auto_update_title": "Impostazioni aggiornamenti automatici",
|
||||
"auto_update_header": "🔄 Impostazioni aggiornamenti automatici",
|
||||
"auto_update_description": "Configura gli aggiornamenti automatici per yt-dlp per garantire le ultime funzionalità e correzioni bug.",
|
||||
"current_status": "Stato attuale",
|
||||
"current_version_label": "Versione corrente yt-dlp: Controllo...",
|
||||
"last_check_label": "Ultimo controllo aggiornamenti: Mai",
|
||||
"next_check_label": "Prossimo controllo: Basato sulle impostazioni",
|
||||
"manual_check_button": "🔍 Controlla aggiornamenti ora",
|
||||
"update_frequency_group": "Frequenza aggiornamenti",
|
||||
"save_settings": "Salva impostazioni",
|
||||
"settings_saved_successfully": "✅ Impostazioni salvate con successo!",
|
||||
"error_saving": "❌ Errore nel salvataggio impostazioni: {error}",
|
||||
"output_format_settings": "Impostazioni formato output",
|
||||
"force_output_format": "Forza formato output durante la fusione",
|
||||
"preferred_format": "Formato preferito:",
|
||||
"force_format_help": "Quando attivato, i video uniti verranno convertiti nel formato preferito. Disattiva per lasciare che yt-dlp decida automaticamente.",
|
||||
"format_mp4": "MP4 (Più compatibile)",
|
||||
"format_webm": "WebM (Moderno, aperto)",
|
||||
"format_mkv": "MKV (Ricco di funzionalità)",
|
||||
"audio_format_settings": "Impostazioni formato audio",
|
||||
"force_audio_format": "Forza formato audio per download solo audio",
|
||||
"preferred_audio_format": "Formato audio preferito:",
|
||||
"force_audio_format_help": "Quando abilitato, i download solo audio verranno convertiti nel formato preferito. Questo si applica solo durante il download di formati audio.",
|
||||
"audio_format_best": "Migliore (Nessuna conversione)",
|
||||
"audio_format_aac": "AAC (Buono per l'editing)",
|
||||
"audio_format_mp3": "MP3 (Universale)",
|
||||
"audio_format_flac": "FLAC (Senza perdita)",
|
||||
"audio_format_wav": "WAV (Non compresso)",
|
||||
"audio_format_opus": "Opus (Efficiente)",
|
||||
"audio_format_m4a": "M4A (Apple)",
|
||||
"audio_format_vorbis": "Vorbis (Aperto)"
|
||||
},
|
||||
"main_ui": {
|
||||
"url_placeholder": "Inserisci URL video YouTube o playlist",
|
||||
"merge_subtitles": "Unisci sottotitoli",
|
||||
"save_thumbnail": "Salva miniatura",
|
||||
"save_description": "Salva descrizione",
|
||||
"embed_chapters": "Incorpora capitoli",
|
||||
"subtitles_selected": "{count} selezionati",
|
||||
"all_selected": "Tutti selezionati",
|
||||
"select_videos_all": "Seleziona video... (Tutti selezionati)",
|
||||
"please_enter_url": "Inserisci prima un URL",
|
||||
"error_title": "Errore",
|
||||
"cookie_file_selected_title": "File cookie selezionato",
|
||||
"cookie_file_selected_message": "File cookie selezionato: {path}",
|
||||
"browser_cookies_selected_title": "Cookie browser selezionati",
|
||||
"browser_cookies_selected_message": "I cookie del browser verranno estratti da: {browser}",
|
||||
"error_no_format_info": "Errore: Nessuna informazione formato disponibile.",
|
||||
"error_extract_info": "Errore: Impossibile estrarre informazioni base del video. Controlla il tuo link.",
|
||||
"analyzing_preparing": "Analisi (0%)... Preparazione richiesta",
|
||||
"analyzing_extracting_basic": "Analisi (15%)... Estrazione informazioni base",
|
||||
"analyzing_extracting_detailed": "Analisi (30%)... Estrazione informazioni dettagliate",
|
||||
"analyzing_processing_video": "Analisi (45%)... Elaborazione dati video",
|
||||
"analyzing_processing_formats": "Analisi (60%)... Elaborazione formati",
|
||||
"analyzing_loading_thumbnail": "Analisi (75%)... Caricamento miniatura",
|
||||
"analyzing_processing_subtitles": "Analisi (85%)... Elaborazione sottotitoli",
|
||||
"analyzing_updating_table": "Analisi (95%)... Aggiornamento tabella formati",
|
||||
"analysis_complete": "Analisi completata!",
|
||||
"analyzing_extracting_ytdlp": "Analisi (30%)... Estrazione informazioni",
|
||||
"analyzing_fetching_first_video": "Analisi... Recupero dei formati per il primo video",
|
||||
"analyzing_processing_data": "Analisi (60%)... Elaborazione dati",
|
||||
"analyzing_processing_formats_ytdlp": "Analisi (75%)... Elaborazione formati",
|
||||
"analyzing_loading_thumbnail_ytdlp": "Analisi (85%)... Caricamento miniatura",
|
||||
"analyzing_processing_subtitles_ytdlp": "Analisi (90%)... Elaborazione sottotitoli",
|
||||
"select_subtitles": "Seleziona sottotitoli...",
|
||||
"sponsorblock_categories": "Categorie SponsorBlock...",
|
||||
"invalid_url_or_enter": "URL non valido o inserisci un URL.",
|
||||
"zero_selected": "0 selezionati",
|
||||
"analyze_first_tooltip": "Si prega di analizzare prima il video",
|
||||
"audio_mode_disabled": "Non disponibile in modalità solo audio",
|
||||
"select_subtitles_first": "Si prega di selezionare prima i sottotitoli",
|
||||
"settings_tooltip": "Percorso corrente: {path}\nLimite velocità: {speed_limit}",
|
||||
"speed_limit_none": "Nessuno",
|
||||
"open_folder_error": "Impossibile aprire la cartella: {error}",
|
||||
"time_range_set": "Sezione impostata: {section}"
|
||||
},
|
||||
"sponsorblock": {
|
||||
"sponsor": "Sponsor",
|
||||
"sponsor_desc": "Pubblicità a pagamento, raccomandazioni a pagamento e pubblicità dirette",
|
||||
"selfpromo": "Non remunerata/Autopromozione",
|
||||
"selfpromo_desc": "Promozione non remunerata dei propri contenuti del creatore",
|
||||
"interaction": "Promemoria interazione",
|
||||
"interaction_desc": "Gli spettatori vengono invitati a mettere mi piace, iscriversi o seguire sui social media",
|
||||
"intro": "Intro",
|
||||
"intro_desc": "Introduzione al video che può essere saltata",
|
||||
"outro": "Outro/Schede finali",
|
||||
"outro_desc": "Titoli di coda o quando il video finisce",
|
||||
"preview": "Anteprima/Ricapitolazione",
|
||||
"preview_desc": "Breve ricapitolazione di video precedenti o anteprima di contenuti futuri",
|
||||
"music_offtopic": "Sezione non musicale",
|
||||
"music_offtopic_desc": "Solo per video musicali. Indica sezioni non musicali",
|
||||
"filler": "Riempitivo tangenziale",
|
||||
"filler_desc": "Scene tangenziali aggiunte solo come riempitivo o per umorismo"
|
||||
},
|
||||
"video_info": {
|
||||
"channel": "Canale",
|
||||
"views": "👁 Visualizzazioni",
|
||||
"likes": "👍 Mi piace",
|
||||
"upload_date": "📅 Data di caricamento",
|
||||
"duration": "⏱ Durata",
|
||||
"unknown_channel": "Canale sconosciuto",
|
||||
"unknown_date": "Data sconosciuta",
|
||||
"unknown_title": "Titolo sconosciuto"
|
||||
},
|
||||
"command": {
|
||||
"running": "Esecuzione...",
|
||||
"run_command": "Esegui comando"
|
||||
},
|
||||
"selection": {
|
||||
"none_selected": "0 selezionati",
|
||||
"one_selected": "1 categoria selezionata",
|
||||
"count_selected": "{count} selezionati"
|
||||
},
|
||||
"status": {
|
||||
"ready": "Pronto",
|
||||
"file_exists": "⚠️ File già esistente",
|
||||
"video_file_exists": "⚠️ File video già esistente",
|
||||
"audio_file_exists": "⚠️ File audio già esistente",
|
||||
"subtitle_file_exists": "⚠️ File sottotitoli già esistente",
|
||||
"cancelling": "Annullamento download...",
|
||||
"thumbnail_saved": "✅ Miniatura salvata: {filename}",
|
||||
"thumbnail_error": "❌ Errore miniatura: {error}",
|
||||
"thumbnail_no_image": "Nessuna miniatura disponibile da salvare"
|
||||
},
|
||||
"errors": {
|
||||
"playlist_no_videos": "Errore: La playlist non contiene video validi.",
|
||||
"playlist_no_url": "Errore: Impossibile ottenere l'URL del primo video della playlist.",
|
||||
"ytdlp_not_found": "Errore: Eseguibile yt-dlp non trovato. Installare prima yt-dlp.",
|
||||
"ytdlp_not_found_path": "Errore: Eseguibile yt-dlp non trovato. Ciò potrebbe essere dovuto a un'installazione errata o a un problema di PATH.",
|
||||
"no_data_returned": "Errore: Nessun dato restituito da yt-dlp",
|
||||
"no_format_info": "Errore: Nessuna informazione formato disponibile.",
|
||||
"analysis_timeout": "Errore: Timeout analisi. Riprovare.",
|
||||
"invalid_speed_limit": "❌ Errore: Valore limite velocità non valido impostato nelle impostazioni.",
|
||||
"ytdlp_failed": "Errore: yt-dlp fallito: {error}",
|
||||
"parse_failed": "Errore: Impossibile analizzare l'output di yt-dlp: {error}",
|
||||
"analysis_failed": "Errore: Analisi fallita: {error}",
|
||||
"generic_error": "Errore: {error}",
|
||||
"download_failed_return_code_conflict": "Download non riuscito con codice di uscita {return_code}. Potrebbe essere dovuto a un conflitto tra più installazioni di yt-dlp. Prova a disinstallare eventuali yt-dlp installati a livello di sistema (es. snap o apt) e riavvia l’app.",
|
||||
"download_failed_return_code": "Download non riuscito con codice di uscita {return_code}",
|
||||
"direct_command_error": "Errore nel comando diretto: {error}"
|
||||
},
|
||||
"update_dialog": {
|
||||
"title": "Aggiornamento disponibile",
|
||||
"new_version_available": "È disponibile una nuova versione di YTSage!",
|
||||
"current_version_label": "Versione corrente:",
|
||||
"latest_version_label": "Ultima versione:",
|
||||
"changelog": "Registro modifiche",
|
||||
"download_update": "Scarica aggiornamento",
|
||||
"remind_later": "Ricordamelo dopo"
|
||||
},
|
||||
"playlist": {
|
||||
"unknown": "Playlist sconosciuta",
|
||||
"total_videos": "Video totali: {count}",
|
||||
"display_format": "Playlist: {title} | {count} video",
|
||||
"select_videos_title": "Seleziona Video Playlist"
|
||||
},
|
||||
"subtitle_selection": {
|
||||
"count_selected": "{count} selezionati"
|
||||
},
|
||||
"file_exists_dialog": {
|
||||
"title": "Il file esiste già",
|
||||
"message": "Il file esiste già:\n{filename}",
|
||||
"info": "Questo video è già stato scaricato."
|
||||
},
|
||||
"auto_update": {
|
||||
"last_check_never": "Ultimo controllo aggiornamenti: Mai",
|
||||
"last_check": "Ultimo controllo aggiornamenti: {time}",
|
||||
"next_check_disabled": "Prossimo controllo: Disabilitato",
|
||||
"next_check_startup": "Prossimo controllo: All'avvio",
|
||||
"next_check_overdue": "Prossimo controllo: Ora (in ritardo)",
|
||||
"next_check": "Prossimo controllo: {time}",
|
||||
"next_check_error": "Prossimo controllo: Errore di calcolo",
|
||||
"checking": "🔄 Controllo...",
|
||||
"check_now": "🔍 Controlla aggiornamenti ora",
|
||||
"current_version": "Versione corrente di yt-dlp: {version}"
|
||||
},
|
||||
"url_validation": {
|
||||
"empty_url": "L'URL non può essere vuoto",
|
||||
"invalid_format": "Formato URL non valido",
|
||||
"invalid_scheme": "L'URL deve iniziare con http:// o https://",
|
||||
"missing_domain": "URL non valido: nome di dominio mancante",
|
||||
"unsupported_platform": "YTSage supporta solo URL di YouTube e YouTube Music.\nIl dominio '{domain}' non è supportato.",
|
||||
"invalid_youtu_be": "URL youtu.be non valido: ID video mancante"
|
||||
},
|
||||
"ytdlp_errors": {
|
||||
"private_video": "Questo è un video privato. Puoi scaricarlo accedendo al tuo account utilizzando i cookie.\nVai su 'Opzioni Personalizzate' → 'Accedi con Cookie' → 'Estrai cookie dal browser' per autenticarti.",
|
||||
"age_restricted": "Questo video è soggetto a restrizioni di età. Devi effettuare l'accesso per accedervi.\nUtilizza 'Opzioni Personalizzate' → 'Accedi con Cookie' per autenticarti con il tuo account.",
|
||||
"geo_blocked": "Questo video non è disponibile nella tua regione (geo-bloccato).\nPotresti aver bisogno di utilizzare una VPN o il video potrebbe essere limitato nel tuo paese.",
|
||||
"video_unavailable": "Questo video è stato rimosso o non è più disponibile.\nIl video potrebbe essere stato eliminato dall'uploader o rimosso a causa di violazioni delle politiche.",
|
||||
"live_stream": "Questo è uno stream live che non può essere scaricato mentre è attivo.\nAttendi la fine dello stream, quindi prova a scaricare la versione archiviata.",
|
||||
"playlist_error": "Impossibile accedere a questa playlist. Potrebbe essere privata, eliminata o vuota.\nVerifica se la playlist esiste ed è accessibile pubblicamente.",
|
||||
"network_error": "Errore di connessione di rete. Controlla la tua connessione Internet e riprova.\nSe il problema persiste, il server video potrebbe essere temporaneamente non disponibile.",
|
||||
"invalid_url": "URL non valido o non supportato. Controlla il link e riprova.\nAssicurati di utilizzare un URL YouTube, Vimeo o altra piattaforma supportata valido.",
|
||||
"premium_content": "Questo contenuto richiede YouTube Premium o l'iscrizione al canale.\nDevi accedere con un account che ha accesso a questo contenuto.",
|
||||
"copyright_blocked": "Questo video è bloccato a causa di rivendicazioni di copyright.\nIl proprietario del contenuto ha limitato l'accesso a questo video.",
|
||||
"extraction_failed": "Impossibile estrarre le informazioni del video. Questo potrebbe essere un problema temporaneo.\nRiprova tra qualche minuto o verifica se il link del video è corretto.",
|
||||
"generic_error": "Impossibile estrarre le informazioni del video. Controlla il tuo link.\nDettagli tecnici: {error}"
|
||||
},
|
||||
"history": {
|
||||
"title": "Cronologia Download",
|
||||
"clear_all": "Cancella Tutto",
|
||||
"clear_confirm_title": "Cancellare Cronologia?",
|
||||
"clear_confirm_message": "Sei sicuro? Questa azione non può essere annullata.",
|
||||
"no_history": "Nessuna cronologia ancora",
|
||||
"no_history_description": "I tuoi download appariranno qui",
|
||||
"loading": "Caricamento cronologia...",
|
||||
"search_placeholder": "Cerca...",
|
||||
"open_location": "Apri Posizione",
|
||||
"redownload": "Scarica di Nuovo",
|
||||
"remove": "Rimuovi",
|
||||
"file_not_found": "File non trovato",
|
||||
"file_not_found_message": "Il file è stato spostato o eliminato:\n{path}",
|
||||
"downloaded_on": "Scaricato: {date}",
|
||||
"file_size": "Dimensione: {size}",
|
||||
"audio_download": "Audio",
|
||||
"video_download": "Video",
|
||||
"remove_confirm_title": "Rimuovere?",
|
||||
"remove_confirm_message": "Rimuovere dalla cronologia?\n\n{title}",
|
||||
"item_removed": "Rimosso",
|
||||
"history_cleared": "Cronologia cancellata",
|
||||
"entries_count": "{count} download",
|
||||
"one_entry": "1 download",
|
||||
"redownload_confirm_title": "Scaricare di Nuovo?",
|
||||
"redownload_confirm_message": "Scaricare di nuovo?\n\n{title}",
|
||||
"redownload_started": "Download avviato",
|
||||
"no_url_error": "Nessun URL trovato nella voce della cronologia",
|
||||
"redownload_failed": "Impossibile avviare il download di nuovo: {error}"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"installation_title": "Installazione di FFmpeg",
|
||||
"installation_message": "YTSage richiede FFmpeg per elaborare i video.\n\nScegli un'opzione di installazione qui sotto:",
|
||||
"install_button": "Installa FFmpeg",
|
||||
"manual_guide": "Guida manuale",
|
||||
"installation_failed": "L'installazione di FFmpeg ha riscontrato un problema.",
|
||||
"already_installed": "FFmpeg è già installato!",
|
||||
"installation_complete": "Installazione completata. Puoi chiudere questo dialogo e continuare a usare YTSage.",
|
||||
"installing": "Installazione di FFmpeg... Attendere",
|
||||
"install_success": "FFmpeg è stato installato con successo!",
|
||||
"installation_complete_close": "Installazione completata. Ora puoi chiudere questo dialogo e continuare a usare YTSage.",
|
||||
"try_manual": "Prova invece a usare la guida di installazione manuale."
|
||||
},
|
||||
"ytdlp_setup": {
|
||||
"required_title": "Configurazione di yt-dlp richiesta",
|
||||
"description": "YTSage richiede yt-dlp per scaricare video.<br><br>yt-dlp non è stato trovato nella directory locale dell'app. YTSage deve configurare yt-dlp per il tuo sistema {os_name}.<br><br>Scegli un'opzione qui sotto:",
|
||||
"option_auto": "Scarica automaticamente (consigliato)",
|
||||
"option_manual": "Seleziona il percorso manualmente",
|
||||
"setup_button": "Configura yt-dlp",
|
||||
"downloading": "Download di yt-dlp...",
|
||||
"success": "yt-dlp è stato installato correttamente!",
|
||||
"error": "Errore: {error}",
|
||||
"download_failed_title": "Download non riuscito",
|
||||
"download_failed_message": "Impossibile scaricare yt-dlp: {error}",
|
||||
"select_executable_title": "Seleziona l'eseguibile yt-dlp",
|
||||
"copied_to": "yt-dlp copiato correttamente in {path}",
|
||||
"setup_error_title": "Errore di configurazione",
|
||||
"copy_error": "Errore durante la copia di yt-dlp nella directory dell'app: {error}",
|
||||
"invalid_executable_title": "Eseguibile non valido",
|
||||
"invalid_executable_message": "Il file selezionato non sembra essere un eseguibile yt-dlp valido.",
|
||||
"verify_error": "Errore durante la verifica dell'eseguibile yt-dlp: {error}",
|
||||
"setup_failed_title": "Configurazione non riuscita",
|
||||
"setup_failed_message": "Impossibile configurare yt-dlp. Alcune funzionalità potrebbero non funzionare correttamente.",
|
||||
"success_dialog_title": "Configurazione di yt-dlp",
|
||||
"success_dialog_message": "yt-dlp è stato configurato correttamente in:\n{path}",
|
||||
"file_filter_windows": "File eseguibili (*.exe)",
|
||||
"file_filter_all": "Tutti i file (*)"
|
||||
},
|
||||
"ffmpeg_updater": {
|
||||
"title": "Controllo Versione FFmpeg",
|
||||
"current_version": "Versione corrente:",
|
||||
"latest_version": "Ultima versione:",
|
||||
"status_up_to_date": "✓ Aggiornato",
|
||||
"status_update_available": "⚠ Aggiornamento disponibile",
|
||||
"status_not_installed": "✗ Non installato",
|
||||
"status_idle": "Clicca 'Controlla Versione' per iniziare",
|
||||
"status_checking": "🔄 Verifica versione...",
|
||||
"check_updates": "Controlla Versione",
|
||||
"check_failed": "Verifica versione non riuscita. Controlla la connessione Internet.",
|
||||
"description": "Controlla la tua versione di FFmpeg e confrontala con l'ultima versione disponibile.",
|
||||
"guide_info": " Per installare o aggiornare FFmpeg, <a href='https://github.com/oop7/ffmpeg-install-guide'>clicca qui per visualizzare la nostra guida completa all'installazione</a>."
|
||||
},
|
||||
"deno": {
|
||||
"setup_required": "Configurazione Deno richiesta",
|
||||
"setup_description": "YTSage richiede Deno per eseguire alcune funzionalità.<br><br>Deno non è stato trovato nella directory locale dell'app. YTSage deve configurare Deno per il tuo sistema {os_name}.<br><br>Fai clic su 'Configura Deno' per scaricare e installare automaticamente.",
|
||||
"setup_button": "Configura Deno",
|
||||
"downloading": "Download di Deno in corso...",
|
||||
"extracting": "Estrazione di Deno in corso...",
|
||||
"verifying": "Verifica di Deno in corso...",
|
||||
"success": "Deno è stato installato con successo!",
|
||||
"download_failed": "Download fallito",
|
||||
"download_error": "Impossibile scaricare Deno: {error}",
|
||||
"verification_failed": "Verifica SHA256 fallita. Il file scaricato potrebbe essere danneggiato o manomesso.",
|
||||
"setup_failed": "Impossibile configurare Deno. Alcune funzionalità potrebbero non funzionare correttamente.",
|
||||
"setup_error": "Errore di configurazione"
|
||||
},
|
||||
"deno_updater": {
|
||||
"title": "Verificatore e Aggiornatore Versione Deno",
|
||||
"description": "Controlla la tua versione di Deno e aggiorna all'ultima versione.",
|
||||
"current_version": "Versione Corrente:",
|
||||
"latest_version": "Ultima Versione:",
|
||||
"status_idle": "Fai clic su 'Controlla Aggiornamenti' per iniziare",
|
||||
"status_checking": "🔄 Controllo aggiornamenti...",
|
||||
"status_up_to_date": "✓ Aggiornato",
|
||||
"status_update_available": "⚠ Aggiornamento disponibile",
|
||||
"status_not_installed": "✗ Non installato",
|
||||
"check_updates": "Controlla Aggiornamenti",
|
||||
"update_now": "Aggiorna Deno",
|
||||
"updating": "🔄 Aggiornamento di Deno...",
|
||||
"update_success": "✅ Deno è stato aggiornato con successo!",
|
||||
"update_failed": "❌ Aggiornamento fallito: {error}",
|
||||
"check_failed": "Impossibile controllare gli aggiornamenti. Controlla la tua connessione Internet."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,610 @@
|
||||
{
|
||||
"language": {
|
||||
"display_name": "日本語 (Japanese)",
|
||||
"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": "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": "OK",
|
||||
"apply": "適用",
|
||||
"close": "閉じる",
|
||||
"run_command": "コマンド実行",
|
||||
"custom_command_help": "ヘルプ",
|
||||
"about": "バージョン情報",
|
||||
"analyze": "解析",
|
||||
"paste_url": "URLを貼り付け",
|
||||
"select_videos": "動画を選択...",
|
||||
"video": "動画",
|
||||
"audio_only": "音声のみ",
|
||||
"custom_options": "カスタムオプション",
|
||||
"trim_video": "動画をトリミング",
|
||||
"download_settings": "ダウンロード設定",
|
||||
"update": "yt-dlpを更新",
|
||||
"select_defaults": "デフォルトを選択",
|
||||
"select_all": "すべて選択",
|
||||
"deselect_all": "すべて解除",
|
||||
"open_folder": "フォルダの場所を開く",
|
||||
"history": "履歴"
|
||||
},
|
||||
"dialogs": {
|
||||
"custom_options": "カスタムオプション",
|
||||
"settings": "設定",
|
||||
"select_folder": "ダウンロードフォルダを選択",
|
||||
"sponsorblock_categories": "SponsorBlockカテゴリ",
|
||||
"sponsorblock_description": "ダウンロード時に自動的に削除する動画セグメントの種類を選択してください。\nSponsorBlockはコミュニティ提供のデータを使用してこれらのセグメントを識別します。",
|
||||
"select_subtitles": "字幕を選択",
|
||||
"filter_languages_placeholder": "言語でフィルタ (例: ja, en)...",
|
||||
"no_subtitles_available": "利用可能な字幕がありません",
|
||||
"matching": "一致",
|
||||
"ytdlp_log_title": "yt-dlpログ"
|
||||
},
|
||||
"tabs": {
|
||||
"cookies": "Cookieでログイン",
|
||||
"custom_command": "カスタムコマンド",
|
||||
"proxy": "プロキシ",
|
||||
"language": "言語",
|
||||
"updater": "アップデーター"
|
||||
},
|
||||
"cookies": {
|
||||
"help_text": "認証用のCookieを提供する方法を選択してください。\nこれにより、プライベート動画や高品質の音声ファイルをダウンロードできます。",
|
||||
"cookie_source": "Cookieソース",
|
||||
"use_cookie_file": "Cookieファイルを使用",
|
||||
"extract_from_browser": "ブラウザから抽出",
|
||||
"recommended": "推奨",
|
||||
"cookie_file": "Cookieファイル",
|
||||
"cookie_file_placeholder": "cookies.txtへのパス...",
|
||||
"browser_selection": "ブラウザ選択",
|
||||
"browser_help": "Cookieを抽出するブラウザを選択してください:",
|
||||
"browser_label": "ブラウザ:",
|
||||
"profile_label": "プロファイル:",
|
||||
"profile_placeholder": "デフォルト",
|
||||
"browser_extract_message": "ブラウザのCookieは適用後に抽出されます",
|
||||
"file_selected_message": "Cookieファイルが選択されました - OKをクリックして適用",
|
||||
"select_file_title": "Cookieファイルを選択",
|
||||
"file_filter": "Cookieファイル (*.txt *.lwp)",
|
||||
"file_selected_title": "Cookieファイルが適用されました",
|
||||
"file_applied_message": "Cookieファイルが適用されました: {path}",
|
||||
"browser_selected_title": "ブラウザCookieが適用されました",
|
||||
"browser_applied_message": "ブラウザCookieが抽出されます: {browser}",
|
||||
"cleared_title": "Cookieがクリアされました",
|
||||
"cleared_message": "Cookie設定がクリアされました",
|
||||
"active_browser": "✓ 有効: ブラウザーのCookie ({browser})",
|
||||
"active_file": "✓ 有効: Cookieファイル ({file})",
|
||||
"none_active": "○ 有効なCookieはありません"
|
||||
},
|
||||
"custom_command": {
|
||||
"help_text": "以下にカスタムyt-dlpコマンドを入力してください。現在のURLは自動的に追加されます。<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} - 動画URL\n{output} - 出力フォルダ\n\n例: --write-info-json --write-thumbnail",
|
||||
"full_command": "🔧 完全なコマンド: {command}",
|
||||
"command_success": "✅ カスタムコマンドが正常に実行されました!",
|
||||
"command_failed": "❌ コマンドが終了コード{code}で失敗しました",
|
||||
"command_error": "❌ カスタムコマンドの実行エラー: {error}",
|
||||
"error_no_url": "❌ エラー: URL が指定されていません。メインウィンドウで URL を入力してください。",
|
||||
"error_no_command": "❌ エラー: コマンドが指定されていません。yt-dlp の引数を入力してください。",
|
||||
"executing": "🚀 カスタム yt-dlp コマンドを実行中",
|
||||
"url_label": "📍 URL: {url}",
|
||||
"args_label": "⚙️ 引数: {command}",
|
||||
"download_path_label": "📁 ダウンロード先: {path}",
|
||||
"separator": "=================================================="
|
||||
},
|
||||
"proxy": {
|
||||
"help_text": "ダウンロード用のプロキシ設定を構成します。直接接続の場合は空白のままにしてください。",
|
||||
"main_proxy": "メインプロキシ",
|
||||
"main_proxy_help": "すべてのダウンロード用のメインプロキシサーバー。HTTP/HTTPSおよびSOCKS5プロトコルをサポートします。",
|
||||
"proxy_url_label": "プロキシURL:",
|
||||
"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": "地域制限回避プロキシURL:",
|
||||
"geo_proxy_url_placeholder": "http://geo-proxy:port",
|
||||
"clear_main_proxy": "メインプロキシをクリア",
|
||||
"clear_geo_proxy": "地域プロキシをクリア",
|
||||
"proxy_url": "プロキシURL",
|
||||
"proxy_placeholder": "http://proxy:port または socks5://proxy:port",
|
||||
"geo_bypass": "地域制限回避プロキシ (地域制限用)",
|
||||
"geo_bypass_placeholder": "http://proxy:port 地域ブロック回避用",
|
||||
"invalid_main_url": "メインプロキシのURL形式が無効です",
|
||||
"invalid_geo_url": "地域プロキシのURL形式が無効です",
|
||||
"main_configured": "メインプロキシが設定されました",
|
||||
"geo_configured": "地域プロキシが設定されました",
|
||||
"set_title": "プロキシを設定しました",
|
||||
"set_message": "メインプロキシを設定して保存しました: {proxy}",
|
||||
"geo_set_title": "ジオプロキシを設定しました",
|
||||
"geo_set_message": "ジオ検証プロキシを設定して保存しました: {proxy}",
|
||||
"cleared_title": "プロキシ設定をクリアしました",
|
||||
"cleared_message": "すべてのプロキシ設定をクリアして保存しました。",
|
||||
"saved_main": "保存されたメインプロキシ: {proxy}",
|
||||
"saved_geo": "保存されたジオプロキシ: {proxy}"
|
||||
},
|
||||
"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": "最初にURLを入力してください。",
|
||||
"please_set_path": "最初にダウンロードパスを設定してください。",
|
||||
"please_enter_url_and_path": "URLを入力し、ダウンロードパスを設定してください。",
|
||||
"please_select_format": "最初にフォーマットを選択してください。",
|
||||
"downloading_fallback": "⚡ ダウンロード中..."
|
||||
},
|
||||
"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バイナリを更新中...",
|
||||
"update_failed": "❌ yt-dlpの更新に失敗しました。もう一度試すか、インターネット接続を確認してください。",
|
||||
"binary_updated": "✅ バイナリが正常に更新されました!",
|
||||
"update_failed_stderr": "❌ yt-dlpの更新に失敗しました: {error}",
|
||||
"update_timeout": "❌ yt-dlp更新がタイムアウトしました。",
|
||||
"unexpected_error": "❌ 更新中に予期しないエラーが発生しました: {error}",
|
||||
"already_up_to_date": "✅ yt-dlpはすでに最新です!",
|
||||
"update_success": "✅ yt-dlpが正常に更新されました!",
|
||||
"already_latest": "yt-dlpは最新です(バージョン {version})",
|
||||
"network_error": "❌ 更新中にネットワークエラーが発生しました: {error}",
|
||||
"general_error": "❌ 更新に失敗しました: {error}",
|
||||
"update_in_progress_title": "更新中",
|
||||
"update_in_progress_message": "yt-dlpを更新中です。少々お待ちください。"
|
||||
},
|
||||
"about": {
|
||||
"title": "YTSageについて",
|
||||
"version": "バージョン {version}",
|
||||
"description": "クリーンなPySide6インターフェースを備えたモダンなYouTubeダウンローダー。",
|
||||
"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": "起動時に毎回確認 (チェック間隔は最低1時間)",
|
||||
"check_daily": "毎日確認",
|
||||
"check_weekly": "毎週確認",
|
||||
"check_updates_now": "yt-dlpを更新",
|
||||
"update_check_title": "更新確認",
|
||||
"could_not_determine_version": "yt-dlpの現在のバージョンを確認できませんでした。",
|
||||
"update_available_dialog": "アップデートが利用可能です!\n\n現在: {current}\n最新: {latest}\n\nOKをクリックして更新を続行します。",
|
||||
"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}",
|
||||
"ytdlp_channel": "yt-dlp リリースチャンネル",
|
||||
"ytdlp_channel_stable": "安定版(テスト済みリリース)",
|
||||
"ytdlp_channel_nightly": "Nightly(毎日更新、yt-dlp推奨)",
|
||||
"ytdlp_channel_description": "安定版とNightlyリリースのどちらかを選択してください。Nightlyビルドは最新の修正と機能で毎日更新されます。いつでもチャンネルを切り替えることができます。",
|
||||
"ytdlp_switching_channel": "{channel}チャンネルに切り替え中...",
|
||||
"ytdlp_channel_switched": "✅ {channel}チャンネルへの切り替えに成功しました!",
|
||||
"ytdlp_channel_switch_failed": "❌ チャンネルの切り替えに失敗しました: {error}",
|
||||
"ytdlp_current_channel": "現在のチャンネル: {channel}",
|
||||
"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}",
|
||||
"output_format_settings": "出力形式設定",
|
||||
"force_output_format": "マージ時に出力形式を強制",
|
||||
"preferred_format": "優先形式:",
|
||||
"force_format_help": "有効にすると、マージされた動画は優先形式に変換されます。無効にすると、yt-dlpが自動的に決定します。",
|
||||
"format_mp4": "MP4(最も互換性が高い)",
|
||||
"format_webm": "WebM(モダン、オープン)",
|
||||
"format_mkv": "MKV(機能豊富)",
|
||||
"audio_format_settings": "オーディオ形式設定",
|
||||
"force_audio_format": "オーディオのみのダウンロードにオーディオ形式を強制",
|
||||
"preferred_audio_format": "優先オーディオ形式:",
|
||||
"force_audio_format_help": "有効にすると、オーディオのみのダウンロードが優先形式に変換されます。これはオーディオ形式をダウンロードする場合にのみ適用されます。",
|
||||
"audio_format_best": "最高(変換なし)",
|
||||
"audio_format_aac": "AAC(編集に適している)",
|
||||
"audio_format_mp3": "MP3(汎用)",
|
||||
"audio_format_flac": "FLAC(ロスレス)",
|
||||
"audio_format_wav": "WAV(非圧縮)",
|
||||
"audio_format_opus": "Opus(効率的)",
|
||||
"audio_format_m4a": "M4A(Apple)",
|
||||
"audio_format_vorbis": "Vorbis(オープン)"
|
||||
},
|
||||
"main_ui": {
|
||||
"url_placeholder": "YouTubeの動画URLまたはプレイリストURLを入力",
|
||||
"merge_subtitles": "字幕を結合",
|
||||
"save_thumbnail": "サムネイルを保存",
|
||||
"save_description": "説明を保存",
|
||||
"embed_chapters": "チャプターを埋め込む",
|
||||
"subtitles_selected": "{count}個選択",
|
||||
"all_selected": "すべて選択済み",
|
||||
"select_videos_all": "動画を選択... (すべて選択済み)",
|
||||
"please_enter_url": "最初にURLを入力してください",
|
||||
"error_title": "エラー",
|
||||
"cookie_file_selected_title": "Cookieファイルが選択されました",
|
||||
"cookie_file_selected_message": "選択されたCookieファイル: {path}",
|
||||
"browser_cookies_selected_title": "ブラウザCookieが選択されました",
|
||||
"browser_cookies_selected_message": "ブラウザCookieが抽出されます: {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%)... 情報を抽出中",
|
||||
"analyzing_fetching_first_video": "解析中... 最初のビデオの形式を取得しています",
|
||||
"analyzing_processing_data": "解析中 (60%)... データを処理中",
|
||||
"analyzing_processing_formats_ytdlp": "解析中 (75%)... フォーマットを処理中",
|
||||
"analyzing_loading_thumbnail_ytdlp": "解析中 (85%)... サムネイルを読み込み中",
|
||||
"analyzing_processing_subtitles_ytdlp": "解析中 (90%)... 字幕を処理中",
|
||||
"select_subtitles": "字幕を選択...",
|
||||
"sponsorblock_categories": "SponsorBlockカテゴリ...",
|
||||
"invalid_url_or_enter": "無効なURLまたはURLを入力してください。",
|
||||
"zero_selected": "0個選択",
|
||||
"analyze_first_tooltip": "最初に動画を分析してください",
|
||||
"audio_mode_disabled": "音声のみモードでは利用できません",
|
||||
"select_subtitles_first": "最初に字幕を選択してください",
|
||||
"settings_tooltip": "現在のパス: {path}\n速度制限: {speed_limit}",
|
||||
"speed_limit_none": "なし",
|
||||
"open_folder_error": "フォルダーを開けませんでした: {error}",
|
||||
"time_range_set": "セクション設定: {section}"
|
||||
},
|
||||
"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": "1カテゴリ選択",
|
||||
"count_selected": "{count}個選択"
|
||||
},
|
||||
"status": {
|
||||
"ready": "準備完了",
|
||||
"file_exists": "⚠️ ファイルがすでに存在します",
|
||||
"video_file_exists": "⚠️ 動画ファイルがすでに存在します",
|
||||
"audio_file_exists": "⚠️ 音声ファイルがすでに存在します",
|
||||
"subtitle_file_exists": "⚠️ 字幕ファイルがすでに存在します",
|
||||
"cancelling": "ダウンロードをキャンセル中...",
|
||||
"thumbnail_saved": "✅ サムネイルを保存しました: {filename}",
|
||||
"thumbnail_error": "❌ サムネイルエラー: {error}",
|
||||
"thumbnail_no_image": "保存できるサムネイルがありません"
|
||||
},
|
||||
"errors": {
|
||||
"playlist_no_videos": "エラー: 再生リストに有効な動画が含まれていません。",
|
||||
"playlist_no_url": "エラー: 再生リストの最初の動画の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}",
|
||||
"download_failed_return_code_conflict": "ダウンロードは戻りコード {return_code} で失敗しました。複数の yt-dlp インストールの競合が原因の可能性があります。システムにインストールされた yt-dlp(例: snap や apt)をアンインストールしてアプリを再起動してください。",
|
||||
"download_failed_return_code": "ダウンロードは戻りコード {return_code} で失敗しました",
|
||||
"direct_command_error": "直接コマンドのエラー: {error}"
|
||||
},
|
||||
"update_dialog": {
|
||||
"title": "アップデートが利用可能です",
|
||||
"new_version_available": "YTSageの新しいバージョンが利用可能です!",
|
||||
"current_version_label": "現在のバージョン:",
|
||||
"latest_version_label": "最新バージョン:",
|
||||
"changelog": "変更履歴",
|
||||
"download_update": "更新をダウンロード",
|
||||
"remind_later": "後で通知"
|
||||
},
|
||||
"playlist": {
|
||||
"unknown": "不明な再生リスト",
|
||||
"total_videos": "総動画数: {count}",
|
||||
"display_format": "再生リスト: {title} | {count}個の動画",
|
||||
"select_videos_title": "プレイリスト動画を選択"
|
||||
},
|
||||
"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": "🔍 今すぐ更新を確認",
|
||||
"current_version": "現在のyt-dlpバージョン: {version}"
|
||||
},
|
||||
"url_validation": {
|
||||
"empty_url": "URLを空にすることはできません",
|
||||
"invalid_format": "無効なURL形式",
|
||||
"invalid_scheme": "URLはhttp://またはhttps://で始まる必要があります",
|
||||
"missing_domain": "無効なURL:ドメイン名がありません",
|
||||
"unsupported_platform": "YTSageはYouTubeとYouTube MusicのURLのみをサポートしています。\nドメイン'{domain}'はサポートされていません。",
|
||||
"invalid_youtu_be": "無効なyoutu.be URL:ビデオIDがありません"
|
||||
},
|
||||
"ytdlp_errors": {
|
||||
"private_video": "これは非公開動画です。Cookieを使用してアカウントにログインすることでダウンロードできます。\n認証するには、「カスタムオプション」→「Cookieでログイン」→「ブラウザからCookieを抽出」に移動してください。",
|
||||
"age_restricted": "この動画は年齢制限があります。アクセスするにはログインする必要があります。\nアカウントで認証するには、「カスタムオプション」→「Cookieでログイン」を使用してください。",
|
||||
"geo_blocked": "この動画はお住まいの地域では利用できません(地理的にブロックされています)。\nVPNを使用する必要がある場合や、お住まいの国で動画が制限されている可能性があります。",
|
||||
"video_unavailable": "この動画は削除されたか、利用できなくなりました。\n動画はアップローダーによって削除されたか、ポリシー違反のために削除された可能性があります。",
|
||||
"live_stream": "これはアクティブな間はダウンロードできないライブストリームです。\nストリームが終了するまで待ってから、アーカイブされたバージョンのダウンロードを試してください。",
|
||||
"playlist_error": "このプレイリストにアクセスできません。非公開、削除、または空の可能性があります。\nプレイリストが存在し、公開されているか確認してください。",
|
||||
"network_error": "ネットワーク接続エラー。インターネット接続を確認して、もう一度お試しください。\n問題が解決しない場合は、ビデオサーバーが一時的に利用できない可能性があります。",
|
||||
"invalid_url": "無効またはサポートされていないURL。リンクを確認して、もう一度お試しください。\n有効なYouTube、Vimeo、またはその他のサポートされているプラットフォームのURLを使用していることを確認してください。",
|
||||
"premium_content": "このコンテンツにはYouTube Premiumまたはチャンネルメンバーシップが必要です。\nこのコンテンツにアクセスできるアカウントでログインする必要があります。",
|
||||
"copyright_blocked": "著作権の申し立てにより、この動画はブロックされています。\nコンテンツ所有者がこの動画へのアクセスを制限しています。",
|
||||
"extraction_failed": "動画情報の抽出に失敗しました。これは一時的な問題である可能性があります。\n数分後にもう一度お試しいただくか、動画リンクが正しいか確認してください。",
|
||||
"generic_error": "動画情報を抽出できませんでした。リンクを確認してください。\n技術的詳細:{error}"
|
||||
},
|
||||
"history": {
|
||||
"title": "ダウンロード履歴",
|
||||
"clear_all": "すべてクリア",
|
||||
"clear_confirm_title": "履歴をクリア?",
|
||||
"clear_confirm_message": "本当によろしいですか?この操作は取り消せません。",
|
||||
"no_history": "まだ履歴がありません",
|
||||
"no_history_description": "ダウンロードがここに表示されます",
|
||||
"loading": "履歴を読み込み中...",
|
||||
"search_placeholder": "検索...",
|
||||
"open_location": "場所を開く",
|
||||
"redownload": "再ダウンロード",
|
||||
"remove": "削除",
|
||||
"file_not_found": "ファイルが見つかりません",
|
||||
"file_not_found_message": "ファイルが移動または削除されました:\n{path}",
|
||||
"downloaded_on": "ダウンロード日:{date}",
|
||||
"file_size": "サイズ:{size}",
|
||||
"audio_download": "オーディオ",
|
||||
"video_download": "ビデオ",
|
||||
"remove_confirm_title": "削除?",
|
||||
"remove_confirm_message": "履歴から削除しますか?\n\n{title}",
|
||||
"item_removed": "削除しました",
|
||||
"history_cleared": "履歴をクリアしました",
|
||||
"entries_count": "{count} 件",
|
||||
"one_entry": "1 件",
|
||||
"redownload_confirm_title": "再ダウンロード?",
|
||||
"redownload_confirm_message": "再ダウンロードしますか?\n\n{title}",
|
||||
"redownload_started": "ダウンロード開始",
|
||||
"no_url_error": "履歴エントリにURLがありません",
|
||||
"redownload_failed": "再ダウンロードの開始に失敗しました: {error}"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"installation_title": "FFmpegのインストール",
|
||||
"installation_message": "YTSageは動画処理にFFmpegが必要です。\n\n以下のインストールオプションを選択してください:",
|
||||
"install_button": "FFmpegをインストール",
|
||||
"manual_guide": "手動ガイド",
|
||||
"installation_failed": "FFmpegのインストール中に問題が発生しました。",
|
||||
"already_installed": "FFmpegはすでにインストールされています!",
|
||||
"installation_complete": "インストール完了。このダイアログを閉じてYTSageを続けて使用できます。",
|
||||
"installing": "FFmpegをインストール中... お待ちください",
|
||||
"install_success": "FFmpegが正常にインストールされました!",
|
||||
"installation_complete_close": "インストール完了。今すぐこのダイアログを閉じてYTSageを続けて使用できます。",
|
||||
"try_manual": "代わりに手動インストールガイドをお試しください。"
|
||||
},
|
||||
"ytdlp_setup": {
|
||||
"required_title": "yt-dlpのセットアップが必要です",
|
||||
"description": "YTSageは動画のダウンロードにyt-dlpが必要です。<br><br>アプリのローカルディレクトリにyt-dlpが見つかりませんでした。{os_name}システム用にyt-dlpをセットアップする必要があります。<br><br>以下のオプションを選択してください:",
|
||||
"option_auto": "自動でダウンロード(推奨)",
|
||||
"option_manual": "パスを手動で選択",
|
||||
"setup_button": "yt-dlpをセットアップ",
|
||||
"downloading": "yt-dlpをダウンロード中...",
|
||||
"success": "yt-dlpが正常にインストールされました!",
|
||||
"error": "エラー: {error}",
|
||||
"download_failed_title": "ダウンロード失敗",
|
||||
"download_failed_message": "yt-dlpのダウンロードに失敗しました: {error}",
|
||||
"select_executable_title": "yt-dlp実行ファイルを選択",
|
||||
"copied_to": "yt-dlpを{path}にコピーしました",
|
||||
"setup_error_title": "セットアップエラー",
|
||||
"copy_error": "yt-dlpをアプリディレクトリにコピーできません: {error}",
|
||||
"invalid_executable_title": "無効な実行ファイル",
|
||||
"invalid_executable_message": "選択されたファイルは有効なyt-dlp実行ファイルではありません。",
|
||||
"verify_error": "yt-dlp実行ファイルの検証に失敗しました: {error}",
|
||||
"setup_failed_title": "セットアップ失敗",
|
||||
"setup_failed_message": "yt-dlpのセットアップに失敗しました。いくつかの機能が正しく動作しない可能性があります。",
|
||||
"success_dialog_title": "yt-dlpセットアップ",
|
||||
"success_dialog_message": "yt-dlpの設定に成功しました:\n{path}",
|
||||
"file_filter_windows": "実行ファイル (*.exe)",
|
||||
"file_filter_all": "すべてのファイル (*)"
|
||||
},
|
||||
"ffmpeg_updater": {
|
||||
"title": "FFmpegバージョンチェッカー",
|
||||
"current_version": "現在のバージョン:",
|
||||
"latest_version": "最新バージョン:",
|
||||
"status_up_to_date": "✓ 最新",
|
||||
"status_update_available": "⚠ 更新可能",
|
||||
"status_not_installed": "✗ 未インストール",
|
||||
"status_idle": "開始するには「バージョンを確認」をクリック",
|
||||
"status_checking": "🔄 バージョンを確認中...",
|
||||
"check_updates": "バージョンを確認",
|
||||
"check_failed": "バージョンの確認に失敗しました。インターネット接続を確認してください。",
|
||||
"description": "FFmpegのバージョンを確認し、利用可能な最新バージョンと比較します。",
|
||||
"guide_info": " FFmpegをインストールまたは更新するには、<a href='https://github.com/oop7/ffmpeg-install-guide'>こちらをクリックして包括的なインストールガイドをご覧ください</a>。"
|
||||
},
|
||||
"deno": {
|
||||
"setup_required": "Denoのセットアップが必要です",
|
||||
"setup_description": "YTSageは特定の機能を実行するためにDenoが必要です。<br><br>アプリのローカルディレクトリにDenoが見つかりませんでした。YTSageはお使いの{os_name}システム用にDenoをセットアップする必要があります。<br><br>「Denoをセットアップ」をクリックして、自動的にダウンロードとインストールを行います。",
|
||||
"setup_button": "Denoをセットアップ",
|
||||
"downloading": "Denoをダウンロード中...",
|
||||
"extracting": "Denoを展開中...",
|
||||
"verifying": "Denoを検証中...",
|
||||
"success": "Denoが正常にインストールされました!",
|
||||
"download_failed": "ダウンロード失敗",
|
||||
"download_error": "Denoのダウンロードに失敗しました:{error}",
|
||||
"verification_failed": "SHA256検証に失敗しました。ダウンロードされたファイルが破損しているか、改ざんされている可能性があります。",
|
||||
"setup_failed": "Denoのセットアップに失敗しました。一部の機能が正しく動作しない可能性があります。",
|
||||
"setup_error": "セットアップエラー"
|
||||
},
|
||||
"deno_updater": {
|
||||
"title": "Denoバージョンチェッカーとアップデーター",
|
||||
"description": "Denoのバージョンを確認し、最新バージョンに更新します。",
|
||||
"current_version": "現在のバージョン:",
|
||||
"latest_version": "最新バージョン:",
|
||||
"status_idle": "開始するには「更新を確認」をクリックしてください",
|
||||
"status_checking": "🔄 更新を確認中...",
|
||||
"status_up_to_date": "✓ 最新",
|
||||
"status_update_available": "⚠ 更新が利用可能",
|
||||
"status_not_installed": "✗ インストールされていません",
|
||||
"check_updates": "更新を確認",
|
||||
"update_now": "Denoを更新",
|
||||
"updating": "🔄 Denoを更新中...",
|
||||
"update_success": "✅ Denoが正常に更新されました!",
|
||||
"update_failed": "❌ 更新が失敗しました:{error}",
|
||||
"check_failed": "更新の確認に失敗しました。インターネット接続を確認してください。"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,610 @@
|
||||
{
|
||||
"language": {
|
||||
"display_name": "Polski (Polish)",
|
||||
"select_language": "Wybierz język:",
|
||||
"current_language": "Aktualny język: {language}",
|
||||
"restart_required": "Zmiana języka zostanie zastosowana po ponownym uruchomieniu aplikacji.",
|
||||
"english": "Angielski",
|
||||
"spanish": "Hiszpański",
|
||||
"portuguese": "Portugalski",
|
||||
"russian": "Rosyjski",
|
||||
"chinese": "Chiński",
|
||||
"german": "Niemiecki",
|
||||
"french": "Francuski",
|
||||
"hindi": "Hindi",
|
||||
"indonesian": "Indonezyjski",
|
||||
"turkish": "Turecki",
|
||||
"polish": "Polski",
|
||||
"italian": "Włoski",
|
||||
"arabic": "Arabski",
|
||||
"japanese": "Japoński",
|
||||
"help_text": "Wybierz preferowany język interfejsu.",
|
||||
"restart_notice": "Zmiana języka zostanie zastosowana po ponownym uruchomieniu aplikacji."
|
||||
},
|
||||
"app": {
|
||||
"title": "YTSage",
|
||||
"version": "v{version}",
|
||||
"ready": "Gotowy"
|
||||
},
|
||||
"formats": {
|
||||
"show_formats": "Pokaż formaty:",
|
||||
"video_format": "Format wideo:",
|
||||
"audio_format": "Format dźwięku:",
|
||||
"no_formats": "Brak dostępnych formatów",
|
||||
"loading": "Ładowanie formatów...",
|
||||
"select": "Wybierz",
|
||||
"quality": "Jakość",
|
||||
"extension": "Rozszerzenie",
|
||||
"resolution": "Rozdzielczość",
|
||||
"file_size": "Rozmiar pliku",
|
||||
"codec": "Kodek",
|
||||
"audio": "Dźwięk",
|
||||
"fps": "KL/S",
|
||||
"hdr": "HDR",
|
||||
"will_merge_audio": "Dźwięk zostanie połączony",
|
||||
"has_audio": "✓ Zawiera dźwięk",
|
||||
"audio_only": "Tylko dźwięk",
|
||||
"best_4k": "Najlepsza (4K)",
|
||||
"best_2k": "Najlepsza (2K)",
|
||||
"high_1080p": "Wysoka (1080p)",
|
||||
"high_720p": "Wysoka (720p)",
|
||||
"medium_480p": "Średnia (480p)",
|
||||
"low_quality": "Niska jakość",
|
||||
"best_audio": "Najlepszy dźwięk",
|
||||
"high_audio": "Wysoki dźwięk",
|
||||
"medium_audio": "Średni dźwięk",
|
||||
"low_audio": "Niski dźwięk",
|
||||
"audio_only_resolution": "Tylko dźwięk"
|
||||
},
|
||||
"buttons": {
|
||||
"download": "Pobierz",
|
||||
"pause": "Wstrzymaj",
|
||||
"resume": "Wznów",
|
||||
"cancel": "Anuluj",
|
||||
"browse": "Przeglądaj",
|
||||
"clear": "Wyczyść",
|
||||
"ok": "OK",
|
||||
"apply": "Zastosuj",
|
||||
"close": "Zamknij",
|
||||
"run_command": "Uruchom polecenie",
|
||||
"custom_command_help": "Pomoc",
|
||||
"about": "O programie",
|
||||
"analyze": "Analizuj",
|
||||
"paste_url": "Wklej URL",
|
||||
"select_videos": "Wybierz wideo...",
|
||||
"video": "Wideo",
|
||||
"audio_only": "Tylko dźwięk",
|
||||
"custom_options": "Opcje niestandardowe",
|
||||
"trim_video": "Przytnij wideo",
|
||||
"download_settings": "Ustawienia pobierania",
|
||||
"update": "Zaktualizuj yt-dlp",
|
||||
"select_defaults": "Wybierz domyślne",
|
||||
"select_all": "Zaznacz wszystko",
|
||||
"deselect_all": "Odznacz wszystko",
|
||||
"open_folder": "Otwórz lokalizację folderu",
|
||||
"history": "Historia"
|
||||
},
|
||||
"dialogs": {
|
||||
"custom_options": "Opcje niestandardowe",
|
||||
"settings": "Ustawienia",
|
||||
"select_folder": "Wybierz folder pobierania",
|
||||
"sponsorblock_categories": "Kategorie SponsorBlock",
|
||||
"sponsorblock_description": "Wybierz typy segmentów wideo do automatycznego usunięcia podczas pobierania.\nSponsorBlock używa danych przesyłanych przez społeczność do identyfikacji tych segmentów.",
|
||||
"select_subtitles": "Wybierz napisy",
|
||||
"filter_languages_placeholder": "Filtruj języki (np: pl, en)...",
|
||||
"no_subtitles_available": "Brak dostępnych napisów",
|
||||
"matching": "dopasowujące",
|
||||
"ytdlp_log_title": "Log yt-dlp"
|
||||
},
|
||||
"tabs": {
|
||||
"cookies": "Zaloguj za pomocą ciasteczek",
|
||||
"custom_command": "Polecenie niestandardowe",
|
||||
"proxy": "Proxy",
|
||||
"language": "Język",
|
||||
"updater": "Aktualizator"
|
||||
},
|
||||
"cookies": {
|
||||
"help_text": "Wybierz sposób dostarczania ciasteczek do uwierzytelniania.\nUmożliwia to pobieranie prywatnych filmów i wysokiej jakości plików audio.",
|
||||
"cookie_source": "Źródło ciasteczek",
|
||||
"use_cookie_file": "Użyj pliku ciasteczek",
|
||||
"extract_from_browser": "Wyodrębnij z przeglądarki",
|
||||
"recommended": "Zalecane",
|
||||
"cookie_file": "Plik ciasteczek",
|
||||
"cookie_file_placeholder": "Ścieżka do pliku cookies.txt...",
|
||||
"browser_selection": "Wybór przeglądarki",
|
||||
"browser_help": "Wybierz przeglądarkę do wyodrębnienia ciasteczek:",
|
||||
"browser_label": "Przeglądarka:",
|
||||
"profile_label": "Profil:",
|
||||
"profile_placeholder": "Domyślny",
|
||||
"browser_extract_message": "Ciasteczka przeglądarki zostaną wyodrębnione po zastosowaniu",
|
||||
"file_selected_message": "Wybrano plik ciasteczek - Kliknij OK, aby zastosować",
|
||||
"select_file_title": "Wybierz plik ciasteczek",
|
||||
"file_filter": "Pliki ciasteczek (*.txt *.lwp)",
|
||||
"file_selected_title": "Zastosowano plik ciasteczek",
|
||||
"file_applied_message": "Zastosowano plik ciasteczek: {path}",
|
||||
"browser_selected_title": "Zastosowano ciasteczka przeglądarki",
|
||||
"browser_applied_message": "Ciasteczka przeglądarki zostaną wyodrębnione z: {browser}",
|
||||
"cleared_title": "Wyczyszczono ciasteczka",
|
||||
"cleared_message": "Ustawienia ciasteczek zostały wyczyszczone",
|
||||
"active_browser": "✓ Aktywne: ciasteczka przeglądarki ({browser})",
|
||||
"active_file": "✓ Aktywny: plik ciasteczek ({file})",
|
||||
"none_active": "○ Brak aktywnych ciasteczek"
|
||||
},
|
||||
"custom_command": {
|
||||
"help_text": "Wprowadź niestandardowe polecenie yt-dlp poniżej. Aktualny URL zostanie automatycznie dodany.<br><br>Aby uzyskać pełną listę opcji i przykładów użycia <a href=\"{docs_url}\">kliknij tutaj, aby zobaczyć oficjalną dokumentację yt-dlp</a>.<br><br>Uwaga: Ścieżka pobierania i szablon nazwy pliku są obsługiwane automatycznie.",
|
||||
"input_label": "Argumenty yt-dlp:",
|
||||
"input_placeholder": "Wprowadź argumenty yt-dlp tutaj...\n\nPrzykład: --extract-audio --audio-format mp3",
|
||||
"output_label": "Wynik polecenia:",
|
||||
"output_placeholder": "Wynik polecenia pojawi się tutaj...",
|
||||
"command_placeholder": "Wprowadź niestandardowe polecenie yt-dlp...",
|
||||
"command_help": "Dostępne placeholdery:\n{url} - URL wideo\n{output} - Folder wyjściowy\n\nPrzykład: --write-info-json --write-thumbnail",
|
||||
"full_command": "🔧 Pełne polecenie: {command}",
|
||||
"command_success": "✅ Polecenie niestandardowe wykonane pomyślnie!",
|
||||
"command_failed": "❌ Polecenie nie powiodło się z kodem wyjścia {code}",
|
||||
"command_error": "❌ Błąd wykonywania polecenia niestandardowego: {error}",
|
||||
"error_no_url": "❌ Błąd: nie podano URL. Wprowadź URL w głównym oknie.",
|
||||
"error_no_command": "❌ Błąd: nie podano polecenia. Wprowadź argumenty yt-dlp.",
|
||||
"executing": "🚀 Uruchamianie niestandardowego polecenia yt-dlp",
|
||||
"url_label": "📍 URL: {url}",
|
||||
"args_label": "⚙️ Argumenty: {command}",
|
||||
"download_path_label": "📁 Ścieżka pobierania: {path}",
|
||||
"separator": "=================================================="
|
||||
},
|
||||
"proxy": {
|
||||
"help_text": "Skonfiguruj ustawienia proxy dla pobierania. Pozostaw puste dla bezpośredniego połączenia.",
|
||||
"main_proxy": "Główny proxy",
|
||||
"main_proxy_help": "Główny serwer proxy dla wszystkich pobierań. Obsługuje protokoły HTTP/HTTPS i SOCKS5.",
|
||||
"proxy_url_label": "URL Proxy:",
|
||||
"proxy_url_placeholder": "http://proxy:port lub socks5://proxy:port",
|
||||
"proxy_examples": "Przykłady:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080",
|
||||
"geo_proxy": "Proxy omijania geograficznego",
|
||||
"geo_proxy_help": "Dodatkowy proxy specjalnie do omijania ograniczeń geograficznych.",
|
||||
"geo_proxy_url_label": "URL proxy omijania geograficznego:",
|
||||
"geo_proxy_url_placeholder": "http://geo-proxy:port",
|
||||
"clear_main_proxy": "Wyczyść główny proxy",
|
||||
"clear_geo_proxy": "Wyczyść proxy geograficzny",
|
||||
"proxy_url": "URL Proxy",
|
||||
"proxy_placeholder": "http://proxy:port lub socks5://proxy:port",
|
||||
"geo_bypass": "Proxy omijania geograficznego (dla ograniczeń geograficznych)",
|
||||
"geo_bypass_placeholder": "http://proxy:port do omijania geo-blokowania",
|
||||
"invalid_main_url": "Nieprawidłowy format URL głównego proxy",
|
||||
"invalid_geo_url": "Nieprawidłowy format URL proxy geograficznego",
|
||||
"main_configured": "Główny proxy skonfigurowany",
|
||||
"geo_configured": "Proxy geograficzny skonfigurowany",
|
||||
"set_title": "Ustawiono proxy",
|
||||
"set_message": "Główne proxy ustawione i zapisane: {proxy}",
|
||||
"geo_set_title": "Ustawiono proxy geo",
|
||||
"geo_set_message": "Proxy weryfikacji geo ustawione i zapisane: {proxy}",
|
||||
"cleared_title": "Wyczyszczono ustawienia proxy",
|
||||
"cleared_message": "Wszystkie ustawienia proxy zostały wyczyszczone i zapisane.",
|
||||
"saved_main": "Zapisany główny proxy: {proxy}",
|
||||
"saved_geo": "Zapisany proxy geo: {proxy}"
|
||||
},
|
||||
"download": {
|
||||
"preparing": "Przygotowywanie pobierania...",
|
||||
"starting": "🚀 Rozpoczynanie pobierania...",
|
||||
"fetching_info": "🔍 Pobieranie informacji o wideo...",
|
||||
"preparing_streams": "🎯 Przygotowywanie strumieni wideo...",
|
||||
"downloading_audio": "⏬ Pobieranie dźwięku...",
|
||||
"downloading_video": "⏬ Pobieranie wideo...",
|
||||
"downloading_subtitle": "⏬ Pobieranie napisów...",
|
||||
"downloading": "⏬ Pobieranie...",
|
||||
"completed": "✅ Pobieranie zakończone!",
|
||||
"video_completed": "✅ Pobieranie wideo zakończone!",
|
||||
"audio_completed": "✅ Pobieranie dźwięku zakończone!",
|
||||
"subtitle_completed": "✅ Pobieranie napisów zakończone!",
|
||||
"completed_cleaning": "✅ Pobieranie zakończone! Czyszczenie...",
|
||||
"cancelled": "Pobieranie anulowane",
|
||||
"processing_playlist": "📋 Przetwarzanie danych playlisty...",
|
||||
"paused": "Pobieranie wstrzymane",
|
||||
"resumed": "Pobieranie wznowione",
|
||||
"merging_formats": "✨ Przetwarzanie końcowe: Łączenie formatów...",
|
||||
"removing_sponsor_segments": "✨ Przetwarzanie końcowe: Usuwanie segmentów sponsorowanych...",
|
||||
"speed": "Prędkość",
|
||||
"eta": "Pozostały czas",
|
||||
"please_enter_url": "Proszę najpierw wprowadzić URL.",
|
||||
"please_set_path": "Proszę najpierw ustawić ścieżkę pobierania.",
|
||||
"please_enter_url_and_path": "Proszę wprowadzić URL i ustawić ścieżkę pobierania.",
|
||||
"please_select_format": "Proszę najpierw wybrać format.",
|
||||
"downloading_fallback": "⚡ Pobieranie..."
|
||||
},
|
||||
"update": {
|
||||
"title": "Zaktualizuj yt-dlp",
|
||||
"checking": "Sprawdzanie aktualizacji...",
|
||||
"update_available": "Dostępna aktualizacja!\nAktualna wersja: {current}\nNajnowsza wersja: {latest}",
|
||||
"up_to_date": "yt-dlp jest aktualny (Wersja {version})",
|
||||
"could_not_determine": "Nie można określić wersji.",
|
||||
"error_comparing": "Błąd porównywania wersji: {error}",
|
||||
"update_available_failed": "Dostępna aktualizacja! (Porównanie nie powiodło się)\nAktualna: {current}\nNajnowsza: {latest}",
|
||||
"updating": "Aktualizowanie...",
|
||||
"initializing": "🚀 Inicjalizacja procesu aktualizacji...",
|
||||
"checking_current": "🔍 Sprawdzanie aktualnej instalacji...",
|
||||
"found_at": "📍 yt-dlp znaleziony w: {path}",
|
||||
"error_getting_path": "❌ Błąd pobierania ścieżki yt-dlp: {error}",
|
||||
"updating_binary": "📦 Aktualizowanie binarki yt-dlp zarządzanej przez aplikację...",
|
||||
"update_failed": "❌ Aktualizacja yt-dlp nie powiodła się. Spróbuj ponownie lub sprawdź połączenie internetowe.",
|
||||
"binary_updated": "✅ Binarka została pomyślnie zaktualizowana!",
|
||||
"update_failed_stderr": "❌ Aktualizacja yt-dlp nie powiodła się: {error}",
|
||||
"update_timeout": "❌ Limit czasu aktualizacji yt-dlp.",
|
||||
"unexpected_error": "❌ Nieoczekiwany błąd podczas aktualizacji: {error}",
|
||||
"already_up_to_date": "✅ yt-dlp jest już aktualny!",
|
||||
"update_success": "✅ yt-dlp został pomyślnie zaktualizowany!",
|
||||
"already_latest": "yt-dlp jest aktualny (wersja {version})",
|
||||
"network_error": "❌ Błąd sieci podczas aktualizacji: {error}",
|
||||
"general_error": "❌ Aktualizacja nie powiodła się: {error}",
|
||||
"update_in_progress_title": "Trwa aktualizacja",
|
||||
"update_in_progress_message": "Trwa aktualizacja yt-dlp. Proszę chwilę zaczekać."
|
||||
},
|
||||
"about": {
|
||||
"title": "O YTSage",
|
||||
"version": "Wersja {version}",
|
||||
"description": "Nowoczesny pobieracz YouTube z czystym interfejsem PySide6.",
|
||||
"author": "Autor: {author}",
|
||||
"github": "GitHub: {repo}",
|
||||
"system_info": "Informacje systemowe",
|
||||
"loading": "🔄 Ładowanie informacji systemowych...",
|
||||
"refresh": "🔄",
|
||||
"refreshing": "🔄 Odświeżanie...",
|
||||
"refresh_failed": "Odświeżanie nie powiodło się",
|
||||
"refresh_failed_message": "Nie można odświeżyć informacji o wersji.",
|
||||
"detected": "✓ Wykryto",
|
||||
"missing": "✗ Brakuje",
|
||||
"not_available": "Niedostępne"
|
||||
},
|
||||
"time_range": {
|
||||
"title": "Przytnij wideo",
|
||||
"time_range_group": "Zakres czasu",
|
||||
"start_time": "Czas rozpoczęcia (GG:MM:SS)",
|
||||
"end_time": "Czas zakończenia (GG:MM:SS)",
|
||||
"start_placeholder": "00:00:00",
|
||||
"end_placeholder": "00:00:00",
|
||||
"start_time_placeholder": "Czas rozpoczęcia (GG:MM:SS)",
|
||||
"end_time_placeholder": "Czas zakończenia (GG:MM:SS)",
|
||||
"force_keyframes": "Wymuś klatki kluczowe w punktach cięcia",
|
||||
"help_text": "Ustaw czasy rozpoczęcia i zakończenia, aby przyciąć wideo.\nPozostaw puste, aby pobrać pełne wideo.",
|
||||
"invalid_format": "Nieprawidłowy format czasu. Użyj formatu GG:MM:SS.",
|
||||
"start_after_end": "Czas rozpoczęcia nie może być po czasie zakończenia."
|
||||
},
|
||||
"settings": {
|
||||
"title": "Ustawienia pobierania",
|
||||
"download_path": "Ścieżka pobierania",
|
||||
"browse": "Przeglądaj...",
|
||||
"speed_limit": "Limit prędkości",
|
||||
"speed_limit_placeholder": "Brak",
|
||||
"auto_update_ytdlp": "Automatyczne aktualizacje yt-dlp",
|
||||
"enable_auto_updates": "Włącz automatyczne aktualizacje yt-dlp",
|
||||
"update_frequency": "Częstotliwość aktualizacji:",
|
||||
"check_startup": "Sprawdzaj przy każdym uruchomieniu (minimum 1 godzina między sprawdzeniami)",
|
||||
"check_daily": "Sprawdzaj codziennie",
|
||||
"check_weekly": "Sprawdzaj co tydzień",
|
||||
"check_updates_now": "Zaktualizuj yt-dlp",
|
||||
"update_check_title": "Sprawdzanie aktualizacji",
|
||||
"could_not_determine_version": "Nie można określić aktualnej wersji yt-dlp.",
|
||||
"update_available_dialog": "Dostępna aktualizacja!\n\nAktualna: {current}\nNajnowsza: {latest}\n\nKliknij OK, aby kontynuować aktualizację.",
|
||||
"up_to_date_dialog": "yt-dlp jest aktualny!\n\nAktualna wersja: {version}",
|
||||
"error_checking_updates": "Błąd sprawdzania aktualizacji: {error}",
|
||||
"settings_saved_title": "Ustawienia zapisane",
|
||||
"settings_saved_message": "Ustawienia automatycznych aktualizacji zostały pomyślnie zapisane!",
|
||||
"error_title": "Błąd",
|
||||
"failed_save_settings": "Nie udało się zapisać ustawień automatycznych aktualizacji.",
|
||||
"error_saving_settings": "Błąd zapisywania ustawień automatycznych aktualizacji: {error}",
|
||||
"ytdlp_channel": "Kanał wydań yt-dlp",
|
||||
"ytdlp_channel_stable": "Stabilny (Przetestowane wydania)",
|
||||
"ytdlp_channel_nightly": "Nightly (Codzienne aktualizacje, zalecane przez yt-dlp)",
|
||||
"ytdlp_channel_description": "Wybierz między wydaniami stabilnymi a nightly. Buildy nightly są aktualizowane codziennie z najnowszymi poprawkami i funkcjami. Możesz zmienić kanał w dowolnym momencie.",
|
||||
"ytdlp_switching_channel": "Przełączanie na kanał {channel}...",
|
||||
"ytdlp_channel_switched": "✅ Pomyślnie przełączono na kanał {channel}!",
|
||||
"ytdlp_channel_switch_failed": "❌ Nie udało się przełączyć kanału: {error}",
|
||||
"ytdlp_current_channel": "Aktualny kanał: {channel}",
|
||||
"auto_update_title": "Ustawienia automatycznych aktualizacji",
|
||||
"auto_update_header": "🔄 Ustawienia automatycznych aktualizacji",
|
||||
"auto_update_description": "Skonfiguruj automatyczne aktualizacje dla yt-dlp, aby zapewnić najnowsze funkcje i poprawki błędów.",
|
||||
"current_status": "Aktualny status",
|
||||
"current_version_label": "Aktualna wersja yt-dlp: Sprawdzanie...",
|
||||
"last_check_label": "Ostatnie sprawdzenie aktualizacji: Nigdy",
|
||||
"next_check_label": "Następne sprawdzenie: Na podstawie ustawień",
|
||||
"manual_check_button": "🔍 Sprawdź aktualizacje teraz",
|
||||
"update_frequency_group": "Częstotliwość aktualizacji",
|
||||
"save_settings": "Zapisz ustawienia",
|
||||
"settings_saved_successfully": "✅ Ustawienia zapisane pomyślnie!",
|
||||
"error_saving": "❌ Błąd zapisywania ustawień: {error}",
|
||||
"output_format_settings": "Ustawienia formatu wyjściowego",
|
||||
"force_output_format": "Wymuś format wyjściowy podczas łączenia",
|
||||
"preferred_format": "Preferowany format:",
|
||||
"force_format_help": "Po włączeniu połączone filmy zostaną przekonwertowane na wybrany format. Wyłącz, aby pozwolić yt-dlp zdecydować automatycznie.",
|
||||
"format_mp4": "MP4 (Najbardziej kompatybilny)",
|
||||
"format_webm": "WebM (Nowoczesny, otwarty)",
|
||||
"format_mkv": "MKV (Bogaty w funkcje)",
|
||||
"audio_format_settings": "Ustawienia formatu audio",
|
||||
"force_audio_format": "Wymuś format audio dla pobierania tylko audio",
|
||||
"preferred_audio_format": "Preferowany format audio:",
|
||||
"force_audio_format_help": "Gdy włączone, pobieranie tylko audio zostanie przekonwertowane na preferowany format. Dotyczy to tylko pobierania formatów audio.",
|
||||
"audio_format_best": "Najlepsze (Bez konwersji)",
|
||||
"audio_format_aac": "AAC (Dobre do edycji)",
|
||||
"audio_format_mp3": "MP3 (Uniwersalny)",
|
||||
"audio_format_flac": "FLAC (Bezstratny)",
|
||||
"audio_format_wav": "WAV (Nieskompresowany)",
|
||||
"audio_format_opus": "Opus (Wydajny)",
|
||||
"audio_format_m4a": "M4A (Apple)",
|
||||
"audio_format_vorbis": "Vorbis (Otwarty)"
|
||||
},
|
||||
"main_ui": {
|
||||
"url_placeholder": "Wprowadź URL wideo YouTube lub playlisty",
|
||||
"merge_subtitles": "Połącz napisy",
|
||||
"save_thumbnail": "Zapisz miniaturę",
|
||||
"save_description": "Zapisz opis",
|
||||
"embed_chapters": "Osadź rozdziały",
|
||||
"subtitles_selected": "{count} wybrano",
|
||||
"all_selected": "Wszystkie wybrane",
|
||||
"select_videos_all": "Wybierz wideo... (Wszystkie wybrane)",
|
||||
"please_enter_url": "Proszę najpierw wprowadzić URL",
|
||||
"error_title": "Błąd",
|
||||
"cookie_file_selected_title": "Wybrano plik ciasteczek",
|
||||
"cookie_file_selected_message": "Wybrano plik ciasteczek: {path}",
|
||||
"browser_cookies_selected_title": "Wybrano ciasteczka przeglądarki",
|
||||
"browser_cookies_selected_message": "Ciasteczka przeglądarki zostaną wyodrębnione z: {browser}",
|
||||
"error_no_format_info": "Błąd: Brak dostępnych informacji o formacie.",
|
||||
"error_extract_info": "Błąd: Nie można wyodrębnić podstawowych informacji o wideo. Sprawdź swój link.",
|
||||
"analyzing_preparing": "Analizowanie (0%)... Przygotowywanie żądania",
|
||||
"analyzing_extracting_basic": "Analizowanie (15%)... Wyodrębnianie podstawowych informacji",
|
||||
"analyzing_extracting_detailed": "Analizowanie (30%)... Wyodrębnianie szczegółowych informacji",
|
||||
"analyzing_processing_video": "Analizowanie (45%)... Przetwarzanie danych wideo",
|
||||
"analyzing_processing_formats": "Analizowanie (60%)... Przetwarzanie formatów",
|
||||
"analyzing_loading_thumbnail": "Analizowanie (75%)... Ładowanie miniatury",
|
||||
"analyzing_processing_subtitles": "Analizowanie (85%)... Przetwarzanie napisów",
|
||||
"analyzing_updating_table": "Analizowanie (95%)... Aktualizowanie tabeli formatów",
|
||||
"analysis_complete": "Analiza zakończona!",
|
||||
"analyzing_fetching_first_video": "Analizowanie... Pobieranie formatów dla pierwszego filmu",
|
||||
"analyzing_extracting_ytdlp": "Analizowanie (30%)... Wyodrębnianie informacji",
|
||||
"analyzing_processing_data": "Analizowanie (60%)... Przetwarzanie danych",
|
||||
"analyzing_processing_formats_ytdlp": "Analizowanie (75%)... Przetwarzanie formatów",
|
||||
"analyzing_loading_thumbnail_ytdlp": "Analizowanie (85%)... Ładowanie miniatury",
|
||||
"analyzing_processing_subtitles_ytdlp": "Analizowanie (90%)... Przetwarzanie napisów",
|
||||
"select_subtitles": "Wybierz napisy...",
|
||||
"sponsorblock_categories": "Kategorie SponsorBlock...",
|
||||
"invalid_url_or_enter": "Nieprawidłowy URL lub wprowadź URL.",
|
||||
"zero_selected": "0 wybranych",
|
||||
"analyze_first_tooltip": "Najpierw przeanalizuj wideo",
|
||||
"audio_mode_disabled": "Niedostępne w trybie tylko audio",
|
||||
"select_subtitles_first": "Najpierw wybierz napisy",
|
||||
"settings_tooltip": "Bieżąca ścieżka: {path}\nLimit prędkości: {speed_limit}",
|
||||
"speed_limit_none": "Brak",
|
||||
"open_folder_error": "Nie można otworzyć folderu: {error}",
|
||||
"time_range_set": "Ustawiono sekcję: {section}"
|
||||
},
|
||||
"sponsorblock": {
|
||||
"sponsor": "Sponsor",
|
||||
"sponsor_desc": "Płatne reklamy, płatne rekomendacje i bezpośrednie reklamy",
|
||||
"selfpromo": "Nieobłożona/Samopromocja",
|
||||
"selfpromo_desc": "Nieobłożona promocja własnych treści twórcy",
|
||||
"interaction": "Przypomnienie o interakcji",
|
||||
"interaction_desc": "Widzowie są proszeni o polubienie, subskrypcję lub śledzenie w mediach społecznościowych",
|
||||
"intro": "Intro",
|
||||
"intro_desc": "Wprowadzenie do wideo, które można pominąć",
|
||||
"outro": "Outro/Karty końcowe",
|
||||
"outro_desc": "Napisy końcowe lub gdy wideo się kończy",
|
||||
"preview": "Podgląd/Podsumowanie",
|
||||
"preview_desc": "Krótkie podsumowanie poprzednich wideo lub podgląd nadchodzącej treści",
|
||||
"music_offtopic": "Sekcja niemuzyczna",
|
||||
"music_offtopic_desc": "Tylko dla wideo muzycznych. Oznacza sekcje niemuzyczne",
|
||||
"filler": "Wypełniacz poboczny",
|
||||
"filler_desc": "Sceny poboczne dodane tylko jako wypełniacz lub dla humoru"
|
||||
},
|
||||
"video_info": {
|
||||
"channel": "Kanał",
|
||||
"views": "👁 Wyświetlenia",
|
||||
"likes": "👍 Polubienia",
|
||||
"upload_date": "📅 Data przesłania",
|
||||
"duration": "⏱ Czas trwania",
|
||||
"unknown_channel": "Nieznany kanał",
|
||||
"unknown_date": "Nieznana data",
|
||||
"unknown_title": "Nieznany tytuł"
|
||||
},
|
||||
"command": {
|
||||
"running": "Uruchamianie...",
|
||||
"run_command": "Uruchom polecenie"
|
||||
},
|
||||
"selection": {
|
||||
"none_selected": "0 wybrano",
|
||||
"one_selected": "1 kategoria wybrana",
|
||||
"count_selected": "{count} wybrano"
|
||||
},
|
||||
"status": {
|
||||
"ready": "Gotowy",
|
||||
"file_exists": "⚠️ Plik już istnieje",
|
||||
"video_file_exists": "⚠️ Plik wideo już istnieje",
|
||||
"audio_file_exists": "⚠️ Plik audio już istnieje",
|
||||
"subtitle_file_exists": "⚠️ Plik napisów już istnieje",
|
||||
"cancelling": "Anulowanie pobierania...",
|
||||
"thumbnail_saved": "✅ Miniatura zapisana: {filename}",
|
||||
"thumbnail_error": "❌ Błąd miniatury: {error}",
|
||||
"thumbnail_no_image": "Brak miniatury do zapisania"
|
||||
},
|
||||
"errors": {
|
||||
"playlist_no_videos": "Błąd: Playlista nie zawiera prawidłowych wideo.",
|
||||
"playlist_no_url": "Błąd: Nie można pobrać URL pierwszego wideo z playlisty.",
|
||||
"ytdlp_not_found": "Błąd: Plik wykonywalny yt-dlp nie został znaleziony. Proszę najpierw zainstalować yt-dlp.",
|
||||
"ytdlp_not_found_path": "Błąd: Plik wykonywalny yt-dlp nie został znaleziony. Może to być spowodowane niepoprawną instalacją lub problemem z PATH.",
|
||||
"no_data_returned": "Błąd: Brak danych zwróconych z yt-dlp",
|
||||
"no_format_info": "Błąd: Brak dostępnych informacji o formacie.",
|
||||
"analysis_timeout": "Błąd: Limit czasu analizy. Spróbuj ponownie.",
|
||||
"invalid_speed_limit": "❌ Błąd: Nieprawidłowa wartość limitu prędkości ustawiona w ustawieniach.",
|
||||
"ytdlp_failed": "Błąd: yt-dlp nie powiodło się: {error}",
|
||||
"parse_failed": "Błąd: Nie udało się przeanalizować wyjścia yt-dlp: {error}",
|
||||
"analysis_failed": "Błąd: Analiza nie powiodła się: {error}",
|
||||
"generic_error": "Błąd: {error}",
|
||||
"download_failed_return_code_conflict": "Pobieranie nie powiodło się z kodem {return_code}. Może to wynikać z konfliktu wielu instalacji yt-dlp. Spróbuj odinstalować systemowo zainstalowane yt-dlp (np. przez snap lub apt) i uruchom aplikację ponownie.",
|
||||
"download_failed_return_code": "Pobieranie nie powiodło się z kodem {return_code}",
|
||||
"direct_command_error": "Błąd w bezpośrednim poleceniu: {error}"
|
||||
},
|
||||
"update_dialog": {
|
||||
"title": "Dostępna aktualizacja",
|
||||
"new_version_available": "Dostępna jest nowa wersja YTSage!",
|
||||
"current_version_label": "Aktualna wersja:",
|
||||
"latest_version_label": "Najnowsza wersja:",
|
||||
"changelog": "Lista zmian",
|
||||
"download_update": "Pobierz aktualizację",
|
||||
"remind_later": "Przypomnij później"
|
||||
},
|
||||
"playlist": {
|
||||
"unknown": "Nieznana playlista",
|
||||
"total_videos": "Wszystkich wideo: {count}",
|
||||
"display_format": "Playlista: {title} | {count} wideo",
|
||||
"select_videos_title": "Wybierz Filmy z Playlisty"
|
||||
},
|
||||
"subtitle_selection": {
|
||||
"count_selected": "{count} wybrano"
|
||||
},
|
||||
"file_exists_dialog": {
|
||||
"title": "Plik już istnieje",
|
||||
"message": "Plik już istnieje:\n{filename}",
|
||||
"info": "Ten film został już pobrany."
|
||||
},
|
||||
"auto_update": {
|
||||
"last_check_never": "Ostatnie sprawdzenie: Nigdy",
|
||||
"last_check": "Ostatnie sprawdzenie: {time}",
|
||||
"next_check_disabled": "Następne sprawdzenie: Wyłączone",
|
||||
"next_check_startup": "Następne sprawdzenie: Przy starcie",
|
||||
"next_check_overdue": "Następne sprawdzenie: Teraz (zaległe)",
|
||||
"next_check": "Następne sprawdzenie: {time}",
|
||||
"next_check_error": "Następne sprawdzenie: Błąd obliczania",
|
||||
"checking": "🔄 Sprawdzanie...",
|
||||
"check_now": "🔍 Sprawdź aktualizacje teraz",
|
||||
"current_version": "Bieżąca wersja yt-dlp: {version}"
|
||||
},
|
||||
"url_validation": {
|
||||
"empty_url": "URL nie może być pusty",
|
||||
"invalid_format": "Nieprawidłowy format URL",
|
||||
"invalid_scheme": "URL musi zaczynać się od http:// lub https://",
|
||||
"missing_domain": "Nieprawidłowy URL: brak nazwy domeny",
|
||||
"unsupported_platform": "YTSage obsługuje tylko adresy URL YouTube i YouTube Music.\nDomena '{domain}' nie jest obsługiwana.",
|
||||
"invalid_youtu_be": "Nieprawidłowy URL youtu.be: brak ID wideo"
|
||||
},
|
||||
"ytdlp_errors": {
|
||||
"private_video": "To jest prywatny film. Możesz go pobrać, logując się na swoje konto za pomocą plików cookie.\nPrzejdź do 'Opcje Niestandardowe' → 'Zaloguj się z plikami cookie' → 'Wyodrębnij pliki cookie z przeglądarki', aby się uwierzytelnić.",
|
||||
"age_restricted": "Ten film ma ograniczenie wiekowe. Musisz się zalogować, aby uzyskać do niego dostęp.\nUżyj 'Opcje Niestandardowe' → 'Zaloguj się z plikami cookie', aby uwierzytelnić się swoim kontem.",
|
||||
"geo_blocked": "Ten film nie jest dostępny w Twoim regionie (geoblokada).\nMożesz potrzebować VPN lub film może być ograniczony w Twoim kraju.",
|
||||
"video_unavailable": "Ten film został usunięty lub nie jest już dostępny.\nFilm mógł zostać usunięty przez osobę przesyłającą lub usunięty z powodu naruszenia zasad.",
|
||||
"live_stream": "To jest transmisja na żywo, której nie można pobrać, gdy jest aktywna.\nPoczekaj, aż transmisja się zakończy, a następnie spróbuj pobrać zarchiwizowaną wersję.",
|
||||
"playlist_error": "Nie można uzyskać dostępu do tej playlisty. Może być prywatna, usunięta lub pusta.\nSprawdź, czy playlista istnieje i jest publicznie dostępna.",
|
||||
"network_error": "Błąd połączenia sieciowego. Sprawdź swoje połączenie internetowe i spróbuj ponownie.\nJeśli problem będzie się utrzymywał, serwer wideo może być tymczasowo niedostępny.",
|
||||
"invalid_url": "Nieprawidłowy lub nieobsługiwany URL. Sprawdź link i spróbuj ponownie.\nUpewnij się, że używasz prawidłowego adresu URL YouTube, Vimeo lub innej obsługiwanej platformy.",
|
||||
"premium_content": "Ta treść wymaga YouTube Premium lub członkostwa w kanale.\nMusisz zalogować się na konto, które ma dostęp do tej treści.",
|
||||
"copyright_blocked": "Ten film jest zablokowany z powodu roszczeń dotyczących praw autorskich.\nWłaściciel treści ograniczył dostęp do tego filmu.",
|
||||
"extraction_failed": "Nie udało się wyodrębnić informacji o filmie. To może być tymczasowy problem.\nSpróbuj ponownie za kilka minut lub sprawdź, czy link do filmu jest poprawny.",
|
||||
"generic_error": "Nie udało się wyodrębnić informacji o filmie. Sprawdź swój link.\nSzczegóły techniczne: {error}"
|
||||
},
|
||||
"history": {
|
||||
"title": "Historia Pobierania",
|
||||
"clear_all": "Wyczyść Wszystko",
|
||||
"clear_confirm_title": "Wyczyścić Historię?",
|
||||
"clear_confirm_message": "Czy jesteś pewien? Nie można tego cofnąć.",
|
||||
"no_history": "Brak historii",
|
||||
"no_history_description": "Twoje pobrane pliki pojawią się tutaj",
|
||||
"loading": "Ładowanie historii...",
|
||||
"search_placeholder": "Szukaj...",
|
||||
"open_location": "Otwórz Lokalizację",
|
||||
"redownload": "Pobierz Ponownie",
|
||||
"remove": "Usuń",
|
||||
"file_not_found": "Nie znaleziono pliku",
|
||||
"file_not_found_message": "Plik został przeniesiony lub usunięty:\n{path}",
|
||||
"downloaded_on": "Pobrano: {date}",
|
||||
"file_size": "Rozmiar: {size}",
|
||||
"audio_download": "Audio",
|
||||
"video_download": "Wideo",
|
||||
"remove_confirm_title": "Usunąć?",
|
||||
"remove_confirm_message": "Usunąć z historii?\n\n{title}",
|
||||
"item_removed": "Usunięto",
|
||||
"history_cleared": "Historia wyczyszczona",
|
||||
"entries_count": "{count} pobrań",
|
||||
"one_entry": "1 pobranie",
|
||||
"redownload_confirm_title": "Pobrać Ponownie?",
|
||||
"redownload_confirm_message": "Pobrać ponownie?\n\n{title}",
|
||||
"redownload_started": "Rozpoczęto pobieranie",
|
||||
"no_url_error": "Nie znaleziono URL w wpisie historii",
|
||||
"redownload_failed": "Nie udało się rozpocząć ponownego pobierania: {error}"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"installation_title": "Instalacja FFmpeg",
|
||||
"installation_message": "YTSage wymaga FFmpeg do przetwarzania wideo.\n\nWybierz opcję instalacji poniżej:",
|
||||
"install_button": "Zainstaluj FFmpeg",
|
||||
"manual_guide": "Instrukcja ręczna",
|
||||
"installation_failed": "Instalacja FFmpeg napotkała problem.",
|
||||
"already_installed": "FFmpeg jest już zainstalowany!",
|
||||
"installation_complete": "Instalacja zakończona. Możesz zamknąć to okno i kontynuować używanie YTSage.",
|
||||
"installing": "Instalowanie FFmpeg... Proszę czekać",
|
||||
"install_success": "FFmpeg został pomyślnie zainstalowany!",
|
||||
"installation_complete_close": "Instalacja zakończona. Możesz teraz zamknąć to okno i kontynuować używanie YTSage.",
|
||||
"try_manual": "Spróbuj użyć instrukcji instalacji ręcznej."
|
||||
},
|
||||
"ytdlp_setup": {
|
||||
"required_title": "Wymagana konfiguracja yt-dlp",
|
||||
"description": "YTSage wymaga yt-dlp do pobierania wideo.<br><br>Nie znaleziono yt-dlp w lokalnym katalogu aplikacji. YTSage musi skonfigurować yt-dlp dla systemu {os_name}.<br><br>Wybierz opcję poniżej:",
|
||||
"option_auto": "Pobierz automatycznie (zalecane)",
|
||||
"option_manual": "Wybierz ścieżkę ręcznie",
|
||||
"setup_button": "Skonfiguruj yt-dlp",
|
||||
"downloading": "Pobieranie yt-dlp...",
|
||||
"success": "yt-dlp został pomyślnie zainstalowany!",
|
||||
"error": "Błąd: {error}",
|
||||
"download_failed_title": "Pobieranie nieudane",
|
||||
"download_failed_message": "Nie udało się pobrać yt-dlp: {error}",
|
||||
"select_executable_title": "Wybierz plik wykonywalny yt-dlp",
|
||||
"copied_to": "yt-dlp skopiowano pomyślnie do {path}",
|
||||
"setup_error_title": "Błąd konfiguracji",
|
||||
"copy_error": "Błąd podczas kopiowania yt-dlp do katalogu aplikacji: {error}",
|
||||
"invalid_executable_title": "Nieprawidłowy plik wykonywalny",
|
||||
"invalid_executable_message": "Wybrany plik nie wygląda na prawidłowy plik wykonywalny yt-dlp.",
|
||||
"verify_error": "Błąd podczas weryfikacji pliku yt-dlp: {error}",
|
||||
"setup_failed_title": "Konfiguracja nieudana",
|
||||
"setup_failed_message": "Nie udało się skonfigurować yt-dlp. Niektóre funkcje mogą działać nieprawidłowo.",
|
||||
"success_dialog_title": "Konfiguracja yt-dlp",
|
||||
"success_dialog_message": "yt-dlp został pomyślnie skonfigurowany w:\n{path}",
|
||||
"file_filter_windows": "Pliki wykonywalne (*.exe)",
|
||||
"file_filter_all": "Wszystkie pliki (*)"
|
||||
},
|
||||
"ffmpeg_updater": {
|
||||
"title": "Sprawdzanie Wersji FFmpeg",
|
||||
"current_version": "Obecna wersja:",
|
||||
"latest_version": "Najnowsza wersja:",
|
||||
"status_up_to_date": "✓ Aktualne",
|
||||
"status_update_available": "⚠ Dostępna aktualizacja",
|
||||
"status_not_installed": "✗ Nie zainstalowano",
|
||||
"status_idle": "Kliknij 'Sprawdź Wersję', aby rozpocząć",
|
||||
"status_checking": "🔄 Sprawdzanie wersji...",
|
||||
"check_updates": "Sprawdź Wersję",
|
||||
"check_failed": "Nie udało się sprawdzić wersji. Sprawdź połączenie internetowe.",
|
||||
"description": "Sprawdź swoją wersję FFmpeg i porównaj ją z najnowszą dostępną wersją.",
|
||||
"guide_info": " Aby zainstalować lub zaktualizować FFmpeg, <a href='https://github.com/oop7/ffmpeg-install-guide'>kliknij tutaj, aby wyświetlić nasz kompleksowy przewodnik instalacji</a>."
|
||||
},
|
||||
"deno": {
|
||||
"setup_required": "Wymagana konfiguracja Deno",
|
||||
"setup_description": "YTSage wymaga Deno do uruchomienia niektórych funkcji.<br><br>Deno nie zostało znalezione w lokalnym katalogu aplikacji. YTSage musi skonfigurować Deno dla Twojego systemu {os_name}.<br><br>Kliknij 'Skonfiguruj Deno', aby pobrać i zainstalować automatycznie.",
|
||||
"setup_button": "Skonfiguruj Deno",
|
||||
"downloading": "Pobieranie Deno...",
|
||||
"extracting": "Wyodrębnianie Deno...",
|
||||
"verifying": "Weryfikacja Deno...",
|
||||
"success": "Deno zostało pomyślnie zainstalowane!",
|
||||
"download_failed": "Pobieranie nie powiodło się",
|
||||
"download_error": "Nie udało się pobrać Deno: {error}",
|
||||
"verification_failed": "Weryfikacja SHA256 nie powiodła się. Pobrany plik może być uszkodzony lub zmodyfikowany.",
|
||||
"setup_failed": "Nie udało się skonfigurować Deno. Niektóre funkcje mogą nie działać poprawnie.",
|
||||
"setup_error": "Błąd konfiguracji"
|
||||
},
|
||||
"deno_updater": {
|
||||
"title": "Sprawdzanie i Aktualizacja Wersji Deno",
|
||||
"description": "Sprawdź swoją wersję Deno i zaktualizuj do najnowszej wersji.",
|
||||
"current_version": "Aktualna Wersja:",
|
||||
"latest_version": "Najnowsza Wersja:",
|
||||
"status_idle": "Kliknij 'Sprawdź Aktualizacje', aby zacząć",
|
||||
"status_checking": "🔄 Sprawdzanie aktualizacji...",
|
||||
"status_up_to_date": "✓ Zaktualizowane",
|
||||
"status_update_available": "⚠ Aktualizacja dostępna",
|
||||
"status_not_installed": "✗ Nie zainstalowano",
|
||||
"check_updates": "Sprawdź Aktualizacje",
|
||||
"update_now": "Zaktualizuj Deno",
|
||||
"updating": "🔄 Aktualizowanie Deno...",
|
||||
"update_success": "✅ Deno zostało pomyślnie zaktualizowane!",
|
||||
"update_failed": "❌ Aktualizacja nie powiodła się: {error}",
|
||||
"check_failed": "Nie udało się sprawdzić aktualizacji. Sprawdź połączenie internetowe."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,610 @@
|
||||
{
|
||||
"language": {
|
||||
"display_name": "Português (Portuguese)",
|
||||
"select_language": "Selecionar idioma:",
|
||||
"current_language": "Idioma atual: {language}",
|
||||
"restart_required": "As alterações de idioma terão efeito após reiniciar a aplicação.",
|
||||
"english": "Inglês",
|
||||
"spanish": "Espanhol",
|
||||
"portuguese": "Português",
|
||||
"russian": "Русский (Russian)",
|
||||
"chinese": "中文 (简体) (Chinese Simplified)",
|
||||
"german": "Alemão",
|
||||
"french": "Francês",
|
||||
"hindi": "Hindi",
|
||||
"indonesian": "Indonésio",
|
||||
"turkish": "Turco",
|
||||
"polish": "Polonês",
|
||||
"italian": "Italiano",
|
||||
"arabic": "Árabe",
|
||||
"japanese": "Japonês",
|
||||
"help_text": "Selecione seu idioma preferido para a interface.",
|
||||
"restart_notice": "A alteração de idioma terá efeito após reiniciar a aplicação."
|
||||
},
|
||||
"app": {
|
||||
"title": "YTSage",
|
||||
"version": "v{version}",
|
||||
"ready": "Pronto"
|
||||
},
|
||||
"formats": {
|
||||
"show_formats": "Mostrar Formatos:",
|
||||
"video_format": "Formato de Vídeo:",
|
||||
"audio_format": "Formato de Áudio:",
|
||||
"no_formats": "Nenhum formato disponível",
|
||||
"loading": "Carregando formatos...",
|
||||
"select": "Selecionar",
|
||||
"quality": "Qualidade",
|
||||
"extension": "Extensão",
|
||||
"resolution": "Resolução",
|
||||
"file_size": "Tamanho do Arquivo",
|
||||
"codec": "Codec",
|
||||
"audio": "Áudio",
|
||||
"fps": "FPS",
|
||||
"hdr": "HDR",
|
||||
"will_merge_audio": "Irá mesclar áudio",
|
||||
"has_audio": "✓ Tem Áudio",
|
||||
"audio_only": "Apenas Áudio",
|
||||
"best_4k": "Melhor (4K)",
|
||||
"best_2k": "Melhor (2K)",
|
||||
"high_1080p": "Alta (1080p)",
|
||||
"high_720p": "Alta (720p)",
|
||||
"medium_480p": "Média (480p)",
|
||||
"low_quality": "Baixa Qualidade",
|
||||
"best_audio": "Melhor Áudio",
|
||||
"high_audio": "Áudio Alto",
|
||||
"medium_audio": "Áudio Médio",
|
||||
"low_audio": "Áudio Baixo",
|
||||
"audio_only_resolution": "Apenas áudio"
|
||||
},
|
||||
"buttons": {
|
||||
"download": "Baixar",
|
||||
"pause": "Pausar",
|
||||
"resume": "Retomar",
|
||||
"cancel": "Cancelar",
|
||||
"browse": "Procurar",
|
||||
"clear": "Limpar",
|
||||
"ok": "OK",
|
||||
"apply": "Aplicar",
|
||||
"close": "Fechar",
|
||||
"run_command": "Executar Comando",
|
||||
"custom_command_help": "Ajuda",
|
||||
"about": "Sobre",
|
||||
"analyze": "Analisar",
|
||||
"paste_url": "Colar URL",
|
||||
"select_videos": "Selecionar Vídeos...",
|
||||
"video": "Vídeo",
|
||||
"audio_only": "Apenas Áudio",
|
||||
"custom_options": "Opções Personalizadas",
|
||||
"trim_video": "Cortar Vídeo",
|
||||
"download_settings": "Configurações de Download",
|
||||
"update": "Atualizar yt-dlp",
|
||||
"select_defaults": "Selecionar Padrões",
|
||||
"select_all": "Selecionar Tudo",
|
||||
"deselect_all": "Desmarcar Tudo",
|
||||
"open_folder": "Abrir local da pasta",
|
||||
"history": "Histórico"
|
||||
},
|
||||
"dialogs": {
|
||||
"custom_options": "Opções Personalizadas",
|
||||
"settings": "Configurações",
|
||||
"select_folder": "Selecionar Pasta de Download",
|
||||
"sponsorblock_categories": "Categorias SponsorBlock",
|
||||
"sponsorblock_description": "Selecione quais tipos de segmentos de vídeo serão removidos automaticamente durante o download.\nO SponsorBlock usa dados enviados pela comunidade para identificar esses segmentos.",
|
||||
"select_subtitles": "Selecionar Legendas",
|
||||
"filter_languages_placeholder": "Filtrar idiomas (ex., en, pt)...",
|
||||
"no_subtitles_available": "Nenhuma legenda disponível",
|
||||
"matching": "correspondendo",
|
||||
"ytdlp_log_title": "Log do yt-dlp"
|
||||
},
|
||||
"tabs": {
|
||||
"cookies": "Entrar com Cookies",
|
||||
"custom_command": "Comando Personalizado",
|
||||
"proxy": "Proxy",
|
||||
"language": "Idioma",
|
||||
"updater": "Atualizador"
|
||||
},
|
||||
"cookies": {
|
||||
"help_text": "Escolha como fornecer cookies para fazer login.\nIsso permite baixar vídeos privados e áudio de qualidade premium.",
|
||||
"cookie_source": "Fonte de Cookies",
|
||||
"use_cookie_file": "Usar arquivo de cookies",
|
||||
"extract_from_browser": "Extrair do navegador",
|
||||
"recommended": "Recomendado",
|
||||
"cookie_file": "Arquivo de Cookies",
|
||||
"cookie_file_placeholder": "Caminho para o arquivo cookies.txt...",
|
||||
"browser_selection": "Seleção de Navegador",
|
||||
"browser_help": "Selecione o navegador do qual extrair cookies:",
|
||||
"browser_label": "Navegador:",
|
||||
"profile_label": "Perfil:",
|
||||
"profile_placeholder": "padrão",
|
||||
"browser_extract_message": "Os cookies do navegador serão extraídos quando aplicados",
|
||||
"file_selected_message": "Arquivo de cookies selecionado - Clique em OK para aplicar",
|
||||
"select_file_title": "Selecionar Arquivo de Cookies",
|
||||
"file_filter": "Arquivos de cookies (*.txt *.lwp)",
|
||||
"file_selected_title": "Arquivo de Cookies Aplicado",
|
||||
"file_applied_message": "Arquivo de cookies aplicado: {path}",
|
||||
"browser_selected_title": "Cookies do Navegador Aplicados",
|
||||
"browser_applied_message": "Os cookies do navegador serão extraídos de: {browser}",
|
||||
"cleared_title": "Cookies Limpos",
|
||||
"cleared_message": "As configurações de cookies foram limpas",
|
||||
"active_browser": "✓ Ativos: cookies do navegador ({browser})",
|
||||
"active_file": "✓ Ativo: arquivo de cookies ({file})",
|
||||
"none_active": "○ Nenhum cookie ativo"
|
||||
},
|
||||
"custom_command": {
|
||||
"help_text": "Digite seu comando yt-dlp personalizado abaixo. A URL atual será anexada automaticamente.<br><br>Para a lista completa de opções e exemplos de uso, <a href=\"{docs_url}\">clique aqui para ver a documentação oficial do yt-dlp</a>.<br><br>Nota: O caminho de download e modelo de nome de arquivo serão tratados automaticamente.",
|
||||
"input_label": "Argumentos yt-dlp:",
|
||||
"input_placeholder": "Digite os argumentos yt-dlp aqui...\n\nex. --extract-audio --audio-format mp3",
|
||||
"output_label": "Saída do Comando:",
|
||||
"output_placeholder": "A saída do comando aparecerá aqui...",
|
||||
"command_placeholder": "Digite comando yt-dlp personalizado...",
|
||||
"command_help": "Marcadores disponíveis:\n{url} - URL do Vídeo\n{output} - Diretório de saída\n\nExemplo: --write-info-json --write-thumbnail",
|
||||
"full_command": "🔧 Comando completo: {command}",
|
||||
"command_success": "✅ Comando personalizado executado com sucesso!",
|
||||
"command_failed": "❌ Comando falhou com código de saída {code}",
|
||||
"command_error": "❌ Erro ao executar comando personalizado: {error}",
|
||||
"error_no_url": "❌ Erro: nenhuma URL fornecida. Insira uma URL na janela principal.",
|
||||
"error_no_command": "❌ Erro: nenhum comando fornecido. Insira os argumentos do yt-dlp.",
|
||||
"executing": "🚀 Executando comando personalizado do yt-dlp",
|
||||
"url_label": "📍 URL: {url}",
|
||||
"args_label": "⚙️ Argumentos: {command}",
|
||||
"download_path_label": "📁 Caminho de download: {path}",
|
||||
"separator": "=================================================="
|
||||
},
|
||||
"proxy": {
|
||||
"help_text": "Configure as definições de proxy para download. Deixe vazio para usar conexão direta.",
|
||||
"main_proxy": "Proxy Principal",
|
||||
"main_proxy_help": "Servidor proxy principal para todos os downloads. Suporta protocolos HTTP/HTTPS e SOCKS5.",
|
||||
"proxy_url_label": "URL do Proxy:",
|
||||
"proxy_url_placeholder": "http://proxy:porta ou socks5://proxy:porta",
|
||||
"proxy_examples": "Exemplos:\n• HTTP: http://proxy.exemplo.com:8080\n• SOCKS5: socks5://proxy.exemplo.com:1080",
|
||||
"geo_proxy": "Proxy de Contorno Geográfico",
|
||||
"geo_proxy_help": "Proxy secundário especificamente para contornar restrições geográficas.",
|
||||
"geo_proxy_url_label": "URL do Proxy de Contorno Geográfico:",
|
||||
"geo_proxy_url_placeholder": "http://geo-proxy:porta",
|
||||
"clear_main_proxy": "Limpar Proxy Principal",
|
||||
"clear_geo_proxy": "Limpar Proxy Geográfico",
|
||||
"proxy_url": "URL do Proxy",
|
||||
"proxy_placeholder": "http://proxy:porta ou socks5://proxy:porta",
|
||||
"geo_bypass": "Proxy de contorno geográfico (para restrições geográficas)",
|
||||
"geo_bypass_placeholder": "http://proxy:porta para contornar bloqueios geográficos",
|
||||
"invalid_main_url": "Formato de URL do proxy principal inválido",
|
||||
"invalid_geo_url": "Formato de URL do proxy geográfico inválido",
|
||||
"main_configured": "Proxy principal configurado",
|
||||
"geo_configured": "Proxy geográfico configurado",
|
||||
"set_title": "Proxy definido",
|
||||
"set_message": "Proxy principal definido e salvo: {proxy}",
|
||||
"geo_set_title": "Proxy geo definido",
|
||||
"geo_set_message": "Proxy de verificação geo definido e salvo: {proxy}",
|
||||
"cleared_title": "Configurações de proxy limpas",
|
||||
"cleared_message": "Todas as configurações de proxy foram limpas e salvas.",
|
||||
"saved_main": "Proxy principal salvo: {proxy}",
|
||||
"saved_geo": "Proxy geo salvo: {proxy}"
|
||||
},
|
||||
"download": {
|
||||
"preparing": "Preparando download...",
|
||||
"starting": "🚀 Iniciando download...",
|
||||
"fetching_info": "🔍 Buscando informações do vídeo...",
|
||||
"preparing_streams": "🎯 Preparando streams de vídeo...",
|
||||
"downloading_audio": "⏬ Baixando áudio...",
|
||||
"downloading_video": "⏬ Baixando vídeo...",
|
||||
"downloading_subtitle": "⏬ Baixando legendas...",
|
||||
"downloading": "⏬ Baixando...",
|
||||
"completed": "✅ Download concluído!",
|
||||
"video_completed": "✅ Download de vídeo concluído!",
|
||||
"audio_completed": "✅ Download de áudio concluído!",
|
||||
"subtitle_completed": "✅ Download de legendas concluído!",
|
||||
"completed_cleaning": "✅ Download concluído! Limpando...",
|
||||
"cancelled": "Download cancelado",
|
||||
"processing_playlist": "📋 Processando dados da playlist...",
|
||||
"paused": "Download pausado",
|
||||
"resumed": "Download retomado",
|
||||
"merging_formats": "✨ Pós-processamento: Mesclando formatos...",
|
||||
"removing_sponsor_segments": "✨ Pós-processamento: Removendo segmentos patrocinados...",
|
||||
"speed": "Velocidade",
|
||||
"eta": "Tempo restante",
|
||||
"please_enter_url": "Por favor, digite uma URL primeiro.",
|
||||
"please_set_path": "Por favor, defina um caminho de download primeiro.",
|
||||
"please_enter_url_and_path": "Por favor, digite uma URL e defina o caminho de download.",
|
||||
"please_select_format": "Por favor, selecione um formato primeiro.",
|
||||
"downloading_fallback": "⚡ Baixando..."
|
||||
},
|
||||
"update": {
|
||||
"title": "Atualizar yt-dlp",
|
||||
"checking": "Verificando atualizações...",
|
||||
"update_available": "Atualização disponível!\nVersão atual: {current}\nÚltima versão: {latest}",
|
||||
"up_to_date": "yt-dlp está atualizado (versão {version})",
|
||||
"could_not_determine": "Não foi possível determinar as versões.",
|
||||
"error_comparing": "Erro ao comparar versões: {error}",
|
||||
"update_available_failed": "Atualização disponível! (Comparação falhou)\nAtual: {current}\nÚltima: {latest}",
|
||||
"updating": "Atualizando...",
|
||||
"initializing": "🚀 Inicializando processo de atualização...",
|
||||
"checking_current": "🔍 Verificando instalação atual...",
|
||||
"found_at": "📍 yt-dlp encontrado em: {path}",
|
||||
"error_getting_path": "❌ Erro ao obter caminho do yt-dlp: {error}",
|
||||
"updating_binary": "📦 Atualizando binário yt-dlp gerenciado pela aplicação...",
|
||||
"update_failed": "❌ Falha ao atualizar yt-dlp. Tente novamente ou verifique sua conexão com a internet.",
|
||||
"binary_updated": "✅ Binário atualizado com sucesso!",
|
||||
"update_failed_stderr": "❌ Atualização do yt-dlp falhou: {error}",
|
||||
"update_timeout": "❌ Atualização do yt-dlp expirou.",
|
||||
"unexpected_error": "❌ Erro inesperado durante atualização: {error}",
|
||||
"already_up_to_date": "✅ yt-dlp já está atualizado!",
|
||||
"update_success": "✅ yt-dlp foi atualizado com sucesso!",
|
||||
"already_latest": "yt-dlp está atualizado (versão {version})",
|
||||
"network_error": "❌ Erro de rede durante a atualização: {error}",
|
||||
"general_error": "❌ A atualização falhou: {error}",
|
||||
"update_in_progress_title": "Atualização em andamento",
|
||||
"update_in_progress_message": "O yt-dlp está sendo atualizado. Por favor, aguarde um momento."
|
||||
},
|
||||
"about": {
|
||||
"title": "Sobre YTSage",
|
||||
"version": "Versão {version}",
|
||||
"description": "Downloader moderno do YouTube com interface limpa em PySide6.",
|
||||
"author": "Por: {author}",
|
||||
"github": "GitHub: {repo}",
|
||||
"system_info": "Informações do Sistema",
|
||||
"loading": "🔄 Carregando informações do sistema...",
|
||||
"refresh": "🔄",
|
||||
"refreshing": "🔄 Atualizando...",
|
||||
"refresh_failed": "Atualização Falhou",
|
||||
"refresh_failed_message": "Não foi possível atualizar as informações de versão.",
|
||||
"detected": "✓ Detectado",
|
||||
"missing": "✗ Ausente",
|
||||
"not_available": "Não Disponível"
|
||||
},
|
||||
"time_range": {
|
||||
"title": "Cortar Vídeo",
|
||||
"time_range_group": "Intervalo de Tempo",
|
||||
"start_time": "Tempo de Início (HH:MM:SS)",
|
||||
"end_time": "Tempo de Fim (HH:MM:SS)",
|
||||
"start_placeholder": "00:00:00",
|
||||
"end_placeholder": "00:00:00",
|
||||
"start_time_placeholder": "Tempo de início (HH:MM:SS)",
|
||||
"end_time_placeholder": "Tempo de fim (HH:MM:SS)",
|
||||
"force_keyframes": "Forçar quadros-chave nos pontos de corte",
|
||||
"help_text": "Defina os tempos de início e fim para cortar o vídeo.\nDeixe vazio para baixar o vídeo completo.",
|
||||
"invalid_format": "Formato de tempo inválido. Use o formato HH:MM:SS.",
|
||||
"start_after_end": "O tempo de início não pode ser após o tempo de fim."
|
||||
},
|
||||
"settings": {
|
||||
"title": "Configurações de Download",
|
||||
"download_path": "Caminho de Download",
|
||||
"browse": "Procurar...",
|
||||
"speed_limit": "Limite de Velocidade",
|
||||
"speed_limit_placeholder": "Nenhum",
|
||||
"auto_update_ytdlp": "Auto-Atualizar yt-dlp",
|
||||
"enable_auto_updates": "Habilitar atualizações automáticas do yt-dlp",
|
||||
"update_frequency": "Frequência de atualização:",
|
||||
"check_startup": "Verificar a cada inicialização (mínimo 1 hora entre verificações)",
|
||||
"check_daily": "Verificar diariamente",
|
||||
"check_weekly": "Verificar semanalmente",
|
||||
"check_updates_now": "Atualizar yt-dlp",
|
||||
"update_check_title": "Verificação de Atualização",
|
||||
"could_not_determine_version": "Não foi possível determinar a versão atual do yt-dlp.",
|
||||
"update_available_dialog": "Atualização disponível!\n\nAtual: {current}\nÚltima: {latest}\n\nClique em OK para continuar com a atualização.",
|
||||
"up_to_date_dialog": "yt-dlp está atualizado!\n\nVersão atual: {version}",
|
||||
"error_checking_updates": "Erro ao verificar atualizações: {error}",
|
||||
"settings_saved_title": "Configurações Salvas",
|
||||
"settings_saved_message": "Configurações de auto-atualização foram salvas com sucesso!",
|
||||
"error_title": "Erro",
|
||||
"failed_save_settings": "Falha ao salvar configurações de auto-atualização.",
|
||||
"error_saving_settings": "Erro ao salvar configurações de auto-atualização: {error}",
|
||||
"ytdlp_channel": "Canal de Lançamento do yt-dlp",
|
||||
"ytdlp_channel_stable": "Estável (Lançamentos testados)",
|
||||
"ytdlp_channel_nightly": "Nightly (Atualizações diárias, recomendado pelo yt-dlp)",
|
||||
"ytdlp_channel_description": "Escolha entre lançamentos estáveis e nightly. Builds nightly são atualizadas diariamente com as últimas correções e recursos. Você pode trocar de canal a qualquer momento.",
|
||||
"ytdlp_switching_channel": "Mudando para o canal {channel}...",
|
||||
"ytdlp_channel_switched": "✅ Mudado com sucesso para o canal {channel}!",
|
||||
"ytdlp_channel_switch_failed": "❌ Falha ao trocar de canal: {error}",
|
||||
"ytdlp_current_channel": "Canal atual: {channel}",
|
||||
"auto_update_title": "Configurações de Auto-Atualização",
|
||||
"auto_update_header": "🔄 Configurações de Auto-Atualização",
|
||||
"auto_update_description": "Configure atualizações automáticas para o yt-dlp para garantir que você sempre tenha os recursos mais recentes e correções de bugs.",
|
||||
"current_status": "Status Atual",
|
||||
"current_version_label": "Versão atual do yt-dlp: Verificando...",
|
||||
"last_check_label": "Última verificação de atualização: Nunca",
|
||||
"next_check_label": "Próxima verificação: Baseada nas configurações",
|
||||
"manual_check_button": "🔍 Verificar Atualizações Agora",
|
||||
"update_frequency_group": "Frequência de Atualização",
|
||||
"save_settings": "Salvar Configurações",
|
||||
"settings_saved_successfully": "✅ Configurações salvas com sucesso!",
|
||||
"error_saving": "❌ Erro ao salvar configurações: {error}",
|
||||
"output_format_settings": "Configurações de Formato de Saída",
|
||||
"force_output_format": "Forçar formato de saída ao mesclar",
|
||||
"preferred_format": "Formato preferido:",
|
||||
"force_format_help": "Quando ativado, os vídeos mesclados serão convertidos para o seu formato preferido. Desative para deixar o yt-dlp decidir automaticamente.",
|
||||
"format_mp4": "MP4 (Mais compatível)",
|
||||
"format_webm": "WebM (Moderno, aberto)",
|
||||
"format_mkv": "MKV (Rico em recursos)",
|
||||
"audio_format_settings": "Configurações de formato de áudio",
|
||||
"force_audio_format": "Forçar formato de áudio para downloads somente de áudio",
|
||||
"preferred_audio_format": "Formato de áudio preferido:",
|
||||
"force_audio_format_help": "Quando ativado, downloads somente de áudio serão convertidos para seu formato preferido. Isso se aplica apenas ao baixar formatos de áudio.",
|
||||
"audio_format_best": "Melhor (Sem conversão)",
|
||||
"audio_format_aac": "AAC (Bom para edição)",
|
||||
"audio_format_mp3": "MP3 (Universal)",
|
||||
"audio_format_flac": "FLAC (Sem perdas)",
|
||||
"audio_format_wav": "WAV (Não comprimido)",
|
||||
"audio_format_opus": "Opus (Eficiente)",
|
||||
"audio_format_m4a": "M4A (Apple)",
|
||||
"audio_format_vorbis": "Vorbis (Aberto)"
|
||||
},
|
||||
"main_ui": {
|
||||
"url_placeholder": "Digite a URL do vídeo ou playlist do YouTube",
|
||||
"merge_subtitles": "Mesclar Legendas",
|
||||
"save_thumbnail": "Salvar Miniatura",
|
||||
"save_description": "Salvar Descrição",
|
||||
"embed_chapters": "Incorporar Capítulos",
|
||||
"subtitles_selected": "{count} selecionadas",
|
||||
"all_selected": "Todas selecionadas",
|
||||
"select_videos_all": "Selecionar Vídeos... (Todas selecionadas)",
|
||||
"please_enter_url": "Por favor, digite uma URL primeiro",
|
||||
"error_title": "Erro",
|
||||
"cookie_file_selected_title": "Arquivo de Cookies Selecionado",
|
||||
"cookie_file_selected_message": "Arquivo de cookies selecionado: {path}",
|
||||
"browser_cookies_selected_title": "Cookies do Navegador Selecionados",
|
||||
"browser_cookies_selected_message": "Os cookies do navegador serão extraídos de: {browser}",
|
||||
"error_no_format_info": "Erro: Nenhuma informação de formato disponível.",
|
||||
"error_extract_info": "Erro: Não foi possível extrair informações básicas do vídeo. Verifique seu link.",
|
||||
"analyzing_preparing": "Analisando (0%)... Preparando solicitação",
|
||||
"analyzing_extracting_basic": "Analisando (15%)... Extraindo informações básicas",
|
||||
"analyzing_extracting_detailed": "Analisando (30%)... Extraindo informações detalhadas",
|
||||
"analyzing_processing_video": "Analisando (45%)... Processando dados do vídeo",
|
||||
"analyzing_processing_formats": "Analisando (60%)... Processando formatos",
|
||||
"analyzing_loading_thumbnail": "Analisando (75%)... Carregando miniatura",
|
||||
"analyzing_processing_subtitles": "Analisando (85%)... Processando legendas",
|
||||
"analyzing_updating_table": "Analisando (95%)... Atualizando tabela de formatos",
|
||||
"analysis_complete": "Análise completa!",
|
||||
"analyzing_fetching_first_video": "Analisando... Obtendo formatos do primeiro vídeo",
|
||||
"analyzing_extracting_ytdlp": "Analisando (30%)... Extraindo informações",
|
||||
"analyzing_processing_data": "Analisando (60%)... Processando dados",
|
||||
"analyzing_processing_formats_ytdlp": "Analisando (75%)... Processando formatos",
|
||||
"analyzing_loading_thumbnail_ytdlp": "Analisando (85%)... Carregando miniatura",
|
||||
"analyzing_processing_subtitles_ytdlp": "Analisando (90%)... Processando legendas",
|
||||
"select_subtitles": "Selecionar Legendas...",
|
||||
"sponsorblock_categories": "Categorias SponsorBlock...",
|
||||
"invalid_url_or_enter": "URL inválido ou por favor insira um URL.",
|
||||
"zero_selected": "0 selecionados",
|
||||
"analyze_first_tooltip": "Por favor analise o vídeo primeiro",
|
||||
"audio_mode_disabled": "Não disponível no modo apenas áudio",
|
||||
"select_subtitles_first": "Por favor selecione legendas primeiro",
|
||||
"settings_tooltip": "Caminho atual: {path}\nLimite de velocidade: {speed_limit}",
|
||||
"speed_limit_none": "Nenhum",
|
||||
"open_folder_error": "Não foi possível abrir a pasta: {error}",
|
||||
"time_range_set": "Seção definida: {section}"
|
||||
},
|
||||
"sponsorblock": {
|
||||
"sponsor": "Patrocinador",
|
||||
"sponsor_desc": "Promoção paga, referências pagas e anúncios diretos",
|
||||
"selfpromo": "Promoção Não Paga/Própria",
|
||||
"selfpromo_desc": "Promoção não paga do próprio conteúdo dos criadores",
|
||||
"interaction": "Lembrete de Interação",
|
||||
"interaction_desc": "Pedindo aos espectadores para curtir, se inscrever ou seguir nas redes sociais",
|
||||
"intro": "Introdução",
|
||||
"intro_desc": "Introdução do vídeo que pode ser pulada",
|
||||
"outro": "Encerramento/Cards Finais",
|
||||
"outro_desc": "Créditos ou quando o vídeo termina",
|
||||
"preview": "Prévia/Recapitulação",
|
||||
"preview_desc": "Recapitulação rápida de vídeos anteriores ou prévia do que está por vir",
|
||||
"music_offtopic": "Seção Não Musical",
|
||||
"music_offtopic_desc": "Apenas para vídeos musicais. Marca seções não musicais",
|
||||
"filler": "Tangente de Preenchimento",
|
||||
"filler_desc": "Cenas tangenciais adicionadas apenas para preenchimento ou humor"
|
||||
},
|
||||
"video_info": {
|
||||
"channel": "Canal",
|
||||
"views": "👁 Visualizações",
|
||||
"likes": "👍 Curtidas",
|
||||
"upload_date": "📅 Data de envio",
|
||||
"duration": "⏱ Duração",
|
||||
"unknown_channel": "Canal desconhecido",
|
||||
"unknown_date": "Data desconhecida",
|
||||
"unknown_title": "Título desconhecido"
|
||||
},
|
||||
"command": {
|
||||
"running": "Executando...",
|
||||
"run_command": "Executar Comando"
|
||||
},
|
||||
"selection": {
|
||||
"none_selected": "0 selecionadas",
|
||||
"one_selected": "1 categoria selecionada",
|
||||
"count_selected": "{count} selecionadas"
|
||||
},
|
||||
"status": {
|
||||
"ready": "Pronto",
|
||||
"file_exists": "⚠️ Arquivo já existe",
|
||||
"video_file_exists": "⚠️ Arquivo de vídeo já existe",
|
||||
"audio_file_exists": "⚠️ Arquivo de áudio já existe",
|
||||
"subtitle_file_exists": "⚠️ Arquivo de legendas já existe",
|
||||
"cancelling": "Cancelando download...",
|
||||
"thumbnail_saved": "✅ Miniatura salva: {filename}",
|
||||
"thumbnail_error": "❌ Erro na miniatura: {error}",
|
||||
"thumbnail_no_image": "Nenhuma miniatura disponível para salvar"
|
||||
},
|
||||
"errors": {
|
||||
"playlist_no_videos": "Erro: A playlist não contém vídeos válidos.",
|
||||
"playlist_no_url": "Erro: Não foi possível obter a URL do primeiro vídeo da playlist.",
|
||||
"ytdlp_not_found": "Erro: Executável yt-dlp não encontrado. Por favor, instale o yt-dlp primeiro.",
|
||||
"ytdlp_not_found_path": "Erro: Executável yt-dlp não encontrado. Isso pode ser devido a uma instalação inadequada ou problema de PATH.",
|
||||
"no_data_returned": "Erro: Nenhum dado retornado do yt-dlp",
|
||||
"no_format_info": "Erro: Nenhuma informação de formato disponível.",
|
||||
"analysis_timeout": "Erro: Tempo de análise esgotado. Por favor, tente novamente.",
|
||||
"invalid_speed_limit": "❌ Erro: Valor de limite de velocidade inválido definido nas configurações.",
|
||||
"ytdlp_failed": "Erro: yt-dlp falhou: {error}",
|
||||
"parse_failed": "Erro: Falha ao analisar a saída do yt-dlp: {error}",
|
||||
"analysis_failed": "Erro: Análise falhou: {error}",
|
||||
"generic_error": "Erro: {error}",
|
||||
"download_failed_return_code_conflict": "O download falhou com o código de retorno {return_code}. Isso pode ser devido a um conflito com várias instalações do yt-dlp. Tente desinstalar qualquer yt-dlp instalado no sistema (ex.: snap ou apt) e reinicie o aplicativo.",
|
||||
"download_failed_return_code": "O download falhou com o código de retorno {return_code}",
|
||||
"direct_command_error": "Erro no comando direto: {error}"
|
||||
},
|
||||
"update_dialog": {
|
||||
"title": "Atualização Disponível",
|
||||
"new_version_available": "Uma nova versão do YTSage está disponível!",
|
||||
"current_version_label": "Versão atual:",
|
||||
"latest_version_label": "Última versão:",
|
||||
"changelog": "Registro de alterações",
|
||||
"download_update": "Baixar Atualização",
|
||||
"remind_later": "Lembrar Mais Tarde"
|
||||
},
|
||||
"playlist": {
|
||||
"unknown": "Playlist Desconhecida",
|
||||
"total_videos": "Total de Vídeos: {count}",
|
||||
"display_format": "Playlist: {title} | {count} vídeos",
|
||||
"select_videos_title": "Selecionar Vídeos da Playlist"
|
||||
},
|
||||
"subtitle_selection": {
|
||||
"count_selected": "{count} selecionadas"
|
||||
},
|
||||
"file_exists_dialog": {
|
||||
"title": "Arquivo já existe",
|
||||
"message": "O arquivo já existe:\n{filename}",
|
||||
"info": "Este vídeo já foi baixado."
|
||||
},
|
||||
"auto_update": {
|
||||
"last_check_never": "Última verificação: Nunca",
|
||||
"last_check": "Última verificação: {time}",
|
||||
"next_check_disabled": "Próxima verificação: Desativada",
|
||||
"next_check_startup": "Próxima verificação: Na inicialização",
|
||||
"next_check_overdue": "Próxima verificação: Agora (atrasada)",
|
||||
"next_check": "Próxima verificação: {time}",
|
||||
"next_check_error": "Próxima verificação: Erro ao calcular",
|
||||
"checking": "🔄 Verificando...",
|
||||
"check_now": "🔍 Verificar atualizações agora",
|
||||
"current_version": "Versão atual do yt-dlp: {version}"
|
||||
},
|
||||
"url_validation": {
|
||||
"empty_url": "O URL não pode estar vazio",
|
||||
"invalid_format": "Formato de URL inválido",
|
||||
"invalid_scheme": "O URL deve começar com http:// ou https://",
|
||||
"missing_domain": "URL inválido: nome de domínio ausente",
|
||||
"unsupported_platform": "YTSage suporta apenas URLs do YouTube e YouTube Music.\nO domínio '{domain}' não é suportado.",
|
||||
"invalid_youtu_be": "URL youtu.be inválido: ID do vídeo ausente"
|
||||
},
|
||||
"ytdlp_errors": {
|
||||
"private_video": "Este é um vídeo privado. Você pode baixá-lo fazendo login em sua conta usando cookies.\nVá para 'Opções Personalizadas' → 'Login com Cookies' → 'Extrair cookies do navegador' para autenticar.",
|
||||
"age_restricted": "Este vídeo tem restrição de idade. Você precisa estar conectado para acessá-lo.\nUse 'Opções Personalizadas' → 'Login com Cookies' para autenticar com sua conta.",
|
||||
"geo_blocked": "Este vídeo não está disponível em sua região (geo-bloqueado).\nVocê pode precisar usar uma VPN ou o vídeo pode estar restrito em seu país.",
|
||||
"video_unavailable": "Este vídeo foi removido ou não está mais disponível.\nO vídeo pode ter sido excluído pelo uploader ou removido devido a violações de políticas.",
|
||||
"live_stream": "Esta é uma transmissão ao vivo que não pode ser baixada enquanto está ativa.\nAguarde o término da transmissão e tente baixar a versão arquivada.",
|
||||
"playlist_error": "Não é possível acessar esta playlist. Ela pode ser privada, excluída ou vazia.\nVerifique se a playlist existe e está acessível publicamente.",
|
||||
"network_error": "Erro de conexão de rede. Verifique sua conexão com a internet e tente novamente.\nSe o problema persistir, o servidor de vídeo pode estar temporariamente indisponível.",
|
||||
"invalid_url": "URL inválido ou não suportado. Verifique o link e tente novamente.\nCertifique-se de usar um URL válido do YouTube, Vimeo ou outra plataforma suportada.",
|
||||
"premium_content": "Este conteúdo requer YouTube Premium ou associação ao canal.\nVocê precisa fazer login com uma conta que tenha acesso a este conteúdo.",
|
||||
"copyright_blocked": "Este vídeo está bloqueado devido a reivindicações de direitos autorais.\nO proprietário do conteúdo restringiu o acesso a este vídeo.",
|
||||
"extraction_failed": "Falha ao extrair informações do vídeo. Isso pode ser um problema temporário.\nTente novamente em alguns minutos ou verifique se o link do vídeo está correto.",
|
||||
"generic_error": "Não foi possível extrair informações do vídeo. Verifique seu link.\nDetalhes técnicos: {error}"
|
||||
},
|
||||
"history": {
|
||||
"title": "Histórico de Downloads",
|
||||
"clear_all": "Limpar Tudo",
|
||||
"clear_confirm_title": "Limpar Histórico?",
|
||||
"clear_confirm_message": "Tem certeza? Isto não pode ser desfeito.",
|
||||
"no_history": "Nenhum histórico ainda",
|
||||
"no_history_description": "Seus downloads aparecerão aqui",
|
||||
"loading": "Carregando histórico...",
|
||||
"search_placeholder": "Pesquisar...",
|
||||
"open_location": "Abrir Local",
|
||||
"redownload": "Baixar Novamente",
|
||||
"remove": "Remover",
|
||||
"file_not_found": "Arquivo não encontrado",
|
||||
"file_not_found_message": "O arquivo foi movido ou excluído:\n{path}",
|
||||
"downloaded_on": "Baixado: {date}",
|
||||
"file_size": "Tamanho: {size}",
|
||||
"audio_download": "Áudio",
|
||||
"video_download": "Vídeo",
|
||||
"remove_confirm_title": "Remover?",
|
||||
"remove_confirm_message": "Remover do histórico?\n\n{title}",
|
||||
"item_removed": "Removido",
|
||||
"history_cleared": "Histórico limpo",
|
||||
"entries_count": "{count} downloads",
|
||||
"one_entry": "1 download",
|
||||
"redownload_confirm_title": "Baixar Novamente?",
|
||||
"redownload_confirm_message": "Baixar novamente?\n\n{title}",
|
||||
"redownload_started": "Download iniciado",
|
||||
"no_url_error": "Nenhuma URL encontrada no item do histórico",
|
||||
"redownload_failed": "Falha ao iniciar o novo download: {error}"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"installation_title": "Instalação do FFmpeg",
|
||||
"installation_message": "O YTSage precisa do FFmpeg para processar vídeos.\n\nEscolha uma opção de instalação abaixo:",
|
||||
"install_button": "Instalar FFmpeg",
|
||||
"manual_guide": "Guia manual",
|
||||
"installation_failed": "A instalação do FFmpeg encontrou um problema.",
|
||||
"already_installed": "O FFmpeg já está instalado!",
|
||||
"installation_complete": "Instalação concluída. Você pode fechar este diálogo e continuar usando o YTSage.",
|
||||
"installing": "Instalando FFmpeg... Aguarde",
|
||||
"install_success": "FFmpeg instalado com sucesso!",
|
||||
"installation_complete_close": "Instalação concluída. Agora você pode fechar este diálogo e continuar usando o YTSage.",
|
||||
"try_manual": "Tente usar o guia de instalação manual."
|
||||
},
|
||||
"ytdlp_setup": {
|
||||
"required_title": "Configuração do yt-dlp necessária",
|
||||
"description": "O YTSage precisa do yt-dlp para baixar vídeos.<br><br>O yt-dlp não foi encontrado no diretório local do aplicativo. O YTSage precisa configurar o yt-dlp para o seu sistema {os_name}.<br><br>Escolha uma opção abaixo:",
|
||||
"option_auto": "Baixar automaticamente (recomendado)",
|
||||
"option_manual": "Selecionar caminho manualmente",
|
||||
"setup_button": "Configurar yt-dlp",
|
||||
"downloading": "Baixando yt-dlp...",
|
||||
"success": "yt-dlp foi instalado com sucesso!",
|
||||
"error": "Erro: {error}",
|
||||
"download_failed_title": "Falha no download",
|
||||
"download_failed_message": "Falha ao baixar yt-dlp: {error}",
|
||||
"select_executable_title": "Selecionar executável do yt-dlp",
|
||||
"copied_to": "yt-dlp copiado com sucesso para {path}",
|
||||
"setup_error_title": "Erro de configuração",
|
||||
"copy_error": "Erro ao copiar yt-dlp para o diretório do aplicativo: {error}",
|
||||
"invalid_executable_title": "Executável inválido",
|
||||
"invalid_executable_message": "O arquivo selecionado não parece ser um executável válido do yt-dlp.",
|
||||
"verify_error": "Erro ao verificar o executável do yt-dlp: {error}",
|
||||
"setup_failed_title": "Configuração falhou",
|
||||
"setup_failed_message": "Falha ao configurar o yt-dlp. Alguns recursos podem não funcionar corretamente.",
|
||||
"success_dialog_title": "Configuração do yt-dlp",
|
||||
"success_dialog_message": "yt-dlp foi configurado com sucesso em:\n{path}",
|
||||
"file_filter_windows": "Arquivos executáveis (*.exe)",
|
||||
"file_filter_all": "Todos os arquivos (*)"
|
||||
},
|
||||
"ffmpeg_updater": {
|
||||
"title": "Verificador de Versão FFmpeg",
|
||||
"current_version": "Versão Atual:",
|
||||
"latest_version": "Última Versão:",
|
||||
"status_up_to_date": "✓ Atualizado",
|
||||
"status_update_available": "⚠ Atualização disponível",
|
||||
"status_not_installed": "✗ Não instalado",
|
||||
"status_idle": "Clique em 'Verificar Versão' para começar",
|
||||
"status_checking": "🔄 Verificando versão...",
|
||||
"check_updates": "Verificar Versão",
|
||||
"check_failed": "Falha ao verificar versão. Verifique sua conexão com a Internet.",
|
||||
"description": "Verifique sua versão do FFmpeg e compare com a última versão disponível.",
|
||||
"guide_info": " Para instalar ou atualizar o FFmpeg, <a href='https://github.com/oop7/ffmpeg-install-guide'>clique aqui para ver nosso guia completo de instalação</a>."
|
||||
},
|
||||
"deno": {
|
||||
"setup_required": "Configuração do Deno Necessária",
|
||||
"setup_description": "O YTSage requer o Deno para executar determinados recursos.<br><br>O Deno não foi encontrado no diretório local do aplicativo. O YTSage precisa configurar o Deno para o seu sistema {os_name}.<br><br>Clique em 'Configurar Deno' para baixar e instalar automaticamente.",
|
||||
"setup_button": "Configurar Deno",
|
||||
"downloading": "Baixando Deno...",
|
||||
"extracting": "Extraindo Deno...",
|
||||
"verifying": "Verificando Deno...",
|
||||
"success": "Deno foi instalado com sucesso!",
|
||||
"download_failed": "Falha no Download",
|
||||
"download_error": "Falha ao baixar o Deno: {error}",
|
||||
"verification_failed": "Falha na verificação SHA256. O arquivo baixado pode estar corrompido ou adulterado.",
|
||||
"setup_failed": "Falha ao configurar o Deno. Alguns recursos podem não funcionar corretamente.",
|
||||
"setup_error": "Erro de Configuração"
|
||||
},
|
||||
"deno_updater": {
|
||||
"title": "Verificador e Atualizador de Versão do Deno",
|
||||
"description": "Verifique sua versão do Deno e atualize para a versão mais recente.",
|
||||
"current_version": "Versão Atual:",
|
||||
"latest_version": "Última Versão:",
|
||||
"status_idle": "Clique em 'Verificar Atualizações' para começar",
|
||||
"status_checking": "🔄 Verificando atualizações...",
|
||||
"status_up_to_date": "✓ Atualizado",
|
||||
"status_update_available": "⚠ Atualização disponível",
|
||||
"status_not_installed": "✗ Não instalado",
|
||||
"check_updates": "Verificar Atualizações",
|
||||
"update_now": "Atualizar Deno",
|
||||
"updating": "🔄 Atualizando Deno...",
|
||||
"update_success": "✅ Deno foi atualizado com sucesso!",
|
||||
"update_failed": "❌ Falha na atualização: {error}",
|
||||
"check_failed": "Falha ao verificar atualizações. Verifique sua conexão com a Internet."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,610 @@
|
||||
{
|
||||
"language": {
|
||||
"display_name": "Русский (Russian)",
|
||||
"select_language": "Выберите язык:",
|
||||
"current_language": "Текущий язык: {language}",
|
||||
"restart_required": "Изменения языка вступят в силу после перезапуска приложения.",
|
||||
"english": "Английский",
|
||||
"spanish": "Испанский",
|
||||
"portuguese": "Португальский",
|
||||
"russian": "Русский",
|
||||
"chinese": "中文 (简体) (Chinese Simplified)",
|
||||
"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": "OK",
|
||||
"apply": "Применить",
|
||||
"close": "Закрыть",
|
||||
"run_command": "Выполнить команду",
|
||||
"custom_command_help": "Помощь",
|
||||
"about": "О программе",
|
||||
"analyze": "Анализировать",
|
||||
"paste_url": "Вставить URL",
|
||||
"select_videos": "Выбрать видео...",
|
||||
"video": "Видео",
|
||||
"audio_only": "Только аудио",
|
||||
"custom_options": "Пользовательские опции",
|
||||
"trim_video": "Обрезать видео",
|
||||
"download_settings": "Настройки загрузки",
|
||||
"update": "Обновить yt-dlp",
|
||||
"select_defaults": "Выбрать по умолчанию",
|
||||
"select_all": "Выбрать всё",
|
||||
"deselect_all": "Снять выделение",
|
||||
"open_folder": "Открыть расположение папки",
|
||||
"history": "История"
|
||||
},
|
||||
"dialogs": {
|
||||
"custom_options": "Пользовательские опции",
|
||||
"settings": "Настройки",
|
||||
"select_folder": "Выбрать папку загрузки",
|
||||
"sponsorblock_categories": "Категории SponsorBlock",
|
||||
"sponsorblock_description": "Выберите типы сегментов видео, которые будут автоматически удалены во время загрузки.\nSponsorBlock использует данные, отправленные сообществом, для идентификации этих сегментов.",
|
||||
"select_subtitles": "Выбрать субтитры",
|
||||
"filter_languages_placeholder": "Фильтр языков (например, en, ru)...",
|
||||
"no_subtitles_available": "Субтитры недоступны",
|
||||
"matching": "соответствующие",
|
||||
"ytdlp_log_title": "Журнал yt-dlp"
|
||||
},
|
||||
"tabs": {
|
||||
"cookies": "Войти через Cookie",
|
||||
"custom_command": "Пользовательская команда",
|
||||
"proxy": "Прокси",
|
||||
"language": "Язык",
|
||||
"updater": "Обновление"
|
||||
},
|
||||
"cookies": {
|
||||
"help_text": "Выберите способ предоставления cookie для входа в систему.\nЭто позволяет загружать приватные видео и аудио премиум качества.",
|
||||
"cookie_source": "Источник Cookie",
|
||||
"use_cookie_file": "Использовать файл cookie",
|
||||
"extract_from_browser": "Извлечь из браузера",
|
||||
"recommended": "Рекомендуется",
|
||||
"cookie_file": "Файл Cookie",
|
||||
"cookie_file_placeholder": "Путь к файлу cookies.txt...",
|
||||
"browser_selection": "Выбор браузера",
|
||||
"browser_help": "Выберите браузер для извлечения cookie:",
|
||||
"browser_label": "Браузер:",
|
||||
"profile_label": "Профиль:",
|
||||
"profile_placeholder": "по умолчанию",
|
||||
"browser_extract_message": "Cookie браузера будут извлечены при применении",
|
||||
"file_selected_message": "Файл cookie выбран - Нажмите OK для применения",
|
||||
"select_file_title": "Выбрать файл Cookie",
|
||||
"file_filter": "Файлы cookie (*.txt *.lwp)",
|
||||
"file_selected_title": "Файл Cookie применён",
|
||||
"file_applied_message": "Файл cookie применён: {path}",
|
||||
"browser_selected_title": "Cookie браузера применены",
|
||||
"browser_applied_message": "Cookie браузера будут извлечены из: {browser}",
|
||||
"cleared_title": "Cookie очищены",
|
||||
"cleared_message": "Настройки cookie были очищены",
|
||||
"active_browser": "✓ Активны: cookie браузера ({browser})",
|
||||
"active_file": "✓ Активен: файл cookie ({file})",
|
||||
"none_active": "○ Нет активных cookie"
|
||||
},
|
||||
"custom_command": {
|
||||
"help_text": "Введите пользовательскую команду yt-dlp ниже. Текущий URL будет добавлен автоматически.<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} - URL видео\n{output} - Выходной каталог\n\nПример: --write-info-json --write-thumbnail",
|
||||
"full_command": "🔧 Полная команда: {command}",
|
||||
"command_success": "✅ Пользовательская команда выполнена успешно!",
|
||||
"command_failed": "❌ Команда завершилась с кодом ошибки {code}",
|
||||
"command_error": "❌ Ошибка выполнения пользовательской команды: {error}",
|
||||
"error_no_url": "❌ Ошибка: URL не указан. Введите URL в главном окне.",
|
||||
"error_no_command": "❌ Ошибка: команда не указана. Введите аргументы yt-dlp.",
|
||||
"executing": "🚀 Выполняется пользовательская команда yt-dlp",
|
||||
"url_label": "📍 URL: {url}",
|
||||
"args_label": "⚙️ Аргументы: {command}",
|
||||
"download_path_label": "📁 Путь загрузки: {path}",
|
||||
"separator": "=================================================="
|
||||
},
|
||||
"proxy": {
|
||||
"help_text": "Настройте параметры прокси для загрузки. Оставьте пустым для прямого подключения.",
|
||||
"main_proxy": "Основной прокси",
|
||||
"main_proxy_help": "Основной прокси-сервер для всех загрузок. Поддерживает протоколы HTTP/HTTPS и SOCKS5.",
|
||||
"proxy_url_label": "URL прокси:",
|
||||
"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": "URL прокси для обхода гео-ограничений:",
|
||||
"geo_proxy_url_placeholder": "http://geo-proxy:port",
|
||||
"clear_main_proxy": "Очистить основной прокси",
|
||||
"clear_geo_proxy": "Очистить гео-прокси",
|
||||
"proxy_url": "URL прокси",
|
||||
"proxy_placeholder": "http://proxy:port или socks5://proxy:port",
|
||||
"geo_bypass": "Прокси для обхода гео-ограничений",
|
||||
"geo_bypass_placeholder": "http://proxy:port для обхода гео-блокировок",
|
||||
"invalid_main_url": "Неверный формат URL основного прокси",
|
||||
"invalid_geo_url": "Неверный формат URL гео-прокси",
|
||||
"main_configured": "Основной прокси настроен",
|
||||
"geo_configured": "Гео-прокси настроен",
|
||||
"set_title": "Прокси задан",
|
||||
"set_message": "Основной прокси задан и сохранён: {proxy}",
|
||||
"geo_set_title": "Гео‑прокси задан",
|
||||
"geo_set_message": "Прокси для гео‑проверки задан и сохранён: {proxy}",
|
||||
"cleared_title": "Настройки прокси очищены",
|
||||
"cleared_message": "Все настройки прокси очищены и сохранены.",
|
||||
"saved_main": "Сохранён основной прокси: {proxy}",
|
||||
"saved_geo": "Сохранён гео‑прокси: {proxy}"
|
||||
},
|
||||
"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": "Пожалуйста, введите URL сначала.",
|
||||
"please_set_path": "Пожалуйста, установите путь загрузки сначала.",
|
||||
"please_enter_url_and_path": "Пожалуйста, введите URL и установите путь загрузки.",
|
||||
"please_select_format": "Пожалуйста, выберите формат сначала.",
|
||||
"downloading_fallback": "⚡ Загрузка..."
|
||||
},
|
||||
"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, управляемого приложением...",
|
||||
"update_failed": "❌ Не удалось обновить yt-dlp. Попробуйте еще раз или проверьте подключение к интернету.",
|
||||
"binary_updated": "✅ Бинарный файл успешно обновлен!",
|
||||
"update_failed_stderr": "❌ Обновление yt-dlp не удалось: {error}",
|
||||
"update_timeout": "❌ Время ожидания обновления yt-dlp истекло.",
|
||||
"unexpected_error": "❌ Неожиданная ошибка во время обновления: {error}",
|
||||
"already_up_to_date": "✅ yt-dlp уже актуален!",
|
||||
"update_success": "✅ yt-dlp был успешно обновлен!",
|
||||
"already_latest": "yt-dlp актуален (версия {version})",
|
||||
"network_error": "❌ Ошибка сети во время обновления: {error}",
|
||||
"general_error": "❌ Обновление не удалось: {error}",
|
||||
"update_in_progress_title": "Идет обновление",
|
||||
"update_in_progress_message": "yt-dlp обновляется. Пожалуйста, подождите."
|
||||
},
|
||||
"about": {
|
||||
"title": "О YTSage",
|
||||
"version": "Версия {version}",
|
||||
"description": "Современный загрузчик YouTube с чистым интерфейсом 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": "Проверять при каждом запуске (минимум 1 час между проверками)",
|
||||
"check_daily": "Проверять ежедневно",
|
||||
"check_weekly": "Проверять еженедельно",
|
||||
"check_updates_now": "Обновить yt-dlp",
|
||||
"update_check_title": "Проверка обновлений",
|
||||
"could_not_determine_version": "Не удалось определить текущую версию yt-dlp.",
|
||||
"update_available_dialog": "Доступно обновление!\n\nТекущая: {current}\nПоследняя: {latest}\n\nНажмите OK для продолжения обновления.",
|
||||
"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}",
|
||||
"ytdlp_channel": "Канал выпуска yt-dlp",
|
||||
"ytdlp_channel_stable": "Стабильный (Протестированные релизы)",
|
||||
"ytdlp_channel_nightly": "Nightly (Ежедневные обновления, рекомендовано yt-dlp)",
|
||||
"ytdlp_channel_description": "Выберите между стабильными и nightly релизами. Nightly сборки обновляются ежедневно с последними исправлениями и функциями. Вы можете переключать каналы в любое время.",
|
||||
"ytdlp_switching_channel": "Переключение на канал {channel}...",
|
||||
"ytdlp_channel_switched": "✅ Успешно переключено на канал {channel}!",
|
||||
"ytdlp_channel_switch_failed": "❌ Не удалось переключить канал: {error}",
|
||||
"ytdlp_current_channel": "Текущий канал: {channel}",
|
||||
"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}",
|
||||
"output_format_settings": "Настройки выходного формата",
|
||||
"force_output_format": "Принудительно задать выходной формат при объединении",
|
||||
"preferred_format": "Предпочтительный формат:",
|
||||
"force_format_help": "Когда включено, объединённые видео будут конвертированы в ваш предпочтительный формат. Отключите, чтобы yt-dlp решал автоматически.",
|
||||
"format_mp4": "MP4 (Наиболее совместимый)",
|
||||
"format_webm": "WebM (Современный, открытый)",
|
||||
"format_mkv": "MKV (Многофункциональный)",
|
||||
"audio_format_settings": "Настройки формата аудио",
|
||||
"force_audio_format": "Принудительный формат аудио для загрузки только аудио",
|
||||
"preferred_audio_format": "Предпочтительный формат аудио:",
|
||||
"force_audio_format_help": "При включении загрузки только аудио будут конвертированы в ваш предпочтительный формат. Это применяется только при загрузке аудио форматов.",
|
||||
"audio_format_best": "Лучшее (Без конвертации)",
|
||||
"audio_format_aac": "AAC (Хорошо для редактирования)",
|
||||
"audio_format_mp3": "MP3 (Универсальный)",
|
||||
"audio_format_flac": "FLAC (Без потерь)",
|
||||
"audio_format_wav": "WAV (Несжатый)",
|
||||
"audio_format_opus": "Opus (Эффективный)",
|
||||
"audio_format_m4a": "M4A (Apple)",
|
||||
"audio_format_vorbis": "Vorbis (Открытый)"
|
||||
},
|
||||
"main_ui": {
|
||||
"url_placeholder": "Введите URL видео или плейлиста YouTube",
|
||||
"merge_subtitles": "Объединить субтитры",
|
||||
"save_thumbnail": "Сохранить миниатюру",
|
||||
"save_description": "Сохранить описание",
|
||||
"embed_chapters": "Встроить главы",
|
||||
"subtitles_selected": "выбрано: {count}",
|
||||
"all_selected": "Все выбраны",
|
||||
"select_videos_all": "Выбрать видео... (Все выбраны)",
|
||||
"please_enter_url": "Пожалуйста, введите URL сначала",
|
||||
"error_title": "Ошибка",
|
||||
"cookie_file_selected_title": "Файл Cookie выбран",
|
||||
"cookie_file_selected_message": "Файл cookie выбран: {path}",
|
||||
"browser_cookies_selected_title": "Cookie браузера выбраны",
|
||||
"browser_cookies_selected_message": "Cookie браузера будут извлечены из: {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_fetching_first_video": "Анализ... Получение форматов для первого видео",
|
||||
"analyzing_extracting_ytdlp": "Анализ (30%)... Извлечение информации",
|
||||
"analyzing_processing_data": "Анализ (60%)... Обработка данных",
|
||||
"analyzing_processing_formats_ytdlp": "Анализ (75%)... Обработка форматов",
|
||||
"analyzing_loading_thumbnail_ytdlp": "Анализ (85%)... Загрузка миниатюры",
|
||||
"analyzing_processing_subtitles_ytdlp": "Анализ (90%)... Обработка субтитров",
|
||||
"select_subtitles": "Выбрать субтитры...",
|
||||
"sponsorblock_categories": "Категории SponsorBlock...",
|
||||
"invalid_url_or_enter": "Неверный URL или пожалуйста введите URL.",
|
||||
"zero_selected": "0 выбрано",
|
||||
"analyze_first_tooltip": "Пожалуйста, сначала проанализируйте видео",
|
||||
"audio_mode_disabled": "Недоступно в режиме только аудио",
|
||||
"select_subtitles_first": "Пожалуйста, сначала выберите субтитры",
|
||||
"settings_tooltip": "Текущий путь: {path}\nЛимит скорости: {speed_limit}",
|
||||
"speed_limit_none": "Нет",
|
||||
"open_folder_error": "Не удалось открыть папку: {error}",
|
||||
"time_range_set": "Установлен участок: {section}"
|
||||
},
|
||||
"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": "1 категория выбрана",
|
||||
"count_selected": "выбрано: {count}"
|
||||
},
|
||||
"status": {
|
||||
"ready": "Готово",
|
||||
"file_exists": "⚠️ Файл уже существует",
|
||||
"video_file_exists": "⚠️ Видеофайл уже существует",
|
||||
"audio_file_exists": "⚠️ Аудиофайл уже существует",
|
||||
"subtitle_file_exists": "⚠️ Файл субтитров уже существует",
|
||||
"cancelling": "Отмена загрузки...",
|
||||
"thumbnail_saved": "✅ Миниатюра сохранена: {filename}",
|
||||
"thumbnail_error": "❌ Ошибка миниатюры: {error}",
|
||||
"thumbnail_no_image": "Нет доступной миниатюры для сохранения"
|
||||
},
|
||||
"errors": {
|
||||
"playlist_no_videos": "Ошибка: Плейлист не содержит действительных видео.",
|
||||
"playlist_no_url": "Ошибка: Не удалось получить 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}",
|
||||
"download_failed_return_code_conflict": "Загрузка завершилась ошибкой с кодом {return_code}. Это может быть из-за конфликта нескольких установок yt-dlp. Попробуйте удалить системно установленный yt-dlp (например, через snap или apt) и перезапустите приложение.",
|
||||
"download_failed_return_code": "Загрузка не удалась, код {return_code}",
|
||||
"direct_command_error": "Ошибка в прямой команде: {error}"
|
||||
},
|
||||
"update_dialog": {
|
||||
"title": "Доступно обновление",
|
||||
"new_version_available": "Доступна новая версия YTSage!",
|
||||
"current_version_label": "Текущая версия:",
|
||||
"latest_version_label": "Последняя версия:",
|
||||
"changelog": "Список изменений",
|
||||
"download_update": "Скачать обновление",
|
||||
"remind_later": "Напомнить позже"
|
||||
},
|
||||
"playlist": {
|
||||
"unknown": "Неизвестный плейлист",
|
||||
"total_videos": "Всего видео: {count}",
|
||||
"display_format": "Плейлист: {title} | {count} видео",
|
||||
"select_videos_title": "Выбрать Видео из Плейлиста"
|
||||
},
|
||||
"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": "🔍 Проверить обновления сейчас",
|
||||
"current_version": "Текущая версия yt-dlp: {version}"
|
||||
},
|
||||
"url_validation": {
|
||||
"empty_url": "URL не может быть пустым",
|
||||
"invalid_format": "Недопустимый формат URL",
|
||||
"invalid_scheme": "URL должен начинаться с http:// или https://",
|
||||
"missing_domain": "Недопустимый URL: отсутствует доменное имя",
|
||||
"unsupported_platform": "YTSage поддерживает только URL-адреса YouTube и YouTube Music.\nДомен '{domain}' не поддерживается.",
|
||||
"invalid_youtu_be": "Недопустимый URL youtu.be: отсутствует ID видео"
|
||||
},
|
||||
"ytdlp_errors": {
|
||||
"private_video": "Это частное видео. Вы можете загрузить его, войдя в свою учетную запись с помощью cookies.\nПерейдите в 'Пользовательские параметры' → 'Вход с помощью Cookies' → 'Извлечь cookies из браузера' для аутентификации.",
|
||||
"age_restricted": "Это видео имеет возрастные ограничения. Для доступа необходимо войти в систему.\nИспользуйте 'Пользовательские параметры' → 'Вход с помощью Cookies' для аутентификации с вашей учетной записью.",
|
||||
"geo_blocked": "Это видео недоступно в вашем регионе (геоблокировка).\nВам может понадобиться VPN или видео может быть ограничено в вашей стране.",
|
||||
"video_unavailable": "Это видео было удалено или больше не доступно.\nВидео могло быть удалено загрузчиком или удалено из-за нарушения правил.",
|
||||
"live_stream": "Это прямая трансляция, которую нельзя загрузить во время активности.\nДождитесь окончания трансляции, затем попробуйте загрузить архивную версию.",
|
||||
"playlist_error": "Не удается получить доступ к этому плейлисту. Он может быть частным, удаленным или пустым.\nПроверьте, существует ли плейлист и доступен ли он публично.",
|
||||
"network_error": "Ошибка сетевого подключения. Проверьте подключение к Интернету и повторите попытку.\nЕсли проблема сохраняется, видеосервер может быть временно недоступен.",
|
||||
"invalid_url": "Недопустимый или неподдерживаемый URL. Проверьте ссылку и повторите попытку.\nУбедитесь, что вы используете действительный URL YouTube, Vimeo или другой поддерживаемой платформы.",
|
||||
"premium_content": "Для этого контента требуется YouTube Premium или членство в канале.\nВам необходимо войти с учетной записью, имеющей доступ к этому контенту.",
|
||||
"copyright_blocked": "Это видео заблокировано из-за претензий по авторским правам.\nВладелец контента ограничил доступ к этому видео.",
|
||||
"extraction_failed": "Не удалось извлечь информацию о видео. Это может быть временной проблемой.\nПовторите попытку через несколько минут или проверьте правильность ссылки на видео.",
|
||||
"generic_error": "Не удалось извлечь информацию о видео. Проверьте вашу ссылку.\nТехнические детали: {error}"
|
||||
},
|
||||
"history": {
|
||||
"title": "История Загрузок",
|
||||
"clear_all": "Очистить Всё",
|
||||
"clear_confirm_title": "Очистить Историю?",
|
||||
"clear_confirm_message": "Вы уверены? Это нельзя отменить.",
|
||||
"no_history": "История пока пуста",
|
||||
"no_history_description": "Загрузки появятся здесь",
|
||||
"loading": "Загрузка истории...",
|
||||
"search_placeholder": "Поиск...",
|
||||
"open_location": "Открыть Папку",
|
||||
"redownload": "Загрузить Снова",
|
||||
"remove": "Удалить",
|
||||
"file_not_found": "Файл не найден",
|
||||
"file_not_found_message": "Файл был перемещен или удален:\n{path}",
|
||||
"downloaded_on": "Загружено: {date}",
|
||||
"file_size": "Размер: {size}",
|
||||
"audio_download": "Аудио",
|
||||
"video_download": "Видео",
|
||||
"remove_confirm_title": "Удалить?",
|
||||
"remove_confirm_message": "Удалить из истории?\n\n{title}",
|
||||
"item_removed": "Удалено",
|
||||
"history_cleared": "История очищена",
|
||||
"entries_count": "{count} загрузок",
|
||||
"one_entry": "1 загрузка",
|
||||
"redownload_confirm_title": "Загрузить Снова?",
|
||||
"redownload_confirm_message": "Загрузить снова?\n\n{title}",
|
||||
"redownload_started": "Загрузка начата",
|
||||
"no_url_error": "В записи истории не найден URL",
|
||||
"redownload_failed": "Не удалось запустить повторную загрузку: {error}"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"installation_title": "Установка FFmpeg",
|
||||
"installation_message": "YTSage требуется FFmpeg для обработки видео.\n\nВыберите вариант установки ниже:",
|
||||
"install_button": "Установить FFmpeg",
|
||||
"manual_guide": "Руководство вручную",
|
||||
"installation_failed": "При установке FFmpeg возникла проблема.",
|
||||
"already_installed": "FFmpeg уже установлен!",
|
||||
"installation_complete": "Установка завершена. Вы можете закрыть это окно и продолжить использовать YTSage.",
|
||||
"installing": "Установка FFmpeg... Пожалуйста, подождите",
|
||||
"install_success": "FFmpeg успешно установлен!",
|
||||
"installation_complete_close": "Установка завершена. Теперь вы можете закрыть это окно и продолжить использовать YTSage.",
|
||||
"try_manual": "Пожалуйста, попробуйте воспользоваться руководством по ручной установке."
|
||||
},
|
||||
"ytdlp_setup": {
|
||||
"required_title": "Требуется настройка yt-dlp",
|
||||
"description": "YTSage требует yt-dlp для загрузки видео.<br><br>yt-dlp не найден в локальном каталоге приложения. YTSage нужно настроить yt-dlp для вашей системы {os_name}.<br><br>Выберите вариант ниже:",
|
||||
"option_auto": "Скачать автоматически (рекомендуется)",
|
||||
"option_manual": "Выбрать путь вручную",
|
||||
"setup_button": "Настроить yt-dlp",
|
||||
"downloading": "Загрузка yt-dlp...",
|
||||
"success": "yt-dlp успешно установлен!",
|
||||
"error": "Ошибка: {error}",
|
||||
"download_failed_title": "Сбой загрузки",
|
||||
"download_failed_message": "Не удалось скачать yt-dlp: {error}",
|
||||
"select_executable_title": "Выберите исполняемый файл yt-dlp",
|
||||
"copied_to": "yt-dlp успешно скопирован в {path}",
|
||||
"setup_error_title": "Ошибка настройки",
|
||||
"copy_error": "Ошибка при копировании yt-dlp в каталог приложения: {error}",
|
||||
"invalid_executable_title": "Недопустимый исполняемый файл",
|
||||
"invalid_executable_message": "Выбранный файл не является корректным исполняемым файлом yt-dlp.",
|
||||
"verify_error": "Ошибка при проверке исполняемого файла yt-dlp: {error}",
|
||||
"setup_failed_title": "Настройка не удалась",
|
||||
"setup_failed_message": "Не удалось настроить yt-dlp. Некоторые функции могут работать некорректно.",
|
||||
"success_dialog_title": "Настройка yt-dlp",
|
||||
"success_dialog_message": "yt-dlp успешно настроен по пути:\n{path}",
|
||||
"file_filter_windows": "Исполняемые файлы (*.exe)",
|
||||
"file_filter_all": "Все файлы (*)"
|
||||
},
|
||||
"ffmpeg_updater": {
|
||||
"title": "Проверка версии FFmpeg",
|
||||
"current_version": "Текущая версия:",
|
||||
"latest_version": "Последняя версия:",
|
||||
"status_up_to_date": "✓ Обновлено",
|
||||
"status_update_available": "⚠ Доступно обновление",
|
||||
"status_not_installed": "✗ Не установлено",
|
||||
"status_idle": "Нажмите 'Проверить версию' для начала",
|
||||
"status_checking": "🔄 Проверка версии...",
|
||||
"check_updates": "Проверить версию",
|
||||
"check_failed": "Не удалось проверить версию. Проверьте подключение к Интернету.",
|
||||
"description": "Проверьте версию FFmpeg и сравните ее с последней доступной версией.",
|
||||
"guide_info": " Для установки или обновления FFmpeg, <a href='https://github.com/oop7/ffmpeg-install-guide'>нажмите здесь, чтобы просмотреть наше подробное руководство по установке</a>."
|
||||
},
|
||||
"deno": {
|
||||
"setup_required": "Требуется настройка Deno",
|
||||
"setup_description": "YTSage требует Deno для запуска определенных функций.<br><br>Deno не найден в локальном каталоге приложения. YTSage необходимо настроить Deno для вашей системы {os_name}.<br><br>Нажмите 'Настроить Deno', чтобы загрузить и установить автоматически.",
|
||||
"setup_button": "Настроить Deno",
|
||||
"downloading": "Загрузка Deno...",
|
||||
"extracting": "Извлечение Deno...",
|
||||
"verifying": "Проверка Deno...",
|
||||
"success": "Deno успешно установлен!",
|
||||
"download_failed": "Ошибка загрузки",
|
||||
"download_error": "Не удалось загрузить Deno: {error}",
|
||||
"verification_failed": "Проверка SHA256 не удалась. Загруженный файл может быть поврежден или изменен.",
|
||||
"setup_failed": "Не удалось настроить Deno. Некоторые функции могут работать неправильно.",
|
||||
"setup_error": "Ошибка настройки"
|
||||
},
|
||||
"deno_updater": {
|
||||
"title": "Проверка и Обновление Версии Deno",
|
||||
"description": "Проверьте вашу версию Deno и обновите до последней версии.",
|
||||
"current_version": "Текущая Версия:",
|
||||
"latest_version": "Последняя Версия:",
|
||||
"status_idle": "Нажмите 'Проверить Обновления', чтобы начать",
|
||||
"status_checking": "🔄 Проверка обновлений...",
|
||||
"status_up_to_date": "✓ Обновлено",
|
||||
"status_update_available": "⚠ Доступно обновление",
|
||||
"status_not_installed": "✗ Не установлено",
|
||||
"check_updates": "Проверить Обновления",
|
||||
"update_now": "Обновить Deno",
|
||||
"updating": "🔄 Обновление Deno...",
|
||||
"update_success": "✅ Deno успешно обновлен!",
|
||||
"update_failed": "❌ Ошибка обновления: {error}",
|
||||
"check_failed": "Не удалось проверить обновления. Проверьте подключение к Интернету."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,601 @@
|
||||
{
|
||||
"language": {
|
||||
"display_name": "Türkçe (Turkish)",
|
||||
"select_language": "Dil Seç:",
|
||||
"current_language": "Mevcut dil: {language}",
|
||||
"restart_required": "Dil değişikliği uygulamayı yeniden başlattıktan sonra geçerli olacaktır.",
|
||||
"english": "İngilizce",
|
||||
"spanish": "İspanyolca",
|
||||
"portuguese": "Portekizce",
|
||||
"russian": "Rusça",
|
||||
"chinese": "Çince",
|
||||
"german": "Almanca",
|
||||
"french": "Fransızca",
|
||||
"hindi": "Hintçe",
|
||||
"indonesian": "Endonezce",
|
||||
"turkish": "Türkçe",
|
||||
"polish": "Lehçe",
|
||||
"italian": "İtalyanca",
|
||||
"arabic": "Arapça",
|
||||
"japanese": "Japonca",
|
||||
"help_text": "Arayüz için tercih ettiğiniz dili seçin.",
|
||||
"restart_notice": "Dil değişikliği uygulamayı yeniden başlattıktan sonra geçerli olacaktır."
|
||||
},
|
||||
"app": {
|
||||
"title": "YTSage",
|
||||
"version": "v{version}",
|
||||
"ready": "Hazır"
|
||||
},
|
||||
"formats": {
|
||||
"show_formats": "Formatları göster:",
|
||||
"video_format": "Video formatı:",
|
||||
"audio_format": "Ses formatı:",
|
||||
"no_formats": "Kullanılabilir format yok",
|
||||
"loading": "Formatlar yükleniyor...",
|
||||
"select": "Seç",
|
||||
"quality": "Kalite",
|
||||
"extension": "Uzantı",
|
||||
"resolution": "Çözünürlük",
|
||||
"file_size": "Dosya boyutu",
|
||||
"codec": "Codec",
|
||||
"audio": "Ses",
|
||||
"fps": "FPS",
|
||||
"hdr": "HDR",
|
||||
"will_merge_audio": "Ses birleştirilecek",
|
||||
"has_audio": "✓ Ses var",
|
||||
"audio_only": "Sadece ses",
|
||||
"best_4k": "En iyi (4K)",
|
||||
"best_2k": "En iyi (2K)",
|
||||
"high_1080p": "Yüksek (1080p)",
|
||||
"high_720p": "Yüksek (720p)",
|
||||
"medium_480p": "Orta (480p)",
|
||||
"low_quality": "Düşük kalite",
|
||||
"best_audio": "En iyi ses",
|
||||
"high_audio": "Yüksek ses",
|
||||
"medium_audio": "Orta ses",
|
||||
"low_audio": "Düşük ses",
|
||||
"audio_only_resolution": "Sadece ses"
|
||||
},
|
||||
"buttons": {
|
||||
"download": "İndir",
|
||||
"pause": "Duraklat",
|
||||
"resume": "Devam Et",
|
||||
"cancel": "İptal",
|
||||
"browse": "Gözat",
|
||||
"clear": "Temizle",
|
||||
"ok": "Tamam",
|
||||
"apply": "Uygula",
|
||||
"close": "Kapat",
|
||||
"run_command": "Komutu çalıştır",
|
||||
"custom_command_help": "Yardım",
|
||||
"about": "Hakkında",
|
||||
"analyze": "Analiz Et",
|
||||
"paste_url": "URL Yapıştır",
|
||||
"select_videos": "Video seç...",
|
||||
"video": "Video",
|
||||
"audio_only": "Sadece ses",
|
||||
"custom_options": "Özel seçenekler",
|
||||
"trim_video": "Videoyu kırp",
|
||||
"download_settings": "İndirme ayarları",
|
||||
"update": "yt-dlp'yi güncelle",
|
||||
"select_defaults": "Varsayılanları seç",
|
||||
"select_all": "Tümünü seç",
|
||||
"deselect_all": "Tüm seçimi kaldır",
|
||||
"open_folder": "Klasör konumunu aç",
|
||||
"history": "Geçmiş"
|
||||
},
|
||||
"dialogs": {
|
||||
"custom_options": "Özel seçenekler",
|
||||
"settings": "Ayarlar",
|
||||
"select_folder": "İndirme klasörünü seç",
|
||||
"sponsorblock_categories": "SponsorBlock kategorileri",
|
||||
"sponsorblock_description": "İndirme sırasında otomatik olarak kaldırılacak video bölümlerinin türlerini seçin.\nSponsorBlock bu bölümleri belirlemek için topluluk tarafından gönderilen verileri kullanır.",
|
||||
"select_subtitles": "Altyazı seç",
|
||||
"filter_languages_placeholder": "Dilleri filtrele (örn: tr, en)...",
|
||||
"no_subtitles_available": "Altyazı mevcut değil",
|
||||
"matching": "eşleşen",
|
||||
"ytdlp_log_title": "yt-dlp Günlüğü"
|
||||
},
|
||||
"tabs": {
|
||||
"cookies": "Çerezlerle giriş yap",
|
||||
"custom_command": "Özel komut",
|
||||
"proxy": "Proxy",
|
||||
"language": "Dil",
|
||||
"updater": "Güncelleyici"
|
||||
},
|
||||
"cookies": {
|
||||
"help_text": "Kimlik doğrulama için çerezlerin nasıl sağlanacağını seçin.\nBu, özel videoları ve yüksek kaliteli ses dosyalarını indirmeyi sağlar.",
|
||||
"cookie_source": "Çerez kaynağı",
|
||||
"use_cookie_file": "Çerez dosyası kullan",
|
||||
"extract_from_browser": "Tarayıcıdan çıkar",
|
||||
"recommended": "Önerilen",
|
||||
"cookie_file": "Çerez dosyası",
|
||||
"cookie_file_placeholder": "cookies.txt dosya yolu...",
|
||||
"browser_selection": "Tarayıcı seçimi",
|
||||
"browser_help": "Çerezleri çıkaracak tarayıcıyı seçin:",
|
||||
"browser_label": "Tarayıcı:",
|
||||
"profile_label": "Profil:",
|
||||
"profile_placeholder": "Varsayılan",
|
||||
"browser_extract_message": "Tarayıcı çerezleri uygulandığında çıkarılacak",
|
||||
"file_selected_message": "Çerez dosyası seçildi - Uygulamak için Tamam'a tıklayın",
|
||||
"select_file_title": "Çerez dosyası seç",
|
||||
"file_filter": "Çerez dosyaları (*.txt *.lwp)",
|
||||
"file_selected_title": "Çerez Dosyası Uygulandı",
|
||||
"file_applied_message": "Çerez dosyası uygulandı: {path}",
|
||||
"browser_selected_title": "Tarayıcı Çerezleri Uygulandı",
|
||||
"browser_applied_message": "Tarayıcı çerezleri şuradan çıkarılacak: {browser}",
|
||||
"cleared_title": "Çerezler Temizlendi",
|
||||
"cleared_message": "Çerez ayarları temizlendi",
|
||||
"active_browser": "✓ Etkin: Tarayıcı çerezleri ({browser})",
|
||||
"active_file": "✓ Etkin: Çerez dosyası ({file})",
|
||||
"none_active": "○ Etkin çerez yok"
|
||||
},
|
||||
"custom_command": {
|
||||
"help_text": "Özel yt-dlp komutunuzu aşağıya girin. Mevcut URL otomatik olarak eklenecektir.<br><br>Seçeneklerin tam listesi ve kullanım örnekleri için <a href=\"{docs_url}\">resmi yt-dlp belgelerini görmek için buraya tıklayın</a>.<br><br>Not: İndirme yolu ve dosya adı şablonu otomatik olarak işlenir.",
|
||||
"input_label": "yt-dlp argümanları:",
|
||||
"input_placeholder": "yt-dlp argümanlarını buraya girin...\n\nÖrnek: --extract-audio --audio-format mp3",
|
||||
"output_label": "Komut çıktısı:",
|
||||
"output_placeholder": "Komut çıktısı burada görünecek...",
|
||||
"command_placeholder": "Özel yt-dlp komutunu girin...",
|
||||
"command_help": "Mevcut yer tutucular:\n{url} - Video URL'si\n{output} - Çıktı klasörü\n\nÖrnek: --write-info-json --write-thumbnail",
|
||||
"full_command": "🔧 Tam komut: {command}",
|
||||
"command_success": "✅ Özel komut başarıyla çalıştırıldı!",
|
||||
"command_failed": "❌ Komut {code} çıkış koduyla başarısız oldu",
|
||||
"command_error": "❌ Özel komut çalıştırılırken hata: {error}",
|
||||
"error_no_url": "❌ Hata: URL sağlanmadı. Lütfen ana pencerede bir URL girin.",
|
||||
"error_no_command": "❌ Hata: Komut sağlanmadı. Lütfen yt-dlp argümanlarını girin.",
|
||||
"executing": "🚀 Özel yt-dlp komutu çalıştırılıyor",
|
||||
"url_label": "📍 URL: {url}",
|
||||
"args_label": "⚙️ Argümanlar: {command}",
|
||||
"download_path_label": "📁 İndirme yolu: {path}",
|
||||
"separator": "=================================================="
|
||||
},
|
||||
"proxy": {
|
||||
"help_text": "İndirmeler için proxy ayarlarını yapılandırın. Doğrudan bağlantı için boş bırakın.",
|
||||
"main_proxy": "Ana proxy",
|
||||
"main_proxy_help": "Tüm indirmeler için birincil proxy sunucusu. HTTP/HTTPS ve SOCKS5 protokollerini destekler.",
|
||||
"proxy_url_label": "Proxy URL:",
|
||||
"proxy_url_placeholder": "http://proxy:port veya socks5://proxy:port",
|
||||
"proxy_examples": "Örnekler:\n• HTTP: http://proxy.example.com:8080\n• SOCKS5: socks5://proxy.example.com:1080",
|
||||
"geo_proxy": "Coğrafi atlama proxy'si",
|
||||
"geo_proxy_help": "Coğrafi kısıtlamaları atlamak için ikincil proxy.",
|
||||
"geo_proxy_url_label": "Coğrafi atlama proxy URL'si:",
|
||||
"geo_proxy_url_placeholder": "http://geo-proxy:port",
|
||||
"clear_main_proxy": "Ana proxy'yi temizle",
|
||||
"clear_geo_proxy": "Coğrafi proxy'yi temizle",
|
||||
"proxy_url": "Proxy URL",
|
||||
"proxy_placeholder": "http://proxy:port veya socks5://proxy:port",
|
||||
"geo_bypass": "Coğrafi atlama proxy'si (coğrafi kısıtlamalar için)",
|
||||
"geo_bypass_placeholder": "http://proxy:port coğrafi engellemeyi atlamak için",
|
||||
"invalid_main_url": "Geçersiz ana proxy URL formatı",
|
||||
"invalid_geo_url": "Geçersiz coğrafi proxy URL formatı",
|
||||
"main_configured": "Ana proxy yapılandırıldı",
|
||||
"geo_configured": "Coğrafi proxy yapılandırıldı",
|
||||
"set_title": "Proxy ayarlandı",
|
||||
"set_message": "Ana proxy ayarlandı ve kaydedildi: {proxy}",
|
||||
"geo_set_title": "Coğrafi proxy ayarlandı",
|
||||
"geo_set_message": "Coğrafi doğrulama proxy'si ayarlandı ve kaydedildi: {proxy}",
|
||||
"cleared_title": "Proxy ayarları temizlendi",
|
||||
"cleared_message": "Tüm proxy ayarları temizlendi ve kaydedildi."
|
||||
},
|
||||
"download": {
|
||||
"preparing": "İndirme hazırlanıyor...",
|
||||
"starting": "🚀 İndirme başlatılıyor...",
|
||||
"fetching_info": "🔍 Video bilgileri alınıyor...",
|
||||
"preparing_streams": "🎯 Video akışları hazırlanıyor...",
|
||||
"downloading_audio": "⏬ Ses indiriliyor...",
|
||||
"downloading_video": "⏬ Video indiriliyor...",
|
||||
"downloading_subtitle": "⏬ Altyazı indiriliyor...",
|
||||
"downloading": "⏬ İndiriliyor...",
|
||||
"completed": "✅ İndirme tamamlandı!",
|
||||
"video_completed": "✅ Video indirmesi tamamlandı!",
|
||||
"audio_completed": "✅ Ses indirmesi tamamlandı!",
|
||||
"subtitle_completed": "✅ Altyazı indirmesi tamamlandı!",
|
||||
"completed_cleaning": "✅ İndirme tamamlandı! Temizleniyor...",
|
||||
"cancelled": "İndirme iptal edildi",
|
||||
"processing_playlist": "📋 Oynatma listesi verileri işleniyor...",
|
||||
"paused": "İndirme duraklatıldı",
|
||||
"resumed": "İndirme devam ettirildi",
|
||||
"merging_formats": "✨ İşleme sonrası: Formatlar birleştiriliyor...",
|
||||
"removing_sponsor_segments": "✨ İşleme sonrası: Sponsor segmentleri kaldırılıyor...",
|
||||
"speed": "Hız",
|
||||
"eta": "Kalan süre",
|
||||
"please_enter_url": "Lütfen önce bir URL girin.",
|
||||
"please_set_path": "Lütfen önce indirme yolunu ayarlayın.",
|
||||
"please_enter_url_and_path": "Lütfen bir URL girin ve indirme yolunu ayarlayın.",
|
||||
"please_select_format": "Lütfen önce bir format seçin.",
|
||||
"downloading_fallback": "⚡ İndiriliyor..."
|
||||
},
|
||||
"update": {
|
||||
"title": "yt-dlp'yi güncelle",
|
||||
"checking": "Güncellemeler kontrol ediliyor...",
|
||||
"update_available": "Güncelleme mevcut!\nMevcut sürüm: {current}\nEn son sürüm: {latest}",
|
||||
"up_to_date": "yt-dlp güncel (Sürüm {version})",
|
||||
"could_not_determine": "Sürümler belirlenemedi.",
|
||||
"error_comparing": "Sürüm karşılaştırma hatası: {error}",
|
||||
"update_available_failed": "Güncelleme mevcut! (Karşılaştırma başarısız)\nMevcut: {current}\nEn son: {latest}",
|
||||
"updating": "Güncelleniyor...",
|
||||
"initializing": "🚀 Güncelleme işlemi başlatılıyor...",
|
||||
"checking_current": "🔍 Mevcut kurulum kontrol ediliyor...",
|
||||
"found_at": "📍 yt-dlp bulundu: {path}",
|
||||
"error_getting_path": "❌ yt-dlp yolu alma hatası: {error}",
|
||||
"updating_binary": "📦 Uygulama yönetimli yt-dlp binary'si güncelleniyor...",
|
||||
"update_failed": "❌ yt-dlp güncellemesi başarısız. Lütfen tekrar deneyin veya internet bağlantınızı kontrol edin.",
|
||||
"binary_updated": "✅ Binary başarıyla güncellendi!",
|
||||
"update_failed_stderr": "❌ yt-dlp güncellemesi başarısız: {error}",
|
||||
"update_timeout": "❌ yt-dlp güncelleme zaman aşımı.",
|
||||
"unexpected_error": "❌ Güncelleme sırasında beklenmeyen hata: {error}",
|
||||
"already_up_to_date": "✅ yt-dlp zaten güncel!",
|
||||
"update_success": "✅ yt-dlp başarıyla güncellendi!",
|
||||
"already_latest": "yt-dlp güncel (sürüm {version})",
|
||||
"network_error": "❌ Güncelleme sırasında ağ hatası: {error}",
|
||||
"general_error": "❌ Güncelleme başarısız: {error}",
|
||||
"update_in_progress_title": "Güncelleme Devam Ediyor",
|
||||
"update_in_progress_message": "yt-dlp şu anda güncelleniyor. Lütfen bir dakika bekleyin."
|
||||
},
|
||||
"about": {
|
||||
"title": "YTSage Hakkında",
|
||||
"version": "Sürüm {version}",
|
||||
"description": "Temiz PySide6 arayüzü ile modern YouTube indiricisi.",
|
||||
"author": "Yapımcı: {author}",
|
||||
"github": "GitHub: {repo}",
|
||||
"system_info": "Sistem bilgileri",
|
||||
"loading": "🔄 Sistem bilgileri yükleniyor...",
|
||||
"refresh": "🔄",
|
||||
"refreshing": "🔄 Yenileniyor...",
|
||||
"refresh_failed": "Yenileme başarısız",
|
||||
"refresh_failed_message": "Sürüm bilgileri yenilenemedi.",
|
||||
"detected": "✓ Algılandı",
|
||||
"missing": "✗ Eksik",
|
||||
"not_available": "Mevcut değil"
|
||||
},
|
||||
"time_range": {
|
||||
"title": "Videoyu kırp",
|
||||
"time_range_group": "Zaman aralığı",
|
||||
"start_time": "Başlama zamanı (SS:DD:SS)",
|
||||
"end_time": "Bitiş zamanı (SS:DD:SS)",
|
||||
"start_placeholder": "00:00:00",
|
||||
"end_placeholder": "00:00:00",
|
||||
"start_time_placeholder": "Başlama zamanı (SS:DD:SS)",
|
||||
"end_time_placeholder": "Bitiş zamanı (SS:DD:SS)",
|
||||
"force_keyframes": "Kesim noktalarında anahtar kareleri zorla",
|
||||
"help_text": "Videoyu kırpmak için başlama ve bitiş zamanlarını ayarlayın.\nTam videoyu indirmek için boş bırakın.",
|
||||
"invalid_format": "Geçersiz zaman formatı. SS:DD:SS formatını kullanın.",
|
||||
"start_after_end": "Başlama zamanı bitiş zamanından sonra olamaz."
|
||||
},
|
||||
"settings": {
|
||||
"title": "İndirme ayarları",
|
||||
"download_path": "İndirme yolu",
|
||||
"browse": "Gözat...",
|
||||
"speed_limit": "Hız sınırı",
|
||||
"speed_limit_placeholder": "Yok",
|
||||
"auto_update_ytdlp": "yt-dlp otomatik güncelleme",
|
||||
"enable_auto_updates": "yt-dlp otomatik güncellemelerini etkinleştir",
|
||||
"update_frequency": "Güncelleme sıklığı:",
|
||||
"check_startup": "Her başlangıçta kontrol et (kontroller arası en az 1 saat)",
|
||||
"check_daily": "Günlük kontrol et",
|
||||
"check_weekly": "Haftalık kontrol et",
|
||||
"check_updates_now": "yt-dlp'yi güncelle",
|
||||
"update_check_title": "Güncelleme kontrolü",
|
||||
"could_not_determine_version": "Mevcut yt-dlp sürümü belirlenemedi.",
|
||||
"update_available_dialog": "Güncelleme mevcut!\n\nMevcut: {current}\nEn son: {latest}\n\nGüncellemeye devam etmek için Tamam'a tıklayın.",
|
||||
"up_to_date_dialog": "yt-dlp güncel!\n\nMevcut sürüm: {version}",
|
||||
"error_checking_updates": "Güncelleme kontrol hatası: {error}",
|
||||
"settings_saved_title": "Ayarlar kaydedildi",
|
||||
"settings_saved_message": "Otomatik güncelleme ayarları başarıyla kaydedildi!",
|
||||
"error_title": "Hata",
|
||||
"failed_save_settings": "Otomatik güncelleme ayarları kaydedilemedi.",
|
||||
"error_saving_settings": "Otomatik güncelleme ayarları kaydetme hatası: {error}",
|
||||
"ytdlp_channel": "yt-dlp Sürüm Kanalı",
|
||||
"ytdlp_channel_stable": "Kararlı (Test edilmiş sürümler)",
|
||||
"ytdlp_channel_nightly": "Nightly (Günlük güncellemeler, yt-dlp tarafından önerilir)",
|
||||
"ytdlp_channel_description": "Kararlı ve nightly sürümler arasında seçim yapın. Nightly derlemeleri en son düzeltmeler ve özelliklerle günlük olarak güncellenir. İstediğiniz zaman kanal değiştirebilirsiniz.",
|
||||
"ytdlp_switching_channel": "{channel} kanalına geçiliyor...",
|
||||
"ytdlp_channel_switched": "✅ Başarıyla {channel} kanalına geçildi!",
|
||||
"ytdlp_channel_switch_failed": "❌ Kanal değiştirilemedi: {error}",
|
||||
"ytdlp_current_channel": "Mevcut kanal: {channel}",
|
||||
"auto_update_title": "Otomatik güncelleme ayarları",
|
||||
"auto_update_header": "🔄 Otomatik güncelleme ayarları",
|
||||
"auto_update_description": "En son özelliklere ve hata düzeltmelerine sahip olmak için yt-dlp otomatik güncellemelerini yapılandırın.",
|
||||
"current_status": "Mevcut durum",
|
||||
"current_version_label": "Mevcut yt-dlp sürümü: Kontrol ediliyor...",
|
||||
"last_check_label": "Son güncelleme kontrolü: Hiç",
|
||||
"next_check_label": "Sonraki kontrol: Ayarlara göre",
|
||||
"manual_check_button": "🔍 Şimdi güncellemeleri kontrol et",
|
||||
"update_frequency_group": "Güncelleme sıklığı",
|
||||
"save_settings": "Ayarları kaydet",
|
||||
"settings_saved_successfully": "✅ Ayarlar başarıyla kaydedildi!",
|
||||
"error_saving": "❌ Ayarları kaydetme hatası: {error}",
|
||||
"output_format_settings": "Çıktı Formatı Ayarları",
|
||||
"force_output_format": "Birleştirirken çıktı formatını zorla",
|
||||
"preferred_format": "Tercih edilen format:",
|
||||
"force_format_help": "Etkinleştirildiğinde, birleştirilen videolar tercih ettiğiniz formata dönüştürülür. yt-dlp'nin otomatik karar vermesini sağlamak için devre dışı bırakın.",
|
||||
"format_mp4": "MP4 (En uyumlu)",
|
||||
"format_webm": "WebM (Modern, açık)",
|
||||
"format_mkv": "MKV (Özellik açısından zengin)",
|
||||
"audio_format_settings": "Ses Formatı Ayarları",
|
||||
"force_audio_format": "Yalnızca ses indirmeleri için ses formatını zorla",
|
||||
"preferred_audio_format": "Tercih edilen ses formatı:",
|
||||
"force_audio_format_help": "Etkinleştirildiğinde, yalnızca ses indirmeleri tercih ettiğiniz formata dönüştürülecektir. Bu yalnızca ses formatları indirilirken geçerlidir.",
|
||||
"audio_format_best": "En iyi (Dönüştürme yok)",
|
||||
"audio_format_aac": "AAC (Düzenleme için iyi)",
|
||||
"audio_format_mp3": "MP3 (Evrensel)",
|
||||
"audio_format_flac": "FLAC (Kayıpsız)",
|
||||
"audio_format_wav": "WAV (Sıkıştırılmamış)",
|
||||
"audio_format_opus": "Opus (Verimli)",
|
||||
"audio_format_m4a": "M4A (Apple)",
|
||||
"audio_format_vorbis": "Vorbis (Açık)"
|
||||
},
|
||||
"main_ui": {
|
||||
"url_placeholder": "YouTube video veya oynatma listesi URL'sini girin",
|
||||
"merge_subtitles": "Altyazıları birleştir",
|
||||
"save_thumbnail": "Küçük resmi kaydet",
|
||||
"save_description": "Açıklamayı kaydet",
|
||||
"embed_chapters": "Bölümleri göm",
|
||||
"subtitles_selected": "{count} seçildi",
|
||||
"all_selected": "Tümü seçildi",
|
||||
"select_videos_all": "Video seç... (Tümü seçildi)",
|
||||
"please_enter_url": "Lütfen önce bir URL girin",
|
||||
"error_title": "Hata",
|
||||
"cookie_file_selected_title": "Çerez dosyası seçildi",
|
||||
"cookie_file_selected_message": "Çerez dosyası seçildi: {path}",
|
||||
"browser_cookies_selected_title": "Tarayıcı çerezleri seçildi",
|
||||
"browser_cookies_selected_message": "Tarayıcı çerezleri şuradan çıkarılacak: {browser}",
|
||||
"error_no_format_info": "Hata: Format bilgisi mevcut değil.",
|
||||
"error_extract_info": "Hata: Temel video bilgileri çıkarılamadı. Lütfen bağlantınızı kontrol edin.",
|
||||
"analyzing_preparing": "Analiz ediliyor (0%)... İstek hazırlanıyor",
|
||||
"analyzing_extracting_basic": "Analiz ediliyor (15%)... Temel bilgiler çıkarılıyor",
|
||||
"analyzing_extracting_detailed": "Analiz ediliyor (30%)... Ayrıntılı bilgiler çıkarılıyor",
|
||||
"analyzing_processing_video": "Analiz ediliyor (45%)... Video verisi işleniyor",
|
||||
"analyzing_processing_formats": "Analiz ediliyor (60%)... Formatlar işleniyor",
|
||||
"analyzing_loading_thumbnail": "Analiz ediliyor (75%)... Küçük resim yükleniyor",
|
||||
"analyzing_processing_subtitles": "Analiz ediliyor (85%)... Altyazılar işleniyor",
|
||||
"analyzing_updating_table": "Analiz ediliyor (95%)... Format tablosu güncelleniyor",
|
||||
"analysis_complete": "Analiz tamamlandı!",
|
||||
"analyzing_fetching_first_video": "Analiz ediliyor... İlk video için formatlar alınıyor",
|
||||
"analyzing_extracting_ytdlp": "Analiz ediliyor (30%)... Bilgiler çıkarılıyor",
|
||||
"analyzing_processing_data": "Analiz ediliyor (60%)... Veriler işleniyor",
|
||||
"analyzing_processing_formats_ytdlp": "Analiz ediliyor (75%)... Formatlar işleniyor",
|
||||
"analyzing_loading_thumbnail_ytdlp": "Analiz ediliyor (85%)... Küçük resim yükleniyor",
|
||||
"analyzing_processing_subtitles_ytdlp": "Analiz ediliyor (90%)... Altyazılar işleniyor",
|
||||
"select_subtitles": "Altyazı seç...",
|
||||
"sponsorblock_categories": "SponsorBlock kategorileri...",
|
||||
"invalid_url_or_enter": "Geçersiz URL veya lütfen bir URL girin.",
|
||||
"zero_selected": "0 seçildi",
|
||||
"analyze_first_tooltip": "Lütfen önce videoyu analiz edin",
|
||||
"audio_mode_disabled": "Yalnızca ses modunda kullanılamaz",
|
||||
"select_subtitles_first": "Lütfen önce altyazıları seçin",
|
||||
"settings_tooltip": "Mevcut Yol: {path}\nHız Sınırı: {speed_limit}",
|
||||
"speed_limit_none": "Yok",
|
||||
"open_folder_error": "Klasör açılamadı: {error}",
|
||||
"time_range_set": "Bölüm ayarlandı: {section}"
|
||||
},
|
||||
"sponsorblock": {
|
||||
"sponsor": "Sponsor",
|
||||
"sponsor_desc": "Ücretli reklamlar, ücretli öneriler ve doğrudan reklamlar",
|
||||
"selfpromo": "Ücretsiz/Kendi tanıtımı",
|
||||
"selfpromo_desc": "Yaratıcının kendi içeriği için ücretsiz tanıtım",
|
||||
"interaction": "Etkileşim hatırlatıcısı",
|
||||
"interaction_desc": "İzleyicilerden beğeni, abone olma veya sosyal medya takibi istenir",
|
||||
"intro": "Giriş",
|
||||
"intro_desc": "Atlanabilir video girişi",
|
||||
"outro": "Son/Son kartları",
|
||||
"outro_desc": "Jenerik veya video bittiğinde",
|
||||
"preview": "Önizleme/Özet",
|
||||
"preview_desc": "Önceki videoların kısa özeti veya gelecek içeriğin önizlemesi",
|
||||
"music_offtopic": "Müzik dışı bölüm",
|
||||
"music_offtopic_desc": "Sadece müzik videoları için. Müzik dışı bölümleri işaretler",
|
||||
"filler": "Dolgu teğet",
|
||||
"filler_desc": "Sadece dolgu veya mizah için eklenen teğet sahneler"
|
||||
},
|
||||
"video_info": {
|
||||
"channel": "Kanal",
|
||||
"views": "👁 Görüntülenme",
|
||||
"likes": "👍 Beğeni",
|
||||
"upload_date": "📅 Yüklenme tarihi",
|
||||
"duration": "⏱ Süre",
|
||||
"unknown_channel": "Bilinmeyen kanal",
|
||||
"unknown_date": "Bilinmeyen tarih",
|
||||
"unknown_title": "Bilinmeyen başlık"
|
||||
},
|
||||
"command": {
|
||||
"running": "Çalışıyor...",
|
||||
"run_command": "Komutu çalıştır"
|
||||
},
|
||||
"selection": {
|
||||
"none_selected": "0 seçildi",
|
||||
"one_selected": "1 kategori seçildi",
|
||||
"count_selected": "{count} seçildi"
|
||||
},
|
||||
"status": {
|
||||
"ready": "Hazır",
|
||||
"file_exists": "⚠️ Dosya zaten mevcut",
|
||||
"video_file_exists": "⚠️ Video dosyası zaten mevcut",
|
||||
"audio_file_exists": "⚠️ Ses dosyası zaten mevcut",
|
||||
"subtitle_file_exists": "⚠️ Altyazı dosyası zaten mevcut",
|
||||
"cancelling": "İndirme iptal ediliyor...",
|
||||
"thumbnail_saved": "✅ Küçük resim kaydedildi: {filename}",
|
||||
"thumbnail_error": "❌ Küçük resim hatası: {error}",
|
||||
"thumbnail_no_image": "Kaydedilecek küçük resim yok"
|
||||
},
|
||||
"errors": {
|
||||
"playlist_no_videos": "Hata: Oynatma listesi geçerli video içermiyor.",
|
||||
"playlist_no_url": "Hata: Oynatma listesinin ilk videosu için URL alınamadı.",
|
||||
"ytdlp_not_found": "Hata: yt-dlp çalıştırılabilir dosyası bulunamadı. Lütfen önce yt-dlp'yi yükleyin.",
|
||||
"ytdlp_not_found_path": "Hata: yt-dlp çalıştırılabilir dosyası bulunamadı. Bu, hatalı kurulum veya PATH sorunu nedeniyle olabilir.",
|
||||
"no_data_returned": "Hata: yt-dlp'den veri döndürülmedi",
|
||||
"no_format_info": "Hata: Kullanılabilir format bilgisi yok.",
|
||||
"analysis_timeout": "Hata: Analiz zaman aşımına uğradı. Lütfen tekrar deneyin.",
|
||||
"invalid_speed_limit": "❌ Hata: Ayarlarda geçersiz hız sınırı değeri ayarlandı.",
|
||||
"ytdlp_failed": "Hata: yt-dlp başarısız oldu: {error}",
|
||||
"parse_failed": "Hata: yt-dlp çıktısı ayrıştırılamadı: {error}",
|
||||
"analysis_failed": "Hata: Analiz başarısız oldu: {error}",
|
||||
"generic_error": "Hata: {error}",
|
||||
"download_failed_return_code_conflict": "İndirme {return_code} dönüş koduyla başarısız oldu. Bunun nedeni birden fazla yt-dlp kurulumunun çakışması olabilir. Sistem kurulumlu yt-dlp'yi (örn. snap veya apt) kaldırıp uygulamayı yeniden başlatmayı deneyin.",
|
||||
"download_failed_return_code": "İndirme {return_code} dönüş koduyla başarısız oldu",
|
||||
"direct_command_error": "Doğrudan komutta hata: {error}"
|
||||
},
|
||||
"update_dialog": {
|
||||
"title": "Güncelleme Mevcut",
|
||||
"new_version_available": "YTSage'in yeni bir sürümü mevcut!",
|
||||
"current_version_label": "Mevcut sürüm:",
|
||||
"latest_version_label": "En son sürüm:",
|
||||
"changelog": "Değişiklik günlüğü",
|
||||
"download_update": "Güncellemeyi İndir",
|
||||
"remind_later": "Daha Sonra Hatırlat"
|
||||
},
|
||||
"playlist": {
|
||||
"unknown": "Bilinmeyen Oynatma Listesi",
|
||||
"total_videos": "Toplam Video: {count}",
|
||||
"display_format": "Oynatma Listesi: {title} | {count} video",
|
||||
"select_videos_title": "Oynatma Listesi Videolarını Seç"
|
||||
},
|
||||
"subtitle_selection": {
|
||||
"count_selected": "{count} seçildi"
|
||||
},
|
||||
"file_exists_dialog": {
|
||||
"title": "Dosya zaten mevcut",
|
||||
"message": "Dosya zaten mevcut:\n{filename}",
|
||||
"info": "Bu video zaten indirilmiş."
|
||||
},
|
||||
"auto_update": {
|
||||
"last_check_never": "Son güncelleme kontrolü: Hiç",
|
||||
"last_check": "Son güncelleme kontrolü: {time}",
|
||||
"next_check_disabled": "Sonraki kontrol: Devre dışı",
|
||||
"next_check_startup": "Sonraki kontrol: Başlangıçta",
|
||||
"next_check_overdue": "Sonraki kontrol: Şimdi (gecikmiş)",
|
||||
"next_check": "Sonraki kontrol: {time}",
|
||||
"next_check_error": "Sonraki kontrol: Hesaplama hatası",
|
||||
"checking": "🔄 Kontrol ediliyor...",
|
||||
"check_now": "🔍 Şimdi güncellemeleri kontrol et",
|
||||
"current_version": "Mevcut yt-dlp sürümü: {version}"
|
||||
},
|
||||
"url_validation": {
|
||||
"empty_url": "URL boş olamaz",
|
||||
"invalid_format": "Geçersiz URL formatı",
|
||||
"invalid_scheme": "URL http:// veya https:// ile başlamalıdır",
|
||||
"missing_domain": "Geçersiz URL: alan adı eksik",
|
||||
"unsupported_platform": "YTSage yalnızca YouTube ve YouTube Music URL'lerini destekler.\n'{domain}' alan adı desteklenmiyor.",
|
||||
"invalid_youtu_be": "Geçersiz youtu.be URL'si: video ID'si eksik"
|
||||
},
|
||||
"ytdlp_errors": {
|
||||
"private_video": "Bu özel bir video. Çerezleri kullanarak hesabınıza giriş yaparak indirebilirsiniz.\nKimlik doğrulamak için 'Özel Seçenekler' → 'Çerezlerle Giriş' → 'Tarayıcıdan çerezleri çıkar' bölümüne gidin.",
|
||||
"age_restricted": "Bu video yaş kısıtlamalı. Erişmek için giriş yapmanız gerekiyor.\nHesabınızla kimlik doğrulamak için 'Özel Seçenekler' → 'Çerezlerle Giriş' kullanın.",
|
||||
"geo_blocked": "Bu video bölgenizde kullanılamıyor (coğrafi engel).\nBir VPN kullanmanız gerekebilir veya video ülkenizde kısıtlanmış olabilir.",
|
||||
"video_unavailable": "Bu video kaldırıldı veya artık kullanılamıyor.\nVideo, yükleyici tarafından silinmiş veya politika ihlalleri nedeniyle kaldırılmış olabilir.",
|
||||
"live_stream": "Bu, aktifken indirilemeyen canlı bir yayındır.\nYayın bitene kadar bekleyin, ardından arşivlenmiş sürümü indirmeyi deneyin.",
|
||||
"playlist_error": "Bu oynatma listesine erişilemiyor. Özel, silinmiş veya boş olabilir.\nOynatma listesinin var olduğunu ve herkese açık olduğunu kontrol edin.",
|
||||
"network_error": "Ağ bağlantı hatası. Lütfen internet bağlantınızı kontrol edin ve tekrar deneyin.\nSorun devam ederse, video sunucusu geçici olarak kullanılamıyor olabilir.",
|
||||
"invalid_url": "Geçersiz veya desteklenmeyen URL. Lütfen bağlantıyı kontrol edin ve tekrar deneyin.\nGeçerli bir YouTube, Vimeo veya desteklenen başka bir platform URL'si kullandığınızdan emin olun.",
|
||||
"premium_content": "Bu içerik YouTube Premium veya kanal üyeliği gerektirir.\nBu içeriğe erişimi olan bir hesapla giriş yapmanız gerekiyor.",
|
||||
"copyright_blocked": "Bu video telif hakkı iddiaları nedeniyle engellenmiş.\nİçerik sahibi bu videoya erişimi kısıtlamış.",
|
||||
"extraction_failed": "Video bilgileri çıkarılamadı. Bu geçici bir sorun olabilir.\nLütfen birkaç dakika içinde tekrar deneyin veya video bağlantısının doğru olup olmadığını kontrol edin.",
|
||||
"generic_error": "Video bilgileri çıkarılamadı. Lütfen bağlantınızı kontrol edin.\nTeknik ayrıntılar: {error}"
|
||||
},
|
||||
"history": {
|
||||
"title": "İndirme Geçmişi",
|
||||
"clear_all": "Tümünü Temizle",
|
||||
"clear_confirm_title": "Geçmişi Temizle?",
|
||||
"clear_confirm_message": "Emin misiniz? Bu geri alınamaz.",
|
||||
"no_history": "Henüz geçmiş yok",
|
||||
"no_history_description": "İndirmeleriniz burada görünecek",
|
||||
"search_placeholder": "Ara...",
|
||||
"open_location": "Konumu Aç",
|
||||
"redownload": "Tekrar İndir",
|
||||
"remove": "Kaldır",
|
||||
"file_not_found": "Dosya bulunamadı",
|
||||
"file_not_found_message": "Dosya taşındı veya silindi:\n{path}",
|
||||
"downloaded_on": "İndirildi: {date}",
|
||||
"file_size": "Boyut: {size}",
|
||||
"audio_download": "Ses",
|
||||
"video_download": "Video",
|
||||
"remove_confirm_title": "Kaldır?",
|
||||
"remove_confirm_message": "Geçmişten kaldır?\n\n{title}",
|
||||
"item_removed": "Kaldırıldı",
|
||||
"history_cleared": "Geçmiş temizlendi",
|
||||
"entries_count": "{count} indirme",
|
||||
"one_entry": "1 indirme",
|
||||
"redownload_confirm_title": "Tekrar İndir?",
|
||||
"redownload_confirm_message": "Tekrar indir?\n\n{title}",
|
||||
"redownload_started": "İndirme başladı",
|
||||
"no_url_error": "Geçmiş kaydında URL bulunamadı",
|
||||
"redownload_failed": "Yeniden indirme başlatılamadı: {error}"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"installation_title": "FFmpeg Kurulumu",
|
||||
"installation_message": "YTSage, videoları işlemek için FFmpeg'e ihtiyaç duyar.\n\nAşağıdan bir kurulum seçeneği seçin:",
|
||||
"install_button": "FFmpeg Kur",
|
||||
"manual_guide": "Manuel Kılavuz",
|
||||
"installation_failed": "FFmpeg kurulumu bir sorunla karşılaştı."
|
||||
},
|
||||
"ytdlp_setup": {
|
||||
"required_title": "yt-dlp Kurulumu Gerekli",
|
||||
"description": "YTSage, video indirmek için yt-dlp'ye ihtiyaç duyar.<br><br>yt-dlp uygulamanın yerel dizininde bulunamadı. YTSage'in {os_name} sisteminiz için yt-dlp'yi kurması gerekiyor.<br><br>Lütfen aşağıdan bir seçenek seçin:",
|
||||
"option_auto": "Otomatik indir (Önerilen)",
|
||||
"option_manual": "Yolu manuel seç",
|
||||
"setup_button": "yt-dlp Kur",
|
||||
"downloading": "yt-dlp indiriliyor...",
|
||||
"success": "yt-dlp başarıyla yüklendi!",
|
||||
"error": "Hata: {error}",
|
||||
"download_failed_title": "İndirme Başarısız",
|
||||
"download_failed_message": "yt-dlp indirilemedi: {error}",
|
||||
"select_executable_title": "yt-dlp çalıştırılabilir dosyasını seç",
|
||||
"copied_to": "yt-dlp başarıyla {path} konumuna kopyalandı",
|
||||
"setup_error_title": "Kurulum Hatası",
|
||||
"copy_error": "yt-dlp uygulama dizinine kopyalanırken hata: {error}",
|
||||
"invalid_executable_title": "Geçersiz Çalıştırılabilir",
|
||||
"invalid_executable_message": "Seçilen dosya geçerli bir yt-dlp çalıştırılabilir dosyası değil.",
|
||||
"verify_error": "yt-dlp çalıştırılabilir dosyası doğrulanırken hata: {error}",
|
||||
"setup_failed_title": "Kurulum Başarısız",
|
||||
"setup_failed_message": "yt-dlp kurulumu başarısız oldu. Bazı özellikler düzgün çalışmayabilir.",
|
||||
"success_dialog_title": "yt-dlp Kurulumu",
|
||||
"success_dialog_message": "yt-dlp başarıyla şu konuma yapılandırıldı:\n{path}",
|
||||
"file_filter_windows": "Çalıştırılabilir Dosyalar (*.exe)",
|
||||
"file_filter_all": "Tüm Dosyalar (*)"
|
||||
},
|
||||
"ffmpeg_updater": {
|
||||
"title": "FFmpeg Sürüm Denetçisi",
|
||||
"current_version": "Mevcut Sürüm:",
|
||||
"latest_version": "En Son Sürüm:",
|
||||
"status_up_to_date": "✓ Güncel",
|
||||
"status_update_available": "⚠ Güncelleme mevcut",
|
||||
"status_not_installed": "✗ Yüklü değil",
|
||||
"status_idle": "Başlamak için 'Sürümü Kontrol Et'e tıklayın",
|
||||
"status_checking": "🔄 Sürüm kontrol ediliyor...",
|
||||
"check_updates": "Sürümü Kontrol Et",
|
||||
"check_failed": "Sürüm kontrolu başarısız oldu. İnternet bağlantınızı kontrol edin.",
|
||||
"description": "FFmpeg sürümünüzü kontrol edin ve mevcut en son sürümle karşılaştırın.",
|
||||
"guide_info": " FFmpeg'i yüklemek veya güncellemek için, <a href='https://github.com/oop7/ffmpeg-install-guide'>kapsamlı kurulum kılavuzumuzu görüntülemek için buraya tıklayın</a>."
|
||||
},
|
||||
"deno": {
|
||||
"setup_required": "Deno Kurulumu Gerekli",
|
||||
"setup_description": "YTSage, belirli özellikleri çalıştırmak için Deno gerektirir.<br><br>Deno, uygulamadaki yerel dizinde bulunamadı. YTSage'in {os_name} sisteminiz için Deno kurması gerekiyor.<br><br>Otomatik olarak indirmek ve yüklemek için 'Deno Kur'a tıklayın.",
|
||||
"setup_button": "Deno Kur",
|
||||
"downloading": "Deno indiriliyor...",
|
||||
"extracting": "Deno çıkarılıyor...",
|
||||
"verifying": "Deno doğrulanıyor...",
|
||||
"success": "Deno başarıyla yüklendi!",
|
||||
"download_failed": "İndirme Başarısız",
|
||||
"download_error": "Deno indirilemedi: {error}",
|
||||
"verification_failed": "SHA256 doğrulama başarısız oldu. İndirilen dosya bozuk veya kurcalanmış olabilir.",
|
||||
"setup_failed": "Deno kurulamadı. Bazı özellikler düzgün çalışmayabilir.",
|
||||
"setup_error": "Kurulum Hatası"
|
||||
},
|
||||
"deno_updater": {
|
||||
"title": "Deno Sürüm Denetleyici ve Güncelleyici",
|
||||
"description": "Deno sürümünüzü kontrol edin ve en son sürüme güncelleyin.",
|
||||
"current_version": "Geçerli Sürüm:",
|
||||
"latest_version": "En Son Sürüm:",
|
||||
"status_idle": "Başlamak için 'Güncellemeleri Kontrol Et'e tıklayın",
|
||||
"status_checking": "🔄 Güncellemeler kontrol ediliyor...",
|
||||
"status_up_to_date": "✓ Güncel",
|
||||
"status_update_available": "⚠ Güncelleme mevcut",
|
||||
"status_not_installed": "✗ Yüklü değil",
|
||||
"check_updates": "Güncellemeleri Kontrol Et",
|
||||
"update_now": "Deno'yu Güncelle",
|
||||
"updating": "🔄 Deno güncelleniyor...",
|
||||
"update_success": "✅ Deno başarıyla güncellendi!",
|
||||
"update_failed": "❌ Güncelleme başarısız: {error}",
|
||||
"check_failed": "Güncellemeler kontrol edilemedi. Lütfen internet bağlantınızı kontrol edin."
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,591 @@
|
||||
{
|
||||
"language": {
|
||||
"display_name": "中文 (简体) (Chinese Simplified)",
|
||||
"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": "取消全选",
|
||||
"open_folder": "打开文件夹位置",
|
||||
"history": "历史"
|
||||
},
|
||||
"dialogs": {
|
||||
"custom_options": "自定义选项",
|
||||
"settings": "设置",
|
||||
"select_folder": "选择下载文件夹",
|
||||
"sponsorblock_categories": "SponsorBlock 分类",
|
||||
"sponsorblock_description": "选择在下载期间自动删除的视频片段类型。\nSponsorBlock 使用社区提交的数据来识别这些片段。",
|
||||
"select_subtitles": "选择字幕",
|
||||
"filter_languages_placeholder": "过滤语言(例如:en, zh)...",
|
||||
"no_subtitles_available": "无可用字幕",
|
||||
"matching": "匹配",
|
||||
"ytdlp_log_title": "yt-dlp 日志"
|
||||
},
|
||||
"tabs": {
|
||||
"cookies": "使用 Cookie 登录",
|
||||
"custom_command": "自定义命令",
|
||||
"proxy": "代理",
|
||||
"language": "语言",
|
||||
"updater": "更新器"
|
||||
},
|
||||
"cookies": {
|
||||
"help_text": "选择如何提供 cookie 来登录。\n这允许下载私人视频和高级质量音频。",
|
||||
"cookie_source": "Cookie 来源",
|
||||
"use_cookie_file": "使用 cookie 文件",
|
||||
"extract_from_browser": "从浏览器提取",
|
||||
"recommended": "推荐",
|
||||
"cookie_file": "Cookie 文件",
|
||||
"cookie_file_placeholder": "cookies.txt 文件路径...",
|
||||
"browser_selection": "浏览器选择",
|
||||
"browser_help": "选择要从中提取 cookie 的浏览器:",
|
||||
"browser_label": "浏览器:",
|
||||
"profile_label": "配置文件:",
|
||||
"profile_placeholder": "默认",
|
||||
"browser_extract_message": "应用时将提取浏览器 cookie",
|
||||
"file_selected_message": "已选择 Cookie 文件 - 点击确定应用",
|
||||
"select_file_title": "选择 Cookie 文件",
|
||||
"file_filter": "Cookie 文件 (*.txt *.lwp)",
|
||||
"file_selected_title": "已应用 Cookie 文件",
|
||||
"file_applied_message": "已应用 Cookie 文件:{path}",
|
||||
"browser_selected_title": "已应用浏览器 Cookie",
|
||||
"browser_applied_message": "将从以下位置提取浏览器 cookie:{browser}",
|
||||
"cleared_title": "已清除 Cookie",
|
||||
"cleared_message": "Cookie 设置已被清除"
|
||||
},
|
||||
"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": "地理代理已配置",
|
||||
"set_title": "已设置代理",
|
||||
"set_message": "主代理已设置并保存: {proxy}",
|
||||
"geo_set_title": "已设置地理代理",
|
||||
"geo_set_message": "地理验证代理已设置并保存: {proxy}",
|
||||
"cleared_title": "代理设置已清除",
|
||||
"cleared_message": "所有代理设置已清除并保存。"
|
||||
},
|
||||
"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": "请先选择格式。",
|
||||
"downloading_fallback": "⚡ 正在下载..."
|
||||
},
|
||||
"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 二进制文件...",
|
||||
"update_failed": "❌ 更新 yt-dlp 失败。请重试或检查您的互联网连接。",
|
||||
"binary_updated": "✅ 二进制文件更新成功!",
|
||||
"update_failed_stderr": "❌ yt-dlp 更新失败:{error}",
|
||||
"update_timeout": "❌ yt-dlp 更新超时。",
|
||||
"unexpected_error": "❌ 更新期间出现意外错误:{error}",
|
||||
"already_up_to_date": "✅ yt-dlp已是最新版本!",
|
||||
"update_success": "✅ yt-dlp 已成功更新!",
|
||||
"already_latest": "yt-dlp 是最新版本(版本 {version})",
|
||||
"network_error": "❌ 更新期间网络错误:{error}",
|
||||
"general_error": "❌ 更新失败:{error}",
|
||||
"update_in_progress_title": "正在更新",
|
||||
"update_in_progress_message": "yt-dlp 正在更新中。请稍候。"
|
||||
},
|
||||
"about": {
|
||||
"title": "关于 YTSage",
|
||||
"version": "版本 {version}",
|
||||
"description": "具有简洁 PySide6 界面的现代 YouTube 下载器。",
|
||||
"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": "每次启动时检查(检查间隔最少 1 小时)",
|
||||
"check_daily": "每日检查",
|
||||
"check_weekly": "每周检查",
|
||||
"check_updates_now": "更新 yt-dlp",
|
||||
"update_check_title": "更新检查",
|
||||
"could_not_determine_version": "无法确定当前 yt-dlp 版本。",
|
||||
"update_available_dialog": "有可用更新!\\n\\n当前:{current}\\n最新:{latest}\\n\\n点击确定继续更新。",
|
||||
"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}",
|
||||
"ytdlp_channel": "yt-dlp 发布渠道",
|
||||
"ytdlp_channel_stable": "稳定版(经过测试的版本)",
|
||||
"ytdlp_channel_nightly": "夜间版(每日更新,yt-dlp 推荐)",
|
||||
"ytdlp_channel_description": "在稳定版和夜间版之间选择。夜间构建版每天更新,包含最新修复和功能。您可以随时切换渠道。",
|
||||
"ytdlp_switching_channel": "正在切换到 {channel} 渠道...",
|
||||
"ytdlp_channel_switched": "✅ 成功切换到 {channel} 渠道!",
|
||||
"ytdlp_channel_switch_failed": "❌ 切换渠道失败:{error}",
|
||||
"ytdlp_current_channel": "当前渠道:{channel}",
|
||||
"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}",
|
||||
"output_format_settings": "输出格式设置",
|
||||
"force_output_format": "合并时强制输出格式",
|
||||
"preferred_format": "首选格式:",
|
||||
"force_format_help": "启用后,合并的视频将转换为您的首选格式。禁用以让 yt-dlp 自动决定。",
|
||||
"format_mp4": "MP4(最兼容)",
|
||||
"format_webm": "WebM(现代、开放)",
|
||||
"format_mkv": "MKV(功能丰富)",
|
||||
"audio_format_settings": "音频格式设置",
|
||||
"force_audio_format": "强制仅音频下载的音频格式",
|
||||
"preferred_audio_format": "首选音频格式:",
|
||||
"force_audio_format_help": "启用后,仅音频下载将转换为您的首选格式。这仅在下载音频格式时适用。",
|
||||
"audio_format_best": "最佳(不转换)",
|
||||
"audio_format_aac": "AAC(适合编辑)",
|
||||
"audio_format_mp3": "MP3(通用)",
|
||||
"audio_format_flac": "FLAC(无损)",
|
||||
"audio_format_wav": "WAV(未压缩)",
|
||||
"audio_format_opus": "Opus(高效)",
|
||||
"audio_format_m4a": "M4A(Apple)",
|
||||
"audio_format_vorbis": "Vorbis(开放)"
|
||||
},
|
||||
"main_ui": {
|
||||
"url_placeholder": "输入 YouTube 视频或播放列表网址",
|
||||
"merge_subtitles": "合并字幕",
|
||||
"save_thumbnail": "保存缩略图",
|
||||
"save_description": "保存描述",
|
||||
"embed_chapters": "嵌入章节",
|
||||
"subtitles_selected": "已选择 {count} 个",
|
||||
"all_selected": "全部已选择",
|
||||
"select_videos_all": "选择视频...(全部已选择)",
|
||||
"please_enter_url": "请先输入网址",
|
||||
"error_title": "错误",
|
||||
"cookie_file_selected_title": "已选择 Cookie 文件",
|
||||
"cookie_file_selected_message": "已选择 Cookie 文件:{path}",
|
||||
"browser_cookies_selected_title": "已选择浏览器 Cookie",
|
||||
"browser_cookies_selected_message": "将从以下浏览器提取 Cookie:{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_fetching_first_video": "分析中... 正在获取第一个视频的格式",
|
||||
"analyzing_extracting_ytdlp": "分析中 (30%)... 提取信息",
|
||||
"analyzing_processing_data": "分析中 (60%)... 正在处理数据",
|
||||
"analyzing_processing_formats_ytdlp": "分析中 (75%)... 正在处理格式",
|
||||
"analyzing_loading_thumbnail_ytdlp": "分析中 (85%)... 正在加载缩略图",
|
||||
"analyzing_processing_subtitles_ytdlp": "分析中 (90%)... 正在处理字幕",
|
||||
"select_subtitles": "选择字幕...",
|
||||
"sponsorblock_categories": "SponsorBlock 分类...",
|
||||
"invalid_url_or_enter": "无效的URL或请输入URL。",
|
||||
"zero_selected": "已选择 0 个",
|
||||
"analyze_first_tooltip": "请先分析视频",
|
||||
"audio_mode_disabled": "在纯音频模式下不可用",
|
||||
"select_subtitles_first": "请先选择字幕",
|
||||
"settings_tooltip": "当前路径: {path}\n速度限制: {speed_limit}",
|
||||
"speed_limit_none": "无",
|
||||
"open_folder_error": "无法打开文件夹: {error}",
|
||||
"time_range_set": "已设置区间: {section}"
|
||||
},
|
||||
"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": "未选择",
|
||||
"one_selected": "已选择 1 个分类",
|
||||
"count_selected": "已选择 {count} 个"
|
||||
},
|
||||
"status": {
|
||||
"ready": "准备就绪",
|
||||
"file_exists": "⚠️ 文件已存在",
|
||||
"video_file_exists": "⚠️ 视频文件已存在",
|
||||
"audio_file_exists": "⚠️ 音频文件已存在",
|
||||
"subtitle_file_exists": "⚠️ 字幕文件已存在",
|
||||
"cancelling": "正在取消下载...",
|
||||
"thumbnail_saved": "✅ 缩略图已保存: {filename}",
|
||||
"thumbnail_error": "❌ 缩略图错误: {error}",
|
||||
"thumbnail_no_image": "没有可保存的缩略图"
|
||||
},
|
||||
"errors": {
|
||||
"playlist_no_videos": "错误:播放列表不包含有效视频。",
|
||||
"playlist_no_url": "错误:无法获取播放列表第一个视频的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}",
|
||||
"download_failed_return_code_conflict": "下载失败,返回码 {return_code}。这可能是由于存在多个 yt-dlp 安装导致冲突。请卸载系统中安装的 yt-dlp(例如通过 snap 或 apt),然后重启应用。",
|
||||
"download_failed_return_code": "下载失败,返回码 {return_code}",
|
||||
"direct_command_error": "直接命令出错:{error}"
|
||||
},
|
||||
"update_dialog": {
|
||||
"title": "有可用更新",
|
||||
"new_version_available": "YTSage 有新版本可用!",
|
||||
"current_version_label": "当前版本:",
|
||||
"latest_version_label": "最新版本:",
|
||||
"changelog": "更新日志",
|
||||
"download_update": "下载更新",
|
||||
"remind_later": "稍后提醒"
|
||||
},
|
||||
"playlist": {
|
||||
"unknown": "未知播放列表",
|
||||
"total_videos": "总视频数:{count}",
|
||||
"display_format": "播放列表:{title} | {count}个视频",
|
||||
"select_videos_title": "选择播放列表视频"
|
||||
},
|
||||
"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": "🔍 立即检查更新",
|
||||
"current_version": "当前 yt-dlp 版本:{version}"
|
||||
},
|
||||
"url_validation": {
|
||||
"empty_url": "URL不能为空",
|
||||
"invalid_format": "无效的URL格式",
|
||||
"invalid_scheme": "URL必须以http://或https://开头",
|
||||
"missing_domain": "无效的URL:缺少域名",
|
||||
"unsupported_platform": "YTSage仅支持YouTube和YouTube Music的URL。\n不支持域名'{domain}'。",
|
||||
"invalid_youtu_be": "无效的youtu.be URL:缺少视频ID"
|
||||
},
|
||||
"ytdlp_errors": {
|
||||
"private_video": "这是一个私人视频。您可以通过使用Cookie登录您的账户来下载它。\n转到【自定义选项】→【使用Cookie登录】→【从浏览器提取Cookie】进行身份验证。",
|
||||
"age_restricted": "此视频有年龄限制。您需要登录才能访问它。\n使用【自定义选项】→【使用Cookie登录】以使用您的账户进行身份验证。",
|
||||
"geo_blocked": "此视频在您所在的地区不可用(地理封锁)。\n您可能需要使用VPN,或者该视频在您的国家受到限制。",
|
||||
"video_unavailable": "此视频已被删除或不再可用。\n该视频可能已被上传者删除或因违反政策而被删除。",
|
||||
"live_stream": "这是一个在活动时无法下载的直播。\n等待直播结束,然后尝试下载存档版本。",
|
||||
"playlist_error": "无法访问此播放列表。它可能是私有的、已删除或为空。\n检查播放列表是否存在并且可以公开访问。",
|
||||
"network_error": "网络连接错误。请检查您的互联网连接并重试。\n如果问题仍然存在,视频服务器可能暂时不可用。",
|
||||
"invalid_url": "无效或不支持的URL。请检查链接并重试。\n确保您使用的是有效的YouTube、Vimeo或其他支持的平台URL。",
|
||||
"premium_content": "此内容需要YouTube Premium或频道会员资格。\n您需要使用有权访问此内容的账户登录。",
|
||||
"copyright_blocked": "由于版权声明,此视频已被封锁。\n内容所有者已限制对此视频的访问。",
|
||||
"extraction_failed": "提取视频信息失败。这可能是一个临时问题。\n请在几分钟后重试,或检查视频链接是否正确。",
|
||||
"generic_error": "无法提取视频信息。请检查您的链接。\n技术详情:{error}"
|
||||
},
|
||||
"history": {
|
||||
"title": "下载历史",
|
||||
"clear_all": "清除全部",
|
||||
"clear_confirm_title": "清除历史?",
|
||||
"clear_confirm_message": "确定吗?此操作无法撤消。",
|
||||
"no_history": "暂无历史",
|
||||
"no_history_description": "下载将显示在这里",
|
||||
"search_placeholder": "搜索...",
|
||||
"open_location": "打开位置",
|
||||
"redownload": "重新下载",
|
||||
"remove": "删除",
|
||||
"file_not_found": "文件未找到",
|
||||
"file_not_found_message": "文件已移动或删除:\n{path}",
|
||||
"downloaded_on": "下载于:{date}",
|
||||
"file_size": "大小:{size}",
|
||||
"audio_download": "音频",
|
||||
"video_download": "视频",
|
||||
"remove_confirm_title": "删除?",
|
||||
"remove_confirm_message": "从历史中删除?\n\n{title}",
|
||||
"item_removed": "已删除",
|
||||
"history_cleared": "历史已清除",
|
||||
"entries_count": "{count} 个下载",
|
||||
"one_entry": "1 个下载",
|
||||
"redownload_confirm_title": "重新下载?",
|
||||
"redownload_confirm_message": "重新下载?\n\n{title}",
|
||||
"redownload_started": "已开始下载",
|
||||
"no_url_error": "历史记录中未找到 URL",
|
||||
"redownload_failed": "无法开始重新下载: {error}"
|
||||
},
|
||||
"ffmpeg": {
|
||||
"installation_title": "FFmpeg 安装",
|
||||
"installation_message": "YTSage 需要 FFmpeg 来处理视频。\n\n请选择下面的安装选项:",
|
||||
"install_button": "安装 FFmpeg",
|
||||
"manual_guide": "手动指南",
|
||||
"installation_failed": "FFmpeg 安装遇到问题。"
|
||||
},
|
||||
"ytdlp_setup": {
|
||||
"required_title": "需要设置 yt-dlp",
|
||||
"description": "YTSage 需要 yt-dlp 来下载视频。<br><br>在应用本地目录中未找到 yt-dlp。YTSage 需要为你的 {os_name} 系统设置 yt-dlp。<br><br>请选择下面的选项:",
|
||||
"option_auto": "自动下载(推荐)",
|
||||
"option_manual": "手动选择路径",
|
||||
"setup_button": "设置 yt-dlp",
|
||||
"downloading": "正在下载 yt-dlp...",
|
||||
"success": "yt-dlp 已成功安装!",
|
||||
"error": "错误:{error}",
|
||||
"download_failed_title": "下载失败",
|
||||
"download_failed_message": "无法下载 yt-dlp:{error}",
|
||||
"select_executable_title": "选择 yt-dlp 可执行文件",
|
||||
"copied_to": "yt-dlp 已成功复制到 {path}",
|
||||
"setup_error_title": "设置错误",
|
||||
"copy_error": "将 yt-dlp 复制到应用目录时出错:{error}",
|
||||
"invalid_executable_title": "无效的可执行文件",
|
||||
"invalid_executable_message": "所选文件似乎不是有效的 yt-dlp 可执行文件。",
|
||||
"verify_error": "验证 yt-dlp 可执行文件时出错:{error}",
|
||||
"setup_failed_title": "设置失败",
|
||||
"setup_failed_message": "无法设置 yt-dlp。某些功能可能无法正常工作。",
|
||||
"success_dialog_title": "yt-dlp 设置",
|
||||
"success_dialog_message": "yt-dlp 已成功配置到:\n{path}",
|
||||
"file_filter_windows": "可执行文件 (*.exe)",
|
||||
"file_filter_all": "所有文件 (*)"
|
||||
},
|
||||
"ffmpeg_updater": {
|
||||
"title": "FFmpeg 版本检查器",
|
||||
"current_version": "当前版本:",
|
||||
"latest_version": "最新版本:",
|
||||
"status_up_to_date": "✓ 已是最新",
|
||||
"status_update_available": "⚠ 有可用更新",
|
||||
"status_not_installed": "✗ 未安装",
|
||||
"status_idle": "点击「检查版本」开始",
|
||||
"status_checking": "🔄 正在检查版本...",
|
||||
"check_updates": "检查版本",
|
||||
"check_failed": "检查版本失败。请检查您的网络连接。",
|
||||
"description": "检查您的 FFmpeg 版本并与最新可用版本进行比较。",
|
||||
"guide_info": " 要安装或更新 FFmpeg,<a href='https://github.com/oop7/ffmpeg-install-guide'>请点击此处查看我们的综合安装指南</a>。"
|
||||
},
|
||||
"deno": {
|
||||
"setup_required": "需要设置 Deno",
|
||||
"setup_description": "YTSage 需要 Deno 来运行某些功能。<br><br>在应用程序的本地目录中找不到 Deno。YTSage 需要为您的 {os_name} 系统设置 Deno。<br><br>点击“设置 Deno”以自动下载和安装。",
|
||||
"setup_button": "设置 Deno",
|
||||
"downloading": "正在下载 Deno...",
|
||||
"extracting": "正在解压 Deno...",
|
||||
"verifying": "正在验证 Deno...",
|
||||
"success": "Deno 已成功安装!",
|
||||
"download_failed": "下载失败",
|
||||
"download_error": "下载 Deno 失败:{error}",
|
||||
"verification_failed": "SHA256 验证失败。下载的文件可能已损坏或被篡改。",
|
||||
"setup_failed": "设置 Deno 失败。某些功能可能无法正常工作。",
|
||||
"setup_error": "设置错误"
|
||||
},
|
||||
"deno_updater": {
|
||||
"title": "Deno 版本检查器与更新器",
|
||||
"description": "检查您的 Deno 版本并更新到最新版本。",
|
||||
"current_version": "当前版本:",
|
||||
"latest_version": "最新版本:",
|
||||
"status_idle": "点击“检查更新”开始",
|
||||
"status_checking": "🔄 正在检查更新...",
|
||||
"status_up_to_date": "✓ 已是最新",
|
||||
"status_update_available": "⚠ 有可用更新",
|
||||
"status_not_installed": "✗ 未安装",
|
||||
"check_updates": "检查更新",
|
||||
"update_now": "更新 Deno",
|
||||
"updating": "🔄 正在更新 Deno...",
|
||||
"update_success": "✅ Deno 已成功更新!",
|
||||
"update_failed": "❌ 更新失败:{error}",
|
||||
"check_failed": "检查更新失败。请检查您的网络连接。"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user