浏览代码

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)
   const data = JSON.parse(text)
 
 
   if (data.status_code === 404) {
   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)
   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)
   const data = JSON.parse(text)
 
 
   if (data.status_code === 404) {
   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)
   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 type { CustomRenderProps } from '@/components/StdDesign/StdDataDisplay/StdTableTransformer'
 import { syncCertificateError, syncCertificateSuccess } from '@/components/Notification/cert'
 import { syncCertificateError, syncCertificateSuccess } from '@/components/Notification/cert'
 import {
 import {
+  deleteSiteError,
+  deleteSiteSuccess,
+  disableSiteError,
+  disableSiteSuccess,
+  enableSiteError,
+  enableSiteSuccess,
+  renameSiteError,
+  renameSiteSuccess,
+  saveSiteError,
+  saveSiteSuccess,
   syncConfigError,
   syncConfigError,
   syncConfigSuccess,
   syncConfigSuccess,
   syncRenameConfigError,
   syncRenameConfigError,
@@ -17,6 +27,28 @@ export function detailRender(args: CustomRenderProps) {
       return syncRenameConfigSuccess(args.text)
       return syncRenameConfigSuccess(args.text)
     case 'Rename Remote Config Error':
     case 'Rename Remote Config Error':
       return syncRenameConfigError(args.text)
       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':
     case 'Sync Config Success':
       return syncConfigSuccess(args.text)
       return syncConfigSuccess(args.text)
     case 'Sync Config Error':
     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 Success'),
   $gettext('Sync Config Error'),
   $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"
 msgid "Delete Permanently"
 msgstr ""
 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
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgid "Delete site: %{site_name}"
 msgstr ""
 msgstr ""
@@ -617,6 +627,26 @@ msgstr "Disabled"
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "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:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
 #: src/views/site/site_edit/SiteEdit.vue:177
@@ -813,6 +843,26 @@ msgstr "Enable auto-renewal failed for %{name}"
 msgid "Enable failed"
 msgid "Enable failed"
 msgstr "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
 #: src/views/stream/components/Deploy.vue:41
 #, fuzzy
 #, fuzzy
 msgid "Enable successfully"
 msgid "Enable successfully"
@@ -1711,6 +1761,17 @@ msgstr ""
 msgid "Please select at least one node!"
 msgid "Please select at least one node!"
 msgstr ""
 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:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
 #: src/views/system/Upgrade.vue:246
@@ -1849,6 +1910,16 @@ msgstr ""
 msgid "Remove"
 msgid "Remove"
 msgstr ""
 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/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 #: src/views/preference/components/Passkey.vue:50
 #, fuzzy
 #, fuzzy
@@ -1868,13 +1939,6 @@ msgstr "Saved successfully"
 msgid "Rename"
 msgid "Rename"
 msgstr "Username"
 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
 #: src/components/Notification/config.ts:30
 #, fuzzy
 #, fuzzy
 msgid ""
 msgid ""
@@ -1896,6 +1960,26 @@ msgstr "Certificate is valid"
 msgid "Rename Remote Config Success"
 msgid "Rename Remote Config Success"
 msgstr "Certificate is valid"
 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
 #: src/views/config/components/Rename.vue:41
 #, fuzzy
 #, fuzzy
 msgid "Rename successfully"
 msgid "Rename successfully"
@@ -1992,6 +2076,26 @@ msgstr "Save Directive"
 msgid "Save error %{msg}"
 msgid "Save error %{msg}"
 msgstr "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/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2209,13 +2313,6 @@ msgstr "Certificate is valid"
 msgid "Sync Certificate Success"
 msgid "Sync Certificate Success"
 msgstr "Certificate is valid"
 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
 #: src/components/Notification/config.ts:14
 #, fuzzy
 #, fuzzy
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
@@ -2648,6 +2745,12 @@ msgstr ""
 msgid "Your passkeys"
 msgid "Your passkeys"
 msgstr ""
 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
 #, fuzzy
 #~ msgid "File not found"
 #~ msgid "File not found"
 #~ msgstr "File Not Found"
 #~ msgstr "File Not Found"

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

@@ -533,6 +533,16 @@ msgstr "Eliminar"
 msgid "Delete Permanently"
 msgid "Delete Permanently"
 msgstr "Eliminar Permanentemente"
 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
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgid "Delete site: %{site_name}"
 msgstr "Eliminar sitio: %{site_name}"
 msgstr "Eliminar sitio: %{site_name}"
@@ -597,6 +607,26 @@ msgstr "Desactivar"
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "No se pudo desactivar la renovación automática por %{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:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
 #: 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"
 msgid "Enable failed"
 msgstr "Falló la habilitación"
 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
 #: src/views/stream/components/Deploy.vue:41
 msgid "Enable successfully"
 msgid "Enable successfully"
 msgstr "Habilitado con Éxito"
 msgstr "Habilitado con Éxito"
@@ -1670,6 +1720,20 @@ msgstr "¡Seleccione al menos un nodo!"
 msgid "Please select at least one node!"
 msgid "Please select at least one node!"
 msgstr "¡Seleccione al menos un nodo!"
 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:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
 #: src/views/system/Upgrade.vue:246
@@ -1805,6 +1869,16 @@ msgstr "Recargando Nginx"
 msgid "Remove"
 msgid "Remove"
 msgstr "Eliminar"
 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/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 #: src/views/preference/components/Passkey.vue:50
 msgid "Remove successfully"
 msgid "Remove successfully"
@@ -1821,14 +1895,6 @@ msgstr "Eliminado con éxito"
 msgid "Rename"
 msgid "Rename"
 msgstr "Renombrar"
 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
 #: src/components/Notification/config.ts:30
 msgid ""
 msgid ""
 "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
 "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"
 msgid "Rename Remote Config Success"
 msgstr "Renombrar Configuración Remota Exitosa"
 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
 #: src/views/config/components/Rename.vue:41
 msgid "Rename successfully"
 msgid "Rename successfully"
 msgstr "Renombrado con éxito"
 msgstr "Renombrado con éxito"
@@ -1937,6 +2023,28 @@ msgstr "Guardar Directiva"
 msgid "Save error %{msg}"
 msgid "Save error %{msg}"
 msgstr "Error al guardar %{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/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2148,16 +2256,6 @@ msgstr "Error de Certificado de Sincronización"
 msgid "Sync Certificate Success"
 msgid "Sync Certificate Success"
 msgstr "Sincronización del Certificado exitosa"
 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
 #: src/components/Notification/config.ts:14
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgstr ""
 msgstr ""
@@ -2612,6 +2710,13 @@ msgstr ""
 msgid "Your passkeys"
 msgid "Your passkeys"
 msgstr ""
 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"
 #~ msgid "File not found"
 #~ msgstr "Archivo no Encontrado"
 #~ msgstr "Archivo no Encontrado"
 
 

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

@@ -550,6 +550,16 @@ msgstr "Supprimer"
 msgid "Delete Permanently"
 msgid "Delete Permanently"
 msgstr ""
 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
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgid "Delete site: %{site_name}"
 msgstr "Supprimer le site : %{site_name}"
 msgstr "Supprimer le site : %{site_name}"
@@ -619,6 +629,26 @@ msgstr "Désactivé"
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "La désactivation du renouvellement automatique a échoué pour %{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:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
 #: 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"
 msgid "Enable failed"
 msgstr "Échec de l'activation"
 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
 #: src/views/stream/components/Deploy.vue:41
 #, fuzzy
 #, fuzzy
 msgid "Enable successfully"
 msgid "Enable successfully"
@@ -1721,6 +1771,17 @@ msgstr ""
 msgid "Please select at least one node!"
 msgid "Please select at least one node!"
 msgstr ""
 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:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
 #: src/views/system/Upgrade.vue:246
@@ -1864,6 +1925,16 @@ msgstr "Rechargement de nginx"
 msgid "Remove"
 msgid "Remove"
 msgstr ""
 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/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 #: src/views/preference/components/Passkey.vue:50
 #, fuzzy
 #, fuzzy
@@ -1883,13 +1954,6 @@ msgstr "Enregistré avec succès"
 msgid "Rename"
 msgid "Rename"
 msgstr "Nom d'utilisateur"
 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
 #: src/components/Notification/config.ts:30
 #, fuzzy
 #, fuzzy
 msgid ""
 msgid ""
@@ -1911,6 +1975,26 @@ msgstr "Changer de certificat"
 msgid "Rename Remote Config Success"
 msgid "Rename Remote Config Success"
 msgstr "Changer de certificat"
 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
 #: src/views/config/components/Rename.vue:41
 #, fuzzy
 #, fuzzy
 msgid "Rename successfully"
 msgid "Rename successfully"
@@ -2007,6 +2091,26 @@ msgstr "Enregistrer la directive"
 msgid "Save error %{msg}"
 msgid "Save error %{msg}"
 msgstr "Enregistrer l'erreur %{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/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2223,13 +2327,6 @@ msgstr "Changer de certificat"
 msgid "Sync Certificate Success"
 msgid "Sync Certificate Success"
 msgstr "Changer de certificat"
 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
 #: src/components/Notification/config.ts:14
 #, fuzzy
 #, fuzzy
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
@@ -2671,6 +2768,12 @@ msgstr ""
 msgid "Your passkeys"
 msgid "Your passkeys"
 msgstr ""
 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
 #, fuzzy
 #~ msgid "File not found"
 #~ msgid "File not found"
 #~ msgstr "Fichier introuvable"
 #~ msgstr "Fichier introuvable"

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

@@ -529,6 +529,16 @@ msgstr "삭제"
 msgid "Delete Permanently"
 msgid "Delete Permanently"
 msgstr ""
 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
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgid "Delete site: %{site_name}"
 msgstr "사이트 삭제: %{site_name}"
 msgstr "사이트 삭제: %{site_name}"
@@ -593,6 +603,26 @@ msgstr "비활성화"
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "%{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:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
 #: src/views/site/site_edit/SiteEdit.vue:177
@@ -777,6 +807,26 @@ msgstr "%{name}에 대한 자동 갱신 활성화 실패"
 msgid "Enable failed"
 msgid "Enable failed"
 msgstr "활성화 실패"
 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
 #: src/views/stream/components/Deploy.vue:41
 msgid "Enable successfully"
 msgid "Enable successfully"
 msgstr "성공적으로 활성화"
 msgstr "성공적으로 활성화"
@@ -1686,6 +1736,17 @@ msgstr "적어도 하나의 노드를 선택해주세요!"
 msgid "Please select at least one node!"
 msgid "Please select at least one node!"
 msgstr "적어도 하나의 노드를 선택해주세요!"
 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:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
 #: src/views/system/Upgrade.vue:246
@@ -1828,6 +1889,16 @@ msgstr "Nginx 리로딩 중"
 msgid "Remove"
 msgid "Remove"
 msgstr ""
 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/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 #: src/views/preference/components/Passkey.vue:50
 #, fuzzy
 #, fuzzy
@@ -1847,13 +1918,6 @@ msgstr "성공적으로 제거됨"
 msgid "Rename"
 msgid "Rename"
 msgstr "이름 변경"
 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
 #: src/components/Notification/config.ts:30
 #, fuzzy
 #, fuzzy
 msgid ""
 msgid ""
@@ -1875,6 +1939,26 @@ msgstr "인증서 갱신 오류"
 msgid "Rename Remote Config Success"
 msgid "Rename Remote Config Success"
 msgstr "인증서 갱신 성공"
 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
 #: src/views/config/components/Rename.vue:41
 #, fuzzy
 #, fuzzy
 msgid "Rename successfully"
 msgid "Rename successfully"
@@ -1972,6 +2056,26 @@ msgstr "지시문 저장"
 msgid "Save error %{msg}"
 msgid "Save error %{msg}"
 msgstr "저장 오류 %{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/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2188,13 +2292,6 @@ msgstr "인증서 갱신 오류"
 msgid "Sync Certificate Success"
 msgid "Sync Certificate Success"
 msgstr "인증서 갱신 성공"
 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
 #: src/components/Notification/config.ts:14
 #, fuzzy
 #, fuzzy
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
@@ -2640,6 +2737,12 @@ msgstr ""
 msgid "Your passkeys"
 msgid "Your passkeys"
 msgstr ""
 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
 #, fuzzy
 #~ msgid "File not found"
 #~ msgid "File not found"
 #~ msgstr "파일을 찾을 수 없음"
 #~ msgstr "파일을 찾을 수 없음"

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

@@ -520,6 +520,14 @@ msgstr ""
 msgid "Delete Permanently"
 msgid "Delete Permanently"
 msgstr ""
 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
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgid "Delete site: %{site_name}"
 msgstr ""
 msgstr ""
@@ -584,6 +592,22 @@ msgstr ""
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr ""
 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:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
 #: src/views/site/site_edit/SiteEdit.vue:177
@@ -767,6 +791,22 @@ msgstr ""
 msgid "Enable failed"
 msgid "Enable failed"
 msgstr ""
 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
 #: src/views/stream/components/Deploy.vue:41
 msgid "Enable successfully"
 msgid "Enable successfully"
 msgstr ""
 msgstr ""
@@ -1610,6 +1650,16 @@ msgstr ""
 msgid "Please select at least one node!"
 msgid "Please select at least one node!"
 msgstr ""
 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:169
 #: src/views/environment/BatchUpgrader.vue:222
 #: src/views/environment/BatchUpgrader.vue:222
 #: src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:195
@@ -1742,6 +1792,14 @@ msgstr ""
 msgid "Remove"
 msgid "Remove"
 msgstr ""
 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/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 #: src/views/preference/components/Passkey.vue:50
 msgid "Remove successfully"
 msgid "Remove successfully"
@@ -1758,10 +1816,6 @@ msgstr ""
 msgid "Rename"
 msgid "Rename"
 msgstr ""
 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
 #: src/components/Notification/config.ts:30
 msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
 msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
 msgstr ""
 msgstr ""
@@ -1778,6 +1832,22 @@ msgstr ""
 msgid "Rename Remote Config Success"
 msgid "Rename Remote Config Success"
 msgstr ""
 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
 #: src/views/config/components/Rename.vue:41
 msgid "Rename successfully"
 msgid "Rename successfully"
 msgstr ""
 msgstr ""
@@ -1867,6 +1937,22 @@ msgstr ""
 msgid "Save error %{msg}"
 msgid "Save error %{msg}"
 msgstr ""
 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/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2074,10 +2160,6 @@ msgstr ""
 msgid "Sync Certificate Success"
 msgid "Sync Certificate Success"
 msgstr ""
 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
 #: src/components/Notification/config.ts:14
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgstr ""
 msgstr ""

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

@@ -531,6 +531,16 @@ msgstr "Удалить"
 msgid "Delete Permanently"
 msgid "Delete Permanently"
 msgstr "Удалить навсегда"
 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
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgid "Delete site: %{site_name}"
 msgstr "Удалить сайт: %{site_name}"
 msgstr "Удалить сайт: %{site_name}"
@@ -595,6 +605,26 @@ msgstr "Отключить"
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "Не удалось отключить автоматическое продление для %{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:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
 #: src/views/site/site_edit/SiteEdit.vue:177
@@ -779,6 +809,26 @@ msgstr "Не удалось включить автоматическое про
 msgid "Enable failed"
 msgid "Enable failed"
 msgstr "Включить не удалось"
 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
 #: src/views/stream/components/Deploy.vue:41
 msgid "Enable successfully"
 msgid "Enable successfully"
 msgstr "Включено успешно"
 msgstr "Включено успешно"
@@ -1668,6 +1718,19 @@ msgstr "Пожалуйста, выберите хотя бы один узел!"
 msgid "Please select at least one node!"
 msgid "Please select at least one node!"
 msgstr "Пожалуйста, выберите хотя бы один узел!"
 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:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
 #: src/views/system/Upgrade.vue:246
@@ -1802,6 +1865,16 @@ msgstr "Перезагружается nginx"
 msgid "Remove"
 msgid "Remove"
 msgstr "Удалить"
 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/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 #: src/views/preference/components/Passkey.vue:50
 msgid "Remove successfully"
 msgid "Remove successfully"
@@ -1818,14 +1891,6 @@ msgstr "Успешно удалено"
 msgid "Rename"
 msgid "Rename"
 msgstr "Переименовать"
 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
 #: src/components/Notification/config.ts:30
 msgid ""
 msgid ""
 "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
 "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
@@ -1845,6 +1910,26 @@ msgstr "Ошибка переименования удаленной конфи
 msgid "Rename Remote Config Success"
 msgid "Rename Remote Config Success"
 msgstr "Переименование удаленной конфигурации прошло успешно"
 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
 #: src/views/config/components/Rename.vue:41
 msgid "Rename successfully"
 msgid "Rename successfully"
 msgstr "Переименовано успешно"
 msgstr "Переименовано успешно"
@@ -1935,6 +2020,28 @@ msgstr "Сохранить директиву"
 msgid "Save error %{msg}"
 msgid "Save error %{msg}"
 msgstr "Ошибка сохранения %{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/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2146,15 +2253,6 @@ msgstr "Ошибка синхронизации сертификата"
 msgid "Sync Certificate Success"
 msgid "Sync Certificate Success"
 msgstr "Сертификат успешно синхронизирован"
 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
 #: src/components/Notification/config.ts:14
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgstr ""
 msgstr ""
@@ -2607,6 +2705,13 @@ msgstr ""
 msgid "Your passkeys"
 msgid "Your passkeys"
 msgstr ""
 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"
 #~ msgid "File not found"
 #~ msgstr "Файл не найден"
 #~ msgstr "Файл не найден"
 
 

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

@@ -522,6 +522,16 @@ msgstr "Sil"
 msgid "Delete Permanently"
 msgid "Delete Permanently"
 msgstr "Kalıcı Olarak Sil"
 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
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgid "Delete site: %{site_name}"
 msgstr "Siteyi sil: %{site_name}"
 msgstr "Siteyi sil: %{site_name}"
@@ -587,6 +597,30 @@ msgstr "Devre Dışı"
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "%{name} için otomatik yenilemeyi devre dışı bırakma başarısız oldu"
 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:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
 #: 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"
 msgid "Enable failed"
 msgstr "Etkinleştirme başarısız"
 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
 #: src/views/stream/components/Deploy.vue:41
 msgid "Enable successfully"
 msgid "Enable successfully"
 msgstr "Başarıyla etkinleştirildi"
 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!"
 msgid "Please select at least one node!"
 msgstr "Lütfen en az bir düğüm seçin!"
 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:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
 #: src/views/system/Upgrade.vue:246
@@ -1913,6 +1984,16 @@ msgstr "Nginx'i yeniden yükleme"
 msgid "Remove"
 msgid "Remove"
 msgstr "Kaldır"
 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/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 #: src/views/preference/components/Passkey.vue:50
 #, fuzzy
 #, fuzzy
@@ -1932,15 +2013,6 @@ msgstr "Başarıyla kaldırıldı"
 msgid "Rename"
 msgid "Rename"
 msgstr "Yeniden Adlandır"
 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
 #: src/components/Notification/config.ts:30
 #, fuzzy
 #, fuzzy
 msgid ""
 msgid ""
@@ -1965,6 +2037,28 @@ msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası"
 msgid "Rename Remote Config Success"
 msgid "Rename Remote Config Success"
 msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı"
 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
 #: src/views/config/components/Rename.vue:41
 #, fuzzy
 #, fuzzy
 msgid "Rename successfully"
 msgid "Rename successfully"
@@ -2070,6 +2164,28 @@ msgstr "Direktifi Kaydet"
 msgid "Save error %{msg}"
 msgid "Save error %{msg}"
 msgstr "Hatayı kaydet %{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/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2319,15 +2435,6 @@ msgstr "Senkronizasyon Sertifikası Hatası"
 msgid "Sync Certificate Success"
 msgid "Sync Certificate Success"
 msgstr "Senkronizasyon Sertifikası Başarısı"
 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
 #: src/components/Notification/config.ts:14
 #, fuzzy
 #, fuzzy
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
@@ -2863,6 +2970,15 @@ msgstr ""
 msgid "Your passkeys"
 msgid "Your passkeys"
 msgstr "Geçiş anahtarlarınız"
 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"
 #~ msgid "File not found"
 #~ msgstr "Dosya bulunamadı"
 #~ msgstr "Dosya bulunamadı"
 
 

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

@@ -552,6 +552,16 @@ msgstr "Xoá"
 msgid "Delete Permanently"
 msgid "Delete Permanently"
 msgstr ""
 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
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgid "Delete site: %{site_name}"
 msgstr "Xoá trang web: %{site_name}"
 msgstr "Xoá trang web: %{site_name}"
@@ -621,6 +631,26 @@ msgstr "Tắt"
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "Tắt tự động gia hạn SSL cho %{name} thất bại"
 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:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
 #: 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"
 msgid "Enable failed"
 msgstr "Bật không thành công"
 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
 #: src/views/stream/components/Deploy.vue:41
 #, fuzzy
 #, fuzzy
 msgid "Enable successfully"
 msgid "Enable successfully"
@@ -1728,6 +1778,17 @@ msgstr ""
 msgid "Please select at least one node!"
 msgid "Please select at least one node!"
 msgstr ""
 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:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
 #: src/views/system/Upgrade.vue:246
@@ -1869,6 +1930,16 @@ msgstr "Tải lại nginx"
 msgid "Remove"
 msgid "Remove"
 msgstr ""
 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/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 #: src/views/preference/components/Passkey.vue:50
 #, fuzzy
 #, fuzzy
@@ -1888,13 +1959,6 @@ msgstr "Xoá thành công"
 msgid "Rename"
 msgid "Rename"
 msgstr "Username"
 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
 #: src/components/Notification/config.ts:30
 #, fuzzy
 #, fuzzy
 msgid ""
 msgid ""
@@ -1916,6 +1980,26 @@ msgstr "Gia hạn chứng chỉ SSL thất bại"
 msgid "Rename Remote Config Success"
 msgid "Rename Remote Config Success"
 msgstr "Gia hạn chứng chỉ SSL thành công"
 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
 #: src/views/config/components/Rename.vue:41
 #, fuzzy
 #, fuzzy
 msgid "Rename successfully"
 msgid "Rename successfully"
@@ -2013,6 +2097,26 @@ msgstr "Lưu Directive"
 msgid "Save error %{msg}"
 msgid "Save error %{msg}"
 msgstr "Đã xảy ra lỗi khi lưu %{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/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
 #: 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"
 msgid "Sync Certificate Success"
 msgstr "Gia hạn chứng chỉ SSL thành công"
 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
 #: src/components/Notification/config.ts:14
 #, fuzzy
 #, fuzzy
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
@@ -2674,6 +2771,12 @@ msgstr ""
 msgid "Your passkeys"
 msgid "Your passkeys"
 msgstr ""
 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
 #, fuzzy
 #~ msgid "File not found"
 #~ msgid "File not found"
 #~ msgstr "Không tìm thấy tệp tin"
 #~ 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"
 msgid "Delete Permanently"
 msgstr "彻底删除"
 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
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgid "Delete site: %{site_name}"
 msgstr "删除站点: %{site_name}"
 msgstr "删除站点: %{site_name}"
@@ -583,6 +591,22 @@ msgstr "禁用"
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "关闭 %{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:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
 #: src/views/site/site_edit/SiteEdit.vue:177
@@ -764,6 +788,22 @@ msgstr "启用 %{name} 自动续签失败"
 msgid "Enable failed"
 msgid "Enable failed"
 msgstr "启用失败"
 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
 #: src/views/stream/components/Deploy.vue:41
 msgid "Enable successfully"
 msgid "Enable successfully"
 msgstr "启用成功"
 msgstr "启用成功"
@@ -1626,6 +1666,16 @@ msgstr "请至少选择一个节点进行升级"
 msgid "Please select at least one node!"
 msgid "Please select at least one node!"
 msgstr "请至少选择一个节点!"
 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:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
 #: src/views/system/Upgrade.vue:246
@@ -1758,6 +1808,14 @@ msgstr "正在重载 Nginx"
 msgid "Remove"
 msgid "Remove"
 msgstr "删除"
 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/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 #: src/views/preference/components/Passkey.vue:50
 msgid "Remove successfully"
 msgid "Remove successfully"
@@ -1774,14 +1832,6 @@ msgstr "删除成功"
 msgid "Rename"
 msgid "Rename"
 msgstr "重命名"
 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
 #: src/components/Notification/config.ts:30
 msgid ""
 msgid ""
 "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
 "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
@@ -1800,6 +1850,22 @@ msgstr "远程配置重命名错误"
 msgid "Rename Remote Config Success"
 msgid "Rename Remote Config Success"
 msgstr "重命名远程配置成功"
 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
 #: src/views/config/components/Rename.vue:41
 msgid "Rename successfully"
 msgid "Rename successfully"
 msgstr "重命名成功"
 msgstr "重命名成功"
@@ -1889,6 +1955,22 @@ msgstr "保存指令"
 msgid "Save error %{msg}"
 msgid "Save error %{msg}"
 msgstr "保存错误 %{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/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2094,13 +2176,6 @@ msgstr "同步证书错误"
 msgid "Sync Certificate Success"
 msgid "Sync Certificate Success"
 msgstr "同步证书成功"
 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
 #: src/components/Notification/config.ts:14
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgstr "同步配置 %{config_name} 到 %{env_name} 失败,响应:%{resp}"
 msgstr "同步配置 %{config_name} 到 %{env_name} 失败,响应:%{resp}"
@@ -2529,6 +2604,13 @@ msgstr "您尚未配置 Webauthn 的设置,因此无法添加 Passkey。"
 msgid "Your passkeys"
 msgid "Your passkeys"
 msgstr "你的 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"
 #~ msgid "File not found"
 #~ msgstr "文件未找到"
 #~ msgstr "文件未找到"
 
 

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

@@ -528,6 +528,16 @@ msgstr "刪除"
 msgid "Delete Permanently"
 msgid "Delete Permanently"
 msgstr "永久刪除"
 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
 #: src/views/site/site_list/SiteList.vue:68
 msgid "Delete site: %{site_name}"
 msgid "Delete site: %{site_name}"
 msgstr "刪除網站:%{site_name}"
 msgstr "刪除網站:%{site_name}"
@@ -592,6 +602,26 @@ msgstr "停用"
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "關閉 %{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:109
 #: src/views/environment/envColumns.tsx:92
 #: src/views/environment/envColumns.tsx:92
 #: src/views/site/site_edit/SiteEdit.vue:177
 #: src/views/site/site_edit/SiteEdit.vue:177
@@ -771,6 +801,26 @@ msgstr "啟用 %{name} 自動續簽失敗"
 msgid "Enable failed"
 msgid "Enable failed"
 msgstr "啟用失敗"
 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
 #: src/views/stream/components/Deploy.vue:41
 msgid "Enable successfully"
 msgid "Enable successfully"
 msgstr "啟用成功"
 msgstr "啟用成功"
@@ -1641,6 +1691,18 @@ msgstr "請至少選擇一個節點!"
 msgid "Please select at least one node!"
 msgid "Please select at least one node!"
 msgstr "請至少選擇一個節點!"
 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:169
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195
 #: src/views/system/Upgrade.vue:246
 #: src/views/system/Upgrade.vue:246
@@ -1776,6 +1838,16 @@ msgstr "正在重新載入 Nginx"
 msgid "Remove"
 msgid "Remove"
 msgstr "移除"
 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/AuthSettings.vue:47
 #: src/views/preference/components/Passkey.vue:50
 #: src/views/preference/components/Passkey.vue:50
 msgid "Remove successfully"
 msgid "Remove successfully"
@@ -1792,14 +1864,6 @@ msgstr "移除成功"
 msgid "Rename"
 msgid "Rename"
 msgstr "重命名"
 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
 #: src/components/Notification/config.ts:30
 msgid ""
 msgid ""
 "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
 "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}"
@@ -1818,6 +1882,26 @@ msgstr "重命名遠端配置錯誤"
 msgid "Rename Remote Config Success"
 msgid "Rename Remote Config Success"
 msgstr "重新命名遠端配置成功"
 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
 #: src/views/config/components/Rename.vue:41
 msgid "Rename successfully"
 msgid "Rename successfully"
 msgstr "重命名成功"
 msgstr "重命名成功"
@@ -1908,6 +1992,26 @@ msgstr "儲存指令"
 msgid "Save error %{msg}"
 msgid "Save error %{msg}"
 msgstr "儲存錯誤 %{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/StdBatchEdit.vue:47
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117
 #: src/views/certificate/CertificateEditor.vue:46
 #: src/views/certificate/CertificateEditor.vue:46
@@ -2112,14 +2216,6 @@ msgstr "同步憑證錯誤"
 msgid "Sync Certificate Success"
 msgid "Sync Certificate Success"
 msgstr "同步憑證成功"
 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
 #: src/components/Notification/config.ts:14
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
 msgstr "同步配置 %{config_name} 到 %{env_name} 失敗,回應:%{resp}"
 msgstr "同步配置 %{config_name} 到 %{env_name} 失敗,回應:%{resp}"
@@ -2548,6 +2644,13 @@ msgstr ""
 msgid "Your passkeys"
 msgid "Your passkeys"
 msgstr ""
 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"
 #~ msgid "File not found"
 #~ msgstr "找不到檔案"
 #~ msgstr "找不到檔案"
 
 

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

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

+ 5 - 12
internal/site/delete.go

@@ -12,13 +12,14 @@ import (
 	"net/http"
 	"net/http"
 	"os"
 	"os"
 	"runtime"
 	"runtime"
-	"sync"
 )
 )
 
 
 // Delete deletes a site by removing the file in sites-available
 // Delete deletes a site by removing the file in sites-available
 func Delete(name string) (err error) {
 func Delete(name string) (err error) {
 	availablePath := nginx.GetConfPath("sites-available", name)
 	availablePath := nginx.GetConfPath("sites-available", name)
 
 
+	syncDelete(name)
+
 	s := query.Site
 	s := query.Site
 	_, err = s.Where(s.Path.Eq(availablePath)).Unscoped().Delete(&model.Site{})
 	_, err = s.Where(s.Path.Eq(availablePath)).Unscoped().Delete(&model.Site{})
 	if err != nil {
 	if err != nil {
@@ -43,17 +44,12 @@ func Delete(name string) (err error) {
 		return
 		return
 	}
 	}
 
 
-	go syncDelete(name)
-
 	return
 	return
 }
 }
 
 
 func syncDelete(name string) {
 func syncDelete(name string) {
 	nodes := getSyncNodes(name)
 	nodes := getSyncNodes(name)
 
 
-	wg := &sync.WaitGroup{}
-	wg.Add(len(nodes))
-
 	for _, node := range nodes {
 	for _, node := range nodes {
 		go func() {
 		go func() {
 			defer func() {
 			defer func() {
@@ -63,23 +59,20 @@ func syncDelete(name string) {
 					logger.Error(err)
 					logger.Error(err)
 				}
 				}
 			}()
 			}()
-			defer wg.Done()
-
 			client := resty.New()
 			client := resty.New()
 			client.SetBaseURL(node.URL)
 			client.SetBaseURL(node.URL)
 			resp, err := client.R().
 			resp, err := client.R().
+				SetHeader("X-Node-Secret", node.Token).
 				Delete(fmt.Sprintf("/api/sites/%s", name))
 				Delete(fmt.Sprintf("/api/sites/%s", name))
 			if err != nil {
 			if err != nil {
 				notification.Error("Delete Remote Site Error", err.Error())
 				notification.Error("Delete Remote Site Error", err.Error())
 				return
 				return
 			}
 			}
 			if resp.StatusCode() != http.StatusOK {
 			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
 				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 := resty.New()
 			client.SetBaseURL(node.URL)
 			client.SetBaseURL(node.URL)
 			resp, err := client.R().
 			resp, err := client.R().
+				SetHeader("X-Node-Secret", node.Token).
 				Post(fmt.Sprintf("/api/sites/%s/disable", name))
 				Post(fmt.Sprintf("/api/sites/%s/disable", name))
 			if err != nil {
 			if err != nil {
 				notification.Error("Disable Remote Site Error", err.Error())
 				notification.Error("Disable Remote Site Error", err.Error())
 				return
 				return
 			}
 			}
 			if resp.StatusCode() != http.StatusOK {
 			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
 				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 := resty.New()
 			client.SetBaseURL(node.URL)
 			client.SetBaseURL(node.URL)
 			resp, err := client.R().
 			resp, err := client.R().
+				SetHeader("X-Node-Secret", node.Token).
 				Post(fmt.Sprintf("/api/sites/%s/enable", name))
 				Post(fmt.Sprintf("/api/sites/%s/enable", name))
 			if err != nil {
 			if err != nil {
 				notification.Error("Enable Remote Site Error", err.Error())
 				notification.Error("Enable Remote Site Error", err.Error())
 				return
 				return
 			}
 			}
 			if resp.StatusCode() != http.StatusOK {
 			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
 				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 := resty.New()
 			client.SetBaseURL(node.URL)
 			client.SetBaseURL(node.URL)
 			resp, err := client.R().
 			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))
 				Post(fmt.Sprintf("/api/sites/%s/rename", oldName))
 			if err != nil {
 			if err != nil {
 				notification.Error("Rename Remote Site Error", err.Error())
 				notification.Error("Rename Remote Site Error", err.Error())
 				return
 				return
 			}
 			}
 			if resp.StatusCode() != http.StatusOK {
 			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
 				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
 	s := query.Site
 	_, err = s.Where(s.Path.Eq(path)).
 	_, err = s.Where(s.Path.Eq(path)).
 		Select(s.SiteCategoryID, s.SyncNodeIDs).
 		Select(s.SiteCategoryID, s.SyncNodeIDs).
-		Updates(&model.Site{
-			SiteCategoryID: siteCategoryId,
-			SyncNodeIDs:    syncNodeIds,
-		})
+			Updates(&model.Site{
+				SiteCategoryID: siteCategoryId,
+				SyncNodeIDs:    syncNodeIds,
+			})
 	if err != nil {
 	if err != nil {
 		return
 		return
 	}
 	}
@@ -79,20 +79,21 @@ func syncSave(name string, content string) {
 			client := resty.New()
 			client := resty.New()
 			client.SetBaseURL(node.URL)
 			client.SetBaseURL(node.URL)
 			resp, err := client.R().
 			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))
 				Post(fmt.Sprintf("/api/sites/%s", name))
 			if err != nil {
 			if err != nil {
 				notification.Error("Save Remote Site Error", err.Error())
 				notification.Error("Save Remote Site Error", err.Error())
 				return
 				return
 			}
 			}
 			if resp.StatusCode() != http.StatusOK {
 			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
 				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
 package site
 
 
 import (
 import (
+	"encoding/json"
 	"github.com/0xJacky/Nginx-UI/internal/nginx"
 	"github.com/0xJacky/Nginx-UI/internal/nginx"
 	"github.com/0xJacky/Nginx-UI/model"
 	"github.com/0xJacky/Nginx-UI/model"
 	"github.com/0xJacky/Nginx-UI/query"
 	"github.com/0xJacky/Nginx-UI/query"
+	"github.com/gin-gonic/gin"
+	"github.com/go-resty/resty/v2"
 	"github.com/samber/lo"
 	"github.com/samber/lo"
 	"github.com/uozi-tech/cosy/logger"
 	"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) {
 func getSyncNodes(name string) (nodes []*model.Environment) {
 	configFilePath := nginx.GetConfPath("sites-available", name)
 	configFilePath := nginx.GetConfPath("sites-available", name)
 	s := query.Site
 	s := query.Site
@@ -33,3 +37,37 @@ func getSyncNodes(name string) (nodes []*model.Environment) {
 	}
 	}
 	return
 	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)
+}