浏览代码

enhance(site): notification of sync

Jacky 6 月之前
父节点
当前提交
2ee057a857

+ 67 - 2
app/src/components/Notification/config.ts

@@ -8,7 +8,7 @@ export function syncConfigError(text: string) {
   const data = JSON.parse(text)
 
   if (data.status_code === 404) {
-    return $gettext('Sync config %{config_name} to %{env_name} failed, please upgrade the remote Nginx UI to the latest version', { config_name: data.config_name, env_name: data.env_name }, true)
+    return $gettext('Please upgrade the remote Nginx UI to the latest version')
   }
 
   return $gettext('Sync config %{config_name} to %{env_name} failed, response: %{resp}', { config_name: data.cert_name, env_name: data.env_name, resp: data.resp_body }, true)
@@ -24,8 +24,73 @@ export function syncRenameConfigError(text: string) {
   const data = JSON.parse(text)
 
   if (data.status_code === 404) {
-    return $gettext('Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade the remote Nginx UI to the latest version', { orig_path: data.orig_path, new_path: data.orig_path, env_name: data.env_name }, true)
+    return $gettext('Please upgrade the remote Nginx UI to the latest version')
   }
 
   return $gettext('Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}', { orig_path: data.orig_path, new_path: data.orig_path, resp: data.resp_body, env_name: data.env_name }, true)
 }
+
+export function saveSiteSuccess(text: string) {
+  const data = JSON.parse(text)
+  return $gettext('Save Site %{site} to %{node} successfully', { site: data.site, node: data.node })
+}
+
+export function saveSiteError(text: string) {
+  const data = JSON.parse(text)
+  if (data.status_code === 404) {
+    return $gettext('Please upgrade the remote Nginx UI to the latest version')
+  }
+  return $gettext('Save site %{site} to %{node} error, response: %{resp}', { site: data.name, node: data.node, resp: JSON.stringify(data.response) }, true)
+}
+
+export function deleteSiteSuccess(text: string) {
+  const data = JSON.parse(text)
+  return $gettext('Remove Site %{site} from %{node} successfully', { site: data.name, node: data.node })
+}
+
+export function deleteSiteError(text: string) {
+  const data = JSON.parse(text)
+  if (data.status_code === 404) {
+    return $gettext('Please upgrade the remote Nginx UI to the latest version')
+  }
+  return $gettext('Remove site %{site} from %{node} error, response: %{resp}', { site: data.name, node: data.node, resp: JSON.stringify(data.response) }, true)
+}
+
+export function enableSiteSuccess(text: string) {
+  const data = JSON.parse(text)
+  return $gettext('Enable Site %{site} on %{node} successfully', { site: data.name, node: data.node })
+}
+
+export function enableSiteError(text: string) {
+  const data = JSON.parse(text)
+  if (data.status_code === 404) {
+    return $gettext('Please upgrade the remote Nginx UI to the latest version')
+  }
+  return $gettext('Enable site %{site} on %{node} error, response: %{resp}', { site: data.name, node: data.node, resp: JSON.stringify(data.response) }, true)
+}
+
+export function disableSiteSuccess(text: string) {
+  const data = JSON.parse(text)
+  return $gettext('Disable Site %{site} on %{node} successfully', { site: data.name, node: data.node })
+}
+
+export function disableSiteError(text: string) {
+  const data = JSON.parse(text)
+  if (data.status_code === 404) {
+    return $gettext('Please upgrade the remote Nginx UI to the latest version')
+  }
+  return $gettext('Disable site %{site} on %{node} error, response: %{resp}', { site: data.name, node: data.node, resp: JSON.stringify(data.response) }, true)
+}
+
+export function renameSiteSuccess(text: string) {
+  const data = JSON.parse(text)
+  return $gettext('Rename Site %{site} to %{new_site} on %{node} successfully', { site: data.name, new_site: data.new_name, node: data.node })
+}
+
+export function renameSiteError(text: string) {
+  const data = JSON.parse(text)
+  if (data.status_code === 404) {
+    return $gettext('Please upgrade the remote Nginx UI to the latest version')
+  }
+  return $gettext('Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}', { site: data.name, new_site: data.new_name, node: data.node, resp: JSON.stringify(data.response) }, true)
+}

+ 32 - 0
app/src/components/Notification/detailRender.ts

@@ -1,6 +1,16 @@
 import type { CustomRenderProps } from '@/components/StdDesign/StdDataDisplay/StdTableTransformer'
 import { syncCertificateError, syncCertificateSuccess } from '@/components/Notification/cert'
 import {
+  deleteSiteError,
+  deleteSiteSuccess,
+  disableSiteError,
+  disableSiteSuccess,
+  enableSiteError,
+  enableSiteSuccess,
+  renameSiteError,
+  renameSiteSuccess,
+  saveSiteError,
+  saveSiteSuccess,
   syncConfigError,
   syncConfigSuccess,
   syncRenameConfigError,
@@ -17,6 +27,28 @@ export function detailRender(args: CustomRenderProps) {
       return syncRenameConfigSuccess(args.text)
     case 'Rename Remote Config Error':
       return syncRenameConfigError(args.text)
+
+    case 'Save Remote Site Success':
+      return saveSiteSuccess(args.text)
+    case 'Save Remote Site Error':
+      return saveSiteError(args.text)
+    case 'Delete Remote Site Success':
+      return deleteSiteSuccess(args.text)
+    case 'Delete Remote Site Error':
+      return deleteSiteError(args.text)
+    case 'Enable Remote Site Success':
+      return enableSiteSuccess(args.text)
+    case 'Enable Remote Site Error':
+      return enableSiteError(args.text)
+    case 'Disable Remote Site Success':
+      return disableSiteSuccess(args.text)
+    case 'Disable Remote Site Error':
+      return disableSiteError(args.text)
+    case 'Rename Remote Site Success':
+      return renameSiteSuccess(args.text)
+    case 'Rename Remote Site Error':
+      return renameSiteError(args.text)
+
     case 'Sync Config Success':
       return syncConfigSuccess(args.text)
     case 'Sync Config Error':

+ 11 - 0
app/src/language/constants.ts

@@ -42,4 +42,15 @@ export const msg = [
 
   $gettext('Sync Config Success'),
   $gettext('Sync Config Error'),
+
+  $gettext('Save Remote Site Success'),
+  $gettext('Save Remote Site Error'),
+  $gettext('Delete Remote Site Success'),
+  $gettext('Delete Remote Site Error'),
+  $gettext('Disable Remote Site Success'),
+  $gettext('Disable Remote Site Error'),
+  $gettext('Enable Remote Site Success'),
+  $gettext('Enable Remote Site Error'),
+  $gettext('Rename Remote Site Success'),
+  $gettext('Rename Remote Site Error'),
 ]

+ 117 - 14
app/src/language/en/app.po

@@ -549,6 +549,16 @@ msgstr ""
 msgid "Delete Permanently"
 msgstr ""
 
+#: src/language/constants.ts:49
+#, fuzzy
+msgid "Delete Remote Site Error"
+msgstr "Certificate is valid"
+
+#: src/language/constants.ts:48
+#, fuzzy
+msgid "Delete Remote Site Success"
+msgstr "Certificate is valid"
+
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgstr ""
@@ -617,6 +627,26 @@ msgstr "Disabled"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "Disable auto-renewal failed for %{name}"
 
+#: src/language/constants.ts:51
+#, fuzzy
+msgid "Disable Remote Site Error"
+msgstr "Certificate is valid"
+
+#: src/language/constants.ts:50
+#, fuzzy
+msgid "Disable Remote Site Success"
+msgstr "Certificate is valid"
+
+#: src/components/Notification/config.ts:82
+#, fuzzy
+msgid "Disable site %{site} on %{node} error, response: %{resp}"
+msgstr "Saved successfully"
+
+#: src/components/Notification/config.ts:74
+#, fuzzy
+msgid "Disable Site %{site} on %{node} successfully"
+msgstr "Saved successfully"
+
 #: src/views/environment/envColumns.tsx:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
@@ -813,6 +843,26 @@ msgstr "Enable auto-renewal failed for %{name}"
 msgid "Enable failed"
 msgstr "Enable failed"
 
+#: src/language/constants.ts:53
+#, fuzzy
+msgid "Enable Remote Site Error"
+msgstr "Certificate is valid"
+
+#: src/language/constants.ts:52
+#, fuzzy
+msgid "Enable Remote Site Success"
+msgstr "Certificate is valid"
+
+#: src/components/Notification/config.ts:69
+#, fuzzy
+msgid "Enable site %{site} on %{node} error, response: %{resp}"
+msgstr "Saved successfully"
+
+#: src/components/Notification/config.ts:61
+#, fuzzy
+msgid "Enable Site %{site} on %{node} successfully"
+msgstr "Saved successfully"
+
 #: src/views/stream/components/Deploy.vue:41
 #, fuzzy
 msgid "Enable successfully"
@@ -1711,6 +1761,17 @@ msgstr ""
 msgid "Please select at least one node!"
 msgstr ""
 
+#: src/components/Notification/config.ts:11
+#: src/components/Notification/config.ts:27
+#: src/components/Notification/config.ts:41
+#: src/components/Notification/config.ts:54
+#: src/components/Notification/config.ts:67
+#: src/components/Notification/config.ts:80
+#: src/components/Notification/config.ts:93
+#, fuzzy
+msgid "Please upgrade the remote Nginx UI to the latest version"
+msgstr "Saved successfully"
+
 #: src/views/environment/BatchUpgrader.vue:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
@@ -1849,6 +1910,16 @@ msgstr ""
 msgid "Remove"
 msgstr ""
 
+#: src/components/Notification/config.ts:56
+#, fuzzy
+msgid "Remove site %{site} from %{node} error, response: %{resp}"
+msgstr "Saved successfully"
+
+#: src/components/Notification/config.ts:48
+#, fuzzy
+msgid "Remove Site %{site} from %{node} successfully"
+msgstr "Saved successfully"
+
 #: src/views/preference/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 #, fuzzy
@@ -1868,13 +1939,6 @@ msgstr "Saved successfully"
 msgid "Rename"
 msgstr "Username"
 
-#: src/components/Notification/config.ts:27
-#, fuzzy
-msgid ""
-"Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade the "
-"remote Nginx UI to the latest version"
-msgstr "Saved successfully"
-
 #: src/components/Notification/config.ts:30
 #, fuzzy
 msgid ""
@@ -1896,6 +1960,26 @@ msgstr "Certificate is valid"
 msgid "Rename Remote Config Success"
 msgstr "Certificate is valid"
 
+#: src/language/constants.ts:55
+#, fuzzy
+msgid "Rename Remote Site Error"
+msgstr "Certificate is valid"
+
+#: src/language/constants.ts:54
+#, fuzzy
+msgid "Rename Remote Site Success"
+msgstr "Certificate is valid"
+
+#: src/components/Notification/config.ts:95
+#, fuzzy
+msgid "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}"
+msgstr "Saved successfully"
+
+#: src/components/Notification/config.ts:87
+#, fuzzy
+msgid "Rename Site %{site} to %{new_site} on %{node} successfully"
+msgstr "Saved successfully"
+
 #: src/views/config/components/Rename.vue:41
 #, fuzzy
 msgid "Rename successfully"
@@ -1992,6 +2076,26 @@ msgstr "Save Directive"
 msgid "Save error %{msg}"
 msgstr "Save error %{msg}"
 
+#: src/language/constants.ts:47
+#, fuzzy
+msgid "Save Remote Site Error"
+msgstr "Certificate is valid"
+
+#: src/language/constants.ts:46
+#, fuzzy
+msgid "Save Remote Site Success"
+msgstr "Certificate is valid"
+
+#: src/components/Notification/config.ts:43
+#, fuzzy
+msgid "Save site %{site} to %{node} error, response: %{resp}"
+msgstr "Saved successfully"
+
+#: src/components/Notification/config.ts:35
+#, fuzzy
+msgid "Save Site %{site} to %{node} successfully"
+msgstr "Saved successfully"
+
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2209,13 +2313,6 @@ msgstr "Certificate is valid"
 msgid "Sync Certificate Success"
 msgstr "Certificate is valid"
 
-#: src/components/Notification/config.ts:11
-#, fuzzy
-msgid ""
-"Sync config %{config_name} to %{env_name} failed, please upgrade the remote "
-"Nginx UI to the latest version"
-msgstr "Saved successfully"
-
 #: src/components/Notification/config.ts:14
 #, fuzzy
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
@@ -2648,6 +2745,12 @@ msgstr ""
 msgid "Your passkeys"
 msgstr ""
 
+#, fuzzy
+#~ msgid ""
+#~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade "
+#~ "the remote Nginx UI to the latest version"
+#~ msgstr "Saved successfully"
+
 #, fuzzy
 #~ msgid "File not found"
 #~ msgstr "File Not Found"

+ 123 - 18
app/src/language/es/app.po

@@ -533,6 +533,16 @@ msgstr "Eliminar"
 msgid "Delete Permanently"
 msgstr "Eliminar Permanentemente"
 
+#: src/language/constants.ts:49
+#, fuzzy
+msgid "Delete Remote Site Error"
+msgstr "Error al renombrar la configuración remota"
+
+#: src/language/constants.ts:48
+#, fuzzy
+msgid "Delete Remote Site Success"
+msgstr "Renombrar Configuración Remota Exitosa"
+
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgstr "Eliminar sitio: %{site_name}"
@@ -597,6 +607,26 @@ msgstr "Desactivar"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "No se pudo desactivar la renovación automática por %{name}"
 
+#: src/language/constants.ts:51
+#, fuzzy
+msgid "Disable Remote Site Error"
+msgstr "Error al renombrar la configuración remota"
+
+#: src/language/constants.ts:50
+#, fuzzy
+msgid "Disable Remote Site Success"
+msgstr "Renombrar Configuración Remota Exitosa"
+
+#: src/components/Notification/config.ts:82
+#, fuzzy
+msgid "Disable site %{site} on %{node} error, response: %{resp}"
+msgstr "Habilitado exitoso de %{conf_name} en %{node_name}"
+
+#: src/components/Notification/config.ts:74
+#, fuzzy
+msgid "Disable Site %{site} on %{node} successfully"
+msgstr "Habilitado exitoso de %{conf_name} en %{node_name}"
+
 #: src/views/environment/envColumns.tsx:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
@@ -779,6 +809,26 @@ msgstr "No se pudo activar la renovación automática por %{name}"
 msgid "Enable failed"
 msgstr "Falló la habilitación"
 
+#: src/language/constants.ts:53
+#, fuzzy
+msgid "Enable Remote Site Error"
+msgstr "Error al renombrar la configuración remota"
+
+#: src/language/constants.ts:52
+#, fuzzy
+msgid "Enable Remote Site Success"
+msgstr "Renombrar Configuración Remota Exitosa"
+
+#: src/components/Notification/config.ts:69
+#, fuzzy
+msgid "Enable site %{site} on %{node} error, response: %{resp}"
+msgstr "Habilitado exitoso de %{conf_name} en %{node_name}"
+
+#: src/components/Notification/config.ts:61
+#, fuzzy
+msgid "Enable Site %{site} on %{node} successfully"
+msgstr "Habilitado exitoso de %{conf_name} en %{node_name}"
+
 #: src/views/stream/components/Deploy.vue:41
 msgid "Enable successfully"
 msgstr "Habilitado con Éxito"
@@ -1670,6 +1720,20 @@ msgstr "¡Seleccione al menos un nodo!"
 msgid "Please select at least one node!"
 msgstr "¡Seleccione al menos un nodo!"
 
+#: src/components/Notification/config.ts:11
+#: src/components/Notification/config.ts:27
+#: src/components/Notification/config.ts:41
+#: src/components/Notification/config.ts:54
+#: src/components/Notification/config.ts:67
+#: src/components/Notification/config.ts:80
+#: src/components/Notification/config.ts:93
+#, fuzzy
+msgid "Please upgrade the remote Nginx UI to the latest version"
+msgstr ""
+"Sincronización de la configuración %{cert_name} a %{env_name} falló, por "
+"favor actualiza la interfaz de usuario de Nginx en el servidor remoto a la "
+"última versión"
+
 #: src/views/environment/BatchUpgrader.vue:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
@@ -1805,6 +1869,16 @@ msgstr "Recargando Nginx"
 msgid "Remove"
 msgstr "Eliminar"
 
+#: src/components/Notification/config.ts:56
+#, fuzzy
+msgid "Remove site %{site} from %{node} error, response: %{resp}"
+msgstr "Eliminar sitio: %{site_name}"
+
+#: src/components/Notification/config.ts:48
+#, fuzzy
+msgid "Remove Site %{site} from %{node} successfully"
+msgstr "Duplicado con éxito de %{conf_name} a %{node_name}"
+
 #: src/views/preference/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 msgid "Remove successfully"
@@ -1821,14 +1895,6 @@ msgstr "Eliminado con éxito"
 msgid "Rename"
 msgstr "Renombrar"
 
-#: src/components/Notification/config.ts:27
-msgid ""
-"Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade the "
-"remote Nginx UI to the latest version"
-msgstr ""
-"Renombrar %{orig_path} a %{new_path} en %{env_name} fallido, por favor "
-"actualice la interfaz de Nginx remota a la última versión"
-
 #: src/components/Notification/config.ts:30
 msgid ""
 "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
@@ -1847,6 +1913,26 @@ msgstr "Error al renombrar la configuración remota"
 msgid "Rename Remote Config Success"
 msgstr "Renombrar Configuración Remota Exitosa"
 
+#: src/language/constants.ts:55
+#, fuzzy
+msgid "Rename Remote Site Error"
+msgstr "Error al renombrar la configuración remota"
+
+#: src/language/constants.ts:54
+#, fuzzy
+msgid "Rename Remote Site Success"
+msgstr "Renombrar Configuración Remota Exitosa"
+
+#: src/components/Notification/config.ts:95
+#, fuzzy
+msgid "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}"
+msgstr "Renombrar %{orig_path} a %{new_path} en %{env_name} con éxito"
+
+#: src/components/Notification/config.ts:87
+#, fuzzy
+msgid "Rename Site %{site} to %{new_site} on %{node} successfully"
+msgstr "Renombrar %{orig_path} a %{new_path} en %{env_name} con éxito"
+
 #: src/views/config/components/Rename.vue:41
 msgid "Rename successfully"
 msgstr "Renombrado con éxito"
@@ -1937,6 +2023,28 @@ msgstr "Guardar Directiva"
 msgid "Save error %{msg}"
 msgstr "Error al guardar %{msg}"
 
+#: src/language/constants.ts:47
+#, fuzzy
+msgid "Save Remote Site Error"
+msgstr "Error al renombrar la configuración remota"
+
+#: src/language/constants.ts:46
+#, fuzzy
+msgid "Save Remote Site Success"
+msgstr "Renombrar Configuración Remota Exitosa"
+
+#: src/components/Notification/config.ts:43
+#, fuzzy
+msgid "Save site %{site} to %{node} error, response: %{resp}"
+msgstr ""
+"Sincronización del Certificado %{cert_name} a %{env_name} falló, respuesta: "
+"%{resp}"
+
+#: src/components/Notification/config.ts:35
+#, fuzzy
+msgid "Save Site %{site} to %{node} successfully"
+msgstr "Duplicado con éxito de %{conf_name} a %{node_name}"
+
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2148,16 +2256,6 @@ msgstr "Error de Certificado de Sincronización"
 msgid "Sync Certificate Success"
 msgstr "Sincronización del Certificado exitosa"
 
-#: src/components/Notification/config.ts:11
-#, fuzzy
-msgid ""
-"Sync config %{config_name} to %{env_name} failed, please upgrade the remote "
-"Nginx UI to the latest version"
-msgstr ""
-"Sincronización de la configuración %{cert_name} a %{env_name} falló, por "
-"favor actualiza la interfaz de usuario de Nginx en el servidor remoto a la "
-"última versión"
-
 #: src/components/Notification/config.ts:14
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgstr ""
@@ -2612,6 +2710,13 @@ msgstr ""
 msgid "Your passkeys"
 msgstr ""
 
+#~ msgid ""
+#~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade "
+#~ "the remote Nginx UI to the latest version"
+#~ msgstr ""
+#~ "Renombrar %{orig_path} a %{new_path} en %{env_name} fallido, por favor "
+#~ "actualice la interfaz de Nginx remota a la última versión"
+
 #~ msgid "File not found"
 #~ msgstr "Archivo no Encontrado"
 

+ 117 - 14
app/src/language/fr_FR/app.po

@@ -550,6 +550,16 @@ msgstr "Supprimer"
 msgid "Delete Permanently"
 msgstr ""
 
+#: src/language/constants.ts:49
+#, fuzzy
+msgid "Delete Remote Site Error"
+msgstr "Changer de certificat"
+
+#: src/language/constants.ts:48
+#, fuzzy
+msgid "Delete Remote Site Success"
+msgstr "Changer de certificat"
+
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgstr "Supprimer le site : %{site_name}"
@@ -619,6 +629,26 @@ msgstr "Désactivé"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "La désactivation du renouvellement automatique a échoué pour %{name}"
 
+#: src/language/constants.ts:51
+#, fuzzy
+msgid "Disable Remote Site Error"
+msgstr "Changer de certificat"
+
+#: src/language/constants.ts:50
+#, fuzzy
+msgid "Disable Remote Site Success"
+msgstr "Changer de certificat"
+
+#: src/components/Notification/config.ts:82
+#, fuzzy
+msgid "Disable site %{site} on %{node} error, response: %{resp}"
+msgstr "Dupliqué avec succès"
+
+#: src/components/Notification/config.ts:74
+#, fuzzy
+msgid "Disable Site %{site} on %{node} successfully"
+msgstr "Dupliqué avec succès"
+
 #: src/views/environment/envColumns.tsx:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
@@ -814,6 +844,26 @@ msgstr "Échec de l'activation du renouvellement automatique pour %{name}"
 msgid "Enable failed"
 msgstr "Échec de l'activation"
 
+#: src/language/constants.ts:53
+#, fuzzy
+msgid "Enable Remote Site Error"
+msgstr "Changer de certificat"
+
+#: src/language/constants.ts:52
+#, fuzzy
+msgid "Enable Remote Site Success"
+msgstr "Changer de certificat"
+
+#: src/components/Notification/config.ts:69
+#, fuzzy
+msgid "Enable site %{site} on %{node} error, response: %{resp}"
+msgstr "Dupliqué avec succès"
+
+#: src/components/Notification/config.ts:61
+#, fuzzy
+msgid "Enable Site %{site} on %{node} successfully"
+msgstr "Dupliqué avec succès"
+
 #: src/views/stream/components/Deploy.vue:41
 #, fuzzy
 msgid "Enable successfully"
@@ -1721,6 +1771,17 @@ msgstr ""
 msgid "Please select at least one node!"
 msgstr ""
 
+#: src/components/Notification/config.ts:11
+#: src/components/Notification/config.ts:27
+#: src/components/Notification/config.ts:41
+#: src/components/Notification/config.ts:54
+#: src/components/Notification/config.ts:67
+#: src/components/Notification/config.ts:80
+#: src/components/Notification/config.ts:93
+#, fuzzy
+msgid "Please upgrade the remote Nginx UI to the latest version"
+msgstr "Dupliqué avec succès"
+
 #: src/views/environment/BatchUpgrader.vue:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
@@ -1864,6 +1925,16 @@ msgstr "Rechargement de nginx"
 msgid "Remove"
 msgstr ""
 
+#: src/components/Notification/config.ts:56
+#, fuzzy
+msgid "Remove site %{site} from %{node} error, response: %{resp}"
+msgstr "Supprimer le site : %{site_name}"
+
+#: src/components/Notification/config.ts:48
+#, fuzzy
+msgid "Remove Site %{site} from %{node} successfully"
+msgstr "Dupliqué avec succès"
+
 #: src/views/preference/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 #, fuzzy
@@ -1883,13 +1954,6 @@ msgstr "Enregistré avec succès"
 msgid "Rename"
 msgstr "Nom d'utilisateur"
 
-#: src/components/Notification/config.ts:27
-#, fuzzy
-msgid ""
-"Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade the "
-"remote Nginx UI to the latest version"
-msgstr "Dupliqué avec succès"
-
 #: src/components/Notification/config.ts:30
 #, fuzzy
 msgid ""
@@ -1911,6 +1975,26 @@ msgstr "Changer de certificat"
 msgid "Rename Remote Config Success"
 msgstr "Changer de certificat"
 
+#: src/language/constants.ts:55
+#, fuzzy
+msgid "Rename Remote Site Error"
+msgstr "Changer de certificat"
+
+#: src/language/constants.ts:54
+#, fuzzy
+msgid "Rename Remote Site Success"
+msgstr "Changer de certificat"
+
+#: src/components/Notification/config.ts:95
+#, fuzzy
+msgid "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}"
+msgstr "Dupliqué avec succès"
+
+#: src/components/Notification/config.ts:87
+#, fuzzy
+msgid "Rename Site %{site} to %{new_site} on %{node} successfully"
+msgstr "Dupliqué avec succès"
+
 #: src/views/config/components/Rename.vue:41
 #, fuzzy
 msgid "Rename successfully"
@@ -2007,6 +2091,26 @@ msgstr "Enregistrer la directive"
 msgid "Save error %{msg}"
 msgstr "Enregistrer l'erreur %{msg}"
 
+#: src/language/constants.ts:47
+#, fuzzy
+msgid "Save Remote Site Error"
+msgstr "Changer de certificat"
+
+#: src/language/constants.ts:46
+#, fuzzy
+msgid "Save Remote Site Success"
+msgstr "Changer de certificat"
+
+#: src/components/Notification/config.ts:43
+#, fuzzy
+msgid "Save site %{site} to %{node} error, response: %{resp}"
+msgstr "Dupliqué avec succès"
+
+#: src/components/Notification/config.ts:35
+#, fuzzy
+msgid "Save Site %{site} to %{node} successfully"
+msgstr "Dupliqué avec succès"
+
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2223,13 +2327,6 @@ msgstr "Changer de certificat"
 msgid "Sync Certificate Success"
 msgstr "Changer de certificat"
 
-#: src/components/Notification/config.ts:11
-#, fuzzy
-msgid ""
-"Sync config %{config_name} to %{env_name} failed, please upgrade the remote "
-"Nginx UI to the latest version"
-msgstr "Dupliqué avec succès"
-
 #: src/components/Notification/config.ts:14
 #, fuzzy
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
@@ -2671,6 +2768,12 @@ msgstr ""
 msgid "Your passkeys"
 msgstr ""
 
+#, fuzzy
+#~ msgid ""
+#~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade "
+#~ "the remote Nginx UI to the latest version"
+#~ msgstr "Dupliqué avec succès"
+
 #, fuzzy
 #~ msgid "File not found"
 #~ msgstr "Fichier introuvable"

+ 117 - 14
app/src/language/ko_KR/app.po

@@ -529,6 +529,16 @@ msgstr "삭제"
 msgid "Delete Permanently"
 msgstr ""
 
+#: src/language/constants.ts:49
+#, fuzzy
+msgid "Delete Remote Site Error"
+msgstr "인증서 갱신 오류"
+
+#: src/language/constants.ts:48
+#, fuzzy
+msgid "Delete Remote Site Success"
+msgstr "인증서 갱신 성공"
+
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgstr "사이트 삭제: %{site_name}"
@@ -593,6 +603,26 @@ msgstr "비활성화"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "%{name}의 자동 갱신 비활성화 실패"
 
+#: src/language/constants.ts:51
+#, fuzzy
+msgid "Disable Remote Site Error"
+msgstr "인증서 갱신 오류"
+
+#: src/language/constants.ts:50
+#, fuzzy
+msgid "Disable Remote Site Success"
+msgstr "인증서 갱신 성공"
+
+#: src/components/Notification/config.ts:82
+#, fuzzy
+msgid "Disable site %{site} on %{node} error, response: %{resp}"
+msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨"
+
+#: src/components/Notification/config.ts:74
+#, fuzzy
+msgid "Disable Site %{site} on %{node} successfully"
+msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨"
+
 #: src/views/environment/envColumns.tsx:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
@@ -777,6 +807,26 @@ msgstr "%{name}에 대한 자동 갱신 활성화 실패"
 msgid "Enable failed"
 msgstr "활성화 실패"
 
+#: src/language/constants.ts:53
+#, fuzzy
+msgid "Enable Remote Site Error"
+msgstr "인증서 갱신 오류"
+
+#: src/language/constants.ts:52
+#, fuzzy
+msgid "Enable Remote Site Success"
+msgstr "인증서 갱신 성공"
+
+#: src/components/Notification/config.ts:69
+#, fuzzy
+msgid "Enable site %{site} on %{node} error, response: %{resp}"
+msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨"
+
+#: src/components/Notification/config.ts:61
+#, fuzzy
+msgid "Enable Site %{site} on %{node} successfully"
+msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨"
+
 #: src/views/stream/components/Deploy.vue:41
 msgid "Enable successfully"
 msgstr "성공적으로 활성화"
@@ -1686,6 +1736,17 @@ msgstr "적어도 하나의 노드를 선택해주세요!"
 msgid "Please select at least one node!"
 msgstr "적어도 하나의 노드를 선택해주세요!"
 
+#: src/components/Notification/config.ts:11
+#: src/components/Notification/config.ts:27
+#: src/components/Notification/config.ts:41
+#: src/components/Notification/config.ts:54
+#: src/components/Notification/config.ts:67
+#: src/components/Notification/config.ts:80
+#: src/components/Notification/config.ts:93
+#, fuzzy
+msgid "Please upgrade the remote Nginx UI to the latest version"
+msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함"
+
 #: src/views/environment/BatchUpgrader.vue:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
@@ -1828,6 +1889,16 @@ msgstr "Nginx 리로딩 중"
 msgid "Remove"
 msgstr ""
 
+#: src/components/Notification/config.ts:56
+#, fuzzy
+msgid "Remove site %{site} from %{node} error, response: %{resp}"
+msgstr "사이트 삭제: %{site_name}"
+
+#: src/components/Notification/config.ts:48
+#, fuzzy
+msgid "Remove Site %{site} from %{node} successfully"
+msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함"
+
 #: src/views/preference/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 #, fuzzy
@@ -1847,13 +1918,6 @@ msgstr "성공적으로 제거됨"
 msgid "Rename"
 msgstr "이름 변경"
 
-#: src/components/Notification/config.ts:27
-#, fuzzy
-msgid ""
-"Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade the "
-"remote Nginx UI to the latest version"
-msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함"
-
 #: src/components/Notification/config.ts:30
 #, fuzzy
 msgid ""
@@ -1875,6 +1939,26 @@ msgstr "인증서 갱신 오류"
 msgid "Rename Remote Config Success"
 msgstr "인증서 갱신 성공"
 
+#: src/language/constants.ts:55
+#, fuzzy
+msgid "Rename Remote Site Error"
+msgstr "인증서 갱신 오류"
+
+#: src/language/constants.ts:54
+#, fuzzy
+msgid "Rename Remote Site Success"
+msgstr "인증서 갱신 성공"
+
+#: src/components/Notification/config.ts:95
+#, fuzzy
+msgid "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}"
+msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함"
+
+#: src/components/Notification/config.ts:87
+#, fuzzy
+msgid "Rename Site %{site} to %{new_site} on %{node} successfully"
+msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함"
+
 #: src/views/config/components/Rename.vue:41
 #, fuzzy
 msgid "Rename successfully"
@@ -1972,6 +2056,26 @@ msgstr "지시문 저장"
 msgid "Save error %{msg}"
 msgstr "저장 오류 %{msg}"
 
+#: src/language/constants.ts:47
+#, fuzzy
+msgid "Save Remote Site Error"
+msgstr "인증서 갱신 오류"
+
+#: src/language/constants.ts:46
+#, fuzzy
+msgid "Save Remote Site Success"
+msgstr "인증서 갱신 성공"
+
+#: src/components/Notification/config.ts:43
+#, fuzzy
+msgid "Save site %{site} to %{node} error, response: %{resp}"
+msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함"
+
+#: src/components/Notification/config.ts:35
+#, fuzzy
+msgid "Save Site %{site} to %{node} successfully"
+msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함"
+
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2188,13 +2292,6 @@ msgstr "인증서 갱신 오류"
 msgid "Sync Certificate Success"
 msgstr "인증서 갱신 성공"
 
-#: src/components/Notification/config.ts:11
-#, fuzzy
-msgid ""
-"Sync config %{config_name} to %{env_name} failed, please upgrade the remote "
-"Nginx UI to the latest version"
-msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함"
-
 #: src/components/Notification/config.ts:14
 #, fuzzy
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
@@ -2640,6 +2737,12 @@ msgstr ""
 msgid "Your passkeys"
 msgstr ""
 
+#, fuzzy
+#~ msgid ""
+#~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade "
+#~ "the remote Nginx UI to the latest version"
+#~ msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함"
+
 #, fuzzy
 #~ msgid "File not found"
 #~ msgstr "파일을 찾을 수 없음"

+ 90 - 8
app/src/language/messages.pot

@@ -520,6 +520,14 @@ msgstr ""
 msgid "Delete Permanently"
 msgstr ""
 
+#: src/language/constants.ts:49
+msgid "Delete Remote Site Error"
+msgstr ""
+
+#: src/language/constants.ts:48
+msgid "Delete Remote Site Success"
+msgstr ""
+
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgstr ""
@@ -584,6 +592,22 @@ msgstr ""
 msgid "Disable auto-renewal failed for %{name}"
 msgstr ""
 
+#: src/language/constants.ts:51
+msgid "Disable Remote Site Error"
+msgstr ""
+
+#: src/language/constants.ts:50
+msgid "Disable Remote Site Success"
+msgstr ""
+
+#: src/components/Notification/config.ts:82
+msgid "Disable site %{site} on %{node} error, response: %{resp}"
+msgstr ""
+
+#: src/components/Notification/config.ts:74
+msgid "Disable Site %{site} on %{node} successfully"
+msgstr ""
+
 #: src/views/environment/envColumns.tsx:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
@@ -767,6 +791,22 @@ msgstr ""
 msgid "Enable failed"
 msgstr ""
 
+#: src/language/constants.ts:53
+msgid "Enable Remote Site Error"
+msgstr ""
+
+#: src/language/constants.ts:52
+msgid "Enable Remote Site Success"
+msgstr ""
+
+#: src/components/Notification/config.ts:69
+msgid "Enable site %{site} on %{node} error, response: %{resp}"
+msgstr ""
+
+#: src/components/Notification/config.ts:61
+msgid "Enable Site %{site} on %{node} successfully"
+msgstr ""
+
 #: src/views/stream/components/Deploy.vue:41
 msgid "Enable successfully"
 msgstr ""
@@ -1610,6 +1650,16 @@ msgstr ""
 msgid "Please select at least one node!"
 msgstr ""
 
+#: src/components/Notification/config.ts:11
+#: src/components/Notification/config.ts:27
+#: src/components/Notification/config.ts:41
+#: src/components/Notification/config.ts:54
+#: src/components/Notification/config.ts:67
+#: src/components/Notification/config.ts:80
+#: src/components/Notification/config.ts:93
+msgid "Please upgrade the remote Nginx UI to the latest version"
+msgstr ""
+
 #: src/views/environment/BatchUpgrader.vue:169
 #: src/views/environment/BatchUpgrader.vue:222
 #: src/views/system/Upgrade.vue:195
@@ -1742,6 +1792,14 @@ msgstr ""
 msgid "Remove"
 msgstr ""
 
+#: src/components/Notification/config.ts:56
+msgid "Remove site %{site} from %{node} error, response: %{resp}"
+msgstr ""
+
+#: src/components/Notification/config.ts:48
+msgid "Remove Site %{site} from %{node} successfully"
+msgstr ""
+
 #: src/views/preference/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 msgid "Remove successfully"
@@ -1758,10 +1816,6 @@ msgstr ""
 msgid "Rename"
 msgstr ""
 
-#: src/components/Notification/config.ts:27
-msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade the remote Nginx UI to the latest version"
-msgstr ""
-
 #: src/components/Notification/config.ts:30
 msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
 msgstr ""
@@ -1778,6 +1832,22 @@ msgstr ""
 msgid "Rename Remote Config Success"
 msgstr ""
 
+#: src/language/constants.ts:55
+msgid "Rename Remote Site Error"
+msgstr ""
+
+#: src/language/constants.ts:54
+msgid "Rename Remote Site Success"
+msgstr ""
+
+#: src/components/Notification/config.ts:95
+msgid "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}"
+msgstr ""
+
+#: src/components/Notification/config.ts:87
+msgid "Rename Site %{site} to %{new_site} on %{node} successfully"
+msgstr ""
+
 #: src/views/config/components/Rename.vue:41
 msgid "Rename successfully"
 msgstr ""
@@ -1867,6 +1937,22 @@ msgstr ""
 msgid "Save error %{msg}"
 msgstr ""
 
+#: src/language/constants.ts:47
+msgid "Save Remote Site Error"
+msgstr ""
+
+#: src/language/constants.ts:46
+msgid "Save Remote Site Success"
+msgstr ""
+
+#: src/components/Notification/config.ts:43
+msgid "Save site %{site} to %{node} error, response: %{resp}"
+msgstr ""
+
+#: src/components/Notification/config.ts:35
+msgid "Save Site %{site} to %{node} successfully"
+msgstr ""
+
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2074,10 +2160,6 @@ msgstr ""
 msgid "Sync Certificate Success"
 msgstr ""
 
-#: src/components/Notification/config.ts:11
-msgid "Sync config %{config_name} to %{env_name} failed, please upgrade the remote Nginx UI to the latest version"
-msgstr ""
-
 #: src/components/Notification/config.ts:14
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgstr ""

+ 122 - 17
app/src/language/ru_RU/app.po

@@ -531,6 +531,16 @@ msgstr "Удалить"
 msgid "Delete Permanently"
 msgstr "Удалить навсегда"
 
+#: src/language/constants.ts:49
+#, fuzzy
+msgid "Delete Remote Site Error"
+msgstr "Ошибка переименования удаленной конфигурации"
+
+#: src/language/constants.ts:48
+#, fuzzy
+msgid "Delete Remote Site Success"
+msgstr "Переименование удаленной конфигурации прошло успешно"
+
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgstr "Удалить сайт: %{site_name}"
@@ -595,6 +605,26 @@ msgstr "Отключить"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "Не удалось отключить автоматическое продление для %{name}"
 
+#: src/language/constants.ts:51
+#, fuzzy
+msgid "Disable Remote Site Error"
+msgstr "Ошибка переименования удаленной конфигурации"
+
+#: src/language/constants.ts:50
+#, fuzzy
+msgid "Disable Remote Site Success"
+msgstr "Переименование удаленной конфигурации прошло успешно"
+
+#: src/components/Notification/config.ts:82
+#, fuzzy
+msgid "Disable site %{site} on %{node} error, response: %{resp}"
+msgstr "Включение %{conf_name} in %{node_name} успешно"
+
+#: src/components/Notification/config.ts:74
+#, fuzzy
+msgid "Disable Site %{site} on %{node} successfully"
+msgstr "Включение %{conf_name} in %{node_name} успешно"
+
 #: src/views/environment/envColumns.tsx:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
@@ -779,6 +809,26 @@ msgstr "Не удалось включить автоматическое про
 msgid "Enable failed"
 msgstr "Включить не удалось"
 
+#: src/language/constants.ts:53
+#, fuzzy
+msgid "Enable Remote Site Error"
+msgstr "Ошибка переименования удаленной конфигурации"
+
+#: src/language/constants.ts:52
+#, fuzzy
+msgid "Enable Remote Site Success"
+msgstr "Переименование удаленной конфигурации прошло успешно"
+
+#: src/components/Notification/config.ts:69
+#, fuzzy
+msgid "Enable site %{site} on %{node} error, response: %{resp}"
+msgstr "Включение %{conf_name} in %{node_name} успешно"
+
+#: src/components/Notification/config.ts:61
+#, fuzzy
+msgid "Enable Site %{site} on %{node} successfully"
+msgstr "Включение %{conf_name} in %{node_name} успешно"
+
 #: src/views/stream/components/Deploy.vue:41
 msgid "Enable successfully"
 msgstr "Включено успешно"
@@ -1668,6 +1718,19 @@ msgstr "Пожалуйста, выберите хотя бы один узел!"
 msgid "Please select at least one node!"
 msgstr "Пожалуйста, выберите хотя бы один узел!"
 
+#: src/components/Notification/config.ts:11
+#: src/components/Notification/config.ts:27
+#: src/components/Notification/config.ts:41
+#: src/components/Notification/config.ts:54
+#: src/components/Notification/config.ts:67
+#: src/components/Notification/config.ts:80
+#: src/components/Notification/config.ts:93
+#, fuzzy
+msgid "Please upgrade the remote Nginx UI to the latest version"
+msgstr ""
+"Синхронизация конфигурации %{cert_name} с %{env_name} не удалась, "
+"пожалуйста, обновите удаленный Nginx UI до последней версии"
+
 #: src/views/environment/BatchUpgrader.vue:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
@@ -1802,6 +1865,16 @@ msgstr "Перезагружается nginx"
 msgid "Remove"
 msgstr "Удалить"
 
+#: src/components/Notification/config.ts:56
+#, fuzzy
+msgid "Remove site %{site} from %{node} error, response: %{resp}"
+msgstr "Удалить сайт: %{site_name}"
+
+#: src/components/Notification/config.ts:48
+#, fuzzy
+msgid "Remove Site %{site} from %{node} successfully"
+msgstr "Продублированно %{conf_name} в %{node_name}"
+
 #: src/views/preference/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 msgid "Remove successfully"
@@ -1818,14 +1891,6 @@ msgstr "Успешно удалено"
 msgid "Rename"
 msgstr "Переименовать"
 
-#: src/components/Notification/config.ts:27
-msgid ""
-"Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade the "
-"remote Nginx UI to the latest version"
-msgstr ""
-"Переименование %{orig_path} в %{new_path} на %{env_name} не удалось, "
-"пожалуйста, обновите удаленный интерфейс Nginx до последней версии"
-
 #: src/components/Notification/config.ts:30
 msgid ""
 "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
@@ -1845,6 +1910,26 @@ msgstr "Ошибка переименования удаленной конфи
 msgid "Rename Remote Config Success"
 msgstr "Переименование удаленной конфигурации прошло успешно"
 
+#: src/language/constants.ts:55
+#, fuzzy
+msgid "Rename Remote Site Error"
+msgstr "Ошибка переименования удаленной конфигурации"
+
+#: src/language/constants.ts:54
+#, fuzzy
+msgid "Rename Remote Site Success"
+msgstr "Переименование удаленной конфигурации прошло успешно"
+
+#: src/components/Notification/config.ts:95
+#, fuzzy
+msgid "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}"
+msgstr "Переименование %{orig_path} в %{new_path} на %{env_name} успешно"
+
+#: src/components/Notification/config.ts:87
+#, fuzzy
+msgid "Rename Site %{site} to %{new_site} on %{node} successfully"
+msgstr "Переименование %{orig_path} в %{new_path} на %{env_name} успешно"
+
 #: src/views/config/components/Rename.vue:41
 msgid "Rename successfully"
 msgstr "Переименовано успешно"
@@ -1935,6 +2020,28 @@ msgstr "Сохранить директиву"
 msgid "Save error %{msg}"
 msgstr "Ошибка сохранения %{msg}"
 
+#: src/language/constants.ts:47
+#, fuzzy
+msgid "Save Remote Site Error"
+msgstr "Ошибка переименования удаленной конфигурации"
+
+#: src/language/constants.ts:46
+#, fuzzy
+msgid "Save Remote Site Success"
+msgstr "Переименование удаленной конфигурации прошло успешно"
+
+#: src/components/Notification/config.ts:43
+#, fuzzy
+msgid "Save site %{site} to %{node} error, response: %{resp}"
+msgstr ""
+"Синхронизация сертификата %{cert_name} с %{env_name} не удалась, ответ: "
+"%{resp}"
+
+#: src/components/Notification/config.ts:35
+#, fuzzy
+msgid "Save Site %{site} to %{node} successfully"
+msgstr "Продублированно %{conf_name} в %{node_name}"
+
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2146,15 +2253,6 @@ msgstr "Ошибка синхронизации сертификата"
 msgid "Sync Certificate Success"
 msgstr "Сертификат успешно синхронизирован"
 
-#: src/components/Notification/config.ts:11
-#, fuzzy
-msgid ""
-"Sync config %{config_name} to %{env_name} failed, please upgrade the remote "
-"Nginx UI to the latest version"
-msgstr ""
-"Синхронизация конфигурации %{cert_name} с %{env_name} не удалась, "
-"пожалуйста, обновите удаленный Nginx UI до последней версии"
-
 #: src/components/Notification/config.ts:14
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgstr ""
@@ -2607,6 +2705,13 @@ msgstr ""
 msgid "Your passkeys"
 msgstr ""
 
+#~ msgid ""
+#~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade "
+#~ "the remote Nginx UI to the latest version"
+#~ msgstr ""
+#~ "Переименование %{orig_path} в %{new_path} на %{env_name} не удалось, "
+#~ "пожалуйста, обновите удаленный интерфейс Nginx до последней версии"
+
 #~ msgid "File not found"
 #~ msgstr "Файл не найден"
 

+ 134 - 18
app/src/language/tr_TR/app.po

@@ -522,6 +522,16 @@ msgstr "Sil"
 msgid "Delete Permanently"
 msgstr "Kalıcı Olarak Sil"
 
+#: src/language/constants.ts:49
+#, fuzzy
+msgid "Delete Remote Site Error"
+msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası"
+
+#: src/language/constants.ts:48
+#, fuzzy
+msgid "Delete Remote Site Success"
+msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı"
+
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgstr "Siteyi sil: %{site_name}"
@@ -587,6 +597,30 @@ msgstr "Devre Dışı"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "%{name} için otomatik yenilemeyi devre dışı bırakma başarısız oldu"
 
+#: src/language/constants.ts:51
+#, fuzzy
+msgid "Disable Remote Site Error"
+msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası"
+
+#: src/language/constants.ts:50
+#, fuzzy
+msgid "Disable Remote Site Success"
+msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı"
+
+#: src/components/Notification/config.ts:82
+#, fuzzy
+msgid "Disable site %{site} on %{node} error, response: %{resp}"
+msgstr ""
+"%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarılı "
+"oldu"
+
+#: src/components/Notification/config.ts:74
+#, fuzzy
+msgid "Disable Site %{site} on %{node} successfully"
+msgstr ""
+"%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarılı "
+"oldu"
+
 #: src/views/environment/envColumns.tsx:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
@@ -776,6 +810,30 @@ msgstr "%{name} için otomatik yenilemeyi etkinleştirme başarısız oldu"
 msgid "Enable failed"
 msgstr "Etkinleştirme başarısız"
 
+#: src/language/constants.ts:53
+#, fuzzy
+msgid "Enable Remote Site Error"
+msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası"
+
+#: src/language/constants.ts:52
+#, fuzzy
+msgid "Enable Remote Site Success"
+msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı"
+
+#: src/components/Notification/config.ts:69
+#, fuzzy
+msgid "Enable site %{site} on %{node} error, response: %{resp}"
+msgstr ""
+"%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarılı "
+"oldu"
+
+#: src/components/Notification/config.ts:61
+#, fuzzy
+msgid "Enable Site %{site} on %{node} successfully"
+msgstr ""
+"%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarılı "
+"oldu"
+
 #: src/views/stream/components/Deploy.vue:41
 msgid "Enable successfully"
 msgstr "Başarıyla etkinleştirildi"
@@ -1748,6 +1806,19 @@ msgstr "Lütfen yükseltmek için en az bir düğüm seçin"
 msgid "Please select at least one node!"
 msgstr "Lütfen en az bir düğüm seçin!"
 
+#: src/components/Notification/config.ts:11
+#: src/components/Notification/config.ts:27
+#: src/components/Notification/config.ts:41
+#: src/components/Notification/config.ts:54
+#: src/components/Notification/config.ts:67
+#: src/components/Notification/config.ts:80
+#: src/components/Notification/config.ts:93
+#, fuzzy
+msgid "Please upgrade the remote Nginx UI to the latest version"
+msgstr ""
+"0] yapılandırmasını %{env_name} ile eşitleme başarısız oldu, lütfen uzak "
+"Nginx kullanıcı arayüzünü en son sürüme yükseltin"
+
 #: src/views/environment/BatchUpgrader.vue:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
@@ -1913,6 +1984,16 @@ msgstr "Nginx'i yeniden yükleme"
 msgid "Remove"
 msgstr "Kaldır"
 
+#: src/components/Notification/config.ts:56
+#, fuzzy
+msgid "Remove site %{site} from %{node} error, response: %{resp}"
+msgstr "Siteyi sil: %{site_name}"
+
+#: src/components/Notification/config.ts:48
+#, fuzzy
+msgid "Remove Site %{site} from %{node} successfully"
+msgstr "%{conf_name} başarıyla %{node_name} düğümüne kopyalandı"
+
 #: src/views/preference/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 #, fuzzy
@@ -1932,15 +2013,6 @@ msgstr "Başarıyla kaldırıldı"
 msgid "Rename"
 msgstr "Yeniden Adlandır"
 
-#: src/components/Notification/config.ts:27
-#, fuzzy
-msgid ""
-"Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade the "
-"remote Nginx UI to the latest version"
-msgstr ""
-"2] üzerinde %{orig_path}'ı %{new_path} olarak yeniden adlandırmak başarısız "
-"oldu, lütfen uzak Nginx kullanıcı arayüzünü en son sürüme yükseltin"
-
 #: src/components/Notification/config.ts:30
 #, fuzzy
 msgid ""
@@ -1965,6 +2037,28 @@ msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası"
 msgid "Rename Remote Config Success"
 msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı"
 
+#: src/language/constants.ts:55
+#, fuzzy
+msgid "Rename Remote Site Error"
+msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası"
+
+#: src/language/constants.ts:54
+#, fuzzy
+msgid "Rename Remote Site Success"
+msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı"
+
+#: src/components/Notification/config.ts:95
+#, fuzzy
+msgid "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}"
+msgstr ""
+"2] üzerinde %{orig_path}'ı %{new_path} olarak başarıyla yeniden adlandırın"
+
+#: src/components/Notification/config.ts:87
+#, fuzzy
+msgid "Rename Site %{site} to %{new_site} on %{node} successfully"
+msgstr ""
+"2] üzerinde %{orig_path}'ı %{new_path} olarak başarıyla yeniden adlandırın"
+
 #: src/views/config/components/Rename.vue:41
 #, fuzzy
 msgid "Rename successfully"
@@ -2070,6 +2164,28 @@ msgstr "Direktifi Kaydet"
 msgid "Save error %{msg}"
 msgstr "Hatayı kaydet %{msg}"
 
+#: src/language/constants.ts:47
+#, fuzzy
+msgid "Save Remote Site Error"
+msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası"
+
+#: src/language/constants.ts:46
+#, fuzzy
+msgid "Save Remote Site Success"
+msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı"
+
+#: src/components/Notification/config.ts:43
+#, fuzzy
+msgid "Save site %{site} to %{node} error, response: %{resp}"
+msgstr ""
+"Sertifika %{cert_name} ile %{env_name} arasında senkronizasyon başarısız "
+"oldu, yanıt: %{resp}"
+
+#: src/components/Notification/config.ts:35
+#, fuzzy
+msgid "Save Site %{site} to %{node} successfully"
+msgstr "%{conf_name} başarıyla %{node_name} düğümüne kopyalandı"
+
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2319,15 +2435,6 @@ msgstr "Senkronizasyon Sertifikası Hatası"
 msgid "Sync Certificate Success"
 msgstr "Senkronizasyon Sertifikası Başarısı"
 
-#: src/components/Notification/config.ts:11
-#, fuzzy
-msgid ""
-"Sync config %{config_name} to %{env_name} failed, please upgrade the remote "
-"Nginx UI to the latest version"
-msgstr ""
-"0] yapılandırmasını %{env_name} ile eşitleme başarısız oldu, lütfen uzak "
-"Nginx kullanıcı arayüzünü en son sürüme yükseltin"
-
 #: src/components/Notification/config.ts:14
 #, fuzzy
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
@@ -2863,6 +2970,15 @@ msgstr ""
 msgid "Your passkeys"
 msgstr "Geçiş anahtarlarınız"
 
+#, fuzzy
+#~ msgid ""
+#~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade "
+#~ "the remote Nginx UI to the latest version"
+#~ msgstr ""
+#~ "2] üzerinde %{orig_path}'ı %{new_path} olarak yeniden adlandırmak "
+#~ "başarısız oldu, lütfen uzak Nginx kullanıcı arayüzünü en son sürüme "
+#~ "yükseltin"
+
 #~ msgid "File not found"
 #~ msgstr "Dosya bulunamadı"
 

+ 117 - 14
app/src/language/vi_VN/app.po

@@ -552,6 +552,16 @@ msgstr "Xoá"
 msgid "Delete Permanently"
 msgstr ""
 
+#: src/language/constants.ts:49
+#, fuzzy
+msgid "Delete Remote Site Error"
+msgstr "Gia hạn chứng chỉ SSL thất bại"
+
+#: src/language/constants.ts:48
+#, fuzzy
+msgid "Delete Remote Site Success"
+msgstr "Gia hạn chứng chỉ SSL thành công"
+
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgstr "Xoá trang web: %{site_name}"
@@ -621,6 +631,26 @@ msgstr "Tắt"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "Tắt tự động gia hạn SSL cho %{name} thất bại"
 
+#: src/language/constants.ts:51
+#, fuzzy
+msgid "Disable Remote Site Error"
+msgstr "Gia hạn chứng chỉ SSL thất bại"
+
+#: src/language/constants.ts:50
+#, fuzzy
+msgid "Disable Remote Site Success"
+msgstr "Gia hạn chứng chỉ SSL thành công"
+
+#: src/components/Notification/config.ts:82
+#, fuzzy
+msgid "Disable site %{site} on %{node} error, response: %{resp}"
+msgstr "Đã bật %{conf_name} trên %{node_name}"
+
+#: src/components/Notification/config.ts:74
+#, fuzzy
+msgid "Disable Site %{site} on %{node} successfully"
+msgstr "Đã bật %{conf_name} trên %{node_name}"
+
 #: src/views/environment/envColumns.tsx:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
@@ -819,6 +849,26 @@ msgstr "Không thể bật tự động gia hạn SSL cho %{name}"
 msgid "Enable failed"
 msgstr "Bật không thành công"
 
+#: src/language/constants.ts:53
+#, fuzzy
+msgid "Enable Remote Site Error"
+msgstr "Gia hạn chứng chỉ SSL thất bại"
+
+#: src/language/constants.ts:52
+#, fuzzy
+msgid "Enable Remote Site Success"
+msgstr "Gia hạn chứng chỉ SSL thành công"
+
+#: src/components/Notification/config.ts:69
+#, fuzzy
+msgid "Enable site %{site} on %{node} error, response: %{resp}"
+msgstr "Đã bật %{conf_name} trên %{node_name}"
+
+#: src/components/Notification/config.ts:61
+#, fuzzy
+msgid "Enable Site %{site} on %{node} successfully"
+msgstr "Đã bật %{conf_name} trên %{node_name}"
+
 #: src/views/stream/components/Deploy.vue:41
 #, fuzzy
 msgid "Enable successfully"
@@ -1728,6 +1778,17 @@ msgstr ""
 msgid "Please select at least one node!"
 msgstr ""
 
+#: src/components/Notification/config.ts:11
+#: src/components/Notification/config.ts:27
+#: src/components/Notification/config.ts:41
+#: src/components/Notification/config.ts:54
+#: src/components/Notification/config.ts:67
+#: src/components/Notification/config.ts:80
+#: src/components/Notification/config.ts:93
+#, fuzzy
+msgid "Please upgrade the remote Nginx UI to the latest version"
+msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"
+
 #: src/views/environment/BatchUpgrader.vue:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
@@ -1869,6 +1930,16 @@ msgstr "Tải lại nginx"
 msgid "Remove"
 msgstr ""
 
+#: src/components/Notification/config.ts:56
+#, fuzzy
+msgid "Remove site %{site} from %{node} error, response: %{resp}"
+msgstr "Xoá trang web: %{site_name}"
+
+#: src/components/Notification/config.ts:48
+#, fuzzy
+msgid "Remove Site %{site} from %{node} successfully"
+msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"
+
 #: src/views/preference/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 #, fuzzy
@@ -1888,13 +1959,6 @@ msgstr "Xoá thành công"
 msgid "Rename"
 msgstr "Username"
 
-#: src/components/Notification/config.ts:27
-#, fuzzy
-msgid ""
-"Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade the "
-"remote Nginx UI to the latest version"
-msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"
-
 #: src/components/Notification/config.ts:30
 #, fuzzy
 msgid ""
@@ -1916,6 +1980,26 @@ msgstr "Gia hạn chứng chỉ SSL thất bại"
 msgid "Rename Remote Config Success"
 msgstr "Gia hạn chứng chỉ SSL thành công"
 
+#: src/language/constants.ts:55
+#, fuzzy
+msgid "Rename Remote Site Error"
+msgstr "Gia hạn chứng chỉ SSL thất bại"
+
+#: src/language/constants.ts:54
+#, fuzzy
+msgid "Rename Remote Site Success"
+msgstr "Gia hạn chứng chỉ SSL thành công"
+
+#: src/components/Notification/config.ts:95
+#, fuzzy
+msgid "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}"
+msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"
+
+#: src/components/Notification/config.ts:87
+#, fuzzy
+msgid "Rename Site %{site} to %{new_site} on %{node} successfully"
+msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"
+
 #: src/views/config/components/Rename.vue:41
 #, fuzzy
 msgid "Rename successfully"
@@ -2013,6 +2097,26 @@ msgstr "Lưu Directive"
 msgid "Save error %{msg}"
 msgstr "Đã xảy ra lỗi khi lưu %{msg}"
 
+#: src/language/constants.ts:47
+#, fuzzy
+msgid "Save Remote Site Error"
+msgstr "Gia hạn chứng chỉ SSL thất bại"
+
+#: src/language/constants.ts:46
+#, fuzzy
+msgid "Save Remote Site Success"
+msgstr "Gia hạn chứng chỉ SSL thành công"
+
+#: src/components/Notification/config.ts:43
+#, fuzzy
+msgid "Save site %{site} to %{node} error, response: %{resp}"
+msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"
+
+#: src/components/Notification/config.ts:35
+#, fuzzy
+msgid "Save Site %{site} to %{node} successfully"
+msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"
+
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2226,13 +2330,6 @@ msgstr "Gia hạn chứng chỉ SSL thất bại"
 msgid "Sync Certificate Success"
 msgstr "Gia hạn chứng chỉ SSL thành công"
 
-#: src/components/Notification/config.ts:11
-#, fuzzy
-msgid ""
-"Sync config %{config_name} to %{env_name} failed, please upgrade the remote "
-"Nginx UI to the latest version"
-msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"
-
 #: src/components/Notification/config.ts:14
 #, fuzzy
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
@@ -2674,6 +2771,12 @@ msgstr ""
 msgid "Your passkeys"
 msgstr ""
 
+#, fuzzy
+#~ msgid ""
+#~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade "
+#~ "the remote Nginx UI to the latest version"
+#~ msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"
+
 #, fuzzy
 #~ msgid "File not found"
 #~ msgstr "Không tìm thấy tệp tin"

二进制
app/src/language/zh_CN/app.mo


+ 97 - 15
app/src/language/zh_CN/app.po

@@ -519,6 +519,14 @@ msgstr "删除"
 msgid "Delete Permanently"
 msgstr "彻底删除"
 
+#: src/language/constants.ts:49
+msgid "Delete Remote Site Error"
+msgstr "删除远程站点错误"
+
+#: src/language/constants.ts:48
+msgid "Delete Remote Site Success"
+msgstr "删除远程站点成功"
+
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgstr "删除站点: %{site_name}"
@@ -583,6 +591,22 @@ msgstr "禁用"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "关闭 %{name} 自动续签失败"
 
+#: src/language/constants.ts:51
+msgid "Disable Remote Site Error"
+msgstr "禁用远程站点错误"
+
+#: src/language/constants.ts:50
+msgid "Disable Remote Site Success"
+msgstr "禁用远程站点成功"
+
+#: src/components/Notification/config.ts:82
+msgid "Disable site %{site} on %{node} error, response: %{resp}"
+msgstr "在 %{node} 上禁用 %{site} 失败, 响应: %{resp}"
+
+#: src/components/Notification/config.ts:74
+msgid "Disable Site %{site} on %{node} successfully"
+msgstr "在 %{node} 上禁用 %{site} 成功"
+
 #: src/views/environment/envColumns.tsx:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
@@ -764,6 +788,22 @@ msgstr "启用 %{name} 自动续签失败"
 msgid "Enable failed"
 msgstr "启用失败"
 
+#: src/language/constants.ts:53
+msgid "Enable Remote Site Error"
+msgstr "启用远程站点错误"
+
+#: src/language/constants.ts:52
+msgid "Enable Remote Site Success"
+msgstr "启用远程站点成功"
+
+#: src/components/Notification/config.ts:69
+msgid "Enable site %{site} on %{node} error, response: %{resp}"
+msgstr "在 %{node} 上启用 %{site} 失败,响应:%{resp}"
+
+#: src/components/Notification/config.ts:61
+msgid "Enable Site %{site} on %{node} successfully"
+msgstr "在 %{node} 上启用 %{site} 成功"
+
 #: src/views/stream/components/Deploy.vue:41
 msgid "Enable successfully"
 msgstr "启用成功"
@@ -1626,6 +1666,16 @@ msgstr "请至少选择一个节点进行升级"
 msgid "Please select at least one node!"
 msgstr "请至少选择一个节点!"
 
+#: src/components/Notification/config.ts:11
+#: src/components/Notification/config.ts:27
+#: src/components/Notification/config.ts:41
+#: src/components/Notification/config.ts:54
+#: src/components/Notification/config.ts:67
+#: src/components/Notification/config.ts:80
+#: src/components/Notification/config.ts:93
+msgid "Please upgrade the remote Nginx UI to the latest version"
+msgstr "请将远程 Nginx UI 升级到最新版本"
+
 #: src/views/environment/BatchUpgrader.vue:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
@@ -1758,6 +1808,14 @@ msgstr "正在重载 Nginx"
 msgid "Remove"
 msgstr "删除"
 
+#: src/components/Notification/config.ts:56
+msgid "Remove site %{site} from %{node} error, response: %{resp}"
+msgstr "从 %{node} 中删除站点 %{site} 错误,响应:%{resp}"
+
+#: src/components/Notification/config.ts:48
+msgid "Remove Site %{site} from %{node} successfully"
+msgstr "成功从 %{node} 中删除站点 %{site}"
+
 #: src/views/preference/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 msgid "Remove successfully"
@@ -1774,14 +1832,6 @@ msgstr "删除成功"
 msgid "Rename"
 msgstr "重命名"
 
-#: src/components/Notification/config.ts:27
-msgid ""
-"Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade the "
-"remote Nginx UI to the latest version"
-msgstr ""
-"将 %{env_name} 上的 %{orig_path} 重命名为 %{new_path} 失败,请将远程 Nginx "
-"UI 升级到最新版本"
-
 #: src/components/Notification/config.ts:30
 msgid ""
 "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
@@ -1800,6 +1850,22 @@ msgstr "远程配置重命名错误"
 msgid "Rename Remote Config Success"
 msgstr "重命名远程配置成功"
 
+#: src/language/constants.ts:55
+msgid "Rename Remote Site Error"
+msgstr "重命名远程站点错误"
+
+#: src/language/constants.ts:54
+msgid "Rename Remote Site Success"
+msgstr "重命名远程站点成功"
+
+#: src/components/Notification/config.ts:95
+msgid "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}"
+msgstr "在 %{node} 上将站点 %{site} 重命名为 %{new_site} 失败,响应:%{resp}"
+
+#: src/components/Notification/config.ts:87
+msgid "Rename Site %{site} to %{new_site} on %{node} successfully"
+msgstr "在 %{node} 上将站点 %{site} 重命名为 %{new_site} 成功"
+
 #: src/views/config/components/Rename.vue:41
 msgid "Rename successfully"
 msgstr "重命名成功"
@@ -1889,6 +1955,22 @@ msgstr "保存指令"
 msgid "Save error %{msg}"
 msgstr "保存错误 %{msg}"
 
+#: src/language/constants.ts:47
+msgid "Save Remote Site Error"
+msgstr "保存远程站点错误"
+
+#: src/language/constants.ts:46
+msgid "Save Remote Site Success"
+msgstr "保存远程站点成功"
+
+#: src/components/Notification/config.ts:43
+msgid "Save site %{site} to %{node} error, response: %{resp}"
+msgstr "保存站点 %{site} 到 %{node} 错误,响应: %{resp}"
+
+#: src/components/Notification/config.ts:35
+msgid "Save Site %{site} to %{node} successfully"
+msgstr "成功将站点 %{site} 保存到 %{node} 中"
+
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2094,13 +2176,6 @@ msgstr "同步证书错误"
 msgid "Sync Certificate Success"
 msgstr "同步证书成功"
 
-#: src/components/Notification/config.ts:11
-msgid ""
-"Sync config %{config_name} to %{env_name} failed, please upgrade the remote "
-"Nginx UI to the latest version"
-msgstr ""
-"同步配置 %{config_name} 到 %{env_name} 失败,请将远程 Nginx UI 升级到最新版本"
-
 #: src/components/Notification/config.ts:14
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgstr "同步配置 %{config_name} 到 %{env_name} 失败,响应:%{resp}"
@@ -2529,6 +2604,13 @@ msgstr "您尚未配置 Webauthn 的设置,因此无法添加 Passkey。"
 msgid "Your passkeys"
 msgstr "你的 Passkeys"
 
+#~ msgid ""
+#~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade "
+#~ "the remote Nginx UI to the latest version"
+#~ msgstr ""
+#~ "将 %{env_name} 上的 %{orig_path} 重命名为 %{new_path} 失败,请将远程 "
+#~ "Nginx UI 升级到最新版本"
+
 #~ msgid "File not found"
 #~ msgstr "文件未找到"
 

+ 119 - 16
app/src/language/zh_TW/app.po

@@ -528,6 +528,16 @@ msgstr "刪除"
 msgid "Delete Permanently"
 msgstr "永久刪除"
 
+#: src/language/constants.ts:49
+#, fuzzy
+msgid "Delete Remote Site Error"
+msgstr "重命名遠端配置錯誤"
+
+#: src/language/constants.ts:48
+#, fuzzy
+msgid "Delete Remote Site Success"
+msgstr "重新命名遠端配置成功"
+
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgstr "刪除網站:%{site_name}"
@@ -592,6 +602,26 @@ msgstr "停用"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "關閉 %{name} 自動續簽失敗"
 
+#: src/language/constants.ts:51
+#, fuzzy
+msgid "Disable Remote Site Error"
+msgstr "重命名遠端配置錯誤"
+
+#: src/language/constants.ts:50
+#, fuzzy
+msgid "Disable Remote Site Success"
+msgstr "重新命名遠端配置成功"
+
+#: src/components/Notification/config.ts:82
+#, fuzzy
+msgid "Disable site %{site} on %{node} error, response: %{resp}"
+msgstr "成功在 %{node_name} 啟用 %{conf_name}"
+
+#: src/components/Notification/config.ts:74
+#, fuzzy
+msgid "Disable Site %{site} on %{node} successfully"
+msgstr "成功在 %{node_name} 啟用 %{conf_name}"
+
 #: src/views/environment/envColumns.tsx:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
@@ -771,6 +801,26 @@ msgstr "啟用 %{name} 自動續簽失敗"
 msgid "Enable failed"
 msgstr "啟用失敗"
 
+#: src/language/constants.ts:53
+#, fuzzy
+msgid "Enable Remote Site Error"
+msgstr "重命名遠端配置錯誤"
+
+#: src/language/constants.ts:52
+#, fuzzy
+msgid "Enable Remote Site Success"
+msgstr "重新命名遠端配置成功"
+
+#: src/components/Notification/config.ts:69
+#, fuzzy
+msgid "Enable site %{site} on %{node} error, response: %{resp}"
+msgstr "成功在 %{node_name} 啟用 %{conf_name}"
+
+#: src/components/Notification/config.ts:61
+#, fuzzy
+msgid "Enable Site %{site} on %{node} successfully"
+msgstr "成功在 %{node_name} 啟用 %{conf_name}"
+
 #: src/views/stream/components/Deploy.vue:41
 msgid "Enable successfully"
 msgstr "啟用成功"
@@ -1641,6 +1691,18 @@ msgstr "請至少選擇一個節點!"
 msgid "Please select at least one node!"
 msgstr "請至少選擇一個節點!"
 
+#: src/components/Notification/config.ts:11
+#: src/components/Notification/config.ts:27
+#: src/components/Notification/config.ts:41
+#: src/components/Notification/config.ts:54
+#: src/components/Notification/config.ts:67
+#: src/components/Notification/config.ts:80
+#: src/components/Notification/config.ts:93
+#, fuzzy
+msgid "Please upgrade the remote Nginx UI to the latest version"
+msgstr ""
+"同步配置 %{cert_name} 到 %{env_name} 失敗,請將遠程 Nginx UI 升級到最新版本"
+
 #: src/views/environment/BatchUpgrader.vue:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
@@ -1776,6 +1838,16 @@ msgstr "正在重新載入 Nginx"
 msgid "Remove"
 msgstr "移除"
 
+#: src/components/Notification/config.ts:56
+#, fuzzy
+msgid "Remove site %{site} from %{node} error, response: %{resp}"
+msgstr "刪除網站:%{site_name}"
+
+#: src/components/Notification/config.ts:48
+#, fuzzy
+msgid "Remove Site %{site} from %{node} successfully"
+msgstr "成功複製 %{conf_name} 到 %{node_name}"
+
 #: src/views/preference/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 msgid "Remove successfully"
@@ -1792,14 +1864,6 @@ msgstr "移除成功"
 msgid "Rename"
 msgstr "重命名"
 
-#: src/components/Notification/config.ts:27
-msgid ""
-"Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade the "
-"remote Nginx UI to the latest version"
-msgstr ""
-"將 %{orig_path} 重命名為 %{new_path} 在 %{env_name} 失敗,請將遠程 Nginx UI "
-"升級到最新版本"
-
 #: src/components/Notification/config.ts:30
 msgid ""
 "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
@@ -1818,6 +1882,26 @@ msgstr "重命名遠端配置錯誤"
 msgid "Rename Remote Config Success"
 msgstr "重新命名遠端配置成功"
 
+#: src/language/constants.ts:55
+#, fuzzy
+msgid "Rename Remote Site Error"
+msgstr "重命名遠端配置錯誤"
+
+#: src/language/constants.ts:54
+#, fuzzy
+msgid "Rename Remote Site Success"
+msgstr "重新命名遠端配置成功"
+
+#: src/components/Notification/config.ts:95
+#, fuzzy
+msgid "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}"
+msgstr "成功將 %{env_name} 上的 %{orig_path} 重命名為 %{new_path}"
+
+#: src/components/Notification/config.ts:87
+#, fuzzy
+msgid "Rename Site %{site} to %{new_site} on %{node} successfully"
+msgstr "成功將 %{env_name} 上的 %{orig_path} 重命名為 %{new_path}"
+
 #: src/views/config/components/Rename.vue:41
 msgid "Rename successfully"
 msgstr "重命名成功"
@@ -1908,6 +1992,26 @@ msgstr "儲存指令"
 msgid "Save error %{msg}"
 msgstr "儲存錯誤 %{msg}"
 
+#: src/language/constants.ts:47
+#, fuzzy
+msgid "Save Remote Site Error"
+msgstr "重命名遠端配置錯誤"
+
+#: src/language/constants.ts:46
+#, fuzzy
+msgid "Save Remote Site Success"
+msgstr "重新命名遠端配置成功"
+
+#: src/components/Notification/config.ts:43
+#, fuzzy
+msgid "Save site %{site} to %{node} error, response: %{resp}"
+msgstr "同步憑證 %{cert_name} 到 %{env_name} 失敗,回應:%{resp}"
+
+#: src/components/Notification/config.ts:35
+#, fuzzy
+msgid "Save Site %{site} to %{node} successfully"
+msgstr "成功複製 %{conf_name} 到 %{node_name}"
+
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2112,14 +2216,6 @@ msgstr "同步憑證錯誤"
 msgid "Sync Certificate Success"
 msgstr "同步憑證成功"
 
-#: src/components/Notification/config.ts:11
-#, fuzzy
-msgid ""
-"Sync config %{config_name} to %{env_name} failed, please upgrade the remote "
-"Nginx UI to the latest version"
-msgstr ""
-"同步配置 %{cert_name} 到 %{env_name} 失敗,請將遠程 Nginx UI 升級到最新版本"
-
 #: src/components/Notification/config.ts:14
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgstr "同步配置 %{config_name} 到 %{env_name} 失敗,回應:%{resp}"
@@ -2548,6 +2644,13 @@ msgstr ""
 msgid "Your passkeys"
 msgstr ""
 
+#~ msgid ""
+#~ "Rename %{orig_path} to %{new_path} on %{env_name} failed, please upgrade "
+#~ "the remote Nginx UI to the latest version"
+#~ msgstr ""
+#~ "將 %{orig_path} 重命名為 %{new_path} 在 %{env_name} 失敗,請將遠程 Nginx "
+#~ "UI 升級到最新版本"
+
 #~ msgid "File not found"
 #~ msgstr "找不到檔案"
 

+ 3 - 3
app/src/views/notification/Notification.vue

@@ -7,11 +7,11 @@ import { message } from 'ant-design-vue'
 
 const { unreadCount } = storeToRefs(useUserStore())
 
-const curd = ref()
+const curd = useTemplateRef('curd')
 function clear() {
   notification.clear().then(() => {
     message.success($gettext('Cleared successfully'))
-    curd.value.get_list()
+    curd.value?.get_list()
     unreadCount.value = 0
   }).catch(e => {
     message.error($gettext(e?.message ?? 'Server error'))
@@ -19,7 +19,7 @@ function clear() {
 }
 
 watch(unreadCount, () => {
-  curd.value.get_list()
+  curd.value?.get_list()
 })
 </script>
 

+ 5 - 12
internal/site/delete.go

@@ -12,13 +12,14 @@ import (
 	"net/http"
 	"os"
 	"runtime"
-	"sync"
 )
 
 // Delete deletes a site by removing the file in sites-available
 func Delete(name string) (err error) {
 	availablePath := nginx.GetConfPath("sites-available", name)
 
+	syncDelete(name)
+
 	s := query.Site
 	_, err = s.Where(s.Path.Eq(availablePath)).Unscoped().Delete(&model.Site{})
 	if err != nil {
@@ -43,17 +44,12 @@ func Delete(name string) (err error) {
 		return
 	}
 
-	go syncDelete(name)
-
 	return
 }
 
 func syncDelete(name string) {
 	nodes := getSyncNodes(name)
 
-	wg := &sync.WaitGroup{}
-	wg.Add(len(nodes))
-
 	for _, node := range nodes {
 		go func() {
 			defer func() {
@@ -63,23 +59,20 @@ func syncDelete(name string) {
 					logger.Error(err)
 				}
 			}()
-			defer wg.Done()
-
 			client := resty.New()
 			client.SetBaseURL(node.URL)
 			resp, err := client.R().
+				SetHeader("X-Node-Secret", node.Token).
 				Delete(fmt.Sprintf("/api/sites/%s", name))
 			if err != nil {
 				notification.Error("Delete Remote Site Error", err.Error())
 				return
 			}
 			if resp.StatusCode() != http.StatusOK {
-				notification.Error("Delete Remote Site Error", string(resp.Body()))
+				notification.Error("Delete Remote Site Error", NewSyncResult(node.Name, name, resp).String())
 				return
 			}
-			notification.Success("Delete Remote Site Success", string(resp.Body()))
+			notification.Success("Delete Remote Site Success", NewSyncResult(node.Name, name, resp).String())
 		}()
 	}
-
-	wg.Wait()
 }

+ 3 - 2
internal/site/disable.go

@@ -63,16 +63,17 @@ func syncDisable(name string) {
 			client := resty.New()
 			client.SetBaseURL(node.URL)
 			resp, err := client.R().
+				SetHeader("X-Node-Secret", node.Token).
 				Post(fmt.Sprintf("/api/sites/%s/disable", name))
 			if err != nil {
 				notification.Error("Disable Remote Site Error", err.Error())
 				return
 			}
 			if resp.StatusCode() != http.StatusOK {
-				notification.Error("Disable Remote Site Error", string(resp.Body()))
+				notification.Error("Disable Remote Site Error", NewSyncResult(node.Name, name, resp).String())
 				return
 			}
-			notification.Success("Disable Remote Site Success", string(resp.Body()))
+			notification.Success("Disable Remote Site Success", NewSyncResult(node.Name, name, resp).String())
 		}()
 	}
 

+ 3 - 2
internal/site/enable.go

@@ -69,16 +69,17 @@ func syncEnable(name string) {
 			client := resty.New()
 			client.SetBaseURL(node.URL)
 			resp, err := client.R().
+				SetHeader("X-Node-Secret", node.Token).
 				Post(fmt.Sprintf("/api/sites/%s/enable", name))
 			if err != nil {
 				notification.Error("Enable Remote Site Error", err.Error())
 				return
 			}
 			if resp.StatusCode() != http.StatusOK {
-				notification.Error("Enable Remote Site Error", string(resp.Body()))
+				notification.Error("Enable Remote Site Error", NewSyncResult(node.Name, name, resp).String())
 				return
 			}
-			notification.Success("Enable Remote Site Success", string(resp.Body()))
+			notification.Success("Enable Remote Site Success", NewSyncResult(node.Name, name, resp).String())
 		}()
 	}
 

+ 10 - 5
internal/site/rename.go

@@ -83,19 +83,24 @@ func syncRename(oldName, newName string) {
 			client := resty.New()
 			client.SetBaseURL(node.URL)
 			resp, err := client.R().
-				SetBody(map[string]string{
-					"new_name": newName,
-				}).
+				SetHeader("X-Node-Secret", node.Token).
+					SetBody(map[string]string{
+						"new_name": newName,
+					}).
 				Post(fmt.Sprintf("/api/sites/%s/rename", oldName))
 			if err != nil {
 				notification.Error("Rename Remote Site Error", err.Error())
 				return
 			}
 			if resp.StatusCode() != http.StatusOK {
-				notification.Error("Rename Remote Site Error", string(resp.Body()))
+				notification.Error("Rename Remote Site Error",
+					NewSyncResult(node.Name, oldName, resp).
+						SetNewName(newName).String())
 				return
 			}
-			notification.Success("Rename Remote Site Success", string(resp.Body()))
+			notification.Success("Rename Remote Site Success",
+				NewSyncResult(node.Name, oldName, resp).
+					SetNewName(newName).String())
 		}()
 	}
 

+ 11 - 10
internal/site/save.go

@@ -46,10 +46,10 @@ func Save(name string, content string, overwrite bool, siteCategoryId uint64, sy
 	s := query.Site
 	_, err = s.Where(s.Path.Eq(path)).
 		Select(s.SiteCategoryID, s.SyncNodeIDs).
-		Updates(&model.Site{
-			SiteCategoryID: siteCategoryId,
-			SyncNodeIDs:    syncNodeIds,
-		})
+			Updates(&model.Site{
+				SiteCategoryID: siteCategoryId,
+				SyncNodeIDs:    syncNodeIds,
+			})
 	if err != nil {
 		return
 	}
@@ -79,20 +79,21 @@ func syncSave(name string, content string) {
 			client := resty.New()
 			client.SetBaseURL(node.URL)
 			resp, err := client.R().
-				SetBody(map[string]interface{}{
-					"content":   content,
-					"overwrite": true,
-				}).
+				SetHeader("X-Node-Secret", node.Token).
+					SetBody(map[string]interface{}{
+						"content":   content,
+						"overwrite": true,
+					}).
 				Post(fmt.Sprintf("/api/sites/%s", name))
 			if err != nil {
 				notification.Error("Save Remote Site Error", err.Error())
 				return
 			}
 			if resp.StatusCode() != http.StatusOK {
-				notification.Error("Save Remote Site Error", string(resp.Body()))
+				notification.Error("Save Remote Site Error", NewSyncResult(node.Name, name, resp).String())
 				return
 			}
-			notification.Success("Save Remote Site Success", string(resp.Body()))
+			notification.Success("Save Remote Site Success", NewSyncResult(node.Name, name, resp).String())
 		}()
 	}
 

+ 38 - 0
internal/site/sync.go

@@ -1,13 +1,17 @@
 package site
 
 import (
+	"encoding/json"
 	"github.com/0xJacky/Nginx-UI/internal/nginx"
 	"github.com/0xJacky/Nginx-UI/model"
 	"github.com/0xJacky/Nginx-UI/query"
+	"github.com/gin-gonic/gin"
+	"github.com/go-resty/resty/v2"
 	"github.com/samber/lo"
 	"github.com/uozi-tech/cosy/logger"
 )
 
+// getSyncNodes returns the nodes that need to be synchronized by site name
 func getSyncNodes(name string) (nodes []*model.Environment) {
 	configFilePath := nginx.GetConfPath("sites-available", name)
 	s := query.Site
@@ -33,3 +37,37 @@ func getSyncNodes(name string) (nodes []*model.Environment) {
 	}
 	return
 }
+
+type SyncResult struct {
+	StatusCode int    `json:"status_code"`
+	Node       string `json:"node"`
+	Name       string `json:"name"`
+	NewName    string `json:"new_name,omitempty"`
+	Response   gin.H  `json:"response"`
+}
+
+func NewSyncResult(node string, siteName string, resp *resty.Response) (s *SyncResult) {
+	s = &SyncResult{
+		StatusCode: resp.StatusCode(),
+		Node:       node,
+		Name:       siteName,
+	}
+	err := json.Unmarshal(resp.Body(), &s.Response)
+	if err != nil {
+		logger.Error(err)
+	}
+	return
+}
+
+func (s *SyncResult) SetNewName(name string) *SyncResult {
+	s.NewName = name
+	return s
+}
+
+func (s *SyncResult) String() string {
+	b, err := json.Marshal(s)
+	if err != nil {
+		logger.Error(err)
+	}
+	return string(b)
+}