Files
SageTube/ytsage/languages/es.json
T
oop7 04e043c689 Add app update strings to translations
Add 'app_updates_title' and 'check_beta_updates' translation keys to language files (ar, de, es, fr, hi, id, it, ja, pl, pt, ru, tr, zh). These localized strings support the app updates settings UI (including an option to receive beta updates) and keep translations consistent with the existing auto-update-related entries.
2026-02-08 17:43:24 +02:00

598 lines
34 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": {
"reset": "Restablecer",
"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}",
"app_updates_title": "Actualizaciones de YTSage",
"check_beta_updates": "Recibir actualizaciones beta",
"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)",
"filename_format": "Formato de nombre de archivo",
"filename_format_help": "Variables disponibles: %(title)s, %(uploader)s, %(upload_date)s, %(resolution)s, %(id)s, %(ext)s. Se admite la sintaxis estándar de plantilla de salida de yt-dlp."
},
"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": "Preparando solicitud...",
"analyzing_extracting_basic": "Extrayendo información básica...",
"analyzing_extracting_detailed": "Extrayendo información detallada...",
"analyzing_processing_video": "Procesando datos de video...",
"analyzing_processing_formats": "Procesando formatos...",
"analyzing_loading_thumbnail": "Cargando miniatura...",
"analyzing_processing_subtitles": "Procesando subtítulos...",
"analyzing_updating_table": "Actualizando tabla de formatos...",
"analysis_complete": "¡Análisis completo!",
"analyzing_extracting_ytdlp": "Extrayendo información...",
"analyzing_fetching_first_video": "Obteniendo formatos del primer video...",
"analyzing_processing_data": "Procesando datos...",
"analyzing_processing_formats_ytdlp": "Procesando formatos...",
"analyzing_loading_thumbnail_ytdlp": "Cargando miniatura...",
"analyzing_processing_subtitles_ytdlp": "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."
}
}