{
  "config": {
    "step": {
      "user": {
        "title": "Configuración de WashData",
        "description": "Configura tu lavadora u otro electrodoméstico.\n\nSe requiere un sensor de potencia.\n\n**A continuación, se te preguntará si deseas crear tu primer perfil.**",
        "data": {
          "name": "Nombre del dispositivo",
          "device_type": "Tipo de dispositivo",
          "power_sensor": "Sensor de potencia",
          "min_power": "Umbral mínimo de potencia (W)"
        },
        "data_description": {
          "name": "Un nombre descriptivo para este dispositivo (p. ej., «Lavadora», «Lavavajillas»).",
          "device_type": "¿Qué tipo de electrodoméstico es este? Ayuda a personalizar la detección y el etiquetado.",
          "power_sensor": "La entidad de sensor que informa el consumo de potencia en tiempo real (en vatios) desde tu enchufe inteligente.",
          "min_power": "Las lecturas de potencia por encima de este umbral (en vatios) indican que el electrodoméstico está en funcionamiento. Empieza con 2 W para la mayoría de los dispositivos."
        }
      },
      "reconfigure": {
        "title": "Reconfigurar WashData",
        "description": "Actualiza el nombre del dispositivo, el tipo de electrodoméstico o el sensor de potencia.",
        "data": {
          "name": "Nombre del dispositivo",
          "device_type": "Tipo de dispositivo",
          "power_sensor": "Sensor de potencia",
          "min_power": "Umbral mínimo de potencia (W)"
        }
      }
    },
    "error": {
      "cannot_connect": "No se pudo conectar",
      "invalid_auth": "Autenticación no válida",
      "unknown": "Error inesperado",
      "invalid_power": "El umbral de potencia debe ser mayor que 0"
    },
    "abort": {
      "already_configured": "El dispositivo ya está configurado",
      "reconfigure_successful": "La reconfiguración fue exitosa"
    }
  },
  "options": {
    "step": {
      "init": {
        "title": "Ajustes de WashData",
        "description": "Todos los ajustes — detección, coincidencia, temporización, notificaciones, perfiles y ciclos — están disponibles en el panel de WashData. Usa este formulario solo para cambiar el sensor de potencia, el tipo de dispositivo o el umbral en espera.",
        "data": {
          "name": "Nombre del dispositivo",
          "device_type": "Tipo de dispositivo",
          "power_sensor": "Sensor de potencia",
          "min_power": "Umbral mínimo de potencia (W)"
        }
      }
    },
    "error": {
      "timer_default_message": "{device}: temporizador de {minutes} min",
      "timer_pause_action_title": "Reanudar ciclo",
      "timer_pause_body_suffix": "El ciclo está en pausa. Abre el panel de WashData para reanudarlo.",
      "notify_live_waiting_message": "{device}: todavía no se ha reconocido ningún perfil.",
      "vs_typical_longer": "{pct}% más largo de lo habitual",
      "vs_typical_shorter": "{pct}% más corto de lo habitual",
      "invalid_power": "El umbral de potencia debe ser mayor que 0"
    }
  },
  "selector": {
    "device_type": {
      "options": {
        "washing_machine": "Lavadora",
        "dryer": "Secadora",
        "washer_dryer": "Combinación de lavadora y secadora",
        "dishwasher": "Lavavajillas",
        "air_fryer": "Freidora de aire",
        "bread_maker": "Panificadora",
        "pump": "Bomba / Bomba de sumidero",
        "generic": "Otro (avanzado)",
        "other": "Dispositivo de umbral"
      }
    }
  },
  "services": {
    "label_cycle": {
      "name": "Etiquetar ciclo",
      "description": "Asigna un perfil existente a un ciclo anterior, o quita la etiqueta.",
      "fields": {
        "device_id": {
          "name": "Dispositivo",
          "description": "El dispositivo WashData a etiquetar."
        },
        "cycle_id": {
          "name": "ID del ciclo",
          "description": "El ID del ciclo a etiquetar."
        },
        "profile_name": {
          "name": "Nombre del perfil",
          "description": "El nombre de un perfil existente (crea perfiles en el menú Gestionar perfiles). Deja vacío para quitar la etiqueta."
        }
      }
    },
    "create_profile": {
      "name": "Crear perfil",
      "description": "Crea un nuevo perfil (independiente o basado en un ciclo de referencia).",
      "fields": {
        "device_id": {
          "name": "Dispositivo",
          "description": "El dispositivo WashData."
        },
        "profile_name": {
          "name": "Nombre del perfil",
          "description": "Nombre para el nuevo perfil (p. ej., «Resistente», «Delicados»)."
        },
        "reference_cycle_id": {
          "name": "ID del ciclo de referencia",
          "description": "ID de ciclo opcional en el que basar este perfil."
        }
      }
    },
    "delete_profile": {
      "name": "Eliminar perfil",
      "description": "Elimina un perfil y, opcionalmente, quita las etiquetas de los ciclos que lo usan.",
      "fields": {
        "device_id": {
          "name": "Dispositivo",
          "description": "El dispositivo WashData."
        },
        "profile_name": {
          "name": "Nombre del perfil",
          "description": "El perfil a eliminar."
        },
        "unlabel_cycles": {
          "name": "Quitar etiqueta de ciclos",
          "description": "Quitar la etiqueta de perfil de los ciclos que usan este perfil."
        }
      }
    },
    "auto_label_cycles": {
      "name": "Etiquetar automáticamente ciclos antiguos",
      "description": "Etiqueta retroactivamente ciclos sin etiquetar usando la coincidencia de perfiles.",
      "fields": {
        "device_id": {
          "name": "Dispositivo",
          "description": "El dispositivo WashData."
        },
        "confidence_threshold": {
          "name": "Umbral de confianza",
          "description": "Confianza mínima de coincidencia (0,50-0,95) para aplicar etiquetas."
        }
      }
    },
    "export_config": {
      "name": "Exportar configuración",
      "description": "Exporta los perfiles, ciclos y ajustes de este dispositivo a un archivo JSON (por dispositivo).",
      "fields": {
        "device_id": {
          "name": "Dispositivo",
          "description": "El dispositivo WashData a exportar."
        },
        "path": {
          "name": "Ruta",
          "description": "Ruta de archivo absoluta opcional para escribir (por defecto: /config/ha_washdata_export_{entry}.json)."
        }
      }
    },
    "import_config": {
      "name": "Importar configuración",
      "description": "Importa perfiles, ciclos y ajustes para este dispositivo desde un archivo JSON de exportación (los ajustes pueden sobrescribirse).",
      "fields": {
        "device_id": {
          "name": "Dispositivo",
          "description": "El dispositivo WashData al que importar."
        },
        "path": {
          "name": "Ruta",
          "description": "Ruta absoluta al archivo JSON de exportación a importar."
        }
      }
    },
    "submit_cycle_feedback": {
      "name": "Enviar retroalimentación del ciclo",
      "description": "Confirma o corrige un programa detectado automáticamente tras un ciclo completado. Proporciona `entry_id` (avanzado) o `device_id` (recomendado).",
      "fields": {
        "device_id": {
          "name": "Dispositivo",
          "description": "El dispositivo WashData (recomendado en lugar de entry_id)."
        },
        "entry_id": {
          "name": "ID de entrada",
          "description": "El ID de entrada de configuración del dispositivo (alternativa a device_id)."
        },
        "cycle_id": {
          "name": "ID del ciclo",
          "description": "El ID del ciclo que aparece en la notificación de retroalimentación / registros."
        },
        "user_confirmed": {
          "name": "Confirmar programa detectado",
          "description": "Establece verdadero si el programa detectado es correcto."
        },
        "corrected_profile": {
          "name": "Perfil corregido",
          "description": "Si no se confirma, proporciona el nombre correcto del perfil/programa."
        },
        "corrected_duration": {
          "name": "Duración corregida (segundos)",
          "description": "Duración corregida opcional en segundos."
        },
        "notes": {
          "name": "Notas",
          "description": "Notas opcionales sobre este ciclo."
        }
      }
    },
    "record_start": {
      "name": "Iniciar grabación de ciclo",
      "description": "Empieza a grabar manualmente un ciclo limpio (omite toda la lógica de coincidencia).",
      "fields": {
        "device_id": {
          "name": "Dispositivo",
          "description": "El dispositivo WashData a grabar."
        }
      }
    },
    "record_stop": {
      "name": "Detener grabación de ciclo",
      "description": "Detiene la grabación manual.",
      "fields": {
        "device_id": {
          "name": "Dispositivo",
          "description": "El dispositivo WashData para detener la grabación."
        }
      }
    },
    "trim_cycle": {
      "name": "Recortar ciclo",
      "description": "Recorta los datos de potencia de un ciclo anterior a una ventana de tiempo específica.",
      "fields": {
        "device_id": {
          "name": "Dispositivo",
          "description": "El dispositivo WashData."
        },
        "cycle_id": {
          "name": "ID del ciclo",
          "description": "El ID del ciclo a recortar."
        },
        "trim_start_s": {
          "name": "Inicio del recorte (segundos)",
          "description": "Conservar datos desde este desplazamiento en segundos. Predeterminado: 0."
        },
        "trim_end_s": {
          "name": "Fin del recorte (segundos)",
          "description": "Conservar datos hasta este desplazamiento en segundos. Predeterminado = duración completa."
        }
      }
    },
    "pause_cycle": {
      "name": "Pausar ciclo",
      "description": "Pausa el ciclo activo de un dispositivo WashData.",
      "fields": {
        "device_id": {
          "name": "Dispositivo",
          "description": "El dispositivo WashData se pausará."
        }
      }
    },
    "resume_cycle": {
      "name": "Reanudar ciclo",
      "description": "Reanudar un ciclo en pausa para un dispositivo WashData.",
      "fields": {
        "device_id": {
          "name": "Dispositivo",
          "description": "El dispositivo WashData para reanudar."
        }
      }
    },
    "trigger_ml_training": {
      "name": "Activar entrenamiento de ML",
      "description": "Reentrenar manualmente los modelos de ML del dispositivo usando los ciclos etiquetados propios de este dispositivo (experimental).",
      "fields": {
        "device_id": {
          "name": "Dispositivo",
          "description": "El dispositivo WashData para el que se reentrenan los modelos."
        }
      }
    }
  },
  "entity": {
    "binary_sensor": {
      "running": {
        "name": "En funcionamiento"
      },
      "match_ambiguity": {
        "name": "Ambigüedad de coincidencia"
      }
    },
    "sensor": {
      "washer_state": {
        "name": "Estado",
        "state": {
          "off": "Apagado",
          "idle": "En espera",
          "starting": "Iniciando",
          "running": "En funcionamiento",
          "paused": "En pausa",
          "user_paused": "En pausa por el usuario",
          "ending": "Finalizando",
          "finished": "Finalizado",
          "anti_wrinkle": "Antiarrugas",
          "interrupted": "Interrumpido",
          "force_stopped": "Parada forzada",
          "rinse": "Aclarado",
          "unknown": "Desconocido",
          "clean": "Limpio",
          "delay_wait": "Esperando para comenzar"
        }
      },
      "washer_program": {
        "name": "Programa"
      },
      "time_remaining": {
        "name": "Tiempo restante"
      },
      "total_duration": {
        "name": "Duración total"
      },
      "cycle_progress": {
        "name": "Progreso"
      },
      "current_power": {
        "name": "Potencia actual"
      },
      "elapsed_time": {
        "name": "Tiempo transcurrido"
      },
      "debug_info": {
        "name": "Información de depuración"
      },
      "match_confidence": {
        "name": "Confianza de coincidencia"
      },
      "top_candidates": {
        "name": "Mejores candidatos",
        "state": {
          "none": "Ninguno"
        }
      },
      "ambiguity": {
        "name": "Puntuación de ambigüedad"
      },
      "current_phase": {
        "name": "Fase actual"
      },
      "profile_cycle_count": {
        "name": "Recuento de ciclos del perfil {profile_name}",
        "unit_of_measurement": "ciclos"
      },
      "suggestions": {
        "name": "Ajustes sugeridos disponibles"
      },
      "pump_runs_today": {
        "name": "Funcionamiento de la bomba (últimas 24 h)"
      },
      "cycle_count": {
        "name": "Conteo de ciclos"
      },
      "energy_total": {
        "name": "Energía total"
      }
    },
    "select": {
      "program_select": {
        "name": "Programa del ciclo",
        "state": {
          "auto_detect": "Detección automática"
        }
      }
    },
    "button": {
      "force_end_cycle": {
        "name": "Forzar fin de ciclo"
      },
      "pause_cycle": {
        "name": "Pausar ciclo"
      },
      "resume_cycle": {
        "name": "Reanudar ciclo"
      },
      "record_start": {
        "name": "Iniciar grabación de ciclo"
      },
      "record_stop": {
        "name": "Detener grabación de ciclo"
      }
    }
  },
  "exceptions": {
    "device_id_required": {
      "message": "Se requiere un ID de dispositivo válido."
    },
    "cycle_id_required": {
      "message": "Se requiere un cycle_id válido."
    },
    "profile_name_required": {
      "message": "Se requiere un profile_name válido."
    },
    "device_not_found": {
      "message": "Dispositivo no encontrado."
    },
    "no_config_entry": {
      "message": "No se encontró ninguna entrada de configuración para el dispositivo."
    },
    "integration_not_loaded": {
      "message": "La integración no está cargada para este dispositivo."
    },
    "cycle_not_found_or_no_power": {
      "message": "Ciclo no encontrado o sin datos de potencia."
    },
    "trim_failed_empty_window": {
      "message": "Error de recorte: ciclo no encontrado, sin datos de potencia o la ventana resultante está vacía."
    },
    "trim_invalid_range": {
      "message": "trim_end_s debe ser mayor que trim_start_s."
    },
    "no_active_cycle": {
      "message": "No hay ningún ciclo activo para pausar o reanudar."
    },
    "path_not_allowed": {
      "message": "La ruta no está permitida: {path}. Añada su directorio a 'allowlist_external_dirs' en configuration.yaml."
    },
    "create_profile_failed": {
      "message": "No se pudo crear el perfil: {error}"
    },
    "export_path_exists": {
      "message": "El destino de exportación ya existe: {path}. Elija una ruta diferente o elimine primero el archivo existente."
    },
    "export_write_failed": {
      "message": "No se pudo escribir la exportación en {path}: {error}"
    },
    "assign_profile_failed": {
      "message": "No se pudo asignar el perfil: {error}"
    }
  }
}
