3729d2941e
Introduces new settings for forcing output format when merging videos, allowing users to select a preferred format (mp4, webm, mkv). Updates all language files with relevant translations, adds UI controls in the settings dialog, persists settings via ConfigManager, and passes options through the download workflow to yt-dlp.
450 lines
24 KiB
JSON
450 lines
24 KiB
JSON
{
|
|
"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"
|
|
},
|
|
"tabs": {
|
|
"cookies": "Iniciar sesión con Cookies",
|
|
"custom_command": "Comando Personalizado",
|
|
"proxy": "Proxy",
|
|
"language": "Idioma"
|
|
},
|
|
"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"
|
|
},
|
|
"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}"
|
|
},
|
|
"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"
|
|
},
|
|
"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}"
|
|
},
|
|
"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}",
|
|
"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)"
|
|
},
|
|
"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 con ejecutable yt-dlp",
|
|
"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"
|
|
},
|
|
"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..."
|
|
},
|
|
"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}"
|
|
},
|
|
"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"
|
|
},
|
|
"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í",
|
|
"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"
|
|
}
|
|
} |