mirror of
https://github.com/0xJacky/nginx-ui.git
synced 2026-05-06 22:12:23 +08:00
feat(config): supports delete file or directory
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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
75
api/config/delete.go
Normal 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",
|
||||
})
|
||||
}
|
||||
@@ -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)
|
||||
|
||||
@@ -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 } })
|
||||
},
|
||||
|
||||
@@ -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 "اسم المستخدم أو كلمة المرور غير صحيحة"
|
||||
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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 ""
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 "ビュー"
|
||||
|
||||
@@ -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 "사용자 이름 또는 비밀번호가 올바르지 않습니다"
|
||||
|
||||
@@ -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 ""
|
||||
|
||||
@@ -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}"
|
||||
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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."
|
||||
|
||||
@@ -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 "Переглянути"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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 "用户名或密码错误"
|
||||
|
||||
|
||||
@@ -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 "使用者名稱或密碼不正確"
|
||||
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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') }}
|
||||
|
||||
170
app/src/views/config/components/Delete.vue
Normal file
170
app/src/views/config/components/Delete.vue
Normal 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>
|
||||
@@ -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 }
|
||||
|
||||
19
app/src/views/config/configUtils.ts
Normal file
19
app/src/views/config/configUtils.ts
Normal 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
114
internal/config/delete.go
Normal 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
|
||||
}
|
||||
@@ -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")
|
||||
)
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user