GRM-12: feat: add translated operation report for success and failure cases

- Create StepTracker context manager in new report.py module
- Track each step of lifecycle operations (install, update, start, stop, enable,
  disable, status, remove) with begin/done markers
- On success: report lists all completed steps with ✓ icons
- On failure: report shows failed step (✗), completed steps before failure (✓),
  and pending steps that never started (○)
- Add translations for report header, status labels, and registry step names
  in all 5 supported languages (EN/BG/DE/RU/ZH)
- 105 tests, 100% coverage, pyright clean, ruff clean
This commit is contained in:
Emil Simeonov
2026-06-19 01:16:39 +02:00
parent 3b68302274
commit 815b59c537
4 changed files with 297 additions and 33 deletions
+42
View File
@@ -425,6 +425,48 @@ TRANSLATIONS: dict[str, dict[str, str]] = {
"ru": "неизвестно",
"zh": "未知",
},
"=== Operation Report ===": {
"en": "=== Operation Report ===",
"bg": "=== Отчет за операцията ===",
"de": "=== Operationsbericht ===",
"ru": "=== Отчет об операции ===",
"zh": "=== 操作报告 ===",
},
"completed": {
"en": "completed",
"bg": "завършено",
"de": "abgeschlossen",
"ru": "завершено",
"zh": "已完成",
},
"pending": {
"en": "pending",
"bg": "чакащо",
"de": "ausstehend",
"ru": "в ожидании",
"zh": "待处理",
},
"in_progress": {
"en": "in progress",
"bg": "в процес",
"de": "in Bearbeitung",
"ru": "в процессе",
"zh": "进行中",
},
"Save runner '{name}' to local registry": {
"en": "Save runner '{name}' to local registry",
"bg": "Запазване на runner '{name}' в локалния регистър",
"de": "Runner '{name}' in lokaler Registrierung speichern",
"ru": "Сохранить runner '{name}' в локальном реестре",
"zh": "将 runner '{name}' 保存到本地注册表",
},
"Remove runner '{name}' from local registry": {
"en": "Remove runner '{name}' from local registry",
"bg": "Премахване на runner '{name}' от локалния регистър",
"de": "Runner '{name}' aus lokaler Registrierung entfernen",
"ru": "Удалить runner '{name}' из локального реестра",
"zh": "从本地注册表移除 runner '{name}'",
},
}