feat(planning): explain and trace planning decisions

This commit is contained in:
nessar committed 2026-08-31 00:02:45 +02:00
1 parent 609b3dece9
commit d7a13b0b1e
24 files changed
+6073 -342

No files matched your search

+98 -1
View File
@@ -104,7 +104,104 @@
"conflict": "Las obligaciones no se pueden satisfacer juntas.",
"incomplete": "El cálculo se detuvo antes de completar todas las etapas de calidad.",
"error": "El planificador encontró un error inesperado.",
"complete": "Plan calculado."
"complete": "Plan calculado.",
"whyPlacement": "Por qué esta asignación",
"placementNavigation": "Navegación por las explicaciones de las asignaciones",
"placement": "Asignación",
"placements": "asignaciones",
"decision": "Decisión",
"of": "de",
"first": "Primera asignación",
"previous": "Asignación anterior",
"next": "Asignación siguiente",
"last": "Última asignación",
"balance": "Derecho",
"rules": "Reglas",
"noRules": "Sin regla",
"supporting": "Asignación de apoyo",
"yes": "Sí",
"no": "No",
"remaining": "Derecho restante tras la asignación",
"timeOffPeriod": "Período de descanso",
"firstDecisive": "Primer objetivo decisivo",
"contributions": "Contribuciones",
"objectiveVector": "Vector completo de objetivos",
"finalMetrics": "Métricas del plan final",
"unplacedAtRisk": "Vacaciones en riesgo sin asignar",
"holidayWeekValue": "Valor de semanas con festivos",
"shortSequenceDeficit": "Déficit de secuencias cortas de trabajo",
"supportingPlacements": "Asignaciones de apoyo",
"preferenceSatisfaction": "Satisfacción de preferencias",
"removedRestoredComparison": "Asignación eliminada y restaurada",
"fullComparison": "Vectores de objetivos completos antes y después",
"comparisonHelp": "Compara el plan final sin esta asignación y después de restaurarla.",
"counterfactual": "Fechas alternativas",
"hypothetical": "Solo hipotético: el plan optimizado no cambia. Selecciona una fecha del horizonte para inspeccionarla.",
"counterfactualLoading": "Analizando cada fecha del horizonte…",
"counterfactualReady": "Las fechas alternativas están listas.",
"counterfactualError": "No se pudieron calcular las fechas alternativas.",
"eligible": "Válida",
"ineligible": "No válida",
"historical": "Estado de la búsqueda original",
"reason": "Motivo",
"explanationError": "No se pudo generar la explicación.",
"conflictDetails": "Por qué ningún plan satisface las obligaciones",
"conflictingRules": "Reglas en conflicto",
"bottleneck": "Cuello de botella",
"incompleteDetails": "Lo completado antes de detener el cálculo",
"incumbentExplanation": "Esto explica el mejor plan válido encontrado; las etapas de calidad posteriores no se completaron.",
"completedStages": "Etapas completadas",
"uncompletedStages": "Etapas interrumpidas o no iniciadas",
"none": "Ninguno",
"currentPlacement": "Asignación explicada actualmente",
"outsideHorizon": "Fecha de contexto fuera del horizonte de planificación",
"traceTitle": "Avanzado: traza de decisiones original",
"traceLoading": "El plan está listo; su traza de decisiones aún se está cargando…",
"traceUnavailable": "No hay una traza de decisiones disponible para este resultado.",
"phases": "Fases de la traza",
"firstPhase": "Primera fase",
"previousPhase": "Fase anterior",
"nextPhase": "Fase siguiente",
"lastPhase": "Última fase",
"decisions": "Decisiones atómicas",
"firstDecision": "Primera decisión",
"previousDecision": "Decisión anterior",
"nextDecision": "Decisión siguiente",
"lastDecision": "Última decisión",
"replay": "Estado de la decisión",
"before": "Antes",
"after": "Después",
"finalPlan": "Plan final",
"dates": "Fechas",
"candidates": "Candidatos",
"previousCandidates": "Página de candidatos anterior",
"nextCandidates": "Página de candidatos siguiente",
"page": "Página",
"compareAlternatives": "Comparar este candidato en todo el horizonte",
"tieBreak": "Desempate",
"deltas": "Cambios de estado",
"activations": "activaciones obtenidas",
"noDecisions": "Esta fase no registró ninguna decisión atómica.",
"traceStatuses": {
"chosen": "Elegido",
"evaluated-rejected": "Evaluado y rechazado",
"pruned": "Podado",
"not-examined": "No examinado",
"ineligible": "No válido"
},
"tracePhaseStatuses": {
"completed": "Completada",
"interrupted": "Interrumpida",
"not-run": "No ejecutada"
},
"traceChanges": {
"added": "Añadido por esta decisión",
"moved-from": "Movido desde esta fecha",
"moved-to": "Movido a esta fecha",
"removed": "Eliminado por esta decisión",
"shared": "Compartido por esta decisión",
"unchanged": "Sin cambios por esta decisión"
}
},
"benchmark": {
"title": "Prueba del planificador de vacaciones",