feat(mining): migrate the Windows Defender antivirus-help dialog to reference design

Bring renderAntivirusHelpDialog onto the reference design and remove its hardcoded
English (the last Wave-1 modal):
- struct-form BeginOverlayDialog(OverlayDialogSpec{BlurFloat, cardWidth 560,
  idSuffix antivirus}) replacing the legacy positional overload
- the hardcoded "Windows Defender Blocked Miner" title and all 10 step/intro/bullet
  strings -> TR() (11 new av_* keys + reuse `close`; 8-lang translations, Windows
  env vars / xmrig.exe kept literal, menu names localized)
- 2 StyledButton -> TactileButton, drop the footer divider, dp-scale the button widths
- CJK subset rebuilt (glyphs 1741->1751; kept — new glyphs are used)

NOTE: this dialog is inside #ifdef _WIN32, so the Linux build compiles it out and
cannot verify it — needs a Windows build to compile-check. The edits mirror the
already-verified daemon-update-prompt / migrate-to-seed struct-overlay pattern and
leave the ShellExecuteA call untouched. i18n.cpp + the daemon prompt (cross-platform)
build + ctest + hygiene clean on Linux.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-14 16:38:07 -05:00
parent 28288d7197
commit abbdf3f4f7
11 changed files with 125 additions and 24 deletions

View File

@@ -55,6 +55,17 @@
"amount_label": "Сумма:",
"appearance": "ВНЕШНИЙ ВИД",
"auto_shield": "Авто-экранирование майнинга",
"av_intro": "Программы для майнинга часто помечаются как потенциально нежелательные. Выполните эти шаги, чтобы включить пул-майнинг:",
"av_open_security": "Открыть Безопасность Windows",
"av_step1": "Шаг 1: Добавить исключение",
"av_step1_b1": "Откройте Безопасность Windows > Защита от вирусов и угроз",
"av_step1_b2": "Нажмите Управление настройками > Исключения > Добавить или удалить",
"av_step1_b3": "Добавьте папку: %APPDATA%\\ObsidianDragon\\",
"av_step2": "Шаг 2: Восстановить из карантина (при необходимости)",
"av_step2_b1": "Безопасность Windows > Журнал защиты",
"av_step2_b2": "Найдите xmrig.exe и нажмите Восстановить",
"av_step3": "Шаг 3: Перезапустите кошелёк и попробуйте снова",
"av_title": "Windows Defender заблокировал майнер",
"available": "Доступно",
"backup_backing_up": "Создание резервной копии...",
"backup_create": "Создать резервную копию",