From abbdf3f4f7dc0388ae605873ed6e100f52a328c2 Mon Sep 17 00:00:00 2001 From: DanS Date: Tue, 14 Jul 2026 16:38:07 -0500 Subject: [PATCH] feat(mining): migrate the Windows Defender antivirus-help dialog to reference design MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- res/fonts/NotoSansCJK-Subset.ttf | Bin 626528 -> 634428 bytes res/lang/de.json | 11 +++++++ res/lang/es.json | 11 +++++++ res/lang/fr.json | 11 +++++++ res/lang/ja.json | 11 +++++++ res/lang/ko.json | 11 +++++++ res/lang/pt.json | 11 +++++++ res/lang/ru.json | 11 +++++++ res/lang/zh.json | 11 +++++++ src/app.cpp | 49 ++++++++++++++++--------------- src/util/i18n.cpp | 12 ++++++++ 11 files changed, 125 insertions(+), 24 deletions(-) diff --git a/res/fonts/NotoSansCJK-Subset.ttf b/res/fonts/NotoSansCJK-Subset.ttf index 1b8c96876470395951034a9c30591a2e4b040b9c..a238fc627a968efab3bc76301ccb8cb812e0cabf 100644 GIT binary patch delta 27967 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 Q&Rk>-OcLi=ZS7S54=XMuwEzGB diff --git a/res/lang/de.json b/res/lang/de.json index af4aa26..546f8b6 100644 --- a/res/lang/de.json +++ b/res/lang/de.json @@ -55,6 +55,17 @@ "amount_label": "Betrag:", "appearance": "ERSCHEINUNGSBILD", "auto_shield": "Mining automatisch abschirmen", + "av_intro": "Mining-Software wird oft als potenziell unerwünscht eingestuft. Führen Sie diese Schritte aus, um das Pool-Mining zu aktivieren:", + "av_open_security": "Windows-Sicherheit öffnen", + "av_step1": "Schritt 1: Ausnahme hinzufügen", + "av_step1_b1": "Öffnen Sie Windows-Sicherheit > Viren- & Bedrohungsschutz", + "av_step1_b2": "Klicken Sie auf Einstellungen verwalten > Ausschlüsse > Hinzufügen oder entfernen", + "av_step1_b3": "Ordner hinzufügen: %APPDATA%\\ObsidianDragon\\", + "av_step2": "Schritt 2: Aus Quarantäne wiederherstellen (falls nötig)", + "av_step2_b1": "Windows-Sicherheit > Schutzverlauf", + "av_step2_b2": "Suchen Sie xmrig.exe und klicken Sie auf Wiederherstellen", + "av_step3": "Schritt 3: Wallet neu starten und erneut versuchen", + "av_title": "Windows Defender hat den Miner blockiert", "available": "Verfügbar", "backup_backing_up": "Sicherung läuft...", "backup_create": "Sicherung erstellen", diff --git a/res/lang/es.json b/res/lang/es.json index 1d708cc..997c47e 100644 --- a/res/lang/es.json +++ b/res/lang/es.json @@ -55,6 +55,17 @@ "amount_label": "Cantidad:", "appearance": "APARIENCIA", "auto_shield": "Auto-proteger minería", + "av_intro": "El software de minería suele marcarse como potencialmente no deseado. Sigue estos pasos para habilitar la minería en pool:", + "av_open_security": "Abrir Seguridad de Windows", + "av_step1": "Paso 1: Agregar exclusión", + "av_step1_b1": "Abre Seguridad de Windows > Protección antivirus y contra amenazas", + "av_step1_b2": "Haz clic en Administrar configuración > Exclusiones > Agregar o quitar", + "av_step1_b3": "Agrega la carpeta: %APPDATA%\\ObsidianDragon\\", + "av_step2": "Paso 2: Restaurar desde cuarentena (si es necesario)", + "av_step2_b1": "Seguridad de Windows > Historial de protección", + "av_step2_b2": "Busca xmrig.exe y haz clic en Restaurar", + "av_step3": "Paso 3: Reinicia el monedero e inténtalo de nuevo", + "av_title": "Windows Defender bloqueó el minero", "available": "Disponible", "backup_backing_up": "Respaldando...", "backup_create": "Crear Respaldo", diff --git a/res/lang/fr.json b/res/lang/fr.json index 57a1f9d..e69645b 100644 --- a/res/lang/fr.json +++ b/res/lang/fr.json @@ -55,6 +55,17 @@ "amount_label": "Montant :", "appearance": "APPARENCE", "auto_shield": "Auto-blindage du minage", + "av_intro": "Les logiciels de minage sont souvent signalés comme potentiellement indésirables. Suivez ces étapes pour activer le minage en pool :", + "av_open_security": "Ouvrir Sécurité Windows", + "av_step1": "Étape 1 : Ajouter une exclusion", + "av_step1_b1": "Ouvrez Sécurité Windows > Protection contre les virus et menaces", + "av_step1_b2": "Cliquez sur Gérer les paramètres > Exclusions > Ajouter ou supprimer", + "av_step1_b3": "Ajoutez le dossier : %APPDATA%\\ObsidianDragon\\", + "av_step2": "Étape 2 : Restaurer depuis la quarantaine (si nécessaire)", + "av_step2_b1": "Sécurité Windows > Historique de protection", + "av_step2_b2": "Trouvez xmrig.exe et cliquez sur Restaurer", + "av_step3": "Étape 3 : Redémarrez le portefeuille et réessayez", + "av_title": "Windows Defender a bloqué le mineur", "available": "Disponible", "backup_backing_up": "Sauvegarde en cours...", "backup_create": "Créer une sauvegarde", diff --git a/res/lang/ja.json b/res/lang/ja.json index 099b812..0c2b5f6 100644 --- a/res/lang/ja.json +++ b/res/lang/ja.json @@ -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": "バックアップを作成", diff --git a/res/lang/ko.json b/res/lang/ko.json index 4ed9298..7bba317 100644 --- a/res/lang/ko.json +++ b/res/lang/ko.json @@ -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": "백업 생성", diff --git a/res/lang/pt.json b/res/lang/pt.json index 540f00e..581e1a0 100644 --- a/res/lang/pt.json +++ b/res/lang/pt.json @@ -55,6 +55,17 @@ "amount_label": "Valor:", "appearance": "APARÊNCIA", "auto_shield": "Auto-blindar mineração", + "av_intro": "Softwares de mineração costumam ser sinalizados como potencialmente indesejados. Siga estes passos para habilitar a mineração em pool:", + "av_open_security": "Abrir Segurança do Windows", + "av_step1": "Passo 1: Adicionar exclusão", + "av_step1_b1": "Abra Segurança do Windows > Proteção contra vírus e ameaças", + "av_step1_b2": "Clique em Gerenciar configurações > Exclusões > Adicionar ou remover", + "av_step1_b3": "Adicione a pasta: %APPDATA%\\ObsidianDragon\\", + "av_step2": "Passo 2: Restaurar da quarentena (se necessário)", + "av_step2_b1": "Segurança do Windows > Histórico de proteção", + "av_step2_b2": "Encontre xmrig.exe e clique em Restaurar", + "av_step3": "Passo 3: Reinicie a carteira e tente novamente", + "av_title": "Windows Defender bloqueou o minerador", "available": "Disponível", "backup_backing_up": "Fazendo backup...", "backup_create": "Criar Backup", diff --git a/res/lang/ru.json b/res/lang/ru.json index f7a41fb..5789543 100644 --- a/res/lang/ru.json +++ b/res/lang/ru.json @@ -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": "Создать резервную копию", diff --git a/res/lang/zh.json b/res/lang/zh.json index 6337db5..9063b9a 100644 --- a/res/lang/zh.json +++ b/res/lang/zh.json @@ -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": "创建备份", diff --git a/src/app.cpp b/src/app.cpp index b07b8ee..fbd35a5 100644 --- a/src/app.cpp +++ b/src/app.cpp @@ -3820,42 +3820,43 @@ void App::renderAntivirusHelpDialog() #ifdef _WIN32 if (!pending_antivirus_dialog_) return; - if (!ui::material::BeginOverlayDialog("Windows Defender Blocked Miner", &pending_antivirus_dialog_, 560.0f, 0.94f)) { + ui::material::OverlayDialogSpec ov; + ov.title = TR("av_title"); ov.p_open = &pending_antivirus_dialog_; + ov.style = ui::material::OverlayStyle::BlurFloat; + ov.cardWidth = 560.0f; ov.idSuffix = "antivirus"; + if (!ui::material::BeginOverlayDialog(ov)) { return; } - - ImGui::TextWrapped( - "Mining software is often flagged as potentially unwanted. " - "Follow these steps to enable pool mining:"); - + const float dp = ui::Layout::dpiScale(); + + ImGui::TextWrapped("%s", TR("av_intro")); + ImGui::Dummy(ImVec2(0, ui::Layout::spacingSm())); - ui::material::Type().text(ui::material::TypeStyle::Subtitle2, "Step 1: Add Exclusion"); - ImGui::BulletText("Open Windows Security > Virus & threat protection"); - ImGui::BulletText("Click Manage settings > Exclusions > Add or remove"); - ImGui::BulletText("Add folder: %%APPDATA%%\\ObsidianDragon\\"); - + ui::material::Type().text(ui::material::TypeStyle::Subtitle2, TR("av_step1")); + ImGui::BulletText("%s", TR("av_step1_b1")); + ImGui::BulletText("%s", TR("av_step1_b2")); + ImGui::BulletText("%s", TR("av_step1_b3")); + ImGui::Dummy(ImVec2(0, ui::Layout::spacingSm())); - ui::material::Type().text(ui::material::TypeStyle::Subtitle2, "Step 2: Restore from Quarantine (if needed)"); - ImGui::BulletText("Windows Security > Protection history"); - ImGui::BulletText("Find xmrig.exe and click Restore"); - + ui::material::Type().text(ui::material::TypeStyle::Subtitle2, TR("av_step2")); + ImGui::BulletText("%s", TR("av_step2_b1")); + ImGui::BulletText("%s", TR("av_step2_b2")); + ImGui::Dummy(ImVec2(0, ui::Layout::spacingSm())); - ui::material::Type().text(ui::material::TypeStyle::Subtitle2, "Step 3: Restart wallet and try again"); - + ui::material::Type().text(ui::material::TypeStyle::Subtitle2, TR("av_step3")); + ImGui::Dummy(ImVec2(0, ui::Layout::spacingMd())); - ImGui::Separator(); - ImGui::Dummy(ImVec2(0, ui::Layout::spacingSm())); - - float btnW = 160.0f; - if (ui::material::StyledButton("Open Windows Security", ImVec2(btnW, 0))) { + + float btnW = 160.0f * dp; + if (ui::material::TactileButton(TR("av_open_security"), ImVec2(btnW, 0))) { // Open Windows Security app to the exclusions page ShellExecuteA(NULL, "open", "windowsdefender://threat", NULL, NULL, SW_SHOWNORMAL); } ImGui::SameLine(); - if (ui::material::StyledButton("Close", ImVec2(100.0f, 0))) { + if (ui::material::TactileButton(TR("close"), ImVec2(100.0f * dp, 0))) { pending_antivirus_dialog_ = false; } - + ui::material::EndOverlayDialog(); #endif } diff --git a/src/util/i18n.cpp b/src/util/i18n.cpp index e0b8c50..374207e 100644 --- a/src/util/i18n.cpp +++ b/src/util/i18n.cpp @@ -1940,6 +1940,18 @@ void I18n::loadBuiltinEnglish() strings_["explorer_txid"] = "TxID:"; strings_["explorer_prev_block"] = "Previous block"; strings_["explorer_next_block"] = "Next block"; + // --- Antivirus (Windows Defender) help dialog (Windows-only) --- + strings_["av_title"] = "Windows Defender Blocked Miner"; + strings_["av_intro"] = "Mining software is often flagged as potentially unwanted. Follow these steps to enable pool mining:"; + strings_["av_step1"] = "Step 1: Add Exclusion"; + strings_["av_step1_b1"] = "Open Windows Security > Virus & threat protection"; + strings_["av_step1_b2"] = "Click Manage settings > Exclusions > Add or remove"; + strings_["av_step1_b3"] = "Add folder: %APPDATA%\\ObsidianDragon\\"; + strings_["av_step2"] = "Step 2: Restore from Quarantine (if needed)"; + strings_["av_step2_b1"] = "Windows Security > Protection history"; + strings_["av_step2_b2"] = "Find xmrig.exe and click Restore"; + strings_["av_step3"] = "Step 3: Restart wallet and try again"; + strings_["av_open_security"] = "Open Windows Security"; strings_["explorer_invalid_query"] = "Enter a block height or 64-character hash"; strings_["explorer_invalid_response"] = "Invalid response from daemon"; strings_["explorer_hash_not_found"] = "No block or transaction found for this hash";