Add new i18n keys to language files
Add new localization keys across multiple ytsage language JSONs. Common addition: "filter_playlist_placeholder" added to most languages. Spanish, Turkish and Chinese receive several new strings for custom commands, proxy settings, FFmpeg installation messages, history loading, time/placeholders and validation messages. Also ensure files end with newline. Files modified: ar, de, es, fr, hi, id, it, ja, pl, pt, ru, tr, zh.
This commit is contained in:
@@ -96,7 +96,8 @@
|
|||||||
"filter_languages_placeholder": "تصفية اللغات (مثال: ar، en)...",
|
"filter_languages_placeholder": "تصفية اللغات (مثال: ar، en)...",
|
||||||
"no_subtitles_available": "لا توجد ترجمات متاحة",
|
"no_subtitles_available": "لا توجد ترجمات متاحة",
|
||||||
"matching": "مطابقة",
|
"matching": "مطابقة",
|
||||||
"ytdlp_log_title": "سجل yt-dlp"
|
"ytdlp_log_title": "سجل yt-dlp",
|
||||||
|
"filter_playlist_placeholder": "Filter videos..."
|
||||||
},
|
},
|
||||||
"tabs": {
|
"tabs": {
|
||||||
"cookies": "تسجيل الدخول بالكوكيز",
|
"cookies": "تسجيل الدخول بالكوكيز",
|
||||||
|
|||||||
@@ -96,7 +96,8 @@
|
|||||||
"filter_languages_placeholder": "Sprachen filtern (z.B. en, de)...",
|
"filter_languages_placeholder": "Sprachen filtern (z.B. en, de)...",
|
||||||
"no_subtitles_available": "Keine Untertitel verfügbar",
|
"no_subtitles_available": "Keine Untertitel verfügbar",
|
||||||
"matching": "passend",
|
"matching": "passend",
|
||||||
"ytdlp_log_title": "yt-dlp-Protokoll"
|
"ytdlp_log_title": "yt-dlp-Protokoll",
|
||||||
|
"filter_playlist_placeholder": "Filter videos..."
|
||||||
},
|
},
|
||||||
"tabs": {
|
"tabs": {
|
||||||
"cookies": "Mit Cookies anmelden",
|
"cookies": "Mit Cookies anmelden",
|
||||||
|
|||||||
@@ -17,7 +17,9 @@
|
|||||||
"polish": "Polaco",
|
"polish": "Polaco",
|
||||||
"italian": "Italiano",
|
"italian": "Italiano",
|
||||||
"arabic": "Árabe",
|
"arabic": "Árabe",
|
||||||
"japanese": "Japonés"
|
"japanese": "Japonés",
|
||||||
|
"help_text": "Select your preferred language for the interface.",
|
||||||
|
"restart_notice": "Language change will take effect after restarting the application."
|
||||||
},
|
},
|
||||||
"app": {
|
"app": {
|
||||||
"title": "YTSage",
|
"title": "YTSage",
|
||||||
@@ -51,7 +53,8 @@
|
|||||||
"deselect_all": "Deseleccionar Todos",
|
"deselect_all": "Deseleccionar Todos",
|
||||||
"open_folder": "Abrir ubicación de carpeta",
|
"open_folder": "Abrir ubicación de carpeta",
|
||||||
"history": "Historial",
|
"history": "Historial",
|
||||||
"save_playlist": "Save Playlist As"
|
"save_playlist": "Save Playlist As",
|
||||||
|
"custom_command_help": "Help"
|
||||||
},
|
},
|
||||||
"dialogs": {
|
"dialogs": {
|
||||||
"custom_options": "Opciones Personalizadas",
|
"custom_options": "Opciones Personalizadas",
|
||||||
@@ -63,7 +66,8 @@
|
|||||||
"filter_languages_placeholder": "Filtrar idiomas (ej., en, es)...",
|
"filter_languages_placeholder": "Filtrar idiomas (ej., en, es)...",
|
||||||
"no_subtitles_available": "No hay subtítulos disponibles",
|
"no_subtitles_available": "No hay subtítulos disponibles",
|
||||||
"matching": "que coincidan con",
|
"matching": "que coincidan con",
|
||||||
"ytdlp_log_title": "Registro de yt-dlp"
|
"ytdlp_log_title": "Registro de yt-dlp",
|
||||||
|
"filter_playlist_placeholder": "Filter videos..."
|
||||||
},
|
},
|
||||||
"tabs": {
|
"tabs": {
|
||||||
"cookies": "Iniciar sesión con Cookies",
|
"cookies": "Iniciar sesión con Cookies",
|
||||||
@@ -115,7 +119,9 @@
|
|||||||
"url_label": "📍 URL: {url}",
|
"url_label": "📍 URL: {url}",
|
||||||
"args_label": "⚙️ Argumentos: {command}",
|
"args_label": "⚙️ Argumentos: {command}",
|
||||||
"download_path_label": "📁 Ruta de descarga: {path}",
|
"download_path_label": "📁 Ruta de descarga: {path}",
|
||||||
"separator": "=================================================="
|
"separator": "==================================================",
|
||||||
|
"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"
|
||||||
},
|
},
|
||||||
"proxy": {
|
"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.",
|
"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.",
|
||||||
@@ -141,7 +147,11 @@
|
|||||||
"cleared_title": "Configuración de proxy borrada",
|
"cleared_title": "Configuración de proxy borrada",
|
||||||
"cleared_message": "Se borró y guardó toda la configuración de proxy.",
|
"cleared_message": "Se borró y guardó toda la configuración de proxy.",
|
||||||
"saved_main": "Proxy principal guardado: {proxy}",
|
"saved_main": "Proxy principal guardado: {proxy}",
|
||||||
"saved_geo": "Proxy geo guardado: {proxy}"
|
"saved_geo": "Proxy geo guardado: {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"
|
||||||
},
|
},
|
||||||
"download": {
|
"download": {
|
||||||
"preparing": "Preparando descarga...",
|
"preparing": "Preparando descarga...",
|
||||||
@@ -195,7 +205,11 @@
|
|||||||
"high_audio": "Audio Alto",
|
"high_audio": "Audio Alto",
|
||||||
"medium_audio": "Audio Medio",
|
"medium_audio": "Audio Medio",
|
||||||
"low_audio": "Audio Bajo",
|
"low_audio": "Audio Bajo",
|
||||||
"audio_only_resolution": "Solo audio"
|
"audio_only_resolution": "Solo audio",
|
||||||
|
"video_format": "Video Format:",
|
||||||
|
"audio_format": "Audio Format:",
|
||||||
|
"no_formats": "No formats available",
|
||||||
|
"loading": "Loading formats..."
|
||||||
},
|
},
|
||||||
"about": {
|
"about": {
|
||||||
"title": "Acerca de YTSage",
|
"title": "Acerca de YTSage",
|
||||||
@@ -223,7 +237,11 @@
|
|||||||
"end_time": "Tiempo de Fin:",
|
"end_time": "Tiempo de Fin:",
|
||||||
"start_time_placeholder": "00:00:00 (o dejar vacío para inicio)",
|
"start_time_placeholder": "00:00:00 (o dejar vacío para inicio)",
|
||||||
"end_time_placeholder": "00:10:00 (o dejar vacío para fin)",
|
"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)"
|
"force_keyframes": "Forzar fotogramas clave en cortes (mejor precisión, más lento)",
|
||||||
|
"start_placeholder": "00:00:00",
|
||||||
|
"end_placeholder": "00:00:00",
|
||||||
|
"invalid_format": "Invalid time format. Use HH:MM:SS format.",
|
||||||
|
"start_after_end": "Start time cannot be after end time."
|
||||||
},
|
},
|
||||||
"update": {
|
"update": {
|
||||||
"title": "Actualizar yt-dlp",
|
"title": "Actualizar yt-dlp",
|
||||||
|
|||||||
@@ -96,7 +96,8 @@
|
|||||||
"filter_languages_placeholder": "Filtrer les langues (ex: en, fr)...",
|
"filter_languages_placeholder": "Filtrer les langues (ex: en, fr)...",
|
||||||
"no_subtitles_available": "Aucun sous-titre disponible",
|
"no_subtitles_available": "Aucun sous-titre disponible",
|
||||||
"matching": "correspondant",
|
"matching": "correspondant",
|
||||||
"ytdlp_log_title": "Journal yt-dlp"
|
"ytdlp_log_title": "Journal yt-dlp",
|
||||||
|
"filter_playlist_placeholder": "Filter videos..."
|
||||||
},
|
},
|
||||||
"tabs": {
|
"tabs": {
|
||||||
"cookies": "Se connecter avec des cookies",
|
"cookies": "Se connecter avec des cookies",
|
||||||
|
|||||||
@@ -96,7 +96,8 @@
|
|||||||
"filter_languages_placeholder": "भाषाएं फ़िल्टर करें (जैसे: hi, en)...",
|
"filter_languages_placeholder": "भाषाएं फ़िल्टर करें (जैसे: hi, en)...",
|
||||||
"no_subtitles_available": "कोई उपशीर्षक उपलब्ध नहीं",
|
"no_subtitles_available": "कोई उपशीर्षक उपलब्ध नहीं",
|
||||||
"matching": "मेल खाता",
|
"matching": "मेल खाता",
|
||||||
"ytdlp_log_title": "yt-dlp लॉग"
|
"ytdlp_log_title": "yt-dlp लॉग",
|
||||||
|
"filter_playlist_placeholder": "Filter videos..."
|
||||||
},
|
},
|
||||||
"tabs": {
|
"tabs": {
|
||||||
"cookies": "कुकीज़ के साथ लॉगिन",
|
"cookies": "कुकीज़ के साथ लॉगिन",
|
||||||
|
|||||||
@@ -96,7 +96,8 @@
|
|||||||
"filter_languages_placeholder": "Filter bahasa (misalnya: id, en)...",
|
"filter_languages_placeholder": "Filter bahasa (misalnya: id, en)...",
|
||||||
"no_subtitles_available": "Tidak ada subtitle yang tersedia",
|
"no_subtitles_available": "Tidak ada subtitle yang tersedia",
|
||||||
"matching": "yang cocok",
|
"matching": "yang cocok",
|
||||||
"ytdlp_log_title": "Log yt-dlp"
|
"ytdlp_log_title": "Log yt-dlp",
|
||||||
|
"filter_playlist_placeholder": "Filter videos..."
|
||||||
},
|
},
|
||||||
"tabs": {
|
"tabs": {
|
||||||
"cookies": "Masuk dengan cookies",
|
"cookies": "Masuk dengan cookies",
|
||||||
|
|||||||
@@ -96,7 +96,8 @@
|
|||||||
"filter_languages_placeholder": "Filtra lingue (es: it, en)...",
|
"filter_languages_placeholder": "Filtra lingue (es: it, en)...",
|
||||||
"no_subtitles_available": "Nessun sottotitolo disponibile",
|
"no_subtitles_available": "Nessun sottotitolo disponibile",
|
||||||
"matching": "corrispondenti",
|
"matching": "corrispondenti",
|
||||||
"ytdlp_log_title": "Registro yt-dlp"
|
"ytdlp_log_title": "Registro yt-dlp",
|
||||||
|
"filter_playlist_placeholder": "Filter videos..."
|
||||||
},
|
},
|
||||||
"tabs": {
|
"tabs": {
|
||||||
"cookies": "Accedi con i cookie",
|
"cookies": "Accedi con i cookie",
|
||||||
|
|||||||
@@ -96,7 +96,8 @@
|
|||||||
"filter_languages_placeholder": "言語でフィルタ (例: ja, en)...",
|
"filter_languages_placeholder": "言語でフィルタ (例: ja, en)...",
|
||||||
"no_subtitles_available": "利用可能な字幕がありません",
|
"no_subtitles_available": "利用可能な字幕がありません",
|
||||||
"matching": "一致",
|
"matching": "一致",
|
||||||
"ytdlp_log_title": "yt-dlpログ"
|
"ytdlp_log_title": "yt-dlpログ",
|
||||||
|
"filter_playlist_placeholder": "Filter videos..."
|
||||||
},
|
},
|
||||||
"tabs": {
|
"tabs": {
|
||||||
"cookies": "Cookieでログイン",
|
"cookies": "Cookieでログイン",
|
||||||
|
|||||||
@@ -96,7 +96,8 @@
|
|||||||
"filter_languages_placeholder": "Filtruj języki (np: pl, en)...",
|
"filter_languages_placeholder": "Filtruj języki (np: pl, en)...",
|
||||||
"no_subtitles_available": "Brak dostępnych napisów",
|
"no_subtitles_available": "Brak dostępnych napisów",
|
||||||
"matching": "dopasowujące",
|
"matching": "dopasowujące",
|
||||||
"ytdlp_log_title": "Log yt-dlp"
|
"ytdlp_log_title": "Log yt-dlp",
|
||||||
|
"filter_playlist_placeholder": "Filter videos..."
|
||||||
},
|
},
|
||||||
"tabs": {
|
"tabs": {
|
||||||
"cookies": "Zaloguj za pomocą ciasteczek",
|
"cookies": "Zaloguj za pomocą ciasteczek",
|
||||||
|
|||||||
@@ -96,7 +96,8 @@
|
|||||||
"filter_languages_placeholder": "Filtrar idiomas (ex., en, pt)...",
|
"filter_languages_placeholder": "Filtrar idiomas (ex., en, pt)...",
|
||||||
"no_subtitles_available": "Nenhuma legenda disponível",
|
"no_subtitles_available": "Nenhuma legenda disponível",
|
||||||
"matching": "correspondendo",
|
"matching": "correspondendo",
|
||||||
"ytdlp_log_title": "Log do yt-dlp"
|
"ytdlp_log_title": "Log do yt-dlp",
|
||||||
|
"filter_playlist_placeholder": "Filter videos..."
|
||||||
},
|
},
|
||||||
"tabs": {
|
"tabs": {
|
||||||
"cookies": "Entrar com Cookies",
|
"cookies": "Entrar com Cookies",
|
||||||
|
|||||||
@@ -96,7 +96,8 @@
|
|||||||
"filter_languages_placeholder": "Фильтр языков (например, en, ru)...",
|
"filter_languages_placeholder": "Фильтр языков (например, en, ru)...",
|
||||||
"no_subtitles_available": "Субтитры недоступны",
|
"no_subtitles_available": "Субтитры недоступны",
|
||||||
"matching": "соответствующие",
|
"matching": "соответствующие",
|
||||||
"ytdlp_log_title": "Журнал yt-dlp"
|
"ytdlp_log_title": "Журнал yt-dlp",
|
||||||
|
"filter_playlist_placeholder": "Filter videos..."
|
||||||
},
|
},
|
||||||
"tabs": {
|
"tabs": {
|
||||||
"cookies": "Войти через Cookie",
|
"cookies": "Войти через Cookie",
|
||||||
|
|||||||
@@ -96,7 +96,8 @@
|
|||||||
"filter_languages_placeholder": "Dilleri filtrele (örn: tr, en)...",
|
"filter_languages_placeholder": "Dilleri filtrele (örn: tr, en)...",
|
||||||
"no_subtitles_available": "Altyazı mevcut değil",
|
"no_subtitles_available": "Altyazı mevcut değil",
|
||||||
"matching": "eşleşen",
|
"matching": "eşleşen",
|
||||||
"ytdlp_log_title": "yt-dlp Günlüğü"
|
"ytdlp_log_title": "yt-dlp Günlüğü",
|
||||||
|
"filter_playlist_placeholder": "Filter videos..."
|
||||||
},
|
},
|
||||||
"tabs": {
|
"tabs": {
|
||||||
"cookies": "Çerezlerle giriş yap",
|
"cookies": "Çerezlerle giriş yap",
|
||||||
@@ -178,7 +179,9 @@
|
|||||||
"geo_set_title": "Coğrafi proxy ayarlandı",
|
"geo_set_title": "Coğrafi proxy ayarlandı",
|
||||||
"geo_set_message": "Coğrafi doğrulama proxy'si ayarlandı ve kaydedildi: {proxy}",
|
"geo_set_message": "Coğrafi doğrulama proxy'si ayarlandı ve kaydedildi: {proxy}",
|
||||||
"cleared_title": "Proxy ayarları temizlendi",
|
"cleared_title": "Proxy ayarları temizlendi",
|
||||||
"cleared_message": "Tüm proxy ayarları temizlendi ve kaydedildi."
|
"cleared_message": "Tüm proxy ayarları temizlendi ve kaydedildi.",
|
||||||
|
"saved_main": "Saved main proxy: {proxy}",
|
||||||
|
"saved_geo": "Saved geo proxy: {proxy}"
|
||||||
},
|
},
|
||||||
"download": {
|
"download": {
|
||||||
"preparing": "İndirme hazırlanıyor...",
|
"preparing": "İndirme hazırlanıyor...",
|
||||||
@@ -549,14 +552,21 @@
|
|||||||
"redownload_confirm_message": "Tekrar indir?\n\n{title}",
|
"redownload_confirm_message": "Tekrar indir?\n\n{title}",
|
||||||
"redownload_started": "İndirme başladı",
|
"redownload_started": "İndirme başladı",
|
||||||
"no_url_error": "Geçmiş kaydında URL bulunamadı",
|
"no_url_error": "Geçmiş kaydında URL bulunamadı",
|
||||||
"redownload_failed": "Yeniden indirme başlatılamadı: {error}"
|
"redownload_failed": "Yeniden indirme başlatılamadı: {error}",
|
||||||
|
"loading": "Loading history..."
|
||||||
},
|
},
|
||||||
"ffmpeg": {
|
"ffmpeg": {
|
||||||
"installation_title": "FFmpeg Kurulumu",
|
"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:",
|
"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",
|
"install_button": "FFmpeg Kur",
|
||||||
"manual_guide": "Manuel Kılavuz",
|
"manual_guide": "Manuel Kılavuz",
|
||||||
"installation_failed": "FFmpeg kurulumu bir sorunla karşılaştı."
|
"installation_failed": "FFmpeg kurulumu bir sorunla karşılaştı.",
|
||||||
|
"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": {
|
"ytdlp_setup": {
|
||||||
"required_title": "yt-dlp Kurulumu Gerekli",
|
"required_title": "yt-dlp Kurulumu Gerekli",
|
||||||
|
|||||||
@@ -96,7 +96,8 @@
|
|||||||
"filter_languages_placeholder": "过滤语言(例如:en, zh)...",
|
"filter_languages_placeholder": "过滤语言(例如:en, zh)...",
|
||||||
"no_subtitles_available": "无可用字幕",
|
"no_subtitles_available": "无可用字幕",
|
||||||
"matching": "匹配",
|
"matching": "匹配",
|
||||||
"ytdlp_log_title": "yt-dlp 日志"
|
"ytdlp_log_title": "yt-dlp 日志",
|
||||||
|
"filter_playlist_placeholder": "Filter videos..."
|
||||||
},
|
},
|
||||||
"tabs": {
|
"tabs": {
|
||||||
"cookies": "使用 Cookie 登录",
|
"cookies": "使用 Cookie 登录",
|
||||||
@@ -127,7 +128,10 @@
|
|||||||
"browser_selected_title": "已应用浏览器 Cookie",
|
"browser_selected_title": "已应用浏览器 Cookie",
|
||||||
"browser_applied_message": "将从以下位置提取浏览器 cookie:{browser}",
|
"browser_applied_message": "将从以下位置提取浏览器 cookie:{browser}",
|
||||||
"cleared_title": "已清除 Cookie",
|
"cleared_title": "已清除 Cookie",
|
||||||
"cleared_message": "Cookie 设置已被清除"
|
"cleared_message": "Cookie 设置已被清除",
|
||||||
|
"active_browser": "✓ Active: Browser cookies ({browser})",
|
||||||
|
"active_file": "✓ Active: Cookie file ({file})",
|
||||||
|
"none_active": "○ No cookies active"
|
||||||
},
|
},
|
||||||
"custom_command": {
|
"custom_command": {
|
||||||
"help_text": "在下面输入您的自定义 yt-dlp 命令。当前网址将自动附加。<br><br>有关选项和使用示例的完整列表,<a href=\"{docs_url}\">点击此处查看官方 yt-dlp 文档</a>。<br><br>注意:下载路径和文件名模板将自动处理。",
|
"help_text": "在下面输入您的自定义 yt-dlp 命令。当前网址将自动附加。<br><br>有关选项和使用示例的完整列表,<a href=\"{docs_url}\">点击此处查看官方 yt-dlp 文档</a>。<br><br>注意:下载路径和文件名模板将自动处理。",
|
||||||
@@ -140,7 +144,14 @@
|
|||||||
"full_command": "🔧 完整命令:{command}",
|
"full_command": "🔧 完整命令:{command}",
|
||||||
"command_success": "✅ 自定义命令执行成功!",
|
"command_success": "✅ 自定义命令执行成功!",
|
||||||
"command_failed": "❌ 命令失败,退出代码 {code}",
|
"command_failed": "❌ 命令失败,退出代码 {code}",
|
||||||
"command_error": "❌ 执行自定义命令时出错:{error}"
|
"command_error": "❌ 执行自定义命令时出错:{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": {
|
"proxy": {
|
||||||
"help_text": "配置下载的代理设置。留空使用直接连接。",
|
"help_text": "配置下载的代理设置。留空使用直接连接。",
|
||||||
@@ -168,7 +179,9 @@
|
|||||||
"geo_set_title": "已设置地理代理",
|
"geo_set_title": "已设置地理代理",
|
||||||
"geo_set_message": "地理验证代理已设置并保存: {proxy}",
|
"geo_set_message": "地理验证代理已设置并保存: {proxy}",
|
||||||
"cleared_title": "代理设置已清除",
|
"cleared_title": "代理设置已清除",
|
||||||
"cleared_message": "所有代理设置已清除并保存。"
|
"cleared_message": "所有代理设置已清除并保存。",
|
||||||
|
"saved_main": "Saved main proxy: {proxy}",
|
||||||
|
"saved_geo": "Saved geo proxy: {proxy}"
|
||||||
},
|
},
|
||||||
"download": {
|
"download": {
|
||||||
"preparing": "正在准备下载...",
|
"preparing": "正在准备下载...",
|
||||||
@@ -539,14 +552,21 @@
|
|||||||
"redownload_confirm_message": "重新下载?\n\n{title}",
|
"redownload_confirm_message": "重新下载?\n\n{title}",
|
||||||
"redownload_started": "已开始下载",
|
"redownload_started": "已开始下载",
|
||||||
"no_url_error": "历史记录中未找到 URL",
|
"no_url_error": "历史记录中未找到 URL",
|
||||||
"redownload_failed": "无法开始重新下载: {error}"
|
"redownload_failed": "无法开始重新下载: {error}",
|
||||||
|
"loading": "Loading history..."
|
||||||
},
|
},
|
||||||
"ffmpeg": {
|
"ffmpeg": {
|
||||||
"installation_title": "FFmpeg 安装",
|
"installation_title": "FFmpeg 安装",
|
||||||
"installation_message": "YTSage 需要 FFmpeg 来处理视频。\n\n请选择下面的安装选项:",
|
"installation_message": "YTSage 需要 FFmpeg 来处理视频。\n\n请选择下面的安装选项:",
|
||||||
"install_button": "安装 FFmpeg",
|
"install_button": "安装 FFmpeg",
|
||||||
"manual_guide": "手动指南",
|
"manual_guide": "手动指南",
|
||||||
"installation_failed": "FFmpeg 安装遇到问题。"
|
"installation_failed": "FFmpeg 安装遇到问题。",
|
||||||
|
"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": {
|
"ytdlp_setup": {
|
||||||
"required_title": "需要设置 yt-dlp",
|
"required_title": "需要设置 yt-dlp",
|
||||||
|
|||||||
Reference in New Issue
Block a user