feat: enhance user input component with new styling and functionality

- Added informational styling to warning cards in user input component.
- Improved remaining days details and history display with new computed properties.
- Updated user input service to manage planning outcomes and traces more effectively.
- Enhanced leave planner service to classify remaining balances with detailed reasons.
- Expanded translation service to support new balance reasoning and suggestions.
- Updated translations for multiple languages to reflect new features and terminology.
This commit is contained in:
nessar committed 2026-10-07 21:49:33 +02:00
1 parent 9851edf906
commit 3dc601982a
15 files changed
+679 -141

No files matched your search

+26 -13
View File
@@ -25,8 +25,7 @@
"seconds": "s",
"minutes": "min"
},
"remainingDaysWarning": "{count} jour{plural} de vacances non placé{plural}:",
"remainingDaysManualPlace": "Veuillez les placer manuellement.",
"remainingDaysWarning": "{count} jour{plural} de congé restant{plural} :",
"deleteEntry": "Supprimer l’entrée",
"chooseDate": "Expire le",
"availableDate": "Disponible à partir du",
@@ -35,15 +34,25 @@
"daySuffix": "jour",
"daysSuffix": "jours",
"expires": "exp.",
"remainingClassification": {
"unavoidableExpiry": "Expiration inévitable",
"atRisk": "À risque",
"deferred": "Différé"
"remainingWhy": "Voir pourquoi",
"remainingValidity": "Utilisable du {available} au {expiry}.",
"remainingHorizon": "Planning calculé du {start} au {end}.",
"remainingEarnedFrom": "Congés gagnés grâce à la règle « {rule} ».",
"remainingHistoryHelp": "Ces dates ont réellement été examinées pendant le calcul. Les valeurs comparent chaque essai à son état de départ ; le planning final peut être différent.",
"remainingNoEvaluations": "Aucun essai attribuable à ce solde n’a été enregistré. La catégorie d’expiration ne suffit pas à expliquer pourquoi il reste inutilisé.",
"remainingSuggestions": {
"available-after-horizon": "Vous pouvez prolonger la période planifiée au-delà de sa date de disponibilité, puis recalculer.",
"no-working-date": "Vérifiez la période planifiée et les dates de validité de ce solde.",
"all-dates-occupied": "Vous pouvez élargir la période si la validité le permet, ou ajuster vos jours déjà posés et vos règles, puis recalculer.",
"preserved": "Aucune action nécessaire. Pour demander son utilisation, ajoutez une règle sur une période où il est utilisable, puis recalculez.",
"calculation-incomplete": "Relancez le calcul si vous souhaitez qu’il termine la planification."
},
"remainingReason": {
"unavoidableExpiry": "expiré avant l’horizon",
"atRisk": "expire pendant l’horizon",
"deferred": "disponible après l’horizon"
"remainingCandidateReasons": {
"quality-no-improvement": "Cette possibilité n’a pas été retenue à cette étape du calcul.",
"quality-protected-objective": "Cette possibilité dégraderait une priorité à préserver.",
"quality-outperformed": "Le calcul a ensuite trouvé une possibilité mieux classée.",
"earned-entitlement-order": "Cette possibilité ne respecte pas les dates de disponibilité des congés gagnés.",
"unknown": "La raison précise de cet essai n’est pas disponible."
}
},
"dayTypes": {
@@ -343,9 +352,13 @@
"auditHelp": "Valeurs, identifiants et contributions d’origine de ce calcul.",
"supporting": "Ce jour utilise des congés qui pourraient être conservés au-delà de la période planifiée pour améliorer vos pauses.",
"remainingReasons": {
"at-risk": "Ces jours non utilisés expirent pendant la période planifiée.",
"deferred": "Ces jours non utilisés peuvent être conservés au-delà de la période planifiée.",
"unavoidable-expiry": "Ces jours ont expiré avant le début de la période planifiée."
"unavoidable-expiry": "Expiré le {expiry}, avant le début du planning le {start}. Il ne peut pas être posé dans cette période.",
"available-after-horizon": "Disponible seulement à partir du {available}, après la dernière date du planning, le {end}.",
"no-working-date": "Aucun jour ouvré ne se trouve à la fois dans la période planifiée et entre ses dates de disponibilité et d’expiration.",
"all-dates-occupied": "Tous les jours ouvrés où ce solde est utilisable sont déjà occupés par des congés calculés ou des jours déjà posés.",
"preserved": "Conservé pour plus tard : il expire après la période planifiée et le calcul n’a pas retenu de pose supplémentaire selon vos priorités.",
"calculation-incomplete": "Le calcul a été interrompu avant de terminer la planification. Sa non-utilisation n’est pas une décision définitive.",
"not-established": "La raison précise de sa non-utilisation n’a pas été établie par ce calcul."
}
},
"comparison": {