{ "config": { "step": { "user": { "title": "Maintenance Supporter", "description": "Configure su sistema de gestión de mantenimiento.", "menu_options": { "create_object": "Crear objeto de mantenimiento", "create_from_template": "Crear desde plantilla", "global_setup": "Configuración global" } }, "create_from_template": { "title": "Seleccionar categoría de plantilla", "description": "Elija una categoría para explorar las plantillas de mantenimiento predefinidas.", "data": { "template_category": "Categoría", "go_back": "Volver" }, "data_description": { "go_back": "Volver al menú principal sin guardar." } }, "template_select": { "title": "Seleccionar plantilla", "description": "Elija una plantilla de mantenimiento como punto de partida.", "data": { "template_id": "Plantilla", "go_back": "Volver" }, "data_description": { "go_back": "Volver a la selección de categoría sin guardar." } }, "template_customize": { "title": "Personalizar plantilla", "description": "Personalice la plantilla {template_name}. Incluye {task_count} tareas: {task_list}.", "data": { "name": "Nombre del objeto", "area_id": "Área", "manufacturer": "Fabricante", "model": "Modelo", "serial_number": "Número de serie", "documentation_url": "URL de manual / documentación", "notes": "Notas", "go_back": "Volver" }, "data_description": { "name": "Un nombre para este objeto de mantenimiento.", "area_id": "El área donde se encuentra este objeto.", "manufacturer": "El fabricante del objeto.", "model": "El nombre o número de modelo.", "serial_number": "El número de serie del objeto.", "documentation_url": "Enlace opcional a un manual en PDF, página del fabricante o cualquier URL con información de referencia para este objeto.", "notes": "Notas libres sobre el objeto — números de pieza, procedimientos, recordatorios, etc.", "go_back": "Volver a la selección de plantilla sin guardar." } }, "global_setup": { "title": "Configuración global", "description": "Configure los ajustes globales de mantenimiento.", "data": { "default_warning_days": "Días de aviso predeterminados", "notifications_enabled": "Activar notificaciones", "notify_service": "Servicio de notificación" }, "data_description": { "default_warning_days": "Número de días antes del vencimiento para mostrar un aviso.", "notifications_enabled": "Enviar notificaciones cuando las tareas de mantenimiento están próximas a vencer.", "notify_service": "El servicio de notificación a utilizar (ej.: notify.mobile_app_phone)." } }, "create_object": { "title": "Crear objeto de mantenimiento", "description": "Defina un dispositivo o equipo para gestionar su mantenimiento.", "data": { "name": "Nombre del objeto", "area_id": "Área", "manufacturer": "Fabricante", "model": "Modelo", "serial_number": "Número de serie", "documentation_url": "URL de manual / documentación", "notes": "Notas", "installation_date": "Fecha de instalación", "warranty_expiry": "Vencimiento de garantía", "go_back": "Volver" }, "data_description": { "name": "Un nombre único para este objeto de mantenimiento (ej.: 'Bomba piscina', 'Coche').", "area_id": "El área de su hogar donde se encuentra este objeto.", "manufacturer": "El fabricante del objeto.", "model": "El nombre o número de modelo.", "serial_number": "El número de serie del objeto.", "documentation_url": "Enlace opcional a un manual en PDF, página del fabricante o cualquier URL con información de referencia para este objeto.", "notes": "Notas libres sobre el objeto — números de pieza, procedimientos, recordatorios, etc.", "installation_date": "Fecha de instalación o compra de este objeto.", "warranty_expiry": "Cuándo vence la garantía del fabricante de este objeto.", "go_back": "Volver al menú principal sin guardar." } }, "task_menu": { "title": "Tareas de mantenimiento", "description": "Agregue tareas de mantenimiento para {object_name}. Actualmente {task_count} tarea(s) definida(s).", "menu_options": { "add_task": "Agregar tarea de mantenimiento", "finish": "Finalizar configuración" } }, "add_task": { "title": "Agregar tarea de mantenimiento", "description": "Defina una tarea de mantenimiento para {object_name}.", "data": { "name": "Nombre de la tarea", "type": "Tipo de mantenimiento", "schedule_type": "Tipo de programación", "custom_icon": "Icono de tarea", "go_back": "Volver" }, "data_description": { "name": "Un nombre descriptivo para esta tarea (ej.: 'Limpieza de filtro', 'Cambio de aceite').", "type": "La categoría del trabajo de mantenimiento.", "schedule_type": "Cómo se debe programar esta tarea.", "custom_icon": "Icono personalizado opcional para esta tarea (p. ej., mdi:oil, mdi:filter-variant).", "go_back": "Volver al menú de tareas sin guardar." } }, "time_based": { "title": "Programación temporal", "description": "Configure el intervalo de tiempo para esta tarea de mantenimiento.", "data": { "interval_days": "Intervalo", "interval_unit": "Unidad de intervalo", "last_performed": "Última ejecución", "warning_days": "Días de aviso antes del vencimiento", "go_back": "Volver", "interval_anchor": "Anclaje de intervalo" }, "data_description": { "interval_days": "Con qué frecuencia se repite este mantenimiento, combinado con la unidad de intervalo.", "interval_unit": "Unidad del intervalo: días, semanas, meses o años. Los meses y años siguen el calendario.", "last_performed": "Fecha del último mantenimiento realizado. Dejar vacío si nunca se realizó.", "warning_days": "Número de días antes del vencimiento para mostrar un aviso.", "go_back": "Volver a la creación de tareas sin guardar.", "interval_anchor": "Cómo se calcula la próxima fecha de vencimiento después de completar. 'Planificado' evita la deriva del calendario anclándose a la fecha planificada." } }, "one_time": { "title": "Tarea única", "description": "Configura una única tarea de mantenimiento no recurrente. Se archiva una vez completada.", "data": { "due_date": "Fecha de vencimiento", "warning_days": "Días de aviso antes del vencimiento", "go_back": "Volver" }, "data_description": { "due_date": "La fecha en que vence esta tarea única.", "warning_days": "Número de días antes del vencimiento para mostrar un aviso.", "go_back": "Volver a la creación de tareas sin guardar." } }, "calendar": { "title": "Programación por calendario", "description": "Configura una recurrencia basada en el calendario (días de la semana, n-ésimo día de la semana del mes o un día del mes).", "data": { "weekdays": "En estos días de la semana", "nth": "Qué aparición", "weekday": "Día de la semana", "day": "Día del mes", "warning_days": "Días de aviso antes del vencimiento", "go_back": "Volver", "last_day": "Último día del mes", "business": "Solo días laborables", "offset": "Desplazamiento (días)" }, "data_description": { "weekdays": "La tarea se repite cada día de la semana seleccionado.", "nth": "Qué aparición en el mes (p. ej., 1.ª, o Última).", "weekday": "El día de la semana para la regla del n-ésimo día (p. ej., sábado).", "day": "Día del mes (1-31; ajustado a la duración del mes).", "warning_days": "Número de días antes de la fecha de vencimiento para mostrar una advertencia.", "go_back": "Volver a la creación de tareas sin guardar.", "last_day": "Anula el número de día: vence el último día del mes.", "business": "Retrocede una fecha de fin de semana al viernes anterior (p. ej., último día laborable).", "offset": "Desplaza la fecha calculada ±N días (p. ej., -2 = dos días antes)." } }, "sensor_select": { "title": "Seleccionar sensor disparador", "description": "Elija una entidad de Home Assistant para monitorear en esta tarea de mantenimiento.", "data": { "trigger_entity": "Entidad a monitorear", "go_back": "Volver" }, "data_description": { "trigger_entity": "Seleccione la entidad sensor que debe activar esta tarea de mantenimiento.", "go_back": "Volver a la creación de tareas sin guardar." } }, "sensor_attribute": { "title": "Seleccionar atributo", "description": "Elija qué valor monitorear de {entity_id}. Estado actual: {current_state} {unit}", "data": { "trigger_attribute": "Valor a monitorear", "go_back": "Volver" }, "data_description": { "trigger_attribute": "Seleccione el estado de la entidad o un atributo específico a monitorear.", "go_back": "Volver a la selección de entidad sin guardar." } }, "trigger_type": { "title": "Tipo de disparador", "description": "¿Cómo debe el valor del sensor activar el mantenimiento?", "data": { "trigger_type": "Tipo de disparador", "go_back": "Volver" }, "data_description": { "trigger_type": "Umbral: se activa cuando el valor excede los límites. Contador: se activa después de acumular un valor objetivo. Cambio de estado: se activa después de un número de transiciones de estado.", "go_back": "Volver a la selección de atributo sin guardar." } }, "trigger_threshold": { "title": "Configuración de umbral", "description": "Establezca los umbrales para **{entity_id}** ({attribute}).\nActual: **{current_value} {unit}** | Prom.: {average} | Rango: {minimum}–{maximum} ({data_period}d)\nUmbral superior sugerido: {suggested_above} | Umbral inferior sugerido: {suggested_below}", "data": { "trigger_above": "Activar cuando superior a", "trigger_below": "Activar cuando inferior a", "trigger_for_minutes": "Durante al menos (minutos)", "interval_days": "Intervalo de seguridad", "interval_unit": "Unidad de intervalo", "warning_days": "Días de aviso antes del vencimiento", "go_back": "Volver" }, "data_description": { "trigger_above": "Activar mantenimiento cuando el valor supere este umbral.", "trigger_below": "Activar mantenimiento cuando el valor caiga por debajo de este umbral.", "trigger_for_minutes": "El valor debe superar el umbral durante este número de minutos antes de la activación.", "interval_days": "Intervalo de seguridad temporal opcional además del disparador de sensor.", "interval_unit": "Unidad del intervalo: días, semanas, meses o años. Los meses y años siguen el calendario.", "warning_days": "Número de días antes del vencimiento para mostrar un aviso.", "go_back": "Volver a la selección de tipo de trigger sin guardar." } }, "trigger_counter": { "title": "Configuración de contador", "description": "Establezca el valor objetivo del contador para {entity_id} ({attribute}). Actual: {current_value} {unit}.", "data": { "trigger_target_value": "Valor objetivo", "trigger_delta_mode": "Modo delta (contar cambios, no valor absoluto)", "interval_days": "Intervalo de seguridad", "interval_unit": "Unidad de intervalo", "warning_days": "Días de aviso antes del vencimiento", "go_back": "Volver" }, "data_description": { "trigger_target_value": "Activar mantenimiento cuando se alcance este valor acumulado.", "trigger_delta_mode": "Si está activado, cuenta la diferencia respecto a una base en lugar del valor absoluto.", "interval_days": "Intervalo de seguridad temporal opcional además del disparador de contador.", "interval_unit": "Unidad del intervalo: días, semanas, meses o años. Los meses y años siguen el calendario.", "warning_days": "Número de días antes del vencimiento para mostrar un aviso.", "go_back": "Volver a la selección de tipo de trigger sin guardar." } }, "trigger_state_change": { "title": "Configuración de cambio de estado", "description": "Cuente las transiciones de estado de {entity_id}.", "data": { "trigger_from_state": "Desde estado (opcional)", "trigger_to_state": "Hacia estado (opcional)", "trigger_target_changes": "Número de cambios para activar", "interval_days": "Intervalo de seguridad", "interval_unit": "Unidad de intervalo", "warning_days": "Días de aviso antes del vencimiento", "go_back": "Volver" }, "data_description": { "trigger_from_state": "Contar solo transiciones desde este estado. Dejar vacío para todos.", "trigger_to_state": "Contar solo transiciones hacia este estado. Dejar vacío para todos.", "trigger_target_changes": "Número de cambios de estado correspondientes antes de activar el mantenimiento.", "interval_days": "Intervalo de seguridad temporal opcional además del disparador de cambio de estado.", "interval_unit": "Unidad del intervalo: días, semanas, meses o años. Los meses y años siguen el calendario.", "warning_days": "Número de días antes del vencimiento para mostrar un aviso.", "go_back": "Volver a la selección de tipo de trigger sin guardar." } }, "trigger_runtime": { "title": "Configuración de tiempo de funcionamiento", "description": "Registre el tiempo de funcionamiento acumulado de {entity_id}. El mantenimiento se activa cuando el tiempo total de funcionamiento alcanza las horas objetivo.", "data": { "trigger_runtime_hours": "Tiempo de funcionamiento objetivo (horas)", "trigger_on_states": "Estados activos (separados por comas)", "interval_days": "Intervalo de seguridad", "interval_unit": "Unidad de intervalo", "warning_days": "Días de aviso antes del vencimiento", "go_back": "Volver" }, "data_description": { "trigger_runtime_hours": "Activar mantenimiento después de este número de horas de funcionamiento acumulado.", "trigger_on_states": "Qué estados del sensor se consideran 'activo'. Dejar vacío para predeterminado: on, 1, true. Ejemplo: in_use, running", "interval_days": "Intervalo de seguridad temporal opcional además del disparador de tiempo de funcionamiento.", "interval_unit": "Unidad del intervalo: días, semanas, meses o años. Los meses y años siguen el calendario.", "warning_days": "Número de días antes del vencimiento para mostrar un aviso.", "go_back": "Volver a la selección de tipo de trigger sin guardar." } }, "compound_logic": { "title": "Disparador compuesto", "description": "Elija cómo se deben combinar múltiples condiciones.", "data": { "compound_logic": "Lógica", "go_back": "Volver" }, "data_description": { "compound_logic": "Y = todas las condiciones deben activarse. O = cualquier condición activa.", "go_back": "Volver a la selección de tipo de trigger sin guardar." } }, "compound_condition_entity": { "title": "Condición #{condition_num} — Entidad", "description": "Seleccione la entidad para esta condición.", "data": { "trigger_entity": "Entidad", "go_back": "Volver" }, "data_description": { "trigger_entity": "La entidad del sensor a monitorizar para esta condición.", "go_back": "Volver al paso anterior sin guardar." } }, "compound_condition_type": { "title": "Condición #{condition_num} — Tipo", "description": "¿Cómo debe evaluar esta condición al sensor?", "data": { "trigger_type": "Tipo de disparador", "go_back": "Volver" }, "data_description": { "trigger_type": "El método utilizado para determinar cuándo se activa esta condición.", "go_back": "Volver a la selección de entidad sin guardar." } }, "compound_condition_threshold": { "title": "Condición — Umbral", "data": { "trigger_above": "Activar por encima de", "trigger_below": "Activar por debajo de", "trigger_for_minutes": "Duración (minutos)", "go_back": "Volver" }, "data_description": { "trigger_above": "Activar cuando el valor supere este umbral.", "trigger_below": "Activar cuando el valor caiga por debajo de este umbral.", "trigger_for_minutes": "El valor debe permanecer más allá del umbral durante esta duración.", "go_back": "Volver a la selección de tipo de condición sin guardar." } }, "compound_condition_counter": { "title": "Condición — Contador", "data": { "trigger_target_value": "Valor objetivo", "trigger_delta_mode": "Modo delta", "go_back": "Volver" }, "data_description": { "trigger_target_value": "Activar cuando el valor acumulado alcance este objetivo.", "trigger_delta_mode": "Contar cambios desde una línea base en lugar del valor absoluto.", "go_back": "Volver a la selección de tipo de condición sin guardar." } }, "compound_condition_state_change": { "title": "Condición — Cambio de estado", "data": { "trigger_from_state": "Desde estado", "trigger_to_state": "Hacia estado", "trigger_target_changes": "Número de cambios", "go_back": "Volver" }, "data_description": { "trigger_from_state": "Solo contar transiciones desde este estado. Dejar vacío para cualquiera.", "trigger_to_state": "Solo contar transiciones hacia este estado. Dejar vacío para cualquiera.", "trigger_target_changes": "Número de cambios de estado coincidentes antes de activar.", "go_back": "Volver a la selección de tipo de condición sin guardar." } }, "compound_condition_runtime": { "title": "Condición — Tiempo de ejecución", "data": { "trigger_runtime_hours": "Tiempo objetivo (horas)", "trigger_on_states": "Estados activos", "go_back": "Volver" }, "data_description": { "trigger_runtime_hours": "Activar después de estas horas de tiempo acumulado.", "trigger_on_states": "Estados del sensor contados como 'activos'. Dejar vacío para predeterminado.", "go_back": "Volver a la selección de tipo de condición sin guardar." } }, "compound_review": { "title": "Revisión del disparador compuesto", "description": "{condition_count} condición(es) configurada(s) con lógica {compound_logic}.", "data": { "compound_action": "Acción", "go_back": "Volver" }, "data_description": { "go_back": "Volver a la selección de lógica sin guardar." } }, "manual": { "title": "Programación manual", "description": "Esta tarea no tiene programación automática. Puede marcarla como vencida manualmente.", "data": { "warning_days": "Días de aviso antes del vencimiento", "notes": "Notas", "go_back": "Volver" }, "data_description": { "warning_days": "Número de días antes del vencimiento para mostrar un aviso.", "notes": "Notas o instrucciones adicionales para esta tarea.", "go_back": "Volver a la creación de tareas sin guardar." } }, "reconfigure": { "title": "Reconfigurar {name}", "description": "Actualizar la configuración de este objeto de mantenimiento.", "data": { "name": "Nombre del objeto", "area_id": "Área", "manufacturer": "Fabricante", "model": "Modelo", "serial_number": "Número de serie", "documentation_url": "URL de manual / documentación", "notes": "Notas", "installation_date": "Fecha de instalación", "warranty_expiry": "Vencimiento de garantía" }, "data_description": { "name": "El nombre de este objeto de mantenimiento.", "area_id": "El área donde se encuentra este objeto.", "manufacturer": "El fabricante de este objeto.", "model": "El modelo de este objeto.", "serial_number": "El número de serie de este objeto.", "documentation_url": "Enlace opcional a un manual en PDF, página del fabricante o cualquier URL con información de referencia para este objeto.", "notes": "Notas libres sobre el objeto — números de pieza, procedimientos, recordatorios, etc.", "installation_date": "Cuándo se instaló este objeto.", "warranty_expiry": "Cuándo vence la garantía del fabricante de este objeto." } } }, "error": { "name_exists": "Ya existe un objeto de mantenimiento con este nombre.", "no_tasks": "Se requiere al menos una tarea de mantenimiento.", "invalid_entity": "La entidad seleccionada no existe o no tiene datos numéricos.", "invalid_attribute": "El atributo seleccionado no está disponible en esta entidad.", "invalid_threshold": "Se debe establecer al menos un umbral (superior o inferior).", "invalid_due_date": "Se requiere una fecha de vencimiento para las tareas únicas.", "invalid_interval": "El intervalo debe ser un número positivo.", "min_exceeds_max": "El intervalo mínimo no debe superar el intervalo máximo.", "invalid_notify_service": "Formato del servicio de notificación no válido. Use 'notify.nombre_servicio' (ej.: notify.mobile_app_phone).", "notify_service_not_found": "Este servicio de notificación no se encontró en Home Assistant. Verifique el nombre del servicio.", "nfc_tag_duplicate": "Esta etiqueta NFC ya está vinculada a otra tarea." }, "abort": { "already_configured": "Este objeto de mantenimiento ya está configurado.", "global_already_exists": "La configuración global ya está configurada.", "template_not_found": "La plantilla seleccionada no se encontró.", "missing_data": "No se proporcionaron los datos requeridos.", "reconfigure_successful": "Configuración actualizada correctamente.", "reconfigure_cancelled": "Reconfiguración cancelada." } }, "options": { "step": { "init": { "title": "Opciones de mantenimiento", "description": "{object_info}", "menu_options": { "manage_tasks": "Gestionar tareas", "add_task": "Agregar nueva tarea", "object_settings": "Configuración del objeto", "done": "Listo" } }, "global_init": { "title": "Configuración global", "description": "Configure los ajustes globales de mantenimiento.", "menu_options": { "general_settings": "Configuración general", "advanced_features": "Funciones avanzadas", "panel_access": "Acceso al panel", "budget_settings": "Configuración de presupuesto", "manage_groups": "Gestionar grupos", "notification_settings": "Configuración de notificaciones", "notification_actions": "Acciones interactivas", "test_notification": "Enviar notificación de prueba", "done": "Listo" } }, "advanced_features": { "title": "Funciones avanzadas", "description": "Elija qué funciones avanzadas mostrar en la interfaz. Desactivar una función la oculta de la interfaz pero no elimina ningún dato.", "data": { "advanced_adaptive_visible": "Programación adaptativa", "advanced_predictions_visible": "Predicciones de sensor", "advanced_seasonal_visible": "Ajustes estacionales", "advanced_environmental_visible": "Correlación ambiental", "advanced_budget_visible": "Seguimiento de presupuesto", "advanced_groups_visible": "Grupos", "advanced_checklists_visible": "Listas de verificación", "advanced_schedule_time_visible": "Programación por hora" }, "data_description": { "advanced_adaptive_visible": "Mostrar análisis EWA, Weibull y sugerencias de intervalo para las tareas.", "advanced_predictions_visible": "Mostrar análisis de degradación de sensor y gráficos de predicción de umbral.", "advanced_seasonal_visible": "Mostrar gráficos de factores estacionales y datos de ajuste mensual.", "advanced_environmental_visible": "Mostrar ajustes de correlación ambiental (temperatura, humedad).", "advanced_budget_visible": "Mostrar seguimiento de presupuesto mensual/anual y alertas.", "advanced_groups_visible": "Mostrar la gestión de grupos de mantenimiento.", "advanced_checklists_visible": "Mostrar listas de verificación para la realización paso a paso de las tareas.", "advanced_schedule_time_visible": "Permite que las tareas venzan a una hora específica en lugar de medianoche." } }, "panel_access": { "title": "Acceso al panel", "description": "Los administradores siempre tienen acceso completo. Para delegar crear, editar y eliminar a no administradores específicos, activa la opción de abajo y selecciónalos — los demás solo ven Completar y Omitir. Se encontraron {user_count} usuario(s) no administrador(es).", "data": { "operator_write_enabled": "Permitir a los usuarios seleccionados crear, editar y eliminar", "admin_panel_user_ids": "Usuarios con acceso completo al panel" }, "data_description": { "operator_write_enabled": "Desactivado (predeterminado): solo los administradores pueden modificar el contenido. Activado: los usuarios seleccionados abajo también obtienen acceso completo.", "admin_panel_user_ids": "Los usuarios seleccionados ven el panel completo; todos los demás solo ven Completar y Omitir." } }, "general_settings": { "title": "Configuración general", "description": "Configure los ajustes básicos de Maintenance Supporter.", "data": { "default_warning_days": "Días de aviso predeterminados", "notifications_enabled": "Activar notificaciones", "notify_service": "Servicio de notificación", "panel_enabled": "Mostrar panel en la barra lateral", "panel_title": "Título del panel lateral" }, "data_description": { "default_warning_days": "Número de días antes de que venza una tarea de mantenimiento para mostrar una advertencia.", "notifications_enabled": "Enviar notificaciones cuando las tareas de mantenimiento están próximas a vencer o vencidas.", "notify_service": "El servicio de notificación a utilizar (ej.: notify.mobile_app_phone).", "panel_enabled": "Mostrar un panel de Maintenance Supporter en la barra lateral.", "panel_title": "Nombre personalizado para la entrada de la barra lateral. Déjalo en blanco para usar \"Maintenance\". Útil para evitar conflictos con el panel de Mantenimiento integrado de Home Assistant." } }, "notification_settings": { "title": "Configuración de notificaciones", "description": "Configure cuándo y con qué frecuencia se envían las notificaciones para cada estado.", "data": { "notify_due_soon_enabled": "Notificar cuando próximo a vencer", "notify_due_soon_interval_hours": "Intervalo de recordatorio próximo a vencer (horas)", "notify_overdue_enabled": "Notificar cuando vencido", "notify_overdue_interval_hours": "Intervalo de recordatorio vencido (horas)", "notify_triggered_enabled": "Notificar cuando activado", "notify_triggered_interval_hours": "Intervalo de recordatorio activado (horas)", "quiet_hours_enabled": "Activar horas silenciosas", "quiet_hours_start": "Inicio de horas silenciosas", "quiet_hours_end": "Fin de horas silenciosas", "max_notifications_per_day": "Notificaciones máx. por día", "notification_bundling_enabled": "Agrupar notificaciones", "notification_bundle_threshold": "Umbral de agrupación", "notification_title_style": "Estilo del título de notificación" }, "data_description": { "notify_due_soon_interval_hours": "Frecuencia de repetición del recordatorio próximo a vencer. Establecer a 0 para una sola notificación.", "notify_overdue_interval_hours": "Frecuencia de repetición del recordatorio vencido. Establecer a 0 para una sola notificación.", "notify_triggered_interval_hours": "Frecuencia de repetición de la notificación activada. Establecer a 0 para una sola notificación.", "quiet_hours_enabled": "Suprimir notificaciones durante las horas silenciosas.", "max_notifications_per_day": "Número máximo de notificaciones por día. Establecer a 0 para ilimitado.", "notification_bundling_enabled": "Enviar una notificación resumida cuando varias tareas requieran atención.", "notification_bundle_threshold": "Número mínimo de tareas para activar una notificación agrupada.", "notification_title_style": "Lo que aparece como TÍTULO de la notificación. Por defecto se conserva el texto por estado (p. ej., '¡Mantenimiento vencido!'). Nombre del objeto / tarea ayudan cuando el teléfono apila notificaciones." } }, "notification_actions": { "title": "Acciones interactivas", "description": "Configure los botones de acción mostrados en las notificaciones móviles (requiere la aplicación Companion).", "data": { "action_complete_enabled": "Mostrar botón 'Completar'", "action_skip_enabled": "Mostrar botón 'Omitir'", "action_snooze_enabled": "Mostrar botón 'Posponer'", "snooze_duration_hours": "Duración del aplazamiento (horas)" }, "data_description": { "action_complete_enabled": "Agrega un botón para marcar la tarea como completada directamente desde la notificación.", "action_skip_enabled": "Agrega un botón para omitir el ciclo de mantenimiento actual desde la notificación.", "action_snooze_enabled": "Agrega un botón para posponer el recordatorio de notificación.", "snooze_duration_hours": "Cuánto tiempo posponer las notificaciones cuando se presiona el botón de posponer." } }, "budget_settings": { "title": "Configuración de presupuesto", "description": "Establezca presupuestos de mantenimiento mensuales y anuales para rastrear gastos.", "data": { "budget_currency": "Moneda", "budget_monthly": "Presupuesto mensual", "budget_yearly": "Presupuesto anual", "budget_alerts_enabled": "Activar alertas de presupuesto", "budget_alert_threshold": "Umbral de alerta (%)" }, "data_description": { "budget_currency": "Moneda utilizada para la visualización del presupuesto y las notificaciones.", "budget_monthly": "Gasto máximo mensual en mantenimiento. Establecer a 0 para desactivar.", "budget_yearly": "Gasto máximo anual en mantenimiento. Establecer a 0 para desactivar.", "budget_alerts_enabled": "Enviar una notificación cuando los gastos superen el umbral de alerta.", "budget_alert_threshold": "Porcentaje del presupuesto en el que enviar una alerta." } }, "test_notification": { "title": "Notificación de prueba", "description": "{result}" }, "manage_groups": { "title": "Gestionar grupos", "description": "Seleccione un grupo para gestionar o cree uno nuevo.", "data": { "selected_group": "Seleccionar grupo" } }, "add_group": { "title": "Agregar grupo", "description": "Cree un nuevo grupo de mantenimiento para organizar las tareas relacionadas.", "data": { "group_name": "Nombre del grupo", "group_description": "Descripción" }, "data_description": { "group_name": "Un nombre para este grupo (ej.: 'Mantenimiento de primavera').", "group_description": "Descripción opcional para este grupo." } }, "manage_tasks": { "title": "Gestionar tareas", "description": "Seleccione una tarea para editar o eliminar.", "data": { "selected_task": "Seleccionar tarea", "go_back": "Volver" } }, "task_action": { "title": "Acciones de tarea", "description": "Tarea: {task_name} — Elige una acción.\n\nPróximas fechas: {next_dates}", "menu_options": { "edit_task": "Editar tarea", "edit_trigger": "Editar trigger", "remove_trigger": "Eliminar trigger", "edit_checklist": "Editar lista de verificación", "adaptive_scheduling": "Programación adaptativa", "delete_task": "Eliminar tarea", "manage_tasks": "Atrás" } }, "edit_task": { "title": "Editar tarea", "description": "Editar configuración de **{task_name}**.", "data": { "name": "Nombre de la tarea", "type": "Tipo de mantenimiento", "interval_days": "Intervalo", "interval_unit": "Unidad de intervalo", "warning_days": "Días de aviso antes del vencimiento", "due_date": "Fecha de vencimiento", "enabled": "Habilitado", "notes": "Notas", "documentation_url": "URL de documentación", "last_performed": "Última ejecución", "responsible_user_id": "Usuario responsable", "custom_icon": "Icono de tarea", "nfc_tag_id": "ID de etiqueta NFC", "go_back": "Volver", "interval_anchor": "Anclaje de intervalo", "reading_unit": "Unidad de lectura (para tareas de lectura, p. ej. kWh)", "season_months": "Ventana estacional (meses)", "ends_count": "Termina tras (numero de veces)", "ends_until": "Termina en la fecha" }, "data_description": { "name": "Un nombre descriptivo para esta tarea (ej. 'Limpieza de filtro', 'Cambio de aceite').", "type": "La categoría del trabajo de mantenimiento.", "interval_days": "Con qué frecuencia se repite este mantenimiento, combinado con la unidad de intervalo.", "interval_unit": "Unidad del intervalo: días, semanas, meses o años. Los meses y años siguen el calendario.", "warning_days": "Número de días antes de la fecha de vencimiento para mostrar una advertencia.", "due_date": "La fecha en que vence esta tarea única.", "enabled": "Cuando está desactivado, la programación y los disparadores se pausan. La tarea no se elimina.", "notes": "Notas adicionales o instrucciones para esta tarea.", "documentation_url": "Enlace a documentación externa o manual para esta tarea.", "last_performed": "Cuándo se realizó este mantenimiento por última vez. Dejar vacío si nunca se realizó.", "responsible_user_id": "El usuario de Home Assistant responsable de esta tarea.", "custom_icon": "Icono personalizado opcional para esta tarea (p. ej., mdi:oil, mdi:filter-variant).", "nfc_tag_id": "Vincular una etiqueta NFC a esta tarea. Escanear la etiqueta marcará automáticamente la tarea como completada.", "go_back": "Volver a las acciones de tarea sin guardar.", "interval_anchor": "Cómo se calcula la próxima fecha de vencimiento después de completar. 'Planificado' evita la deriva del calendario anclándose a la fecha planificada.", "season_months": "Solo vence en los meses seleccionados; las fechas fuera de temporada pasan al siguiente mes activo. Vacio = todo el ano.", "ends_count": "Dejar de repetir tras este numero de finalizaciones (serie finita). Vacio = sin limite.", "ends_until": "Dejar de repetir cuando la proxima vez caeria despues de esta fecha. Se ignora si se define 'Termina tras'." } }, "edit_checklist": { "title": "Editar lista de verificación", "description": "Defina los pasos de la lista de verificación para {task_name}. Ingrese un paso por línea.", "data": { "checklist_text": "Pasos de la lista de verificación", "go_back": "Volver" }, "data_description": { "checklist_text": "Ingrese cada paso en una línea separada. Estos pasos se mostrarán al completar la tarea.", "go_back": "Volver a las acciones de tarea sin guardar." } }, "compound_logic": { "title": "Disparador compuesto", "description": "Elija cómo se deben combinar múltiples condiciones.", "data": { "compound_logic": "Lógica", "go_back": "Volver" }, "data_description": { "compound_logic": "Y = todas las condiciones deben activarse. O = cualquier condición activa." } }, "compound_condition_entity": { "title": "Condición #{condition_num} — Entidad", "description": "Seleccione la entidad para esta condición.", "data": { "trigger_entity": "Entidad", "go_back": "Volver" }, "data_description": { "trigger_entity": "La entidad del sensor a monitorizar para esta condición." } }, "compound_condition_type": { "title": "Condición #{condition_num} — Tipo", "description": "¿Cómo debe evaluar esta condición al sensor?", "data": { "trigger_type": "Tipo de disparador", "go_back": "Volver" }, "data_description": { "trigger_type": "El método utilizado para determinar cuándo se activa esta condición." } }, "compound_condition_threshold": { "title": "Condición — Umbral", "data": { "trigger_above": "Activar por encima de", "trigger_below": "Activar por debajo de", "trigger_for_minutes": "Duración (minutos)", "go_back": "Volver" }, "data_description": { "trigger_above": "Activar cuando el valor supere este umbral.", "trigger_below": "Activar cuando el valor caiga por debajo de este umbral.", "trigger_for_minutes": "El valor debe permanecer más allá del umbral durante esta duración." } }, "compound_condition_counter": { "title": "Condición — Contador", "data": { "trigger_target_value": "Valor objetivo", "trigger_delta_mode": "Modo delta", "go_back": "Volver" }, "data_description": { "trigger_target_value": "Activar cuando el valor acumulado alcance este objetivo.", "trigger_delta_mode": "Contar cambios desde una línea base en lugar del valor absoluto." } }, "compound_condition_state_change": { "title": "Condición — Cambio de estado", "data": { "trigger_from_state": "Desde estado", "trigger_to_state": "Hacia estado", "trigger_target_changes": "Número de cambios", "go_back": "Volver" }, "data_description": { "trigger_from_state": "Solo contar transiciones desde este estado. Dejar vacío para cualquiera.", "trigger_to_state": "Solo contar transiciones hacia este estado. Dejar vacío para cualquiera.", "trigger_target_changes": "Número de cambios de estado coincidentes antes de activar." } }, "compound_condition_runtime": { "title": "Condición — Tiempo de ejecución", "data": { "trigger_runtime_hours": "Tiempo objetivo (horas)", "trigger_on_states": "Estados activos", "go_back": "Volver" }, "data_description": { "trigger_runtime_hours": "Activar después de estas horas de tiempo acumulado.", "trigger_on_states": "Estados del sensor contados como 'activos'. Dejar vacío para predeterminado." } }, "compound_review": { "title": "Revisión del disparador compuesto", "description": "{condition_count} condición(es) configurada(s) con lógica {compound_logic}.", "data": { "compound_action": "Acción", "go_back": "Volver" } }, "adaptive_scheduling": { "title": "Programación adaptativa", "description": "Configure la adaptación inteligente de intervalos para {task_name}. El sistema aprende de sus comentarios de finalización para sugerir mejores intervalos.", "data": { "adaptive_enabled": "Activar programación adaptativa", "ewa_alpha": "Tasa de aprendizaje (alpha)", "min_interval_days": "Intervalo mínimo (días)", "max_interval_days": "Intervalo máximo (días)", "seasonal_enabled": "Activar conciencia estacional", "sensor_prediction_enabled": "Activar predicciones de sensor", "environmental_entity": "Sensor ambiental (opcional)", "go_back": "Volver" }, "data_description": { "adaptive_enabled": "Cuando está activado, el sistema aprende de sus comentarios y sugiere intervalos de mantenimiento óptimos.", "ewa_alpha": "Velocidad de adaptación del algoritmo a nuevos datos. Mayor = más reactivo, menor = más estable.", "min_interval_days": "El intervalo más corto que el sistema recomendará.", "max_interval_days": "El intervalo más largo que el sistema recomendará.", "seasonal_enabled": "Ajustar recomendaciones según los patrones estacionales aprendidos de su historial de mantenimiento.", "sensor_prediction_enabled": "Analizar tendencias de sensores para predecir cuándo se alcanzarán los umbrales y sugerir mantenimiento anticipado si es necesario.", "environmental_entity": "Vincule un sensor de temperatura, humedad o presión para correlacionar las condiciones ambientales con los intervalos de mantenimiento.", "go_back": "Volver a las acciones de tarea sin guardar." } }, "delete_task": { "title": "Eliminar tarea", "description": "¿Está seguro de que desea eliminar la tarea {task_name}? Esta acción es irreversible.", "data": { "confirm": "Confirmar eliminación", "go_back": "Volver" } }, "remove_trigger": { "title": "Eliminar trigger", "description": "¿Eliminar trigger de **{task_name}**?\n\n**Entidad:** {entity_ids}\n**Tipo:** {trigger_type}\n**Configuración:** {config_details}\n\nSi se eliminan todas las entidades, la programación volverá a ser temporal.", "data": { "entities_to_remove": "Entidades a eliminar", "confirm": "Confirmar eliminación", "go_back": "Volver" }, "data_description": { "entities_to_remove": "Seleccione qué entidades eliminar de este trigger. Si se eliminan todas, se borra el trigger completo.", "go_back": "Volver a las acciones de tarea sin guardar." } }, "trigger_summary": { "title": "Trigger actual", "description": "Trigger para **{task_name}**:\n\n**Entidad:** {entity_ids}\n**Estado actual:** {current_states}\n**Tipo:** {trigger_type} (atributo: {attribute})\n**Configuración:** {config_details}", "menu_options": { "edit_trigger_proceed": "Editar trigger", "task_action": "Volver" } }, "add_task": { "title": "Agregar tarea de mantenimiento", "description": "Definir una nueva tarea de mantenimiento para este objeto.", "data": { "name": "Nombre de la tarea", "type": "Tipo de mantenimiento", "schedule_type": "Tipo de programación", "custom_icon": "Icono de tarea", "go_back": "Volver", "reading_unit": "Unidad de lectura (para tareas de lectura, p. ej. kWh)" }, "data_description": { "name": "Un nombre descriptivo para esta tarea (ej. 'Limpieza de filtro', 'Cambio de aceite').", "type": "La categoría del trabajo de mantenimiento.", "schedule_type": "Cómo debe programarse esta tarea.", "custom_icon": "Icono personalizado opcional para esta tarea (ej.: mdi:oil, mdi:filter-variant).", "go_back": "Volver al menú principal sin guardar." } }, "opt_time_based": { "title": "Programación temporal", "description": "Configurar el intervalo de tiempo para esta tarea.", "data": { "interval_days": "Intervalo", "interval_unit": "Unidad de intervalo", "last_performed": "Última ejecución", "warning_days": "Días de aviso antes del vencimiento", "go_back": "Volver", "interval_anchor": "Anclaje de intervalo" }, "data_description": { "interval_days": "Con qué frecuencia se repite este mantenimiento, combinado con la unidad de intervalo.", "interval_unit": "Unidad del intervalo: días, semanas, meses o años. Los meses y años siguen el calendario.", "last_performed": "Cuándo se realizó este mantenimiento por última vez. Dejar vacío si nunca se realizó.", "warning_days": "Número de días antes de la fecha de vencimiento para mostrar una advertencia.", "go_back": "Volver al menú principal sin guardar.", "interval_anchor": "Cómo se calcula la próxima fecha de vencimiento después de completar. 'Planificado' evita la deriva del calendario anclándose a la fecha planificada." } }, "opt_one_time": { "title": "Tarea única", "description": "Configura una única tarea de mantenimiento no recurrente. Se archiva una vez completada.", "data": { "due_date": "Fecha de vencimiento", "warning_days": "Días de aviso antes del vencimiento", "go_back": "Volver" }, "data_description": { "due_date": "La fecha en que vence esta tarea única.", "warning_days": "Número de días antes del vencimiento para mostrar un aviso.", "go_back": "Volver al menú principal sin guardar." } }, "opt_calendar": { "title": "Programación por calendario", "description": "Configura una recurrencia basada en el calendario (días de la semana, n-ésimo día de la semana del mes o un día del mes).", "data": { "weekdays": "En estos días de la semana", "nth": "Qué aparición", "weekday": "Día de la semana", "day": "Día del mes", "last_performed": "Última realización", "warning_days": "Días de aviso antes del vencimiento", "go_back": "Volver", "last_day": "Último día del mes", "business": "Solo días laborables", "offset": "Desplazamiento (días)" }, "data_description": { "weekdays": "La tarea se repite cada día de la semana seleccionado.", "nth": "Qué aparición en el mes (p. ej., 1.ª, o Última).", "weekday": "El día de la semana para la regla del n-ésimo día (p. ej., sábado).", "day": "Día del mes (1-31; ajustado a la duración del mes).", "last_performed": "Cuándo se realizó por última vez este mantenimiento. Déjelo vacío si nunca se ha hecho.", "warning_days": "Número de días antes de la fecha de vencimiento para mostrar una advertencia.", "go_back": "Volver al menú principal sin guardar.", "last_day": "Anula el número de día: vence el último día del mes.", "business": "Retrocede una fecha de fin de semana al viernes anterior (p. ej., último día laborable).", "offset": "Desplaza la fecha calculada ±N días (p. ej., -2 = dos días antes)." } }, "opt_manual": { "title": "Programación manual", "description": "Esta tarea no tiene programación automática. Puede marcarla como pendiente manualmente.", "data": { "warning_days": "Días de aviso antes del vencimiento", "notes": "Notas", "go_back": "Volver" }, "data_description": { "warning_days": "Número de días antes de la fecha de vencimiento para mostrar una advertencia.", "notes": "Notas adicionales o instrucciones para esta tarea.", "go_back": "Volver al menú principal sin guardar." } }, "opt_sensor_select": { "title": "Seleccionar sensor disparador", "description": "Elegir una entidad de Home Assistant para monitorear.", "data": { "trigger_entity": "Entidad a monitorear", "go_back": "Volver" }, "data_description": { "trigger_entity": "Seleccione la entidad de sensor que debe activar esta tarea de mantenimiento." } }, "opt_sensor_attribute": { "title": "Seleccionar atributo", "description": "Elija qué valor monitorear de {entity_id}. Estado actual: {current_state} {unit}", "data": { "trigger_attribute": "Valor a monitorear", "go_back": "Volver" }, "data_description": { "trigger_attribute": "Seleccione el estado de la entidad o un atributo específico para monitorear." } }, "opt_trigger_type": { "title": "Tipo de disparador", "description": "¿Cómo debe el valor del sensor activar el mantenimiento?", "data": { "trigger_type": "Tipo de disparador", "go_back": "Volver" }, "data_description": { "trigger_type": "Umbral: se activa cuando el valor excede los límites. Contador: se activa después de acumular un valor objetivo. Cambio de estado: se activa después de un número de transiciones de estado." } }, "opt_trigger_threshold": { "title": "Configuración de umbral", "description": "Establezca los umbrales para **{entity_id}** ({attribute}).\nActual: **{current_value} {unit}** | Prom.: {average} | Rango: {minimum}–{maximum} ({data_period}d)\nUmbral superior sugerido: {suggested_above} | Umbral inferior sugerido: {suggested_below}", "data": { "trigger_above": "Activar cuando superior a", "trigger_below": "Activar cuando inferior a", "trigger_for_minutes": "Durante al menos (minutos)", "interval_days": "Intervalo de seguridad", "interval_unit": "Unidad de intervalo", "warning_days": "Días de aviso antes del vencimiento", "go_back": "Volver" }, "data_description": { "trigger_above": "Activar mantenimiento cuando el valor exceda este umbral.", "trigger_below": "Activar mantenimiento cuando el valor caiga por debajo de este umbral.", "trigger_for_minutes": "El valor debe exceder el umbral durante estos minutos antes de activarse.", "interval_days": "Intervalo de seguridad basado en tiempo opcional además del disparador del sensor.", "interval_unit": "Unidad del intervalo: días, semanas, meses o años. Los meses y años siguen el calendario.", "warning_days": "Número de días antes de la fecha de vencimiento para mostrar una advertencia." } }, "opt_trigger_counter": { "title": "Configuración de contador", "description": "Establezca el valor objetivo del contador para {entity_id} ({attribute}). Actual: {current_value} {unit}.", "data": { "trigger_target_value": "Valor objetivo", "trigger_delta_mode": "Modo delta (contar cambios, no valor absoluto)", "interval_days": "Intervalo de seguridad", "interval_unit": "Unidad de intervalo", "warning_days": "Días de aviso antes del vencimiento", "go_back": "Volver" }, "data_description": { "trigger_target_value": "Activar mantenimiento cuando se alcance este valor acumulado.", "trigger_delta_mode": "Si está activado, cuenta la diferencia desde una línea base en lugar del valor absoluto.", "interval_days": "Intervalo de seguridad basado en tiempo opcional además del disparador del contador.", "interval_unit": "Unidad del intervalo: días, semanas, meses o años. Los meses y años siguen el calendario.", "warning_days": "Número de días antes de la fecha de vencimiento para mostrar una advertencia." } }, "opt_trigger_state_change": { "title": "Configuración de cambio de estado", "description": "Cuente las transiciones de estado de {entity_id}.", "data": { "trigger_from_state": "Desde estado (opcional)", "trigger_to_state": "Hacia estado (opcional)", "trigger_target_changes": "Número de cambios para activar", "interval_days": "Intervalo de seguridad", "interval_unit": "Unidad de intervalo", "warning_days": "Días de aviso antes del vencimiento", "go_back": "Volver" }, "data_description": { "trigger_from_state": "Solo contar transiciones desde este estado. Dejar vacío para cualquiera.", "trigger_to_state": "Solo contar transiciones hacia este estado. Dejar vacío para cualquiera.", "trigger_target_changes": "Número de cambios de estado coincidentes antes de activar el mantenimiento.", "interval_days": "Intervalo de seguridad basado en tiempo opcional además del disparador de cambio de estado.", "interval_unit": "Unidad del intervalo: días, semanas, meses o años. Los meses y años siguen el calendario.", "warning_days": "Número de días antes de la fecha de vencimiento para mostrar una advertencia." } }, "opt_trigger_runtime": { "title": "Configuración de tiempo de funcionamiento", "description": "Registre el tiempo de funcionamiento acumulado de {entity_id}.", "data": { "trigger_runtime_hours": "Tiempo de funcionamiento objetivo (horas)", "trigger_on_states": "Estados activos (separados por comas)", "interval_days": "Intervalo de seguridad", "interval_unit": "Unidad de intervalo", "warning_days": "Días de aviso antes del vencimiento", "go_back": "Volver" }, "data_description": { "trigger_runtime_hours": "Activar mantenimiento después de estas horas de tiempo de ejecución acumulado.", "trigger_on_states": "Qué estados del sensor cuentan como 'activo'. Dejar vacío para predeterminado: on, 1, true. Ejemplo: in_use, running", "interval_days": "Intervalo de seguridad basado en tiempo opcional además del disparador de tiempo de ejecución.", "interval_unit": "Unidad del intervalo: días, semanas, meses o años. Los meses y años siguen el calendario.", "warning_days": "Número de días antes de la fecha de vencimiento para mostrar una advertencia." } }, "object_settings": { "title": "Configuración del objeto", "description": "Editar detalles del objeto.", "data": { "name": "Nombre del objeto", "manufacturer": "Fabricante", "model": "Modelo", "serial_number": "Número de serie", "documentation_url": "URL de manual / documentación", "notes": "Notas", "area_id": "Área", "installation_date": "Fecha de instalación", "warranty_expiry": "Vencimiento de garantía", "go_back": "Volver" }, "data_description": { "name": "Un nombre único para este objeto de mantenimiento (ej. 'Bomba de piscina', 'Coche').", "manufacturer": "El fabricante del objeto.", "model": "El nombre o número de modelo.", "serial_number": "El número de serie del objeto.", "documentation_url": "Enlace opcional a un manual en PDF, página del fabricante o cualquier URL con información de referencia para este objeto.", "notes": "Notas libres sobre el objeto — números de pieza, procedimientos, recordatorios, etc.", "area_id": "El área en su hogar donde se encuentra este objeto.", "installation_date": "Cuándo se instaló o compró este objeto.", "warranty_expiry": "Cuándo vence la garantía del fabricante de este objeto.", "go_back": "Volver al menú principal sin guardar." } } } }, "entity": { "button": { "button_complete": { "name": "{task_name} Completar" }, "button_skip": { "name": "{task_name} Omitir" }, "button_reset": { "name": "{task_name} Restablecer" } }, "sensor": { "maintenance_task": { "name": "{task_name}", "state": { "ok": "OK", "due_soon": "Próximo a vencer", "overdue": "Vencido", "triggered": "Activado", "archived": "Archivado", "paused": "Pausado" }, "state_attributes": { "maintenance_type": { "name": "Tipo de mantenimiento", "state": { "cleaning": "Limpieza", "inspection": "Inspección", "replacement": "Reemplazo", "calibration": "Calibración", "service": "Servicio", "reading": "Lectura", "custom": "Personalizado" } }, "schedule_type": { "name": "Tipo de programación", "state": { "time_based": "Temporal", "sensor_based": "Basado en sensor", "one_time": "Una vez", "manual": "Manual" } }, "interval_days": { "name": "Intervalo" }, "interval_unit": { "name": "Unidad de intervalo" }, "warning_days": { "name": "Días de aviso" }, "last_performed": { "name": "Última ejecución" }, "next_due": { "name": "Próximo vencimiento" }, "days_until_due": { "name": "Días hasta vencimiento" }, "parent_object": { "name": "Objeto padre" }, "times_performed": { "name": "Veces realizado" }, "total_cost": { "name": "Costo total" }, "average_duration": { "name": "Duración promedio (min)" }, "notes": { "name": "Notas" }, "documentation_url": { "name": "URL de documentación" }, "trigger_entity": { "name": "Entidad disparador" }, "trigger_attribute": { "name": "Atributo disparador" }, "trigger_type": { "name": "Tipo de disparador", "state": { "threshold": "Umbral", "counter": "Contador", "state_change": "Cambio de estado", "runtime": "Tiempo de funcionamiento", "compound": "Compuesto" } }, "trigger_active": { "name": "Disparador activo" }, "trigger_current_value": { "name": "Valor actual del disparador" }, "trigger_entity_state": { "name": "Estado de entidad disparador", "state": { "available": "Disponible", "unavailable": "No disponible", "missing": "Faltante", "startup": "Inicio" } }, "trigger_above": { "name": "Disparador superior" }, "trigger_below": { "name": "Disparador inferior" }, "trigger_for_minutes": { "name": "Disparador durante (minutos)" }, "trigger_target_value": { "name": "Valor objetivo del disparador" }, "trigger_delta_mode": { "name": "Modo delta del disparador" }, "trigger_baseline_value": { "name": "Valor base del disparador" }, "trigger_current_delta": { "name": "Delta actual del disparador" }, "trigger_from_state": { "name": "Disparador desde estado" }, "trigger_to_state": { "name": "Disparador hacia estado" }, "trigger_target_changes": { "name": "Cambios objetivo del disparador" }, "trigger_change_count": { "name": "Conteo de cambios del disparador" }, "trigger_runtime_hours": { "name": "Tiempo de funcionamiento objetivo (horas)" }, "trigger_accumulated_hours": { "name": "Tiempo de funcionamiento acumulado (horas)" }, "trigger_remaining_hours": { "name": "Tiempo de funcionamiento restante (horas)" }, "last_entry": { "name": "Última entrada" }, "suggested_interval": { "name": "Intervalo sugerido" }, "interval_confidence": { "name": "Confianza del intervalo", "state": { "low": "Baja", "medium": "Media", "high": "Alta" } }, "adaptive_scheduling_enabled": { "name": "Programación adaptativa activada" }, "seasonal_factor": { "name": "Factor estacional" }, "seasonal_reason": { "name": "Razón estacional", "state": { "learned": "Aprendido", "manual": "Manual" } }, "degradation_rate": { "name": "Tasa de degradación" }, "degradation_trend": { "name": "Tendencia de degradación", "state": { "rising": "En aumento", "falling": "En descenso", "stable": "Estable", "insufficient_data": "Datos insuficientes" } }, "days_until_threshold": { "name": "Días hasta umbral" }, "threshold_prediction_confidence": { "name": "Confianza de predicción", "state": { "low": "Baja", "medium": "Media", "high": "Alta" } }, "environmental_factor": { "name": "Factor ambiental" }, "environmental_entity": { "name": "Entidad ambiental" }, "weibull_beta": { "name": "Forma Weibull (β)" }, "weibull_eta": { "name": "Escala Weibull (η)" }, "weibull_r_squared": { "name": "R² Weibull" }, "weibull_beta_interpretation": { "name": "Patrón de fallo", "state": { "early_failures": "Fallos tempranos", "random_failures": "Fallos aleatorios", "wear_out": "Desgaste", "highly_predictable": "Muy predecible" } }, "confidence_interval_low": { "name": "Intervalo de confianza (bajo)" }, "confidence_interval_high": { "name": "Intervalo de confianza (alto)" }, "interval_anchor": { "name": "Anclaje de intervalo", "state": { "completion": "Desde la finalización", "planned": "Desde la fecha planificada" } }, "due_date": { "name": "Fecha de vencimiento" } } }, "summary_overdue": { "name": "Vencido" }, "summary_due_soon": { "name": "Próximo a vencer" }, "summary_triggered": { "name": "Activado" }, "summary_needs_attention": { "name": "Requiere atención" }, "summary_ok": { "name": "OK" }, "document_storage": { "name": "Almacenamiento de documentos" }, "summary_total_tasks": { "name": "Total de tareas" }, "next_due": { "name": "{task_name} Próximo vencimiento" }, "parts_to_reorder": { "name": "Piezas por reponer" }, "batteries_to_replace": { "name": "Baterías a reemplazar" } }, "calendar": { "maintenance_schedule": { "name": "Calendario de mantenimiento" } }, "binary_sensor": { "maintenance_task_due": { "name": "{task_name} vencida", "state_attributes": { "maintenance_status": { "name": "Estado de mantenimiento", "state": { "ok": "OK", "due_soon": "Próximamente", "overdue": "Vencida", "triggered": "Activado", "archived": "Archivado" } }, "days_until_due": { "name": "Días hasta el vencimiento" }, "next_due": { "name": "Próximo vencimiento" }, "parent_object": { "name": "Objeto principal" } } } }, "todo": { "maintenance_todo": { "name": "Mantenimiento" } } }, "selector": { "maintenance_type": { "options": { "cleaning": "Limpieza", "inspection": "Inspección", "replacement": "Reemplazo", "calibration": "Calibración", "service": "Servicio", "reading": "Lectura", "custom": "Personalizado" } }, "schedule_type": { "options": { "time_based": "Temporal", "weekdays": "Días de la semana", "nth_weekday": "N-ésimo día de la semana del mes", "day_of_month": "Día del mes", "sensor_based": "Basado en sensor", "one_time": "Una vez", "manual": "Manual" } }, "interval_unit": { "options": { "days": "Días", "weeks": "Semanas", "months": "Meses", "years": "Años" } }, "trigger_type": { "options": { "threshold": "Umbral", "counter": "Contador", "state_change": "Cambio de estado", "runtime": "Tiempo de funcionamiento", "compound": "Compuesto (Múltiples Condiciones)" } }, "compound_logic": { "options": { "and": "Y (todas las condiciones deben activarse)", "or": "O (cualquier condición activa)" } }, "entity_logic": { "options": { "any": "Cualquier entidad activa", "all": "Todas las entidades deben activar" } }, "notification_title_style": { "options": { "default": "Predeterminado (título por estado)", "object_name": "Nombre del objeto como título", "task_name": "Nombre de la tarea como título" } } }, "services": { "complete": { "name": "Completar mantenimiento", "description": "Marcar una tarea de mantenimiento como completada.", "fields": { "entity_id": { "name": "Entidad", "description": "La entidad sensor de mantenimiento a completar." }, "notes": { "name": "Notas", "description": "Notas opcionales sobre el mantenimiento realizado." }, "cost": { "name": "Costo", "description": "Costo del mantenimiento realizado." }, "duration": { "name": "Duración", "description": "Duración del mantenimiento en minutos." }, "reading_value": { "name": "Valor de lectura", "description": "Valor registrado para tareas de lectura (lectura de contador, control de nivel)." } } }, "reset": { "name": "Restablecer mantenimiento", "description": "Restablecer la fecha de última ejecución de una tarea de mantenimiento.", "fields": { "entity_id": { "name": "Entidad", "description": "La entidad sensor de mantenimiento a restablecer." }, "date": { "name": "Fecha", "description": "La fecha a establecer como última ejecución. Por defecto hoy." } } }, "skip": { "name": "Omitir mantenimiento", "description": "Omitir el ciclo de mantenimiento actual.", "fields": { "entity_id": { "name": "Entidad", "description": "La entidad sensor de mantenimiento a omitir." }, "reason": { "name": "Razón", "description": "Razón opcional para omitir el mantenimiento." } } }, "export_data": { "name": "Exportar datos", "description": "Exportar todos los datos de mantenimiento en formato JSON o YAML.", "fields": { "format": { "name": "Formato", "description": "Formato de salida para los datos exportados (json o yaml)." }, "include_history": { "name": "Incluir historial", "description": "Incluir o no las entradas del historial de tareas en la exportación." } } }, "add_object": { "name": "Añadir objeto", "description": "Crea un nuevo objeto de mantenimiento (dispositivo). Devuelve el nuevo entry_id.", "fields": { "name": { "name": "Nombre", "description": "Nombre del objeto/dispositivo." }, "area_id": { "name": "Área", "description": "Área a la que asignar el dispositivo." }, "manufacturer": { "name": "Fabricante" }, "model": { "name": "Modelo" }, "serial_number": { "name": "Número de serie" }, "installation_date": { "name": "Fecha de instalación" }, "warranty_expiry": { "name": "Vencimiento de garantía", "description": "Fecha de fin de garantía (para seguimiento de activos y recordatorios)." }, "documentation_url": { "name": "URL de documentación", "description": "Enlace a un manual o página del proveedor (solo http/https)." }, "notes": { "name": "Notas" } } }, "add_task": { "name": "Añadir tarea", "description": "Añade una tarea de mantenimiento a un objeto existente. Devuelve el nuevo task_id.", "fields": { "entry_id": { "name": "Objeto", "description": "El objeto de mantenimiento al que añadir la tarea." }, "name": { "name": "Nombre", "description": "Nombre de la tarea." }, "task_type": { "name": "Tipo de tarea", "description": "Categoría libre (p. ej. inspection, service, custom)." }, "schedule_type": { "name": "Tipo de programación", "description": "time_based (intervalo) o sensor_based. Predeterminado: time_based." }, "interval_days": { "name": "Intervalo", "description": "Longitud del intervalo entre ocurrencias (para tareas basadas en tiempo), combinada con interval_unit." }, "interval_unit": { "name": "Unidad de intervalo", "description": "Unidad del intervalo: days, weeks, months o years. Predeterminado: days." }, "due_date": { "name": "Fecha de vencimiento", "description": "Fecha de vencimiento (YYYY-MM-DD) para una tarea única (schedule_type one_time)." }, "schedule": { "name": "Programación de calendario", "description": "Recurrencia anidada para los tipos de calendario, p. ej. kind=nth_weekday, nth=1, weekday=5 para el 1.er sábado (weekday 0=lun ... 6=dom), kind=weekdays, weekdays=[0, 3] para lun y jue, o kind=day_of_month, day=15. Tiene prioridad sobre interval_days / schedule_type." }, "warning_days": { "name": "Aviso (días)", "description": "Días antes del vencimiento para entrar en la ventana de «vence pronto»." }, "enabled": { "name": "Habilitado" }, "notes": { "name": "Notas" } } }, "update_task": { "name": "Actualizar tarea", "description": "Actualiza los campos comunes de una tarea de mantenimiento existente. Solo cambian los campos proporcionados.", "fields": { "entry_id": { "name": "Objeto", "description": "El objeto de mantenimiento al que pertenece la tarea." }, "task_id": { "name": "ID de tarea", "description": "El id de la tarea a actualizar (véase list_tasks)." }, "name": { "name": "Nombre", "description": "Nuevo nombre de la tarea." }, "task_type": { "name": "Tipo de tarea", "description": "Categoría (cleaning, inspection, replacement, calibration, service, reading, custom)." }, "schedule_type": { "name": "Tipo de programación", "description": "time_based (intervalo), sensor_based, one_time o manual." }, "interval_days": { "name": "Intervalo", "description": "Longitud del intervalo entre ocurrencias, combinada con interval_unit." }, "interval_unit": { "name": "Unidad de intervalo", "description": "days, weeks, months o years." }, "due_date": { "name": "Fecha de vencimiento", "description": "Fecha de vencimiento para tareas únicas (YYYY-MM-DD)." }, "schedule": { "name": "Programación (recurrencia de calendario)", "description": "Objeto de recurrencia anidado para los tipos de calendario, p. ej. kind=day_of_month, day=-1, business=true. Tiene prioridad sobre los campos planos." }, "warning_days": { "name": "Días de aviso", "description": "Días antes del vencimiento en que la tarea pasa a «vence pronto»." }, "enabled": { "name": "Habilitado", "description": "Si la tarea está activa." }, "notes": { "name": "Notas", "description": "Notas libres sobre la tarea." }, "priority": { "name": "Prioridad", "description": "low, normal o high." }, "labels": { "name": "Etiquetas", "description": "Lista de etiquetas para filtrado e informes." } } }, "delete_task": { "name": "Eliminar tarea", "description": "Elimina una tarea de mantenimiento incluido su historial. No se puede deshacer: considera archivarla desde el panel.", "fields": { "entry_id": { "name": "Objeto", "description": "El objeto de mantenimiento al que pertenece la tarea." }, "task_id": { "name": "ID de tarea", "description": "El id de la tarea a eliminar (véase list_tasks)." } } }, "list_tasks": { "name": "Listar tareas", "description": "Devuelve una instantánea de las tareas de mantenimiento activas (id, nombre, estado, próximo vencimiento) para automatizaciones, scripts y voz. Admite filtrado por objeto y estado.", "fields": { "entry_id": { "name": "Objeto", "description": "Devolver solo las tareas de este objeto de mantenimiento." }, "status": { "name": "Estado", "description": "Devolver solo las tareas con este estado." } } } }, "issues": { "document_storage_issues": { "title": "El almacenamiento de documentos necesita limpieza", "fix_flow": { "step": { "init": { "title": "Recuperar almacenamiento de documentos", "description": "Maintenance Supporter encontró archivos sin referencia y/o registros muertos en el almacenamiento de documentos, normalmente tras un fallo, una eliminación externa de archivos o una restauración parcial.\n\nHaz clic en **Enviar** para recuperar el espacio: los archivos sin referencia y obsoletos se eliminan y se quitan los registros de documentos muertos. Los archivos que todavía referencia algún documento nunca se tocan.\n\n(Para descartar sin limpiar, usa el botón **Ignorar** de Home Assistant en la página de Reparaciones.)" } } } }, "missing_trigger_entity": { "title": "Sensor disparador no encontrado: {task_name}", "fix_flow": { "step": { "init": { "title": "Entidad disparador faltante", "description": "La entidad sensor `{entity_id}` configurada como disparador para la tarea \"{task_name}\" en el objeto \"{object_name}\" ya no está disponible.\n\nElija cómo resolver este problema:", "menu_options": { "replace_entity": "Reemplazar con otra entidad", "remove_trigger": "Eliminar el disparador de sensor", "dismiss": "Ignorar (reaparecerá)" } }, "replace_entity": { "title": "Reemplazar entidad disparador", "description": "Seleccione una nueva entidad para reemplazar `{entity_id}` como disparador para la tarea \"{task_name}\" en \"{object_name}\".", "data": { "new_entity_id": "Nueva entidad disparador" }, "data_description": { "new_entity_id": "Seleccione la nueva entidad sensor a utilizar como disparador." } }, "remove_trigger": { "title": "Eliminar disparador de sensor", "description": "Esto eliminará el disparador de sensor de la tarea \"{task_name}\" en \"{object_name}\" y convertirá la programación a temporal o manual. El historial de mantenimiento se conservará.\n\nEntidad disparador anterior: `{entity_id}`" } } } }, "orphan_admin_panel_user": { "title": "El usuario en la lista de acceso al panel ya no existe", "fix_flow": { "step": { "init": { "title": "Usuario huérfano en la lista de acceso al panel", "description": "El usuario `{user_id}…` está en la lista de acceso al panel de Maintenance Supporter pero ya no existe en Home Assistant. Probablemente el usuario fue eliminado.\n\nHaz clic en **Enviar** para quitar al usuario de la lista. (Para dejar el problema sin resolver, usa el botón **Ignorar** en la página de Reparaciones de Home Assistant.)" } } } }, "stale_action_entity": { "title": "La acción de finalización referencia una entidad eliminada", "fix_flow": { "step": { "init": { "title": "Acción de finalización: {stale_entity} ya no existe", "description": "La tarea **{task_name}** tiene una `on_complete_action` configurada para llamar un servicio en `{stale_entity}`, pero esa entidad ya no está registrada en Home Assistant.\n\nElige cómo reparar:", "menu_options": { "replace_entity": "Reemplazar por otra entidad", "remove_action": "Eliminar la acción de finalización" } }, "replace_entity": { "title": "Reemplazar entidad objetivo", "description": "Elige la entidad a usar en lugar de `{stale_entity}` para la tarea **{task_name}**.", "data": { "new_entity": "Nueva entidad objetivo" } }, "remove_action": { "title": "Eliminar acción de finalización", "description": "Elimina completamente la `on_complete_action` de la tarea **{task_name}**. La tarea en sí no se ve afectada — solo se elimina la llamada al servicio en la finalización." } } } }, "notify_service_missing": { "title": "Servicio de notificación `{service}` no encontrado", "description": "Maintenance Supporter está configurado para enviar notificaciones mediante `{service}`, pero ese servicio no existe actualmente en Home Assistant, por lo que los recordatorios fallan de forma silenciosa.\n\nNormalmente esto significa que el servicio fue renombrado, o que la integración que lo proporciona (una aplicación móvil, un grupo de notificación, …) fue eliminada. Para solucionarlo: restaura ese servicio, o abre **Ajustes → Dispositivos y servicios → Maintenance Supporter → Configurar → Ajustes generales** y elige un servicio `notify.*` válido.\n\nNota: esto solo comprueba el servicio configurado en sí. Si las notificaciones llegan a algunos dispositivos pero no a otros, probablemente un miembro *dentro* de tu grupo de notificación está mal configurado — eso no se ve aquí; revisa el **registro del sistema** de Home Assistant (Ajustes → Sistema → Registros)." }, "missing_global_entry": { "title": "Falta la configuración global de Maintenance Supporter", "fix_flow": { "step": { "init": { "title": "Restaurar la configuración global", "description": "Tus objetos de mantenimiento aún existen, pero la entrada global \"Maintenance Supporter\" se eliminó — por eso faltan los sensores de resumen, el panel lateral y los contadores del panel, y los indicadores muestran \"unknown\".\n\nHaz clic en **Enviar** para recrear la configuración global con los ajustes predeterminados. Tus objetos y tareas quedan intactos. Puedes ajustar las notificaciones y los valores por defecto después en Ajustes → Dispositivos y servicios.\n\n(Para no cambiar nada, usa el botón **Ignorar** de Home Assistant.)" } } } } }, "exceptions": { "no_coordinator_for_entity": { "message": "No se encontró coordinador de mantenimiento para la entidad {entity_id}." }, "no_task_for_entity": { "message": "No se encontró tarea de mantenimiento para la entidad {entity_id}." } }, "triggers": { "task_became_overdue": { "name": "Una tarea de mantenimiento venció", "description": "Se activa cuando el estado de una tarea de mantenimiento cambia a vencida.", "fields": { "behavior": { "name": "Comportamiento" }, "for": { "name": "Durante" } } }, "task_became_due_soon": { "name": "Una tarea de mantenimiento vence pronto", "description": "Se activa cuando una tarea de mantenimiento entra en su ventana de aviso.", "fields": { "behavior": { "name": "Comportamiento" }, "for": { "name": "Durante" } } }, "sensor_trigger_activated": { "name": "Un disparador de sensor se activó", "description": "Se activa cuando una tarea de mantenimiento basada en sensores se activa.", "fields": { "behavior": { "name": "Comportamiento" }, "for": { "name": "Durante" } } }, "task_became_ok": { "name": "Una tarea de mantenimiento volvió a OK", "description": "Se activa cuando una tarea de mantenimiento ya no necesita atención.", "fields": { "behavior": { "name": "Comportamiento" }, "for": { "name": "Durante" } } } }, "conditions": { "task_is_overdue": { "name": "Una tarea de mantenimiento está vencida", "description": "Comprueba si una tarea de mantenimiento está vencida.", "fields": { "behavior": { "name": "Comportamiento" }, "for": { "name": "Durante" } } }, "task_is_due_soon": { "name": "Una tarea de mantenimiento vence pronto", "description": "Comprueba si una tarea de mantenimiento está en su ventana de aviso.", "fields": { "behavior": { "name": "Comportamiento" }, "for": { "name": "Durante" } } }, "task_is_triggered": { "name": "Un disparador de sensor está activo", "description": "Comprueba si una tarea de mantenimiento basada en sensores está activada.", "fields": { "behavior": { "name": "Comportamiento" }, "for": { "name": "Durante" } } }, "task_needs_attention": { "name": "Una tarea de mantenimiento necesita atención", "description": "Comprueba si una tarea de mantenimiento está vencida o activada.", "fields": { "behavior": { "name": "Comportamiento" }, "for": { "name": "Durante" } } } } }