Files
2026-07-20 22:52:35 -04:00

1925 lines
86 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"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"
}
}
}
}
}