feat(config): supports delete file or directory

This commit is contained in:
Jacky
2025-06-11 07:09:04 +00:00
parent 2c7ebea7eb
commit d64990ec4f
28 changed files with 1587 additions and 398 deletions

View File

@@ -4,6 +4,9 @@ globs: app/**/*.tsx,app/**/*.vue,app/**/*.ts,app/**/*.js,app/**/*.json
alwaysApply: false
---
You are an expert in TypeScript, Node.js, Vite, Vue.js, Vue Router, Pinia, VueUse, Ant Design Vue, and UnoCSS, with a deep understanding of best practices and performance optimization techniques in these technologies.
Package manager: pnpm
- pnpm typecheck
  
    Code Style and Structure
    - Write concise, maintainable, and technically accurate TypeScript code with relevant examples.

View File

@@ -28,7 +28,6 @@
"antfu.unocss",
"github.copilot",
"golang.go",
"vue.volar",
"ms-azuretools.vscode-docker",
"akino.i18n-gettext",
"github.vscode-github-actions"

75
api/config/delete.go Normal file
View File

@@ -0,0 +1,75 @@
package config
import (
"net/http"
"os"
"github.com/0xJacky/Nginx-UI/internal/config"
"github.com/0xJacky/Nginx-UI/internal/helper"
"github.com/0xJacky/Nginx-UI/internal/nginx"
"github.com/gin-gonic/gin"
"github.com/uozi-tech/cosy"
)
// DeleteConfig handles the deletion of configuration files or directories
func DeleteConfig(c *gin.Context) {
var json struct {
BasePath string `json:"base_path"`
Name string `json:"name" binding:"required"`
SyncNodeIds []uint64 `json:"sync_node_ids" gorm:"serializer:json"`
}
if !cosy.BindAndValid(c, &json) {
return
}
// Decode paths from URL encoding
decodedBasePath := helper.UnescapeURL(json.BasePath)
decodedName := helper.UnescapeURL(json.Name)
fullPath := nginx.GetConfPath(decodedBasePath, decodedName)
// Check if path is under nginx config directory
if err := config.ValidateDeletePath(fullPath); err != nil {
cosy.ErrHandler(c, err)
return
}
// Check if trying to delete protected paths
if config.IsProtectedPath(fullPath, decodedName) {
cosy.ErrHandler(c, config.ErrCannotDeleteProtectedPath)
return
}
// Check if file/directory exists
stat, err := config.CheckFileExists(fullPath)
if err != nil {
cosy.ErrHandler(c, err)
return
}
// Delete the file or directory
err = os.RemoveAll(fullPath)
if err != nil {
cosy.ErrHandler(c, err)
return
}
// Clean up database records
if err := config.CleanupDatabaseRecords(fullPath, stat.IsDir()); err != nil {
cosy.ErrHandler(c, err)
return
}
// Sync deletion to remote servers if configured
if len(json.SyncNodeIds) > 0 {
err = config.SyncDeleteOnRemoteServer(fullPath, json.SyncNodeIds)
if err != nil {
cosy.ErrHandler(c, err)
return
}
}
c.JSON(http.StatusOK, gin.H{
"message": "deleted successfully",
})
}

View File

@@ -17,6 +17,7 @@ func InitRouter(r *gin.RouterGroup) {
{
o.POST("config_mkdir", Mkdir)
o.POST("config_rename", Rename)
o.POST("config_delete", DeleteConfig)
}
r.GET("config_histories", GetConfigHistory)

View File

@@ -34,6 +34,11 @@ const config = extendCurdApi(useCurdApi<Config>('/configs'), {
new_name: newName,
sync_node_ids: syncNodeIds,
}),
delete: (basePath: string, name: string, syncNodeIds?: number[]) => http.post('/config_delete', {
base_path: basePath,
name,
sync_node_ids: syncNodeIds,
}),
get_history: (filepath: string, params?: { page: number, page_size: number }) => {
return http.get<GetListResponse<ConfigBackup>>('/config_histories', { params: { filepath, ...params } })
},

View File

@@ -161,7 +161,7 @@ msgstr "النسبة الفعلية للعامل إلى المُهيأ"
#: src/components/NgxConfigEditor/NgxUpstream.vue:166 src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:45
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:94
#: src/views/stream/StreamList.vue:102
#: src/views/site/site_list/SiteList.vue:95 src/views/stream/StreamList.vue:103
msgid "Add"
msgstr "إضافة"
@@ -197,7 +197,7 @@ msgstr "إضافة خادم"
msgid "Add Site"
msgstr "أضف موقع"
#: src/views/stream/StreamList.vue:139
#: src/views/stream/StreamList.vue:140
msgid "Add Stream"
msgstr "أضف Stream"
@@ -296,8 +296,8 @@ msgstr "هل أنت متأكد أنك تريد مسح سجل المحادثة؟"
msgid "Are you sure you want to delete permanently?"
msgstr "هل أنت متأكد أنك تريد الحذف نهائيًا؟"
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:100
#: src/views/stream/StreamList.vue:122
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:113
#: src/views/stream/StreamList.vue:123
msgid "Are you sure you want to delete?"
msgstr "هل أنت متأكد أنك تريد الحذف؟"
@@ -415,8 +415,7 @@ msgstr "إعادة التشغيل التلقائي"
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/components/ConfigLeftPanel.vue:273
#: src/views/config/ConfigList.vue:112
#: src/views/config/ConfigList.vue:195
#: src/views/config/ConfigList.vue:120 src/views/config/ConfigList.vue:217
#: src/views/nginx_log/NginxLog.vue:174
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:156
#: src/views/stream/components/StreamEditor.vue:111
@@ -606,6 +605,7 @@ msgstr ""
#: src/components/ChatGPT/ChatMessage.vue:216
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:37
#: src/views/config/components/Delete.vue:98
#: src/views/preference/components/AuthSettings/Passkey.vue:141
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:40
@@ -1043,7 +1043,7 @@ msgstr "معلومات التكوين"
msgid "Configuration Name"
msgstr "اسم التكوين"
#: src/views/config/ConfigList.vue:104
#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr "التكوينات"
@@ -1127,11 +1127,11 @@ msgstr "إنشاء آخر"
msgid "Create Backup"
msgstr "إنشاء نسخة احتياطية"
#: src/views/config/ConfigList.vue:122
#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr "إنشاء ملف"
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:129
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr "إنشاء مجلد"
@@ -1239,7 +1239,7 @@ msgstr "يوميًا في الساعة %{time}"
#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:67
#: src/views/config/ConfigList.vue:69
msgid "Dashboard"
msgstr "لوحة المعلومات"
@@ -1266,8 +1266,11 @@ msgstr "حدد اسم منطقة الذاكرة المشتركة والحجم،
#: src/components/NgxConfigEditor/NgxServer.vue:110
#: src/components/NgxConfigEditor/NgxUpstream.vue:134 src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:88
#: src/views/site/site_list/SiteList.vue:109
#: src/views/stream/StreamList.vue:131
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/site/site_list/SiteList.vue:122
#: src/views/stream/StreamList.vue:132
msgid "Delete"
msgstr "حذف"
@@ -1275,6 +1278,10 @@ msgstr "حذف"
msgid "Delete Certificate"
msgstr "حذف الشهادة"
#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr "تأكيد الحذف"
#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr "حذف نهائي"
@@ -1319,7 +1326,7 @@ msgstr "تم حذف الدفق %{name} من %{node} بنجاح"
msgid "Delete stream: %{stream_name}"
msgstr "حذف البث: %{stream_name}"
#: src/language/curd.ts:29
#: src/language/curd.ts:29 src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr "تم الحذف بنجاح"
@@ -1559,9 +1566,9 @@ msgstr ""
"مواقع الويب غير HTTPS، إلا عند التشغيل على localhost."
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:95
#: src/views/site/site_list/SiteList.vue:108
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:117
#: src/views/stream/StreamList.vue:118
msgid "Duplicate"
msgstr "مكرر"
@@ -2144,6 +2151,14 @@ msgstr "فشل في كتابة ملف مفتاح الأمان: {0}"
msgid "Failed to write to zip buffer: {0}"
msgstr "فشل الكتابة إلى مخزن zip المؤقت: {0}"
#: src/views/config/components/Delete.vue:116
msgid "file"
msgstr "ملف"
#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr "ملف"
#: src/language/constants.ts:32
msgid "File exists"
msgstr "الملف موجود"
@@ -2168,6 +2183,14 @@ msgstr "انتهى"
msgid "First View"
msgstr "المشاهدة الأولى"
#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr "مجلد"
#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr "مجلد"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
@@ -2754,7 +2777,7 @@ msgstr ""
#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:72
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr "إدارة التكوينات"
@@ -2887,7 +2910,7 @@ msgid "Modified At"
msgstr "تم التعديل في"
#: src/components/ChatGPT/ChatMessage.vue:212
#: src/views/config/ConfigList.vue:174
#: src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr "تعديل"
@@ -2931,6 +2954,7 @@ msgstr "توجيه متعدد الأسطر"
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/DNSCredential.vue:9
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:5
#: src/views/environments/group/columns.ts:7
@@ -2943,7 +2967,7 @@ msgstr "توجيه متعدد الأسطر"
#: src/views/stream/columns.tsx:12
#: src/views/stream/components/RightPanel/Basic.vue:30
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:144
#: src/views/stream/StreamList.vue:145
msgid "Name"
msgstr "اسم"
@@ -3211,7 +3235,8 @@ msgstr "يتضمن Nginx.conf دليل streams-enabled"
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:132
#: src/views/preference/tabs/CertSettings.vue:73
#: src/views/site/site_list/SiteList.vue:98 src/views/stream/StreamList.vue:120
#: src/views/site/site_list/SiteList.vue:111
#: src/views/stream/StreamList.vue:121
msgid "No"
msgstr "لا"
@@ -3374,9 +3399,9 @@ msgstr "غير متصل"
#: src/views/site/site_edit/components/Cert/IssueCert.vue:39
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:99
#: src/views/site/site_list/SiteList.vue:112
#: src/views/stream/components/StreamStatusSelect.vue:60
#: src/views/stream/StreamList.vue:121
#: src/views/stream/StreamList.vue:122
msgid "OK"
msgstr "حسنًا"
@@ -3510,6 +3535,7 @@ msgstr "كلمات المرور غير متطابقة"
#: src/components/NgxConfigEditor/LocationEditor.vue:138
#: src/language/curd.ts:59
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/nginx_log/NginxLogList.vue:44
msgid "Path"
msgstr "مسار"
@@ -3707,6 +3733,10 @@ msgstr "يرجى اختيار عقدة واحدة على الأقل للترقي
msgid "Please type \"Revoke\" to confirm"
msgstr "يرجى كتابة \"إلغاء\" للتأكيد"
#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr "الرجاء كتابة نص التأكيد بالضبط"
#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
@@ -3764,6 +3794,10 @@ msgstr "حظر حذف المستخدم الافتراضي"
msgid "Project Team"
msgstr "فريق المشروع"
#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr "دليل محمي"
#: src/views/certificate/DNSCredential.vue:17
msgid "Provider"
msgstr "مزود"
@@ -3939,7 +3973,7 @@ msgstr "تمت الإزالة بنجاح"
#: src/components/NgxConfigEditor/NgxUpstream.vue:131
#: src/views/config/components/ConfigName.vue:51
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:181
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
@@ -4799,6 +4833,7 @@ msgstr "التبديل إلى الوضع الداكن"
msgid "Switch to light theme"
msgstr "التبديل إلى الوضع الفاتح"
#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr "مزامنة"
@@ -5042,6 +5077,10 @@ msgstr "هذا العنصر في الشهادة التلقائية غير صال
msgid "This certificate is managed by Nginx UI"
msgstr "يتم إدارة هذه الشهادة بواسطة Nginx UI"
#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr "هذا الدليل محمي ولا يمكن حذفه لأمان النظام."
#: src/views/certificate/CertificateEditor.vue:162
#: src/views/certificate/CertificateEditor.vue:176
#: src/views/certificate/CertificateEditor.vue:191
@@ -5098,6 +5137,10 @@ msgstr ""
msgid "This value is already taken"
msgstr "هذه القيمة مستخدمة مسبقا"
#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr "سيتم حذف %{type} نهائيًا."
#: src/components/SystemRestore/SystemRestoreContent.vue:227
#: src/components/SystemRestore/SystemRestoreContent.vue:304
msgid ""
@@ -5254,6 +5297,7 @@ msgstr "يتطلب المصادقة الثنائية"
#: src/components/ProxyTargets/ProxyTargets.vue:48
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:83
#: src/views/nginx_log/NginxLogList.vue:12
#: src/views/notification/notificationColumns.tsx:8
@@ -5261,6 +5305,10 @@ msgstr "يتطلب المصادقة الثنائية"
msgid "Type"
msgstr "نوع"
#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr "اكتب %{delete} للتأكيد"
#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:18
msgid "Unknown"
@@ -5408,7 +5456,7 @@ msgstr "تحقق من متطلبات النظام"
msgid "Version"
msgstr "إصدار"
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:83
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:84
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:83
msgid "View"
msgstr "عرض"
@@ -5864,9 +5912,6 @@ msgstr "مفاتيح المرور الخاصة بك"
#~ msgid "Can't scan? Use text key binding"
#~ msgstr "لا يمكن المسح؟ استخدم ربط مفتاح النص"
#~ msgid "File"
#~ msgstr "ملف"
#~ msgid "Incorrect username or password"
#~ msgstr "اسم المستخدم أو كلمة المرور غير صحيحة"

View File

@@ -161,7 +161,7 @@ msgstr "Tatsächliches Verhältnis von Arbeitern zu konfigurierten"
#: src/components/NgxConfigEditor/NgxUpstream.vue:166 src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:45
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:94
#: src/views/stream/StreamList.vue:102
#: src/views/site/site_list/SiteList.vue:95 src/views/stream/StreamList.vue:103
msgid "Add"
msgstr "Hinzufügen"
@@ -197,7 +197,7 @@ msgstr "Server hinzufügen"
msgid "Add Site"
msgstr "Seite hinzufügen"
#: src/views/stream/StreamList.vue:139
#: src/views/stream/StreamList.vue:140
msgid "Add Stream"
msgstr "Stream hinzufügen"
@@ -298,8 +298,8 @@ msgstr "Sind Sie sicher, dass Sie den Chatverlauf löschen möchten?"
msgid "Are you sure you want to delete permanently?"
msgstr "Sind Sie sicher, dass Sie dauerhaft löschen möchten?"
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:100
#: src/views/stream/StreamList.vue:122
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:113
#: src/views/stream/StreamList.vue:123
msgid "Are you sure you want to delete?"
msgstr "Sind Sie sicher, dass Sie löschen möchten?"
@@ -421,8 +421,7 @@ msgstr "Automatischer Neustart"
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/components/ConfigLeftPanel.vue:273
#: src/views/config/ConfigList.vue:112
#: src/views/config/ConfigList.vue:195
#: src/views/config/ConfigList.vue:120 src/views/config/ConfigList.vue:217
#: src/views/nginx_log/NginxLog.vue:174
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:156
#: src/views/stream/components/StreamEditor.vue:111
@@ -622,6 +621,7 @@ msgstr ""
#: src/components/ChatGPT/ChatMessage.vue:216
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:37
#: src/views/config/components/Delete.vue:98
#: src/views/preference/components/AuthSettings/Passkey.vue:141
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:40
@@ -1057,7 +1057,7 @@ msgstr "Konfigurationsinformationen"
msgid "Configuration Name"
msgstr "Konf"
#: src/views/config/ConfigList.vue:104
#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr "Konfigurationen"
@@ -1143,11 +1143,11 @@ msgstr "Weiteres erstellen"
msgid "Create Backup"
msgstr "Backup erstellen"
#: src/views/config/ConfigList.vue:122
#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr "Datei erstellen"
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:129
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr "Ordner erstellen"
@@ -1256,7 +1256,7 @@ msgstr "Täglich um %{time}"
#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:67
#: src/views/config/ConfigList.vue:69
msgid "Dashboard"
msgstr "Übersicht"
@@ -1285,8 +1285,11 @@ msgstr ""
#: src/components/NgxConfigEditor/NgxServer.vue:110
#: src/components/NgxConfigEditor/NgxUpstream.vue:134 src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:88
#: src/views/site/site_list/SiteList.vue:109
#: src/views/stream/StreamList.vue:131
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/site/site_list/SiteList.vue:122
#: src/views/stream/StreamList.vue:132
msgid "Delete"
msgstr "Löschen"
@@ -1294,6 +1297,10 @@ msgstr "Löschen"
msgid "Delete Certificate"
msgstr "Zertifikat löschen"
#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr "Löschbestätigung"
#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr "Permanent löschen"
@@ -1338,7 +1345,7 @@ msgstr "Stream %{name} wurde erfolgreich von %{node} gelöscht"
msgid "Delete stream: %{stream_name}"
msgstr "Stream löschen: %{stream_name}"
#: src/language/curd.ts:29
#: src/language/curd.ts:29 src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr "Erfolgreich gelöscht"
@@ -1583,9 +1590,9 @@ msgstr ""
"ausgeführt werden."
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:95
#: src/views/site/site_list/SiteList.vue:108
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:117
#: src/views/stream/StreamList.vue:118
msgid "Duplicate"
msgstr "Duplizieren"
@@ -2168,6 +2175,14 @@ msgstr "Fehler beim Schreiben der Sicherheitsschlüsseldatei: {0}"
msgid "Failed to write to zip buffer: {0}"
msgstr "Fehler beim Schreiben in den Zip-Puffer: {0}"
#: src/views/config/components/Delete.vue:116
msgid "file"
msgstr "Datei"
#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr "Datei"
#: src/language/constants.ts:32
msgid "File exists"
msgstr "Datei existiert"
@@ -2192,6 +2207,14 @@ msgstr "Erledigt"
msgid "First View"
msgstr "Erste Ansicht"
#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr "Ordner"
#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr "Ordner"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
@@ -2786,7 +2809,7 @@ msgstr ""
#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:72
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr "Verwalte Konfigurationen"
@@ -2919,7 +2942,7 @@ msgid "Modified At"
msgstr "Geändert am"
#: src/components/ChatGPT/ChatMessage.vue:212
#: src/views/config/ConfigList.vue:174
#: src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr "Ändern"
@@ -2963,6 +2986,7 @@ msgstr "Mehrzeilige Direktive"
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/DNSCredential.vue:9
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:5
#: src/views/environments/group/columns.ts:7
@@ -2975,7 +2999,7 @@ msgstr "Mehrzeilige Direktive"
#: src/views/stream/columns.tsx:12
#: src/views/stream/components/RightPanel/Basic.vue:30
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:144
#: src/views/stream/StreamList.vue:145
msgid "Name"
msgstr "Name"
@@ -3245,7 +3269,8 @@ msgstr "Nginx.conf enthält das streams-enabled-Verzeichnis"
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:132
#: src/views/preference/tabs/CertSettings.vue:73
#: src/views/site/site_list/SiteList.vue:98 src/views/stream/StreamList.vue:120
#: src/views/site/site_list/SiteList.vue:111
#: src/views/stream/StreamList.vue:121
msgid "No"
msgstr "Nein"
@@ -3411,9 +3436,9 @@ msgstr "Offline"
#: src/views/site/site_edit/components/Cert/IssueCert.vue:39
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:99
#: src/views/site/site_list/SiteList.vue:112
#: src/views/stream/components/StreamStatusSelect.vue:60
#: src/views/stream/StreamList.vue:121
#: src/views/stream/StreamList.vue:122
msgid "OK"
msgstr "OK"
@@ -3547,6 +3572,7 @@ msgstr "Passwörter stimmen nicht überein"
#: src/components/NgxConfigEditor/LocationEditor.vue:138
#: src/language/curd.ts:59
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/nginx_log/NginxLogList.vue:44
msgid "Path"
msgstr "Pfad"
@@ -3759,6 +3785,10 @@ msgstr "Bitte wähle mindestens einen Knoten zum Upgrade aus"
msgid "Please type \"Revoke\" to confirm"
msgstr "Bitte geben Sie \"Widerrufen\" ein, um zu bestätigen"
#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr "Bitte geben Sie den genauen Bestätigungstext ein"
#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
@@ -3816,6 +3846,10 @@ msgstr "Verhindere das Löschen des Standardbenutzers"
msgid "Project Team"
msgstr "Projektteam"
#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr "Geschützter Ordner"
#: src/views/certificate/DNSCredential.vue:17
msgid "Provider"
msgstr "Anbieter"
@@ -3996,7 +4030,7 @@ msgstr "Erfolgreich entfernt"
#: src/components/NgxConfigEditor/NgxUpstream.vue:131
#: src/views/config/components/ConfigName.vue:51
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:181
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
@@ -4870,6 +4904,7 @@ msgstr "Zum dunklen Thema wechseln"
msgid "Switch to light theme"
msgstr "Zum hellen Thema wechseln"
#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr "Synchronisieren"
@@ -5117,6 +5152,12 @@ msgstr "Dieses Auto-Zertifikatselement ist ungültig, bitte entferne es."
msgid "This certificate is managed by Nginx UI"
msgstr "Dieses Zertifikat wird von Nginx UI verwaltet"
#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr ""
"Dieses Verzeichnis ist geschützt und kann aus Sicherheitsgründen nicht "
"gelöscht werden."
#: src/views/certificate/CertificateEditor.vue:162
#: src/views/certificate/CertificateEditor.vue:176
#: src/views/certificate/CertificateEditor.vue:191
@@ -5174,6 +5215,10 @@ msgstr ""
msgid "This value is already taken"
msgstr "Dieser Wert ist bereits vergeben"
#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr "Dadurch wird %{type} dauerhaft gelöscht."
#: src/components/SystemRestore/SystemRestoreContent.vue:227
#: src/components/SystemRestore/SystemRestoreContent.vue:304
msgid ""
@@ -5335,6 +5380,7 @@ msgstr "Zwei-Faktor-Authentifizierung erforderlich"
#: src/components/ProxyTargets/ProxyTargets.vue:48
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:83
#: src/views/nginx_log/NginxLogList.vue:12
#: src/views/notification/notificationColumns.tsx:8
@@ -5342,6 +5388,10 @@ msgstr "Zwei-Faktor-Authentifizierung erforderlich"
msgid "Type"
msgstr "Typ"
#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr "Geben Sie %{delete} zur Bestätigung ein"
#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:18
msgid "Unknown"
@@ -5489,7 +5539,7 @@ msgstr "Überprüfen Sie die Systemanforderungen"
msgid "Version"
msgstr "Version"
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:83
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:84
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:83
msgid "View"
msgstr "Anzeigen"
@@ -5956,9 +6006,6 @@ msgstr "Deine Passkeys"
#~ msgid "Can't scan? Use text key binding"
#~ msgstr "Scannt nicht möglich? Verwenden Sie die Texttastenbindung"
#~ msgid "File"
#~ msgstr "Datei"
#~ msgid ""
#~ "If you lose your mobile phone, you can use the recovery code to reset your "
#~ "2FA."

View File

@@ -145,7 +145,7 @@ msgstr ""
#: src/components/NgxConfigEditor/NgxUpstream.vue:166 src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:45
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:94
#: src/views/stream/StreamList.vue:102
#: src/views/site/site_list/SiteList.vue:95 src/views/stream/StreamList.vue:103
msgid "Add"
msgstr ""
@@ -181,7 +181,7 @@ msgstr ""
msgid "Add Site"
msgstr ""
#: src/views/stream/StreamList.vue:139
#: src/views/stream/StreamList.vue:140
msgid "Add Stream"
msgstr ""
@@ -278,8 +278,8 @@ msgstr ""
msgid "Are you sure you want to delete permanently?"
msgstr ""
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:100
#: src/views/stream/StreamList.vue:122
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:113
#: src/views/stream/StreamList.vue:123
msgid "Are you sure you want to delete?"
msgstr ""
@@ -397,7 +397,7 @@ msgstr ""
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/components/ConfigLeftPanel.vue:273
#: src/views/config/ConfigList.vue:112 src/views/config/ConfigList.vue:195
#: src/views/config/ConfigList.vue:120 src/views/config/ConfigList.vue:217
#: src/views/nginx_log/NginxLog.vue:174
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:156
#: src/views/stream/components/StreamEditor.vue:111
@@ -584,6 +584,7 @@ msgstr ""
#: src/components/ChatGPT/ChatMessage.vue:216
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:37
#: src/views/config/components/Delete.vue:98
#: src/views/preference/components/AuthSettings/Passkey.vue:141
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:40
@@ -982,7 +983,7 @@ msgstr ""
msgid "Configuration Name"
msgstr ""
#: src/views/config/ConfigList.vue:104
#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr ""
@@ -1066,11 +1067,11 @@ msgstr ""
msgid "Create Backup"
msgstr ""
#: src/views/config/ConfigList.vue:122
#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr ""
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:129
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr ""
@@ -1176,7 +1177,7 @@ msgstr ""
#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:67
#: src/views/config/ConfigList.vue:69
msgid "Dashboard"
msgstr ""
@@ -1203,8 +1204,11 @@ msgstr ""
#: src/components/NgxConfigEditor/NgxServer.vue:110
#: src/components/NgxConfigEditor/NgxUpstream.vue:134 src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:88
#: src/views/site/site_list/SiteList.vue:109
#: src/views/stream/StreamList.vue:131
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/site/site_list/SiteList.vue:122
#: src/views/stream/StreamList.vue:132
msgid "Delete"
msgstr ""
@@ -1212,6 +1216,10 @@ msgstr ""
msgid "Delete Certificate"
msgstr ""
#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr ""
#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr ""
@@ -1256,7 +1264,7 @@ msgstr ""
msgid "Delete stream: %{stream_name}"
msgstr ""
#: src/language/curd.ts:29
#: src/language/curd.ts:29 src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr ""
@@ -1495,9 +1503,9 @@ msgid ""
msgstr ""
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:95
#: src/views/site/site_list/SiteList.vue:108
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:117
#: src/views/stream/StreamList.vue:118
msgid "Duplicate"
msgstr ""
@@ -2080,6 +2088,14 @@ msgstr ""
msgid "Failed to write to zip buffer: {0}"
msgstr ""
#: src/views/config/components/Delete.vue:116
msgid "file"
msgstr ""
#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr ""
#: src/language/constants.ts:32
msgid "File exists"
msgstr ""
@@ -2104,6 +2120,14 @@ msgstr ""
msgid "First View"
msgstr ""
#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr ""
#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr ""
#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
@@ -2669,7 +2693,7 @@ msgstr ""
#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:72
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr ""
@@ -2802,7 +2826,7 @@ msgid "Modified At"
msgstr ""
#: src/components/ChatGPT/ChatMessage.vue:212
#: src/views/config/ConfigList.vue:174
#: src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr ""
@@ -2846,6 +2870,7 @@ msgstr ""
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/DNSCredential.vue:9
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:5
#: src/views/environments/group/columns.ts:7
@@ -2858,7 +2883,7 @@ msgstr ""
#: src/views/stream/columns.tsx:12
#: src/views/stream/components/RightPanel/Basic.vue:30
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:144
#: src/views/stream/StreamList.vue:145
msgid "Name"
msgstr ""
@@ -3126,7 +3151,8 @@ msgstr ""
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:132
#: src/views/preference/tabs/CertSettings.vue:73
#: src/views/site/site_list/SiteList.vue:98 src/views/stream/StreamList.vue:120
#: src/views/site/site_list/SiteList.vue:111
#: src/views/stream/StreamList.vue:121
msgid "No"
msgstr ""
@@ -3285,9 +3311,9 @@ msgstr ""
#: src/views/site/site_edit/components/Cert/IssueCert.vue:39
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:99
#: src/views/site/site_list/SiteList.vue:112
#: src/views/stream/components/StreamStatusSelect.vue:60
#: src/views/stream/StreamList.vue:121
#: src/views/stream/StreamList.vue:122
msgid "OK"
msgstr ""
@@ -3418,6 +3444,7 @@ msgstr ""
#: src/components/NgxConfigEditor/LocationEditor.vue:138
#: src/language/curd.ts:59
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/nginx_log/NginxLogList.vue:44
msgid "Path"
msgstr ""
@@ -3612,6 +3639,10 @@ msgstr ""
msgid "Please type \"Revoke\" to confirm"
msgstr ""
#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr ""
#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
@@ -3669,6 +3700,10 @@ msgstr ""
msgid "Project Team"
msgstr ""
#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr ""
#: src/views/certificate/DNSCredential.vue:17
msgid "Provider"
msgstr ""
@@ -3842,7 +3877,7 @@ msgstr ""
#: src/components/NgxConfigEditor/NgxUpstream.vue:131
#: src/views/config/components/ConfigName.vue:51
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:181
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
@@ -4684,6 +4719,7 @@ msgstr ""
msgid "Switch to light theme"
msgstr ""
#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr ""
@@ -4906,6 +4942,10 @@ msgstr ""
msgid "This certificate is managed by Nginx UI"
msgstr ""
#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr ""
#: src/views/certificate/CertificateEditor.vue:162
#: src/views/certificate/CertificateEditor.vue:176
#: src/views/certificate/CertificateEditor.vue:191
@@ -4957,6 +4997,10 @@ msgstr ""
msgid "This value is already taken"
msgstr ""
#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr ""
#: src/components/SystemRestore/SystemRestoreContent.vue:227
#: src/components/SystemRestore/SystemRestoreContent.vue:304
msgid ""
@@ -5096,6 +5140,7 @@ msgstr ""
#: src/components/ProxyTargets/ProxyTargets.vue:48
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:83
#: src/views/nginx_log/NginxLogList.vue:12
#: src/views/notification/notificationColumns.tsx:8
@@ -5103,6 +5148,10 @@ msgstr ""
msgid "Type"
msgstr ""
#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr ""
#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:18
msgid "Unknown"
@@ -5250,7 +5299,7 @@ msgstr ""
msgid "Version"
msgstr ""
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:83
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:84
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:83
msgid "View"
msgstr ""

View File

@@ -168,7 +168,7 @@ msgstr "Proporción real de trabajadores a configurados"
#: src/components/NgxConfigEditor/NgxUpstream.vue:166 src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:45
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:94
#: src/views/stream/StreamList.vue:102
#: src/views/site/site_list/SiteList.vue:95 src/views/stream/StreamList.vue:103
msgid "Add"
msgstr "Agregar"
@@ -204,7 +204,7 @@ msgstr "Agregar servidor"
msgid "Add Site"
msgstr "Agregar Sitio"
#: src/views/stream/StreamList.vue:139
#: src/views/stream/StreamList.vue:140
msgid "Add Stream"
msgstr "Agregar Stream"
@@ -305,8 +305,8 @@ msgstr "¿Está seguro de que desea borrar el registro del chat?"
msgid "Are you sure you want to delete permanently?"
msgstr "¿Estás seguro de que quieres eliminar permanentemente?"
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:100
#: src/views/stream/StreamList.vue:122
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:113
#: src/views/stream/StreamList.vue:123
msgid "Are you sure you want to delete?"
msgstr "¿Está seguro de que quiere borrar?"
@@ -428,8 +428,7 @@ msgstr "Reinicio automático"
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/components/ConfigLeftPanel.vue:273
#: src/views/config/ConfigList.vue:112
#: src/views/config/ConfigList.vue:195
#: src/views/config/ConfigList.vue:120 src/views/config/ConfigList.vue:217
#: src/views/nginx_log/NginxLog.vue:174
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:156
#: src/views/stream/components/StreamEditor.vue:111
@@ -631,6 +630,7 @@ msgstr ""
#: src/components/ChatGPT/ChatMessage.vue:216
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:37
#: src/views/config/components/Delete.vue:98
#: src/views/preference/components/AuthSettings/Passkey.vue:141
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:40
@@ -1066,7 +1066,7 @@ msgstr "Información de configuración"
msgid "Configuration Name"
msgstr "Nombre de la configuración"
#: src/views/config/ConfigList.vue:104
#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr "Configuraciones"
@@ -1152,11 +1152,11 @@ msgstr "Crear otro"
msgid "Create Backup"
msgstr "Crear copia de seguridad"
#: src/views/config/ConfigList.vue:122
#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr "Crear Archivo"
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:129
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr "Crear carpeta"
@@ -1267,7 +1267,7 @@ msgstr "Diariamente a las %{time}"
#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:67
#: src/views/config/ConfigList.vue:69
msgid "Dashboard"
msgstr "Panel"
@@ -1296,8 +1296,11 @@ msgstr ""
#: src/components/NgxConfigEditor/NgxServer.vue:110
#: src/components/NgxConfigEditor/NgxUpstream.vue:134 src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:88
#: src/views/site/site_list/SiteList.vue:109
#: src/views/stream/StreamList.vue:131
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/site/site_list/SiteList.vue:122
#: src/views/stream/StreamList.vue:132
msgid "Delete"
msgstr "Eliminar"
@@ -1305,6 +1308,10 @@ msgstr "Eliminar"
msgid "Delete Certificate"
msgstr "Eliminar certificado"
#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr "Confirmación de eliminación"
#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr "Eliminar Permanentemente"
@@ -1349,7 +1356,7 @@ msgstr "Se eliminó el flujo %{name} de %{node} correctamente"
msgid "Delete stream: %{stream_name}"
msgstr "Eliminar stream: %{site_name}"
#: src/language/curd.ts:29
#: src/language/curd.ts:29 src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr "Borrado exitoso"
@@ -1592,9 +1599,9 @@ msgstr ""
"se ejecutan en el host local."
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:95
#: src/views/site/site_list/SiteList.vue:108
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:117
#: src/views/stream/StreamList.vue:118
msgid "Duplicate"
msgstr "Duplicar"
@@ -2179,6 +2186,14 @@ msgstr "Error al escribir el archivo de clave de seguridad: {0}"
msgid "Failed to write to zip buffer: {0}"
msgstr "Error al escribir en el búfer ZIP: {0}"
#: src/views/config/components/Delete.vue:116
msgid "file"
msgstr "archivo"
#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr "Archivo"
#: src/language/constants.ts:32
msgid "File exists"
msgstr "El archivo existe"
@@ -2203,6 +2218,14 @@ msgstr "Terminado"
msgid "First View"
msgstr "Primera vista"
#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr "carpeta"
#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr "Carpeta"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
@@ -2794,7 +2817,7 @@ msgstr ""
#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:72
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr "Administrar configuraciones"
@@ -2927,7 +2950,7 @@ msgid "Modified At"
msgstr "Modificado el"
#: src/components/ChatGPT/ChatMessage.vue:212
#: src/views/config/ConfigList.vue:174
#: src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr "Modificar"
@@ -2971,6 +2994,7 @@ msgstr "Directiva multilínea"
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/DNSCredential.vue:9
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:5
#: src/views/environments/group/columns.ts:7
@@ -2983,7 +3007,7 @@ msgstr "Directiva multilínea"
#: src/views/stream/columns.tsx:12
#: src/views/stream/components/RightPanel/Basic.vue:30
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:144
#: src/views/stream/StreamList.vue:145
msgid "Name"
msgstr "Nombre"
@@ -3253,7 +3277,8 @@ msgstr "Nginx.conf incluye el directorio streams-enabled"
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:132
#: src/views/preference/tabs/CertSettings.vue:73
#: src/views/site/site_list/SiteList.vue:98 src/views/stream/StreamList.vue:120
#: src/views/site/site_list/SiteList.vue:111
#: src/views/stream/StreamList.vue:121
msgid "No"
msgstr "No"
@@ -3419,9 +3444,9 @@ msgstr "Desconectado"
#: src/views/site/site_edit/components/Cert/IssueCert.vue:39
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:99
#: src/views/site/site_list/SiteList.vue:112
#: src/views/stream/components/StreamStatusSelect.vue:60
#: src/views/stream/StreamList.vue:121
#: src/views/stream/StreamList.vue:122
msgid "OK"
msgstr "OK"
@@ -3556,6 +3581,7 @@ msgstr "Las contraseñas no coinciden"
#: src/components/NgxConfigEditor/LocationEditor.vue:138
#: src/language/curd.ts:59
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/nginx_log/NginxLogList.vue:44
msgid "Path"
msgstr "Ruta"
@@ -3770,6 +3796,10 @@ msgstr "Seleccione al menos un nodo para actualizar"
msgid "Please type \"Revoke\" to confirm"
msgstr "Por favor, escriba \"Revocar\" para confirmar"
#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr "Por favor, escriba el texto de confirmación exacto"
#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
@@ -3827,6 +3857,10 @@ msgstr "Prohibir la eliminación del usuario predeterminado"
msgid "Project Team"
msgstr "Grupo del proyecto"
#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr "Directorio protegido"
#: src/views/certificate/DNSCredential.vue:17
msgid "Provider"
msgstr "Proveedor"
@@ -4005,7 +4039,7 @@ msgstr "Eliminado con éxito"
#: src/components/NgxConfigEditor/NgxUpstream.vue:131
#: src/views/config/components/ConfigName.vue:51
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:181
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
@@ -4879,6 +4913,7 @@ msgstr "Cambiar al tema oscuro"
msgid "Switch to light theme"
msgstr "Cambiar al tema claro"
#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr "Sincronizar"
@@ -5124,6 +5159,12 @@ msgstr "Este elemento de Auto Cert es inválido, elimínelo por favor."
msgid "This certificate is managed by Nginx UI"
msgstr "Este certificado es administrado por Nginx UI"
#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr ""
"Este directorio está protegido y no se puede eliminar por seguridad del "
"sistema."
#: src/views/certificate/CertificateEditor.vue:162
#: src/views/certificate/CertificateEditor.vue:176
#: src/views/certificate/CertificateEditor.vue:191
@@ -5181,6 +5222,10 @@ msgstr ""
msgid "This value is already taken"
msgstr "Este valor ya está elegido"
#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr "Esto eliminará permanentemente %{type}."
#: src/components/SystemRestore/SystemRestoreContent.vue:227
#: src/components/SystemRestore/SystemRestoreContent.vue:304
msgid ""
@@ -5343,6 +5388,7 @@ msgstr "Se requiere autenticación de dos factores"
#: src/components/ProxyTargets/ProxyTargets.vue:48
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:83
#: src/views/nginx_log/NginxLogList.vue:12
#: src/views/notification/notificationColumns.tsx:8
@@ -5350,6 +5396,10 @@ msgstr "Se requiere autenticación de dos factores"
msgid "Type"
msgstr "Tipo"
#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr "Escriba %{delete} para confirmar"
#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:18
msgid "Unknown"
@@ -5497,7 +5547,7 @@ msgstr "Verificar los requisitos del sistema"
msgid "Version"
msgstr "Versión"
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:83
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:84
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:83
msgid "View"
msgstr "Ver"
@@ -5947,9 +5997,6 @@ msgstr "Sus llaves de acceso"
#~ msgid "Can't scan? Use text key binding"
#~ msgstr "¿No puede escanear? Utilice la vinculación con una llave de texto"
#~ msgid "File"
#~ msgstr "Archivo"
#~ msgid ""
#~ "If you lose your mobile phone, you can use the recovery code to reset your "
#~ "2FA."

View File

@@ -166,7 +166,7 @@ msgstr "Ratio réel des travailleurs par rapport à la configuration"
#: src/components/NgxConfigEditor/NgxUpstream.vue:166 src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:45
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:94
#: src/views/stream/StreamList.vue:102
#: src/views/site/site_list/SiteList.vue:95 src/views/stream/StreamList.vue:103
msgid "Add"
msgstr "Ajouter"
@@ -202,7 +202,7 @@ msgstr "Ajouter un serveur"
msgid "Add Site"
msgstr "Ajouter un site"
#: src/views/stream/StreamList.vue:139
#: src/views/stream/StreamList.vue:140
msgid "Add Stream"
msgstr "Ajouter un flux"
@@ -303,8 +303,8 @@ msgstr "Voulez-vous vraiment effacer l'historique du chat ?"
msgid "Are you sure you want to delete permanently?"
msgstr "Êtes-vous sûr de vouloir supprimer définitivement ?"
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:100
#: src/views/stream/StreamList.vue:122
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:113
#: src/views/stream/StreamList.vue:123
msgid "Are you sure you want to delete?"
msgstr "Etes-vous sûr que vous voulez supprimer ?"
@@ -426,8 +426,7 @@ msgstr "Redémarrage automatique"
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/components/ConfigLeftPanel.vue:273
#: src/views/config/ConfigList.vue:112
#: src/views/config/ConfigList.vue:195
#: src/views/config/ConfigList.vue:120 src/views/config/ConfigList.vue:217
#: src/views/nginx_log/NginxLog.vue:174
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:156
#: src/views/stream/components/StreamEditor.vue:111
@@ -626,6 +625,7 @@ msgstr ""
#: src/components/ChatGPT/ChatMessage.vue:216
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:37
#: src/views/config/components/Delete.vue:98
#: src/views/preference/components/AuthSettings/Passkey.vue:141
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:40
@@ -1062,7 +1062,7 @@ msgstr "Informations de configuration"
msgid "Configuration Name"
msgstr "Nom de la configuration"
#: src/views/config/ConfigList.vue:104
#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr "Configurations"
@@ -1148,11 +1148,11 @@ msgstr "Créer un autre"
msgid "Create Backup"
msgstr "Créer une sauvegarde"
#: src/views/config/ConfigList.vue:122
#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr "Créer un fichier"
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:129
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr "Créer un dossier"
@@ -1263,7 +1263,7 @@ msgstr "Quotidiennement à %{time}"
#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:67
#: src/views/config/ConfigList.vue:69
msgid "Dashboard"
msgstr "Dashboard"
@@ -1292,8 +1292,11 @@ msgstr ""
#: src/components/NgxConfigEditor/NgxServer.vue:110
#: src/components/NgxConfigEditor/NgxUpstream.vue:134 src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:88
#: src/views/site/site_list/SiteList.vue:109
#: src/views/stream/StreamList.vue:131
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/site/site_list/SiteList.vue:122
#: src/views/stream/StreamList.vue:132
msgid "Delete"
msgstr "Supprimer"
@@ -1301,6 +1304,10 @@ msgstr "Supprimer"
msgid "Delete Certificate"
msgstr "Supprimer le certificat"
#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr "Confirmation de suppression"
#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr "Supprimer définitivement"
@@ -1345,7 +1352,7 @@ msgstr "Le flux %{name} a été supprimé de %{node} avec succès"
msgid "Delete stream: %{stream_name}"
msgstr "Supprimer le flux : %{stream_name}"
#: src/language/curd.ts:29
#: src/language/curd.ts:29 src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr "Supprimé avec succès"
@@ -1586,9 +1593,9 @@ msgstr ""
"exécuté sur localhost."
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:95
#: src/views/site/site_list/SiteList.vue:108
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:117
#: src/views/stream/StreamList.vue:118
msgid "Duplicate"
msgstr "Dupliquer"
@@ -2173,6 +2180,14 @@ msgstr "Échec de l'écriture du fichier de clé de sécurité : {0}"
msgid "Failed to write to zip buffer: {0}"
msgstr "Échec de l'écriture dans le tampon ZIP : {0}"
#: src/views/config/components/Delete.vue:116
msgid "file"
msgstr "fichier"
#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr "Fichier"
#: src/language/constants.ts:32
msgid "File exists"
msgstr "Le fichier existe"
@@ -2197,6 +2212,14 @@ msgstr "Finie"
msgid "First View"
msgstr "Première vue"
#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr "dossier"
#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr "Dossier"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
@@ -2792,7 +2815,7 @@ msgstr ""
#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:72
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr "Gérer les configurations"
@@ -2925,7 +2948,7 @@ msgid "Modified At"
msgstr "Modifié le"
#: src/components/ChatGPT/ChatMessage.vue:212
#: src/views/config/ConfigList.vue:174
#: src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr "Modifier"
@@ -2969,6 +2992,7 @@ msgstr "Directive multiligne"
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/DNSCredential.vue:9
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:5
#: src/views/environments/group/columns.ts:7
@@ -2981,7 +3005,7 @@ msgstr "Directive multiligne"
#: src/views/stream/columns.tsx:12
#: src/views/stream/components/RightPanel/Basic.vue:30
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:144
#: src/views/stream/StreamList.vue:145
msgid "Name"
msgstr "Nom"
@@ -3251,7 +3275,8 @@ msgstr "Nginx.conf inclut le répertoire streams-enabled"
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:132
#: src/views/preference/tabs/CertSettings.vue:73
#: src/views/site/site_list/SiteList.vue:98 src/views/stream/StreamList.vue:120
#: src/views/site/site_list/SiteList.vue:111
#: src/views/stream/StreamList.vue:121
msgid "No"
msgstr "Non"
@@ -3416,9 +3441,9 @@ msgstr "Hors ligne"
#: src/views/site/site_edit/components/Cert/IssueCert.vue:39
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:99
#: src/views/site/site_list/SiteList.vue:112
#: src/views/stream/components/StreamStatusSelect.vue:60
#: src/views/stream/StreamList.vue:121
#: src/views/stream/StreamList.vue:122
msgid "OK"
msgstr "OK"
@@ -3553,6 +3578,7 @@ msgstr "Les mots de passe ne correspondent pas"
#: src/components/NgxConfigEditor/LocationEditor.vue:138
#: src/language/curd.ts:59
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/nginx_log/NginxLogList.vue:44
msgid "Path"
msgstr "Chemin"
@@ -3767,6 +3793,10 @@ msgstr "Veuillez sélectionner au moins un nœud à mettre à niveau"
msgid "Please type \"Revoke\" to confirm"
msgstr "Veuillez taper \"Révoquer\" pour confirmer"
#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr "Veuillez saisir le texte de confirmation exact"
#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
@@ -3824,6 +3854,10 @@ msgstr "Interdire la suppression de l'utilisateur par défaut"
msgid "Project Team"
msgstr "Groupe de projet"
#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr "Répertoire protégé"
#: src/views/certificate/DNSCredential.vue:17
msgid "Provider"
msgstr "Fournisseur"
@@ -4004,7 +4038,7 @@ msgstr "Supprimé avec succès"
#: src/components/NgxConfigEditor/NgxUpstream.vue:131
#: src/views/config/components/ConfigName.vue:51
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:181
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
@@ -4878,6 +4912,7 @@ msgstr "Passer au thème sombre"
msgid "Switch to light theme"
msgstr "Passer au thème clair"
#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr "Synchroniser"
@@ -5126,6 +5161,12 @@ msgstr "Cet élément de certificat automatique est invalide, veuillez le suppri
msgid "This certificate is managed by Nginx UI"
msgstr "Ce certificat est géré par Nginx UI"
#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr ""
"Ce répertoire est protégé et ne peut pas être supprimé pour la sécurité du "
"système."
#: src/views/certificate/CertificateEditor.vue:162
#: src/views/certificate/CertificateEditor.vue:176
#: src/views/certificate/CertificateEditor.vue:191
@@ -5188,6 +5229,10 @@ msgstr ""
msgid "This value is already taken"
msgstr "Cette valeur est déjà utilisée"
#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr "Cela supprimera définitivement %{type}."
#: src/components/SystemRestore/SystemRestoreContent.vue:227
#: src/components/SystemRestore/SystemRestoreContent.vue:304
msgid ""
@@ -5351,6 +5396,7 @@ msgstr "Authentification à deux facteurs requise"
#: src/components/ProxyTargets/ProxyTargets.vue:48
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:83
#: src/views/nginx_log/NginxLogList.vue:12
#: src/views/notification/notificationColumns.tsx:8
@@ -5358,6 +5404,10 @@ msgstr "Authentification à deux facteurs requise"
msgid "Type"
msgstr "Type"
#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr "Tapez %{delete} pour confirmer"
#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:18
msgid "Unknown"
@@ -5505,7 +5555,7 @@ msgstr "Vérifiez les exigences du système"
msgid "Version"
msgstr "Version"
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:83
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:84
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:83
msgid "View"
msgstr "Voir"
@@ -5946,9 +5996,6 @@ msgstr "Vos clés d'accès"
#~ msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
#~ msgstr "Dupliqué avec succès"
#~ msgid "File"
#~ msgstr "Fichier"
#, fuzzy
#~ msgid "Incorrect username or password"
#~ msgstr "Le pseudo ou mot de passe est incorect"

View File

@@ -162,7 +162,7 @@ msgstr "実際のワーカー数と設定値の比率"
#: src/components/NgxConfigEditor/NgxUpstream.vue:166 src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:45
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:94
#: src/views/stream/StreamList.vue:102
#: src/views/site/site_list/SiteList.vue:95 src/views/stream/StreamList.vue:103
msgid "Add"
msgstr "追加"
@@ -198,7 +198,7 @@ msgstr "サーバーを追加"
msgid "Add Site"
msgstr "サイトを追加"
#: src/views/stream/StreamList.vue:139
#: src/views/stream/StreamList.vue:140
msgid "Add Stream"
msgstr "Streamを追加"
@@ -295,8 +295,8 @@ msgstr "チャットの記録をクリアしてもよろしいですか?"
msgid "Are you sure you want to delete permanently?"
msgstr "完全に削除してもよろしいですか?"
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:100
#: src/views/stream/StreamList.vue:122
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:113
#: src/views/stream/StreamList.vue:123
msgid "Are you sure you want to delete?"
msgstr "削除してもよろしいですか?"
@@ -414,8 +414,7 @@ msgstr "自動再起動"
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/components/ConfigLeftPanel.vue:273
#: src/views/config/ConfigList.vue:112
#: src/views/config/ConfigList.vue:195
#: src/views/config/ConfigList.vue:120 src/views/config/ConfigList.vue:217
#: src/views/nginx_log/NginxLog.vue:174
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:156
#: src/views/stream/components/StreamEditor.vue:111
@@ -603,6 +602,7 @@ msgstr ""
#: src/components/ChatGPT/ChatMessage.vue:216
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:37
#: src/views/config/components/Delete.vue:98
#: src/views/preference/components/AuthSettings/Passkey.vue:141
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:40
@@ -1020,7 +1020,7 @@ msgstr "設定情報"
msgid "Configuration Name"
msgstr "設定名"
#: src/views/config/ConfigList.vue:104
#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr "設定"
@@ -1104,11 +1104,11 @@ msgstr "別の設定を作成"
msgid "Create Backup"
msgstr "バックアップを作成"
#: src/views/config/ConfigList.vue:122
#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr "ファイルを作成"
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:129
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr "フォルダーを作成"
@@ -1214,7 +1214,7 @@ msgstr "毎日 %{time}"
#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:67
#: src/views/config/ConfigList.vue:69
msgid "Dashboard"
msgstr "ダッシュボード"
@@ -1241,8 +1241,11 @@ msgstr "共有メモリゾーンの名前とサイズを定義します(例: p
#: src/components/NgxConfigEditor/NgxServer.vue:110
#: src/components/NgxConfigEditor/NgxUpstream.vue:134 src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:88
#: src/views/site/site_list/SiteList.vue:109
#: src/views/stream/StreamList.vue:131
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/site/site_list/SiteList.vue:122
#: src/views/stream/StreamList.vue:132
msgid "Delete"
msgstr "削除"
@@ -1250,6 +1253,10 @@ msgstr "削除"
msgid "Delete Certificate"
msgstr "証明書を削除"
#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr "削除の確認"
#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr "完全に削除"
@@ -1294,7 +1301,7 @@ msgstr "ストリーム %{name} を %{node} から削除しました"
msgid "Delete stream: %{stream_name}"
msgstr "ストリームを削除: %{stream_name}"
#: src/language/curd.ts:29
#: src/language/curd.ts:29 src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr "削除しました"
@@ -1532,9 +1539,9 @@ msgid ""
msgstr "一部のブラウザのセキュリティポリシーのため、localhostで実行している場合を除き、非HTTPSウェブサイトではパスキーを使用できません。"
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:95
#: src/views/site/site_list/SiteList.vue:108
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:117
#: src/views/stream/StreamList.vue:118
msgid "Duplicate"
msgstr "複製"
@@ -2117,6 +2124,14 @@ msgstr "セキュリティキーファイルの書き込みに失敗しました
msgid "Failed to write to zip buffer: {0}"
msgstr "ZIPバッファへの書き込みに失敗しました: {0}"
#: src/views/config/components/Delete.vue:116
msgid "file"
msgstr "ファイル"
#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr "ファイル"
#: src/language/constants.ts:32
msgid "File exists"
msgstr "ファイルが存在します"
@@ -2141,6 +2156,14 @@ msgstr "完了"
msgid "First View"
msgstr "初回表示"
#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr "フォルダ"
#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr "フォルダ"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
@@ -2714,7 +2737,7 @@ msgstr ""
#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:72
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr "設定管理"
@@ -2847,7 +2870,7 @@ msgid "Modified At"
msgstr "更新日時"
#: src/components/ChatGPT/ChatMessage.vue:212
#: src/views/config/ConfigList.vue:174
#: src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr "変更"
@@ -2891,6 +2914,7 @@ msgstr "複数行ディレクティブ"
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/DNSCredential.vue:9
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:5
#: src/views/environments/group/columns.ts:7
@@ -2903,7 +2927,7 @@ msgstr "複数行ディレクティブ"
#: src/views/stream/columns.tsx:12
#: src/views/stream/components/RightPanel/Basic.vue:30
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:144
#: src/views/stream/StreamList.vue:145
msgid "Name"
msgstr "名前"
@@ -3171,7 +3195,8 @@ msgstr "Nginx.conf には streams-enabled ディレクトリが含まれてい
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:132
#: src/views/preference/tabs/CertSettings.vue:73
#: src/views/site/site_list/SiteList.vue:98 src/views/stream/StreamList.vue:120
#: src/views/site/site_list/SiteList.vue:111
#: src/views/stream/StreamList.vue:121
msgid "No"
msgstr "いいえ"
@@ -3330,9 +3355,9 @@ msgstr "オフライン"
#: src/views/site/site_edit/components/Cert/IssueCert.vue:39
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:99
#: src/views/site/site_list/SiteList.vue:112
#: src/views/stream/components/StreamStatusSelect.vue:60
#: src/views/stream/StreamList.vue:121
#: src/views/stream/StreamList.vue:122
msgid "OK"
msgstr "OK"
@@ -3465,6 +3490,7 @@ msgstr "パスワードが一致しません"
#: src/components/NgxConfigEditor/LocationEditor.vue:138
#: src/language/curd.ts:59
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/nginx_log/NginxLogList.vue:44
msgid "Path"
msgstr "パス"
@@ -3660,6 +3686,10 @@ msgstr "少なくとも1つのードを選択してアップグレードし
msgid "Please type \"Revoke\" to confirm"
msgstr "確認のために「取り消す」と入力してください"
#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr "正確な確認テキストを入力してください"
#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
@@ -3717,6 +3747,10 @@ msgstr "デフォルトユーザーの削除を禁止します"
msgid "Project Team"
msgstr "プロジェクトチーム"
#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr "保護されたディレクトリ"
#: src/views/certificate/DNSCredential.vue:17
msgid "Provider"
msgstr "プロバイダー"
@@ -3890,7 +3924,7 @@ msgstr "正常に削除されました"
#: src/components/NgxConfigEditor/NgxUpstream.vue:131
#: src/views/config/components/ConfigName.vue:51
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:181
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
@@ -4742,6 +4776,7 @@ msgstr "ダークテーマに切り替え"
msgid "Switch to light theme"
msgstr "ライトテーマに切り替え"
#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr "同期"
@@ -4968,6 +5003,10 @@ msgstr "この自動証明書項目は無効です。削除してください。
msgid "This certificate is managed by Nginx UI"
msgstr "この証明書はNginx UIによって管理されています"
#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr "このディレクトリは保護されており、システムの安全のために削除できません。"
#: src/views/certificate/CertificateEditor.vue:162
#: src/views/certificate/CertificateEditor.vue:176
#: src/views/certificate/CertificateEditor.vue:191
@@ -5018,6 +5057,10 @@ msgstr "このトークンは一度しか表示されず、後で取得するこ
msgid "This value is already taken"
msgstr "この値は既に使用されています"
#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr "これにより %{type} が完全に削除されます。"
#: src/components/SystemRestore/SystemRestoreContent.vue:227
#: src/components/SystemRestore/SystemRestoreContent.vue:304
msgid ""
@@ -5164,6 +5207,7 @@ msgstr "二要素認証が必要です"
#: src/components/ProxyTargets/ProxyTargets.vue:48
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:83
#: src/views/nginx_log/NginxLogList.vue:12
#: src/views/notification/notificationColumns.tsx:8
@@ -5171,6 +5215,10 @@ msgstr "二要素認証が必要です"
msgid "Type"
msgstr "タイプ"
#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr "確認のために %{delete} と入力してください"
#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:18
msgid "Unknown"
@@ -5318,7 +5366,7 @@ msgstr "システム要件を確認する"
msgid "Version"
msgstr "バージョン"
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:83
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:84
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:83
msgid "View"
msgstr "ビュー"

View File

@@ -160,7 +160,7 @@ msgstr "실제 작업자 대 구성 비율"
#: src/components/NgxConfigEditor/NgxUpstream.vue:166 src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:45
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:94
#: src/views/stream/StreamList.vue:102
#: src/views/site/site_list/SiteList.vue:95 src/views/stream/StreamList.vue:103
msgid "Add"
msgstr "추가"
@@ -196,7 +196,7 @@ msgstr "서버 추가"
msgid "Add Site"
msgstr "사이트 추가"
#: src/views/stream/StreamList.vue:139
#: src/views/stream/StreamList.vue:140
msgid "Add Stream"
msgstr "스트림 추가"
@@ -293,8 +293,8 @@ msgstr "채팅 기록을 지우시겠습니까?"
msgid "Are you sure you want to delete permanently?"
msgstr "정말 영구적으로 삭제하시겠습니까?"
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:100
#: src/views/stream/StreamList.vue:122
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:113
#: src/views/stream/StreamList.vue:123
msgid "Are you sure you want to delete?"
msgstr "정말 삭제하시겠습니까?"
@@ -412,8 +412,7 @@ msgstr "자동 재시작"
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/components/ConfigLeftPanel.vue:273
#: src/views/config/ConfigList.vue:112
#: src/views/config/ConfigList.vue:195
#: src/views/config/ConfigList.vue:120 src/views/config/ConfigList.vue:217
#: src/views/nginx_log/NginxLog.vue:174
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:156
#: src/views/stream/components/StreamEditor.vue:111
@@ -601,6 +600,7 @@ msgstr ""
#: src/components/ChatGPT/ChatMessage.vue:216
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:37
#: src/views/config/components/Delete.vue:98
#: src/views/preference/components/AuthSettings/Passkey.vue:141
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:40
@@ -1017,7 +1017,7 @@ msgstr "구성 정보"
msgid "Configuration Name"
msgstr "구성 이름"
#: src/views/config/ConfigList.vue:104
#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr "구성들"
@@ -1101,11 +1101,11 @@ msgstr "다른 것 생성하기"
msgid "Create Backup"
msgstr "백업 생성"
#: src/views/config/ConfigList.vue:122
#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr "파일 생성"
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:129
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr "폴더 생성"
@@ -1211,7 +1211,7 @@ msgstr "매일 %{time}"
#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:67
#: src/views/config/ConfigList.vue:69
msgid "Dashboard"
msgstr "대시보드"
@@ -1238,8 +1238,11 @@ msgstr "공유 메모리 영역 이름과 크기를 정의합니다(예: proxy_c
#: src/components/NgxConfigEditor/NgxServer.vue:110
#: src/components/NgxConfigEditor/NgxUpstream.vue:134 src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:88
#: src/views/site/site_list/SiteList.vue:109
#: src/views/stream/StreamList.vue:131
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/site/site_list/SiteList.vue:122
#: src/views/stream/StreamList.vue:132
msgid "Delete"
msgstr "삭제"
@@ -1247,6 +1250,10 @@ msgstr "삭제"
msgid "Delete Certificate"
msgstr "인증서 삭제"
#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr "삭제 확인"
#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr "영구 삭제"
@@ -1291,7 +1298,7 @@ msgstr "스트림 %{name}을(를) %{node}에서 성공적으로 삭제했습니
msgid "Delete stream: %{stream_name}"
msgstr "스트림 삭제: %{stream_name}"
#: src/language/curd.ts:29
#: src/language/curd.ts:29 src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr "성공적으로 삭제됨"
@@ -1531,9 +1538,9 @@ msgstr ""
"없습니다."
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:95
#: src/views/site/site_list/SiteList.vue:108
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:117
#: src/views/stream/StreamList.vue:118
msgid "Duplicate"
msgstr "복제"
@@ -2116,6 +2123,14 @@ msgstr "보안 키 파일 쓰기 실패: {0}"
msgid "Failed to write to zip buffer: {0}"
msgstr "ZIP 버퍼에 쓰기 실패: {0}"
#: src/views/config/components/Delete.vue:116
msgid "file"
msgstr "파일"
#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr "파일"
#: src/language/constants.ts:32
msgid "File exists"
msgstr "파일이 존재함"
@@ -2140,6 +2155,14 @@ msgstr "완료됨"
msgid "First View"
msgstr "첫 번째 보기"
#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr "폴더"
#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr "폴더"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
@@ -2710,7 +2733,7 @@ msgstr "인증서를 받기 전에 .well-known 디렉터리에 대한 역방향
#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:72
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr "구성 관리"
@@ -2843,7 +2866,7 @@ msgid "Modified At"
msgstr "수정일시"
#: src/components/ChatGPT/ChatMessage.vue:212
#: src/views/config/ConfigList.vue:174
#: src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr "수정"
@@ -2887,6 +2910,7 @@ msgstr "여러 줄 지시문"
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/DNSCredential.vue:9
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:5
#: src/views/environments/group/columns.ts:7
@@ -2899,7 +2923,7 @@ msgstr "여러 줄 지시문"
#: src/views/stream/columns.tsx:12
#: src/views/stream/components/RightPanel/Basic.vue:30
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:144
#: src/views/stream/StreamList.vue:145
msgid "Name"
msgstr "이름"
@@ -3167,7 +3191,8 @@ msgstr "Nginx.conf에는 streams-enabled 디렉토리가 포함됩니다"
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:132
#: src/views/preference/tabs/CertSettings.vue:73
#: src/views/site/site_list/SiteList.vue:98 src/views/stream/StreamList.vue:120
#: src/views/site/site_list/SiteList.vue:111
#: src/views/stream/StreamList.vue:121
msgid "No"
msgstr "아니요"
@@ -3326,9 +3351,9 @@ msgstr "오프라인"
#: src/views/site/site_edit/components/Cert/IssueCert.vue:39
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:99
#: src/views/site/site_list/SiteList.vue:112
#: src/views/stream/components/StreamStatusSelect.vue:60
#: src/views/stream/StreamList.vue:121
#: src/views/stream/StreamList.vue:122
msgid "OK"
msgstr "확인"
@@ -3461,6 +3486,7 @@ msgstr "비밀번호가 일치하지 않습니다"
#: src/components/NgxConfigEditor/LocationEditor.vue:138
#: src/language/curd.ts:59
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/nginx_log/NginxLogList.vue:44
msgid "Path"
msgstr "경로"
@@ -3654,6 +3680,10 @@ msgstr "업그레이드할 노드를 최소한 하나 이상 선택해 주세요
msgid "Please type \"Revoke\" to confirm"
msgstr "확인하려면 \"Revoke\"를 입력하세요"
#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr "정확한 확인 텍스트를 입력하세요"
#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
@@ -3711,6 +3741,10 @@ msgstr "기본 사용자 삭제 금지"
msgid "Project Team"
msgstr "프로젝트 팀"
#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr "보호된 디렉터리"
#: src/views/certificate/DNSCredential.vue:17
msgid "Provider"
msgstr "제공자"
@@ -3884,7 +3918,7 @@ msgstr "성공적으로 제거됨"
#: src/components/NgxConfigEditor/NgxUpstream.vue:131
#: src/views/config/components/ConfigName.vue:51
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:181
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
@@ -4738,6 +4772,7 @@ msgstr "다크 테마로 변경"
msgid "Switch to light theme"
msgstr "라이트 테마로 변경"
#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr "동기화"
@@ -4964,6 +4999,10 @@ msgstr "이 자동 인증 항목이 유효하지 않습니다. 제거해주세
msgid "This certificate is managed by Nginx UI"
msgstr "이 인증서는 Nginx UI에서 관리됩니다"
#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr "이 디렉터리는 보호되어 있으며 시스템 안전을 위해 삭제할 수 없습니다."
#: src/views/certificate/CertificateEditor.vue:162
#: src/views/certificate/CertificateEditor.vue:176
#: src/views/certificate/CertificateEditor.vue:191
@@ -5014,6 +5053,10 @@ msgstr "이 토큰은 한 번만 표시되며 나중에 다시 가져올 수 없
msgid "This value is already taken"
msgstr "이 값은 이미 사용 중입니다"
#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr "이 작업으로 %{type}이(가) 영구적으로 삭제됩니다."
#: src/components/SystemRestore/SystemRestoreContent.vue:227
#: src/components/SystemRestore/SystemRestoreContent.vue:304
msgid ""
@@ -5158,6 +5201,7 @@ msgstr "2단계 인증이 필요합니다"
#: src/components/ProxyTargets/ProxyTargets.vue:48
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:83
#: src/views/nginx_log/NginxLogList.vue:12
#: src/views/notification/notificationColumns.tsx:8
@@ -5165,6 +5209,10 @@ msgstr "2단계 인증이 필요합니다"
msgid "Type"
msgstr "유형"
#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr "확인하려면 %{delete}를 입력하세요"
#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:18
msgid "Unknown"
@@ -5312,7 +5360,7 @@ msgstr "시스템 요구 사항을 확인하십시오"
msgid "Version"
msgstr "버전"
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:83
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:84
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:83
msgid "View"
msgstr "보기"
@@ -5717,9 +5765,6 @@ msgstr "귀하의 패스키"
#~ msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
#~ msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함"
#~ msgid "File"
#~ msgstr "파일"
#, fuzzy
#~ msgid "Incorrect username or password"
#~ msgstr "사용자 이름 또는 비밀번호가 올바르지 않습니다"

View File

@@ -151,7 +151,8 @@ msgstr ""
#: src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:45
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:94
#: src/views/stream/StreamList.vue:102
#: src/views/site/site_list/SiteList.vue:95
#: src/views/stream/StreamList.vue:103
msgid "Add"
msgstr ""
@@ -188,7 +189,7 @@ msgstr ""
msgid "Add Site"
msgstr ""
#: src/views/stream/StreamList.vue:139
#: src/views/stream/StreamList.vue:140
msgid "Add Stream"
msgstr ""
@@ -284,8 +285,8 @@ msgid "Are you sure you want to delete permanently?"
msgstr ""
#: src/language/curd.ts:25
#: src/views/site/site_list/SiteList.vue:100
#: src/views/stream/StreamList.vue:122
#: src/views/site/site_list/SiteList.vue:113
#: src/views/stream/StreamList.vue:123
msgid "Are you sure you want to delete?"
msgstr ""
@@ -403,8 +404,8 @@ msgstr ""
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/components/ConfigLeftPanel.vue:273
#: src/views/config/ConfigList.vue:112
#: src/views/config/ConfigList.vue:195
#: src/views/config/ConfigList.vue:120
#: src/views/config/ConfigList.vue:217
#: src/views/nginx_log/NginxLog.vue:174
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:156
#: src/views/stream/components/StreamEditor.vue:111
@@ -589,6 +590,7 @@ msgstr ""
#: src/components/ChatGPT/ChatMessage.vue:216
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:37
#: src/views/config/components/Delete.vue:98
#: src/views/preference/components/AuthSettings/Passkey.vue:141
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:40
@@ -958,7 +960,7 @@ msgstr ""
msgid "Configuration Name"
msgstr ""
#: src/views/config/ConfigList.vue:104
#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr ""
@@ -1042,12 +1044,12 @@ msgstr ""
msgid "Create Backup"
msgstr ""
#: src/views/config/ConfigList.vue:122
#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr ""
#: src/views/config/components/Mkdir.vue:47
#: src/views/config/ConfigList.vue:129
#: src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr ""
@@ -1149,7 +1151,7 @@ msgstr ""
#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:67
#: src/views/config/ConfigList.vue:69
msgid "Dashboard"
msgstr ""
@@ -1177,8 +1179,11 @@ msgstr ""
#: src/components/NgxConfigEditor/NgxUpstream.vue:134
#: src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:88
#: src/views/site/site_list/SiteList.vue:109
#: src/views/stream/StreamList.vue:131
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/site/site_list/SiteList.vue:122
#: src/views/stream/StreamList.vue:132
msgid "Delete"
msgstr ""
@@ -1186,6 +1191,10 @@ msgstr ""
msgid "Delete Certificate"
msgstr ""
#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr ""
#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr ""
@@ -1233,6 +1242,7 @@ msgid "Delete stream: %{stream_name}"
msgstr ""
#: src/language/curd.ts:29
#: src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr ""
@@ -1473,9 +1483,9 @@ msgid "Due to the security policies of some browsers, you cannot use passkeys on
msgstr ""
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:95
#: src/views/site/site_list/SiteList.vue:108
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:117
#: src/views/stream/StreamList.vue:118
msgid "Duplicate"
msgstr ""
@@ -2060,6 +2070,14 @@ msgstr ""
msgid "Failed to write to zip buffer: {0}"
msgstr ""
#: src/views/config/components/Delete.vue:116
msgid "file"
msgstr ""
#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr ""
#: src/language/constants.ts:32
msgid "File exists"
msgstr ""
@@ -2085,6 +2103,14 @@ msgstr ""
msgid "First View"
msgstr ""
#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr ""
#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr ""
#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
msgid "Follow the instructions in the dialog to complete the passkey registration process."
msgstr ""
@@ -2629,7 +2655,7 @@ msgstr ""
#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:72
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr ""
@@ -2765,7 +2791,7 @@ msgid "Modified At"
msgstr ""
#: src/components/ChatGPT/ChatMessage.vue:212
#: src/views/config/ConfigList.vue:174
#: src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr ""
@@ -2809,6 +2835,7 @@ msgstr ""
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/DNSCredential.vue:9
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:5
#: src/views/environments/group/columns.ts:7
@@ -2821,7 +2848,7 @@ msgstr ""
#: src/views/stream/columns.tsx:12
#: src/views/stream/components/RightPanel/Basic.vue:30
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:144
#: src/views/stream/StreamList.vue:145
msgid "Name"
msgstr ""
@@ -3092,8 +3119,8 @@ msgstr ""
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:132
#: src/views/preference/tabs/CertSettings.vue:73
#: src/views/site/site_list/SiteList.vue:98
#: src/views/stream/StreamList.vue:120
#: src/views/site/site_list/SiteList.vue:111
#: src/views/stream/StreamList.vue:121
msgid "No"
msgstr ""
@@ -3250,9 +3277,9 @@ msgstr ""
#: src/views/site/site_edit/components/Cert/IssueCert.vue:39
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:99
#: src/views/site/site_list/SiteList.vue:112
#: src/views/stream/components/StreamStatusSelect.vue:60
#: src/views/stream/StreamList.vue:121
#: src/views/stream/StreamList.vue:122
msgid "OK"
msgstr ""
@@ -3382,6 +3409,7 @@ msgstr ""
#: src/components/NgxConfigEditor/LocationEditor.vue:138
#: src/language/curd.ts:59
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/nginx_log/NginxLogList.vue:44
msgid "Path"
msgstr ""
@@ -3564,6 +3592,10 @@ msgstr ""
msgid "Please type \"Revoke\" to confirm"
msgstr ""
#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr ""
#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
@@ -3623,6 +3655,10 @@ msgstr ""
msgid "Project Team"
msgstr ""
#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr ""
#: src/views/certificate/DNSCredential.vue:17
msgid "Provider"
msgstr ""
@@ -3794,7 +3830,7 @@ msgstr ""
#: src/components/NgxConfigEditor/NgxUpstream.vue:131
#: src/views/config/components/ConfigName.vue:51
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:181
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
@@ -4629,6 +4665,7 @@ msgstr ""
msgid "Switch to light theme"
msgstr ""
#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr ""
@@ -4835,6 +4872,10 @@ msgstr ""
msgid "This certificate is managed by Nginx UI"
msgstr ""
#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr ""
#: src/views/certificate/CertificateEditor.vue:162
#: src/views/certificate/CertificateEditor.vue:176
#: src/views/certificate/CertificateEditor.vue:191
@@ -4881,6 +4922,10 @@ msgstr ""
msgid "This value is already taken"
msgstr ""
#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr ""
#: src/components/SystemRestore/SystemRestoreContent.vue:227
#: src/components/SystemRestore/SystemRestoreContent.vue:304
msgid "This will restore all Nginx configuration files. Nginx will restart after the restoration is complete."
@@ -4999,6 +5044,7 @@ msgstr ""
#: src/components/ProxyTargets/ProxyTargets.vue:48
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:83
#: src/views/nginx_log/NginxLogList.vue:12
#: src/views/notification/notificationColumns.tsx:8
@@ -5006,6 +5052,10 @@ msgstr ""
msgid "Type"
msgstr ""
#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr ""
#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:18
msgid "Unknown"
@@ -5158,7 +5208,7 @@ msgid "Version"
msgstr ""
#: src/language/curd.ts:7
#: src/views/nginx_log/NginxLogList.vue:83
#: src/views/nginx_log/NginxLogList.vue:84
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:83
msgid "View"
msgstr ""

View File

@@ -162,7 +162,7 @@ msgstr "Rácio real de workers para configurado"
#: src/components/NgxConfigEditor/NgxUpstream.vue:166 src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:45
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:94
#: src/views/stream/StreamList.vue:102
#: src/views/site/site_list/SiteList.vue:95 src/views/stream/StreamList.vue:103
msgid "Add"
msgstr "Adicionar"
@@ -198,7 +198,7 @@ msgstr "Adicionar servidor"
msgid "Add Site"
msgstr "Adicionar Site"
#: src/views/stream/StreamList.vue:139
#: src/views/stream/StreamList.vue:140
msgid "Add Stream"
msgstr "Adicionar Stream"
@@ -299,8 +299,8 @@ msgstr "Tem certeza que pretende limpar o registo do chat?"
msgid "Are you sure you want to delete permanently?"
msgstr "Tem a certeza de que pretende eliminar permanentemente?"
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:100
#: src/views/stream/StreamList.vue:122
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:113
#: src/views/stream/StreamList.vue:123
msgid "Are you sure you want to delete?"
msgstr "Tem certeza que pretende eliminar?"
@@ -422,8 +422,7 @@ msgstr "Reinício Automático"
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/components/ConfigLeftPanel.vue:273
#: src/views/config/ConfigList.vue:112
#: src/views/config/ConfigList.vue:195
#: src/views/config/ConfigList.vue:120 src/views/config/ConfigList.vue:217
#: src/views/nginx_log/NginxLog.vue:174
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:156
#: src/views/stream/components/StreamEditor.vue:111
@@ -617,6 +616,7 @@ msgstr ""
#: src/components/ChatGPT/ChatMessage.vue:216
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:37
#: src/views/config/components/Delete.vue:98
#: src/views/preference/components/AuthSettings/Passkey.vue:141
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:40
@@ -1053,7 +1053,7 @@ msgstr "Informações de configuração"
msgid "Configuration Name"
msgstr "Nome da Configuração"
#: src/views/config/ConfigList.vue:104
#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr "Configurações"
@@ -1139,11 +1139,11 @@ msgstr "Criar Outro"
msgid "Create Backup"
msgstr "Criar cópia de segurança"
#: src/views/config/ConfigList.vue:122
#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr "Criar Ficheiro"
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:129
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr "Criar Pasta"
@@ -1252,7 +1252,7 @@ msgstr "Diariamente às %{time}"
#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:67
#: src/views/config/ConfigList.vue:69
msgid "Dashboard"
msgstr "Painel"
@@ -1281,8 +1281,11 @@ msgstr ""
#: src/components/NgxConfigEditor/NgxServer.vue:110
#: src/components/NgxConfigEditor/NgxUpstream.vue:134 src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:88
#: src/views/site/site_list/SiteList.vue:109
#: src/views/stream/StreamList.vue:131
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/site/site_list/SiteList.vue:122
#: src/views/stream/StreamList.vue:132
msgid "Delete"
msgstr "Eliminar"
@@ -1290,6 +1293,10 @@ msgstr "Eliminar"
msgid "Delete Certificate"
msgstr "Eliminar certificado"
#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr "Confirmação de eliminação"
#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr "Eliminar Permanentemente"
@@ -1334,7 +1341,7 @@ msgstr "O fluxo %{name} foi eliminado de %{node} com sucesso"
msgid "Delete stream: %{stream_name}"
msgstr "Eliminar stream: %{stream_name}"
#: src/language/curd.ts:29
#: src/language/curd.ts:29 src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr "Eliminado com sucesso"
@@ -1575,9 +1582,9 @@ msgstr ""
"localhost."
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:95
#: src/views/site/site_list/SiteList.vue:108
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:117
#: src/views/stream/StreamList.vue:118
msgid "Duplicate"
msgstr "Duplicado"
@@ -2160,6 +2167,14 @@ msgstr "Falha ao escrever o ficheiro da chave de segurança: {0}"
msgid "Failed to write to zip buffer: {0}"
msgstr "Falha ao escrever no buffer ZIP: {0}"
#: src/views/config/components/Delete.vue:116
msgid "file"
msgstr "arquivo"
#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr "Ficheiro"
#: src/language/constants.ts:32
msgid "File exists"
msgstr "Ficheiro Existe"
@@ -2184,6 +2199,14 @@ msgstr "Concluído"
msgid "First View"
msgstr "Primeira visualização"
#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr "pasta"
#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr "Pasta"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
@@ -2776,7 +2799,7 @@ msgstr ""
#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:72
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr "Gerir Configurações"
@@ -2909,7 +2932,7 @@ msgid "Modified At"
msgstr "Modificado em"
#: src/components/ChatGPT/ChatMessage.vue:212
#: src/views/config/ConfigList.vue:174
#: src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr "Modificar"
@@ -2953,6 +2976,7 @@ msgstr "Diretiva Multilinha"
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/DNSCredential.vue:9
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:5
#: src/views/environments/group/columns.ts:7
@@ -2965,7 +2989,7 @@ msgstr "Diretiva Multilinha"
#: src/views/stream/columns.tsx:12
#: src/views/stream/components/RightPanel/Basic.vue:30
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:144
#: src/views/stream/StreamList.vue:145
msgid "Name"
msgstr "Nome"
@@ -3235,7 +3259,8 @@ msgstr "Nginx.conf inclui o diretório streams-enabled"
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:132
#: src/views/preference/tabs/CertSettings.vue:73
#: src/views/site/site_list/SiteList.vue:98 src/views/stream/StreamList.vue:120
#: src/views/site/site_list/SiteList.vue:111
#: src/views/stream/StreamList.vue:121
msgid "No"
msgstr "Não"
@@ -3400,9 +3425,9 @@ msgstr "Off-line"
#: src/views/site/site_edit/components/Cert/IssueCert.vue:39
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:99
#: src/views/site/site_list/SiteList.vue:112
#: src/views/stream/components/StreamStatusSelect.vue:60
#: src/views/stream/StreamList.vue:121
#: src/views/stream/StreamList.vue:122
msgid "OK"
msgstr "OK"
@@ -3537,6 +3562,7 @@ msgstr "As palavras-passe não coincidem"
#: src/components/NgxConfigEditor/LocationEditor.vue:138
#: src/language/curd.ts:59
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/nginx_log/NginxLogList.vue:44
msgid "Path"
msgstr "Caminho"
@@ -3746,6 +3772,10 @@ msgstr "Por favor, selecione pelo menos um nó para atualizar"
msgid "Please type \"Revoke\" to confirm"
msgstr "Por favor, digite \"Revogar\" para confirmar"
#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr "Por favor, digite o texto de confirmação exato"
#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
@@ -3803,6 +3833,10 @@ msgstr "Proibir a eliminação do utilizador padrão"
msgid "Project Team"
msgstr "Equipe de Projecto"
#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr "Diretório protegido"
#: src/views/certificate/DNSCredential.vue:17
msgid "Provider"
msgstr "Provedor"
@@ -3980,7 +4014,7 @@ msgstr "Removido com sucesso"
#: src/components/NgxConfigEditor/NgxUpstream.vue:131
#: src/views/config/components/ConfigName.vue:51
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:181
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
@@ -4853,6 +4887,7 @@ msgstr "Trocar para tema escuro"
msgid "Switch to light theme"
msgstr "Trocar para tema claro"
#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr "Sincronizar"
@@ -5098,6 +5133,12 @@ msgstr "Este item Auto Cert é inválido, por favor remova-o."
msgid "This certificate is managed by Nginx UI"
msgstr "Este certificado é gerido pelo Nginx UI"
#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr ""
"Este diretório está protegido e não pode ser eliminado por segurança do "
"sistema."
#: src/views/certificate/CertificateEditor.vue:162
#: src/views/certificate/CertificateEditor.vue:176
#: src/views/certificate/CertificateEditor.vue:191
@@ -5154,6 +5195,10 @@ msgstr ""
msgid "This value is already taken"
msgstr "Este valor já está em uso"
#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr "Isto irá eliminar permanentemente %{type}."
#: src/components/SystemRestore/SystemRestoreContent.vue:227
#: src/components/SystemRestore/SystemRestoreContent.vue:304
msgid ""
@@ -5314,6 +5359,7 @@ msgstr "Autenticação de dois fatores necessária"
#: src/components/ProxyTargets/ProxyTargets.vue:48
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:83
#: src/views/nginx_log/NginxLogList.vue:12
#: src/views/notification/notificationColumns.tsx:8
@@ -5321,6 +5367,10 @@ msgstr "Autenticação de dois fatores necessária"
msgid "Type"
msgstr "Tipo"
#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr "Digite %{delete} para confirmar"
#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:18
msgid "Unknown"
@@ -5468,7 +5518,7 @@ msgstr "Verificar requisitos do sistema"
msgid "Version"
msgstr "Versão"
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:83
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:84
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:83
msgid "View"
msgstr "Ver"
@@ -5824,9 +5874,6 @@ msgstr "As suas chaves de acesso"
#~ msgid "Failed to save, syntax error(s) was detected in the configuration."
#~ msgstr "Falha ao salvar, erro(s) de sintaxe detectados no ficheiro de configuração."
#~ msgid "File"
#~ msgstr "Ficheiro"
#~ msgid "Format error %{msg}"
#~ msgstr "Erro de Formato %{msg}"

View File

@@ -166,7 +166,7 @@ msgstr "Фактическое соотношение рабочих к наст
#: src/components/NgxConfigEditor/NgxUpstream.vue:166 src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:45
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:94
#: src/views/stream/StreamList.vue:102
#: src/views/site/site_list/SiteList.vue:95 src/views/stream/StreamList.vue:103
msgid "Add"
msgstr "Добавить"
@@ -202,7 +202,7 @@ msgstr "Добавить сервер"
msgid "Add Site"
msgstr "Добавить Сайт"
#: src/views/stream/StreamList.vue:139
#: src/views/stream/StreamList.vue:140
msgid "Add Stream"
msgstr "Добавить поток"
@@ -301,8 +301,8 @@ msgstr "Вы уверены, что хотите очистить сообщен
msgid "Are you sure you want to delete permanently?"
msgstr "Вы уверены, что хотите удалить безвозвратно?"
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:100
#: src/views/stream/StreamList.vue:122
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:113
#: src/views/stream/StreamList.vue:123
msgid "Are you sure you want to delete?"
msgstr "Вы уверены, что хотите удалить?"
@@ -424,8 +424,7 @@ msgstr "Автоматическая перезагрузка"
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/components/ConfigLeftPanel.vue:273
#: src/views/config/ConfigList.vue:112
#: src/views/config/ConfigList.vue:195
#: src/views/config/ConfigList.vue:120 src/views/config/ConfigList.vue:217
#: src/views/nginx_log/NginxLog.vue:174
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:156
#: src/views/stream/components/StreamEditor.vue:111
@@ -625,6 +624,7 @@ msgstr ""
#: src/components/ChatGPT/ChatMessage.vue:216
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:37
#: src/views/config/components/Delete.vue:98
#: src/views/preference/components/AuthSettings/Passkey.vue:141
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:40
@@ -1058,7 +1058,7 @@ msgstr "Информация о конфигурации"
msgid "Configuration Name"
msgstr "Название конфигурации"
#: src/views/config/ConfigList.vue:104
#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr "Конфигурации"
@@ -1144,11 +1144,11 @@ msgstr "Создать еще"
msgid "Create Backup"
msgstr "Создать резервную копию"
#: src/views/config/ConfigList.vue:122
#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr "Создать файл"
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:129
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr "Создать папку"
@@ -1257,7 +1257,7 @@ msgstr "Ежедневно в %{time}"
#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:67
#: src/views/config/ConfigList.vue:69
msgid "Dashboard"
msgstr "Доска"
@@ -1284,8 +1284,11 @@ msgstr "Определите имя и размер зоны общей памя
#: src/components/NgxConfigEditor/NgxServer.vue:110
#: src/components/NgxConfigEditor/NgxUpstream.vue:134 src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:88
#: src/views/site/site_list/SiteList.vue:109
#: src/views/stream/StreamList.vue:131
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/site/site_list/SiteList.vue:122
#: src/views/stream/StreamList.vue:132
msgid "Delete"
msgstr "Удалить"
@@ -1293,6 +1296,10 @@ msgstr "Удалить"
msgid "Delete Certificate"
msgstr "Удалить сертификат"
#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr "Подтверждение удаления"
#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr "Удалить навсегда"
@@ -1337,7 +1344,7 @@ msgstr "Поток %{name} успешно удален с %{node}"
msgid "Delete stream: %{stream_name}"
msgstr "Удалить поток: %{stream_name}"
#: src/language/curd.ts:29
#: src/language/curd.ts:29 src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr "Удалено успешно"
@@ -1578,9 +1585,9 @@ msgstr ""
"запускаются на localhost."
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:95
#: src/views/site/site_list/SiteList.vue:108
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:117
#: src/views/stream/StreamList.vue:118
msgid "Duplicate"
msgstr "Дублировать"
@@ -2163,6 +2170,14 @@ msgstr "Не удалось записать файл ключа безопас
msgid "Failed to write to zip buffer: {0}"
msgstr "Ошибка записи в ZIP-буфер: {0}"
#: src/views/config/components/Delete.vue:116
msgid "file"
msgstr "файл"
#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr "Файл"
#: src/language/constants.ts:32
msgid "File exists"
msgstr "Файл существует"
@@ -2187,6 +2202,14 @@ msgstr "Готово"
msgid "First View"
msgstr "Первое отображение"
#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr "папка"
#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr "Папка"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
@@ -2777,7 +2800,7 @@ msgstr ""
#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:72
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr "Конфигурации"
@@ -2910,7 +2933,7 @@ msgid "Modified At"
msgstr "Изменено"
#: src/components/ChatGPT/ChatMessage.vue:212
#: src/views/config/ConfigList.vue:174
#: src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr "Изменить"
@@ -2954,6 +2977,7 @@ msgstr "Многострочная директива"
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/DNSCredential.vue:9
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:5
#: src/views/environments/group/columns.ts:7
@@ -2966,7 +2990,7 @@ msgstr "Многострочная директива"
#: src/views/stream/columns.tsx:12
#: src/views/stream/components/RightPanel/Basic.vue:30
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:144
#: src/views/stream/StreamList.vue:145
msgid "Name"
msgstr "Имя"
@@ -3236,7 +3260,8 @@ msgstr "Nginx.conf включает каталог streams-enabled"
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:132
#: src/views/preference/tabs/CertSettings.vue:73
#: src/views/site/site_list/SiteList.vue:98 src/views/stream/StreamList.vue:120
#: src/views/site/site_list/SiteList.vue:111
#: src/views/stream/StreamList.vue:121
msgid "No"
msgstr "Нет"
@@ -3401,9 +3426,9 @@ msgstr "Оффлайн"
#: src/views/site/site_edit/components/Cert/IssueCert.vue:39
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:99
#: src/views/site/site_list/SiteList.vue:112
#: src/views/stream/components/StreamStatusSelect.vue:60
#: src/views/stream/StreamList.vue:121
#: src/views/stream/StreamList.vue:122
msgid "OK"
msgstr "ОК"
@@ -3538,6 +3563,7 @@ msgstr "Пароли не совпадают"
#: src/components/NgxConfigEditor/LocationEditor.vue:138
#: src/language/curd.ts:59
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/nginx_log/NginxLogList.vue:44
msgid "Path"
msgstr "Путь"
@@ -3752,6 +3778,10 @@ msgstr "Пожалуйста, выберите хотя бы один узел"
msgid "Please type \"Revoke\" to confirm"
msgstr "Пожалуйста, введите \"Отозвать\" для подтверждения"
#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr "Пожалуйста, введите точный текст подтверждения"
#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
@@ -3809,6 +3839,10 @@ msgstr "Запретить удаление пользователя по умо
msgid "Project Team"
msgstr "Команда проекта"
#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr "Защищённая директория"
#: src/views/certificate/DNSCredential.vue:17
msgid "Provider"
msgstr "Провайдер"
@@ -3986,7 +4020,7 @@ msgstr "Успешно удалено"
#: src/components/NgxConfigEditor/NgxUpstream.vue:131
#: src/views/config/components/ConfigName.vue:51
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:181
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
@@ -4851,6 +4885,7 @@ msgstr "Переключиться на темную тему"
msgid "Switch to light theme"
msgstr "Переключиться на светлую тему"
#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr "Синхронизация"
@@ -5096,6 +5131,10 @@ msgstr "Этот элемент автосертификата недейств
msgid "This certificate is managed by Nginx UI"
msgstr "Этот сертификат под управлением Nginx UI"
#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr "Этот каталог защищен и не может быть удален для безопасности системы."
#: src/views/certificate/CertificateEditor.vue:162
#: src/views/certificate/CertificateEditor.vue:176
#: src/views/certificate/CertificateEditor.vue:191
@@ -5153,6 +5192,10 @@ msgstr ""
msgid "This value is already taken"
msgstr "Это значение уже занято"
#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr "Это приведет к безвозвратному удалению %{type}."
#: src/components/SystemRestore/SystemRestoreContent.vue:227
#: src/components/SystemRestore/SystemRestoreContent.vue:304
msgid ""
@@ -5313,6 +5356,7 @@ msgstr "Требуется двухфакторная аутентификаци
#: src/components/ProxyTargets/ProxyTargets.vue:48
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:83
#: src/views/nginx_log/NginxLogList.vue:12
#: src/views/notification/notificationColumns.tsx:8
@@ -5320,6 +5364,10 @@ msgstr "Требуется двухфакторная аутентификаци
msgid "Type"
msgstr "Тип"
#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr "Введите %{delete} для подтверждения"
#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:18
msgid "Unknown"
@@ -5467,7 +5515,7 @@ msgstr "Проверьте системные требования"
msgid "Version"
msgstr "Версия"
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:83
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:84
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:83
msgid "View"
msgstr "Просмотр"
@@ -5902,9 +5950,6 @@ msgstr "Ваши ключи доступа"
#~ "Синхронизация конфигурации %{config_name} с %{env_name} не удалась, ответ: "
#~ "%{resp}"
#~ msgid "File"
#~ msgstr "Файл"
#~ msgid ""
#~ "If you lose your mobile phone, you can use the recovery code to reset your "
#~ "2FA."

View File

@@ -162,7 +162,7 @@ msgstr "Gerçek çalışanın yapılandırılmışa oranı"
#: src/components/NgxConfigEditor/NgxUpstream.vue:166 src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:45
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:94
#: src/views/stream/StreamList.vue:102
#: src/views/site/site_list/SiteList.vue:95 src/views/stream/StreamList.vue:103
msgid "Add"
msgstr "Ekle"
@@ -198,7 +198,7 @@ msgstr "Sunucu Ekle"
msgid "Add Site"
msgstr "Site Ekle"
#: src/views/stream/StreamList.vue:139
#: src/views/stream/StreamList.vue:140
msgid "Add Stream"
msgstr "Akış Ekle"
@@ -297,8 +297,8 @@ msgstr "Sohbet kaydını silmek istediğinizden emin misiniz?"
msgid "Are you sure you want to delete permanently?"
msgstr "Kalıcı olarak silmek istediğinizden emin misiniz?"
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:100
#: src/views/stream/StreamList.vue:122
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:113
#: src/views/stream/StreamList.vue:123
msgid "Are you sure you want to delete?"
msgstr "Silmek istediğine emin misin?"
@@ -420,8 +420,7 @@ msgstr "Otomatik Yeniden Başlatma"
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/components/ConfigLeftPanel.vue:273
#: src/views/config/ConfigList.vue:112
#: src/views/config/ConfigList.vue:195
#: src/views/config/ConfigList.vue:120 src/views/config/ConfigList.vue:217
#: src/views/nginx_log/NginxLog.vue:174
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:156
#: src/views/stream/components/StreamEditor.vue:111
@@ -611,6 +610,7 @@ msgstr ""
#: src/components/ChatGPT/ChatMessage.vue:216
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:37
#: src/views/config/components/Delete.vue:98
#: src/views/preference/components/AuthSettings/Passkey.vue:141
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:40
@@ -1047,7 +1047,7 @@ msgstr "Yapılandırma bilgileri"
msgid "Configuration Name"
msgstr "Yapılandırma Adı"
#: src/views/config/ConfigList.vue:104
#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr "Yapılandırmalar"
@@ -1133,11 +1133,11 @@ msgstr "Bir Başka Oluştur"
msgid "Create Backup"
msgstr "Yedek Oluştur"
#: src/views/config/ConfigList.vue:122
#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr "Dosya Oluştur"
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:129
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr "Klasör Ekle"
@@ -1245,7 +1245,7 @@ msgstr "Günlük olarak saat %{time}"
#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:67
#: src/views/config/ConfigList.vue:69
msgid "Dashboard"
msgstr "Kontrol Paneli"
@@ -1274,8 +1274,11 @@ msgstr ""
#: src/components/NgxConfigEditor/NgxServer.vue:110
#: src/components/NgxConfigEditor/NgxUpstream.vue:134 src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:88
#: src/views/site/site_list/SiteList.vue:109
#: src/views/stream/StreamList.vue:131
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/site/site_list/SiteList.vue:122
#: src/views/stream/StreamList.vue:132
msgid "Delete"
msgstr "Sil"
@@ -1283,6 +1286,10 @@ msgstr "Sil"
msgid "Delete Certificate"
msgstr "Sertifikayı Sil"
#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr "Silme Onayı"
#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr "Kalıcı Olarak Sil"
@@ -1327,7 +1334,7 @@ msgstr "%{name} akışı %{node} üzerinden başarıyla silindi"
msgid "Delete stream: %{stream_name}"
msgstr "Akışı sil: %{stream_name}"
#: src/language/curd.ts:29
#: src/language/curd.ts:29 src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr "Başarıyla silindi"
@@ -1570,9 +1577,9 @@ msgstr ""
"kullanamazsınız."
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:95
#: src/views/site/site_list/SiteList.vue:108
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:117
#: src/views/stream/StreamList.vue:118
msgid "Duplicate"
msgstr "Kopyala"
@@ -2155,6 +2162,14 @@ msgstr "Güvenlik anahtarı dosyası yazılamadı: {0}"
msgid "Failed to write to zip buffer: {0}"
msgstr "ZIP tamponuna yazma başarısız: {0}"
#: src/views/config/components/Delete.vue:116
msgid "file"
msgstr "dosya"
#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr "Dosya"
#: src/language/constants.ts:32
msgid "File exists"
msgstr "Dosya zaten var"
@@ -2179,6 +2194,14 @@ msgstr "Bitmiş"
msgid "First View"
msgstr "İlk Görünüm"
#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr "klasör"
#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr "Klasör"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
@@ -2772,7 +2795,7 @@ msgstr ""
#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:72
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr "Yapılandırmaları Yönet"
@@ -2905,7 +2928,7 @@ msgid "Modified At"
msgstr "Değiştirilme Tarihi"
#: src/components/ChatGPT/ChatMessage.vue:212
#: src/views/config/ConfigList.vue:174
#: src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr "Değiştir"
@@ -2949,6 +2972,7 @@ msgstr "Çok Satırlı Yönergeler"
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/DNSCredential.vue:9
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:5
#: src/views/environments/group/columns.ts:7
@@ -2961,7 +2985,7 @@ msgstr "Çok Satırlı Yönergeler"
#: src/views/stream/columns.tsx:12
#: src/views/stream/components/RightPanel/Basic.vue:30
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:144
#: src/views/stream/StreamList.vue:145
msgid "Name"
msgstr "İsim"
@@ -3231,7 +3255,8 @@ msgstr "Nginx.conf, streams-enabled dizinini içerir"
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:132
#: src/views/preference/tabs/CertSettings.vue:73
#: src/views/site/site_list/SiteList.vue:98 src/views/stream/StreamList.vue:120
#: src/views/site/site_list/SiteList.vue:111
#: src/views/stream/StreamList.vue:121
msgid "No"
msgstr "Hayır"
@@ -3396,9 +3421,9 @@ msgstr "Çevrimdışı"
#: src/views/site/site_edit/components/Cert/IssueCert.vue:39
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:99
#: src/views/site/site_list/SiteList.vue:112
#: src/views/stream/components/StreamStatusSelect.vue:60
#: src/views/stream/StreamList.vue:121
#: src/views/stream/StreamList.vue:122
msgid "OK"
msgstr "Tamam"
@@ -3532,6 +3557,7 @@ msgstr "Şifreler eşleşmiyor"
#: src/components/NgxConfigEditor/LocationEditor.vue:138
#: src/language/curd.ts:59
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/nginx_log/NginxLogList.vue:44
msgid "Path"
msgstr "Yol"
@@ -3742,6 +3768,10 @@ msgstr "Lütfen yükseltmek için en az bir düğüm seçin"
msgid "Please type \"Revoke\" to confirm"
msgstr "Onaylamak için \"İptal Et\" yazın"
#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr "Lütfen tam onay metnini yazın"
#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
@@ -3799,6 +3829,10 @@ msgstr "Varsayılan kullanıcı silme yasağı"
msgid "Project Team"
msgstr "Proje Ekibi"
#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr "Korumalı Dizin"
#: src/views/certificate/DNSCredential.vue:17
msgid "Provider"
msgstr "Sağlayıcı"
@@ -3976,7 +4010,7 @@ msgstr "Başarıyla kaldırıldı"
#: src/components/NgxConfigEditor/NgxUpstream.vue:131
#: src/views/config/components/ConfigName.vue:51
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:181
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
@@ -4850,6 +4884,7 @@ msgstr "Karanlık temaya geç"
msgid "Switch to light theme"
msgstr "Aydınlık temaya geç"
#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr "Senkronize Et"
@@ -5097,6 +5132,10 @@ msgstr "Bu Otomatik Sertifika öğesi geçersiz, lütfen kaldırın."
msgid "This certificate is managed by Nginx UI"
msgstr "Bu sertifika Nginx UI tarafından yönetilmektedir"
#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr "Bu dizin korumalıdır ve sistem güvenliği için silinemez."
#: src/views/certificate/CertificateEditor.vue:162
#: src/views/certificate/CertificateEditor.vue:176
#: src/views/certificate/CertificateEditor.vue:191
@@ -5153,6 +5192,10 @@ msgstr ""
msgid "This value is already taken"
msgstr "Bu değer zaten alınmış"
#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr "Bu, %{type} kalıcı olarak silinecektir."
#: src/components/SystemRestore/SystemRestoreContent.vue:227
#: src/components/SystemRestore/SystemRestoreContent.vue:304
msgid ""
@@ -5313,6 +5356,7 @@ msgstr "İki faktörlü kimlik doğrulama gerekiyor"
#: src/components/ProxyTargets/ProxyTargets.vue:48
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:83
#: src/views/nginx_log/NginxLogList.vue:12
#: src/views/notification/notificationColumns.tsx:8
@@ -5320,6 +5364,10 @@ msgstr "İki faktörlü kimlik doğrulama gerekiyor"
msgid "Type"
msgstr "Tür"
#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr "Onaylamak için %{delete} yazın"
#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:18
msgid "Unknown"
@@ -5467,7 +5515,7 @@ msgstr "Sistem Gereksinimlerini Doğrulun"
msgid "Version"
msgstr "Sürüm"
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:83
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:84
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:83
msgid "View"
msgstr "Görüntüle"
@@ -5910,9 +5958,6 @@ msgstr "Geçiş Anahtarlarınız"
#~ msgid "Can't scan? Use text key binding"
#~ msgstr "Tarayamıyor musunuz? Metin anahtar bağlamasını kullanın"
#~ msgid "File"
#~ msgstr "Dosya"
#~ msgid ""
#~ "If you lose your mobile phone, you can use the recovery code to reset your "
#~ "2FA."

View File

@@ -166,7 +166,7 @@ msgstr "Фактичне співвідношення робочих до нал
#: src/components/NgxConfigEditor/NgxUpstream.vue:166 src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:45
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:94
#: src/views/stream/StreamList.vue:102
#: src/views/site/site_list/SiteList.vue:95 src/views/stream/StreamList.vue:103
msgid "Add"
msgstr "Додати"
@@ -202,7 +202,7 @@ msgstr "Додати сервер"
msgid "Add Site"
msgstr "Додати сайт"
#: src/views/stream/StreamList.vue:139
#: src/views/stream/StreamList.vue:140
msgid "Add Stream"
msgstr "Додати стрім"
@@ -301,8 +301,8 @@ msgstr "Ви впевнені, що бажаєте очистити запис
msgid "Are you sure you want to delete permanently?"
msgstr "Ви впевнені, що хочете видалити назавжди?"
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:100
#: src/views/stream/StreamList.vue:122
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:113
#: src/views/stream/StreamList.vue:123
msgid "Are you sure you want to delete?"
msgstr "Ви впевнені, що хочете видалити?"
@@ -424,8 +424,7 @@ msgstr "Автоматичний перезапуск"
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/components/ConfigLeftPanel.vue:273
#: src/views/config/ConfigList.vue:112
#: src/views/config/ConfigList.vue:195
#: src/views/config/ConfigList.vue:120 src/views/config/ConfigList.vue:217
#: src/views/nginx_log/NginxLog.vue:174
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:156
#: src/views/stream/components/StreamEditor.vue:111
@@ -622,6 +621,7 @@ msgstr ""
#: src/components/ChatGPT/ChatMessage.vue:216
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:37
#: src/views/config/components/Delete.vue:98
#: src/views/preference/components/AuthSettings/Passkey.vue:141
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:40
@@ -1052,7 +1052,7 @@ msgstr "Інформація про конфігурацію"
msgid "Configuration Name"
msgstr "Назва конфігурації"
#: src/views/config/ConfigList.vue:104
#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr "Конфігурації"
@@ -1138,11 +1138,11 @@ msgstr "Створити ще один"
msgid "Create Backup"
msgstr "Створити резервну копію"
#: src/views/config/ConfigList.vue:122
#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr "Створити файл"
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:129
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr "Створити папку"
@@ -1287,7 +1287,7 @@ msgstr "Щодня о %{time}"
#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:67
#: src/views/config/ConfigList.vue:69
msgid "Dashboard"
msgstr "Панель керування"
@@ -1314,8 +1314,11 @@ msgstr "Вкажіть назву та розмір зони спільної п
#: src/components/NgxConfigEditor/NgxServer.vue:110
#: src/components/NgxConfigEditor/NgxUpstream.vue:134 src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:88
#: src/views/site/site_list/SiteList.vue:109
#: src/views/stream/StreamList.vue:131
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/site/site_list/SiteList.vue:122
#: src/views/stream/StreamList.vue:132
msgid "Delete"
msgstr "Видалити"
@@ -1323,6 +1326,10 @@ msgstr "Видалити"
msgid "Delete Certificate"
msgstr "Видалити сертифікат"
#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr "Підтвердження видалення"
#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr "Видалити назавжди"
@@ -1367,7 +1374,7 @@ msgstr "Потік %{name} успішно видалено з %{node}"
msgid "Delete stream: %{stream_name}"
msgstr "Видалити потік: %{stream_name}"
#: src/language/curd.ts:29
#: src/language/curd.ts:29 src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr "Видалено успішно"
@@ -1644,9 +1651,9 @@ msgstr ""
"localhost."
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:95
#: src/views/site/site_list/SiteList.vue:108
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:117
#: src/views/stream/StreamList.vue:118
msgid "Duplicate"
msgstr "Дублювати"
@@ -2229,6 +2236,14 @@ msgstr "Не вдалося записати файл ключа безпеки:
msgid "Failed to write to zip buffer: {0}"
msgstr "Не вдалося записати в zip-буфер: {0}"
#: src/views/config/components/Delete.vue:116
msgid "file"
msgstr "файл"
#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr "Файл"
#: src/language/constants.ts:32
msgid "File exists"
msgstr "Файл існує"
@@ -2253,6 +2268,14 @@ msgstr "Завершено"
msgid "First View"
msgstr "Перший перегляд"
#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr "папка"
#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr "Папка"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
@@ -2843,7 +2866,7 @@ msgstr ""
#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:72
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr "Керування конфігураціями"
@@ -2976,7 +2999,7 @@ msgid "Modified At"
msgstr "Змінено"
#: src/components/ChatGPT/ChatMessage.vue:212
#: src/views/config/ConfigList.vue:174
#: src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr "Змінити"
@@ -3020,6 +3043,7 @@ msgstr "Багаторядкова директива"
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/DNSCredential.vue:9
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:5
#: src/views/environments/group/columns.ts:7
@@ -3032,7 +3056,7 @@ msgstr "Багаторядкова директива"
#: src/views/stream/columns.tsx:12
#: src/views/stream/components/RightPanel/Basic.vue:30
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:144
#: src/views/stream/StreamList.vue:145
msgid "Name"
msgstr "Ім'я"
@@ -3302,7 +3326,8 @@ msgstr "Nginx.conf включає каталог streams-enabled"
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:132
#: src/views/preference/tabs/CertSettings.vue:73
#: src/views/site/site_list/SiteList.vue:98 src/views/stream/StreamList.vue:120
#: src/views/site/site_list/SiteList.vue:111
#: src/views/stream/StreamList.vue:121
msgid "No"
msgstr "Ні"
@@ -3467,9 +3492,9 @@ msgstr "Офлайн"
#: src/views/site/site_edit/components/Cert/IssueCert.vue:39
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:99
#: src/views/site/site_list/SiteList.vue:112
#: src/views/stream/components/StreamStatusSelect.vue:60
#: src/views/stream/StreamList.vue:121
#: src/views/stream/StreamList.vue:122
msgid "OK"
msgstr "Гаразд"
@@ -3604,6 +3629,7 @@ msgstr "Паролі не збігаються"
#: src/components/NgxConfigEditor/LocationEditor.vue:138
#: src/language/curd.ts:59
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/nginx_log/NginxLogList.vue:44
msgid "Path"
msgstr "Шлях"
@@ -3814,6 +3840,10 @@ msgstr "Будь ласка, виберіть принаймні один вуз
msgid "Please type \"Revoke\" to confirm"
msgstr "Будь ласка, введіть \"Скасувати\" для підтвердження"
#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr "Будь ласка, введіть точний текст підтвердження"
#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
@@ -3871,6 +3901,10 @@ msgstr "Забороняється видаляти типового корис
msgid "Project Team"
msgstr "Команда проекту"
#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr "Захищена директорія"
#: src/views/certificate/DNSCredential.vue:17
msgid "Provider"
msgstr "Провайдер"
@@ -4051,7 +4085,7 @@ msgstr "Успішно видалено"
#: src/components/NgxConfigEditor/NgxUpstream.vue:131
#: src/views/config/components/ConfigName.vue:51
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:181
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
@@ -4922,6 +4956,7 @@ msgstr "Перейти на темну тему"
msgid "Switch to light theme"
msgstr "Перейти на світлу тему"
#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr "Синхронізувати"
@@ -5169,6 +5204,10 @@ msgstr ""
msgid "This certificate is managed by Nginx UI"
msgstr "Цей сертифікат керується Nginx UI"
#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr "Цей каталог захищений і не може бути видалений для безпеки системи."
#: src/views/certificate/CertificateEditor.vue:162
#: src/views/certificate/CertificateEditor.vue:176
#: src/views/certificate/CertificateEditor.vue:191
@@ -5225,6 +5264,10 @@ msgstr ""
msgid "This value is already taken"
msgstr "Це значення вже використовується"
#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr "Це призведе до остаточного видалення %{type}."
#: src/components/SystemRestore/SystemRestoreContent.vue:227
#: src/components/SystemRestore/SystemRestoreContent.vue:304
msgid ""
@@ -5383,6 +5426,7 @@ msgstr "Потрібна двофакторна аутентифікація"
#: src/components/ProxyTargets/ProxyTargets.vue:48
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:83
#: src/views/nginx_log/NginxLogList.vue:12
#: src/views/notification/notificationColumns.tsx:8
@@ -5390,6 +5434,10 @@ msgstr "Потрібна двофакторна аутентифікація"
msgid "Type"
msgstr "Тип"
#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr "Введіть %{delete} для підтвердження"
#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:18
msgid "Unknown"
@@ -5537,7 +5585,7 @@ msgstr "Перевірте системні вимоги"
msgid "Version"
msgstr "Версія"
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:83
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:84
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:83
msgid "View"
msgstr "Переглянути"

View File

@@ -157,7 +157,7 @@ msgstr "Tỷ lệ công nhân thực tế so với cấu hình"
#: src/components/NgxConfigEditor/NgxUpstream.vue:166 src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:45
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:94
#: src/views/stream/StreamList.vue:102
#: src/views/site/site_list/SiteList.vue:95 src/views/stream/StreamList.vue:103
msgid "Add"
msgstr "Thêm"
@@ -193,7 +193,7 @@ msgstr "Thêm máy chủ"
msgid "Add Site"
msgstr "Thêm Website"
#: src/views/stream/StreamList.vue:139
#: src/views/stream/StreamList.vue:140
msgid "Add Stream"
msgstr "Thêm luồng"
@@ -292,8 +292,8 @@ msgstr "Bạn có chắc chắn muốn xóa lịch sử trò chuyện không?"
msgid "Are you sure you want to delete permanently?"
msgstr "Bạn có chắc chắn muốn xóa vĩnh viễn không?"
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:100
#: src/views/stream/StreamList.vue:122
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:113
#: src/views/stream/StreamList.vue:123
msgid "Are you sure you want to delete?"
msgstr "Bạn có chắc chắn muốn xóa không?"
@@ -411,8 +411,7 @@ msgstr "Khởi động lại tự động"
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/components/ConfigLeftPanel.vue:273
#: src/views/config/ConfigList.vue:112
#: src/views/config/ConfigList.vue:195
#: src/views/config/ConfigList.vue:120 src/views/config/ConfigList.vue:217
#: src/views/nginx_log/NginxLog.vue:174
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:156
#: src/views/stream/components/StreamEditor.vue:111
@@ -602,6 +601,7 @@ msgstr ""
#: src/components/ChatGPT/ChatMessage.vue:216
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:37
#: src/views/config/components/Delete.vue:98
#: src/views/preference/components/AuthSettings/Passkey.vue:141
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:40
@@ -1031,7 +1031,7 @@ msgstr "Thông tin cấu hình"
msgid "Configuration Name"
msgstr "Tên cấu hình"
#: src/views/config/ConfigList.vue:104
#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr "Cấu hình"
@@ -1115,11 +1115,11 @@ msgstr "Tạo thêm"
msgid "Create Backup"
msgstr "Tạo bản sao lưu"
#: src/views/config/ConfigList.vue:122
#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr "Tạo tệp"
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:129
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr "Tạo thư mục"
@@ -1227,7 +1227,7 @@ msgstr "Hàng ngày lúc %{time}"
#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:67
#: src/views/config/ConfigList.vue:69
msgid "Dashboard"
msgstr "Bảng điều khiển"
@@ -1254,8 +1254,11 @@ msgstr "Xác định tên và kích thước vùng bộ nhớ dùng chung, ví d
#: src/components/NgxConfigEditor/NgxServer.vue:110
#: src/components/NgxConfigEditor/NgxUpstream.vue:134 src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:88
#: src/views/site/site_list/SiteList.vue:109
#: src/views/stream/StreamList.vue:131
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/site/site_list/SiteList.vue:122
#: src/views/stream/StreamList.vue:132
msgid "Delete"
msgstr "Xoá"
@@ -1263,6 +1266,10 @@ msgstr "Xoá"
msgid "Delete Certificate"
msgstr "Xóa chứng chỉ"
#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr "Xác nhận xóa"
#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr "Xóa Vĩnh Viễn"
@@ -1307,7 +1314,7 @@ msgstr "Đã xóa luồng %{name} từ %{node} thành công"
msgid "Delete stream: %{stream_name}"
msgstr "Xóa luồng: %{stream_name}"
#: src/language/curd.ts:29
#: src/language/curd.ts:29 src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr "Đã xóa thành công"
@@ -1549,9 +1556,9 @@ msgstr ""
"trên các trang web không phải HTTPS, trừ khi chạy trên localhost."
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:95
#: src/views/site/site_list/SiteList.vue:108
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:117
#: src/views/stream/StreamList.vue:118
msgid "Duplicate"
msgstr "Nhân bản"
@@ -2134,6 +2141,15 @@ msgstr "Không thể ghi tệp khóa bảo mật: {0}"
msgid "Failed to write to zip buffer: {0}"
msgstr "Không thể ghi vào bộ đệm zip: {0}"
#: src/views/config/components/Delete.vue:116
#, fuzzy
msgid "file"
msgstr "tệp"
#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr "Tệp tin"
#: src/language/constants.ts:32
msgid "File exists"
msgstr "Tệp tin đã tồn tại"
@@ -2158,6 +2174,14 @@ msgstr "Đã hoàn thành"
msgid "First View"
msgstr "Xem lần đầu"
#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr "thư mục"
#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr "Thư mục"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
@@ -2747,7 +2771,7 @@ msgstr ""
#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:72
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr "Quản lý cấu hình"
@@ -2880,7 +2904,7 @@ msgid "Modified At"
msgstr "Đã sửa đổi lúc"
#: src/components/ChatGPT/ChatMessage.vue:212
#: src/views/config/ConfigList.vue:174
#: src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr "Sửa đổi"
@@ -2924,6 +2948,7 @@ msgstr "Chỉ thị nhiều dòng"
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/DNSCredential.vue:9
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:5
#: src/views/environments/group/columns.ts:7
@@ -2936,7 +2961,7 @@ msgstr "Chỉ thị nhiều dòng"
#: src/views/stream/columns.tsx:12
#: src/views/stream/components/RightPanel/Basic.vue:30
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:144
#: src/views/stream/StreamList.vue:145
msgid "Name"
msgstr "Tên"
@@ -3206,7 +3231,8 @@ msgstr "Nginx.conf bao gồm thư mục streams-enabled"
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:132
#: src/views/preference/tabs/CertSettings.vue:73
#: src/views/site/site_list/SiteList.vue:98 src/views/stream/StreamList.vue:120
#: src/views/site/site_list/SiteList.vue:111
#: src/views/stream/StreamList.vue:121
msgid "No"
msgstr "Không"
@@ -3369,9 +3395,9 @@ msgstr "Ngoại tuyến"
#: src/views/site/site_edit/components/Cert/IssueCert.vue:39
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:99
#: src/views/site/site_list/SiteList.vue:112
#: src/views/stream/components/StreamStatusSelect.vue:60
#: src/views/stream/StreamList.vue:121
#: src/views/stream/StreamList.vue:122
msgid "OK"
msgstr "Đồng ý"
@@ -3506,6 +3532,7 @@ msgstr "Mật khẩu không khớp"
#: src/components/NgxConfigEditor/LocationEditor.vue:138
#: src/language/curd.ts:59
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/nginx_log/NginxLogList.vue:44
msgid "Path"
msgstr "Đường dẫn"
@@ -3707,6 +3734,10 @@ msgstr "Vui lòng chọn ít nhất một nút để nâng cấp"
msgid "Please type \"Revoke\" to confirm"
msgstr "Vui lòng nhập \"Thu hồi\" để xác nhận"
#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr "Vui lòng nhập chính xác văn bản xác nhận"
#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
@@ -3764,6 +3795,10 @@ msgstr "Cấm xóa người dùng mặc định"
msgid "Project Team"
msgstr "Đội ngũ phát triển"
#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr "Thư mục được bảo vệ"
#: src/views/certificate/DNSCredential.vue:17
msgid "Provider"
msgstr "Nhà cung cấp"
@@ -3941,7 +3976,7 @@ msgstr "Đã xóa thành công"
#: src/components/NgxConfigEditor/NgxUpstream.vue:131
#: src/views/config/components/ConfigName.vue:51
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:181
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
@@ -4804,6 +4839,7 @@ msgstr "Sử dụng Dark theme"
msgid "Switch to light theme"
msgstr "Sử dụng Light theme"
#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr "Đồng bộ"
@@ -5049,6 +5085,10 @@ msgstr "Mục Chứng chỉ tự động này không hợp lệ, vui lòng xóa
msgid "This certificate is managed by Nginx UI"
msgstr "Chứng chỉ này được quản lý bởi Nginx UI"
#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr "Thư mục này được bảo vệ và không thể xóa vì lý do an toàn hệ thống."
#: src/views/certificate/CertificateEditor.vue:162
#: src/views/certificate/CertificateEditor.vue:176
#: src/views/certificate/CertificateEditor.vue:191
@@ -5105,6 +5145,10 @@ msgstr ""
msgid "This value is already taken"
msgstr "Giá trị này đã được sử dụng"
#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr "Hành động này sẽ xóa vĩnh viễn %{type}."
#: src/components/SystemRestore/SystemRestoreContent.vue:227
#: src/components/SystemRestore/SystemRestoreContent.vue:304
msgid ""
@@ -5265,6 +5309,7 @@ msgstr "Yêu cầu xác thực hai yếu tố"
#: src/components/ProxyTargets/ProxyTargets.vue:48
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:83
#: src/views/nginx_log/NginxLogList.vue:12
#: src/views/notification/notificationColumns.tsx:8
@@ -5272,6 +5317,10 @@ msgstr "Yêu cầu xác thực hai yếu tố"
msgid "Type"
msgstr "Loại"
#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr "Nhập %{delete} để xác nhận"
#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:18
msgid "Unknown"
@@ -5419,7 +5468,7 @@ msgstr "Xác minh các yêu cầu hệ thống"
msgid "Version"
msgstr "Phiên bản"
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:83
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:84
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:83
msgid "View"
msgstr "Xem"
@@ -5837,9 +5886,6 @@ msgstr "Khóa truy cập của bạn"
#~ msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}"
#~ msgstr "Nhân bản %{conf_name} thành %{node_name} thành công"
#~ msgid "File"
#~ msgstr "Tệp tin"
#, fuzzy
#~ msgid "Incorrect username or password"
#~ msgstr "Tên người dùng hoặc mật khẩu không chính xác"

View File

@@ -161,7 +161,7 @@ msgstr "实际工作进程与配置比例"
#: src/components/NgxConfigEditor/NgxUpstream.vue:166 src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:45
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:94
#: src/views/stream/StreamList.vue:102
#: src/views/site/site_list/SiteList.vue:95 src/views/stream/StreamList.vue:103
msgid "Add"
msgstr "添加"
@@ -197,7 +197,7 @@ msgstr "添加服务器"
msgid "Add Site"
msgstr "添加站点"
#: src/views/stream/StreamList.vue:139
#: src/views/stream/StreamList.vue:140
msgid "Add Stream"
msgstr "添加 Stream"
@@ -294,8 +294,8 @@ msgstr "你确定你要清除聊天记录吗?"
msgid "Are you sure you want to delete permanently?"
msgstr "确定要永久删除吗?"
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:100
#: src/views/stream/StreamList.vue:122
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:113
#: src/views/stream/StreamList.vue:123
msgid "Are you sure you want to delete?"
msgstr "您确定要删除吗?"
@@ -413,8 +413,7 @@ msgstr "自动重启"
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/components/ConfigLeftPanel.vue:273
#: src/views/config/ConfigList.vue:112
#: src/views/config/ConfigList.vue:195
#: src/views/config/ConfigList.vue:120 src/views/config/ConfigList.vue:217
#: src/views/nginx_log/NginxLog.vue:174
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:156
#: src/views/stream/components/StreamEditor.vue:111
@@ -600,6 +599,7 @@ msgstr "基于 worker_processes * worker_connections 计算得出。实际性能
#: src/components/ChatGPT/ChatMessage.vue:216
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:37
#: src/views/config/components/Delete.vue:98
#: src/views/preference/components/AuthSettings/Passkey.vue:141
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:40
@@ -1011,7 +1011,7 @@ msgstr "配置信息"
msgid "Configuration Name"
msgstr "配置名称"
#: src/views/config/ConfigList.vue:104
#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr "配置"
@@ -1095,11 +1095,11 @@ msgstr "再创建一个"
msgid "Create Backup"
msgstr "创建备份"
#: src/views/config/ConfigList.vue:122
#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr "创建文件"
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:129
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr "创建文件夹"
@@ -1205,7 +1205,7 @@ msgstr "每天 %{time}"
#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:67
#: src/views/config/ConfigList.vue:69
msgid "Dashboard"
msgstr "仪表盘"
@@ -1232,8 +1232,11 @@ msgstr "定义共享内存区名称和大小,例如 proxy_cache:10m"
#: src/components/NgxConfigEditor/NgxServer.vue:110
#: src/components/NgxConfigEditor/NgxUpstream.vue:134 src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:88
#: src/views/site/site_list/SiteList.vue:109
#: src/views/stream/StreamList.vue:131
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/site/site_list/SiteList.vue:122
#: src/views/stream/StreamList.vue:132
msgid "Delete"
msgstr "删除"
@@ -1241,6 +1244,10 @@ msgstr "删除"
msgid "Delete Certificate"
msgstr "删除证书"
#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr "删除确认"
#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr "彻底删除"
@@ -1285,7 +1292,7 @@ msgstr "已成功从 %{node} 删除 Stream %{name}"
msgid "Delete stream: %{stream_name}"
msgstr "删除 Stream: %{stream_name}"
#: src/language/curd.ts:29
#: src/language/curd.ts:29 src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr "删除成功"
@@ -1523,9 +1530,9 @@ msgid ""
msgstr "由于某些浏览器的安全策略,除非在 localhost 上使用,否则不能在非 HTTPS 网站上使用 Passkey。"
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:95
#: src/views/site/site_list/SiteList.vue:108
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:117
#: src/views/stream/StreamList.vue:118
msgid "Duplicate"
msgstr "复制"
@@ -2108,6 +2115,14 @@ msgstr "无法写入安全密钥文件:{0}"
msgid "Failed to write to zip buffer: {0}"
msgstr "写入 zip 缓冲区失败:{0}"
#: src/views/config/components/Delete.vue:116
msgid "file"
msgstr "文件"
#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr "文件"
#: src/language/constants.ts:32
msgid "File exists"
msgstr "文件已存在"
@@ -2132,6 +2147,14 @@ msgstr "完成"
msgid "First View"
msgstr "首次查看"
#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr "文件夹"
#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr "文件夹"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
@@ -2702,7 +2725,7 @@ msgstr "在获取签发证书前,请确保配置文件中已将 .well-known
#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:72
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr "配置管理"
@@ -2835,7 +2858,7 @@ msgid "Modified At"
msgstr "修改时间"
#: src/components/ChatGPT/ChatMessage.vue:212
#: src/views/config/ConfigList.vue:174
#: src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr "修改"
@@ -2879,6 +2902,7 @@ msgstr "多行指令"
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/DNSCredential.vue:9
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:5
#: src/views/environments/group/columns.ts:7
@@ -2891,7 +2915,7 @@ msgstr "多行指令"
#: src/views/stream/columns.tsx:12
#: src/views/stream/components/RightPanel/Basic.vue:30
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:144
#: src/views/stream/StreamList.vue:145
msgid "Name"
msgstr "名称"
@@ -3159,7 +3183,8 @@ msgstr "检查 nginx.conf 是否包含 streams-enabled 的目录"
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:132
#: src/views/preference/tabs/CertSettings.vue:73
#: src/views/site/site_list/SiteList.vue:98 src/views/stream/StreamList.vue:120
#: src/views/site/site_list/SiteList.vue:111
#: src/views/stream/StreamList.vue:121
msgid "No"
msgstr "取消"
@@ -3318,9 +3343,9 @@ msgstr "离线"
#: src/views/site/site_edit/components/Cert/IssueCert.vue:39
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:99
#: src/views/site/site_list/SiteList.vue:112
#: src/views/stream/components/StreamStatusSelect.vue:60
#: src/views/stream/StreamList.vue:121
#: src/views/stream/StreamList.vue:122
msgid "OK"
msgstr "确定"
@@ -3451,6 +3476,7 @@ msgstr "密码不匹配"
#: src/components/NgxConfigEditor/LocationEditor.vue:138
#: src/language/curd.ts:59
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/nginx_log/NginxLogList.vue:44
msgid "Path"
msgstr "路径"
@@ -3644,6 +3670,10 @@ msgstr "请至少选择一个节点进行升级"
msgid "Please type \"Revoke\" to confirm"
msgstr "请键入 \"撤销 \"确认"
#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr "请输入确切的确认文本"
#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
@@ -3701,6 +3731,10 @@ msgstr "禁止删除默认用户"
msgid "Project Team"
msgstr "项目团队"
#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr "受保护目录"
#: src/views/certificate/DNSCredential.vue:17
msgid "Provider"
msgstr "提供商"
@@ -3874,7 +3908,7 @@ msgstr "删除成功"
#: src/components/NgxConfigEditor/NgxUpstream.vue:131
#: src/views/config/components/ConfigName.vue:51
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:181
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
@@ -4724,6 +4758,7 @@ msgstr "切换到深色主题"
msgid "Switch to light theme"
msgstr "切换到浅色"
#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr "同步"
@@ -4946,6 +4981,10 @@ msgstr "这个证书自动续期项目是无效的,请删除。"
msgid "This certificate is managed by Nginx UI"
msgstr "该证书由 Nginx UI 托管"
#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr "此目录受保护,为确保系统安全无法删除。"
#: src/views/certificate/CertificateEditor.vue:162
#: src/views/certificate/CertificateEditor.vue:176
#: src/views/certificate/CertificateEditor.vue:191
@@ -4996,6 +5035,10 @@ msgstr "此 Token 只显示一次,以后无法找回。请确保将其保存
msgid "This value is already taken"
msgstr "该字段的值已经存在"
#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr "这将永久删除%{type}。"
#: src/components/SystemRestore/SystemRestoreContent.vue:227
#: src/components/SystemRestore/SystemRestoreContent.vue:304
msgid ""
@@ -5138,6 +5181,7 @@ msgstr "需要两步验证"
#: src/components/ProxyTargets/ProxyTargets.vue:48
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:83
#: src/views/nginx_log/NginxLogList.vue:12
#: src/views/notification/notificationColumns.tsx:8
@@ -5145,6 +5189,10 @@ msgstr "需要两步验证"
msgid "Type"
msgstr "类型"
#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr "输入 %{delete} 以确认"
#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:18
msgid "Unknown"
@@ -5292,7 +5340,7 @@ msgstr "验证系统要求"
msgid "Version"
msgstr "版本"
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:83
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:84
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:83
msgid "View"
msgstr "查看"
@@ -5746,9 +5794,6 @@ msgstr "你的 Passkeys"
#~ msgid "Can't scan? Use text key binding"
#~ msgstr "无法扫描?使用文本密钥绑定"
#~ msgid "File"
#~ msgstr "文件"
#~ msgid "Incorrect username or password"
#~ msgstr "用户名或密码错误"

View File

@@ -165,7 +165,7 @@ msgstr "實際工作進程與配置比例"
#: src/components/NgxConfigEditor/NgxUpstream.vue:166 src/language/curd.ts:19
#: src/views/preference/tabs/CertSettings.vue:45
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:94
#: src/views/stream/StreamList.vue:102
#: src/views/site/site_list/SiteList.vue:95 src/views/stream/StreamList.vue:103
msgid "Add"
msgstr "新增"
@@ -201,7 +201,7 @@ msgstr "新增伺服器"
msgid "Add Site"
msgstr "新增網站"
#: src/views/stream/StreamList.vue:139
#: src/views/stream/StreamList.vue:140
msgid "Add Stream"
msgstr "新增 Stream"
@@ -298,8 +298,8 @@ msgstr "您確定要清除聊天記錄嗎?"
msgid "Are you sure you want to delete permanently?"
msgstr "確定要永久刪除嗎?"
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:100
#: src/views/stream/StreamList.vue:122
#: src/language/curd.ts:25 src/views/site/site_list/SiteList.vue:113
#: src/views/stream/StreamList.vue:123
msgid "Are you sure you want to delete?"
msgstr "您確定要刪除嗎?"
@@ -417,8 +417,7 @@ msgstr "自動重啟"
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/components/ConfigLeftPanel.vue:273
#: src/views/config/ConfigList.vue:112
#: src/views/config/ConfigList.vue:195
#: src/views/config/ConfigList.vue:120 src/views/config/ConfigList.vue:217
#: src/views/nginx_log/NginxLog.vue:174
#: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:156
#: src/views/stream/components/StreamEditor.vue:111
@@ -604,6 +603,7 @@ msgstr "基於 worker_processes * worker_connections 計算得出。實際效能
#: src/components/ChatGPT/ChatMessage.vue:216
#: src/components/NgxConfigEditor/NgxServer.vue:61
#: src/components/NgxConfigEditor/NgxUpstream.vue:37
#: src/views/config/components/Delete.vue:98
#: src/views/preference/components/AuthSettings/Passkey.vue:141
#: src/views/site/components/SiteStatusSelect.vue:124
#: src/views/site/site_edit/components/Cert/IssueCert.vue:40
@@ -1015,7 +1015,7 @@ msgstr "設定資訊"
msgid "Configuration Name"
msgstr "設定名稱"
#: src/views/config/ConfigList.vue:104
#: src/views/config/ConfigList.vue:112
msgid "Configurations"
msgstr "設定"
@@ -1099,11 +1099,11 @@ msgstr "再建立一個"
msgid "Create Backup"
msgstr "建立備份"
#: src/views/config/ConfigList.vue:122
#: src/views/config/ConfigList.vue:130
msgid "Create File"
msgstr "建立檔案"
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:129
#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:137
msgid "Create Folder"
msgstr "建立資料夾"
@@ -1209,7 +1209,7 @@ msgstr "每天 %{time}"
#: src/routes/modules/dashboard.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:109
#: src/views/config/components/ConfigLeftPanel.vue:159
#: src/views/config/ConfigList.vue:67
#: src/views/config/ConfigList.vue:69
msgid "Dashboard"
msgstr "儀錶板"
@@ -1236,8 +1236,11 @@ msgstr "定義共享記憶體區域名稱和大小,例如 proxy_cache:10m"
#: src/components/NgxConfigEditor/NgxServer.vue:110
#: src/components/NgxConfigEditor/NgxUpstream.vue:134 src/language/curd.ts:9
#: src/views/certificate/components/RemoveCert.vue:88
#: src/views/site/site_list/SiteList.vue:109
#: src/views/stream/StreamList.vue:131
#: src/views/config/components/Delete.vue:65
#: src/views/config/components/Delete.vue:97
#: src/views/config/ConfigList.vue:199
#: src/views/site/site_list/SiteList.vue:122
#: src/views/stream/StreamList.vue:132
msgid "Delete"
msgstr "刪除"
@@ -1245,6 +1248,10 @@ msgstr "刪除"
msgid "Delete Certificate"
msgstr "刪除憑證"
#: src/views/config/components/Delete.vue:96
msgid "Delete Confirmation"
msgstr "刪除確認"
#: src/language/curd.ts:11
msgid "Delete Permanently"
msgstr "永久刪除"
@@ -1289,7 +1296,7 @@ msgstr "已成功從 %{node} 刪除串流 %{name}"
msgid "Delete stream: %{stream_name}"
msgstr "刪除 Stream%{stream_name}"
#: src/language/curd.ts:29
#: src/language/curd.ts:29 src/views/config/components/Delete.vue:80
msgid "Deleted successfully"
msgstr "刪除成功"
@@ -1527,9 +1534,9 @@ msgid ""
msgstr "基於部分瀏覽器的安全政策,您無法在未啟用 HTTPS 網站,特別是 localhost 上使用通行金鑰。"
#: src/views/site/site_list/SiteDuplicate.vue:72
#: src/views/site/site_list/SiteList.vue:95
#: src/views/site/site_list/SiteList.vue:108
#: src/views/stream/components/StreamDuplicate.vue:64
#: src/views/stream/StreamList.vue:117
#: src/views/stream/StreamList.vue:118
msgid "Duplicate"
msgstr "複製"
@@ -2112,6 +2119,14 @@ msgstr "無法寫入安全金鑰檔案:{0}"
msgid "Failed to write to zip buffer: {0}"
msgstr "寫入壓縮緩衝區失敗:{0}"
#: src/views/config/components/Delete.vue:116
msgid "file"
msgstr "檔案"
#: src/views/config/components/Delete.vue:122
msgid "File"
msgstr "檔案"
#: src/language/constants.ts:32
msgid "File exists"
msgstr "檔案已存在"
@@ -2136,6 +2151,14 @@ msgstr "完成"
msgid "First View"
msgstr "首次檢視"
#: src/views/config/components/Delete.vue:116
msgid "folder"
msgstr "資料夾"
#: src/views/config/components/Delete.vue:122
msgid "Folder"
msgstr "資料夾"
#: src/views/preference/components/AuthSettings/AddPasskey.vue:71
msgid ""
"Follow the instructions in the dialog to complete the passkey registration "
@@ -2706,7 +2729,7 @@ msgstr "在取得憑證前,請確保您已將 .well-known 目錄反向代理
#: src/routes/modules/config.ts:10
#: src/views/config/components/ConfigLeftPanel.vue:114
#: src/views/config/components/ConfigLeftPanel.vue:164
#: src/views/config/ConfigList.vue:72
#: src/views/config/ConfigList.vue:74
msgid "Manage Configs"
msgstr "管理設定"
@@ -2839,7 +2862,7 @@ msgid "Modified At"
msgstr "修改於"
#: src/components/ChatGPT/ChatMessage.vue:212
#: src/views/config/ConfigList.vue:174
#: src/views/config/ConfigList.vue:182
msgid "Modify"
msgstr "修改"
@@ -2883,6 +2906,7 @@ msgstr "多行指令"
#: src/views/certificate/CertificateList/certColumns.tsx:9
#: src/views/certificate/DNSCredential.vue:9
#: src/views/config/components/ConfigRightPanel/Basic.vue:34
#: src/views/config/components/Delete.vue:123
#: src/views/config/components/Mkdir.vue:64
#: src/views/config/configColumns.tsx:5
#: src/views/environments/group/columns.ts:7
@@ -2895,7 +2919,7 @@ msgstr "多行指令"
#: src/views/stream/columns.tsx:12
#: src/views/stream/components/RightPanel/Basic.vue:30
#: src/views/stream/components/StreamDuplicate.vue:71
#: src/views/stream/StreamList.vue:144
#: src/views/stream/StreamList.vue:145
msgid "Name"
msgstr "名稱"
@@ -3163,7 +3187,8 @@ msgstr "Nginx.conf 包含 streams-enabled 目錄"
#: src/views/notification/Notification.vue:38
#: src/views/preference/tabs/AuthSettings.vue:132
#: src/views/preference/tabs/CertSettings.vue:73
#: src/views/site/site_list/SiteList.vue:98 src/views/stream/StreamList.vue:120
#: src/views/site/site_list/SiteList.vue:111
#: src/views/stream/StreamList.vue:121
msgid "No"
msgstr "取消"
@@ -3322,9 +3347,9 @@ msgstr "離線"
#: src/views/site/site_edit/components/Cert/IssueCert.vue:39
#: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
#: src/views/site/site_edit/components/EnableTLS/EnableTLS.vue:20
#: src/views/site/site_list/SiteList.vue:99
#: src/views/site/site_list/SiteList.vue:112
#: src/views/stream/components/StreamStatusSelect.vue:60
#: src/views/stream/StreamList.vue:121
#: src/views/stream/StreamList.vue:122
msgid "OK"
msgstr "確定"
@@ -3457,6 +3482,7 @@ msgstr "密碼不匹配"
#: src/components/NgxConfigEditor/LocationEditor.vue:138
#: src/language/curd.ts:59
#: src/views/config/components/ConfigRightPanel/Basic.vue:41
#: src/views/config/components/Delete.vue:124
#: src/views/nginx_log/NginxLogList.vue:44
msgid "Path"
msgstr "路徑"
@@ -3650,6 +3676,10 @@ msgstr "請至少選擇一個節點進行升級"
msgid "Please type \"Revoke\" to confirm"
msgstr "請輸入「撤銷」以確認"
#: src/views/config/components/Delete.vue:70
msgid "Please type the exact confirmation text"
msgstr "請輸入確切的確認文本"
#: src/components/PortScanner/PortScannerCompact.vue:31
#: src/views/preference/tabs/ServerSettings.vue:22
msgid "Port"
@@ -3707,6 +3737,10 @@ msgstr "禁止刪除預設使用者"
msgid "Project Team"
msgstr "專案團隊"
#: src/views/config/components/Delete.vue:107
msgid "Protected Directory"
msgstr "受保護目錄"
#: src/views/certificate/DNSCredential.vue:17
msgid "Provider"
msgstr "供應商"
@@ -3880,7 +3914,7 @@ msgstr "移除成功"
#: src/components/NgxConfigEditor/NgxUpstream.vue:131
#: src/views/config/components/ConfigName.vue:51
#: src/views/config/components/Rename.vue:56
#: src/views/config/ConfigList.vue:181
#: src/views/config/ConfigList.vue:190
#: src/views/site/site_edit/components/ConfigName/ConfigName.vue:44
#: src/views/stream/components/ConfigName.vue:44
msgid "Rename"
@@ -4730,6 +4764,7 @@ msgstr "切換到深色主題"
msgid "Switch to light theme"
msgstr "切換到淺色主題"
#: src/views/config/components/Delete.vue:141
#: src/views/config/components/Rename.vue:81
msgid "Sync"
msgstr "同步"
@@ -4952,6 +4987,10 @@ msgstr "此自動憑證項目無效,請將其移除。"
msgid "This certificate is managed by Nginx UI"
msgstr "此憑證由 Nginx UI 管理"
#: src/views/config/components/Delete.vue:108
msgid "This directory is protected and cannot be deleted for system safety."
msgstr "此目錄受保護,為確保系統安全無法刪除。"
#: src/views/certificate/CertificateEditor.vue:162
#: src/views/certificate/CertificateEditor.vue:176
#: src/views/certificate/CertificateEditor.vue:191
@@ -5002,6 +5041,10 @@ msgstr "此令牌僅顯示一次且無法後續找回,請務必將其儲存在
msgid "This value is already taken"
msgstr "此值已被使用"
#: src/views/config/components/Delete.vue:116
msgid "This will permanently delete the %{type}."
msgstr "這將永久刪除%{type}。"
#: src/components/SystemRestore/SystemRestoreContent.vue:227
#: src/components/SystemRestore/SystemRestoreContent.vue:304
msgid ""
@@ -5144,6 +5187,7 @@ msgstr "需要多重因素驗證"
#: src/components/ProxyTargets/ProxyTargets.vue:48
#: src/views/certificate/CertificateList/certColumns.tsx:24
#: src/views/config/components/Delete.vue:122
#: src/views/dashboard/components/ModulesTable.vue:83
#: src/views/nginx_log/NginxLogList.vue:12
#: src/views/notification/notificationColumns.tsx:8
@@ -5151,6 +5195,10 @@ msgstr "需要多重因素驗證"
msgid "Type"
msgstr "類型"
#: src/views/config/components/Delete.vue:129
msgid "Type %{delete} to confirm"
msgstr "輸入 %{delete} 以確認"
#: src/components/PortScanner/PortScannerCompact.vue:47
#: src/composables/useNginxPerformance.ts:18
msgid "Unknown"
@@ -5298,7 +5346,7 @@ msgstr "驗證系統要求"
msgid "Version"
msgstr "版本"
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:83
#: src/language/curd.ts:7 src/views/nginx_log/NginxLogList.vue:84
#: src/views/site/site_edit/components/ConfigTemplate/ConfigTemplate.vue:83
msgid "View"
msgstr "檢視"
@@ -5724,9 +5772,6 @@ msgstr "您的通行金鑰"
#~ msgid "The recovery code is only displayed once, please save it in a safe place."
#~ msgstr "恢復碼僅顯示一次,請將其儲存在安全的地方。"
#~ msgid "File"
#~ msgstr "檔案"
#~ msgid "Incorrect username or password"
#~ msgstr "使用者名稱或密碼不正確"

View File

@@ -8,9 +8,6 @@ import FooterLayout from './FooterLayout.vue'
import HeaderLayout from './HeaderLayout.vue'
import SideBar from './SideBar.vue'
const route = useRoute()
const router = useRouter()
const drawerVisible = ref(false)
const collapsed = ref(false)
const hideLayoutSidebar = ref(false)
@@ -50,17 +47,6 @@ provide('breadList', breadList)
const userStore = useUserStore()
const { token } = storeToRefs(userStore)
const settingsStore = useSettingsStore()
const { route_path } = storeToRefs(settingsStore)
watch(route, () => {
route_path.value = route.path
})
onMounted(() => {
router.push(route_path.value)
})
</script>
<template>

View File

@@ -3,6 +3,8 @@ import { StdTable } from '@uozi-admin/curd'
import config from '@/api/config'
import FooterToolBar from '@/components/FooterToolbar'
import { useBreadcrumbs } from '@/composables/useBreadcrumbs'
import { isProtectedPath } from '@/views/config/configUtils'
import Delete from './components/Delete.vue'
import Mkdir from './components/Mkdir.vue'
import Rename from './components/Rename.vue'
import configColumns from './configColumns'
@@ -98,6 +100,12 @@ function goBack() {
const refMkdir = useTemplateRef('refMkdir')
const refRename = useTemplateRef('refRename')
const refDelete = useTemplateRef('refDelete')
// Check if a file/directory is protected
function isProtected(name: string) {
return isProtectedPath(name)
}
</script>
<template>
@@ -174,12 +182,22 @@ const refRename = useTemplateRef('refRename')
{{ $gettext('Modify') }}
</AButton>
<AButton
v-if="!isProtected(record.name)"
type="link"
size="small"
@click="() => refRename?.open(basePath, record.name, record.is_dir)"
>
{{ $gettext('Rename') }}
</AButton>
<AButton
v-if="!isProtected(record.name)"
type="link"
size="small"
danger
@click="() => refDelete?.open(basePath, record.name, record.is_dir)"
>
{{ $gettext('Delete') }}
</AButton>
</template>
</StdTable>
<Mkdir
@@ -190,6 +208,10 @@ const refRename = useTemplateRef('refRename')
ref="refRename"
@renamed="() => table?.refresh()"
/>
<Delete
ref="refDelete"
@deleted="() => table?.refresh()"
/>
<FooterToolBar v-if="basePath">
<AButton @click="goBack">
{{ $gettext('Back') }}

View File

@@ -0,0 +1,170 @@
<script setup lang="ts">
import { message } from 'ant-design-vue'
import config from '@/api/config'
import NodeSelector from '@/components/NodeSelector'
import use2FAModal from '@/components/TwoFA/use2FAModal'
import { urlJoin } from '@/lib/helper'
import { isProtectedPath } from '@/views/config/configUtils'
const emit = defineEmits(['deleted'])
const visible = ref(false)
const confirmText = ref('')
const data = ref({
basePath: '',
name: '',
isDir: false,
sync_node_ids: [] as number[],
fullPath: '',
})
async function open(basePath: string, name: string, isDir: boolean) {
visible.value = true
confirmText.value = ''
data.value.basePath = basePath
data.value.name = name
data.value.isDir = isDir
data.value.sync_node_ids = []
const { base_path: configBasePath } = await config.get_base_path()
// Build full path
const relativePath = urlJoin(basePath, name)
data.value.fullPath = urlJoin(configBasePath, relativePath)
// Load config details to get sync nodes
try {
// For files, try to get their specific sync configuration
if (!isDir) {
const configDetail = await config.getItem(relativePath)
if (configDetail?.sync_node_ids && configDetail.sync_node_ids.length > 0) {
data.value.sync_node_ids = [...configDetail.sync_node_ids]
}
}
// For directories, we could potentially get sync nodes from any file within
// but for simplicity, we'll leave it empty and let user choose
}
catch (error) {
// Silently ignore errors if config details cannot be loaded
// This might happen for files that are not tracked in the database
console.error('Config details not available for sync nodes:', error)
}
}
defineExpose({
open,
})
// Check if the item is protected
const isProtected = computed(() => {
return isProtectedPath(data.value.name)
})
// Expected confirmation text
const expectedConfirmText = computed(() => {
return $gettext('Delete')
})
function ok() {
if (confirmText.value !== expectedConfirmText.value) {
message.error($gettext('Please type the exact confirmation text'))
return
}
const { basePath, name, sync_node_ids } = data.value
const otpModal = use2FAModal()
otpModal.open().then(() => {
config.delete(basePath, name, sync_node_ids).then(() => {
visible.value = false
message.success($gettext('Deleted successfully'))
emit('deleted')
})
})
}
function cancel() {
visible.value = false
confirmText.value = ''
}
</script>
<template>
<AModal
v-model:open="visible"
:mask="false"
:title="$gettext('Delete Confirmation')"
:ok-text="$gettext('Delete')"
:cancel-text="$gettext('Cancel')"
:ok-button-props="{ danger: true, disabled: confirmText !== expectedConfirmText || isProtected }"
@ok="ok"
@cancel="cancel"
>
<AForm layout="vertical" class="delete-modal-content">
<AAlert
v-if="isProtected"
type="error"
:message="$gettext('Protected Directory')"
:description="$gettext('This directory is protected and cannot be deleted for system safety.')"
show-icon
class="mb-4"
/>
<AAlert
v-else
type="warning"
:message="$gettext('This will permanently delete the %{type}.', { type: data.isDir ? $gettext('folder') : $gettext('file') })"
show-icon
class="mb-4"
/>
<div class="item-info mb-4">
<p><strong>{{ $gettext('Type') }}:</strong> {{ data.isDir ? $gettext('Folder') : $gettext('File') }}</p>
<p><strong>{{ $gettext('Name') }}:</strong> {{ data.name }}</p>
<p><strong>{{ $gettext('Path') }}:</strong> {{ data.fullPath }}</p>
</div>
<AFormItem
v-if="!isProtected"
:label="$gettext('Type %{delete} to confirm', { delete: expectedConfirmText })"
class="mb-4"
>
<AInput
v-model:value="confirmText"
:placeholder="expectedConfirmText"
:disabled="isProtected"
/>
</AFormItem>
<AFormItem
v-if="!isProtected"
:label="$gettext('Sync')"
>
<NodeSelector
v-model:target="data.sync_node_ids"
hidden-local
/>
</AFormItem>
</AForm>
</AModal>
</template>
<style scoped lang="less">
.delete-modal-content {
.item-info {
background-color: #fafafa;
padding: 12px;
border-radius: 6px;
border: 1px solid #e8e8e8;
p {
margin: 0;
line-height: 1.5;
&:not(:last-child) {
margin-bottom: 8px;
}
}
}
}
</style>

View File

@@ -1,4 +1,5 @@
import ConfigLeftPanel from './ConfigLeftPanel.vue'
import ConfigRightPanel from './ConfigRightPanel.vue'
import Delete from './Delete.vue'
export { ConfigLeftPanel, ConfigRightPanel }
export { ConfigLeftPanel, ConfigRightPanel, Delete }

View File

@@ -0,0 +1,19 @@
// List of protected directories that cannot be deleted
const PROTECTED_DIRS = ['sites-enabled', 'sites-available', 'streams-enabled', 'streams-available', 'conf.d']
/**
* Check if a file/directory name is protected and cannot be deleted
* @param name - The name of the file or directory
* @returns true if the item is protected, false otherwise
*/
export function isProtectedPath(name: string): boolean {
return PROTECTED_DIRS.includes(name)
}
/**
* Get the list of protected directories
* @returns Array of protected directory names
*/
export function getProtectedDirs(): string[] {
return [...PROTECTED_DIRS]
}

114
internal/config/delete.go Normal file
View File

@@ -0,0 +1,114 @@
package config
import (
"os"
"strings"
"github.com/0xJacky/Nginx-UI/internal/nginx"
"github.com/0xJacky/Nginx-UI/query"
)
// CleanupDatabaseRecords removes related database records after deletion
func CleanupDatabaseRecords(fullPath string, isDir bool) error {
q := query.Config
g := query.ChatGPTLog
b := query.ConfigBackup
if isDir {
// For directories, clean up all records under the directory
pathPattern := fullPath + "%"
// Delete ChatGPT logs
_, err := g.Where(g.Name.Like(pathPattern)).Delete()
if err != nil {
return err
}
// Delete config records
_, err = q.Where(q.Filepath.Like(pathPattern)).Delete()
if err != nil {
return err
}
// Delete backup records
_, err = b.Where(b.FilePath.Like(pathPattern)).Delete()
if err != nil {
return err
}
} else {
// For files, delete specific records
_, err := g.Where(g.Name.Eq(fullPath)).Delete()
if err != nil {
return err
}
_, err = q.Where(q.Filepath.Eq(fullPath)).Delete()
if err != nil {
return err
}
_, err = b.Where(b.FilePath.Eq(fullPath)).Delete()
if err != nil {
return err
}
}
return nil
}
// IsProtectedPath checks if the path is protected and should not be deleted
func IsProtectedPath(fullPath, name string) bool {
// Get nginx main config file path
nginxConfPath := nginx.GetConfEntryPath()
if fullPath == nginxConfPath {
return true
}
// Protected directory names
protectedDirs := []string{
"sites-enabled",
"sites-available",
"streams-enabled",
"streams-available",
"conf.d",
}
for _, protected := range protectedDirs {
if name == protected || strings.HasSuffix(fullPath, "/"+protected) {
return true
}
}
return false
}
// ValidateDeletePath validates that the path is safe to delete
func ValidateDeletePath(fullPath string) error {
nginxConfPath := nginx.GetConfPath()
if !IsUnderNginxConfDir(fullPath, nginxConfPath) {
return ErrDeletePathNotUnderNginxConfDir
}
return nil
}
// IsUnderNginxConfDir checks if the given path is under nginx config directory
func IsUnderNginxConfDir(path, nginxConfPath string) bool {
// Normalize paths
path = strings.TrimSuffix(path, "/")
nginxConfPath = strings.TrimSuffix(nginxConfPath, "/")
// Check if path starts with nginx config path
return strings.HasPrefix(path, nginxConfPath)
}
// CheckFileExists checks if file or directory exists and returns file info
func CheckFileExists(fullPath string) (os.FileInfo, error) {
stat, err := os.Stat(fullPath)
if err != nil {
if os.IsNotExist(err) {
return nil, ErrFileNotFound
}
return nil, err
}
return stat, nil
}

View File

@@ -3,9 +3,12 @@ package config
import "github.com/uozi-tech/cosy"
var (
e = cosy.NewErrorScope("config")
ErrPathIsNotUnderTheNginxConfDir = e.New(50006, "path: {0} is not under the nginx conf dir: {1}")
ErrDstFileExists = e.New(50007, "destination file: {0} already exists")
ErrNginxTestFailed = e.New(50008, "nginx test failed: {0}")
ErrNginxReloadFailed = e.New(50009, "nginx reload failed: {0}")
e = cosy.NewErrorScope("config")
ErrPathIsNotUnderTheNginxConfDir = e.New(50006, "path: {0} is not under the nginx conf dir: {1}")
ErrDstFileExists = e.New(50007, "destination file: {0} already exists")
ErrNginxTestFailed = e.New(50008, "nginx test failed: {0}")
ErrNginxReloadFailed = e.New(50009, "nginx reload failed: {0}")
ErrCannotDeleteProtectedPath = e.New(50010, "cannot delete protected path: {0}")
ErrFileNotFound = e.New(50011, "file or directory not found: {0}")
ErrDeletePathNotUnderNginxConfDir = e.New(50012, "you are not allowed to delete a file outside of the nginx config path")
)

View File

@@ -223,3 +223,95 @@ func (p *RenameConfigPayload) rename(env *model.Environment) (err error) {
return
}
func SyncDeleteOnRemoteServer(deletePath string, syncNodeIds []uint64) (err error) {
if deletePath == "" || len(syncNodeIds) == 0 {
return
}
nginxConfPath := nginx.GetConfPath()
if !helper.IsUnderDirectory(deletePath, nginxConfPath) {
return e.NewWithParams(50006, ErrPathIsNotUnderTheNginxConfDir.Error(), deletePath, nginxConfPath)
}
payload := &DeleteConfigPayload{
Filepath: deletePath,
}
q := query.Environment
envs, _ := q.Where(q.ID.In(syncNodeIds...)).Find()
for _, env := range envs {
go func() {
err := payload.delete(env)
if err != nil {
logger.Error(err)
}
}()
}
return
}
type DeleteConfigPayload struct {
Filepath string `json:"filepath"`
}
type SyncDeleteNotificationPayload struct {
StatusCode int `json:"status_code"`
Path string `json:"path"`
EnvName string `json:"env_name"`
Response string `json:"response"`
}
func (p *DeleteConfigPayload) delete(env *model.Environment) (err error) {
client := http.Client{
Transport: &http.Transport{
TLSClientConfig: &tls.Config{InsecureSkipVerify: settings.HTTPSettings.InsecureSkipVerify},
},
}
payloadBytes, err := json.Marshal(gin.H{
"base_path": strings.ReplaceAll(filepath.Dir(p.Filepath), nginx.GetConfPath(), ""),
"name": filepath.Base(p.Filepath),
})
if err != nil {
return
}
url, err := env.GetUrl("/api/config_delete")
if err != nil {
return
}
req, err := http.NewRequest(http.MethodPost, url, bytes.NewBuffer(payloadBytes))
if err != nil {
return
}
req.Header.Set("X-Node-Secret", env.Token)
resp, err := client.Do(req)
if err != nil {
return
}
defer resp.Body.Close()
respBody, err := io.ReadAll(resp.Body)
if err != nil {
return
}
notificationPayload := &SyncDeleteNotificationPayload{
StatusCode: resp.StatusCode,
Path: p.Filepath,
EnvName: env.Name,
Response: string(respBody),
}
if resp.StatusCode != http.StatusOK {
notification.Error("Delete Remote Config Error", "Delete %{path} on %{env_name} failed", notificationPayload)
return
}
notification.Success("Delete Remote Config Success", "Delete %{path} on %{env_name} successfully", notificationPayload)
return
}