Files
HomeAssistantVS/custom_components/maintenance_supporter/translations/es.json
T

2528 lines
124 KiB
JSON
Raw 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. ★ n = plantillas de esta categoría que encajan con tu hogar (panel: Ajustes → Perfil del hogar).",
"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. ★ recomendada para tu hogar · ✓ ya configurada.",
"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",
"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 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",
"entity_id": "Calendario",
"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)",
"last_performed": "Última realización"
},
"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).",
"entity_id": "Vence una vez por evento de este calendario, en la fecha de inicio del evento — el siguiente evento tras la última finalización.",
"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_equals": "Activar cuando sea igual a",
"trigger_not_equals": "Activar cuando sea distinto de",
"trigger_for_minutes": "Durante al menos (minutos)",
"interval_days": "Intervalo de seguridad",
"interval_unit": "Unidad de intervalo",
"trigger_combinator": "Combinar disparador e intervalo",
"warning_days": "Días de aviso antes del vencimiento",
"go_back": "Volver",
"auto_complete_on_recovery": "Completar automáticamente cuando el sensor se recupere"
},
"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_equals": "Activar el mantenimiento cuando el valor sea igual a este nivel.",
"trigger_not_equals": "Activar el mantenimiento cuando el valor difiera de este nivel.",
"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.",
"trigger_combinator": "El primero (predeterminado): el disparador o el intervalo transcurrido hace que la tarea venza. Ambos requeridos: la tarea solo vence cuando el disparador se activó y el intervalo transcurrió.",
"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",
"trigger_combinator": "Combinar disparador e intervalo",
"warning_days": "Días de aviso antes del vencimiento",
"go_back": "Volver",
"auto_complete_on_recovery": "Completar automáticamente cuando el sensor se recupere",
"trigger_baseline_value": "Valor inicial (opcional)"
},
"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.",
"trigger_combinator": "El primero (predeterminado): el disparador o el intervalo transcurrido hace que la tarea venza. Ambos requeridos: la tarea solo vence cuando el disparador se activó y el intervalo transcurrió.",
"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",
"trigger_for_minutes": "Durante al menos (minutos)",
"interval_days": "Intervalo de seguridad",
"interval_unit": "Unidad de intervalo",
"trigger_combinator": "Combinar disparador e intervalo",
"warning_days": "Días de aviso antes del vencimiento",
"go_back": "Volver",
"auto_complete_on_recovery": "Completar automáticamente cuando el sensor se recupere"
},
"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.",
"trigger_combinator": "El primero (predeterminado): el disparador o el intervalo transcurrido hace que la tarea venza. Ambos requeridos: la tarea solo vence cuando el disparador se activó y el intervalo transcurrió.",
"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_for_minutes": "El nuevo estado debe mantenerse este tiempo antes de que el cambio cuente. 0 = contar de inmediato."
}
},
"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",
"trigger_combinator": "Combinar disparador e intervalo",
"warning_days": "Días de aviso antes del vencimiento",
"go_back": "Volver",
"auto_complete_on_recovery": "Completar automáticamente cuando el sensor se recupere"
},
"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.",
"trigger_combinator": "El primero (predeterminado): el disparador o el intervalo transcurrido hace que la tarea venza. Ambos requeridos: la tarea solo vence cuando el disparador se activó y el intervalo transcurrió.",
"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_due_date": {
"title": "Fecha de vencimiento",
"description": "Vigila la fecha que indica {entity_id} (ahora: {current_state}). La tarea vence el número de días elegido antes de esa fecha.",
"data": {
"trigger_days_before": "Días antes de la fecha",
"interval_days": "Intervalo de seguridad",
"interval_unit": "Unidad de intervalo",
"trigger_combinator": "Combinar disparador e intervalo",
"warning_days": "Días de aviso antes del vencimiento",
"go_back": "Volver",
"auto_complete_on_recovery": "Completar automáticamente cuando el sensor se recupere"
},
"data_description": {
"trigger_days_before": "0 = el mismo día. Cuando el dispositivo aplaza su fecha (normalmente con su propio botón de «hecho»), el disparador se desactiva.",
"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.",
"trigger_combinator": "El primero (predeterminado): el disparador o el intervalo transcurrido hace que la tarea venza. Ambos requeridos: la tarea solo vence cuando el disparador se activó y el intervalo transcurrió.",
"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",
"auto_complete_on_recovery": "Completar automáticamente cuando el sensor se recupere"
},
"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_equals": "Activar cuando sea igual a",
"trigger_not_equals": "Activar cuando sea distinto 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_equals": "Activar el mantenimiento cuando el valor sea igual a este nivel.",
"trigger_not_equals": "Activar el mantenimiento cuando el valor difiera de este nivel.",
"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_condition_due_date": {
"title": "Condición — Fecha de vencimiento",
"data": {
"trigger_days_before": "Días antes de la fecha",
"go_back": "Volver"
},
"data_description": {
"trigger_days_before": "La condición se cumple desde este número de días antes de la fecha indicada.",
"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).",
"overlapping_threshold": "El umbral «inferior» debe ser menor que el umbral «superior»; de lo contrario, cada lectura activa la tarea y nunca puede recuperarse. Deja uno de los dos vacío.",
"invalid_due_date": "Se requiere una fecha de vencimiento para las tareas únicas.",
"last_performed_future": "La fecha de la última realización no puede estar en el futuro.",
"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.",
"invalid_shopping_list_entity": "La lista de la compra debe ser una entidad de tareas (todo.…).",
"invalid_schedule": "La programación está incompleta: elige al menos un día de la semana (o un calendario para una tarea guiada por calendario).",
"invalid_delta_target": "Al contar el uso acumulado (modo delta), el valor objetivo debe ser mayor que 0."
},
"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.",
"entity_unavailable": "La entidad seleccionada no está disponible ahora mismo. Inténtalo de nuevo cuando informe un estado.",
"unknown": "Se ha producido un error inesperado. Vuelve a empezar."
}
},
"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": "Botones de acción móviles",
"test_notification": "Enviar notificación de prueba",
"done": "Listo",
"home_profile": "Perfil de la vivienda · Galería de plantillas",
"archive_settings": "Archivado y retención",
"member_avatars": "Avatares de los miembros",
"battery_lifetimes": "Duraciones típicas de las pilas"
}
},
"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_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",
"advanced_completion_actions_visible": "Acciones de finalización"
},
"data_description": {
"advanced_adaptive_visible": "Mostrar análisis EWA, Weibull y sugerencias de intervalo para las tareas.",
"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.",
"advanced_completion_actions_visible": "Acción HA por tarea al completar + QR de finalización rápida con valores prefijados."
}
},
"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",
"currency_decimals": "Decimales de los importes",
"parts_cost_mode": "Los repuestos cuentan como gasto",
"battery_low_percent": "Umbral „pila baja“ (%)",
"battery_recovered_percent": "Pila considerada sustituida por encima de (%)",
"battery_auto_record_recovery": "Registrar una sustitución automáticamente cuando una pila baja se recupera",
"panel_title": "Título del panel lateral",
"shopping_list_entity": "Lista de la compra para sincronizar las tareas de compra",
"part_search_url_template": "Enlace de búsqueda de compra",
"default_consumable_threshold": "Umbral „consumible bajo“ (%)",
"row_action_style": "Acciones en las filas de tareas",
"ref_numbers_in_lists": "Números de referencia en las listas",
"objects_table_columns": "Columnas de la tabla de objetos",
"install_assist_sentences": "Instalar frases de Assist"
},
"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.",
"currency_decimals": "Cuántos decimales muestra cada importe — KPI, presupuestos, costes en listas e informes, alertas de presupuesto. 0 = números enteros.",
"parts_cost_mode": "Al comprarlos: cuenta el coste de un recordatorio de compra y los repuestos usados son solo informativos. Al usarlos: cada tarea completada registra los repuestos usados y una compra fija en su lugar el precio del repuesto. Se aplica a partir de ahora.",
"battery_low_percent": "Umbral mínimo de toda la flota: una pila en este nivel o por debajo cuenta como baja, salvo que su umbral de Battery Notes sea más alto.",
"battery_recovered_percent": "Una pila baja sigue contando como baja hasta que su nivel supere este valor o se registre una sustitución — así un nivel que oscila alrededor del umbral no completa la tarea de la flota una y otra vez.",
"battery_auto_record_recovery": "Cuando una pila que estaba baja supera el umbral de recuperación, la fecha de sustitución se registra en Battery Notes y las pilas de repuesto se descuentan del stock — sin ningún toque",
"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.",
"shopping_list_entity": "Los recordatorios automáticos de compra de piezas escasas aparecen en esta lista de tareas; marcar uno completa el recordatorio y repone la pieza. Dejar vacío para desactivar.",
"part_search_url_template": "URL con {q} en lugar de los términos de búsqueda, para piezas sin enlace de producto. Dejar vacío para la tienda automática (por país, si no por idioma).",
"default_consumable_threshold": "Valores predeterminados para nuevas Configuraciones sugeridas (porcentaje restante) y para pilas de la flota sin umbral propio de Battery Notes. Las tareas existentes conservan su valor.",
"ref_numbers_in_lists": "Muestra las etiquetas #8 / #8.3 delante de los nombres de objetos y tareas en la lista Hoy, la tabla de tareas, las tarjetas de objetos y la tabla de objetos.",
"objects_table_columns": "Elige qué columnas aparecen en la vista de tabla de objetos.",
"install_assist_sentences": "Copia las frases de voz en tu configuración para que el agente clásico de Assist las reconozca. Un archivo que hayas editado nunca se sobrescribe."
}
},
"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",
"notify_completed": "Notificaciones de finalización",
"notify_event_only": "Solo lanzar el evento, no enviar nada",
"notify_extra_data": "Datos de notificación adicionales (plantilla)",
"reminder_lead_days": "Recordatorios adicionales (días antes del vencimiento)",
"notify_scope_view_id": "Notificar solo para la vista",
"weekly_digest_enabled": "Resumen semanal",
"warranty_reminder_enabled": "Recordatorio de fin de garantía",
"warranty_reminder_days": "Días antes del vencimiento"
},
"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.",
"notify_completed": "Aviso para el hogar cuando se completa una tarea, con el motivo (panel, escaneo QR/NFC, lista de tareas, voz, recuperación del sensor…). «Solo automáticas» anuncia solo las finalizaciones que nadie hizo en el sitio: recuperación del sensor, marcado en la lista de la compra, llamada de servicio de una automatización.",
"notify_event_only": "Cada notificación lanza el evento maintenance_supporter_notification. Con esta opción tu automatización se encarga de toda la entrega — los intervalos de repetición, las horas de silencio y el límite diario siguen decidiendo cuándo se lanza el evento.",
"notify_extra_data": "JSON o YAML con Jinja, fusionado en los data de cada llamada notify (tus claves prevalecen). Variables: kind, status, priority, labels, notes, area_name, object_name, task_name, object_ref, task_ref, days_until_due, next_due, last_performed, responsible_user_id, sensor_entity_id, url, target, title, message.",
"reminder_lead_days": "Plazos separados por comas, p. ej. 14, 3, 0 — se envía un recordatorio adicional en cada día indicado. Vacío = desactivado.",
"notify_scope_view_id": "Solo las tareas que coinciden con los filtros de etiqueta/usuario de la vista seleccionada envían recordatorios. El estado, el orden y la agrupación de la vista se ignoran aquí.",
"weekly_digest_enabled": "Una notificación de resumen el lunes por la mañana cuando hay tareas.",
"warranty_reminder_enabled": "Notificar una vez cuando a la garantía de un objeto le queden estos días para vencer."
}
},
"notification_actions": {
"title": "Botones de acción móviles",
"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_phases": "Editar fases del ciclo"
}
},
"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",
"notify_icon": "Icono de notificación",
"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)",
"readings_text": "Lecturas (una por línea: Nombre | Unidad)",
"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).",
"notify_icon": "Icono mostrado en las notificaciones push de esta tarea (p. ej. mdi:air-filter). Dejar vacío para usar el icono predeterminado del tipo de mantenimiento. Solo Android.",
"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",
"auto_complete_on_recovery": "Completar automáticamente cuando el sensor se recupere"
},
"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_equals": "Activar cuando sea igual a",
"trigger_not_equals": "Activar cuando sea distinto 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_equals": "Activar el mantenimiento cuando el valor sea igual a este nivel.",
"trigger_not_equals": "Activar el mantenimiento cuando el valor difiera de este nivel.",
"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_condition_due_date": {
"title": "Condición — Fecha de vencimiento",
"data": {
"trigger_days_before": "Días antes de la fecha",
"go_back": "Volver"
},
"data_description": {
"trigger_days_before": "La condición se cumple desde este número de días antes de la fecha indicada."
}
},
"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",
"entity_id": "Calendario",
"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).",
"entity_id": "Vence una vez por evento de este calendario, en la fecha de inicio del evento — el siguiente evento tras la última finalización.",
"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_equals": "Activar cuando sea igual a",
"trigger_not_equals": "Activar cuando sea distinto de",
"trigger_for_minutes": "Durante al menos (minutos)",
"interval_days": "Intervalo de seguridad",
"interval_unit": "Unidad de intervalo",
"trigger_combinator": "Combinar disparador e intervalo",
"warning_days": "Días de aviso antes del vencimiento",
"go_back": "Volver",
"auto_complete_on_recovery": "Completar automáticamente cuando el sensor se recupere"
},
"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_equals": "Activar el mantenimiento cuando el valor sea igual a este nivel.",
"trigger_not_equals": "Activar el mantenimiento cuando el valor difiera de este nivel.",
"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.",
"trigger_combinator": "El primero (predeterminado): el disparador o el intervalo transcurrido hace que la tarea venza. Ambos requeridos: la tarea solo vence cuando el disparador se activó y el intervalo transcurrió.",
"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",
"trigger_combinator": "Combinar disparador e intervalo",
"warning_days": "Días de aviso antes del vencimiento",
"go_back": "Volver",
"auto_complete_on_recovery": "Completar automáticamente cuando el sensor se recupere",
"trigger_baseline_value": "Valor inicial (opcional)"
},
"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.",
"trigger_combinator": "El primero (predeterminado): el disparador o el intervalo transcurrido hace que la tarea venza. Ambos requeridos: la tarea solo vence cuando el disparador se activó y el intervalo transcurrió.",
"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",
"trigger_for_minutes": "Durante al menos (minutos)",
"interval_days": "Intervalo de seguridad",
"interval_unit": "Unidad de intervalo",
"trigger_combinator": "Combinar disparador e intervalo",
"warning_days": "Días de aviso antes del vencimiento",
"go_back": "Volver",
"auto_complete_on_recovery": "Completar automáticamente cuando el sensor se recupere"
},
"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.",
"trigger_combinator": "El primero (predeterminado): el disparador o el intervalo transcurrido hace que la tarea venza. Ambos requeridos: la tarea solo vence cuando el disparador se activó y el intervalo transcurrió.",
"warning_days": "Número de días antes de la fecha de vencimiento para mostrar una advertencia.",
"trigger_for_minutes": "El nuevo estado debe mantenerse este tiempo antes de que el cambio cuente. 0 = contar de inmediato."
}
},
"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",
"trigger_combinator": "Combinar disparador e intervalo",
"warning_days": "Días de aviso antes del vencimiento",
"go_back": "Volver",
"auto_complete_on_recovery": "Completar automáticamente cuando el sensor se recupere"
},
"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.",
"trigger_combinator": "El primero (predeterminado): el disparador o el intervalo transcurrido hace que la tarea venza. Ambos requeridos: la tarea solo vence cuando el disparador se activó y el intervalo transcurrió.",
"warning_days": "Número de días antes de la fecha de vencimiento para mostrar una advertencia."
}
},
"opt_trigger_due_date": {
"title": "Fecha de vencimiento",
"description": "Vigila la fecha que indica {entity_id} (ahora: {current_state}). La tarea vence el número de días elegido antes de esa fecha.",
"data": {
"trigger_days_before": "Días antes de la fecha",
"interval_days": "Intervalo de seguridad",
"interval_unit": "Unidad de intervalo",
"trigger_combinator": "Combinar disparador e intervalo",
"warning_days": "Días de aviso antes del vencimiento",
"go_back": "Volver",
"auto_complete_on_recovery": "Completar automáticamente cuando el sensor se recupere"
},
"data_description": {
"trigger_days_before": "0 = el mismo día. Cuando el dispositivo aplaza su fecha (normalmente con su propio botón de «hecho»), el disparador se desactiva.",
"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.",
"trigger_combinator": "El primero (predeterminado): el disparador o el intervalo transcurrido hace que la tarea venza. Ambos requeridos: la tarea solo vence cuando el disparador se activó y el intervalo transcurrió.",
"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."
}
},
"edit_phases": {
"title": "Editar fases del ciclo",
"description": "Fases del ciclo para {task_name}: trabajos distintos con un mismo ritmo. Una línea por paso del ciclo; repite un nombre para un paso repetido. Añade una lista con \"Nombre: punto; punto\". Deja vacío para eliminar el ciclo.",
"data": {
"phases_text": "Pasos del ciclo",
"go_back": "Volver"
},
"data_description": {
"phases_text": "Un paso por línea, en el orden del ciclo. \"Nombre: punto; punto\" define la lista de esa fase. Las piezas y campos obligatorios por fase se editan en el panel y aquí se conservan.",
"go_back": "Volver a las acciones de tarea sin guardar."
}
},
"home_profile": {
"title": "Perfil de la vivienda",
"description": "Recomienda plantillas y ajusta las ventanas estacionales a tu clima y hemisferio. Todo se calcula localmente a partir de tus plantas, áreas y la ubicación de tu casa.\n\n**Detectado:** {detected} · {country} · {climate}",
"data": {
"home_type": "Tipo de vivienda",
"home_region": "Estado, provincia o región",
"disabled_template_ids": "Plantillas ocultas"
},
"data_description": {
"home_region": "Algunas normas varían dentro de un país: inspección anual del vehículo en un estado, ninguna en el siguiente. Se determina a partir de la ubicación de tu casa; elige otra si no es correcta.",
"disabled_template_ids": "Las plantillas elegidas aquí ya no aparecen en los selectores «Desde plantilla» (panel y asistente de configuración). Nada más cambia."
}
},
"archive_settings": {
"title": "Archivado y retención",
"description": "Retira las tareas únicas completadas sin eliminarlas. Los elementos archivados se ocultan y quedan inactivos, pero conservan su historial y coste.",
"data": {
"archive_oneoff_days": "Archivar automáticamente las tareas únicas completadas tras (días, 0 = desactivado)",
"delete_archived_oneoff_days": "Eliminar automáticamente las tareas únicas archivadas tras (días, 0 = nunca)"
}
},
"member_avatars": {
"title": "Avatares de los miembros",
"description": "Se muestra junto a las tareas asignadas — iniciales en el color del miembro. Por defecto se toman del nombre; elige tus iniciales o un color para distinguir a los miembros.",
"data": {
"member": "Miembro del hogar"
}
},
"member_avatar": {
"title": "Avatares de los miembros",
"description": "{member}: deja las iniciales vacías y el color en Automático para usar el valor predeterminado ({initials}).",
"data": {
"initials": "Iniciales",
"color": "Color"
}
},
"battery_lifetimes": {
"title": "Duraciones típicas de las pilas",
"description": "Solo se usa para pilas sin porcentaje: una nota de Battery Notes que solo tiene tipo y fecha de sustitución, o un sensor que solo avisa de « baja ». Su vencimiento es última sustitución + esta duración. Las pilas que informan de un nivel obtienen su previsión de la descarga medida. Cuando la flota ha visto tres sustituciones de un tipo, el intervalo mediano sustituye al valor integrado — tu valor siempre gana.\n\nValores integrados (meses): {defaults}"
}
},
"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).",
"overlapping_threshold": "El umbral «inferior» debe ser menor que el umbral «superior»; de lo contrario, cada lectura activa la tarea y nunca puede recuperarse. Deja uno de los dos vacío.",
"invalid_due_date": "Se requiere una fecha de vencimiento para las tareas únicas.",
"last_performed_future": "La fecha de la última realización no puede estar en el futuro.",
"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.",
"invalid_notify_icon": "El icono de notificación debe ser un nombre de icono mdi: (p. ej. mdi:air-filter).",
"invalid_shopping_list_entity": "La lista de la compra debe ser una entidad de tareas (todo.…).",
"invalid_search_template": "El enlace de búsqueda debe ser una URL http(s) que contenga {q}.",
"invalid_schedule": "La programación está incompleta: elige al menos un día de la semana (o un calendario para una tarea guiada por calendario).",
"invalid_delta_target": "Al contar el uso acumulado (modo delta), el valor objetivo debe ser mayor que 0.",
"invalid_reminder_lead_days": "Introduce días enteros entre 0 y 365, separados por comas (p. ej. 14, 3, 0)."
},
"abort": {
"entity_unavailable": "La entidad seleccionada no está disponible ahora mismo. Inténtalo de nuevo cuando informe un estado."
}
},
"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"
},
"days_until_due": {
"name": "{task_name} Días hasta vencimiento"
},
"parts_to_reorder": {
"name": "Piezas por reponer"
},
"batteries_to_replace": {
"name": "Baterías a reemplazar"
},
"area_cost": {
"name": "{area} coste de mantenimiento"
},
"area_cost_year": {
"name": "{area} coste de mantenimiento este año"
}
},
"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",
"calendar": "Entidad de calendario",
"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",
"due_date": "Fecha de vencimiento (indicada por un sensor)",
"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"
}
},
"trigger_combinator": {
"options": {
"any": "Disparador o intervalo (el primero)",
"all": "Disparador e intervalo (ambos requeridos)"
}
},
"notify_completed": {
"options": {
"off": "Desactivado",
"automatic": "Solo finalizaciones automáticas",
"all": "Todas las finalizaciones"
}
},
"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"
}
},
"row_action_style": {
"options": {
"buttons_compact": "Botones (solo iconos en el móvil)",
"buttons": "Botones con texto",
"icons": "Iconos (clásico)"
}
},
"objects_table_columns": {
"options": {
"name": "Nombre",
"ref_no": "Número de referencia",
"manufacturer": "Fabricante",
"model": "Modelo",
"serial_number": "N/S",
"installation_date": "Instalado",
"warranty_expiry": "Garantía",
"area_id": "Área",
"documentation_url": "Manual",
"notes": "Notas",
"task_count": "Tareas",
"actions": "Acciones"
}
},
"home_type": {
"options": {
"auto": "Automático (detectado)",
"house": "Casa",
"apartment": "Piso"
}
},
"avatar_color": {
"options": {
"auto": "Automático",
"red": "Rojo",
"pink": "Rosa",
"purple": "Morado",
"deep_purple": "Morado oscuro",
"indigo": "Índigo",
"blue": "Azul",
"cyan": "Cian",
"green": "Verde",
"light_green": "Verde claro",
"orange": "Naranja",
"brown": "Marrón",
"blue_grey": "Gris azulado"
}
},
"interval_anchor": {
"options": {
"completion": "Desde la fecha de finalización",
"planned": "Desde la fecha planificada (sin desviación)"
}
},
"compound_action": {
"options": {
"finish": "Finalizar",
"add": "Añadir condición"
}
},
"parts_cost_mode": {
"options": {
"purchase": "Al comprarlos",
"use": "Al usarlos"
}
}
},
"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)."
},
"reading_values": {
"name": "Lecturas",
"description": "Valores para una tarea con varias lecturas con nombre, por nombre (p. ej. Agua fría: 123.4)."
},
"completed_by": {
"name": "Completado por",
"description": "Persona que realizó el mantenimiento (debe estar vinculada a un usuario de Home Assistant). Si se omite, se registra el usuario que activó la llamada."
},
"completed_at": {
"name": "Completado el",
"description": "Cuándo se realizó realmente el mantenimiento — para registrar a posteriori una tarea pasada. No puede estar en el futuro; si se omite, se registra ahora."
},
"via_tag_scan": {
"name": "Mediante escaneo de etiqueta",
"description": "Confirma que esta finalización proviene del escaneo de una etiqueta/código QR físico gestionado por la propia automatización — satisface el ajuste «Completar solo escaneando la etiqueta» de la tarea."
}
}
},
"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": "Exporta todos los datos de mantenimiento como JSON o YAML a maintenance_export.json / maintenance_export.yaml en la carpeta de configuración de Home Assistant y después lanza maintenance_supporter_export_completed con la ruta del archivo. Solo administradores.",
"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",
"description": "El fabricante del objeto."
},
"model": {
"name": "Modelo",
"description": "El nombre o número de modelo."
},
"serial_number": {
"name": "Número de serie",
"description": "El número de serie del objeto."
},
"installation_date": {
"name": "Fecha de instalación",
"description": "Fecha de instalación o compra de este objeto."
},
"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",
"description": "Notas libres sobre el objeto — números de pieza, procedimientos, recordatorios, etc."
}
}
},
"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 (requiere interval_days), one_time (requiere due_date) o manual. Si se omite, deciden los demás campos: un intervalo lo hace time_based, una fecha de vencimiento one_time y ninguno de los dos manual. Las tareas activadas por sensor necesitan un disparador y se crean en el panel."
},
"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». Predeterminado: el ajuste global de la integración."
},
"enabled": {
"name": "Habilitado",
"description": "Cuando está desactivado, la programación y los disparadores se pausan. La tarea no se elimina."
},
"notes": {
"name": "Notas",
"description": "Notas adicionales o instrucciones para esta tarea."
}
}
},
"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 (requiere interval_days salvo que la tarea ya tenga un intervalo), one_time (requiere due_date) o manual. Al cambiar a manual o one_time se elimina el intervalo anterior."
},
"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."
},
"responsible_user": {
"name": "Usuario responsable",
"description": "Asigna la tarea a esta persona (debe estar vinculada a un usuario de Home Assistant)."
},
"clear_responsible_user": {
"name": "Quitar responsable",
"description": "Elimina la asignación actual. No se puede combinar con «Usuario responsable»."
}
}
},
"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, entity_id del sensor, nombre, estado, próximo vencimiento, última finalización, lectura actual del disparador con objetivo y unidad) 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.)"
}
}
}
},
"shared_parts_moved": {
"title": "Repuestos compartidos movidos a {new_owner}",
"description": "Varios objetos de mantenimiento compartían un mismo stock de repuestos que estaba en **{deleted_object}**, y ese objeto acaba de eliminarse. En lugar de dejar a los demás objetos apuntando a un stock que ya no existe, Maintenance Supporter movió los repuestos compartidos ({parts}) — junto con su stock actual — a **{new_owner}**, y reenlazó a ellos las tareas de todos los demás objetos. No se ha perdido nada.\n\n**{new_owner}** se eligió automáticamente: es el objeto más antiguo que usaba ese stock. Si otro objeto encaja mejor, mueve allí los repuestos desde el panel de Mantenimiento.\n\nNo hay nada más que hacer — descarta esta notificación cuando la hayas revisado."
},
"broken_part_link": {
"title": "Enlaces de repuesto rotos en {object_name}",
"description": "Una tarea de **{object_name}** acaba de completarse, pero {count} enlaces a repuestos no se pudieron resolver — el repuesto, o el objeto al que pertenece, ya no existe.\n\nLa finalización sí se registró, así que el trabajo no se ha perdido. Lo que no ocurrió es el descuento de stock: no se restó nada del stock de ningún repuesto por esta finalización.\n\nPara arreglarlo: abre la tarea en el panel de Mantenimiento y elimina los enlaces obsoletos, o apúntalos a los repuestos que usas ahora. Descarta esta notificación cuando esté hecho."
},
"device_link_lost": {
"title": "{object} ha perdido su vínculo con el dispositivo",
"fix_flow": {
"step": {
"init": {
"title": "Reparar el vínculo de dispositivo de {object}",
"description": "**{object}** estaba vinculado a un dispositivo de Home Assistant, de modo que sus entidades de mantenimiento aparecían en la página de ese dispositivo. Ese dispositivo ya no existe — eliminado, o retirada su integración — y el objeto muestra ahora un dispositivo propio. Nada más cambia: sus tareas y su historial siguen intactos.\n\nElige cómo proceder. Mejor coincidencia para el dispositivo previsto: **{suggestion}**.",
"menu_options": {
"relink": "Vincular el dispositivo real",
"unlink": "Quitar el vínculo"
}
},
"relink": {
"title": "Elegir el dispositivo real",
"description": "Elige el dispositivo al que pertenece **{object}**. La mejor coincidencia — **{suggestion}** — está preseleccionada; compruébala antes de guardar. Los dispositivos propios de Maintenance Supporter se rechazan.",
"data": {
"device": "Dispositivo"
}
},
"unlink": {
"title": "Quitar el vínculo de dispositivo",
"description": "**{object}** conserva un dispositivo propio. Las tareas y el historial no cambian; puedes vincular un dispositivo de nuevo en cualquier momento desde el panel de mantenimiento."
}
},
"error": {
"self_link": "Ese es un dispositivo de Maintenance Supporter (el gemelo del objeto, no el aparato real): elige el dispositivo de la integración original.",
"device_gone": "Ese dispositivo no existe (ya)."
},
"abort": {
"entry_gone": "Este objeto ya no existe: no hay nada que reparar."
}
}
},
"device_link_self": {
"title": "{object} está vinculado a su propio dispositivo de mantenimiento",
"fix_flow": {
"step": {
"init": {
"title": "Reparar el vínculo de dispositivo de {object}",
"description": "El vínculo de dispositivo de **{object}** apunta al dispositivo gemelo que Maintenance Supporter creó para el objeto: lleva el nombre del aparato real y el selector lo ofrecía antes. Por eso la página real del aparato nunca mostró las entidades de mantenimiento.\n\nElige cómo proceder. Mejor coincidencia para el dispositivo previsto: **{suggestion}**.",
"menu_options": {
"relink": "Vincular el dispositivo real",
"unlink": "Quitar el vínculo"
}
},
"relink": {
"title": "Elegir el dispositivo real",
"description": "Elige el dispositivo al que pertenece **{object}**. La mejor coincidencia — **{suggestion}** — está preseleccionada; compruébala antes de guardar. Los dispositivos propios de Maintenance Supporter se rechazan.",
"data": {
"device": "Dispositivo"
}
},
"unlink": {
"title": "Quitar el vínculo de dispositivo",
"description": "**{object}** conserva un dispositivo propio. Las tareas y el historial no cambian; puedes vincular un dispositivo de nuevo en cualquier momento desde el panel de mantenimiento."
}
},
"error": {
"self_link": "Ese es un dispositivo de Maintenance Supporter (el gemelo del objeto, no el aparato real): elige el dispositivo de la integración original.",
"device_gone": "Ese dispositivo no existe (ya)."
},
"abort": {
"entry_gone": "Este objeto ya no existe: no hay nada que reparar."
}
}
},
"leftover_areas": {
"title": "Áreas vacías creadas por error: {areas}",
"fix_flow": {
"step": {
"init": {
"title": "Eliminar las áreas vacías",
"description": "Antes de la versión 2.96, Maintenance Supporter creaba una segunda área con el nombre del ID de un área (por ejemplo, «living_room» junto a «Living Room») y colocaba en ella el dispositivo del objeto. Los dispositivos han vuelto a sus áreas reales y estas áreas están ahora vacías:\n\n{areas}\n\nPulsa **Enviar** para eliminarlas. Un área que mientras tanto haya recibido un dispositivo o una entidad no se toca. Para conservarlas, 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}."
},
"completion_details_required": {
"message": "“{task_name}” requiere estos datos al completarla: {fields}. Complétala desde el panel de mantenimiento o la tarjeta para introducirlos."
},
"completed_at_in_future": {
"message": "La fecha de finalización no puede estar en el futuro."
},
"reading_slots_required": {
"message": "Esta tarea registra lecturas con nombre — usa reading_values en lugar de reading_value."
},
"tag_scan_required": {
"message": "«{task_name}» solo puede completarse escaneando su etiqueta: acércate y escanea la etiqueta NFC o el código QR del propio objeto."
},
"task_inactive": {
"message": "«{task_name}» está archivada, desactivada o su objeto está en pausa — no se puede completar"
},
"task_inactive_postpone": {
"message": "«{task_name}» está archivada, desactivada o su objeto está en pausa — no se puede posponer"
},
"task_inactive_reset": {
"message": "«{task_name}» está archivada, desactivada o su objeto está en pausa — no se puede restablecer"
},
"task_inactive_skip": {
"message": "«{task_name}» está archivada, desactivada o su objeto está en pausa — no se puede omitir"
},
"too_early": {
"message": "«{task_name}» solo puede completarse más cerca de su fecha de vencimiento"
},
"person_not_found": {
"message": "{entity_id} no es una entidad de persona conocida."
},
"person_without_user": {
"message": "La persona {name} no está vinculada a ninguna cuenta de usuario de Home Assistant."
},
"bulk_partial": {
"message": "{action}: {done} de {total} tareas completadas. Rechazadas: {errors}"
},
"single_entity_only": {
"message": "{field} solo puede usarse con un único entity_id."
},
"unsafe_url": {
"message": "Solo se permiten URL http y https."
},
"responsible_user_conflict": {
"message": "Indica responsible_user o clear_responsible_user, no ambos."
},
"object_not_found": {
"message": "No se encontró ningún objeto de mantenimiento para el entry_id {entry_id}."
},
"task_not_found_in_object": {
"message": "La tarea {task_id} no existe en {object_name}."
},
"invalid_input": {
"message": "No se pudo ejecutar la acción: {error}"
},
"task_no_longer_exists": {
"message": "Esta tarea de mantenimiento ya no existe."
},
"skip_disabled": {
"message": "Omitir está desactivado para «{task_name}»."
},
"object_name_taken": {
"message": "Otro objeto ya tiene este nombre."
},
"name_empty": {
"message": "El nombre no puede estar vacío."
},
"task_not_duplicable": {
"message": "Una tarea de compra de un repuesto o la tarea de la flota de baterías no se puede duplicar."
},
"fleet_not_duplicable": {
"message": "El objeto de la flota de baterías no se puede duplicar."
},
"parts_limit": {
"message": "Un objeto puede tener como máximo {max} repuestos."
},
"task_limit": {
"message": "Un objeto puede tener como máximo {max} tareas."
},
"archived_cannot_pause": {
"message": "Un objeto archivado no se puede pausar — restáuralo primero."
},
"archived_task_cannot_pause": {
"message": "Una tarea archivada no se puede pausar: restáurala primero."
},
"archived_cannot_replace": {
"message": "Un objeto archivado no se puede sustituir — restáuralo primero."
},
"archived_no_new_tasks": {
"message": "Un objeto archivado no puede recibir tareas nuevas — restáuralo primero."
},
"import_not_json_yaml": {
"message": "El archivo no es JSON ni YAML válido."
},
"import_no_objects_list": {
"message": "El archivo debe contener una lista \"objects\"."
},
"import_no_objects": {
"message": "El archivo no contiene objetos."
},
"import_csv_no_objects": {
"message": "El archivo CSV no contiene objetos válidos."
},
"import_too_many": {
"message": "El archivo contiene más de {max} objetos."
},
"import_too_large": {
"message": "El archivo ocupa más de {limit}."
},
"until_in_past": {
"message": "La fecha de fin debe estar en el futuro."
},
"postpone_too_far": {
"message": "La nueva fecha debe estar dentro de los próximos {days} días."
},
"date_in_future": {
"message": "La fecha no puede estar en el futuro."
},
"range_end_before_start": {
"message": "El fin debe ser igual o posterior al inicio."
},
"notify_not_configured": {
"message": "Las notificaciones no están configuradas — elige primero un servicio de notificación en los ajustes."
},
"battery_notes_unavailable": {
"message": "La integración Battery Notes no está disponible."
},
"no_battery_devices": {
"message": "No se encontraron dispositivos con batería."
},
"fleet_not_set_up": {
"message": "La flota de baterías aún no está configurada."
},
"move_same_object": {
"message": "La tarea ya pertenece a ese objeto."
},
"move_target_archived": {
"message": "El objeto de destino está archivado."
},
"move_part_task": {
"message": "Una tarea de compra de un repuesto se queda con su repuesto."
},
"move_fleet_task": {
"message": "La tarea de la flota de baterías no se puede mover."
},
"move_objects_not_loaded": {
"message": "Ambos objetos deben estar cargados para mover una tarea."
},
"view_name_empty": {
"message": "Una vista guardada necesita un nombre."
},
"qr_no_url": {
"message": "No hay ninguna URL de Home Assistant configurada — establece una URL externa o interna en Ajustes → Sistema → Red."
}
},
"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"
}
}
}
}
}