diff --git a/src/i18n/locales/es.json b/src/i18n/locales/es.json index b8e0fd0a..fffeea1b 100644 --- a/src/i18n/locales/es.json +++ b/src/i18n/locales/es.json @@ -284,32 +284,32 @@ "born_in": "Nacido/a en {{place}}", "filmography": "Filmografía", "also_known_as": "También conocido/a como", - "no_info_available": "No additional information available", - "as_character": "as {{character}}", - "loading_details": "Loading details...", - "years_old": "{{age}} years old", - "view_filmography": "View Filmography", - "filter": "Filter", - "sort_by": "Sort By", - "sort_popular": "Popular", - "sort_latest": "Latest", - "sort_upcoming": "Upcoming", - "upcoming_badge": "UPCOMING", - "coming_soon": "Coming Soon", - "filmography_count": "Filmography • {{count}} titles", - "loading_filmography": "Loading filmography...", - "load_more_remaining": "Load More ({{count}} remaining)", + "no_info_available": "Información adicional no disponible", + "as_character": "En el papel de {{character}}", + "loading_details": "Cargando detalles...", + "years_old": "{{age}} años", + "view_filmography": "Ver filmografía", + "filter": "Filtrar", + "sort_by": "Ordenar por", + "sort_popular": "Más populares", + "sort_latest": "Más recientes", + "sort_upcoming": "Próximos", + "upcoming_badge": "PRÓXIMAMENTE", + "coming_soon": "Próximamente", + "filmography_count": "Filmografía • {{count}} títulos", + "loading_filmography": "Cargando filmografía...", + "load_more_remaining": "Cargar más ({{count}} restantes)", "alert_error_title": "Error", - "alert_error_message": "Unable to load \"{{title}}\". Please try again later.", - "alert_ok": "OK", - "no_upcoming": "No upcoming releases available for this actor", - "no_content": "No content available for this actor", - "no_movies": "No movies available for this actor", - "no_tv": "No TV shows available for this actor" + "alert_error_message": "No se pudo cargar \"{{title}}\". Por favor, inténtalo de nuevo más tarde.", + "alert_ok": "Aceptar", + "no_upcoming": "No hay próximos estrenos disponibles para este actor", + "no_content": "No hay contenido disponible para este actor", + "no_movies": "No hay películas disponibles para este actor", + "no_tv": "No hay series de TV disponibles para este actor" }, "comments": { "title": "Comentarios de Trakt", - "spoiler_warning": "⚠️ Este comentario contiene spoilers. Toca para revelar.", + "spoiler_warning": "Este comentario contiene spoilers. Toca para mostrar.", "spoiler": "Spoiler", "contains_spoilers": "Contiene spoilers", "reveal": "Revelar", @@ -762,47 +762,47 @@ "about_nuvio": "Acerca de Nuvio" }, "privacy": { - "title": "Privacidad y Datos", + "title": "Privacidad y datos", "settings_desc": "Controla la recopilación de telemetría y datos", - "info_title": "Tu Privacidad nos Importa", + "info_title": "Tu privacidad nos importa", "info_description": "Controla qué datos se recopilan y comparten. Las analíticas están desactivadas por defecto y los reportes de fallos son anónimos por defecto.", - "analytics_enabled_title": "Analíticas Habilitadas", + "analytics_enabled_title": "Analíticas habilitadas", "analytics_enabled_message": "Se recopilarán datos de uso para ayudar a mejorar la aplicación. Puedes deshabilitarlo en cualquier momento.", - "disable_error_reporting_title": "¿Desactivar Reportes de Errores?", - "disable_error_reporting_message": "Desactivar reportes de errores significa que no seremos notificados de caídas o problemas que experimentes. Esto puede afectar nuestra capacidad de corregir errores.", + "disable_error_reporting_title": "¿Desactivar reporte de errores?", + "disable_error_reporting_message": "Desactivar reporte de errores significa que no seremos notificados de caídas o problemas que experimentes. Esto puede afectar nuestra capacidad de corregir errores.", "enable_session_replay_title": "¿Habilitar Repetición de Sesión?", "enable_session_replay_message": "La repetición de sesión registra tu pantalla cuando ocurren errores para ayudarnos a entender qué sucedió. Esto puede capturar contenido visible en tu pantalla.", "enable_pii_title": "¿Habilitar Recopilación de PII?", "enable_pii_message": "Esto permite la recopilación de información de identificación personal como dirección IP y detalles del dispositivo. Estos datos ayudan a diagnosticar problemas pero aumentan la exposición de privacidad.", "disable_all_title": "¿Desactivar Toda la Telemetría?", "disable_all_message": "Esto desactivará todas las analíticas, reportes de errores y repetición de sesión. No recibiremos datos sobre el uso de la aplicación o caídas.", - "disable_all_button": "Desactivar Todo", - "all_disabled_title": "Toda la Telemetría Desactivada", + "disable_all_button": "Desactivar todo", + "all_disabled_title": "Toda la telemetría desactivada", "all_disabled_message": "Se ha desactivado toda la recopilación de datos. Los cambios entrarán en vigor en el próximo reinicio de la aplicación.", - "reset_title": "Restablecer a Valores Recomendados", + "reset_title": "Restablecer a valores recomendados", "reset_message": "La configuración de privacidad se ha restablecido a los valores por defecto recomendados (reportes de errores habilitados, analíticas desactivadas).", "section_analytics": "ANALÍTICAS", - "analytics_title": "Analíticas de Uso", + "analytics_title": "Analíticas de uso", "analytics_description": "Recopilar patrones de uso anónimos y vistas de pantalla", "section_error_reporting": "REPORTES DE ERRORES", - "error_reporting_title": "Reportes de Caídas", + "error_reporting_title": "Reportes de caídas", "error_reporting_description": "Enviar reportes de caídas anónimos para mejorar la estabilidad", - "session_replay_title": "Repetición de Sesión", + "session_replay_title": "Repetición de sesión", "session_replay_description": "Grabar pantalla cuando ocurren errores", - "pii_title": "Incluir Información del Dispositivo", + "pii_title": "Incluir información del dispositivo", "pii_description": "Enviar dirección IP y detalles del dispositivo con reportes", "section_quick_actions": "ACCIONES RÁPIDAS", - "disable_all": "Desactivar Toda la Telemetría", + "disable_all": "Desactivar toda la telemetría", "disable_all_desc": "Desactivar toda la recopilación de datos", - "reset_recommended": "Restablecer a Valores Recomendados", + "reset_recommended": "Restablecer a valores recomendados", "reset_recommended_desc": "Valores por defecto enfocados en privacidad con reportes de errores", "section_learn_more": "APRENDE MÁS", - "privacy_policy": "Política de Privacidad", - "current_settings": "Resumen de Configuración Actual", + "privacy_policy": "Política de privacidad", + "current_settings": "Resumen de configuración actual", "summary_analytics": "Analíticas", - "summary_errors": "Reportes de Errores", - "summary_replay": "Repetición de Sesión", - "summary_pii": "Información del Dispositivo", + "summary_errors": "Reportes de errores", + "summary_replay": "Repetición de sesión", + "summary_pii": "Información del dispositivo", "restart_note_detailed": "* Los cambios en analíticas y reportes de errores entran en vigor inmediatamente. La repetición de sesión y la configuración de PII requieren reiniciar la aplicación." }, "ai_settings": { @@ -813,28 +813,28 @@ "feature_2": "Explicaciones de la trama e información de personajes", "feature_3": "Curiosidades y hechos de detrás de las cámaras", "feature_4": "Tu propia clave gratuita de la API de OpenRouter", - "api_key_section": "CLAVE DE API DE OPENROUTER", - "api_key_label": "Clave de API", - "api_key_desc": "Introduce tu clave de la API de OpenRouter para activar las funciones de chat de IA", - "save_api_key": "Guardar clave de API", + "api_key_section": "CLAVE API DE OPENROUTER", + "api_key_label": "Clave API", + "api_key_desc": "Introduce tu clave API de OpenRouter para activar las funciones de chat de IA", + "save_api_key": "Guardar clave API", "saving": "Guardando...", "update": "Actualizar", "remove": "Eliminar", - "get_free_key": "Consigue una clave de API gratuita en OpenRouter", + "get_free_key": "Consigue una clave API gratuita en OpenRouter", "enable_chat": "Activar chat de IA", "enable_chat_desc": "Cuando esté activado, el botón Preguntar a IA aparecerá en las páginas de contenido.", "chat_enabled": "Chat de IA activado", "chat_enabled_desc": "Ahora puedes hacer preguntas sobre películas y series. ¡Busca el botón \"Preguntar a IA\" en las páginas de contenido!", "how_it_works": "Cómo funciona", - "how_it_works_desc": "• OpenRouter da acceso a múltiples modelos de IA\n• Tu clave de API se mantiene privada y segura\n• El nivel gratuito incluye generosos límites de uso\n• Chatea con contexto sobre episodios/películas específicos\n• Obtén análisis y explicaciones detalladas", - "error_invalid_key": "Por favor, introduce una clave de API válida", - "error_key_format": "Las claves de API de OpenRouter deben empezar por \"sk-or-\"", - "success_saved": "¡Clave de API de OpenRouter guardada con éxito!", - "error_save": "Error al guardar la clave de API", - "confirm_remove_title": "Eliminar clave de API", - "confirm_remove_msg": "¿Estás seguro de que quieres eliminar tu clave de API de OpenRouter? Esto desactivará las funciones de chat de IA.", - "success_removed": "Clave de API eliminada con éxito", - "error_remove": "Error al eliminar la clave de API" + "how_it_works_desc": "• OpenRouter da acceso a múltiples modelos de IA\n• Tu clave API se mantiene privada y segura\n• El nivel gratuito incluye generosos límites de uso\n• Chatea con contexto sobre episodios/películas específicos\n• Obtén análisis y explicaciones detalladas", + "error_invalid_key": "Por favor, introduce una clave API válida", + "error_key_format": "Las claves API de OpenRouter deben empezar por \"sk-or-\"", + "success_saved": "¡Clave API de OpenRouter guardada con éxito!", + "error_save": "Error al guardar la clave API", + "confirm_remove_title": "Eliminar clave API", + "confirm_remove_msg": "¿Estás seguro de que quieres eliminar tu clave API de OpenRouter? Esto desactivará las funciones de chat de IA.", + "success_removed": "Clave API eliminada con éxito", + "error_remove": "Error al eliminar la clave API" }, "catalog_settings": { "title": "Catálogos", @@ -920,20 +920,20 @@ "account_info": "Información de la cuenta", "plan": "Plan", "plan_free": "Gratis", - "plan_essential": "Essential ($3/mes)", - "plan_pro": "Pro ($10/mes)", - "plan_standard": "Standard ($5/mes)", + "plan_essential": "Plan esencial (3€/mes)", + "plan_pro": "Plan pro (10€/mes)", + "plan_standard": "Plan estándar (5€/mes)", "plan_unknown": "Desconocido", "expires": "Caduca", "downloaded": "Descargado", "status_active": "Activo", - "connected_title": "✓ Conectado a TorBox", + "connected_title": "Conectado a TorBox", "connected_desc": "Tu complemento de TorBox está activo y proporcionando fuentes premium.", "configure_title": "Configurar complemento", "configure_desc": "Personaliza tu experiencia. Ordena por calidad, filtra por tamaño de archivo y gestiona otros ajustes de integración.", "open_settings": "Abrir ajustes", "what_is_debrid": "¿Qué es un servicio de Debrid?", - "enter_api_key": "Introduce tu clave de API", + "enter_api_key": "Introduce tu clave API", "connect_button": "Conectar e instalar", "connecting": "Conectando...", "unlock_speeds_title": "Desbloquea velocidades premium", @@ -942,12 +942,12 @@ "powered_by": "Impulsado por", "disclaimer_torbox": "Nuvio no tiene ninguna afiliación con Torbox.", "disclaimer_torrentio": "Nuvio no tiene ninguna afiliación con Torrentio.", - "installed_badge": "✓ INSTALADO", + "installed_badge": "INSTALADO", "promo_title": "⚡ ¿Necesitas un servicio de Debrid?", "promo_desc": "Consigue TorBox para streaming 4K ultrarrápido sin buffering. Torrents en caché premium y descargas instantáneas.", "promo_button": "Conseguir suscripción a TorBox", "service_label": "Servicio de Debrid *", - "api_key_label": "Clave de API *", + "api_key_label": "Clave API *", "sorting_label": "Orden", "exclude_qualities": "Excluir calidades", "priority_languages": "Idiomas prioritarios", @@ -960,12 +960,12 @@ "update_button": "Actualizar configuración", "updating": "Actualizando...", "remove_button": "Eliminar Torrentio", - "error_api_required": "Se requiere clave de API", - "error_api_required_desc": "Por favor, introduce la clave de API de tu servicio de debrid para instalar Torrentio.", - "success_installed": "¡Complemento Torrentio instalado con éxito!", - "success_removed": "Complemento Torrentio eliminado con éxito", + "error_api_required": "Se requiere clave API", + "error_api_required_desc": "Por favor, introduce la clave API de tu servicio de debrid para instalar Torrentio.", + "success_installed": "¡Torrentio instalado con éxito!", + "success_removed": "Torrentio eliminado con éxito", "alert_disconnect_title": "Desconectar Torbox", - "alert_disconnect_msg": "¿Estás seguro de que quieres desconectar Torbox? Esto eliminará el complemento y borrará tu clave de API guardada." + "alert_disconnect_msg": "¿Estás seguro de que quieres desconectar Torbox? Esto eliminará el complemento y borrará tu clave API guardada." }, "home_screen": { "title": "Ajustes de pantalla de inicio", @@ -974,10 +974,10 @@ "show_hero": "Mostrar sección destacada", "show_hero_desc": "Contenido destacado en la parte superior", "show_this_week": "Mostrar sección Esta semana", - "show_this_week_desc": "Nuevos episodios de la semana actual", + "show_this_week_desc": "Nuevos episodios de esta semana", "select_catalogs": "Seleccionar catálogos", "all_catalogs": "Todos los catálogos", - "selected": "seleccionados", + "selected": "Seleccionados", "hero_layout": "Diseño de destacados", "layout_legacy": "Clásico", "layout_carousel": "Carrusel", @@ -1026,15 +1026,15 @@ "mdblist": { "title": "Fuentes de valoraciones", "status_disabled": "MDBList desactivado", - "status_active": "Clave de API activa", - "status_required": "Se requiere clave de API", + "status_active": "Clave API activa", + "status_required": "Se requiere clave API", "status_disabled_desc": "La funcionalidad de MDBList está actualmente desactivada.", "status_active_desc": "Las valoraciones de MDBList están activadas.", "status_required_desc": "Añade tu clave abajo para activar las valoraciones.", "enable_toggle": "Activar MDBList", "enable_toggle_desc": "Activar/desactivar toda la funcionalidad de MDBList", - "api_section": "Clave de API", - "placeholder": "Pega tu clave de API de MDBList", + "api_section": "Clave API", + "placeholder": "Pega tu clave API de MDBList", "save": "Guardar", "clear": "Borrar clave", "rating_providers": "Proveedores de valoraciones", @@ -1048,14 +1048,14 @@ "step_2_end": ".", "step_3": "Genera una nueva clave y cópiala.", "go_to_website": "Ir a MDBList", - "alert_clear_title": "Borrar clave de API", - "alert_clear_msg": "¿Estás seguro de que quieres eliminar la clave de API guardada?", - "success_saved": "Clave de API guardada con éxito.", - "error_empty": "La clave de API no puede estar vacía.", + "alert_clear_title": "Borrar clave API", + "alert_clear_msg": "¿Estás seguro de que quieres eliminar la clave API guardada?", + "success_saved": "Clave API guardada con éxito.", + "error_empty": "La clave API no puede estar vacía.", "error_save": "Ocurrió un error al guardar. Por favor, inténtalo de nuevo.", - "api_key_empty_error": "La clave de API no puede estar vacía.", - "success_cleared": "Clave de API borrada con éxito", - "error_clear": "Error al borrar la clave de API" + "api_key_empty_error": "La clave API no puede estar vacía.", + "success_cleared": "Clave API borrada con éxito", + "error_clear": "Error al borrar la clave API" }, "notification": { "title": "Ajustes de notificaciones", @@ -1073,7 +1073,7 @@ "stats_upcoming": "Próximas", "stats_this_week": "Esta semana", "stats_total": "Total", - "sync_button": "Sincronizar Biblioteca y Trakt", + "sync_button": "Sincronizar biblioteca y Trakt", "syncing": "Sincronizando...", "sync_desc": "Sincroniza automáticamente las notificaciones para todas las series de tu biblioteca y lista de seguimiento/colección de Trakt.", "section_advanced": "Avanzado", @@ -1219,7 +1219,7 @@ }, "plugins": { "title": "Extensiones", - "enable_title": "Activar Extensiones", + "enable_title": "Activar extensiones", "enable_desc": "Permite que la app use extensiones instaladas para buscar fuentes de medios", "repo_config_title": "Configuración del repositorio", "repo_config_desc": "Gestiona repositorios de extensiones externos. Activa o desactiva cada uno abajo.", @@ -1302,12 +1302,12 @@ "select_theme": "SELECCIONAR TEMA", "create_custom": "Crear Tema Personalizado", "options": "OPCIONES", - "use_dominant_color": "Usar Color Dominante del Arte", + "use_dominant_color": "Usar color dominante del arte", "categories": { - "all": "Todos los Temas", - "dark": "Temas Oscuros", + "all": "Todos los temas", + "dark": "Temas oscuros", "colorful": "Coloridos", - "custom": "Mis Temas" + "custom": "Mis temas" }, "editor": { "theme_name_placeholder": "Nombre del tema", @@ -1315,11 +1315,11 @@ "primary": "Primario", "secondary": "Secundario", "background": "Fondo", - "invalid_name_title": "Nombre Inválido", - "invalid_name_msg": "Por favor ingresa un nombre válido" + "invalid_name_title": "Nombre inválido", + "invalid_name_msg": "Por favor introduce un nombre válido" }, "alerts": { - "delete_title": "Eliminar Tema", + "delete_title": "Eliminar tema", "delete_msg": "¿Estás seguro de que quieres eliminar \"{{name}}\"?", "ok": "OK", "delete": "Eliminar", @@ -1328,8 +1328,8 @@ } }, "legal": { - "title": "Legal y Descargo", - "intro_title": "Naturaleza de la Aplicación", + "title": "Legal y descargo", + "intro_title": "Naturaleza de la aplicación", "intro_text": "Nuvio es una aplicación de reproducción de medios y gestión de metadatos. Actúa únicamente como una interfaz del lado del cliente para navegar por metadatos disponibles públicamente (películas, series de TV, etc.) y reproducir archivos multimedia proporcionados por el usuario o extensiones de terceros. Nuvio no aloja, almacena, distribuye ni indexa ningún contenido multimedia.", "extensions_title": "Extensiones de terceros", "extensions_text": "Nuvio utiliza una arquitectura extensible que permite a los usuarios instalar complementos de terceros (extensiones). Estas extensiones son desarrolladas y mantenidas por desarrolladores independientes no afiliados a Nuvio. No tenemos control sobre, y no asumimos ninguna responsabilidad por, el contenido, la legalidad o la funcionalidad de cualquier extensión de terceros.", @@ -1341,11 +1341,11 @@ "warranty_text": "Este software se proporciona \"tal cual\", sin garantía de ningún tipo, expresa o implícita. En ningún caso los autores o titulares de los derechos de autor serán responsables de ninguna reclamación, daños u otra responsabilidad que surja del uso de este software." }, "plugin_tester": { - "title": "Probador de Plugins", + "title": "Probador de plugins", "subtitle": "Ejecuta scrapers e inspecciona logs en tiempo real", "tabs": { "individual": "Individual", - "repo": "Probador de Repo", + "repo": "Probador de repo", "code": "Código", "logs": "Registros", "results": "Resultados" @@ -1359,7 +1359,7 @@ "season": "Temporada", "episode": "Episodio", "running": "Ejecutando…", - "run_test": "Ejecutar Prueba", + "run_test": "Ejecutar prueba", "play": "Reproducir", "done": "Listo", "test": "Probar", @@ -1372,26 +1372,26 @@ "code_loaded": "Código cargado desde URL", "fetch_error": "Error al obtener: {{message}}", "no_code_error": "No hay código para ejecutar", - "plugin_code": "Código del Plugin", + "plugin_code": "Código del plugin", "focus_editor": "Enfocar editor", "code_placeholder": "// Pega el código del plugin aquí...", - "test_parameters": "Parámetros de Prueba", + "test_parameters": "Parámetros de prueba", "no_logs": "Sin registros. Ejecuta una prueba para ver la salida.", "no_streams": "No se encontraron streams.", "streams_found": "{{count}} Stream Encontrado", "streams_found_plural": "{{count}} Streams Encontrados", "tap_play_hint": "Toca Reproducir para probar en el reproductor nativo.", - "unnamed_stream": "Stream Sin Nombre", + "unnamed_stream": "Stream sin nombre", "quality": "Calidad: {{quality}}", "size": "Tamaño: {{size}}", "url_label": "URL: {{url}}", "headers_info": "Headers: {{count}} encabezado(s) personalizado(s)", "find_placeholder": "Buscar en código…", - "edit_code_title": "Editar Código", - "no_url_stream_error": "No se encontró URL para este stream" + "edit_code_title": "Editar código", + "no_url_stream_error": "No se encontró una URL para este stream" }, "repo": { - "title": "Probador de Repo", + "title": "Probador de repo", "description": "Obtén un repositorio (URL local o GitHub raw) y prueba cada proveedor.", "enter_repo_url_error": "Por favor ingresa una URL del repositorio", "invalid_url_title": "URL Inválida", @@ -1403,7 +1403,7 @@ "scraper_build_error": "No se pudo construir una URL de scraper", "download_scraper_error": "Error al descargar scraper", "test_failed": "Prueba fallida", - "test_parameters": "Parámetros de Prueba de Repo", + "test_parameters": "Parámetros de prueba de repo", "test_parameters_desc": "Estos parámetros se usan solo para el Probador de Repo.", "using_info": "Usando: {{mediaType}} • TMDB {{tmdbId}}", "using_info_tv": "Usando: {{mediaType}} • TMDB {{tmdbId}} • S{{season}}E{{episode}}", @@ -1411,14 +1411,14 @@ "repository_default": "Repositorio", "providers_count": "{{count}} proveedores", "fetch_hint": "Obtén un repo para listar proveedores.", - "test_all": "Probar Todo", + "test_all": "Probar todo", "status_running": "EJECUTANDO", "status_ok": "OK ({{count}})", "status_ok_empty": "OK (0)", "status_failed": "FALLÓ", "status_idle": "INACTIVO", "tried_url": "Intentado: {{url}}", - "provider_logs": "Registros del Proveedor", + "provider_logs": "Registros del proveedor", "no_logs_captured": "No se capturaron registros." } }