c00ef14703
Introduces an 'Open Folder' button to the UI, shown after a download completes, allowing users to quickly open the folder containing the downloaded file. Updates all language files to include translations for the new button tooltip.
399 lines
21 KiB
JSON
399 lines
21 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"
|
|
},
|
|
"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",
|
|
"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)"
|
|
},
|
|
"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...",
|
|
"updating_pip": "🐍 Actualizando yt-dlp del sistema vía pip...",
|
|
"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}",
|
|
"checking_pip": "🔍 Verificando instalación actual de pip...",
|
|
"current_version": "📋 Versión actual: {version}",
|
|
"not_found_pip": "⚠️ yt-dlp no encontrado vía pip, intentando instalación...",
|
|
"checking_latest": "🌐 Verificando última versión...",
|
|
"failed_check_updates": "❌ Falló la verificación de actualizaciones",
|
|
"latest_version": "🆕 Última versión: {version}",
|
|
"updating_from_to": "⬆️ Actualizando de {current} a {latest}...",
|
|
"running_pip_install": "📦 Ejecutando pip install --upgrade...",
|
|
"pip_completed": "✅ ¡Actualización de pip completada exitosamente!",
|
|
"pip_failed": "❌ Actualización de pip falló: {error}",
|
|
"pip_timeout": "❌ Tiempo de espera agotado para actualización de pip después de 5 minutos",
|
|
"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}",
|
|
"error_pip_update": "❌ Error durante la actualización de pip: {error}",
|
|
"pip_update_failed": "❌ Actualización de pip 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": "Verificar Actualizaciones Ahora",
|
|
"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\nUsa el botón 'Actualizar yt-dlp' en la ventana principal para actualizar.",
|
|
"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}"
|
|
},
|
|
"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",
|
|
"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"
|
|
}
|
|
} |