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": "Les obligations ne peuvent pas être satisfaites ensemble.",
"incomplete": "Le calcul s’est arrêté avant la fin des critères de qualité.",
"error": "Le planificateur a rencontré une erreur inattendue.",
"complete": "Plan calculé."
"complete": "Plan calculé.",
"whyPlacement": "Pourquoi ce placement",
"placementNavigation": "Navigation entre les explications des placements",
"placement": "Placement",
"placements": "placements",
"decision": "Décision",
"of": "sur",
"first": "Premier placement",
"previous": "Placement précédent",
"next": "Placement suivant",
"last": "Dernier placement",
"balance": "Droit",
"rules": "Règles",
"noRules": "Aucune règle",
"supporting": "Placement de soutien",
"yes": "Oui",
"no": "Non",
"remaining": "Droit restant après placement",
"timeOffPeriod": "Période de repos",
"firstDecisive": "Premier objectif décisif",
"contributions": "Contributions",
"objectiveVector": "Vecteur d’objectifs complet",
"finalMetrics": "Métriques du plan final",
"unplacedAtRisk": "Congés à risque non placés",
"holidayWeekValue": "Valeur des semaines fériées",
"shortSequenceDeficit": "Déficit des courtes séquences travaillées",
"supportingPlacements": "Placements de soutien",
"preferenceSatisfaction": "Satisfaction des préférences",
"removedRestoredComparison": "Placement retiré puis rétabli",
"fullComparison": "Vecteurs d’objectifs complets avant et après",
"comparisonHelp": "Comparaison du plan final sans ce placement puis après son rétablissement.",
"counterfactual": "Dates alternatives",
"hypothetical": "Hypothèse uniquement : le plan optimisé ne change pas. Sélectionnez une date de l’horizon pour l’inspecter.",
"counterfactualLoading": "Analyse de chaque date de l’horizon…",
"counterfactualReady": "Les dates alternatives sont prêtes.",
"counterfactualError": "Les dates alternatives n’ont pas pu être calculées.",
"eligible": "Éligible",
"ineligible": "Inéligible",
"historical": "Statut de la recherche originale",
"reason": "Raison",
"explanationError": "L’explication n’a pas pu être produite.",
"conflictDetails": "Pourquoi aucun plan ne satisfait les obligations",
"conflictingRules": "Règles en conflit",
"bottleneck": "Goulot d’étranglement",
"incompleteDetails": "Étapes terminées avant l’arrêt du calcul",
"incumbentExplanation": "Cette explication concerne le meilleur plan valide trouvé ; les étapes de qualité suivantes ne sont pas terminées.",
"completedStages": "Étapes terminées",
"uncompletedStages": "Étapes interrompues ou non démarrées",
"none": "Aucun",
"currentPlacement": "Placement expliqué actuellement",
"outsideHorizon": "Date de contexte hors de l’horizon de planification",
"traceTitle": "Avancé : trace des décisions originales",
"traceLoading": "Le plan est prêt ; sa trace de décision est encore en cours de chargement…",
"traceUnavailable": "Aucune trace de décision n’est disponible pour ce résultat.",
"phases": "Phases de la trace",
"firstPhase": "Première phase",
"previousPhase": "Phase précédente",
"nextPhase": "Phase suivante",
"lastPhase": "Dernière phase",
"decisions": "Décisions atomiques",
"firstDecision": "Première décision",
"previousDecision": "Décision précédente",
"nextDecision": "Décision suivante",
"lastDecision": "Dernière décision",
"replay": "État de la décision",
"before": "Avant",
"after": "Après",
"finalPlan": "Plan final",
"dates": "Dates",
"candidates": "Candidats",
"previousCandidates": "Page de candidats précédente",
"nextCandidates": "Page de candidats suivante",
"page": "Page",
"compareAlternatives": "Comparer ce candidat sur tout l’horizon",
"tieBreak": "Critère de départage",
"deltas": "Changements d’état",
"activations": "activations acquises",
"noDecisions": "Cette phase n’a enregistré aucune décision atomique.",
"traceStatuses": {
"chosen": "Choisi",
"evaluated-rejected": "Évalué et rejeté",
"pruned": "Élagué",
"not-examined": "Non examiné",
"ineligible": "Inéligible"
},
"tracePhaseStatuses": {
"completed": "Terminée",
"interrupted": "Interrompue",
"not-run": "Non exécutée"
},
"traceChanges": {
"added": "Ajouté par cette décision",
"moved-from": "Déplacé depuis cette date",
"moved-to": "Déplacé vers cette date",
"removed": "Retiré par cette décision",
"shared": "Partagé par cette décision",
"unchanged": "Inchangé par cette décision"
}
},
"benchmark": {
"title": "Benchmark du planificateur de congés",