From 1fe78e4fe6a300ed09b5716b5d745ce1b20d097b Mon Sep 17 00:00:00 2001 From: guoyuqi Date: Sat, 10 Oct 2026 17:55:58 +0800 Subject: [PATCH] refactor: refactor website ssl delete text --- frontend/src/lang/modules/en.ts | 3 +++ frontend/src/lang/modules/es-es.ts | 3 +++ frontend/src/lang/modules/fa.ts | 2 ++ frontend/src/lang/modules/ja.ts | 2 ++ frontend/src/lang/modules/ko.ts | 2 ++ frontend/src/lang/modules/lo.ts | 2 ++ frontend/src/lang/modules/ms.ts | 2 ++ frontend/src/lang/modules/pt-br.ts | 3 +++ frontend/src/lang/modules/ru.ts | 3 +++ frontend/src/lang/modules/tr.ts | 3 +++ frontend/src/lang/modules/zh-Hant.ts | 2 ++ frontend/src/lang/modules/zh.ts | 2 ++ frontend/src/views/website/ssl/index.vue | 26 ++++++++++++++++++------ 13 files changed, 49 insertions(+), 6 deletions(-) diff --git a/frontend/src/lang/modules/en.ts b/frontend/src/lang/modules/en.ts index 7150fdb77865..13f71ac94ca9 100644 --- a/frontend/src/lang/modules/en.ts +++ b/frontend/src/lang/modules/en.ts @@ -4175,6 +4175,9 @@ const message = { 'Enabling this can avoid certificate leakage, setting a default website will invalidate this setting', }, ssl: { + deleteConfirm: + 'The following certificates will be deleted. ACME certificates will be automatically revoked. Continue?', + deleteAndRevoke: 'Delete and revoke', create: 'Request', provider: 'Type', manualCreate: 'Created manually', diff --git a/frontend/src/lang/modules/es-es.ts b/frontend/src/lang/modules/es-es.ts index ab56115b84a4..fe5ddfefbef6 100644 --- a/frontend/src/lang/modules/es-es.ts +++ b/frontend/src/lang/modules/es-es.ts @@ -4225,6 +4225,9 @@ const message = { 'Habilitar esto puede evitar la fuga de certificados, establecer un sitio web predeterminado invalidará esta configuración', }, ssl: { + deleteConfirm: + 'Se eliminarán los siguientes certificados. Los certificados ACME se revocarán automáticamente. ¿Desea continuar?', + deleteAndRevoke: 'Eliminar y revocar', create: 'Solicitar', provider: 'Tipo', manualCreate: 'Creado manualmente', diff --git a/frontend/src/lang/modules/fa.ts b/frontend/src/lang/modules/fa.ts index 21b6b02c03fa..047a96c71718 100644 --- a/frontend/src/lang/modules/fa.ts +++ b/frontend/src/lang/modules/fa.ts @@ -4141,6 +4141,8 @@ const message = { 'فعال‌سازی این گزینه می‌تواند از نشت گواهی جلوگیری کند، تنظیم یک وب‌سایت پیش‌فرض این تنظیم را بی‌اثر می‌کند', }, ssl: { + deleteConfirm: 'گواهی‌های زیر حذف خواهند شد. گواهی‌های ACME به‌طور خودکار باطل خواهند شد. آیا ادامه می‌دهید؟', + deleteAndRevoke: 'حذف و ابطال', create: 'درخواست', provider: 'نوع', manualCreate: 'ایجاد دستی', diff --git a/frontend/src/lang/modules/ja.ts b/frontend/src/lang/modules/ja.ts index 7b762169dd64..a962683fa12f 100644 --- a/frontend/src/lang/modules/ja.ts +++ b/frontend/src/lang/modules/ja.ts @@ -4163,6 +4163,8 @@ const message = { '有効にすると証明書の漏洩を防げますが、デフォルト Web サイトを設定するとこの設定は無効になります', }, ssl: { + deleteConfirm: '以下の証明書を削除します。ACME 証明書は自動的に失効されます。続行しますか?', + deleteAndRevoke: '削除して失効', create: 'リクエスト', provider: 'タイプ', manualCreate: '手動で作成されます', diff --git a/frontend/src/lang/modules/ko.ts b/frontend/src/lang/modules/ko.ts index df29a257b2d7..219de0ccc6b4 100644 --- a/frontend/src/lang/modules/ko.ts +++ b/frontend/src/lang/modules/ko.ts @@ -4086,6 +4086,8 @@ const message = { '활성화하면 인증서 누출을 방지할 수 있지만, 기본 웹사이트를 설정하면 이 설정이 무효화됩니다', }, ssl: { + deleteConfirm: '다음 인증서를 삭제합니다. ACME 인증서는 자동으로 폐기됩니다. 계속하시겠습니까?', + deleteAndRevoke: '삭제 및 폐기', create: '요청', provider: '유형', manualCreate: '수동 생성됨', diff --git a/frontend/src/lang/modules/lo.ts b/frontend/src/lang/modules/lo.ts index 18531a70deed..33521adc1a72 100644 --- a/frontend/src/lang/modules/lo.ts +++ b/frontend/src/lang/modules/lo.ts @@ -4058,6 +4058,8 @@ const message = { 'ການເປີດໃຊ້ສິ່ງນີ້ສາມາດຫຼີກລ່ຽງການຮົ່ວໄຫຼຂອງໃບຢັ້ງຢືນ, ແຕ່ການຕັ້ງເວັບໄຊເລີ່ມຕົ້ນຈະເຮັດໃຫ້ການຕັ້ງຄ່ານີ້ບໍ່ມີຜົນ', }, ssl: { + deleteConfirm: 'ຈະລຶບໃບຢັ້ງຢືນຕໍ່ໄປນີ້. ໃບຢັ້ງຢືນ ACME ຈະຖືກຖອນໂດຍອັດຕະໂນມັດ. ຕ້ອງການສືບຕໍ່ບໍ?', + deleteAndRevoke: 'ລຶບ ແລະ ຖອນ', create: 'ຮ້ອງຂໍ', provider: 'ປະເພດ', manualCreate: 'ສ້າງດ້ວຍຕົນເອງ', diff --git a/frontend/src/lang/modules/ms.ts b/frontend/src/lang/modules/ms.ts index 5826c02b8b57..4257c9ba0105 100644 --- a/frontend/src/lang/modules/ms.ts +++ b/frontend/src/lang/modules/ms.ts @@ -4240,6 +4240,8 @@ const message = { 'Mengaktifkan ini boleh mengelakkan kebocoran sijil, menetapkan laman web lalai akan membatalkan tetapan ini', }, ssl: { + deleteConfirm: 'Sijil berikut akan dipadamkan. Sijil ACME akan dibatalkan secara automatik. Teruskan?', + deleteAndRevoke: 'Padam dan batalkan', create: 'Permintaan', provider: 'Jenis', manualCreate: 'Dicipta secara manual', diff --git a/frontend/src/lang/modules/pt-br.ts b/frontend/src/lang/modules/pt-br.ts index 4788d4ae2d79..fd2e7c32ae21 100644 --- a/frontend/src/lang/modules/pt-br.ts +++ b/frontend/src/lang/modules/pt-br.ts @@ -4259,6 +4259,9 @@ const message = { 'Ativar isso pode evitar vazamento de certificados, definir um site padrão invalidará esta configuração', }, ssl: { + deleteConfirm: + 'Os certificados a seguir serão excluídos. Os certificados ACME serão revogados automaticamente. Continuar?', + deleteAndRevoke: 'Excluir e revogar', create: 'Solicitar', provider: 'Tipo', manualCreate: 'Criado manualmente', diff --git a/frontend/src/lang/modules/ru.ts b/frontend/src/lang/modules/ru.ts index 0d39c78ec120..db10154a2c58 100644 --- a/frontend/src/lang/modules/ru.ts +++ b/frontend/src/lang/modules/ru.ts @@ -4226,6 +4226,9 @@ const message = { 'Включение этого может предотвратить утечку сертификатов, установка веб-сайта по умолчанию сделает эту настройку недействительной', }, ssl: { + deleteConfirm: + 'Следующие сертификаты будут удалены. Сертификаты ACME будут автоматически отозваны. Продолжить?', + deleteAndRevoke: 'Удалить и отозвать', create: 'Запросить', provider: 'Тип', manualCreate: 'Создан вручную', diff --git a/frontend/src/lang/modules/tr.ts b/frontend/src/lang/modules/tr.ts index 0a8d112f22ee..5831096d7879 100644 --- a/frontend/src/lang/modules/tr.ts +++ b/frontend/src/lang/modules/tr.ts @@ -4244,6 +4244,9 @@ const message = { 'Etkinleştirilmesi sertifika sızıntısını önleyebilir, varsayılan bir web sitesi ayarlamak bu ayarı geçersiz kılar', }, ssl: { + deleteConfirm: + 'Aşağıdaki sertifikalar silinecek. ACME sertifikaları otomatik olarak iptal edilecek. Devam edilsin mi?', + deleteAndRevoke: 'Sil ve iptal et', create: 'İstek', provider: 'Tür', manualCreate: 'Manuel olarak oluşturuldu', diff --git a/frontend/src/lang/modules/zh-Hant.ts b/frontend/src/lang/modules/zh-Hant.ts index 217de952e5a1..36478850b611 100644 --- a/frontend/src/lang/modules/zh-Hant.ts +++ b/frontend/src/lang/modules/zh-Hant.ts @@ -3898,6 +3898,8 @@ const message = { sslRejectHandshakeHelper: '開啟之後可以避免憑證洩露,設置預設網站會讓此設置失效', }, ssl: { + deleteConfirm: '將對以下憑證進行 刪除 操作,ACME 類型憑證會被自動撤銷,是否繼續?', + deleteAndRevoke: '刪除並撤銷', create: '申請憑證', provider: '類型', manualCreate: '手動建立', diff --git a/frontend/src/lang/modules/zh.ts b/frontend/src/lang/modules/zh.ts index 181bada3ae39..78cd24251beb 100644 --- a/frontend/src/lang/modules/zh.ts +++ b/frontend/src/lang/modules/zh.ts @@ -3943,6 +3943,8 @@ const message = { sslRejectHandshakeHelper: '开启之后可以避免证书泄露,设置默认网站会让此设置失效', }, ssl: { + deleteConfirm: '将对以下证书进行 删除 操作,ACME类型证书会被自动吊销,是否继续?', + deleteAndRevoke: '删除并吊销', create: '申请证书', provider: '类型', manualCreate: '手动创建', diff --git a/frontend/src/views/website/ssl/index.vue b/frontend/src/views/website/ssl/index.vue index 24fba751a3ab..b24663279b14 100644 --- a/frontend/src/views/website/ssl/index.vue +++ b/frontend/src/views/website/ssl/index.vue @@ -304,6 +304,8 @@ const routerButton = [ }, ]; +const shouldRevokeSSL = (row: Website.SSLDTO) => ['dnsAccount', 'dnsManual', 'http'].includes(row.provider); + const buttons = [ { label: i18n.global.t('ssl.detail'), @@ -379,6 +381,15 @@ const buttons = [ click: function (row: Website.SSLDTO) { deletessl(row); }, + show: (row: Website.SSLDTO) => !shouldRevokeSSL(row), + }, + { + label: i18n.global.t('ssl.deleteAndRevoke'), + permission: true, + click: function (row: Website.SSLDTO) { + deletessl(row); + }, + show: shouldRevokeSSL, }, ]; @@ -532,9 +543,13 @@ const applySSL = (row: Website.SSLDTO) => { }; const deletessl = async (row: any) => { + const isBatch = row == null; + const deleteLabel = i18n.global.t( + !isBatch && shouldRevokeSSL(row) ? 'ssl.deleteAndRevoke' : 'commons.button.delete', + ); let names = []; let params = {}; - if (row == null) { + if (isBatch) { names = selects.value.map((item: Website.SSLDTO) => item.primaryDomain); params = { ids: selects.value.map((item: Website.SSLDTO) => item.id) }; } else { @@ -543,12 +558,11 @@ const deletessl = async (row: any) => { } opRef.value.acceptParams({ - title: i18n.global.t('commons.button.delete'), + title: deleteLabel, names: names, - msg: i18n.global.t('commons.msg.operatorHelper', [ - i18n.global.t('website.ssl'), - i18n.global.t('commons.button.delete'), - ]), + msg: isBatch + ? i18n.global.t('ssl.deleteConfirm') + : i18n.global.t('commons.msg.operatorHelper', [i18n.global.t('website.ssl'), deleteLabel]), api: deleteSSL, params: params, });