{ "maintenance": "Mantenimiento", "objects": "Objetos", "tasks": "Tareas", "overdue": "Vencida", "due_soon": "Próxima", "triggered": "Activada", "ok": "OK", "all": "Todos", "new_object": "+ Nuevo objeto", "templates_from": "Desde plantilla", "templates_title": "Empezar desde una plantilla", "templates_task_count": "{n} tareas", "template_created": "Creado desde plantilla", "onboard_hint": "Añade tu primer objeto para empezar a seguir el mantenimiento.", "edit": "Editar", "duplicate": "Duplicar", "task_duplicated": "Tarea duplicada", "object_duplicated": "Objeto duplicado", "delete": "Eliminar", "add_task": "+ Tarea", "complete": "Completada", "completed": "Completada", "skip": "Omitir", "skipped": "Omitida", "missed": "Omitida", "reset": "Restablecer", "snooze": "Posponer", "snoozed": "Pospuesta", "cancel": "Cancelar", "bulk_select": "Seleccionar", "bulk_select_all": "Seleccionar todo", "bulk_n_selected": "{n} seleccionados", "bulk_completed": "{n} tareas completadas", "bulk_archived": "{n} tareas archivadas", "completing": "Completando…", "interval": "Intervalo", "warning": "Aviso", "last_performed": "Última ejecución", "next_due": "Próximo vencimiento", "days_until_due": "Días hasta vencimiento", "avg_duration": "Ø Duración", "trigger": "Disparador", "trigger_type": "Tipo de disparador", "threshold_above": "Límite superior", "threshold_below": "Límite inferior", "threshold": "Umbral", "counter": "Contador", "state_change": "Cambio de estado", "runtime": "Tiempo de funcionamiento", "runtime_hours": "Duración objetivo (horas)", "target_value": "Valor objetivo", "baseline": "Línea base", "target_changes": "Cambios objetivo", "for_minutes": "Durante (minutos)", "time_based": "Temporal", "sensor_based": "Sensor", "manual": "Manual", "one_time": "Una vez", "weekdays": "Días de la semana", "nth_weekday": "N-ésimo día de la semana del mes", "day_of_month": "Día del mes", "recurrence_on_days": "Repetir los", "recurrence_occurrence": "Aparición", "recurrence_weekday": "Día de la semana", "recurrence_day": "Día del mes (1–31)", "recurrence_last_day": "Último día del mes", "recurrence_business_day": "Solo días laborables (adelantar desde el fin de semana)", "recurrence_offset": "Desplazamiento (días, ±)", "recurrence_offset_help": "Desplaza la fecha ±N días, p. ej. -2 = dos días antes.", "last_day_month": "Último día del mes", "last_business_day_month": "Último día laborable", "ord_1": "1.º", "ord_2": "2.º", "ord_3": "3.º", "ord_4": "4.º", "ord_5": "5.º", "ord_last": "Último", "day_word": "Día", "interval_value": "Intervalo", "interval_unit": "Unidad", "unit_days": "Días", "unit_weeks": "Semanas", "unit_months": "Meses", "unit_years": "Años", "due_date": "Fecha de vencimiento", "cleaning": "Limpieza", "inspection": "Inspección", "replacement": "Sustitución", "calibration": "Calibración", "service": "Servicio", "reading": "Lectura", "custom": "Personalizado", "history": "Historial", "cost": "Coste", "report_button": "Informe", "report_title": "Informe de mantenimiento", "report_generated": "Generado", "report_times_done": "Hecho", "report_total_cost": "Coste total", "report_every": "cada {n} {unit}", "report_notes": "Notas", "report_col_type": "Tipo", "report_col_status": "Estado", "report_col_schedule": "Programación", "duration": "Duración", "both": "Ambos", "trigger_val": "Valor del disparador", "complete_title": "Completada: ", "checklist": "Lista de verificación", "require_on_completion": "Exigir al completar", "checklist_steps_optional": "Pasos de la lista de verificación (opcional)", "checklist_placeholder": "Limpiar filtro\nReemplazar junta\nProbar presión", "checklist_help": "Un paso por línea. Máx. 100 elementos.", "err_too_long": "{field}: demasiado largo (máx. {n} caracteres)", "err_too_short": "{field}: demasiado corto (mín. {n} caracteres)", "err_value_too_high": "{field}: demasiado grande (máx. {n})", "err_value_too_low": "{field}: demasiado pequeño (mín. {n})", "err_required": "{field}: campo obligatorio", "err_wrong_type": "{field}: tipo incorrecto (esperado: {type})", "err_invalid_choice": "{field}: valor no permitido", "err_invalid_value": "{field}: valor inválido", "feat_schedule_time": "Programación por hora", "feat_schedule_time_desc": "Las tareas vencen a una hora específica en lugar de medianoche.", "schedule_time_optional": "Vence a las (opcional, HH:MM)", "schedule_time_help": "Vacío = medianoche (predeterminado). Zona horaria HA.", "at_time": "a las", "notes_optional": "Notas (opcional)", "cost_optional": "Coste (opcional)", "duration_minutes": "Duración en minutos (opcional)", "days": "días", "day": "día", "today": "Hoy", "d_overdue": "d vencida", "no_tasks": "No hay tareas de mantenimiento. Cree un objeto para empezar.", "no_tasks_short": "Sin tareas", "no_history": "Sin entradas en el historial.", "show_all": "Mostrar todo", "cost_duration_chart": "Costes & Duración", "installed": "Instalado", "confirm_delete_object": "¿Eliminar este objeto y todas sus tareas?", "confirm_delete_task": "¿Eliminar esta tarea?", "min": "Mín", "max": "Máx", "save": "Guardar", "saving": "Guardando…", "edit_task": "Editar tarea", "new_task": "Nueva tarea de mantenimiento", "task_name": "Nombre de la tarea", "maintenance_type": "Tipo de mantenimiento", "priority": "Prioridad", "labels": "Etiquetas", "labels_placeholder": "p. ej. seguridad, estacional, visible-inquilino", "labels_help": "Etiquetas separadas por comas para filtrar e informes.", "priority_low": "Baja", "priority_normal": "Normal", "priority_high": "Alta", "schedule_type": "Tipo de planificación", "interval_days": "Intervalo (días)", "warning_days": "Días de aviso", "earliest_completion_days": "Finalización más temprana (días antes del vencimiento)", "earliest_completion_days_help": "Déjalo vacío para poder completar en cualquier momento. 0 = solo el día del vencimiento o después.", "last_performed_optional": "Última ejecución (opcional)", "interval_anchor": "Anclaje del intervalo", "anchor_completion": "Desde la fecha de finalización", "anchor_planned": "Desde la fecha planificada (sin desviación)", "edit_object": "Editar objeto", "name": "Nombre", "manufacturer_optional": "Fabricante (opcional)", "model_optional": "Modelo (opcional)", "serial_number_optional": "Número de serie (opcional)", "serial_number_label": "N/S", "documentation_url_label": "Manual", "object_notes_label": "Notas", "sort_due_date": "Vencimiento", "sort_object": "Nombre del objeto", "sort_type": "Tipo", "sort_task_name": "Nombre de la tarea", "all_objects": "Todos los objetos", "tasks_lower": "tareas", "no_tasks_yet": "Aún no hay tareas", "add_first_task": "Agregar primera tarea", "trigger_configuration": "Configuración del disparador", "entity_id": "ID de entidad", "comma_separated": "separados por comas", "entity_logic": "Lógica de entidad", "entity_logic_any": "Cualquier entidad activa", "entity_logic_all": "Todas las entidades deben activar", "entities": "entidades", "attribute_optional": "Atributo (opcional, vacío = estado)", "use_entity_state": "Usar estado de la entidad (sin atributo)", "trigger_above": "Activar por encima de", "trigger_below": "Activar por debajo de", "for_at_least_minutes": "Durante al menos (minutos)", "safety_interval_days": "Intervalo de seguridad (días, opcional)", "safety_interval": "Intervalo de seguridad (opcional)", "delta_mode": "Modo delta", "from_state_optional": "Desde estado (opcional)", "to_state_optional": "Hasta estado (opcional)", "documentation_url_optional": "URL de documentación (opcional)", "object_notes_optional": "Notas (opcional)", "nfc_tag_id_optional": "ID de etiqueta NFC (opcional)", "nfc_tags_empty_help": "Aún no hay tags NFC registrados en Home Assistant.", "nfc_tags_open_settings": "Abrir configuración de tags", "nfc_tags_refresh": "Actualizar", "environmental_entity_optional": "Sensor ambiental (opcional)", "environmental_entity_helper": "p.ej. sensor.temperatura_exterior — ajusta el intervalo según las condiciones ambientales", "environmental_attribute_optional": "Atributo ambiental (opcional)", "nfc_tag_id": "ID de etiqueta NFC", "nfc_linked": "Etiqueta NFC vinculada", "nfc_link_hint": "Clic para vincular etiqueta NFC", "responsible_user": "Usuario responsable", "shared_with": "Compartida con (rotación)", "shared_with_help": "Elige varias personas para compartir esta tarea; la persona responsable rota con cada finalización.", "rotation_strategy": "Rotación", "rotation_none": "Sin rotación", "rotation_round_robin": "Por turnos", "rotation_least_completed": "Menos completadas", "rotation_random": "Aleatoria", "no_user_assigned": "(Ningún usuario asignado)", "all_users": "Todos los usuarios", "my_tasks": "Mis tareas", "tab_calendar": "Calendario", "cal_no_events": "Sin mantenimiento", "cal_window_7": "7 días", "cal_window_14": "14 días", "cal_window_30": "30 días", "cal_window_365": "1 año", "cal_every_n_days": "cada {n} días", "cal_source_time": "Basado en tiempo", "cal_source_time_adaptive": "Basado en tiempo (adaptativo)", "cal_source_sensor": "Basado en sensor", "cal_predicted": "predicho", "cal_confidence_high": "alta confianza", "cal_confidence_medium": "confianza media", "cal_confidence_low": "baja confianza", "budget_monthly": "Presupuesto mensual", "budget_yearly": "Presupuesto anual", "groups": "Grupos", "new_group": "Nuevo grupo", "edit_group": "Editar grupo", "no_groups": "Sin grupos todavía", "delete_group": "Eliminar grupo", "delete_group_confirm": "¿Eliminar el grupo '{name}'?", "group_select_tasks": "Seleccionar tareas", "group_name_required": "Nombre requerido", "description_optional": "Descripción (opcional)", "selected": "Seleccionado", "loading_chart": "Cargando datos...", "hide_outliers": "Ocultar valores atípicos (fallos del sensor)", "was_maintenance_needed": "¿Era necesario este mantenimiento?", "feedback_needed": "Necesario", "feedback_not_needed": "No necesario", "feedback_not_sure": "No seguro", "suggested_interval": "Intervalo sugerido", "apply_suggestion": "Aplicar", "reanalyze": "Reanalizar", "reanalyze_result": "Nuevo análisis", "reanalyze_insufficient_data": "Datos insuficientes para una recomendación", "data_points": "puntos de datos", "dismiss_suggestion": "Descartar", "confidence_low": "Baja", "confidence_medium": "Media", "confidence_high": "Alta", "recommended": "recomendado", "seasonal_awareness": "Conciencia estacional", "edit_seasonal_overrides": "Editar factores estacionales", "seasonal_overrides_title": "Factores estacionales (override)", "seasonal_overrides_hint": "Factor por mes (0.1–5.0). Vacío = aprendido automáticamente.", "seasonal_override_invalid": "Valor no válido", "seasonal_override_range": "El factor debe estar entre 0.1 y 5.0", "clear_all": "Borrar todo", "seasonal_chart_title": "Factores estacionales", "seasonal_learned": "Aprendido", "seasonal_manual": "Manual", "month_jan": "Ene", "month_feb": "Feb", "month_mar": "Mar", "month_apr": "Abr", "month_may": "May", "month_jun": "Jun", "month_jul": "Jul", "month_aug": "Ago", "month_sep": "Sep", "month_oct": "Oct", "month_nov": "Nov", "month_dec": "Dic", "sensor_prediction": "Predicción del sensor", "degradation_trend": "Tendencia", "trend_rising": "En aumento", "trend_falling": "En descenso", "trend_stable": "Estable", "trend_insufficient_data": "Datos insuficientes", "days_until_threshold": "Días hasta el umbral", "threshold_exceeded": "Umbral superado", "environmental_adjustment": "Factor ambiental", "sensor_prediction_urgency": "El sensor predice el umbral en ~{days} días", "day_short": "día", "weibull_reliability_curve": "Curva de fiabilidad", "weibull_failure_probability": "Probabilidad de fallo", "weibull_r_squared": "Ajuste R²", "beta_early_failures": "Fallos tempranos", "beta_random_failures": "Fallos aleatorios", "beta_wear_out": "Desgaste", "beta_highly_predictable": "Altamente predecible", "confidence_interval": "Intervalo de confianza", "confidence_conservative": "Conservador", "confidence_aggressive": "Optimista", "current_interval_marker": "Intervalo actual", "recommended_marker": "Recomendado", "characteristic_life": "Vida característica", "chart_mini_sparkline": "Sparkline de tendencia", "chart_history": "Historial de costes y duración", "chart_seasonal": "Factores estacionales, 12 meses", "chart_weibull": "Curva de fiabilidad Weibull", "chart_sparkline": "Gráfico de valor del disparador", "days_progress": "Progreso en días", "qr_code": "Código QR", "qr_generating": "Generando código QR…", "qr_error": "No se pudo generar el código QR.", "qr_error_no_url": "No hay URL de HA configurada. Establezca una URL externa o interna en Ajustes → Sistema → Red.", "save_error": "Error al guardar. Inténtelo de nuevo.", "qr_print": "Imprimir", "qr_download": "Descargar SVG", "qr_action": "Acción al escanear", "qr_action_view": "Ver info de mantenimiento", "qr_action_complete": "Marcar mantenimiento como completado", "qr_url_mode": "Tipo de enlace", "qr_mode_companion": "Companion App", "qr_mode_local": "Local (mDNS)", "qr_mode_server": "URL del servidor", "overview": "Resumen", "analysis": "Análisis", "recent_activities": "Actividades recientes", "search_notes": "Buscar en notas", "avg_cost": "Ø Coste", "no_advanced_features": "Sin funciones avanzadas activadas", "no_advanced_features_hint": "Active “Intervalos Adaptativos” o “Patrones Estacionales” en la configuración de la integración para ver datos de análisis aquí.", "analysis_not_enough_data": "Aún no hay suficientes datos para el análisis.", "analysis_not_enough_data_hint": "El análisis Weibull requiere al menos 5 mantenimientos completados; los patrones estacionales son visibles tras 6+ puntos de datos por mes.", "analysis_manual_task_hint": "Las tareas manuales sin intervalo no generan datos de análisis.", "completions": "finalizaciones", "current": "Actual", "shorter": "Más corto", "longer": "Más largo", "normal": "Normal", "disabled": "Desactivado", "compound_logic": "Lógica compuesta", "compound": "Compuesto (varias condiciones)", "compound_logic_and": "Y — todas las condiciones deben activarse", "compound_logic_or": "O — basta con una condición", "compound_help": "Combina varias condiciones de sensores en un disparador.", "compound_no_conditions": "Aún no hay condiciones — añade al menos una.", "compound_add_condition": "Añadir condición", "compound_condition": "Condición", "compound_remove_condition": "Eliminar condición", "card_title": "Título", "card_show_header": "Mostrar encabezado con estadísticas", "card_show_actions": "Mostrar botones de acción", "card_compact": "Modo compacto", "card_max_items": "Máx. elementos (0 = todos)", "card_filter_status": "Filtrar por estado", "card_filter_status_help": "Vacío = mostrar todos los estados.", "card_filter_objects": "Filtrar por objetos", "card_filter_objects_help": "Vacío = mostrar todos los objetos.", "card_filter_areas": "Filtrar por áreas", "card_filter_areas_help": "Vacío = mostrar todas las áreas.", "card_filter_entities": "Filtrar por entidades (entity_ids)", "card_filter_entities_help": "Selecciona entidades sensor / binary_sensor de esta integración. Vacío = todas.", "card_loading_objects": "Cargando objetos…", "card_load_error": "No se pudieron cargar los objetos — verifica la conexión WebSocket.", "card_no_tasks_title": "Aún no hay tareas de mantenimiento", "card_no_tasks_cta": "→ Crea una en el panel Mantenimiento", "no_objects": "Aún no hay objetos.", "action_error": "Acción fallida. Inténtelo de nuevo.", "area_id_optional": "Área (opcional)", "installation_date_optional": "Fecha de instalación (opcional)", "warranty_expiry_optional": "Vencimiento de garantía (opcional)", "warranty": "Garantía", "warranty_valid_until": "válida hasta {date}", "warranty_expires_in": "vence en {days} días", "warranty_expired": "vencida", "cal_past_windows": "Ventanas pasadas", "cal_forward_windows": "Ventanas futuras", "history_edit_title": "Editar entrada del historial", "history_edit_timestamp": "Marca de tiempo", "manufacturer": "Fabricante", "model": "Modelo", "area": "Área", "actions": "Acciones", "view_mode_label": "Vista", "view_cards": "Vista de tarjetas", "view_table": "Vista de tabla", "objects_table_columns_label": "Columnas de la tabla de objetos", "objects_table_columns_hint": "Elige qué columnas aparecen en la vista de tabla de objetos.", "custom_icon_optional": "Icono (opcional, ej. mdi:wrench)", "task_enabled": "Tarea habilitada", "skip_reason_prompt": "¿Omitir esta tarea?", "reason_optional": "Motivo (opcional)", "reset_date_prompt": "¿Marcar la tarea como realizada?", "reset_date_optional": "Fecha de última ejecución (opcional, por defecto: hoy)", "notes_label": "Notas", "documentation_label": "Documentación", "no_nfc_tag": "— Sin etiqueta —", "dashboard": "Panel", "tab_today": "Hoy", "palette_placeholder": "Buscar objetos y tareas…", "palette_no_results": "Sin resultados", "palette_hint": "↑↓ navegar · Enter abrir · Esc cerrar", "today_all_caught_up": "¡Todo al día! Nada pendiente esta semana.", "today_overdue": "Vencidas", "today_due_today": "Vence hoy", "today_this_week": "Esta semana", "settings": "Ajustes", "settings_features": "Funciones avanzadas", "settings_features_desc": "Active o desactive funciones avanzadas. Desactivar las oculta de la interfaz pero no elimina datos.", "feat_adaptive": "Planificación adaptativa", "feat_adaptive_desc": "Aprender intervalos óptimos del historial de mantenimiento", "feat_predictions": "Predicciones de sensor", "feat_predictions_desc": "Predecir fechas de activación por degradación del sensor", "feat_seasonal": "Ajustes estacionales", "feat_seasonal_desc": "Ajustar intervalos según patrones estacionales", "feat_environmental": "Correlación ambiental", "feat_environmental_desc": "Correlacionar intervalos con temperatura/humedad", "feat_budget": "Seguimiento de presupuesto", "feat_budget_desc": "Seguir los gastos de mantenimiento mensuales y anuales", "feat_groups": "Grupos de tareas", "feat_groups_desc": "Organizar tareas en grupos lógicos", "feat_checklists": "Listas de verificación", "feat_checklists_desc": "Procedimientos de varios pasos para completar tareas", "settings_general": "General", "settings_default_warning": "Días de aviso predeterminados", "settings_panel_enabled": "Panel lateral", "settings_panel_title": "Título del panel lateral", "settings_notifications": "Notificaciones", "settings_notify_service": "Servicio de notificación", "settings_install_assist_sentences": "Instalar frases de Assist", "settings_install_assist_sentences_hint": "Copia las frases de voz en tu configuración para que el agente clásico de Assist las reconozca. Un archivo que hayas editado nunca se sobrescribe.", "test_notification": "Notificación de prueba", "send_test": "Enviar prueba", "testing": "Enviando…", "test_notification_success": "Notificación de prueba enviada", "test_notification_failed": "La notificación de prueba falló", "notify_per_person": "Entrega por persona", "notify_no_own_device": "Sin dispositivo propio — usa el servicio del hogar", "settings_notify_due_soon": "Notificar cuando esté próxima", "settings_notify_overdue": "Notificar cuando esté vencida", "settings_notify_triggered": "Notificar cuando se active", "settings_interval_hours": "Intervalo de repetición (horas, 0 = una vez)", "settings_quiet_hours": "Horas de silencio", "settings_quiet_start": "Inicio", "settings_quiet_end": "Fin", "settings_max_per_day": "Máx. notificaciones por día (0 = ilimitado)", "settings_bundling": "Agrupar notificaciones", "settings_bundle_threshold": "Umbral de agrupación", "settings_reminder_leads": "Recordatorios adicionales (días antes del vencimiento)", "settings_reminder_leads_hint": "Plazos separados por comas, p. ej. 14, 3, 0 — se envía un recordatorio adicional en cada día indicado. Vacío = desactivado.", "settings_actions": "Botones de acción móviles", "settings_action_complete": "Mostrar botón 'Completada'", "settings_action_skip": "Mostrar botón 'Omitir'", "settings_action_snooze": "Mostrar botón 'Posponer'", "settings_weekly_digest": "Resumen semanal", "settings_weekly_digest_hint": "Una notificación de resumen el lunes por la mañana cuando hay tareas.", "settings_warranty_reminder": "Recordatorio de fin de garantía", "settings_warranty_reminder_days": "Días antes del vencimiento", "settings_warranty_reminder_hint": "Notificar una vez cuando a la garantía de un objeto le queden estos días para vencer.", "settings_snooze_hours": "Duración de posposición (horas)", "settings_budget": "Presupuesto", "settings_currency": "Moneda", "settings_budget_monthly": "Presupuesto mensual", "settings_budget_yearly": "Presupuesto anual", "settings_budget_alerts": "Alertas de presupuesto", "settings_budget_threshold": "Umbral de alerta (%)", "settings_import_export": "Importar / Exportar", "settings_export_json": "Exportar JSON", "settings_export_yaml": "Exportar YAML", "settings_export_csv": "Exportar CSV", "settings_import_csv": "Importar CSV", "settings_import_placeholder": "Pegue el contenido JSON o CSV aquí…", "settings_import_btn": "Importar", "settings_import_success": "{count} objetos importados correctamente.", "settings_export_success": "Exportación descargada.", "settings_saved": "Ajuste guardado.", "settings_include_history": "Incluir historial", "sort_alphabetical": "Alfabético", "sort_due_soonest": "Próximo a vencer", "sort_task_count": "Cantidad de tareas", "sort_area": "Área", "sort_assigned_user": "Usuario asignado", "sort_group": "Grupo", "groupby_none": "Sin agrupación", "groupby_area": "Por área", "groupby_group": "Por grupo", "groupby_user": "Por usuario", "filter_label": "Filtro", "user_label": "Usuario", "photo_label": "Foto", "sort_label": "Ordenar", "group_by_label": "Agrupar por", "state_value_help": "Usa el valor de estado de HA (normalmente en minúsculas, p. ej. \"on\"/\"off\"). Las mayúsculas se normalizan al guardar.", "target_changes_help": "Número de transiciones coincidentes antes de que se dispare el trigger (predeterminado: 1).", "qr_print_title": "Imprimir códigos QR", "qr_print_desc": "Genera una página imprimible de códigos QR para recortar y pegar en tus equipos.", "qr_print_load": "Cargar objetos", "qr_print_filter": "Filtro", "qr_print_objects": "Objetos", "qr_print_actions": "Acciones", "qr_print_url_mode": "Tipo de enlace", "qr_print_estimate": "Códigos QR estimados", "qr_print_over_limit": "máximo 200, reduce el filtro", "qr_print_generate": "Generar códigos QR", "qr_print_generating": "Generando…", "qr_print_ready": "Códigos QR listos", "qr_print_print_button": "Imprimir", "qr_print_empty": "Nada que generar", "qr_action_skip": "Omitir", "vacation_title": "Modo vacaciones", "vacation_active": "activo", "vacation_ended": "terminado", "vacation_desc": "Planifica tus vacaciones: las notificaciones se pausan durante el período más unos días de margen. Puedes excluir tareas concretas.", "vacation_enable": "Activar modo vacaciones", "vacation_start": "Inicio", "vacation_end": "Fin", "vacation_buffer": "Margen (días)", "vacation_exempt_title": "Notificar igual durante vacaciones", "vacation_exempt_desc": "Selecciona tareas que deben notificar también en vacaciones (p. ej. química crítica de piscina).", "vacation_load_tasks": "Cargar tareas", "vacation_preview_btn": "Mostrar vista previa", "vacation_preview_affected": "tareas afectadas", "vacation_event_due_soon": "vencerá pronto", "vacation_event_overdue": "se volverá vencida", "vacation_event_triggered_est": "posible activación de sensor", "vacation_sensor_based": "(basado en sensor)", "vacation_action_notify": "Notificar igual", "vacation_action_unsilence": "Silenciar de nuevo", "vacation_marked_complete": "Marcado como completado", "vacation_marked_skip": "Omitido", "vacation_end_now": "Terminar vacaciones ahora", "unassigned": "Sin asignar", "no_area": "Sin área", "has_overdue": "Tareas vencidas", "object": "Objeto", "settings_panel_access": "Acceso al panel", "settings_panel_access_desc": "Los administradores siempre tienen acceso completo. Para delegar crear, editar y eliminar a no administradores específicos, activa esto y selecciónalos abajo — los demás solo ven Completar y Omitir.", "settings_operator_write": "Permitir a los usuarios seleccionados crear, editar y eliminar", "settings_operator_write_desc": "Desactivado: solo los administradores pueden cambiar el contenido. Activado: los usuarios seleccionados abajo también tienen acceso completo.", "no_non_admin_users": "No se encontraron usuarios no administradores. Añade alguno en Ajustes → Personas.", "owner_label": "Propietario", "feat_completion_actions": "Acciones de finalización", "feat_completion_actions_desc": "Acción HA por tarea al completar + QR de finalización rápida con valores prefijados.", "on_complete_action_title": "Al completar: ejecutar acción HA (opcional)", "on_complete_action_desc": "Llama un servicio HA cuando se completa la tarea — p. ej. reiniciar un contador del dispositivo.", "on_complete_action_service": "Servicio", "on_complete_action_target": "Entidad objetivo", "on_complete_action_data": "Datos (JSON, opcional)", "on_complete_action_test": "Probar acción", "on_complete_action_test_success": "Éxito", "on_complete_action_test_failed": "Fallido", "quick_complete_defaults_title": "Valores predeterminados de finalización rápida (para escaneos QR, opcional)", "quick_complete_defaults_desc": "Valores prefijados para QR de finalización rápida. Sin ellos, el QR abre el diálogo de completar.", "quick_complete_defaults_notes": "Notas", "quick_complete_defaults_cost": "Coste", "quick_complete_defaults_duration": "Duración (minutos)", "quick_complete_defaults_feedback_none": "Sin feedback", "quick_complete_defaults_feedback_needed": "Era necesario", "quick_complete_defaults_feedback_not_needed": "No era necesario", "quick_complete_success": "Completado rápido", "trigger_replaced": "Disparador reemplazado", "add": "Añadir", "show_stats": "Mostrar estadísticas + gráficos", "hide_stats": "Ocultar estadísticas", "adaptive_no_data": "Aún no hay suficiente historial de finalizaciones para el análisis adaptativo. Completa esta tarea unas cuantas veces más para desbloquear las recomendaciones de intervalo y los gráficos de fiabilidad.", "suggestion_applied": "Intervalo sugerido aplicado", "vacation_mode": "Modo vacaciones", "vacation_status_active": "Activo ahora", "vacation_status_scheduled": "Programado", "vacation_status_inactive": "Inactivo", "vacation_end_now_confirm": "¿Finalizar las vacaciones de inmediato?", "vacation_exempt_count": "exentas", "vacation_advanced": "Avanzado…", "vacation_open_panel": "Abrir en el panel", "enable": "Activar", "saved": "Guardado", "budget_monthly_set": "Definir mensual", "budget_yearly_set": "Definir anual", "budget_advanced": "Moneda, alertas…", "budget_open_panel": "Abrir en el panel", "groups_empty": "Aún no hay grupos.", "group_new_placeholder": "Añadir grupo…", "group_delete_confirm": "¿Eliminar el grupo \"{name}\"?", "groups_manage_tasks": "Gestionar asignaciones de tareas…", "groups_open_panel": "Abrir en el panel", "on_complete_action_target_hint": "Nota: el dominio de la entidad debe coincidir con el servicio — p. ej. 'button.press' solo funciona en button.*, 'counter.increment' solo en counter.*, 'input_button.press' solo en input_button.* etc. Si no coinciden, la acción falla silenciosamente (HA registra 'Referenced entities ... missing or not currently available').", "show_all_objects": "Mostrar todos los objetos", "show_all_tasks": "Quitar filtro — mostrar todas las tareas", "filter_to_overdue": "Filtrar la lista solo a vencidas", "filter_to_due_soon": "Filtrar la lista solo a próximas a vencer", "filter_to_triggered": "Filtrar la lista solo a activadas", "open_task": "Abrir tarea", "show_details": "Mostrar historial + estadísticas", "hide_details": "Ocultar detalles", "history_empty": "Aún no hay historial.", "history_edit_button": "Editar entrada", "total_cost": "Coste total", "times_performed": "Realizada", "older_entries": "anteriores", "open_in_panel": "Abrir en el panel de Mantenimiento", "skip_reason": "Motivo de omisión (opcional)", "reset_to_date": "Restablecer última ejecución a", "delete_task_confirm": "¿Eliminar esta tarea y su historial?", "delete_object_confirm": "¿Eliminar este objeto y todas sus tareas?", "loading": "Cargando…", "archive": "Archivar", "undo": "Deshacer", "task_archived": "Tarea archivada", "object_archived": "Objeto archivado", "unarchive": "Desarchivar", "archived": "Archivado", "show_archived": "Mostrar archivados", "hide_archived": "Ocultar archivados", "confirm_archive_object": "¿Archivar este objeto y sus tareas? Se conserva el historial y se puede restaurar más tarde.", "settings_archive": "Archivado y retención", "settings_archive_desc": "Retira las tareas únicas completadas sin eliminarlas. Los elementos archivados se ocultan y quedan inactivos, pero conservan su historial y coste.", "settings_archive_oneoff_days": "Archivar automáticamente las tareas únicas completadas tras (días, 0 = desactivado)", "settings_delete_archived_oneoff_days": "Eliminar automáticamente las tareas únicas archivadas tras (días, 0 = nunca)", "archive_object": "Archivar objeto", "unarchive_object": "Desarchivar objeto", "documents": "Documentos", "documents_empty": "Aún no hay documentos.", "doc_upload": "Subir archivo", "doc_uploading": "Subiendo…", "doc_add_link": "Añadir enlace", "doc_link_url": "URL (https://…)", "doc_link_title": "Título (opcional)", "doc_open": "Abrir", "doc_delete_confirm": "¿Eliminar «{name}»?", "doc_too_large": "El archivo es demasiado grande (máx. 25 MB).", "doc_upload_failed": "Error al subir.", "completion_photo_optional": "Foto de finalización (opcional)", "add_photo": "Añadir foto", "uploading": "Subiendo…", "remove": "Quitar", "doc_deduped": "Ya almacenado en otro lugar — compartido, sin espacio adicional.", "doc_dup_in_object": "Este archivo ya está adjunto a este objeto.", "doc_link_invalid": "Solo se permiten enlaces http/https.", "doc_cat_manual": "Manual", "doc_cat_warranty": "Garantía", "doc_cat_invoice": "Factura", "doc_cat_spare_parts": "Repuestos", "doc_cat_photo": "Foto", "doc_cat_other": "Otro", "doc_link_badge": "Enlace", "doc_storage_title": "Almacenamiento de documentos", "doc_storage_saved": "Ahorrado por deduplicación", "doc_storage_refresh": "Actualizar", "doc_download": "Descargar", "doc_close": "Cerrar", "doc_camera": "Tomar foto", "doc_drop_hint": "Suelta los archivos aquí", "doc_task_none": "Ningún documento vinculado a esta tarea.", "doc_link_existing": "Vincular un documento…", "doc_attach": "Vincular", "doc_unlink": "Desvincular", "doc_page": "Página", "chart_range_7d": "7d", "chart_range_30d": "30d", "chart_range_90d": "90d", "chart_range_1y": "1a", "chart_since_service": "desde el último mantenimiento", "chart_no_stats": "No hay estadísticas a largo plazo para esta entidad — solo se muestran valores de eventos de mantenimiento", "auto_complete_on_recovery": "Completar automáticamente cuando el sensor se recupere", "auto_complete_on_recovery_help": "Registra una finalización (fija la última realización) cuando el disparador se resuelve solo — p. ej., sal rellenada, filtro cambiado.", "doc_search": "Buscar documentos…", "doc_search_none": "Ningún documento coincidente", "link_device_optional": "Vincular a dispositivo existente (opcional)", "parent_object_optional": "Objeto principal (opcional)", "parent_none": "(Sin objeto principal)", "paused": "Pausado", "pause_object": "Pausar", "resume_object": "Reanudar", "pause_until_prompt": "Congela los calendarios de este objeto: nada vence ni notifica hasta reanudarlo. Opcionalmente, fija una fecha de reanudación automática.", "pause_until_label": "Reanudar el (opcional)", "object_paused": "Objeto pausado", "object_resumed": "Objeto reanudado — calendarios reiniciados", "object_paused_badge": "Pausado", "paused_until_label": "hasta", "replace_object": "Sustituir…", "replace_object_prompt": "Retira este objeto y crea un sucesor. El historial y los costes quedan archivados en el antiguo; las tareas y los documentos pasan al nuevo, los contadores empiezan de cero.", "replace_name_label": "Nombre del sucesor", "object_replaced": "Objeto sustituido — sucesor creado", "reading_unit_label": "Unidad de lectura (p. ej. kWh, m³)", "reading_unit_help": "Se muestra junto al valor registrado al completar esta tarea.", "reading_value_label": "Valor de lectura", "reading_label": "Lectura", "settings_templates_label": "Galería de plantillas", "settings_templates_hint": "Desmarca las plantillas que nunca necesitarás: desaparecen de los selectores \"Desde plantilla\" (panel y flujo de configuración). Nada más cambia; puedes reactivarlas cuando quieras.", "worksheet": "Hoja de trabajo", "worksheet_scan_view": "Escanea para abrir la tarea", "worksheet_scan_complete": "Escanea para completar", "worksheet_manual_excerpt": "Extracto del manual", "worksheet_pages": "páginas", "worksheet_printed": "Impreso", "worksheet_never": "Nunca", "card_all_caught_up": "Todo al día — nada requiere atención", "postpone": "Posponer", "postpone_date_prompt": "¿A qué fecha posponer esta vez?", "postpone_date_label": "Nueva fecha de vencimiento", "postponed": "Pospuesto", "postponed_to": "Pospuesto hasta", "season_window_label": "Ventana estacional (meses)", "season_window_hint": "Solo vence en los meses seleccionados; las fechas fuera de temporada pasan al siguiente mes activo. Ninguno = todo el año.", "series_end_label": "Termina", "series_end_never": "Nunca (se repite indefinidamente)", "series_end_after_count": "Tras un número de veces", "series_end_until": "En una fecha", "series_end_count_label": "Número de veces", "series_end_until_label": "Fecha de fin", "parts_section": "Piezas y consumibles", "part_add": "Añadir pieza", "part_name": "Nombre", "part_vendor": "Fabricante", "part_storage_location": "Ubicación de almacenaje", "part_product_url": "URL del producto", "part_unit": "Unidad", "part_cost": "Precio unitario", "part_stock": "Existencias", "part_reorder_threshold": "Umbral de reposición", "part_restock_quantity": "Cantidad de reposición", "part_auto_buy": "Crear tarea de compra si bajo", "part_restock": "Ajustar existencias", "restock_quantity_label": "Cantidad comprada", "consumes_parts_label": "Consume piezas", "shared_parts_other_objects": "Piezas de otros objetos", "shared_parts_help": "Varios objetos pueden compartir un mismo stock. Al completar esta tarea se descuenta del objeto propietario.", "shared_part_unknown": "Pieza desconocida", "parts_load_failed": "No se pudieron cargar las piezas de este objeto — las opciones de consumo de piezas no están disponibles ahora.", "settings_export_selection": "Limitar a los objetos seleccionados (opcional)", "settings_docs_archive": "Archivo de documentos (con archivos)", "settings_docs_archive_hint": "Las exportaciones JSON/YAML/CSV solo contienen la configuración. Este ZIP incluye el contenido de los archivos subidos para una restauración completa.", "settings_docs_export_btn": "Descargar ZIP de documentos", "settings_docs_import_btn": "Restaurar ZIP de documentos", "settings_docs_import_success": "Restaurado: {blobs} archivos, {docs} documentos", "adopt_problem_button": "Adoptar sensores de problema", "adopt_problem_title": "Adoptar sensores de problema", "adopt_problem_hint": "Convierte los sensores de problema de HA (errores de impresora, avisos de filtro, batería baja) en tareas de mantenimiento que se activan mientras el problema está activo y se completan cuando se resuelve.", "adopt_problem_none": "No se encontraron sensores de problema que no estén ya rastreados.", "adopt_problem_active": "activo", "adopt_problem_ok": "ok", "adopt_problem_new_object": "(nuevo)", "adopt_problem_adopt": "Adoptar seleccionados", "adopt_problem_done": "{tasks} sensor(es) de problema adoptado(s)", "views_label": "Vistas", "views_none": "— Sin vista —", "views_manage": "Guardar / gestionar vistas", "views_dialog_title": "Vistas guardadas", "views_dialog_hint": "Guarda los filtros actuales como una vista con nombre que todos pueden reutilizar.", "views_name_placeholder": "Nombre de la vista", "views_save_current": "Guardar filtros actuales", "views_none_yet": "Aún no hay vistas guardadas.", "close": "Cerrar", "trigger_hint_now": "El sensor marca {value} ahora mismo.", "trigger_hint_above": "La tarea se activa cuando supere {target}.", "trigger_hint_below": "Se activa cuando baje de {target}.", "trigger_hint_counter_delta": "Cuenta desde la lectura actual ({value}): vence en {due} (+{target}); el contador se reinicia tras cada finalización.", "trigger_hint_counter_delta_edit": "Cuenta el uso desde la última finalización: vence tras +{target}; el contador se reinicia tras cada finalización.", "trigger_hint_counter_abs": "La tarea vence cuando el sensor alcance {target}.", "trigger_hint_runtime": "La tarea vence tras {hours} h de funcionamiento acumulado; el contador se reinicia tras cada finalización.", "trigger_hint_state_change": "La tarea vence tras {count} cambio(s) de estado.", "trigger_hint_state_change_to": "La tarea vence tras {count} cambio(s) a «{state}».", "trigger_hint_state_now": "Estado actual: {value}.", "adopt_problem_part": "Usa la pieza: {name}", "label_filter": "Etiqueta", "all_labels": "Todas las etiquetas", "settings_notify_scope": "Notificar solo para la vista", "settings_notify_scope_all": "Todas las tareas", "settings_notify_scope_hint": "Solo las tareas que coinciden con los filtros de etiqueta/usuario de la vista seleccionada envían recordatorios. El estado, el orden y la agrupación de la vista se ignoran aquí.", "card_saved_view": "Vista guardada", "card_saved_view_none": "Ninguna", "card_saved_view_help": "Aplica los filtros de estado, usuario y etiqueta de la vista además de los filtros anteriores. El orden y la agrupación de la vista son ajustes de visualización del panel y no se aplican en la tarjeta.", "doc_part_none": "No hay documentos vinculados a esta pieza.", "settings_templates_toggle_group": "Activar o desactivar todas las plantillas de este grupo", "setups_button": "Configuraciones sugeridas", "setups_title": "Configuraciones sugeridas (Beta)", "setups_hint": "Dispositivos de integraciones compatibles cuyos sensores de consumibles pueden impulsar tareas de mantenimiento. Al adoptar se crea el objeto y cada tarea se conecta a su sensor: se activa cuando el consumible se agota y se resuelve sola tras el cambio.", "setups_none": "No se encontraron dispositivos compatibles con sensores de consumibles sin conectar.", "setups_adopt": "Configurar selección", "setups_done": "{tasks} tareas conectadas a sensores creadas.", "complete_parts_used": "Piezas usadas esta vez", "part_delete_confirm": "¿Eliminar la pieza '{name}'? Se eliminarán su control de stock, los vínculos con tareas y cualquier recordatorio de compra abierto.", "baseline_start_value": "Valor inicial (opcional)", "baseline_start_help": "El conteo comienza desde este valor. Déjalo vacío para contar desde el valor actual; introduce la lectura del último mantenimiento para que cuente el uso desde entonces.", "setups_baseline_hint": "lectura en el último mantenimiento (opcional)", "baseline_start_help_edit": "Déjalo vacío para mantener el conteo actual. Un valor introducido reancla el conteo (p. ej., la lectura del último mantenimiento).", "baseline_current_effective": "Valor inicial vigente: {value}", "runtime_on_states": "Estados activos (separados por comas)", "runtime_on_states_help": "Estados que cuentan como en funcionamiento — predeterminado: on. P. ej. mowing, cleaning, printing. Con un atributo seleccionado se comparan sus valores.", "setups_target_new": "Crear nuevo: {name}", "schedule_preview_title": "Próximas fechas", "schedule_preview_ontime": "Suponiendo finalización puntual.", "schedule_preview_ends": "(la serie termina)", "adopt_problem_responsible": "Usuario responsable para todas las tareas adoptadas (opcional)", "adopt_problem_configure": "Configurar", "history_auto": "Automático", "battery_fleet_title": "Flota de baterías", "battery_fleet_none_low": "Todas las baterías OK — nada que reemplazar.", "battery_fleet_buy_now": "Comprar ahora", "battery_fleet_soon": "Pronto necesario", "battery_fleet_soon_hint": "Estimado según el último reemplazo — pide con antelación.", "battery_fleet_mark_all": "Marcar todas como reemplazadas", "battery_fleet_mark_one": "Marcar esta batería como reemplazada", "battery_fleet_offline": "sin conexión", "battery_fleet_trigger_lost": "El disparador de sensor de esta tarea se perdió — no se activará ni se completará automáticamente.", "battery_fleet_repair": "Reparar", "battery_fleet_exclude": "Excluir de la flota", "battery_fleet_excluded": "Excluidas", "battery_fleet_include": "Seguir de nuevo", "battery_fleet_total": "{n} baterías monitorizadas", "battery_fleet_setup_button": "Flota de baterías", "battery_fleet_setup_done": "Flota de baterías configurada — una tarea controla todas.", "update_banner": "Hay una versión más reciente de Maintenance Supporter en el servidor — recarga para actualizar el panel.", "update_reload": "Recargar" }