diff --git a/api/openai/openai.go b/api/openai/openai.go index e39ba462..83855b93 100644 --- a/api/openai/openai.go +++ b/api/openai/openai.go @@ -4,14 +4,13 @@ import ( "context" "fmt" "github.com/0xJacky/Nginx-UI/internal/chatbot" - "github.com/0xJacky/Nginx-UI/internal/transport" "github.com/0xJacky/Nginx-UI/settings" "github.com/gin-gonic/gin" "github.com/pkg/errors" "github.com/sashabaranov/go-openai" "github.com/uozi-tech/cosy" + "github.com/uozi-tech/cosy/logger" "io" - "net/http" ) const ChatGPTInitPrompt = `You are a assistant who can help users write and optimise the configurations of Nginx, @@ -49,30 +48,18 @@ func MakeChatCompletionRequest(c *gin.Context) { c.Writer.Header().Set("Connection", "keep-alive") c.Writer.Header().Set("Access-Control-Allow-Origin", "*") - config := openai.DefaultConfig(settings.OpenAISettings.Token) - - if settings.OpenAISettings.Proxy != "" { - t, err := transport.NewTransport(transport.WithProxy(settings.OpenAISettings.Proxy)) - if err != nil { - c.Stream(func(w io.Writer) bool { - c.SSEvent("message", gin.H{ - "type": "error", - "content": err.Error(), - }) - return false + openaiClient, err := chatbot.GetClient() + if err != nil { + c.Stream(func(w io.Writer) bool { + c.SSEvent("message", gin.H{ + "type": "error", + "content": err.Error(), }) - return - } - config.HTTPClient = &http.Client{ - Transport: t, - } + return false + }) + return } - if settings.OpenAISettings.BaseUrl != "" { - config.BaseURL = settings.OpenAISettings.BaseUrl - } - - openaiClient := openai.NewClientWithConfig(config) ctx := context.Background() req := openai.ChatCompletionRequest{ @@ -82,7 +69,7 @@ func MakeChatCompletionRequest(c *gin.Context) { } stream, err := openaiClient.CreateChatCompletionStream(ctx, req) if err != nil { - fmt.Printf("CompletionStream error: %v\n", err) + logger.Errorf("CompletionStream error: %v\n", err) c.Stream(func(w io.Writer) bool { c.SSEvent("message", gin.H{ "type": "error", @@ -99,12 +86,11 @@ func MakeChatCompletionRequest(c *gin.Context) { for { response, err := stream.Recv() if errors.Is(err, io.EOF) { - fmt.Println() return } if err != nil { - fmt.Printf("Stream error: %v\n", err) + logger.Errorf("Stream error: %v\n", err) return } diff --git a/app/src/api/settings.ts b/app/src/api/settings.ts index e939972b..ff13c9d0 100644 --- a/app/src/api/settings.ts +++ b/app/src/api/settings.ts @@ -72,6 +72,7 @@ export interface OpenaiSettings { base_url: string proxy: string token: string + api_type: string } export interface TerminalSettings { diff --git a/app/src/language/LINGUAS b/app/src/language/LINGUAS index c5c03cb2..43cfbbb6 100644 --- a/app/src/language/LINGUAS +++ b/app/src/language/LINGUAS @@ -1 +1 @@ -ar en zh_CN zh_TW fr_FR es ru_RU vi_VN ko_KR tr_TR +en zh_CN zh_TW fr_FR es ru_RU vi_VN ko_KR tr_TR ar \ No newline at end of file diff --git a/app/src/language/ar/app.po b/app/src/language/ar/app.po index 30227f82..13d5ed20 100644 --- a/app/src/language/ar/app.po +++ b/app/src/language/ar/app.po @@ -25,13 +25,11 @@ msgstr "إعدادات المصادقة الثنائية" msgid "About" msgstr "عن" -#: src/routes/index.ts:210 -#: src/views/site/ngx_conf/LogEntry.vue:76 +#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:75 msgid "Access Logs" msgstr "سجلات الدخول" -#: src/routes/index.ts:148 -#: src/views/certificate/ACMEUser.vue:112 +#: src/routes/index.ts:148 src/views/certificate/ACMEUser.vue:112 #: src/views/certificate/ACMEUserSelector.vue:85 msgid "ACME User" msgstr "مستخدم ACME" @@ -44,18 +42,17 @@ msgstr "مستخدم ACME" #: src/views/notification/notificationColumns.tsx:62 #: src/views/preference/AuthSettings.vue:26 #: src/views/site/site_category/columns.ts:26 -#: src/views/site/site_list/columns.tsx:70 -#: src/views/stream/StreamList.vue:47 +#: src/views/site/site_list/columns.tsx:74 src/views/stream/StreamList.vue:47 #: src/views/user/userColumns.tsx:60 msgid "Action" msgstr "إجراء" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:177 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:209 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:191 #: src/views/preference/CertSettings.vue:42 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:117 #: src/views/site/ngx_conf/NgxServer.vue:162 -#: src/views/site/ngx_conf/NgxUpstream.vue:152 +#: src/views/site/ngx_conf/NgxUpstream.vue:154 #: src/views/stream/StreamList.vue:121 msgid "Add" msgstr "إضافة" @@ -65,9 +62,8 @@ msgstr "إضافة" msgid "Add a passkey" msgstr "أضف مفتاح مرور" -#: src/routes/index.ts:118 -#: src/views/config/ConfigEditor.vue:143 -#: src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:146 +#: src/views/config/ConfigEditor.vue:206 msgid "Add Configuration" msgstr "إضافة تكوين" @@ -80,8 +76,7 @@ msgstr "أضف التوجيه أدناه" msgid "Add Location" msgstr "أضف مكان" -#: src/routes/index.ts:63 -#: src/views/site/SiteAdd.vue:89 +#: src/routes/index.ts:63 src/views/site/SiteAdd.vue:89 msgid "Add Site" msgstr "أضف موقع" @@ -97,7 +92,7 @@ msgstr "تمت الإضافة بنجاح" msgid "Additional" msgstr "إضافي" -#: src/views/site/site_edit/SiteEdit.vue:191 +#: src/views/site/site_edit/SiteEdit.vue:205 #: src/views/stream/StreamEdit.vue:189 msgid "Advance Mode" msgstr "الوضع المتقدم" @@ -106,7 +101,8 @@ msgstr "الوضع المتقدم" msgid "Afterwards, refresh this page and click add passkey again." msgstr "بعد ذلك، قم بتحديث هذه الصفحة وانقر فوق إضافة مفتاح مرور مرة أخرى." -#: src/views/site/site_list/SiteList.vue:101 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:425 +#: src/views/site/site_list/SiteList.vue:102 msgid "All" msgstr "الكل" @@ -126,7 +122,21 @@ msgstr "وسيط API" msgid "API Token" msgstr "رمز API" -#: src/views/system/Upgrade.vue:177 +#: src/views/preference/OpenAISettings.vue:78 +#, fuzzy +msgid "API Type" +msgstr "رمز API" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:105 +msgid "Apply" +msgstr "" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:67 +#, fuzzy +msgid "Apply bulk action successfully" +msgstr "تم التكرار بنجاح" + +#: src/views/system/Upgrade.vue:178 msgid "Arch" msgstr "بنية" @@ -138,7 +148,12 @@ msgstr "هل أنت متأكد من حذف عنوان IP المحظور هذا msgid "Are you sure to delete this passkey immediately?" msgstr "هل أنت متأكد من حذف مفتاح المرور هذا على الفور؟" -#: src/components/Notification/Notification.vue:86 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:98 +#, fuzzy +msgid "Are you sure you want to apply to all selected?" +msgstr "هل أنت متأكد أنك تريد الحذف؟" + +#: src/components/Notification/Notification.vue:135 #: src/views/notification/Notification.vue:40 msgid "Are you sure you want to clear all notifications?" msgstr "هل أنت متأكد أنك تريد مسح كافة التنبيهات؟" @@ -147,20 +162,20 @@ msgstr "هل أنت متأكد أنك تريد مسح كافة التنبيها msgid "Are you sure you want to clear the record of chat?" msgstr "هل أنت متأكد أنك تريد مسح سجل المحادثة؟" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:564 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:552 msgid "Are you sure you want to delete this item permanently?" msgstr "هل أنت متأكد أنك تريد حذف هذا العنصر نهائيًا؟" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:523 msgid "Are you sure you want to delete this item?" msgstr "هل أنت متأكد أنك تريد حذف هذا العنصر؟" -#: src/views/site/site_list/SiteList.vue:149 +#: src/views/site/site_list/SiteList.vue:150 #: src/views/stream/StreamList.vue:166 msgid "Are you sure you want to delete?" msgstr "هل أنت متأكد أنك تريد الحذف؟" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:549 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:537 msgid "Are you sure you want to recover this item?" msgstr "هل أنت متأكد أنك تريد استرداد هذا العنصر؟" @@ -188,7 +203,7 @@ msgstr "المساعد" msgid "Attempts" msgstr "محاولات" -#: src/views/preference/Preference.vue:152 +#: src/views/preference/Preference.vue:154 msgid "Auth" msgstr "مصادقة" @@ -205,24 +220,22 @@ msgstr "إعدادات المصادقة" msgid "Author" msgstr "الكاتب" -#: src/views/nginx_log/NginxLog.vue:151 +#: src/views/nginx_log/NginxLog.vue:152 msgid "Auto Refresh" msgstr "التحديث التلقائي" -#: src/views/site/cert/components/ObtainCert.vue:75 +#: src/views/site/cert/components/ObtainCert.vue:80 msgid "Auto-renewal disabled for %{name}" msgstr "تم تعطيل التجديد التلقائي لـ‎%{name}" -#: src/views/site/cert/components/ObtainCert.vue:68 +#: src/views/site/cert/components/ObtainCert.vue:73 msgid "Auto-renewal enabled for %{name}" msgstr "تم تمكين التجديد التلقائي لـ‏%{name}" -#: src/views/certificate/CertificateEditor.vue:249 -#: src/views/config/ConfigEditor.vue:213 -#: src/views/config/ConfigList.vue:107 -#: src/views/config/ConfigList.vue:181 -#: src/views/nginx_log/NginxLog.vue:172 -#: src/views/site/site_edit/SiteEdit.vue:249 +#: src/views/certificate/CertificateEditor.vue:256 +#: src/views/config/ConfigEditor.vue:215 src/views/config/ConfigList.vue:106 +#: src/views/config/ConfigList.vue:180 src/views/nginx_log/NginxLog.vue:173 +#: src/views/site/site_edit/SiteEdit.vue:264 #: src/views/stream/StreamEdit.vue:245 msgid "Back" msgstr "رجوع" @@ -231,7 +244,7 @@ msgstr "رجوع" msgid "Back Home" msgstr "العودة إلى الصفحة الرئيسية" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:222 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211 msgid "Back to list" msgstr "العودة إلى القائمة" @@ -251,24 +264,29 @@ msgstr "محظور حتى" msgid "Base information" msgstr "المعلومات الأساسية" -#: src/views/config/ConfigEditor.vue:241 -#: src/views/preference/Preference.vue:146 +#: src/views/config/ConfigEditor.vue:243 +#: src/views/preference/Preference.vue:148 #: src/views/site/site_edit/RightSettings.vue:79 #: src/views/stream/components/RightSettings.vue:74 msgid "Basic" msgstr "أساسي" -#: src/views/site/site_edit/SiteEdit.vue:194 +#: src/views/site/site_edit/SiteEdit.vue:208 #: src/views/stream/StreamEdit.vue:192 msgid "Basic Mode" msgstr "الوضع الأساسي" +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:85 +#, fuzzy +msgid "Batch Actions" +msgstr "إجراء" + #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:66 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:474 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:454 msgid "Batch Modify" msgstr "تعديل متعدد" -#: src/views/environment/BatchUpgrader.vue:154 +#: src/views/environment/BatchUpgrader.vue:155 msgid "Batch Upgrade" msgstr "ترقية متعددة" @@ -288,18 +306,19 @@ msgstr "مجلد سلطة التصديق" msgid "CADir" msgstr "مجلد سلطة التصديق" -#: src/views/preference/components/TOTP.vue:151 +#: src/views/preference/components/TOTP.vue:150 msgid "Can't scan? Use text key binding" msgstr "لا يمكن المسح؟ استخدم ربط مفتاح النص" #: src/components/ChatGPT/ChatGPT.vue:260 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:261 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:251 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:180 +#: src/components/StdDesign/StdDetail/StdDetail.vue:101 #: src/views/preference/components/Passkey.vue:147 -#: src/views/site/cert/components/ObtainCert.vue:137 +#: src/views/site/cert/components/ObtainCert.vue:140 #: src/views/site/ngx_conf/NgxConfigEditor.vue:51 #: src/views/site/ngx_conf/NgxServer.vue:80 -#: src/views/site/ngx_conf/NgxUpstream.vue:33 +#: src/views/site/ngx_conf/NgxUpstream.vue:34 #: src/views/site/site_edit/RightSettings.vue:55 #: src/views/stream/components/Deploy.vue:20 #: src/views/stream/components/RightSettings.vue:51 @@ -307,11 +326,11 @@ msgid "Cancel" msgstr "إلغاء" #: src/views/site/site_edit/RightSettings.vue:91 -#: src/views/site/site_list/columns.tsx:22 +#: src/views/site/site_list/columns.tsx:23 msgid "Category" msgstr "فئة" -#: src/views/preference/Preference.vue:158 +#: src/views/preference/Preference.vue:160 msgid "Cert" msgstr "شهادة" @@ -319,7 +338,7 @@ msgstr "شهادة" msgid "Certificate Renewal Interval" msgstr "الفاصل الزمني لتجديد الشهادة" -#: src/views/certificate/CertificateEditor.vue:122 +#: src/views/certificate/CertificateEditor.vue:129 #: src/views/site/cert/Cert.vue:32 msgid "Certificate Status" msgid_plural "Certificates Status" @@ -339,7 +358,7 @@ msgstr "شهادات" msgid "Certificates List" msgstr "قائمة الشهادات" -#: src/views/site/cert/components/AutoCertStepOne.vue:67 +#: src/views/site/cert/components/AutoCertStepOne.vue:66 msgid "Challenge Method" msgstr "طريقة التحدي" @@ -358,16 +377,15 @@ msgstr[3] "الشهادات المعدلة" msgstr[4] "الشهادات المعدلة" msgstr[5] "الشهادات المعدلة" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 msgid "Changed Path" msgstr "المسار المتغير" -#: src/views/environment/BatchUpgrader.vue:161 -#: src/views/system/Upgrade.vue:189 +#: src/views/environment/BatchUpgrader.vue:162 src/views/system/Upgrade.vue:190 msgid "Channel" msgstr "قناة" -#: src/views/system/Upgrade.vue:186 +#: src/views/system/Upgrade.vue:187 msgid "Check again" msgstr "تحقق مرة أخرى" @@ -376,12 +394,12 @@ msgid "Cleaning environment variables" msgstr "تنظيف متغيرات البيئة" #: src/components/ChatGPT/ChatGPT.vue:283 -#: src/components/Notification/Notification.vue:91 +#: src/components/Notification/Notification.vue:140 #: src/views/notification/Notification.vue:45 msgid "Clear" msgstr "مسح" -#: src/components/Notification/Notification.vue:42 +#: src/components/Notification/Notification.vue:90 #: src/views/notification/Notification.vue:13 msgid "Cleared successfully" msgstr "تم المسح بنجاح" @@ -409,7 +427,7 @@ msgstr "تم اختبار ملف التكوين بنجاح" msgid "Configuration Name" msgstr "اسم التكوين" -#: src/views/config/ConfigList.vue:99 +#: src/views/config/ConfigList.vue:98 msgid "Configurations" msgstr "التكوينات" @@ -421,7 +439,7 @@ msgstr "تكوين SSL" msgid "Connected" msgstr "متصل" -#: src/views/terminal/Terminal.vue:119 +#: src/views/terminal/Terminal.vue:120 msgid "Connection lost, please refresh the page." msgstr "تم فقدان الاتصال، يرجى تحديث الصفحة." @@ -431,27 +449,28 @@ msgstr "تم فقدان الاتصال، يرجى تحديث الصفحة." msgid "Content" msgstr "محتوى" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 +#: src/components/StdDesign/StdDataDisplay/StdTableTransformer.tsx:150 msgid "Copied" msgstr "تم النسخ" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 msgid "Copy" msgstr "نسخ" -#: src/views/system/Upgrade.vue:147 +#: src/views/system/Upgrade.vue:148 msgid "Core Upgrade" msgstr "ترقية نواة" -#: src/views/dashboard/ServerAnalytic.vue:294 +#: src/views/dashboard/ServerAnalytic.vue:305 msgid "CPU Status" msgstr "حالة CPU" -#: src/views/dashboard/ServerAnalytic.vue:188 +#: src/views/dashboard/ServerAnalytic.vue:199 msgid "CPU:" msgstr "CPU:" -#: src/views/site/ngx_conf/NgxUpstream.vue:163 +#: src/views/site/ngx_conf/NgxUpstream.vue:165 msgid "Create" msgstr "إنشاء" @@ -459,23 +478,21 @@ msgstr "إنشاء" msgid "Create Another" msgstr "إنشاء آخر" -#: src/views/config/ConfigList.vue:117 +#: src/views/config/ConfigList.vue:116 msgid "Create File" msgstr "إنشاء ملف" -#: src/views/config/components/Mkdir.vue:47 -#: src/views/config/ConfigList.vue:124 +#: src/views/config/components/Mkdir.vue:49 src/views/config/ConfigList.vue:123 msgid "Create Folder" msgstr "إنشاء مجلد" #: src/views/notification/notificationColumns.tsx:56 #: src/views/preference/components/Passkey.vue:101 -#: src/views/site/site_category/columns.ts:14 -#: src/views/user/userColumns.tsx:48 +#: src/views/site/site_category/columns.ts:14 src/views/user/userColumns.tsx:48 msgid "Created at" msgstr "تم الإنشاء في" -#: src/views/config/components/Mkdir.vue:33 +#: src/views/config/components/Mkdir.vue:35 msgid "Created successfully" msgstr "تم الإنشاء بنجاح" @@ -491,15 +508,15 @@ msgstr "بيان الاعتماد" msgid "Credentials" msgstr "بيانات الاعتماد" -#: src/views/preference/components/TOTP.vue:99 +#: src/views/preference/components/TOTP.vue:98 msgid "Current account is enabled TOTP." msgstr "TOTP مفعل للحساب الحالي." -#: src/views/preference/components/TOTP.vue:96 +#: src/views/preference/components/TOTP.vue:95 msgid "Current account is not enabled TOTP." msgstr "TOTP معطل للحساب الحالي." -#: src/views/system/Upgrade.vue:166 +#: src/views/system/Upgrade.vue:167 msgid "Current Version" msgstr "الإصدار الحالي" @@ -508,18 +525,18 @@ msgstr "الإصدار الحالي" msgid "Custom" msgstr "مخصص" -#: src/views/preference/BasicSettings.vue:46 -msgid "Customize the name of local node to be displayed in the environment indicator." +#: src/views/preference/BasicSettings.vue:34 +msgid "" +"Customize the name of local node to be displayed in the environment " +"indicator." msgstr "قم بتخصيص اسم العقدة المحلية ليتم عرضها في مؤشر البيئة." -#: src/routes/index.ts:38 -#: src/views/config/ConfigEditor.vue:133 -#: src/views/config/ConfigEditor.vue:94 -#: src/views/config/ConfigList.vue:65 +#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:136 +#: src/views/config/ConfigEditor.vue:97 src/views/config/ConfigList.vue:64 msgid "Dashboard" msgstr "لوحة المعلومات" -#: src/views/other/Install.vue:117 +#: src/views/other/Install.vue:121 msgid "Database (Optional, default: database)" msgstr "قاعدة البيانات (اختياري، الافتراضي: قاعدة البيانات)" @@ -527,15 +544,17 @@ msgstr "قاعدة البيانات (اختياري، الافتراضي: قاع msgid "Days" msgstr "أيام" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:542 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:530 #: src/views/site/ngx_conf/NgxServer.vue:110 -#: src/views/site/ngx_conf/NgxUpstream.vue:126 -#: src/views/site/site_list/SiteList.vue:158 +#: src/views/site/ngx_conf/NgxUpstream.vue:128 +#: src/views/site/site_list/SiteList.vue:159 #: src/views/stream/StreamList.vue:175 msgid "Delete" msgstr "حذف" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:571 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:35 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:559 msgid "Delete Permanently" msgstr "حذف نهائي" @@ -547,7 +566,7 @@ msgstr "خطأ حذف الموقع البعيد" msgid "Delete Remote Site Success" msgstr "نجح حذف الموقع البعيد" -#: src/views/site/site_list/SiteList.vue:68 +#: src/views/site/site_list/SiteList.vue:69 msgid "Delete site: %{site_name}" msgstr "حذف الموقع: ‎%{site_name}" @@ -555,11 +574,11 @@ msgstr "حذف الموقع: ‎%{site_name}" msgid "Delete stream: %{stream_name}" msgstr "حذف البث: ‎%{stream_name}" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:196 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:183 msgid "Deleted successfully" msgstr "تم الحذف بنجاح" -#: src/views/config/ConfigEditor.vue:284 +#: src/views/config/ConfigEditor.vue:287 #: src/views/stream/components/Deploy.vue:100 #: src/views/stream/components/RightSettings.vue:92 msgid "Deploy" @@ -602,12 +621,12 @@ msgstr "توجيهات" msgid "Directory" msgstr "مجلد" -#: src/views/site/site_list/SiteList.vue:127 +#: src/views/site/site_list/SiteList.vue:128 #: src/views/stream/StreamList.vue:144 msgid "Disable" msgstr "تعطيل" -#: src/views/site/cert/components/ObtainCert.vue:77 +#: src/views/site/cert/components/ObtainCert.vue:82 msgid "Disable auto-renewal failed for %{name}" msgstr "فشل تعطيل التجديد التلقائي لـ {name}%" @@ -629,28 +648,25 @@ msgstr "تم تعطيل الموقع %{site} على %{node} بنجاح" #: src/views/environment/envColumns.tsx:109 #: src/views/environment/envColumns.tsx:92 -#: src/views/site/site_edit/SiteEdit.vue:177 -#: src/views/site/site_list/columns.tsx:49 -#: src/views/site/site_list/columns.tsx:58 -#: src/views/stream/StreamEdit.vue:175 -#: src/views/stream/StreamList.vue:33 -#: src/views/user/userColumns.tsx:41 +#: src/views/site/site_edit/SiteEdit.vue:190 +#: src/views/site/site_list/columns.tsx:51 +#: src/views/site/site_list/columns.tsx:60 src/views/stream/StreamEdit.vue:175 +#: src/views/stream/StreamList.vue:33 src/views/user/userColumns.tsx:41 msgid "Disabled" msgstr "معطل" #: src/views/site/site_edit/RightSettings.vue:42 -#: src/views/site/site_list/SiteList.vue:57 +#: src/views/site/site_list/SiteList.vue:58 #: src/views/stream/components/RightSettings.vue:38 #: src/views/stream/StreamList.vue:67 msgid "Disabled successfully" msgstr "تم التعطيل بنجاح" -#: src/views/dashboard/ServerAnalytic.vue:359 +#: src/views/dashboard/ServerAnalytic.vue:370 msgid "Disk IO" msgstr "إدخال/إخراج القرص" -#: src/routes/index.ts:184 -#: src/views/certificate/DNSCredential.vue:40 +#: src/routes/index.ts:184 src/views/certificate/DNSCredential.vue:40 msgid "DNS Credentials" msgstr "بيانات اعتماد DNS" @@ -659,11 +675,11 @@ msgstr "بيانات اعتماد DNS" msgid "DNS Provider" msgstr "مزود DNS" -#: src/views/site/cert/components/AutoCertStepOne.vue:74 +#: src/views/site/cert/components/AutoCertStepOne.vue:73 msgid "DNS01" msgstr "DNS01" -#: src/views/site/cert/components/AutoCertStepOne.vue:99 +#: src/views/site/cert/components/AutoCertStepOne.vue:98 msgid "Do not enable this option unless you are sure that you need it." msgstr "لا تقم بتمكين هذا الخيار إلا إذا كنت متأكدًا من أنك بحاجة إليه." @@ -677,7 +693,7 @@ msgstr[3] "هل تريد نشر هذا الملف إلى الخوادم البع msgstr[4] "هل تريد نشر هذا الملف إلى الخوادم البعيدة؟" msgstr[5] "هل تريد نشر هذا الملف إلى الخوادم البعيدة؟" -#: src/views/site/cert/components/ObtainCert.vue:133 +#: src/views/site/cert/components/ObtainCert.vue:136 msgid "Do you want to disable auto-cert renewal?" msgstr "هل تريد تعطيل التجديد التلقائي للشهادة؟" @@ -705,7 +721,7 @@ msgstr "هل تريد تفعيل TLS؟" msgid "Do you want to remove this server?" msgstr "هل تريد إزالة هذا الخادم؟" -#: src/views/site/ngx_conf/NgxUpstream.vue:29 +#: src/views/site/ngx_conf/NgxUpstream.vue:30 msgid "Do you want to remove this upstream?" msgstr "هل تريد إزالة هذا المصدر؟" @@ -717,7 +733,7 @@ msgstr "نطاق" msgid "Domain Config Created Successfully" msgstr "تم إنشاء تكوين النطاق بنجاح" -#: src/views/certificate/CertificateEditor.vue:106 +#: src/views/certificate/CertificateEditor.vue:113 msgid "Domains list is empty, try to reopen Auto Cert for %{config}" msgstr "قائمة النطاقات فارغة، حاول إعادة فتح Auto Cert لـ %{config}" @@ -729,19 +745,20 @@ msgstr "خطأ في تنزيل الإصدار الأخير" msgid "Downloading latest release" msgstr "تنزيل الإصدار الأحدث" -#: src/views/environment/BatchUpgrader.vue:190 -#: src/views/system/Upgrade.vue:216 +#: src/views/environment/BatchUpgrader.vue:191 src/views/system/Upgrade.vue:217 msgid "Dry run mode enabled" msgstr "تمكين وضع التشغيل التجريبي" #: src/views/preference/components/AddPasskey.vue:107 -msgid "Due to the security policies of some browsers, you cannot use passkeys on non-HTTPS websites, except when running on localhost." +msgid "" +"Due to the security policies of some browsers, you cannot use passkeys on " +"non-HTTPS websites, except when running on localhost." msgstr "" -"نظرًا لسياسات الأمان لبعض المتصفحات، لا يمكنك استخدام مفاتيح المرور على " -"مواقع الويب غير HTTPS، إلا عند التشغيل على localhost." +"نظرًا لسياسات الأمان لبعض المتصفحات، لا يمكنك استخدام مفاتيح المرور على مواقع " +"الويب غير HTTPS، إلا عند التشغيل على localhost." #: src/views/site/site_list/SiteDuplicate.vue:74 -#: src/views/site/site_list/SiteList.vue:143 +#: src/views/site/site_list/SiteList.vue:144 #: src/views/stream/components/StreamDuplicate.vue:121 #: src/views/stream/StreamList.vue:160 msgid "Duplicate" @@ -764,13 +781,17 @@ msgstr "تم التكرار بنجاح" msgid "Duplicate to local successfully" msgstr "تم النسخ إلى المحلي بنجاح" -#: src/views/site/site_edit/SiteEdit.vue:166 +#: src/components/StdDesign/StdDetail/StdDetail.vue:110 +#, fuzzy +msgid "Edit" +msgstr "تعديل %{n}" + +#: src/views/site/site_edit/SiteEdit.vue:179 #: src/views/stream/StreamEdit.vue:164 msgid "Edit %{n}" msgstr "تعديل %{n}" -#: src/routes/index.ts:128 -#: src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:206 msgid "Edit Configuration" msgstr "تعديل التكوين" @@ -786,11 +807,11 @@ msgstr "تعديل البث" msgid "Email" msgstr "بريد إلكتروني" -#: src/views/other/Install.vue:86 +#: src/views/other/Install.vue:90 msgid "Email (*)" msgstr "البريد الإلكتروني (*)" -#: src/views/site/site_list/SiteList.vue:135 +#: src/views/site/site_list/SiteList.vue:136 #: src/views/stream/components/Deploy.vue:80 #: src/views/stream/StreamList.vue:152 msgid "Enable" @@ -804,11 +825,11 @@ msgstr "فشل تفعيل %{conf_name} في %{node_name}" msgid "Enable %{conf_name} in %{node_name} successfully" msgstr "تم تفعيل %{conf_name} في %{node_name} بنجاح" -#: src/views/preference/components/TOTP.vue:55 +#: src/views/preference/components/TOTP.vue:54 msgid "Enable 2FA successfully" msgstr "تم تفعيل المصادقة الثنائية بنجاح" -#: src/views/site/cert/components/ObtainCert.vue:70 +#: src/views/site/cert/components/ObtainCert.vue:75 msgid "Enable auto-renewal failed for %{name}" msgstr "فشل تفعيل التجديد التلقائي لـ %{name}" @@ -840,7 +861,7 @@ msgstr "تم التفعيل بنجاح" msgid "Enable TLS" msgstr "تفعيل TLS" -#: src/views/preference/components/TOTP.vue:125 +#: src/views/preference/components/TOTP.vue:124 msgid "Enable TOTP" msgstr "تفعيل TOTP" @@ -848,31 +869,28 @@ msgstr "تفعيل TOTP" #: src/views/environment/envColumns.tsx:106 #: src/views/preference/LogrotateSettings.vue:19 #: src/views/site/site_edit/RightSettings.vue:82 -#: src/views/site/site_edit/SiteEdit.vue:171 -#: src/views/site/site_list/columns.tsx:45 -#: src/views/site/site_list/columns.tsx:57 +#: src/views/site/site_edit/SiteEdit.vue:184 +#: src/views/site/site_list/columns.tsx:47 +#: src/views/site/site_list/columns.tsx:59 #: src/views/stream/components/RightSettings.vue:76 -#: src/views/stream/StreamEdit.vue:169 -#: src/views/stream/StreamList.vue:29 +#: src/views/stream/StreamEdit.vue:169 src/views/stream/StreamList.vue:29 #: src/views/user/userColumns.tsx:38 msgid "Enabled" msgstr "مفعل" #: src/views/site/site_edit/RightSettings.vue:33 -#: src/views/site/site_list/SiteList.vue:47 -#: src/views/site/SiteAdd.vue:40 +#: src/views/site/site_list/SiteList.vue:48 src/views/site/SiteAdd.vue:40 #: src/views/stream/components/RightSettings.vue:29 #: src/views/stream/components/StreamDuplicate.vue:93 #: src/views/stream/StreamList.vue:57 msgid "Enabled successfully" msgstr "تم التفعيل بنجاح" -#: src/views/site/cert/IssueCert.vue:49 +#: src/views/site/cert/IssueCert.vue:48 msgid "Encrypt website with Let's Encrypt" msgstr "تشفير الموقع باستخدام Let's Encrypt" -#: src/routes/index.ts:234 -#: src/views/environment/Environment.vue:34 +#: src/routes/index.ts:234 src/views/environment/Environment.vue:34 msgid "Environment" msgstr "بيئة" @@ -884,18 +902,16 @@ msgstr "تم تنظيف متغيرات البيئة" msgid "Environments" msgstr "البيئات" -#: src/constants/index.ts:16 -#: src/views/config/InspectConfig.vue:44 +#: src/constants/index.ts:16 src/views/config/InspectConfig.vue:44 #: src/views/notification/notificationColumns.tsx:15 msgid "Error" msgstr "خطأ" -#: src/routes/index.ts:217 -#: src/views/site/ngx_conf/LogEntry.vue:84 +#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:83 msgid "Error Logs" msgstr "سجلات الأخطاء" -#: src/views/system/Upgrade.vue:178 +#: src/views/system/Upgrade.vue:179 msgid "Executable Path" msgstr "مسار الملف التنفيذي" @@ -908,7 +924,7 @@ msgstr "منتهي الصلاحية" msgid "Expired At: %{date}" msgstr "تنتهي في: %{date}" -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:66 msgid "Export" msgstr "تصدير" @@ -917,14 +933,14 @@ msgid "Fail to obtain certificate" msgstr "فشل في الحصول على الشهادة" #: src/views/site/site_edit/RightSettings.vue:45 -#: src/views/site/site_list/SiteList.vue:61 +#: src/views/site/site_list/SiteList.vue:62 #: src/views/stream/components/RightSettings.vue:41 #: src/views/stream/StreamList.vue:71 msgid "Failed to disable %{msg}" msgstr "فشل في تعطيل %{msg}" #: src/views/site/site_edit/RightSettings.vue:36 -#: src/views/site/site_list/SiteList.vue:51 +#: src/views/site/site_list/SiteList.vue:52 #: src/views/stream/components/RightSettings.vue:32 #: src/views/stream/StreamList.vue:61 msgid "Failed to enable %{msg}" @@ -934,7 +950,7 @@ msgstr "فشل في التفعيل %{msg}" msgid "Failed to get certificate information" msgstr "فشل في الحصول على معلومات الشهادة" -#: src/views/site/site_edit/SiteEdit.vue:123 +#: src/views/site/site_edit/SiteEdit.vue:135 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." msgstr "فشل في الحفظ، تم اكتشاف خطأ(أخطاء) في بناء الجملة في التكوين." @@ -951,32 +967,38 @@ msgstr "الملف موجود" msgid "File Not Found" msgstr "لم يتم العثور على الملف" -#: src/views/nginx_log/NginxLog.vue:154 +#: src/views/nginx_log/NginxLog.vue:155 msgid "Filter" msgstr "تصفيه" -#: src/language/constants.ts:19 -#: src/views/site/SiteAdd.vue:97 +#: src/language/constants.ts:19 src/views/site/SiteAdd.vue:97 msgid "Finished" msgstr "انتهى" #: src/views/preference/components/AddPasskey.vue:77 -msgid "Follow the instructions in the dialog to complete the passkey registration process." +msgid "" +"Follow the instructions in the dialog to complete the passkey registration " +"process." msgstr "اتبع التعليمات في الحوار لإكمال عملية تسجيل مفتاح المرور." -#: src/views/preference/BasicSettings.vue:38 +#: src/views/preference/BasicSettings.vue:59 +#: src/views/preference/BasicSettings.vue:71 +msgid "For Chinese user" +msgstr "" + +#: src/views/preference/BasicSettings.vue:47 msgid "For Chinese user: https://mirror.ghproxy.com/" msgstr "للمستخدمين الصين: /https://mirror.ghproxy.com" -#: src/views/config/ConfigEditor.vue:216 +#: src/views/config/ConfigEditor.vue:218 msgid "Format Code" msgstr "تنسيق الكود" -#: src/views/config/ConfigEditor.vue:183 +#: src/views/config/ConfigEditor.vue:185 msgid "Format error %{msg}" msgstr "خطأ في التنسيق %{msg}" -#: src/views/config/ConfigEditor.vue:181 +#: src/views/config/ConfigEditor.vue:183 msgid "Format successfully" msgstr "تم التنسيق بنجاح" @@ -984,7 +1006,7 @@ msgstr "تم التنسيق بنجاح" msgid "General Certificate" msgstr "شهادة عامة" -#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:52 +#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:55 msgid "Generate" msgstr "توليد" @@ -992,8 +1014,7 @@ msgstr "توليد" msgid "Generating private key for registering account" msgstr "توليد مفتاح خاص لتسجيل الحساب" -#: src/views/environment/BatchUpgrader.vue:179 -#: src/views/system/Upgrade.vue:170 +#: src/views/environment/BatchUpgrader.vue:180 src/views/system/Upgrade.vue:171 msgid "Get release information error" msgstr "خطأ في الحصول على معلومات الإصدار" @@ -1001,11 +1022,11 @@ msgstr "خطأ في الحصول على معلومات الإصدار" msgid "Getting the certificate, please wait..." msgstr "جارٍ الحصول على الشهادة، يرجى الانتظار..." -#: src/views/preference/BasicSettings.vue:30 +#: src/views/preference/BasicSettings.vue:39 msgid "Github Proxy" msgstr "وكيل Github" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Hide" msgstr "إخفاء" @@ -1025,22 +1046,30 @@ msgstr "مضيف HTTP" msgid "HTTP Port" msgstr "منفذ HTTP" -#: src/views/site/cert/components/AutoCertStepOne.vue:71 +#: src/views/site/cert/components/AutoCertStepOne.vue:70 msgid "HTTP01" msgstr "HTTP01" +#: src/views/preference/BasicSettings.vue:51 +msgid "ICP Number" +msgstr "" + #: src/views/certificate/ACMEUser.vue:45 msgid "If left blank, the default CA Dir will be used." msgstr "إذا تُرك فارغًا، سيتم استخدام دليل CA الافتراضي." #: src/views/preference/AuthSettings.vue:119 -msgid "If the number of login failed attempts from a ip reach the max attempts in ban threshold minutes, the ip will be banned for a period of time." +msgid "" +"If the number of login failed attempts from a ip reach the max attempts in " +"ban threshold minutes, the ip will be banned for a period of time." msgstr "" "إذا وصل عدد محاولات تسجيل الدخول الفاشلة من عنوان IP إلى الحد الأقصى " "للمحاولات في حد دقائق الحظر، سيتم حظر عنوان IP لفترة من الوقت." -#: src/views/preference/components/TOTP.vue:111 -msgid "If you lose your mobile phone, you can use the recovery code to reset your 2FA." +#: src/views/preference/components/TOTP.vue:110 +msgid "" +"If you lose your mobile phone, you can use the recovery code to reset your " +"2FA." msgstr "" "إذا فقدت هاتفك المحمول، يمكنك استخدام رمز الاسترداد لإعادة تعيين المصادقة " "الثنائية." @@ -1049,8 +1078,10 @@ msgstr "" msgid "If your browser supports WebAuthn Passkey, a dialog box will appear." msgstr "إذا كان متصفحك يدعم WebAuthn Passkey، ستظهر نافذة حوار." -#: src/views/site/cert/components/AutoCertStepOne.vue:109 -msgid "If your domain has CNAME records and you cannot obtain certificates, you need to enable this option." +#: src/views/site/cert/components/AutoCertStepOne.vue:108 +msgid "" +"If your domain has CNAME records and you cannot obtain certificates, you " +"need to enable this option." msgstr "" "إذا كان لنطاقك سجلات CNAME ولا يمكنك الحصول على شهادات، تحتاج إلى تفعيل هذا " "الخيار." @@ -1059,17 +1090,16 @@ msgstr "" msgid "Import" msgstr "استيراد" -#: src/routes/index.ts:174 -#: src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:86 msgid "Import Certificate" msgstr "استيراد شهادة" -#: src/views/other/Login.vue:77 +#: src/views/other/Login.vue:78 msgid "Incorrect username or password" msgstr "اسم المستخدم أو كلمة المرور غير صحيحة" -#: src/constants/index.ts:18 -#: src/views/notification/notificationColumns.tsx:29 +#: src/components/StdDesign/StdDetail/StdDetail.vue:81 +#: src/constants/index.ts:18 src/views/notification/notificationColumns.tsx:29 msgid "Info" msgstr "معلومات" @@ -1081,21 +1111,20 @@ msgstr "خطأ في ترقية النواة الأولية" msgid "Initialing core upgrader" msgstr "بدء ترقية النواة" -#: src/views/preference/components/TOTP.vue:158 +#: src/views/preference/components/TOTP.vue:157 msgid "Input the code from the app:" msgstr "أدخل الرمز من التطبيق:" #: src/components/TwoFA/Authorization.vue:87 -#: src/views/preference/components/TOTP.vue:171 +#: src/views/preference/components/TOTP.vue:170 msgid "Input the recovery code:" msgstr "أدخل رمز الاسترداد:" -#: src/routes/index.ts:305 -#: src/views/other/Install.vue:132 +#: src/routes/index.ts:305 src/views/other/Install.vue:136 msgid "Install" msgstr "تثبيت" -#: src/views/other/Install.vue:63 +#: src/views/other/Install.vue:67 msgid "Install successfully" msgstr "تم التثبيت بنجاح" @@ -1107,20 +1136,20 @@ msgstr "فترة" msgid "Invalid" msgstr "غير صالح" -#: src/views/other/Login.vue:87 +#: src/views/other/Login.vue:88 msgid "Invalid 2FA or recovery code" msgstr "رمز 2FA أو الاسترداد غير صالح" -#: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:250 +#: src/views/config/components/Rename.vue:66 +#: src/views/config/ConfigEditor.vue:252 msgid "Invalid filename" msgstr "اسم ملف غير صالح" -#: src/views/config/components/Mkdir.vue:57 +#: src/views/config/components/Mkdir.vue:59 msgid "Invalid folder name" msgstr "اسم المجلد غير صالح" -#: src/components/TwoFA/use2FAModal.ts:60 +#: src/components/TwoFA/use2FAModal.ts:61 msgid "Invalid passcode or recovery code" msgstr "رمز المرور أو رمز الاسترداد غير صالح" @@ -1149,11 +1178,11 @@ msgid "Jwt Secret" msgstr "سر JWT" #: src/views/certificate/CertificateList/certColumns.tsx:62 -#: src/views/site/cert/components/AutoCertStepOne.vue:78 +#: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" msgstr "نوع المفتاح" -#: src/views/system/Upgrade.vue:180 +#: src/views/system/Upgrade.vue:181 msgid "Last checked at" msgstr "آخر فحص في" @@ -1177,12 +1206,12 @@ msgstr "اتركه فارغًا إذا كنت لا تريد التعديل" msgid "Leave blank if you don't need this." msgstr "اتركه فارغًا إذا لم تكن بحاجة إلى ذلك." -#: src/views/certificate/CertificateEditor.vue:214 -#: src/views/certificate/CertificateEditor.vue:227 +#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:234 msgid "Leave blank will not change anything" msgstr "تركه فارغًا لن يغير شيئًا" -#: src/views/site/cert/components/AutoCertStepOne.vue:106 +#: src/views/site/cert/components/AutoCertStepOne.vue:105 msgid "Lego disable CNAME Support" msgstr "تعطيل دعم ‏Lego CNAME" @@ -1195,11 +1224,11 @@ msgstr "رخصة" msgid "Link Start" msgstr "ابدأ الرابط" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:199 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:178 msgid "List" msgstr "قائمة" -#: src/views/dashboard/ServerAnalytic.vue:176 +#: src/views/dashboard/ServerAnalytic.vue:187 msgid "Load Average:" msgstr "متوسط التحميل:" @@ -1212,7 +1241,7 @@ msgid "Load successfully" msgstr "تم التحميل بنجاح" #: src/components/EnvIndicator/EnvIndicator.vue:39 -#: src/components/NodeSelector/NodeSelector.vue:70 +#: src/components/NodeSelector/NodeSelector.vue:80 msgid "Local" msgstr "محلي" @@ -1224,30 +1253,34 @@ msgstr "مكان" msgid "Locations" msgstr "أماكن" -#: src/views/certificate/CertificateEditor.vue:237 +#: src/views/certificate/CertificateEditor.vue:244 msgid "Log" msgstr "سجل" -#: src/routes/index.ts:311 -#: src/views/other/Login.vue:245 +#: src/routes/index.ts:311 src/views/other/Login.vue:246 msgid "Login" msgstr "تسجيل الدخول" -#: src/views/other/Login.vue:131 -#: src/views/other/Login.vue:64 +#: src/views/other/Login.vue:132 src/views/other/Login.vue:65 msgid "Login successful" msgstr "تم تسجيل الدخول بنجاح" -#: src/layouts/HeaderLayout.vue:19 +#: src/layouts/HeaderLayout.vue:20 msgid "Logout successful" msgstr "تم تسجيل الخروج بنجاح" -#: src/views/preference/Preference.vue:176 +#: src/views/preference/Preference.vue:178 msgid "Logrotate" msgstr "تدوير السجلات" #: src/views/preference/LogrotateSettings.vue:12 -msgid "Logrotate, by default, is enabled in most mainstream Linux distributions for users who install Nginx UI on the host machine, so you don't need to modify the parameters on this page. For users who install Nginx UI using Docker containers, you can manually enable this option. The crontab task scheduler of Nginx UI will execute the logrotate command at the interval you set in minutes." +msgid "" +"Logrotate, by default, is enabled in most mainstream Linux distributions for " +"users who install Nginx UI on the host machine, so you don't need to modify " +"the parameters on this page. For users who install Nginx UI using Docker " +"containers, you can manually enable this option. The crontab task scheduler " +"of Nginx UI will execute the logrotate command at the interval you set in " +"minutes." msgstr "" "بشكل افتراضي، يتم تفعيل تدوير السجلات في معظم توزيعات لينكس الرئيسية " "للمستخدمين الذين يقومون بتثبيت واجهة Nginx UI على الجهاز المضيف، لذا لا " @@ -1256,31 +1289,28 @@ msgstr "" "مجدول المهام crontab الخاص بواجهة Nginx UI بتنفيذ أمر تدوير السجلات في " "الفاصل الزمني الذي تحدده بالدقائق." -#: src/views/site/cert/components/AutoCertStepOne.vue:54 -msgid "Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort before obtaining the certificate." +#: src/views/site/cert/components/AutoCertStepOne.vue:53 +msgid "" +"Make sure you have configured a reverse proxy for .well-known directory to " +"HTTPChallengePort before obtaining the certificate." msgstr "" "تأكد من تكوين وكيل عكسي لدليل .well-known إلى HTTPChallengePort قبل الحصول " "على الشهادة." -#: src/routes/index.ts:108 -#: src/views/config/ConfigEditor.vue:138 -#: src/views/config/ConfigEditor.vue:99 -#: src/views/config/ConfigList.vue:70 +#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:102 +#: src/views/config/ConfigEditor.vue:141 src/views/config/ConfigList.vue:69 msgid "Manage Configs" msgstr "إدارة التكوينات" -#: src/routes/index.ts:47 -#: src/views/site/site_list/SiteList.vue:97 +#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:98 msgid "Manage Sites" msgstr "إدارة المواقع" -#: src/routes/index.ts:89 -#: src/views/stream/StreamList.vue:119 +#: src/routes/index.ts:89 src/views/stream/StreamList.vue:119 msgid "Manage Streams" msgstr "إدارة التدفقات" -#: src/routes/index.ts:257 -#: src/views/user/User.vue:9 +#: src/routes/index.ts:257 src/views/user/User.vue:9 msgid "Manage Users" msgstr "إدارة المستخدمين" @@ -1292,12 +1322,12 @@ msgstr "شهادة مُدارة" msgid "Max Attempts" msgstr "الحد الأقصى للمحاولات" -#: src/views/dashboard/ServerAnalytic.vue:215 -#: src/views/dashboard/ServerAnalytic.vue:216 +#: src/views/dashboard/ServerAnalytic.vue:226 +#: src/views/dashboard/ServerAnalytic.vue:227 msgid "Memory" msgstr "ذاكرة" -#: src/views/dashboard/ServerAnalytic.vue:205 +#: src/views/dashboard/ServerAnalytic.vue:216 msgid "Memory and Storage" msgstr "الذاكرة والتخزين" @@ -1310,14 +1340,13 @@ msgid "Model" msgstr "نموذج" #: src/components/ChatGPT/ChatGPT.vue:256 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:520 -#: src/views/config/ConfigList.vue:159 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:508 +#: src/views/config/ConfigList.vue:158 msgid "Modify" msgstr "تعديل" -#: src/routes/index.ts:164 -#: src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:86 msgid "Modify Certificate" msgstr "تعديل الشهادة" @@ -1325,7 +1354,7 @@ msgstr "تعديل الشهادة" msgid "Modify Config" msgstr "تعديل التكوين" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 msgid "Modify Mode" msgstr "وضع التعديل" @@ -1334,61 +1363,58 @@ msgid "Multi-line Directive" msgstr "توجيه متعدد الأسطر" #: src/views/certificate/ACMEUser.vue:13 -#: src/views/certificate/CertificateEditor.vue:154 +#: src/views/certificate/CertificateEditor.vue:161 #: src/views/certificate/CertificateList/certColumns.tsx:10 #: src/views/certificate/DNSCredential.vue:11 -#: src/views/config/components/Mkdir.vue:64 -#: src/views/config/configColumns.ts:8 -#: src/views/config/ConfigEditor.vue:256 -#: src/views/environment/envColumns.tsx:9 +#: src/views/config/components/Mkdir.vue:66 src/views/config/configColumns.ts:8 +#: src/views/config/ConfigEditor.vue:258 src/views/environment/envColumns.tsx:9 #: src/views/preference/components/AddPasskey.vue:81 -#: src/views/site/ngx_conf/NgxUpstream.vue:175 +#: src/views/site/ngx_conf/NgxUpstream.vue:177 #: src/views/site/site_category/columns.ts:7 #: src/views/site/site_edit/RightSettings.vue:88 #: src/views/site/site_list/columns.tsx:13 #: src/views/site/site_list/SiteDuplicate.vue:81 #: src/views/stream/components/RightSettings.vue:82 #: src/views/stream/components/StreamDuplicate.vue:128 -#: src/views/stream/StreamList.vue:13 -#: src/views/stream/StreamList.vue:187 +#: src/views/stream/StreamList.vue:13 src/views/stream/StreamList.vue:187 msgid "Name" msgstr "اسم" -#: src/views/dashboard/ServerAnalytic.vue:320 +#: src/views/dashboard/ServerAnalytic.vue:331 msgid "Network" msgstr "شبكة" -#: src/views/dashboard/ServerAnalytic.vue:262 +#: src/views/dashboard/ServerAnalytic.vue:273 msgid "Network Statistics" msgstr "إحصائيات الشبكة" -#: src/views/dashboard/ServerAnalytic.vue:269 +#: src/views/dashboard/ServerAnalytic.vue:280 msgid "Network Total Receive" msgstr "إجمالي استقبال الشبكة" -#: src/views/dashboard/ServerAnalytic.vue:275 +#: src/views/dashboard/ServerAnalytic.vue:286 msgid "Network Total Send" msgstr "إجمالي إرسال الشبكة" -#: src/views/config/components/Rename.vue:73 +#: src/views/config/components/Rename.vue:74 msgid "New name" msgstr "اسم جديد" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 msgid "New Path" msgstr "مسار جديد" -#: src/views/system/Upgrade.vue:209 +#: src/views/system/Upgrade.vue:210 msgid "New version released" msgstr "تم إصدار نسخة جديدة" #: src/views/certificate/WildcardCertificate.vue:91 -#: src/views/site/cert/components/ObtainCert.vue:208 +#: src/views/site/cert/components/ObtainCert.vue:211 #: src/views/site/SiteAdd.vue:141 msgid "Next" msgstr "التالي" -#: src/views/preference/Preference.vue:164 +#: src/views/preference/Preference.vue:166 msgid "Nginx" msgstr "Nginx" @@ -1396,7 +1422,7 @@ msgstr "Nginx" msgid "Nginx Access Log Path" msgstr "مسار سجل الوصول لـ Nginx" -#: src/views/site/site_edit/SiteEdit.vue:209 +#: src/views/site/site_edit/SiteEdit.vue:223 #: src/views/stream/StreamEdit.vue:207 msgid "Nginx Configuration Parse Error" msgstr "خطأ في تحليل تكوين Nginx" @@ -1417,8 +1443,7 @@ msgstr "مسار سجل أخطاء Nginx" msgid "Nginx is not running" msgstr "Nginx لا يعمل" -#: src/routes/index.ts:202 -#: src/views/nginx_log/NginxLog.vue:147 +#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:148 msgid "Nginx Log" msgstr "سجل Nginx" @@ -1447,22 +1472,23 @@ msgid "Nginx restarted successfully" msgstr "تم إعادة تشغيل Nginx بنجاح" #: src/components/ChatGPT/ChatGPT.vue:277 -#: src/components/Notification/Notification.vue:84 +#: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:67 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:533 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:547 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:562 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:96 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:521 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:550 #: src/views/notification/Notification.vue:38 #: src/views/preference/AuthSettings.vue:138 #: src/views/preference/CertSettings.vue:70 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:90 #: src/views/site/ngx_conf/LocationEditor.vue:90 -#: src/views/site/site_list/SiteList.vue:147 +#: src/views/site/site_list/SiteList.vue:148 #: src/views/stream/StreamList.vue:164 msgid "No" msgstr "لا" -#: src/views/preference/BasicSettings.vue:42 +#: src/views/preference/BasicSettings.vue:30 msgid "Node name" msgstr "اسم العقدة" @@ -1483,12 +1509,14 @@ msgid "Not Valid Before: %{date}" msgstr "غير صالح قبل: %{date}" #: src/views/certificate/DNSCredential.vue:49 -#: src/views/site/cert/components/AutoCertStepOne.vue:40 +#: src/views/site/cert/components/AutoCertStepOne.vue:39 msgid "Note" msgstr "ملاحظة" #: src/views/site/site_edit/RightSettings.vue:120 -msgid "Note, if the configuration file include other configurations or certificates, please synchronize them to the remote nodes in advance." +msgid "" +"Note, if the configuration file include other configurations or " +"certificates, please synchronize them to the remote nodes in advance." msgstr "" "يرجى ملاحظة أنه إذا كان ملف التكوين يتضمن تكوينات أو شهادات أخرى، فيرجى " "مزامنتها مع العقد البعيدة مسبقًا." @@ -1497,12 +1525,11 @@ msgstr "" msgid "Notification" msgstr "إشعار" -#: src/components/Notification/Notification.vue:82 -#: src/routes/index.ts:248 +#: src/components/Notification/Notification.vue:131 src/routes/index.ts:248 msgid "Notifications" msgstr "الإشعارات" -#: src/views/site/cert/components/ObtainCert.vue:179 +#: src/views/site/cert/components/ObtainCert.vue:182 msgid "Obtain certificate" msgstr "الحصول على شهادة" @@ -1510,39 +1537,42 @@ msgstr "الحصول على شهادة" msgid "Obtaining certificate" msgstr "الحصول على الشهادة" -#: src/views/site/cert/components/AutoCertStepOne.vue:96 +#: src/views/site/cert/components/AutoCertStepOne.vue:95 msgid "OCSP Must Staple" msgstr "يجب تثبيت OCSP" -#: src/views/site/cert/components/AutoCertStepOne.vue:100 -msgid "OCSP Must Staple may cause errors for some users on first access using Firefox." +#: src/views/site/cert/components/AutoCertStepOne.vue:99 +msgid "" +"OCSP Must Staple may cause errors for some users on first access using " +"Firefox." msgstr "" "قد يتسبب وجوب تثبيت OCSP في حدوث أخطاء لبعض المستخدمين عند الوصول لأول مرة " "باستخدام Firefox." -#: src/components/NodeSelector/NodeSelector.vue:93 +#: src/components/NodeSelector/NodeSelector.vue:103 #: src/views/dashboard/Environments.vue:107 #: src/views/environment/envColumns.tsx:87 msgid "Offline" msgstr "غير متصل" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:262 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:183 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:252 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:522 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:536 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:551 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:181 msgid "Ok" msgstr "حسنًا" #: src/components/ChatGPT/ChatGPT.vue:278 -#: src/components/Notification/Notification.vue:85 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:534 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:548 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:563 +#: src/components/Notification/Notification.vue:134 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:97 #: src/views/notification/Notification.vue:39 -#: src/views/site/cert/components/ObtainCert.vue:136 +#: src/views/site/cert/components/ObtainCert.vue:139 #: src/views/site/ngx_conf/NgxConfigEditor.vue:50 #: src/views/site/ngx_conf/NgxServer.vue:79 -#: src/views/site/ngx_conf/NgxUpstream.vue:32 +#: src/views/site/ngx_conf/NgxUpstream.vue:33 #: src/views/site/site_edit/RightSettings.vue:54 -#: src/views/site/site_list/SiteList.vue:148 +#: src/views/site/site_list/SiteList.vue:149 #: src/views/stream/components/Deploy.vue:19 #: src/views/stream/components/RightSettings.vue:50 #: src/views/stream/StreamList.vue:165 @@ -1553,40 +1583,39 @@ msgstr "حسنًا" msgid "Once the verification is complete, the records will be removed." msgstr "بمجرد اكتمال التحقق، سيتم إزالة السجلات." -#: src/components/NodeSelector/NodeSelector.vue:73 -#: src/components/NodeSelector/NodeSelector.vue:87 +#: src/components/NodeSelector/NodeSelector.vue:83 +#: src/components/NodeSelector/NodeSelector.vue:97 #: src/views/dashboard/Environments.vue:100 #: src/views/environment/envColumns.tsx:83 msgid "Online" msgstr "متصل" -#: src/views/preference/Preference.vue:170 +#: src/views/preference/Preference.vue:172 msgid "OpenAI" msgstr "أوبن أي آي" -#: src/components/TwoFA/Authorization.vue:117 -#: src/views/other/Login.vue:254 +#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:255 msgid "Or" msgstr "أو" -#: src/views/config/components/Rename.vue:69 +#: src/views/config/components/Rename.vue:70 msgid "Original name" msgstr "الاسم الأصلي" -#: src/views/system/Upgrade.vue:176 +#: src/views/system/Upgrade.vue:177 msgid "OS" msgstr "نظام التشغيل" -#: src/views/dashboard/ServerAnalytic.vue:182 +#: src/views/dashboard/ServerAnalytic.vue:193 msgid "OS:" msgstr "نظام التشغيل:" -#: src/views/config/ConfigEditor.vue:293 +#: src/views/config/ConfigEditor.vue:296 #: src/views/stream/components/Deploy.vue:84 msgid "Overwrite" msgstr "الكتابة فوق" -#: src/views/config/ConfigEditor.vue:297 +#: src/views/config/ConfigEditor.vue:300 #: src/views/stream/components/Deploy.vue:88 msgid "Overwrite exist file" msgstr "الكتابة فوق الملف الموجود" @@ -1600,28 +1629,34 @@ msgid "Passkey" msgstr "مفتاح المرور" #: src/views/preference/components/Passkey.vue:68 -msgid "Passkeys are webauthn credentials that validate your identity using touch, facial recognition, a device password, or a PIN. They can be used as a password replacement or as a 2FA method." +msgid "" +"Passkeys are webauthn credentials that validate your identity using touch, " +"facial recognition, a device password, or a PIN. They can be used as a " +"password replacement or as a 2FA method." msgstr "" "مفاتيح المرور هي بيانات اعتماد ويباثن تتحقق من هويتك باستخدام اللمس أو " "التعرف على الوجه أو كلمة مرور الجهاز أو رقم التعريف الشخصي. يمكن استخدامها " "كبديل لكلمة المرور أو كطريقة للمصادقة الثنائية." -#: src/views/other/Login.vue:206 -#: src/views/user/userColumns.tsx:18 +#: src/views/other/Login.vue:207 src/views/user/userColumns.tsx:18 msgid "Password" msgstr "كلمة المرور" -#: src/views/other/Install.vue:106 +#: src/views/other/Install.vue:110 msgid "Password (*)" msgstr "كلمة المرور (*)" -#: src/views/config/ConfigEditor.vue:262 +#: src/views/other/Install.vue:48 +msgid "Password length cannot exceed 20 characters" +msgstr "" + +#: src/views/config/ConfigEditor.vue:265 #: src/views/site/ngx_conf/LocationEditor.vue:111 #: src/views/site/ngx_conf/LocationEditor.vue:139 msgid "Path" msgstr "مسار" -#: src/views/environment/BatchUpgrader.vue:234 +#: src/views/environment/BatchUpgrader.vue:235 msgid "Perform" msgstr "نفذ" @@ -1634,7 +1669,9 @@ msgid "Performing core upgrade" msgstr "تنفيذ ترقية النواة" #: src/views/preference/components/AddPasskey.vue:75 -msgid "Please enter a name for the passkey you wish to create and click the OK button below." +msgid "" +"Please enter a name for the passkey you wish to create and click the OK " +"button below." msgstr "" "يرجى إدخال اسم لمفتاح المرور الذي ترغب في إنشائه ثم انقر على زر موافق أدناه." @@ -1643,52 +1680,59 @@ msgid "Please enter the OTP code:" msgstr "يرجى إدخال رمز OTP:" #: src/views/certificate/DNSCredential.vue:53 -msgid "Please fill in the API authentication credentials provided by your DNS provider." +msgid "" +"Please fill in the API authentication credentials provided by your DNS " +"provider." msgstr "يرجى ملء بيانات اعتماد مصادقة API المقدمة من مزود DNS الخاص بك." -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:127 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:107 msgid "Please fill in the required fields" msgstr "يرجى ملء الحقول المطلوبة" -#: src/views/site/cert/components/AutoCertStepOne.vue:58 -msgid "Please first add credentials in Certification > DNS Credentials, and then select one of the credentialsbelow to request the API of the DNS provider." +#: src/views/site/cert/components/AutoCertStepOne.vue:57 +msgid "" +"Please first add credentials in Certification > DNS Credentials, and then " +"select one of the credentialsbelow to request the API of the DNS provider." msgstr "" "يرجى أولاً إضافة بيانات الاعتماد في الشهادات > بيانات اعتماد DNS، ثم اختيار " "أحد بيانات الاعتماد أدناه لطلب API لمزود DNS." -#: src/views/config/components/Rename.vue:64 -#: src/views/config/ConfigEditor.vue:249 +#: src/views/config/components/Rename.vue:65 +#: src/views/config/ConfigEditor.vue:251 msgid "Please input a filename" msgstr "يرجى إدخال اسم الملف" -#: src/views/config/components/Mkdir.vue:56 +#: src/views/config/components/Mkdir.vue:58 msgid "Please input a folder name" msgstr "يرجى إدخال اسم المجلد" #: src/views/stream/components/StreamDuplicate.vue:38 -msgid "Please input name, this will be used as the filename of the new configuration!" +msgid "" +"Please input name, this will be used as the filename of the new " +"configuration!" msgstr "يرجى إدخال الاسم، سيتم استخدامه كاسم الملف للتكوين الجديد!" #: src/views/site/site_list/SiteDuplicate.vue:33 -msgid "Please input name, this will be used as the filename of the new configuration." +msgid "" +"Please input name, this will be used as the filename of the new " +"configuration." msgstr "يرجى إدخال الاسم، سيتم استخدامه كاسم الملف للتكوين الجديد." #: src/views/other/Install.vue:32 msgid "Please input your E-mail!" msgstr "يرجى إدخال بريدك الإلكتروني!" -#: src/views/other/Install.vue:44 -#: src/views/other/Login.vue:46 +#: src/views/other/Install.vue:44 src/views/other/Login.vue:47 msgid "Please input your password!" msgstr "يرجى إدخال كلمة المرور الخاصة بك!" -#: src/views/other/Install.vue:38 -#: src/views/other/Login.vue:40 +#: src/views/other/Install.vue:38 src/views/other/Login.vue:41 msgid "Please input your username!" msgstr "يرجى إدخال اسم المستخدم الخاص بك!" #: src/views/certificate/DNSCredential.vue:62 -msgid "Please note that the unit of time configurations below are all in seconds." +msgid "" +"Please note that the unit of time configurations below are all in seconds." msgstr "يرجى ملاحظة أن تكوين وحدات الوقت أدناه كلها بالثواني." #: src/views/environment/Environment.vue:47 @@ -1709,15 +1753,13 @@ msgstr "يرجى اختيار عقدة واحدة على الأقل!" msgid "Please upgrade the remote Nginx UI to the latest version" msgstr "يرجى ترقية واجهة Nginx البعيدة إلى أحدث إصدار" -#: src/views/environment/BatchUpgrader.vue:169 -#: src/views/environment/BatchUpgrader.vue:222 -#: src/views/system/Upgrade.vue:195 -#: src/views/system/Upgrade.vue:246 +#: src/views/environment/BatchUpgrader.vue:170 +#: src/views/environment/BatchUpgrader.vue:223 src/views/system/Upgrade.vue:196 +#: src/views/system/Upgrade.vue:247 msgid "Pre-release" msgstr "ما قبل الإصدار" -#: src/routes/index.ts:266 -#: src/views/preference/Preference.vue:141 +#: src/routes/index.ts:266 src/views/preference/Preference.vue:143 msgid "Preference" msgstr "تفضيل" @@ -1745,34 +1787,39 @@ msgstr "مزود" msgid "Proxy" msgstr "وكيل" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:376 +#: src/views/preference/BasicSettings.vue:63 +msgid "Public Security Number" +msgstr "" + +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:387 msgid "Reads" msgstr "يقرأ" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:327 +#: src/views/dashboard/ServerAnalytic.vue:338 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Receive" msgstr "يستقبل" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:556 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:43 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:544 msgid "Recover" msgstr "استعادة" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:204 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:191 msgid "Recovered Successfully" msgstr "تم الاسترداد بنجاح" #: src/components/TwoFA/Authorization.vue:94 -#: src/views/preference/components/TOTP.vue:178 +#: src/views/preference/components/TOTP.vue:177 msgid "Recovery" msgstr "استرداد" -#: src/views/preference/components/TOTP.vue:104 +#: src/views/preference/components/TOTP.vue:103 msgid "Recovery Code" msgstr "رمز الاسترداد" -#: src/views/preference/components/TOTP.vue:113 +#: src/views/preference/components/TOTP.vue:112 msgid "Recovery Code:" msgstr "رمز الاسترداد:" @@ -1789,7 +1836,9 @@ msgid "Register" msgstr "تسجيل" #: src/views/certificate/ACMEUser.vue:56 -msgid "Register a user or use this account to issue a certificate through an HTTP proxy." +msgid "" +"Register a user or use this account to issue a certificate through an HTTP " +"proxy." msgstr "تسجيل مستخدم أو استخدام هذا الحساب لإصدار شهادة عبر وكيل HTTP." #: src/views/certificate/ACMEUser.vue:105 @@ -1816,11 +1865,11 @@ msgstr "تسجيل المستخدم" msgid "Registration Status" msgstr "حالة التسجيل" -#: src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:228 msgid "Reinstall" msgstr "إعادة التثبيت" -#: src/views/system/Upgrade.vue:250 +#: src/views/system/Upgrade.vue:251 msgid "Release Note" msgstr "ملاحظة الإصدار" @@ -1854,22 +1903,24 @@ msgstr "تمت إزالة الموقع %{site} من %{node} بنجاح" msgid "Remove successfully" msgstr "إزالة بنجاح" -#: src/components/Notification/Notification.vue:52 +#: src/components/Notification/Notification.vue:100 msgid "Removed successfully" msgstr "تمت الإزالة بنجاح" -#: src/views/config/components/Rename.vue:55 -#: src/views/config/ConfigList.vue:167 -#: src/views/site/ngx_conf/NgxUpstream.vue:123 +#: src/views/config/components/ConfigName.vue:50 +#: src/views/config/components/Rename.vue:56 +#: src/views/config/ConfigList.vue:166 +#: src/views/site/ngx_conf/NgxUpstream.vue:125 #: src/views/site/site_edit/components/ConfigName.vue:46 msgid "Rename" msgstr "إعادة تسمية" #: src/components/Notification/config.ts:30 -msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}" +msgid "" +"Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}" msgstr "" -"فشل إعادة تسمية %{orig_path} إلى %{new_path} على %{env_name}، الاستجابة: " -"%{resp}" +"فشل إعادة تسمية %{orig_path} إلى %{new_path} على %{env_name}، الاستجابة: %" +"{resp}" #: src/components/Notification/config.ts:20 msgid "Rename %{orig_path} to %{new_path} on %{env_name} successfully" @@ -1894,23 +1945,24 @@ msgstr "تم إعادة تسمية الموقع البعيد بنجاح" #: src/components/Notification/config.ts:95 msgid "Rename Site %{site} to %{new_site} on %{node} error, response: %{resp}" msgstr "" -"خطأ في إعادة تسمية الموقع %{site} إلى %{new_site} على %{node}، الاستجابة: " -"%{resp}" +"خطأ في إعادة تسمية الموقع %{site} إلى %{new_site} على %{node}، الاستجابة: %" +"{resp}" #: src/components/Notification/config.ts:87 msgid "Rename Site %{site} to %{new_site} on %{node} successfully" msgstr "إعادة تسمية الموقع %{site} إلى %{new_site} على %{node} بنجاح" -#: src/views/config/components/Rename.vue:41 +#: src/views/config/components/Rename.vue:42 msgid "Rename successfully" msgstr "إعادة التسمية بنجاح" +#: src/views/config/components/ConfigName.vue:30 #: src/views/site/site_edit/components/ConfigName.vue:27 msgid "Renamed successfully" msgstr "تمت إعادة التسمية بنجاح" -#: src/views/certificate/RenewCert.vue:43 -#: src/views/certificate/RenewCert.vue:47 +#: src/views/certificate/RenewCert.vue:45 +#: src/views/certificate/RenewCert.vue:49 msgid "Renew Certificate" msgstr "تجديد الشهادة" @@ -1922,7 +1974,7 @@ msgstr "خطأ في تجديد الشهادة" msgid "Renew Certificate Success" msgstr "تجديد الشهادة بنجاح" -#: src/views/certificate/RenewCert.vue:25 +#: src/views/certificate/RenewCert.vue:27 #: src/views/certificate/WildcardCertificate.vue:48 msgid "Renew successfully" msgstr "تم التجديد بنجاح" @@ -1931,11 +1983,11 @@ msgstr "تم التجديد بنجاح" msgid "Requested with wrong parameters" msgstr "تم الطلب باستخدام عوامل خاطئة" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:468 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:448 msgid "Reset" msgstr "إعادة تعيين" -#: src/views/preference/components/TOTP.vue:133 +#: src/views/preference/components/TOTP.vue:132 msgid "Reset 2FA" msgstr "إعادة تعيين التحقق بخطوتين" @@ -1969,13 +2021,15 @@ msgstr "يعمل" #: src/components/ChatGPT/ChatGPT.vue:259 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:68 -#: src/views/certificate/CertificateEditor.vue:256 -#: src/views/config/ConfigEditor.vue:222 +#: src/components/StdDesign/StdDetail/StdDetail.vue:93 +#: src/views/certificate/CertificateEditor.vue:263 +#: src/views/config/components/ConfigName.vue:58 +#: src/views/config/ConfigEditor.vue:224 #: src/views/preference/components/Passkey.vue:136 -#: src/views/preference/Preference.vue:187 +#: src/views/preference/Preference.vue:189 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:120 #: src/views/site/site_edit/components/ConfigName.vue:54 -#: src/views/site/site_edit/SiteEdit.vue:256 +#: src/views/site/site_edit/SiteEdit.vue:271 #: src/views/stream/StreamEdit.vue:252 msgid "Save" msgstr "حفظ" @@ -1984,7 +2038,7 @@ msgstr "حفظ" msgid "Save Directive" msgstr "حفظ التوجيه" -#: src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:173 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:41 #: src/views/site/SiteAdd.vue:46 msgid "Save error %{msg}" @@ -2007,21 +2061,20 @@ msgid "Save Site %{site} to %{node} successfully" msgstr "تم حفظ الموقع %{site} إلى %{node} بنجاح" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117 -#: src/views/certificate/CertificateEditor.vue:46 -#: src/views/preference/Preference.vue:110 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:97 +#: src/views/certificate/CertificateEditor.vue:49 +#: src/views/preference/Preference.vue:112 msgid "Save successfully" msgstr "تم الحفظ بنجاح" -#: src/views/config/ConfigEditor.vue:167 +#: src/views/config/ConfigEditor.vue:169 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 -#: src/views/site/site_edit/SiteEdit.vue:140 -#: src/views/site/SiteAdd.vue:37 +#: src/views/site/site_edit/SiteEdit.vue:152 src/views/site/SiteAdd.vue:37 #: src/views/stream/StreamEdit.vue:138 msgid "Saved successfully" msgstr "تم الحفظ بنجاح" -#: src/views/preference/components/TOTP.vue:94 +#: src/views/preference/components/TOTP.vue:93 msgid "Scan the QR code with your mobile phone to add the account to the app." msgstr "امسح رمز الاستجابة السريعة بهاتفك المحمول لإضافة الحساب إلى التطبيق." @@ -2029,52 +2082,49 @@ msgstr "امسح رمز الاستجابة السريعة بهاتفك المح msgid "SDK" msgstr "حزمة تطوير البرمجيات SDK" -#: src/views/preference/components/TOTP.vue:150 +#: src/views/preference/components/TOTP.vue:149 msgid "Secret has been copied" msgstr "تم نسخ السر" -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:184 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 msgid "Selector" msgstr "المحدد" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:337 +#: src/views/dashboard/ServerAnalytic.vue:348 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Send" msgstr "إرسال" #: src/components/NginxControl/NginxControl.vue:32 #: src/components/NginxControl/NginxControl.vue:48 -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:44 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:124 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:53 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:207 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:249 -#: src/views/config/components/Mkdir.vue:36 -#: src/views/config/components/Rename.vue:44 -#: src/views/config/ConfigEditor.vue:108 -#: src/views/environment/BatchUpgrader.vue:58 -#: src/views/environment/Environment.vue:15 -#: src/views/other/Install.vue:66 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:70 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:194 +#: src/views/config/components/Mkdir.vue:38 +#: src/views/config/components/Rename.vue:45 +#: src/views/config/ConfigEditor.vue:111 +#: src/views/environment/BatchUpgrader.vue:59 +#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:70 #: src/views/preference/AuthSettings.vue:49 #: src/views/preference/components/Passkey.vue:26 #: src/views/preference/components/Passkey.vue:43 #: src/views/preference/components/Passkey.vue:56 -#: src/views/preference/components/TOTP.vue:45 -#: src/views/preference/components/TOTP.vue:58 -#: src/views/preference/Preference.vue:114 -#: src/views/site/site_list/SiteList.vue:39 -#: src/views/site/site_list/SiteList.vue:71 -#: src/views/stream/StreamList.vue:113 -#: src/views/stream/StreamList.vue:81 -#: src/views/system/Upgrade.vue:41 +#: src/views/preference/components/TOTP.vue:44 +#: src/views/preference/components/TOTP.vue:57 +#: src/views/preference/Preference.vue:116 +#: src/views/site/site_list/SiteList.vue:40 +#: src/views/site/site_list/SiteList.vue:72 src/views/stream/StreamList.vue:113 +#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:42 msgid "Server error" msgstr "خطأ في الخادم" -#: src/views/dashboard/ServerAnalytic.vue:168 +#: src/views/dashboard/ServerAnalytic.vue:179 msgid "Server Info" msgstr "معلومات الخادم" -#: src/views/site/cert/components/ObtainCert.vue:102 +#: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "اسم_الخادم غير موجود في التوجيهات" @@ -2083,7 +2133,9 @@ msgid "server_name parameter is required" msgstr "عامل server_name مطلوب" #: src/views/preference/CertSettings.vue:33 -msgid "Set the recursive nameservers to override the systems nameservers for the step of DNS challenge." +msgid "" +"Set the recursive nameservers to override the systems nameservers for the " +"step of DNS challenge." msgstr "" "قم بتعيين خوادم الأسماء التكرارية لتجاوز خوادم الأسماء الخاصة بالنظام لخطوة " "تحدي DNS." @@ -2100,11 +2152,11 @@ msgstr "تعيين متغيرات البيئة" msgid "Setting HTTP01 challenge provider" msgstr "تعيين موفر تحدي HTTP01" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "عرض" -#: src/views/other/Login.vue:263 +#: src/views/other/Login.vue:264 msgid "Sign in with a passkey" msgstr "تسجيل الدخول باستخدام مفتاح المرور" @@ -2112,8 +2164,7 @@ msgstr "تسجيل الدخول باستخدام مفتاح المرور" msgid "Single Directive" msgstr "توجيه واحد" -#: src/routes/index.ts:71 -#: src/views/site/site_category/SiteCategory.vue:10 +#: src/routes/index.ts:71 src/views/site/site_category/SiteCategory.vue:10 msgid "Site Categories" msgstr "فئات الموقع" @@ -2125,38 +2176,36 @@ msgstr "سجلات الموقع" msgid "Sites List" msgstr "قائمة المواقع" -#: src/views/certificate/CertificateEditor.vue:205 +#: src/views/certificate/CertificateEditor.vue:212 msgid "SSL Certificate Content" msgstr "محتوى شهادة SSL" -#: src/views/certificate/CertificateEditor.vue:218 +#: src/views/certificate/CertificateEditor.vue:225 msgid "SSL Certificate Key Content" msgstr "محتوى مفتاح شهادة SSL" -#: src/views/certificate/CertificateEditor.vue:184 +#: src/views/certificate/CertificateEditor.vue:191 msgid "SSL Certificate Key Path" msgstr "مسار مفتاح شهادة SSL" -#: src/views/certificate/CertificateEditor.vue:169 +#: src/views/certificate/CertificateEditor.vue:176 msgid "SSL Certificate Path" msgstr "مسار شهادة SSL" -#: src/views/other/Login.vue:221 +#: src/views/other/Login.vue:222 msgid "SSO Login" msgstr "تسجيل الدخول عبر SSO" -#: src/views/environment/BatchUpgrader.vue:166 -#: src/views/environment/BatchUpgrader.vue:216 -#: src/views/system/Upgrade.vue:192 -#: src/views/system/Upgrade.vue:240 +#: src/views/environment/BatchUpgrader.vue:167 +#: src/views/environment/BatchUpgrader.vue:217 src/views/system/Upgrade.vue:193 +#: src/views/system/Upgrade.vue:241 msgid "Stable" msgstr "مستقر" #: src/views/certificate/ACMEUser.vue:65 #: src/views/certificate/CertificateList/certColumns.tsx:68 #: src/views/environment/envColumns.tsx:75 -#: src/views/site/site_list/columns.tsx:38 -#: src/views/stream/StreamList.vue:22 +#: src/views/site/site_list/columns.tsx:40 src/views/stream/StreamList.vue:22 msgid "Status" msgstr "الحالة" @@ -2164,18 +2213,17 @@ msgstr "الحالة" msgid "Stopped" msgstr "متوقف" -#: src/views/dashboard/ServerAnalytic.vue:243 -#: src/views/dashboard/ServerAnalytic.vue:244 +#: src/views/dashboard/ServerAnalytic.vue:254 +#: src/views/dashboard/ServerAnalytic.vue:255 msgid "Storage" msgstr "تخزين" -#: src/constants/index.ts:19 -#: src/views/notification/notificationColumns.tsx:36 +#: src/constants/index.ts:19 src/views/notification/notificationColumns.tsx:36 msgid "Success" msgstr "نجاح" -#: src/views/dashboard/ServerAnalytic.vue:229 -#: src/views/dashboard/ServerAnalytic.vue:230 +#: src/views/dashboard/ServerAnalytic.vue:240 +#: src/views/dashboard/ServerAnalytic.vue:241 msgid "Swap" msgstr "تبديل" @@ -2187,7 +2235,7 @@ msgstr "التبديل إلى الوضع الداكن" msgid "Switch to light theme" msgstr "التبديل إلى الوضع الفاتح" -#: src/views/config/components/Rename.vue:80 +#: src/views/config/components/Rename.vue:81 msgid "Sync" msgstr "مزامنة" @@ -2196,7 +2244,9 @@ msgid "Sync Certificate" msgstr "مزامنة الشهادة" #: src/components/Notification/cert.ts:11 -msgid "Sync Certificate %{cert_name} to %{env_name} failed, please upgrade the remote Nginx UI to the latest version" +msgid "" +"Sync Certificate %{cert_name} to %{env_name} failed, please upgrade the " +"remote Nginx UI to the latest version" msgstr "" "فشل مزامنة الشهادة %{cert_name} إلى %{env_name}، يرجى ترقية واجهة Nginx " "البعيدة إلى أحدث إصدار" @@ -2242,7 +2292,7 @@ msgstr "مزامنة العقد" msgid "Sync strategy" msgstr "استراتيجية المزامنة" -#: src/views/certificate/CertificateEditor.vue:198 +#: src/views/certificate/CertificateEditor.vue:205 msgid "Sync to" msgstr "مزامنة إلى" @@ -2262,8 +2312,7 @@ msgstr "مستخدم النظام الأولي" msgid "Target" msgstr "الهدف" -#: src/routes/index.ts:194 -#: src/views/terminal/Terminal.vue:113 +#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:114 msgid "Terminal" msgstr "محطة" @@ -2271,59 +2320,92 @@ msgstr "محطة" msgid "Terminal Start Command" msgstr "أمر البدء في المحطة الطرفية" -#: src/views/site/cert/components/AutoCertStepOne.vue:50 -msgid "The certificate for the domain will be checked 30 minutes, and will be renewed if it has been more than 1 week or the period you set in settings since it was last issued." +#: src/views/site/cert/components/AutoCertStepOne.vue:49 +msgid "" +"The certificate for the domain will be checked 30 minutes, and will be " +"renewed if it has been more than 1 week or the period you set in settings " +"since it was last issued." msgstr "" "سيتم فحص شهادة النطاق لمدة 30 دقيقة، وسيتم تجديدها إذا مر أكثر من أسبوع أو " "الفترة التي حددتها في الإعدادات منذ إصدارها الأخير." -#: src/views/other/Install.vue:50 +#: src/views/other/Install.vue:54 msgid "The filename cannot contain the following characters: %{c}" msgstr "لا يمكن أن يحتوي اسم الملف على الأحرف التالية: %{c}" -#: src/views/certificate/CertificateEditor.vue:208 -msgid "The input is not a SSL Certificate" -msgstr "الإدخال ليس شهادة SSL" - -#: src/views/certificate/CertificateEditor.vue:221 -msgid "The input is not a SSL Certificate Key" -msgstr "المدخل ليس مفتاح شهادة SSL" - -#: src/views/preference/OpenAISettings.vue:35 -msgid "The model name should only contain letters, unicode, numbers, hyphens, dashes, and dots." -msgstr "يجب أن يحتوي اسم النموذج على حروف وأرقام ويونيكود وشرطات ونقاط فقط." - -#: src/views/preference/BasicSettings.vue:45 -msgid "The node name should only contain letters, unicode, numbers, hyphens, dashes, and dots." +#: src/views/preference/BasicSettings.vue:54 +#, fuzzy +msgid "" +"The ICP Number should only contain letters, unicode, numbers, hyphens, " +"dashes, colons, and dots." msgstr "" "يجب أن يحتوي اسم العقدة على حروف وأحرف يونيكود وأرقام وشرطات وعلامات وصل " "ونقاط فقط." -#: src/views/certificate/CertificateEditor.vue:173 +#: src/views/certificate/CertificateEditor.vue:215 +msgid "The input is not a SSL Certificate" +msgstr "الإدخال ليس شهادة SSL" + +#: src/views/certificate/CertificateEditor.vue:228 +msgid "The input is not a SSL Certificate Key" +msgstr "المدخل ليس مفتاح شهادة SSL" + +#: src/views/preference/OpenAISettings.vue:35 +#, fuzzy +msgid "" +"The model name should only contain letters, unicode, numbers, hyphens, " +"dashes, colons, and dots." +msgstr "يجب أن يحتوي اسم النموذج على حروف وأرقام ويونيكود وشرطات ونقاط فقط." + +#: src/views/preference/BasicSettings.vue:33 +#, fuzzy +msgid "" +"The node name should only contain letters, unicode, numbers, hyphens, " +"dashes, colons, and dots." +msgstr "" +"يجب أن يحتوي اسم العقدة على حروف وأحرف يونيكود وأرقام وشرطات وعلامات وصل " +"ونقاط فقط." + +#: src/views/certificate/CertificateEditor.vue:180 msgid "The path exists, but the file is not a certificate" msgstr "المسار موجود، لكن الملف ليس شهادة" -#: src/views/certificate/CertificateEditor.vue:188 +#: src/views/certificate/CertificateEditor.vue:195 msgid "The path exists, but the file is not a private key" msgstr "المسار موجود، لكن الملف ليس مفتاحًا خاصًا" -#: src/views/preference/components/TOTP.vue:112 -msgid "The recovery code is only displayed once, please save it in a safe place." +#: src/views/preference/BasicSettings.vue:66 +#, fuzzy +msgid "" +"The Public Security Number should only contain letters, unicode, numbers, " +"hyphens, dashes, colons, and dots." +msgstr "" +"يجب أن يحتوي اسم العقدة على حروف وأحرف يونيكود وأرقام وشرطات وعلامات وصل " +"ونقاط فقط." + +#: src/views/preference/components/TOTP.vue:111 +msgid "" +"The recovery code is only displayed once, please save it in a safe place." msgstr "رمز الاسترداد يُعرض مرة واحدة فقط، يرجى حفظه في مكان آمن." #: src/views/dashboard/Environments.vue:148 -msgid "The remote Nginx UI version is not compatible with the local Nginx UI version. To avoid potential errors, please upgrade the remote Nginx UI to match the local version." +msgid "" +"The remote Nginx UI version is not compatible with the local Nginx UI " +"version. To avoid potential errors, please upgrade the remote Nginx UI to " +"match the local version." msgstr "" "إصدار واجهة Nginx البعيد غير متوافق مع إصدار واجهة Nginx المحلي. لتجنب " "الأخطاء المحتملة، يرجى ترقية واجهة Nginx البعيدة لتتطابق مع الإصدار المحلي." -#: src/views/site/cert/components/AutoCertStepOne.vue:45 -msgid "The server_name in the current configuration must be the domain name you need to get the certificate, supportmultiple domains." +#: src/views/site/cert/components/AutoCertStepOne.vue:44 +msgid "" +"The server_name in the current configuration must be the domain name you " +"need to get the certificate, supportmultiple domains." msgstr "" "اسم الخادم في التكوين الحالي يجب أن يكون اسم النطاق الذي تحتاج للحصول على " "الشهادة، ويدعم عدة نطاقات." -#: src/views/preference/BasicSettings.vue:33 +#: src/views/preference/BasicSettings.vue:42 #: src/views/preference/CertSettings.vue:19 msgid "The url is invalid" msgstr "عنوان URL غير صالح" @@ -2337,17 +2419,17 @@ msgstr "عنوان URL غير صالح." msgid "The username or password is incorrect" msgstr "اسم المستخدم أو كلمة المرور غير صحيحة" -#: src/views/certificate/CertificateEditor.vue:96 +#: src/views/certificate/CertificateEditor.vue:103 msgid "This Auto Cert item is invalid, please remove it." msgstr "هذا العنصر في الشهادة التلقائية غير صالح، يرجى إزالته." -#: src/views/certificate/CertificateEditor.vue:86 +#: src/views/certificate/CertificateEditor.vue:93 msgid "This certificate is managed by Nginx UI" msgstr "يتم إدارة هذه الشهادة بواسطة Nginx UI" -#: src/views/certificate/CertificateEditor.vue:157 -#: src/views/certificate/CertificateEditor.vue:171 -#: src/views/certificate/CertificateEditor.vue:186 +#: src/views/certificate/CertificateEditor.vue:164 +#: src/views/certificate/CertificateEditor.vue:178 +#: src/views/certificate/CertificateEditor.vue:193 msgid "This field is required" msgstr "هذا الحقل مطلوب" @@ -2365,15 +2447,17 @@ msgid "This field should not be empty" msgstr "يجب ألا يكون هذا الحقل فارغًا" #: src/constants/form_errors.ts:6 -msgid "This field should only contain letters, unicode characters, numbers, and -_." +msgid "" +"This field should only contain letters, unicode characters, numbers, and -_." msgstr "يجب أن يحتوي هذا الحقل على حروف وأحرف يونيكود وأرقام و-_. فقط." #: src/constants/form_errors.ts:4 msgid "This value is already taken" msgstr "هذه القيمة مستخدمة مسبقا" -#: src/views/environment/BatchUpgrader.vue:184 -msgid "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}." +#: src/views/environment/BatchUpgrader.vue:185 +msgid "" +"This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}." msgstr "سيتم ترقية أو إعادة تثبيت Nginx UI على %{nodeNames} إلى %{version}." #: src/views/preference/AuthSettings.vue:98 @@ -2390,27 +2474,40 @@ msgstr "نصائح" msgid "Title" msgstr "عنوان" -#: src/views/preference/components/TOTP.vue:93 -msgid "To enable it, you need to install the Google or Microsoft Authenticator app on your mobile phone." +#: src/views/preference/components/TOTP.vue:92 +msgid "" +"To enable it, you need to install the Google or Microsoft Authenticator app " +"on your mobile phone." msgstr "" "لتفعيله، تحتاج إلى تثبيت تطبيق Google Authenticator أو Microsoft " "Authenticator على هاتفك المحمول." #: src/views/preference/components/AddPasskey.vue:95 -msgid "To ensure security, Webauthn configuration cannot be added through the UI. Please manually configure the following in the app.ini configuration file and restart Nginx UI." +msgid "" +"To ensure security, Webauthn configuration cannot be added through the UI. " +"Please manually configure the following in the app.ini configuration file " +"and restart Nginx UI." msgstr "" "لضمان الأمان، لا يمكن إضافة تكوين Webauthn من خلال واجهة المستخدم. يرجى " "تكوين ما يلي يدويًا في ملف التكوين app.ini وإعادة تشغيل Nginx UI." #: src/views/site/ngx_conf/NgxConfigEditor.vue:45 -msgid "To make sure the certification auto-renewal can work normally, we need to add a location which can proxy the request from authority to backend, and we need to save this file and reload the Nginx. Are you sure you want to continue?" +msgid "" +"To make sure the certification auto-renewal can work normally, we need to " +"add a location which can proxy the request from authority to backend, and we " +"need to save this file and reload the Nginx. Are you sure you want to " +"continue?" msgstr "" "لضمان عمل تجديد الشهادة التلقائي بشكل طبيعي، نحتاج إلى إضافة موقع يمكنه " "توجيه الطلب من السلطة إلى الخلفية، ونحتاج إلى حفظ هذا الملف وإعادة تحميل " "Nginx. هل أنت متأكد أنك تريد المتابعة؟" #: src/views/preference/OpenAISettings.vue:48 -msgid "To use a local large model, deploy it with vllm or imdeploy. They provide an OpenAI-compatible API endpoint, so just set the baseUrl to your local API." +#, fuzzy +msgid "" +"To use a local large model, deploy it with ollama, vllm or imdeploy. They " +"provide an OpenAI-compatible API endpoint, so just set the baseUrl to your " +"local API." msgstr "" "لاستخدام نموذج كبير محلي، قم بنشره باستخدام vllm أو imdeploy. فهي توفر نقطة " "نهاية API متوافقة مع OpenAI، لذا قم فقط بتعيين baseUrl إلىAPI المحلية الخاصة " @@ -2420,26 +2517,38 @@ msgstr "" msgid "Token is not valid" msgstr "الرمز غير صالح" -#: src/views/other/Login.vue:80 +#: src/views/other/Login.vue:81 msgid "Too many login failed attempts, please try again later" msgstr "" "عدد كبير جدًا من محاولات تسجيل الدخول الفاشلة، يرجى المحاولة مرة أخرى لاحقًا" -#: src/views/preference/components/TOTP.vue:91 +#: src/components/StdDesign/StdDataDisplay/StdPagination.vue:40 +msgid "Total %{total} item" +msgid_plural "Total %{total} items" +msgstr[0] "" +msgstr[1] "" +msgstr[2] "" +msgstr[3] "" +msgstr[4] "" +msgstr[5] "" + +#: src/views/preference/components/TOTP.vue:90 msgid "TOTP" msgstr "كلمة مرور لمرة واحدة تعتمد على الوقت" -#: src/views/preference/components/TOTP.vue:92 -msgid "TOTP is a two-factor authentication method that uses a time-based one-time password algorithm." +#: src/views/preference/components/TOTP.vue:91 +msgid "" +"TOTP is a two-factor authentication method that uses a time-based one-time " +"password algorithm." msgstr "" "TOTP هو طريقة مصادقة ثنائية تستخدم خوارزمية كلمة مرور لمرة واحدة تعتمد على " "الوقت." -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:202 msgid "Trash" msgstr "مهملات" -#: src/components/TwoFA/use2FAModal.ts:66 +#: src/components/TwoFA/use2FAModal.ts:67 msgid "Two-factor authentication required" msgstr "يتطلب المصادقة الثنائية" @@ -2455,30 +2564,26 @@ msgstr "تم التحديث بنجاح" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.ts:31 -#: src/views/config/ConfigEditor.vue:275 +#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:278 #: src/views/environment/envColumns.tsx:119 #: src/views/site/site_category/columns.ts:20 #: src/views/site/site_edit/RightSettings.vue:100 -#: src/views/site/site_list/columns.tsx:64 +#: src/views/site/site_list/columns.tsx:67 #: src/views/stream/components/RightSettings.vue:85 -#: src/views/stream/StreamList.vue:41 -#: src/views/user/userColumns.tsx:54 +#: src/views/stream/StreamList.vue:41 src/views/user/userColumns.tsx:54 msgid "Updated at" msgstr "محدث في" -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:123 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:121 msgid "Updated successfully" msgstr "تم التحديث بنجاح" -#: src/routes/index.ts:290 -#: src/views/environment/Environment.vue:55 -#: src/views/system/Upgrade.vue:144 -#: src/views/system/Upgrade.vue:227 +#: src/routes/index.ts:290 src/views/environment/Environment.vue:55 +#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228 msgid "Upgrade" msgstr "ترقية" -#: src/views/environment/BatchUpgrader.vue:139 +#: src/views/environment/BatchUpgrader.vue:140 msgid "Upgraded Nginx UI on %{node} successfully 🎉" msgstr "تمت ترقية Nginx UI على %{node} بنجاح 🎉" @@ -2486,16 +2591,15 @@ msgstr "تمت ترقية Nginx UI على %{node} بنجاح 🎉" msgid "Upgraded successfully" msgstr "تم الترقية بنجاح" -#: src/views/environment/BatchUpgrader.vue:90 -#: src/views/system/Upgrade.vue:78 +#: src/views/environment/BatchUpgrader.vue:91 src/views/system/Upgrade.vue:79 msgid "Upgrading Nginx UI, please wait..." msgstr "جارٍ ترقية Nginx UI، يرجى الانتظار..." -#: src/views/site/ngx_conf/NgxUpstream.vue:170 +#: src/views/site/ngx_conf/NgxUpstream.vue:172 msgid "Upstream Name" msgstr "اسم المنبع" -#: src/views/dashboard/ServerAnalytic.vue:172 +#: src/views/dashboard/ServerAnalytic.vue:183 msgid "Uptime:" msgstr "مدة التشغيل:" @@ -2515,16 +2619,15 @@ msgstr "استخدم رمز الاسترداد" msgid "User" msgstr "مستخدم" -#: src/views/other/Login.vue:83 +#: src/views/other/Login.vue:84 msgid "User is banned" msgstr "المستخدم محظور" -#: src/views/other/Login.vue:196 -#: src/views/user/userColumns.tsx:9 +#: src/views/other/Login.vue:197 src/views/user/userColumns.tsx:9 msgid "Username" msgstr "اسم المستخدم" -#: src/views/other/Install.vue:96 +#: src/views/other/Install.vue:100 msgid "Username (*)" msgstr "اسم المستخدم (*)" @@ -2538,25 +2641,24 @@ msgstr "صالح" msgid "Version" msgstr "إصدار" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:506 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:494 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:103 msgid "View" msgstr "عرض" -#: src/components/Notification/Notification.vue:143 +#: src/components/Notification/Notification.vue:192 msgid "View all notifications" msgstr "عرض جميع التنبيهات" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 msgid "View Details" msgstr "عرض التفاصيل" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 msgid "View Mode" msgstr "وضع العرض" -#: src/constants/index.ts:17 -#: src/views/config/InspectConfig.vue:33 +#: src/constants/index.ts:17 src/views/config/InspectConfig.vue:33 #: src/views/notification/notificationColumns.tsx:22 #: src/views/preference/components/AddPasskey.vue:88 #: src/views/site/SiteAdd.vue:115 @@ -2564,11 +2666,15 @@ msgid "Warning" msgstr "تحذير" #: src/views/certificate/DNSCredential.vue:56 -msgid "We will add one or more TXT records to the DNS records of your domain for ownership verification." +msgid "" +"We will add one or more TXT records to the DNS records of your domain for " +"ownership verification." msgstr "سنضيف سجل أو أكثر من سجلات TXT إلى سجلات DNS لنطاقك للتحقق من الملكية." -#: src/views/site/cert/components/ObtainCert.vue:134 -msgid "We will remove the HTTPChallenge configuration from this file and reload the Nginx. Are you sure you want to continue?" +#: src/views/site/cert/components/ObtainCert.vue:137 +msgid "" +"We will remove the HTTPChallenge configuration from this file and reload the " +"Nginx. Are you sure you want to continue?" msgstr "" "سنقوم بإزالة تكوين HTTPChallenge من هذا الملف وإعادة تحميل Nginx. هل أنت " "متأكد أنك تريد المتابعة؟" @@ -2578,20 +2684,25 @@ msgid "Webauthn" msgstr "ويب أوثن" #: src/views/certificate/ACMEUser.vue:83 -msgid "When Enabled, Nginx UI will automatically re-register users upon startup. Generally, do not enable this unless you are in a dev environment and using Pebble as CA." +msgid "" +"When Enabled, Nginx UI will automatically re-register users upon startup. " +"Generally, do not enable this unless you are in a dev environment and using " +"Pebble as CA." msgstr "" "إذا كان مفعل، سيقوم Nginx UI بإعادة تسجيل المستخدمين تلقائيًا عند بدء " "التشغيل. بشكل عام، لا تقم بتمكين هذا إلا إذا كنت في بيئة تطوير وتستخدم " "Pebble كسلطة شهادات." #: src/views/site/site_edit/RightSettings.vue:116 -msgid "When you enable/disable, delete, or save this site, the nodes set in the site category and the nodes selected below will be synchronized." +msgid "" +"When you enable/disable, delete, or save this site, the nodes set in the " +"site category and the nodes selected below will be synchronized." msgstr "" "عند تفعيل/تعطيل، حذف، أو حفظ هذا الموقع، سيتم مزامنة العقد المحددة في فئة " "الموقع والعقد المحددة أدناه." -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:366 +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:377 msgid "Writes" msgstr "يكتب" @@ -2610,16 +2721,18 @@ msgstr "كتابة الشهادة إلى القرص" msgid "Yes" msgstr "نعم" -#: src/views/system/Upgrade.vue:203 +#: src/views/system/Upgrade.vue:204 msgid "You are using the latest version" msgstr "أنت تستخدم أحدث إصدار" -#: src/views/system/Upgrade.vue:165 +#: src/views/system/Upgrade.vue:166 msgid "You can check Nginx UI upgrade at this page." msgstr "يمكنك التحقق من ترقية Nginx UI في هذه الصفحة." #: src/views/preference/components/AddPasskey.vue:93 -msgid "You have not configured the settings of Webauthn, so you cannot add a passkey." +msgid "" +"You have not configured the settings of Webauthn, so you cannot add a " +"passkey." msgstr "لم تقم بتكوين إعدادات Webauthn، لذا لا يمكنك إضافة مفتاح مرور." #: src/views/preference/components/Passkey.vue:81 diff --git a/app/src/language/en/app.po b/app/src/language/en/app.po index f1d8aa96..0be9c437 100644 --- a/app/src/language/en/app.po +++ b/app/src/language/en/app.po @@ -21,7 +21,7 @@ msgstr "" msgid "About" msgstr "About" -#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:76 +#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:75 msgid "Access Logs" msgstr "" @@ -39,17 +39,17 @@ msgstr "Username" #: src/views/notification/notificationColumns.tsx:62 #: src/views/preference/AuthSettings.vue:26 #: src/views/site/site_category/columns.ts:26 -#: src/views/site/site_list/columns.tsx:70 src/views/stream/StreamList.vue:47 +#: src/views/site/site_list/columns.tsx:74 src/views/stream/StreamList.vue:47 #: src/views/user/userColumns.tsx:60 msgid "Action" msgstr "Action" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:177 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:209 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:191 #: src/views/preference/CertSettings.vue:42 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:117 #: src/views/site/ngx_conf/NgxServer.vue:162 -#: src/views/site/ngx_conf/NgxUpstream.vue:152 +#: src/views/site/ngx_conf/NgxUpstream.vue:154 #: src/views/stream/StreamList.vue:121 msgid "Add" msgstr "" @@ -59,8 +59,8 @@ msgstr "" msgid "Add a passkey" msgstr "" -#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:143 -#: src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:146 +#: src/views/config/ConfigEditor.vue:206 #, fuzzy msgid "Add Configuration" msgstr "Edit Configuration" @@ -93,7 +93,7 @@ msgstr "Saved successfully" msgid "Additional" msgstr "Add Location" -#: src/views/site/site_edit/SiteEdit.vue:191 +#: src/views/site/site_edit/SiteEdit.vue:205 #: src/views/stream/StreamEdit.vue:189 msgid "Advance Mode" msgstr "Advance Mode" @@ -102,7 +102,8 @@ msgstr "Advance Mode" msgid "Afterwards, refresh this page and click add passkey again." msgstr "" -#: src/views/site/site_list/SiteList.vue:101 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:425 +#: src/views/site/site_list/SiteList.vue:102 msgid "All" msgstr "" @@ -122,7 +123,20 @@ msgstr "" msgid "API Token" msgstr "" -#: src/views/system/Upgrade.vue:177 +#: src/views/preference/OpenAISettings.vue:78 +msgid "API Type" +msgstr "" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:105 +msgid "Apply" +msgstr "" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:67 +#, fuzzy +msgid "Apply bulk action successfully" +msgstr "Saved successfully" + +#: src/views/system/Upgrade.vue:178 msgid "Arch" msgstr "" @@ -136,7 +150,12 @@ msgstr "Are you sure you want to remove this directive?" msgid "Are you sure to delete this passkey immediately?" msgstr "Are you sure you want to remove this directive?" -#: src/components/Notification/Notification.vue:86 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:98 +#, fuzzy +msgid "Are you sure you want to apply to all selected?" +msgstr "Are you sure you want to remove this directive?" + +#: src/components/Notification/Notification.vue:135 #: src/views/notification/Notification.vue:40 #, fuzzy msgid "Are you sure you want to clear all notifications?" @@ -147,23 +166,23 @@ msgstr "Are you sure you want to remove this directive?" msgid "Are you sure you want to clear the record of chat?" msgstr "Are you sure you want to remove this directive?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:564 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:552 #, fuzzy msgid "Are you sure you want to delete this item permanently?" msgstr "Are you sure you want to remove this directive?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:523 #, fuzzy msgid "Are you sure you want to delete this item?" msgstr "Are you sure you want to remove this directive?" -#: src/views/site/site_list/SiteList.vue:149 +#: src/views/site/site_list/SiteList.vue:150 #: src/views/stream/StreamList.vue:166 #, fuzzy msgid "Are you sure you want to delete?" msgstr "Are you sure you want to remove this directive?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:549 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:537 #, fuzzy msgid "Are you sure you want to recover this item?" msgstr "Are you sure you want to remove this directive?" @@ -194,7 +213,7 @@ msgstr "" msgid "Attempts" msgstr "" -#: src/views/preference/Preference.vue:152 +#: src/views/preference/Preference.vue:154 msgid "Auth" msgstr "" @@ -211,22 +230,22 @@ msgstr "" msgid "Author" msgstr "" -#: src/views/nginx_log/NginxLog.vue:151 +#: src/views/nginx_log/NginxLog.vue:152 msgid "Auto Refresh" msgstr "" -#: src/views/site/cert/components/ObtainCert.vue:75 +#: src/views/site/cert/components/ObtainCert.vue:80 msgid "Auto-renewal disabled for %{name}" msgstr "Auto-renewal disabled for %{name}" -#: src/views/site/cert/components/ObtainCert.vue:68 +#: src/views/site/cert/components/ObtainCert.vue:73 msgid "Auto-renewal enabled for %{name}" msgstr "Auto-renewal enabled for %{name}" -#: src/views/certificate/CertificateEditor.vue:249 -#: src/views/config/ConfigEditor.vue:213 src/views/config/ConfigList.vue:107 -#: src/views/config/ConfigList.vue:181 src/views/nginx_log/NginxLog.vue:172 -#: src/views/site/site_edit/SiteEdit.vue:249 +#: src/views/certificate/CertificateEditor.vue:256 +#: src/views/config/ConfigEditor.vue:215 src/views/config/ConfigList.vue:106 +#: src/views/config/ConfigList.vue:180 src/views/nginx_log/NginxLog.vue:173 +#: src/views/site/site_edit/SiteEdit.vue:264 #: src/views/stream/StreamEdit.vue:245 msgid "Back" msgstr "Back" @@ -236,7 +255,7 @@ msgstr "Back" msgid "Back Home" msgstr "Back" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:222 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211 msgid "Back to list" msgstr "" @@ -256,26 +275,31 @@ msgstr "" msgid "Base information" msgstr "Base information" -#: src/views/config/ConfigEditor.vue:241 -#: src/views/preference/Preference.vue:146 +#: src/views/config/ConfigEditor.vue:243 +#: src/views/preference/Preference.vue:148 #: src/views/site/site_edit/RightSettings.vue:79 #: src/views/stream/components/RightSettings.vue:74 #, fuzzy msgid "Basic" msgstr "Basic Mode" -#: src/views/site/site_edit/SiteEdit.vue:194 +#: src/views/site/site_edit/SiteEdit.vue:208 #: src/views/stream/StreamEdit.vue:192 msgid "Basic Mode" msgstr "Basic Mode" +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:85 +#, fuzzy +msgid "Batch Actions" +msgstr "Action" + #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:66 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:474 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:454 #, fuzzy msgid "Batch Modify" msgstr "Modify Config" -#: src/views/environment/BatchUpgrader.vue:154 +#: src/views/environment/BatchUpgrader.vue:155 msgid "Batch Upgrade" msgstr "" @@ -295,18 +319,19 @@ msgstr "" msgid "CADir" msgstr "" -#: src/views/preference/components/TOTP.vue:151 +#: src/views/preference/components/TOTP.vue:150 msgid "Can't scan? Use text key binding" msgstr "" #: src/components/ChatGPT/ChatGPT.vue:260 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:261 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:251 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:180 +#: src/components/StdDesign/StdDetail/StdDetail.vue:101 #: src/views/preference/components/Passkey.vue:147 -#: src/views/site/cert/components/ObtainCert.vue:137 +#: src/views/site/cert/components/ObtainCert.vue:140 #: src/views/site/ngx_conf/NgxConfigEditor.vue:51 #: src/views/site/ngx_conf/NgxServer.vue:80 -#: src/views/site/ngx_conf/NgxUpstream.vue:33 +#: src/views/site/ngx_conf/NgxUpstream.vue:34 #: src/views/site/site_edit/RightSettings.vue:55 #: src/views/stream/components/Deploy.vue:20 #: src/views/stream/components/RightSettings.vue:51 @@ -314,11 +339,11 @@ msgid "Cancel" msgstr "Cancel" #: src/views/site/site_edit/RightSettings.vue:91 -#: src/views/site/site_list/columns.tsx:22 +#: src/views/site/site_list/columns.tsx:23 msgid "Category" msgstr "" -#: src/views/preference/Preference.vue:158 +#: src/views/preference/Preference.vue:160 msgid "Cert" msgstr "" @@ -327,7 +352,7 @@ msgstr "" msgid "Certificate Renewal Interval" msgstr "Certificate is valid" -#: src/views/certificate/CertificateEditor.vue:122 +#: src/views/certificate/CertificateEditor.vue:129 #: src/views/site/cert/Cert.vue:32 #, fuzzy msgid "Certificate Status" @@ -346,7 +371,7 @@ msgstr "Certificate Status" msgid "Certificates List" msgstr "Certificate is valid" -#: src/views/site/cert/components/AutoCertStepOne.vue:67 +#: src/views/site/cert/components/AutoCertStepOne.vue:66 msgid "Challenge Method" msgstr "" @@ -363,16 +388,16 @@ msgid_plural "Changed Certificates" msgstr[0] "Certificate is valid" msgstr[1] "Certificate is valid" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 #, fuzzy msgid "Changed Path" msgstr "Certificate is valid" -#: src/views/environment/BatchUpgrader.vue:161 src/views/system/Upgrade.vue:189 +#: src/views/environment/BatchUpgrader.vue:162 src/views/system/Upgrade.vue:190 msgid "Channel" msgstr "" -#: src/views/system/Upgrade.vue:186 +#: src/views/system/Upgrade.vue:187 msgid "Check again" msgstr "" @@ -381,12 +406,12 @@ msgid "Cleaning environment variables" msgstr "" #: src/components/ChatGPT/ChatGPT.vue:283 -#: src/components/Notification/Notification.vue:91 +#: src/components/Notification/Notification.vue:140 #: src/views/notification/Notification.vue:45 msgid "Clear" msgstr "" -#: src/components/Notification/Notification.vue:42 +#: src/components/Notification/Notification.vue:90 #: src/views/notification/Notification.vue:13 #, fuzzy msgid "Cleared successfully" @@ -417,7 +442,7 @@ msgstr "" msgid "Configuration Name" msgstr "Configuration Name" -#: src/views/config/ConfigList.vue:99 +#: src/views/config/ConfigList.vue:98 msgid "Configurations" msgstr "Configurations" @@ -429,7 +454,7 @@ msgstr "Configure SSL" msgid "Connected" msgstr "" -#: src/views/terminal/Terminal.vue:119 +#: src/views/terminal/Terminal.vue:120 msgid "Connection lost, please refresh the page." msgstr "" @@ -439,27 +464,28 @@ msgstr "" msgid "Content" msgstr "Content" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 +#: src/components/StdDesign/StdDataDisplay/StdTableTransformer.tsx:150 msgid "Copied" msgstr "" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 msgid "Copy" msgstr "" -#: src/views/system/Upgrade.vue:147 +#: src/views/system/Upgrade.vue:148 msgid "Core Upgrade" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:294 +#: src/views/dashboard/ServerAnalytic.vue:305 msgid "CPU Status" msgstr "CPU Status" -#: src/views/dashboard/ServerAnalytic.vue:188 +#: src/views/dashboard/ServerAnalytic.vue:199 msgid "CPU:" msgstr "CPU:" -#: src/views/site/ngx_conf/NgxUpstream.vue:163 +#: src/views/site/ngx_conf/NgxUpstream.vue:165 #, fuzzy msgid "Create" msgstr "Created at" @@ -468,12 +494,12 @@ msgstr "Created at" msgid "Create Another" msgstr "Create Another" -#: src/views/config/ConfigList.vue:117 +#: src/views/config/ConfigList.vue:116 #, fuzzy msgid "Create File" msgstr "Created at" -#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:124 +#: src/views/config/components/Mkdir.vue:49 src/views/config/ConfigList.vue:123 #, fuzzy msgid "Create Folder" msgstr "Create Another" @@ -484,7 +510,7 @@ msgstr "Create Another" msgid "Created at" msgstr "Created at" -#: src/views/config/components/Mkdir.vue:33 +#: src/views/config/components/Mkdir.vue:35 #, fuzzy msgid "Created successfully" msgstr "Disabled successfully" @@ -501,15 +527,15 @@ msgstr "" msgid "Credentials" msgstr "" -#: src/views/preference/components/TOTP.vue:99 +#: src/views/preference/components/TOTP.vue:98 msgid "Current account is enabled TOTP." msgstr "" -#: src/views/preference/components/TOTP.vue:96 +#: src/views/preference/components/TOTP.vue:95 msgid "Current account is not enabled TOTP." msgstr "" -#: src/views/system/Upgrade.vue:166 +#: src/views/system/Upgrade.vue:167 msgid "Current Version" msgstr "" @@ -518,18 +544,18 @@ msgstr "" msgid "Custom" msgstr "" -#: src/views/preference/BasicSettings.vue:46 +#: src/views/preference/BasicSettings.vue:34 msgid "" "Customize the name of local node to be displayed in the environment " "indicator." msgstr "" -#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:133 -#: src/views/config/ConfigEditor.vue:94 src/views/config/ConfigList.vue:65 +#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:136 +#: src/views/config/ConfigEditor.vue:97 src/views/config/ConfigList.vue:64 msgid "Dashboard" msgstr "Dashboard" -#: src/views/other/Install.vue:117 +#: src/views/other/Install.vue:121 msgid "Database (Optional, default: database)" msgstr "Database (Optional, default: database)" @@ -537,15 +563,17 @@ msgstr "Database (Optional, default: database)" msgid "Days" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:542 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:530 #: src/views/site/ngx_conf/NgxServer.vue:110 -#: src/views/site/ngx_conf/NgxUpstream.vue:126 -#: src/views/site/site_list/SiteList.vue:158 +#: src/views/site/ngx_conf/NgxUpstream.vue:128 +#: src/views/site/site_list/SiteList.vue:159 #: src/views/stream/StreamList.vue:175 msgid "Delete" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:571 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:35 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:559 msgid "Delete Permanently" msgstr "" @@ -559,7 +587,7 @@ msgstr "Certificate is valid" msgid "Delete Remote Site Success" msgstr "Certificate is valid" -#: src/views/site/site_list/SiteList.vue:68 +#: src/views/site/site_list/SiteList.vue:69 msgid "Delete site: %{site_name}" msgstr "" @@ -567,12 +595,12 @@ msgstr "" msgid "Delete stream: %{stream_name}" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:196 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:183 #, fuzzy msgid "Deleted successfully" msgstr "Disabled successfully" -#: src/views/config/ConfigEditor.vue:284 +#: src/views/config/ConfigEditor.vue:287 #: src/views/stream/components/Deploy.vue:100 #: src/views/stream/components/RightSettings.vue:92 msgid "Deploy" @@ -617,13 +645,13 @@ msgstr "Directives" msgid "Directory" msgstr "Directive" -#: src/views/site/site_list/SiteList.vue:127 +#: src/views/site/site_list/SiteList.vue:128 #: src/views/stream/StreamList.vue:144 #, fuzzy msgid "Disable" msgstr "Disabled" -#: src/views/site/cert/components/ObtainCert.vue:77 +#: src/views/site/cert/components/ObtainCert.vue:82 msgid "Disable auto-renewal failed for %{name}" msgstr "Disable auto-renewal failed for %{name}" @@ -649,21 +677,21 @@ msgstr "Saved successfully" #: src/views/environment/envColumns.tsx:109 #: src/views/environment/envColumns.tsx:92 -#: src/views/site/site_edit/SiteEdit.vue:177 -#: src/views/site/site_list/columns.tsx:49 -#: src/views/site/site_list/columns.tsx:58 src/views/stream/StreamEdit.vue:175 +#: src/views/site/site_edit/SiteEdit.vue:190 +#: src/views/site/site_list/columns.tsx:51 +#: src/views/site/site_list/columns.tsx:60 src/views/stream/StreamEdit.vue:175 #: src/views/stream/StreamList.vue:33 src/views/user/userColumns.tsx:41 msgid "Disabled" msgstr "Disabled" #: src/views/site/site_edit/RightSettings.vue:42 -#: src/views/site/site_list/SiteList.vue:57 +#: src/views/site/site_list/SiteList.vue:58 #: src/views/stream/components/RightSettings.vue:38 #: src/views/stream/StreamList.vue:67 msgid "Disabled successfully" msgstr "Disabled successfully" -#: src/views/dashboard/ServerAnalytic.vue:359 +#: src/views/dashboard/ServerAnalytic.vue:370 msgid "Disk IO" msgstr "Disk IO" @@ -676,11 +704,11 @@ msgstr "" msgid "DNS Provider" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:74 +#: src/views/site/cert/components/AutoCertStepOne.vue:73 msgid "DNS01" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:99 +#: src/views/site/cert/components/AutoCertStepOne.vue:98 msgid "Do not enable this option unless you are sure that you need it." msgstr "" @@ -691,7 +719,7 @@ msgid_plural "Do you want to deploy this file to remote servers?" msgstr[0] "Are you sure you want to remove this directive?" msgstr[1] "Are you sure you want to remove this directive?" -#: src/views/site/cert/components/ObtainCert.vue:133 +#: src/views/site/cert/components/ObtainCert.vue:136 msgid "Do you want to disable auto-cert renewal?" msgstr "" @@ -725,7 +753,7 @@ msgstr "Are you sure you want to remove this directive?" msgid "Do you want to remove this server?" msgstr "Are you sure you want to remove this directive?" -#: src/views/site/ngx_conf/NgxUpstream.vue:29 +#: src/views/site/ngx_conf/NgxUpstream.vue:30 #, fuzzy msgid "Do you want to remove this upstream?" msgstr "Are you sure you want to remove this directive?" @@ -738,7 +766,7 @@ msgstr "" msgid "Domain Config Created Successfully" msgstr "Domain Config Created Successfully" -#: src/views/certificate/CertificateEditor.vue:106 +#: src/views/certificate/CertificateEditor.vue:113 msgid "Domains list is empty, try to reopen Auto Cert for %{config}" msgstr "" @@ -750,7 +778,7 @@ msgstr "" msgid "Downloading latest release" msgstr "" -#: src/views/environment/BatchUpgrader.vue:190 src/views/system/Upgrade.vue:216 +#: src/views/environment/BatchUpgrader.vue:191 src/views/system/Upgrade.vue:217 msgid "Dry run mode enabled" msgstr "" @@ -761,7 +789,7 @@ msgid "" msgstr "" #: src/views/site/site_list/SiteDuplicate.vue:74 -#: src/views/site/site_list/SiteList.vue:143 +#: src/views/site/site_list/SiteList.vue:144 #: src/views/stream/components/StreamDuplicate.vue:121 #: src/views/stream/StreamList.vue:160 msgid "Duplicate" @@ -788,12 +816,17 @@ msgstr "Saved successfully" msgid "Duplicate to local successfully" msgstr "Saved successfully" -#: src/views/site/site_edit/SiteEdit.vue:166 +#: src/components/StdDesign/StdDetail/StdDetail.vue:110 +#, fuzzy +msgid "Edit" +msgstr "Edit %{n}" + +#: src/views/site/site_edit/SiteEdit.vue:179 #: src/views/stream/StreamEdit.vue:164 msgid "Edit %{n}" msgstr "Edit %{n}" -#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:206 msgid "Edit Configuration" msgstr "Edit Configuration" @@ -811,11 +844,11 @@ msgstr "Edit Site" msgid "Email" msgstr "Email (*)" -#: src/views/other/Install.vue:86 +#: src/views/other/Install.vue:90 msgid "Email (*)" msgstr "Email (*)" -#: src/views/site/site_list/SiteList.vue:135 +#: src/views/site/site_list/SiteList.vue:136 #: src/views/stream/components/Deploy.vue:80 #: src/views/stream/StreamList.vue:152 #, fuzzy @@ -830,12 +863,12 @@ msgstr "" msgid "Enable %{conf_name} in %{node_name} successfully" msgstr "" -#: src/views/preference/components/TOTP.vue:55 +#: src/views/preference/components/TOTP.vue:54 #, fuzzy msgid "Enable 2FA successfully" msgstr "Enabled successfully" -#: src/views/site/cert/components/ObtainCert.vue:70 +#: src/views/site/cert/components/ObtainCert.vue:75 msgid "Enable auto-renewal failed for %{name}" msgstr "Enable auto-renewal failed for %{name}" @@ -872,7 +905,7 @@ msgstr "Enabled successfully" msgid "Enable TLS" msgstr "Enable TLS" -#: src/views/preference/components/TOTP.vue:125 +#: src/views/preference/components/TOTP.vue:124 #, fuzzy msgid "Enable TOTP" msgstr "Enable TLS" @@ -881,9 +914,9 @@ msgstr "Enable TLS" #: src/views/environment/envColumns.tsx:106 #: src/views/preference/LogrotateSettings.vue:19 #: src/views/site/site_edit/RightSettings.vue:82 -#: src/views/site/site_edit/SiteEdit.vue:171 -#: src/views/site/site_list/columns.tsx:45 -#: src/views/site/site_list/columns.tsx:57 +#: src/views/site/site_edit/SiteEdit.vue:184 +#: src/views/site/site_list/columns.tsx:47 +#: src/views/site/site_list/columns.tsx:59 #: src/views/stream/components/RightSettings.vue:76 #: src/views/stream/StreamEdit.vue:169 src/views/stream/StreamList.vue:29 #: src/views/user/userColumns.tsx:38 @@ -891,14 +924,14 @@ msgid "Enabled" msgstr "Enabled" #: src/views/site/site_edit/RightSettings.vue:33 -#: src/views/site/site_list/SiteList.vue:47 src/views/site/SiteAdd.vue:40 +#: src/views/site/site_list/SiteList.vue:48 src/views/site/SiteAdd.vue:40 #: src/views/stream/components/RightSettings.vue:29 #: src/views/stream/components/StreamDuplicate.vue:93 #: src/views/stream/StreamList.vue:57 msgid "Enabled successfully" msgstr "Enabled successfully" -#: src/views/site/cert/IssueCert.vue:49 +#: src/views/site/cert/IssueCert.vue:48 msgid "Encrypt website with Let's Encrypt" msgstr "Encrypt website with Let's Encrypt" @@ -920,11 +953,11 @@ msgstr "Comments" msgid "Error" msgstr "" -#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:84 +#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:83 msgid "Error Logs" msgstr "" -#: src/views/system/Upgrade.vue:178 +#: src/views/system/Upgrade.vue:179 msgid "Executable Path" msgstr "" @@ -938,7 +971,7 @@ msgstr "" msgid "Expired At: %{date}" msgstr "Expiration Date: %{date}" -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:66 msgid "Export" msgstr "" @@ -948,14 +981,14 @@ msgid "Fail to obtain certificate" msgstr "Certificate is valid" #: src/views/site/site_edit/RightSettings.vue:45 -#: src/views/site/site_list/SiteList.vue:61 +#: src/views/site/site_list/SiteList.vue:62 #: src/views/stream/components/RightSettings.vue:41 #: src/views/stream/StreamList.vue:71 msgid "Failed to disable %{msg}" msgstr "Failed to disable %{msg}" #: src/views/site/site_edit/RightSettings.vue:36 -#: src/views/site/site_list/SiteList.vue:51 +#: src/views/site/site_list/SiteList.vue:52 #: src/views/stream/components/RightSettings.vue:32 #: src/views/stream/StreamList.vue:61 msgid "Failed to enable %{msg}" @@ -965,7 +998,7 @@ msgstr "Failed to enable %{msg}" msgid "Failed to get certificate information" msgstr "" -#: src/views/site/site_edit/SiteEdit.vue:123 +#: src/views/site/site_edit/SiteEdit.vue:135 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." msgstr "" @@ -982,7 +1015,7 @@ msgstr "" msgid "File Not Found" msgstr "File Not Found" -#: src/views/nginx_log/NginxLog.vue:154 +#: src/views/nginx_log/NginxLog.vue:155 msgid "Filter" msgstr "" @@ -996,20 +1029,25 @@ msgid "" "process." msgstr "" -#: src/views/preference/BasicSettings.vue:38 +#: src/views/preference/BasicSettings.vue:59 +#: src/views/preference/BasicSettings.vue:71 +msgid "For Chinese user" +msgstr "" + +#: src/views/preference/BasicSettings.vue:47 msgid "For Chinese user: https://mirror.ghproxy.com/" msgstr "" -#: src/views/config/ConfigEditor.vue:216 +#: src/views/config/ConfigEditor.vue:218 msgid "Format Code" msgstr "" -#: src/views/config/ConfigEditor.vue:183 +#: src/views/config/ConfigEditor.vue:185 #, fuzzy msgid "Format error %{msg}" msgstr "Save error %{msg}" -#: src/views/config/ConfigEditor.vue:181 +#: src/views/config/ConfigEditor.vue:183 #, fuzzy msgid "Format successfully" msgstr "Saved successfully" @@ -1019,7 +1057,7 @@ msgstr "Saved successfully" msgid "General Certificate" msgstr "Certificate is valid" -#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:52 +#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:55 msgid "Generate" msgstr "" @@ -1027,7 +1065,7 @@ msgstr "" msgid "Generating private key for registering account" msgstr "" -#: src/views/environment/BatchUpgrader.vue:179 src/views/system/Upgrade.vue:170 +#: src/views/environment/BatchUpgrader.vue:180 src/views/system/Upgrade.vue:171 #, fuzzy msgid "Get release information error" msgstr "Base information" @@ -1036,11 +1074,11 @@ msgstr "Base information" msgid "Getting the certificate, please wait..." msgstr "Getting the certificate, please wait..." -#: src/views/preference/BasicSettings.vue:30 +#: src/views/preference/BasicSettings.vue:39 msgid "Github Proxy" msgstr "" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Hide" msgstr "" @@ -1060,10 +1098,14 @@ msgstr "" msgid "HTTP Port" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:71 +#: src/views/site/cert/components/AutoCertStepOne.vue:70 msgid "HTTP01" msgstr "" +#: src/views/preference/BasicSettings.vue:51 +msgid "ICP Number" +msgstr "" + #: src/views/certificate/ACMEUser.vue:45 msgid "If left blank, the default CA Dir will be used." msgstr "" @@ -1074,7 +1116,7 @@ msgid "" "ban threshold minutes, the ip will be banned for a period of time." msgstr "" -#: src/views/preference/components/TOTP.vue:111 +#: src/views/preference/components/TOTP.vue:110 msgid "" "If you lose your mobile phone, you can use the recovery code to reset your " "2FA." @@ -1084,7 +1126,7 @@ msgstr "" msgid "If your browser supports WebAuthn Passkey, a dialog box will appear." msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:109 +#: src/views/site/cert/components/AutoCertStepOne.vue:108 msgid "" "If your domain has CNAME records and you cannot obtain certificates, you " "need to enable this option." @@ -1094,15 +1136,16 @@ msgstr "" msgid "Import" msgstr "" -#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:86 #, fuzzy msgid "Import Certificate" msgstr "Certificate Status" -#: src/views/other/Login.vue:77 +#: src/views/other/Login.vue:78 msgid "Incorrect username or password" msgstr "" +#: src/components/StdDesign/StdDetail/StdDetail.vue:81 #: src/constants/index.ts:18 src/views/notification/notificationColumns.tsx:29 msgid "Info" msgstr "" @@ -1115,20 +1158,20 @@ msgstr "" msgid "Initialing core upgrader" msgstr "" -#: src/views/preference/components/TOTP.vue:158 +#: src/views/preference/components/TOTP.vue:157 msgid "Input the code from the app:" msgstr "" #: src/components/TwoFA/Authorization.vue:87 -#: src/views/preference/components/TOTP.vue:171 +#: src/views/preference/components/TOTP.vue:170 msgid "Input the recovery code:" msgstr "" -#: src/routes/index.ts:305 src/views/other/Install.vue:132 +#: src/routes/index.ts:305 src/views/other/Install.vue:136 msgid "Install" msgstr "Install" -#: src/views/other/Install.vue:63 +#: src/views/other/Install.vue:67 #, fuzzy msgid "Install successfully" msgstr "Enabled successfully" @@ -1142,21 +1185,21 @@ msgstr "" msgid "Invalid" msgstr "Invalid E-mail!" -#: src/views/other/Login.vue:87 +#: src/views/other/Login.vue:88 msgid "Invalid 2FA or recovery code" msgstr "" -#: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:250 +#: src/views/config/components/Rename.vue:66 +#: src/views/config/ConfigEditor.vue:252 #, fuzzy msgid "Invalid filename" msgstr "Invalid E-mail!" -#: src/views/config/components/Mkdir.vue:57 +#: src/views/config/components/Mkdir.vue:59 msgid "Invalid folder name" msgstr "" -#: src/components/TwoFA/use2FAModal.ts:60 +#: src/components/TwoFA/use2FAModal.ts:61 msgid "Invalid passcode or recovery code" msgstr "" @@ -1188,11 +1231,11 @@ msgid "Jwt Secret" msgstr "" #: src/views/certificate/CertificateList/certColumns.tsx:62 -#: src/views/site/cert/components/AutoCertStepOne.vue:78 +#: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" msgstr "" -#: src/views/system/Upgrade.vue:180 +#: src/views/system/Upgrade.vue:181 msgid "Last checked at" msgstr "" @@ -1219,13 +1262,13 @@ msgstr "Leave blank for no change" msgid "Leave blank if you don't need this." msgstr "Leave blank for no change" -#: src/views/certificate/CertificateEditor.vue:214 -#: src/views/certificate/CertificateEditor.vue:227 +#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:234 #, fuzzy msgid "Leave blank will not change anything" msgstr "Leave blank for no change" -#: src/views/site/cert/components/AutoCertStepOne.vue:106 +#: src/views/site/cert/components/AutoCertStepOne.vue:105 msgid "Lego disable CNAME Support" msgstr "" @@ -1239,11 +1282,11 @@ msgstr "License" msgid "Link Start" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:199 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:178 msgid "List" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:176 +#: src/views/dashboard/ServerAnalytic.vue:187 #, fuzzy msgid "Load Average:" msgstr "Load Averages:" @@ -1258,7 +1301,7 @@ msgid "Load successfully" msgstr "Saved successfully" #: src/components/EnvIndicator/EnvIndicator.vue:39 -#: src/components/NodeSelector/NodeSelector.vue:70 +#: src/components/NodeSelector/NodeSelector.vue:80 #, fuzzy msgid "Local" msgstr "Location" @@ -1271,24 +1314,24 @@ msgstr "Location" msgid "Locations" msgstr "Locations" -#: src/views/certificate/CertificateEditor.vue:237 +#: src/views/certificate/CertificateEditor.vue:244 #, fuzzy msgid "Log" msgstr "Login" -#: src/routes/index.ts:311 src/views/other/Login.vue:245 +#: src/routes/index.ts:311 src/views/other/Login.vue:246 msgid "Login" msgstr "Login" -#: src/views/other/Login.vue:131 src/views/other/Login.vue:64 +#: src/views/other/Login.vue:132 src/views/other/Login.vue:65 msgid "Login successful" msgstr "Login successful" -#: src/layouts/HeaderLayout.vue:19 +#: src/layouts/HeaderLayout.vue:20 msgid "Logout successful" msgstr "Logout successful" -#: src/views/preference/Preference.vue:176 +#: src/views/preference/Preference.vue:178 msgid "Logrotate" msgstr "" @@ -1302,7 +1345,7 @@ msgid "" "minutes." msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:54 +#: src/views/site/cert/components/AutoCertStepOne.vue:53 #, fuzzy msgid "" "Make sure you have configured a reverse proxy for .well-known directory to " @@ -1311,12 +1354,12 @@ msgstr "" "Make sure you have configured a reverse proxy for .well-known directory to " "HTTPChallengePort (default: 9180) before getting the certificate." -#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:138 -#: src/views/config/ConfigEditor.vue:99 src/views/config/ConfigList.vue:70 +#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:102 +#: src/views/config/ConfigEditor.vue:141 src/views/config/ConfigList.vue:69 msgid "Manage Configs" msgstr "Manage Configs" -#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:97 +#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:98 msgid "Manage Sites" msgstr "Manage Sites" @@ -1338,12 +1381,12 @@ msgstr "Certificate is valid" msgid "Max Attempts" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:215 -#: src/views/dashboard/ServerAnalytic.vue:216 +#: src/views/dashboard/ServerAnalytic.vue:226 +#: src/views/dashboard/ServerAnalytic.vue:227 msgid "Memory" msgstr "Memory" -#: src/views/dashboard/ServerAnalytic.vue:205 +#: src/views/dashboard/ServerAnalytic.vue:216 msgid "Memory and Storage" msgstr "Memory and Storage" @@ -1357,14 +1400,14 @@ msgid "Model" msgstr "Advance Mode" #: src/components/ChatGPT/ChatGPT.vue:256 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:520 -#: src/views/config/ConfigList.vue:159 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:508 +#: src/views/config/ConfigList.vue:158 #, fuzzy msgid "Modify" msgstr "Modify Config" -#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:86 #, fuzzy msgid "Modify Certificate" msgstr "Certificate Status" @@ -1373,7 +1416,7 @@ msgstr "Certificate Status" msgid "Modify Config" msgstr "Modify Config" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 #, fuzzy msgid "Modify Mode" msgstr "Modify Config" @@ -1384,13 +1427,13 @@ msgid "Multi-line Directive" msgstr "Single Directive" #: src/views/certificate/ACMEUser.vue:13 -#: src/views/certificate/CertificateEditor.vue:154 +#: src/views/certificate/CertificateEditor.vue:161 #: src/views/certificate/CertificateList/certColumns.tsx:10 #: src/views/certificate/DNSCredential.vue:11 -#: src/views/config/components/Mkdir.vue:64 src/views/config/configColumns.ts:8 -#: src/views/config/ConfigEditor.vue:256 src/views/environment/envColumns.tsx:9 +#: src/views/config/components/Mkdir.vue:66 src/views/config/configColumns.ts:8 +#: src/views/config/ConfigEditor.vue:258 src/views/environment/envColumns.tsx:9 #: src/views/preference/components/AddPasskey.vue:81 -#: src/views/site/ngx_conf/NgxUpstream.vue:175 +#: src/views/site/ngx_conf/NgxUpstream.vue:177 #: src/views/site/site_category/columns.ts:7 #: src/views/site/site_edit/RightSettings.vue:88 #: src/views/site/site_list/columns.tsx:13 @@ -1401,43 +1444,43 @@ msgstr "Single Directive" msgid "Name" msgstr "Name" -#: src/views/dashboard/ServerAnalytic.vue:320 +#: src/views/dashboard/ServerAnalytic.vue:331 msgid "Network" msgstr "Network" -#: src/views/dashboard/ServerAnalytic.vue:262 +#: src/views/dashboard/ServerAnalytic.vue:273 msgid "Network Statistics" msgstr "Network Statistics" -#: src/views/dashboard/ServerAnalytic.vue:269 +#: src/views/dashboard/ServerAnalytic.vue:280 msgid "Network Total Receive" msgstr "Network Total Receive" -#: src/views/dashboard/ServerAnalytic.vue:275 +#: src/views/dashboard/ServerAnalytic.vue:286 msgid "Network Total Send" msgstr "Network Total Send" -#: src/views/config/components/Rename.vue:73 +#: src/views/config/components/Rename.vue:74 #, fuzzy msgid "New name" msgstr "Username" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 #, fuzzy msgid "New Path" msgstr "Path" -#: src/views/system/Upgrade.vue:209 +#: src/views/system/Upgrade.vue:210 msgid "New version released" msgstr "" #: src/views/certificate/WildcardCertificate.vue:91 -#: src/views/site/cert/components/ObtainCert.vue:208 +#: src/views/site/cert/components/ObtainCert.vue:211 #: src/views/site/SiteAdd.vue:141 msgid "Next" msgstr "Next" -#: src/views/preference/Preference.vue:164 +#: src/views/preference/Preference.vue:166 msgid "Nginx" msgstr "" @@ -1445,7 +1488,7 @@ msgstr "" msgid "Nginx Access Log Path" msgstr "" -#: src/views/site/site_edit/SiteEdit.vue:209 +#: src/views/site/site_edit/SiteEdit.vue:223 #: src/views/stream/StreamEdit.vue:207 #, fuzzy msgid "Nginx Configuration Parse Error" @@ -1468,7 +1511,7 @@ msgstr "" msgid "Nginx is not running" msgstr "" -#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:147 +#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:148 msgid "Nginx Log" msgstr "" @@ -1499,22 +1542,23 @@ msgid "Nginx restarted successfully" msgstr "Saved successfully" #: src/components/ChatGPT/ChatGPT.vue:277 -#: src/components/Notification/Notification.vue:84 +#: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:67 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:533 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:547 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:562 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:96 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:521 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:550 #: src/views/notification/Notification.vue:38 #: src/views/preference/AuthSettings.vue:138 #: src/views/preference/CertSettings.vue:70 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:90 #: src/views/site/ngx_conf/LocationEditor.vue:90 -#: src/views/site/site_list/SiteList.vue:147 +#: src/views/site/site_list/SiteList.vue:148 #: src/views/stream/StreamList.vue:164 msgid "No" msgstr "No" -#: src/views/preference/BasicSettings.vue:42 +#: src/views/preference/BasicSettings.vue:30 #, fuzzy msgid "Node name" msgstr "Username" @@ -1536,7 +1580,7 @@ msgid "Not Valid Before: %{date}" msgstr "Not Valid Before: %{date}" #: src/views/certificate/DNSCredential.vue:49 -#: src/views/site/cert/components/AutoCertStepOne.vue:40 +#: src/views/site/cert/components/AutoCertStepOne.vue:39 msgid "Note" msgstr "" @@ -1551,12 +1595,12 @@ msgstr "" msgid "Notification" msgstr "Certificate is valid" -#: src/components/Notification/Notification.vue:82 src/routes/index.ts:248 +#: src/components/Notification/Notification.vue:131 src/routes/index.ts:248 #, fuzzy msgid "Notifications" msgstr "Certificate is valid" -#: src/views/site/cert/components/ObtainCert.vue:179 +#: src/views/site/cert/components/ObtainCert.vue:182 #, fuzzy msgid "Obtain certificate" msgstr "Certificate is valid" @@ -1565,39 +1609,40 @@ msgstr "Certificate is valid" msgid "Obtaining certificate" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:96 +#: src/views/site/cert/components/AutoCertStepOne.vue:95 msgid "OCSP Must Staple" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:100 +#: src/views/site/cert/components/AutoCertStepOne.vue:99 msgid "" "OCSP Must Staple may cause errors for some users on first access using " "Firefox." msgstr "" -#: src/components/NodeSelector/NodeSelector.vue:93 +#: src/components/NodeSelector/NodeSelector.vue:103 #: src/views/dashboard/Environments.vue:107 #: src/views/environment/envColumns.tsx:87 msgid "Offline" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:262 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:183 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:252 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:522 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:536 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:551 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:181 msgid "Ok" msgstr "" #: src/components/ChatGPT/ChatGPT.vue:278 -#: src/components/Notification/Notification.vue:85 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:534 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:548 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:563 +#: src/components/Notification/Notification.vue:134 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:97 #: src/views/notification/Notification.vue:39 -#: src/views/site/cert/components/ObtainCert.vue:136 +#: src/views/site/cert/components/ObtainCert.vue:139 #: src/views/site/ngx_conf/NgxConfigEditor.vue:50 #: src/views/site/ngx_conf/NgxServer.vue:79 -#: src/views/site/ngx_conf/NgxUpstream.vue:32 +#: src/views/site/ngx_conf/NgxUpstream.vue:33 #: src/views/site/site_edit/RightSettings.vue:54 -#: src/views/site/site_list/SiteList.vue:148 +#: src/views/site/site_list/SiteList.vue:149 #: src/views/stream/components/Deploy.vue:19 #: src/views/stream/components/RightSettings.vue:50 #: src/views/stream/StreamList.vue:165 @@ -1608,40 +1653,40 @@ msgstr "" msgid "Once the verification is complete, the records will be removed." msgstr "" -#: src/components/NodeSelector/NodeSelector.vue:73 -#: src/components/NodeSelector/NodeSelector.vue:87 +#: src/components/NodeSelector/NodeSelector.vue:83 +#: src/components/NodeSelector/NodeSelector.vue:97 #: src/views/dashboard/Environments.vue:100 #: src/views/environment/envColumns.tsx:83 msgid "Online" msgstr "" -#: src/views/preference/Preference.vue:170 +#: src/views/preference/Preference.vue:172 msgid "OpenAI" msgstr "" -#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:254 +#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:255 msgid "Or" msgstr "" -#: src/views/config/components/Rename.vue:69 +#: src/views/config/components/Rename.vue:70 msgid "Original name" msgstr "" -#: src/views/system/Upgrade.vue:176 +#: src/views/system/Upgrade.vue:177 #, fuzzy msgid "OS" msgstr "OS:" -#: src/views/dashboard/ServerAnalytic.vue:182 +#: src/views/dashboard/ServerAnalytic.vue:193 msgid "OS:" msgstr "OS:" -#: src/views/config/ConfigEditor.vue:293 +#: src/views/config/ConfigEditor.vue:296 #: src/views/stream/components/Deploy.vue:84 msgid "Overwrite" msgstr "" -#: src/views/config/ConfigEditor.vue:297 +#: src/views/config/ConfigEditor.vue:300 #: src/views/stream/components/Deploy.vue:88 msgid "Overwrite exist file" msgstr "" @@ -1661,21 +1706,25 @@ msgid "" "password replacement or as a 2FA method." msgstr "" -#: src/views/other/Login.vue:206 src/views/user/userColumns.tsx:18 +#: src/views/other/Login.vue:207 src/views/user/userColumns.tsx:18 msgid "Password" msgstr "Password" -#: src/views/other/Install.vue:106 +#: src/views/other/Install.vue:110 msgid "Password (*)" msgstr "Password (*)" -#: src/views/config/ConfigEditor.vue:262 +#: src/views/other/Install.vue:48 +msgid "Password length cannot exceed 20 characters" +msgstr "" + +#: src/views/config/ConfigEditor.vue:265 #: src/views/site/ngx_conf/LocationEditor.vue:111 #: src/views/site/ngx_conf/LocationEditor.vue:139 msgid "Path" msgstr "Path" -#: src/views/environment/BatchUpgrader.vue:234 +#: src/views/environment/BatchUpgrader.vue:235 msgid "Perform" msgstr "" @@ -1703,23 +1752,23 @@ msgid "" "provider." msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:127 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:107 msgid "Please fill in the required fields" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:58 +#: src/views/site/cert/components/AutoCertStepOne.vue:57 msgid "" "Please first add credentials in Certification > DNS Credentials, and then " "select one of the credentialsbelow to request the API of the DNS provider." msgstr "" -#: src/views/config/components/Rename.vue:64 -#: src/views/config/ConfigEditor.vue:249 +#: src/views/config/components/Rename.vue:65 +#: src/views/config/ConfigEditor.vue:251 #, fuzzy msgid "Please input a filename" msgstr "Please input your username!" -#: src/views/config/components/Mkdir.vue:56 +#: src/views/config/components/Mkdir.vue:58 #, fuzzy msgid "Please input a folder name" msgstr "Please input your username!" @@ -1740,11 +1789,11 @@ msgstr "" msgid "Please input your E-mail!" msgstr "Please input your E-mail!" -#: src/views/other/Install.vue:44 src/views/other/Login.vue:46 +#: src/views/other/Install.vue:44 src/views/other/Login.vue:47 msgid "Please input your password!" msgstr "Please input your password!" -#: src/views/other/Install.vue:38 src/views/other/Login.vue:40 +#: src/views/other/Install.vue:38 src/views/other/Login.vue:41 msgid "Please input your username!" msgstr "Please input your username!" @@ -1772,13 +1821,13 @@ msgstr "" msgid "Please upgrade the remote Nginx UI to the latest version" msgstr "Saved successfully" -#: src/views/environment/BatchUpgrader.vue:169 -#: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195 -#: src/views/system/Upgrade.vue:246 +#: src/views/environment/BatchUpgrader.vue:170 +#: src/views/environment/BatchUpgrader.vue:223 src/views/system/Upgrade.vue:196 +#: src/views/system/Upgrade.vue:247 msgid "Pre-release" msgstr "" -#: src/routes/index.ts:266 src/views/preference/Preference.vue:141 +#: src/routes/index.ts:266 src/views/preference/Preference.vue:143 msgid "Preference" msgstr "" @@ -1807,35 +1856,40 @@ msgstr "" msgid "Proxy" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:376 +#: src/views/preference/BasicSettings.vue:63 +msgid "Public Security Number" +msgstr "" + +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:387 msgid "Reads" msgstr "Reads" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:327 +#: src/views/dashboard/ServerAnalytic.vue:338 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Receive" msgstr "Receive" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:556 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:43 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:544 msgid "Recover" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:204 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:191 #, fuzzy msgid "Recovered Successfully" msgstr "Saved successfully" #: src/components/TwoFA/Authorization.vue:94 -#: src/views/preference/components/TOTP.vue:178 +#: src/views/preference/components/TOTP.vue:177 msgid "Recovery" msgstr "" -#: src/views/preference/components/TOTP.vue:104 +#: src/views/preference/components/TOTP.vue:103 msgid "Recovery Code" msgstr "" -#: src/views/preference/components/TOTP.vue:113 +#: src/views/preference/components/TOTP.vue:112 msgid "Recovery Code:" msgstr "" @@ -1884,12 +1938,12 @@ msgstr "" msgid "Registration Status" msgstr "" -#: src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:228 #, fuzzy msgid "Reinstall" msgstr "Install" -#: src/views/system/Upgrade.vue:250 +#: src/views/system/Upgrade.vue:251 msgid "Release Note" msgstr "" @@ -1926,14 +1980,15 @@ msgstr "Saved successfully" msgid "Remove successfully" msgstr "Saved successfully" -#: src/components/Notification/Notification.vue:52 +#: src/components/Notification/Notification.vue:100 #, fuzzy msgid "Removed successfully" msgstr "Saved successfully" -#: src/views/config/components/Rename.vue:55 -#: src/views/config/ConfigList.vue:167 -#: src/views/site/ngx_conf/NgxUpstream.vue:123 +#: src/views/config/components/ConfigName.vue:50 +#: src/views/config/components/Rename.vue:56 +#: src/views/config/ConfigList.vue:166 +#: src/views/site/ngx_conf/NgxUpstream.vue:125 #: src/views/site/site_edit/components/ConfigName.vue:46 #, fuzzy msgid "Rename" @@ -1980,18 +2035,19 @@ msgstr "Saved successfully" msgid "Rename Site %{site} to %{new_site} on %{node} successfully" msgstr "Saved successfully" -#: src/views/config/components/Rename.vue:41 +#: src/views/config/components/Rename.vue:42 #, fuzzy msgid "Rename successfully" msgstr "Enabled successfully" +#: src/views/config/components/ConfigName.vue:30 #: src/views/site/site_edit/components/ConfigName.vue:27 #, fuzzy msgid "Renamed successfully" msgstr "Enabled successfully" -#: src/views/certificate/RenewCert.vue:43 -#: src/views/certificate/RenewCert.vue:47 +#: src/views/certificate/RenewCert.vue:45 +#: src/views/certificate/RenewCert.vue:49 #, fuzzy msgid "Renew Certificate" msgstr "Certificate is valid" @@ -2006,7 +2062,7 @@ msgstr "Certificate is valid" msgid "Renew Certificate Success" msgstr "Certificate is valid" -#: src/views/certificate/RenewCert.vue:25 +#: src/views/certificate/RenewCert.vue:27 #: src/views/certificate/WildcardCertificate.vue:48 #, fuzzy msgid "Renew successfully" @@ -2016,11 +2072,11 @@ msgstr "Enabled successfully" msgid "Requested with wrong parameters" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:468 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:448 msgid "Reset" msgstr "" -#: src/views/preference/components/TOTP.vue:133 +#: src/views/preference/components/TOTP.vue:132 msgid "Reset 2FA" msgstr "" @@ -2055,13 +2111,15 @@ msgstr "" #: src/components/ChatGPT/ChatGPT.vue:259 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:68 -#: src/views/certificate/CertificateEditor.vue:256 -#: src/views/config/ConfigEditor.vue:222 +#: src/components/StdDesign/StdDetail/StdDetail.vue:93 +#: src/views/certificate/CertificateEditor.vue:263 +#: src/views/config/components/ConfigName.vue:58 +#: src/views/config/ConfigEditor.vue:224 #: src/views/preference/components/Passkey.vue:136 -#: src/views/preference/Preference.vue:187 +#: src/views/preference/Preference.vue:189 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:120 #: src/views/site/site_edit/components/ConfigName.vue:54 -#: src/views/site/site_edit/SiteEdit.vue:256 +#: src/views/site/site_edit/SiteEdit.vue:271 #: src/views/stream/StreamEdit.vue:252 msgid "Save" msgstr "Save" @@ -2070,7 +2128,7 @@ msgstr "Save" msgid "Save Directive" msgstr "Save Directive" -#: src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:173 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:41 #: src/views/site/SiteAdd.vue:46 msgid "Save error %{msg}" @@ -2097,21 +2155,21 @@ msgid "Save Site %{site} to %{node} successfully" msgstr "Saved successfully" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117 -#: src/views/certificate/CertificateEditor.vue:46 -#: src/views/preference/Preference.vue:110 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:97 +#: src/views/certificate/CertificateEditor.vue:49 +#: src/views/preference/Preference.vue:112 #, fuzzy msgid "Save successfully" msgstr "Saved successfully" -#: src/views/config/ConfigEditor.vue:167 +#: src/views/config/ConfigEditor.vue:169 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 -#: src/views/site/site_edit/SiteEdit.vue:140 src/views/site/SiteAdd.vue:37 +#: src/views/site/site_edit/SiteEdit.vue:152 src/views/site/SiteAdd.vue:37 #: src/views/stream/StreamEdit.vue:138 msgid "Saved successfully" msgstr "Saved successfully" -#: src/views/preference/components/TOTP.vue:94 +#: src/views/preference/components/TOTP.vue:93 msgid "Scan the QR code with your mobile phone to add the account to the app." msgstr "" @@ -2119,49 +2177,49 @@ msgstr "" msgid "SDK" msgstr "" -#: src/views/preference/components/TOTP.vue:150 +#: src/views/preference/components/TOTP.vue:149 msgid "Secret has been copied" msgstr "" -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:184 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 msgid "Selector" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:337 +#: src/views/dashboard/ServerAnalytic.vue:348 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Send" msgstr "Send" #: src/components/NginxControl/NginxControl.vue:32 #: src/components/NginxControl/NginxControl.vue:48 -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:44 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:124 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:53 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:207 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:249 -#: src/views/config/components/Mkdir.vue:36 -#: src/views/config/components/Rename.vue:44 -#: src/views/config/ConfigEditor.vue:108 -#: src/views/environment/BatchUpgrader.vue:58 -#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:66 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:70 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:194 +#: src/views/config/components/Mkdir.vue:38 +#: src/views/config/components/Rename.vue:45 +#: src/views/config/ConfigEditor.vue:111 +#: src/views/environment/BatchUpgrader.vue:59 +#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:70 #: src/views/preference/AuthSettings.vue:49 #: src/views/preference/components/Passkey.vue:26 #: src/views/preference/components/Passkey.vue:43 #: src/views/preference/components/Passkey.vue:56 -#: src/views/preference/components/TOTP.vue:45 -#: src/views/preference/components/TOTP.vue:58 -#: src/views/preference/Preference.vue:114 -#: src/views/site/site_list/SiteList.vue:39 -#: src/views/site/site_list/SiteList.vue:71 src/views/stream/StreamList.vue:113 -#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:41 +#: src/views/preference/components/TOTP.vue:44 +#: src/views/preference/components/TOTP.vue:57 +#: src/views/preference/Preference.vue:116 +#: src/views/site/site_list/SiteList.vue:40 +#: src/views/site/site_list/SiteList.vue:72 src/views/stream/StreamList.vue:113 +#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:42 msgid "Server error" msgstr "Server error" -#: src/views/dashboard/ServerAnalytic.vue:168 +#: src/views/dashboard/ServerAnalytic.vue:179 msgid "Server Info" msgstr "Server Info" -#: src/views/site/cert/components/ObtainCert.vue:102 +#: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "server_name not found in directives" @@ -2187,11 +2245,11 @@ msgstr "" msgid "Setting HTTP01 challenge provider" msgstr "" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "" -#: src/views/other/Login.vue:263 +#: src/views/other/Login.vue:264 msgid "Sign in with a passkey" msgstr "" @@ -2212,34 +2270,34 @@ msgstr "Sites List" msgid "Sites List" msgstr "Sites List" -#: src/views/certificate/CertificateEditor.vue:205 +#: src/views/certificate/CertificateEditor.vue:212 #, fuzzy msgid "SSL Certificate Content" msgstr "Certificate Status" -#: src/views/certificate/CertificateEditor.vue:218 +#: src/views/certificate/CertificateEditor.vue:225 #, fuzzy msgid "SSL Certificate Key Content" msgstr "Certificate Status" -#: src/views/certificate/CertificateEditor.vue:184 +#: src/views/certificate/CertificateEditor.vue:191 #, fuzzy msgid "SSL Certificate Key Path" msgstr "Certificate Status" -#: src/views/certificate/CertificateEditor.vue:169 +#: src/views/certificate/CertificateEditor.vue:176 #, fuzzy msgid "SSL Certificate Path" msgstr "Certificate Status" -#: src/views/other/Login.vue:221 +#: src/views/other/Login.vue:222 #, fuzzy msgid "SSO Login" msgstr "Login" -#: src/views/environment/BatchUpgrader.vue:166 -#: src/views/environment/BatchUpgrader.vue:216 src/views/system/Upgrade.vue:192 -#: src/views/system/Upgrade.vue:240 +#: src/views/environment/BatchUpgrader.vue:167 +#: src/views/environment/BatchUpgrader.vue:217 src/views/system/Upgrade.vue:193 +#: src/views/system/Upgrade.vue:241 #, fuzzy msgid "Stable" msgstr "Enabled" @@ -2247,7 +2305,7 @@ msgstr "Enabled" #: src/views/certificate/ACMEUser.vue:65 #: src/views/certificate/CertificateList/certColumns.tsx:68 #: src/views/environment/envColumns.tsx:75 -#: src/views/site/site_list/columns.tsx:38 src/views/stream/StreamList.vue:22 +#: src/views/site/site_list/columns.tsx:40 src/views/stream/StreamList.vue:22 msgid "Status" msgstr "Status" @@ -2255,8 +2313,8 @@ msgstr "Status" msgid "Stopped" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:243 -#: src/views/dashboard/ServerAnalytic.vue:244 +#: src/views/dashboard/ServerAnalytic.vue:254 +#: src/views/dashboard/ServerAnalytic.vue:255 msgid "Storage" msgstr "Storage" @@ -2264,8 +2322,8 @@ msgstr "Storage" msgid "Success" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:229 -#: src/views/dashboard/ServerAnalytic.vue:230 +#: src/views/dashboard/ServerAnalytic.vue:240 +#: src/views/dashboard/ServerAnalytic.vue:241 msgid "Swap" msgstr "Swap" @@ -2277,7 +2335,7 @@ msgstr "" msgid "Switch to light theme" msgstr "" -#: src/views/config/components/Rename.vue:80 +#: src/views/config/components/Rename.vue:81 msgid "Sync" msgstr "" @@ -2343,7 +2401,7 @@ msgstr "" msgid "Sync strategy" msgstr "Certificate is valid" -#: src/views/certificate/CertificateEditor.vue:198 +#: src/views/certificate/CertificateEditor.vue:205 msgid "Sync to" msgstr "" @@ -2363,7 +2421,7 @@ msgstr "" msgid "Target" msgstr "" -#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:113 +#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:114 msgid "Terminal" msgstr "Terminal" @@ -2371,7 +2429,7 @@ msgstr "Terminal" msgid "Terminal Start Command" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:50 +#: src/views/site/cert/components/AutoCertStepOne.vue:49 #, fuzzy msgid "" "The certificate for the domain will be checked 30 minutes, and will be " @@ -2381,15 +2439,21 @@ msgstr "" "The certificate for the domain will be checked every hour, and will be " "renewed if it has been more than 1 month since it was last issued." -#: src/views/other/Install.vue:50 +#: src/views/other/Install.vue:54 msgid "The filename cannot contain the following characters: %{c}" msgstr "The filename cannot contain the following characters: %{c}" -#: src/views/certificate/CertificateEditor.vue:208 +#: src/views/preference/BasicSettings.vue:54 +msgid "" +"The ICP Number should only contain letters, unicode, numbers, hyphens, " +"dashes, colons, and dots." +msgstr "" + +#: src/views/certificate/CertificateEditor.vue:215 msgid "The input is not a SSL Certificate" msgstr "" -#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:228 #, fuzzy msgid "The input is not a SSL Certificate Key" msgstr "Certificate Status" @@ -2397,25 +2461,31 @@ msgstr "Certificate Status" #: src/views/preference/OpenAISettings.vue:35 msgid "" "The model name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." +"dashes, colons, and dots." msgstr "" -#: src/views/preference/BasicSettings.vue:45 +#: src/views/preference/BasicSettings.vue:33 msgid "" "The node name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." +"dashes, colons, and dots." msgstr "" -#: src/views/certificate/CertificateEditor.vue:173 +#: src/views/certificate/CertificateEditor.vue:180 #, fuzzy msgid "The path exists, but the file is not a certificate" msgstr "Certificate Status" -#: src/views/certificate/CertificateEditor.vue:188 +#: src/views/certificate/CertificateEditor.vue:195 msgid "The path exists, but the file is not a private key" msgstr "" -#: src/views/preference/components/TOTP.vue:112 +#: src/views/preference/BasicSettings.vue:66 +msgid "" +"The Public Security Number should only contain letters, unicode, numbers, " +"hyphens, dashes, colons, and dots." +msgstr "" + +#: src/views/preference/components/TOTP.vue:111 msgid "" "The recovery code is only displayed once, please save it in a safe place." msgstr "" @@ -2427,7 +2497,7 @@ msgid "" "match the local version." msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:45 +#: src/views/site/cert/components/AutoCertStepOne.vue:44 #, fuzzy msgid "" "The server_name in the current configuration must be the domain name you " @@ -2436,7 +2506,7 @@ msgstr "" "Note: The server_name in the current configuration must be the domain name " "you need to get the certificate." -#: src/views/preference/BasicSettings.vue:33 +#: src/views/preference/BasicSettings.vue:42 #: src/views/preference/CertSettings.vue:19 msgid "The url is invalid" msgstr "" @@ -2450,17 +2520,17 @@ msgstr "" msgid "The username or password is incorrect" msgstr "" -#: src/views/certificate/CertificateEditor.vue:96 +#: src/views/certificate/CertificateEditor.vue:103 msgid "This Auto Cert item is invalid, please remove it." msgstr "" -#: src/views/certificate/CertificateEditor.vue:86 +#: src/views/certificate/CertificateEditor.vue:93 msgid "This certificate is managed by Nginx UI" msgstr "" -#: src/views/certificate/CertificateEditor.vue:157 -#: src/views/certificate/CertificateEditor.vue:171 -#: src/views/certificate/CertificateEditor.vue:186 +#: src/views/certificate/CertificateEditor.vue:164 +#: src/views/certificate/CertificateEditor.vue:178 +#: src/views/certificate/CertificateEditor.vue:193 msgid "This field is required" msgstr "" @@ -2486,7 +2556,7 @@ msgstr "" msgid "This value is already taken" msgstr "" -#: src/views/environment/BatchUpgrader.vue:184 +#: src/views/environment/BatchUpgrader.vue:185 msgid "" "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}." msgstr "" @@ -2505,7 +2575,7 @@ msgstr "" msgid "Title" msgstr "" -#: src/views/preference/components/TOTP.vue:93 +#: src/views/preference/components/TOTP.vue:92 msgid "" "To enable it, you need to install the Google or Microsoft Authenticator app " "on your mobile phone." @@ -2528,33 +2598,40 @@ msgstr "" #: src/views/preference/OpenAISettings.vue:48 msgid "" -"To use a local large model, deploy it with vllm or imdeploy. They provide an " -"OpenAI-compatible API endpoint, so just set the baseUrl to your local API." +"To use a local large model, deploy it with ollama, vllm or imdeploy. They " +"provide an OpenAI-compatible API endpoint, so just set the baseUrl to your " +"local API." msgstr "" #: src/views/preference/OpenAISettings.vue:72 msgid "Token is not valid" msgstr "" -#: src/views/other/Login.vue:80 +#: src/views/other/Login.vue:81 msgid "Too many login failed attempts, please try again later" msgstr "" -#: src/views/preference/components/TOTP.vue:91 +#: src/components/StdDesign/StdDataDisplay/StdPagination.vue:40 +msgid "Total %{total} item" +msgid_plural "Total %{total} items" +msgstr[0] "" +msgstr[1] "" + +#: src/views/preference/components/TOTP.vue:90 msgid "TOTP" msgstr "" -#: src/views/preference/components/TOTP.vue:92 +#: src/views/preference/components/TOTP.vue:91 msgid "" "TOTP is a two-factor authentication method that uses a time-based one-time " "password algorithm." msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:202 msgid "Trash" msgstr "" -#: src/components/TwoFA/use2FAModal.ts:66 +#: src/components/TwoFA/use2FAModal.ts:67 msgid "Two-factor authentication required" msgstr "" @@ -2571,27 +2648,27 @@ msgstr "Saved successfully" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:275 +#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:278 #: src/views/environment/envColumns.tsx:119 #: src/views/site/site_category/columns.ts:20 #: src/views/site/site_edit/RightSettings.vue:100 -#: src/views/site/site_list/columns.tsx:64 +#: src/views/site/site_list/columns.tsx:67 #: src/views/stream/components/RightSettings.vue:85 #: src/views/stream/StreamList.vue:41 src/views/user/userColumns.tsx:54 msgid "Updated at" msgstr "Updated at" -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:123 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:121 #, fuzzy msgid "Updated successfully" msgstr "Saved successfully" #: src/routes/index.ts:290 src/views/environment/Environment.vue:55 -#: src/views/system/Upgrade.vue:144 src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228 msgid "Upgrade" msgstr "" -#: src/views/environment/BatchUpgrader.vue:139 +#: src/views/environment/BatchUpgrader.vue:140 #, fuzzy msgid "Upgraded Nginx UI on %{node} successfully 🎉" msgstr "Saved successfully" @@ -2601,15 +2678,15 @@ msgstr "Saved successfully" msgid "Upgraded successfully" msgstr "Saved successfully" -#: src/views/environment/BatchUpgrader.vue:90 src/views/system/Upgrade.vue:78 +#: src/views/environment/BatchUpgrader.vue:91 src/views/system/Upgrade.vue:79 msgid "Upgrading Nginx UI, please wait..." msgstr "" -#: src/views/site/ngx_conf/NgxUpstream.vue:170 +#: src/views/site/ngx_conf/NgxUpstream.vue:172 msgid "Upstream Name" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:172 +#: src/views/dashboard/ServerAnalytic.vue:183 msgid "Uptime:" msgstr "Uptime:" @@ -2630,15 +2707,15 @@ msgstr "" msgid "User" msgstr "Username" -#: src/views/other/Login.vue:83 +#: src/views/other/Login.vue:84 msgid "User is banned" msgstr "" -#: src/views/other/Login.vue:196 src/views/user/userColumns.tsx:9 +#: src/views/other/Login.vue:197 src/views/user/userColumns.tsx:9 msgid "Username" msgstr "Username" -#: src/views/other/Install.vue:96 +#: src/views/other/Install.vue:100 msgid "Username (*)" msgstr "Username (*)" @@ -2652,21 +2729,21 @@ msgstr "" msgid "Version" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:506 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:494 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:103 msgid "View" msgstr "" -#: src/components/Notification/Notification.vue:143 +#: src/components/Notification/Notification.vue:192 #, fuzzy msgid "View all notifications" msgstr "Certificate is valid" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 msgid "View Details" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 #, fuzzy msgid "View Mode" msgstr "Basic Mode" @@ -2684,7 +2761,7 @@ msgid "" "ownership verification." msgstr "" -#: src/views/site/cert/components/ObtainCert.vue:134 +#: src/views/site/cert/components/ObtainCert.vue:137 msgid "" "We will remove the HTTPChallenge configuration from this file and reload the " "Nginx. Are you sure you want to continue?" @@ -2707,8 +2784,8 @@ msgid "" "site category and the nodes selected below will be synchronized." msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:366 +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:377 msgid "Writes" msgstr "Writes" @@ -2727,11 +2804,11 @@ msgstr "" msgid "Yes" msgstr "Yes" -#: src/views/system/Upgrade.vue:203 +#: src/views/system/Upgrade.vue:204 msgid "You are using the latest version" msgstr "" -#: src/views/system/Upgrade.vue:165 +#: src/views/system/Upgrade.vue:166 msgid "You can check Nginx UI upgrade at this page." msgstr "" diff --git a/app/src/language/es/app.po b/app/src/language/es/app.po index 93d7e1b5..beeaaf49 100644 --- a/app/src/language/es/app.po +++ b/app/src/language/es/app.po @@ -28,7 +28,7 @@ msgstr "Configuración de 2FA" msgid "About" msgstr "Acerca de" -#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:76 +#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:75 msgid "Access Logs" msgstr "Logs de acceso" @@ -45,17 +45,17 @@ msgstr "Usuario ACME" #: src/views/notification/notificationColumns.tsx:62 #: src/views/preference/AuthSettings.vue:26 #: src/views/site/site_category/columns.ts:26 -#: src/views/site/site_list/columns.tsx:70 src/views/stream/StreamList.vue:47 +#: src/views/site/site_list/columns.tsx:74 src/views/stream/StreamList.vue:47 #: src/views/user/userColumns.tsx:60 msgid "Action" msgstr "Acción" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:177 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:209 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:191 #: src/views/preference/CertSettings.vue:42 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:117 #: src/views/site/ngx_conf/NgxServer.vue:162 -#: src/views/site/ngx_conf/NgxUpstream.vue:152 +#: src/views/site/ngx_conf/NgxUpstream.vue:154 #: src/views/stream/StreamList.vue:121 msgid "Add" msgstr "Agregar" @@ -65,8 +65,8 @@ msgstr "Agregar" msgid "Add a passkey" msgstr "Agregar una llave de acceso" -#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:143 -#: src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:146 +#: src/views/config/ConfigEditor.vue:206 msgid "Add Configuration" msgstr "Agregar configuración" @@ -95,7 +95,7 @@ msgstr "Agregado exitoso" msgid "Additional" msgstr "Adicional" -#: src/views/site/site_edit/SiteEdit.vue:191 +#: src/views/site/site_edit/SiteEdit.vue:205 #: src/views/stream/StreamEdit.vue:189 msgid "Advance Mode" msgstr "Modo avanzado" @@ -106,7 +106,8 @@ msgstr "" "Luego, actualice esta página y haga clic nuevamente en Agregar llave de " "acceso." -#: src/views/site/site_list/SiteList.vue:101 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:425 +#: src/views/site/site_list/SiteList.vue:102 msgid "All" msgstr "Todo" @@ -126,7 +127,21 @@ msgstr "Proxy de la API" msgid "API Token" msgstr "Token de la API" -#: src/views/system/Upgrade.vue:177 +#: src/views/preference/OpenAISettings.vue:78 +#, fuzzy +msgid "API Type" +msgstr "Token de la API" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:105 +msgid "Apply" +msgstr "" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:67 +#, fuzzy +msgid "Apply bulk action successfully" +msgstr "Duplicado con éxito" + +#: src/views/system/Upgrade.vue:178 msgid "Arch" msgstr "Arquitectura" @@ -138,7 +153,12 @@ msgstr "¿Está seguro de eliminar esta IP bloqueada inmediatamente?" msgid "Are you sure to delete this passkey immediately?" msgstr "¿Está seguro de eliminar esta llave de acceso inmediatamente?" -#: src/components/Notification/Notification.vue:86 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:98 +#, fuzzy +msgid "Are you sure you want to apply to all selected?" +msgstr "¿Está seguro de que quiere borrar?" + +#: src/components/Notification/Notification.vue:135 #: src/views/notification/Notification.vue:40 msgid "Are you sure you want to clear all notifications?" msgstr "¿Está seguro de que desea borrar todas las notificaciones?" @@ -147,20 +167,20 @@ msgstr "¿Está seguro de que desea borrar todas las notificaciones?" msgid "Are you sure you want to clear the record of chat?" msgstr "¿Está seguro de que desea borrar el registro del chat?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:564 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:552 msgid "Are you sure you want to delete this item permanently?" msgstr "¿Está seguro de que desea eliminar este elemento de forma permanente?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:523 msgid "Are you sure you want to delete this item?" msgstr "¿Está seguro de que quiere borrar este elemento?" -#: src/views/site/site_list/SiteList.vue:149 +#: src/views/site/site_list/SiteList.vue:150 #: src/views/stream/StreamList.vue:166 msgid "Are you sure you want to delete?" msgstr "¿Está seguro de que quiere borrar?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:549 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:537 msgid "Are you sure you want to recover this item?" msgstr "¿Está seguro de que quiere recuperar este elemento?" @@ -188,7 +208,7 @@ msgstr "Asistente" msgid "Attempts" msgstr "Intentos" -#: src/views/preference/Preference.vue:152 +#: src/views/preference/Preference.vue:154 msgid "Auth" msgstr "Autenticación" @@ -205,22 +225,22 @@ msgstr "Configuración de autenticación" msgid "Author" msgstr "Autor" -#: src/views/nginx_log/NginxLog.vue:151 +#: src/views/nginx_log/NginxLog.vue:152 msgid "Auto Refresh" msgstr "Actualización automática" -#: src/views/site/cert/components/ObtainCert.vue:75 +#: src/views/site/cert/components/ObtainCert.vue:80 msgid "Auto-renewal disabled for %{name}" msgstr "Renovación automática deshabilitada por %{name}" -#: src/views/site/cert/components/ObtainCert.vue:68 +#: src/views/site/cert/components/ObtainCert.vue:73 msgid "Auto-renewal enabled for %{name}" msgstr "Renovación automática habilitada por %{name}" -#: src/views/certificate/CertificateEditor.vue:249 -#: src/views/config/ConfigEditor.vue:213 src/views/config/ConfigList.vue:107 -#: src/views/config/ConfigList.vue:181 src/views/nginx_log/NginxLog.vue:172 -#: src/views/site/site_edit/SiteEdit.vue:249 +#: src/views/certificate/CertificateEditor.vue:256 +#: src/views/config/ConfigEditor.vue:215 src/views/config/ConfigList.vue:106 +#: src/views/config/ConfigList.vue:180 src/views/nginx_log/NginxLog.vue:173 +#: src/views/site/site_edit/SiteEdit.vue:264 #: src/views/stream/StreamEdit.vue:245 msgid "Back" msgstr "Volver" @@ -229,7 +249,7 @@ msgstr "Volver" msgid "Back Home" msgstr "Volver al Inicio" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:222 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211 msgid "Back to list" msgstr "Volver a la lista" @@ -249,24 +269,29 @@ msgstr "Bloqueado hasta" msgid "Base information" msgstr "Información general" -#: src/views/config/ConfigEditor.vue:241 -#: src/views/preference/Preference.vue:146 +#: src/views/config/ConfigEditor.vue:243 +#: src/views/preference/Preference.vue:148 #: src/views/site/site_edit/RightSettings.vue:79 #: src/views/stream/components/RightSettings.vue:74 msgid "Basic" msgstr "Básico" -#: src/views/site/site_edit/SiteEdit.vue:194 +#: src/views/site/site_edit/SiteEdit.vue:208 #: src/views/stream/StreamEdit.vue:192 msgid "Basic Mode" msgstr "Modo Básico" +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:85 +#, fuzzy +msgid "Batch Actions" +msgstr "Acción" + #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:66 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:474 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:454 msgid "Batch Modify" msgstr "Modificar por lotes" -#: src/views/environment/BatchUpgrader.vue:154 +#: src/views/environment/BatchUpgrader.vue:155 msgid "Batch Upgrade" msgstr "Actualización por lotes" @@ -288,18 +313,19 @@ msgstr "Dir CA" msgid "CADir" msgstr "Directorio CA" -#: src/views/preference/components/TOTP.vue:151 +#: src/views/preference/components/TOTP.vue:150 msgid "Can't scan? Use text key binding" msgstr "¿No puede escanear? Utilice la vinculación con una llave de texto" #: src/components/ChatGPT/ChatGPT.vue:260 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:261 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:251 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:180 +#: src/components/StdDesign/StdDetail/StdDetail.vue:101 #: src/views/preference/components/Passkey.vue:147 -#: src/views/site/cert/components/ObtainCert.vue:137 +#: src/views/site/cert/components/ObtainCert.vue:140 #: src/views/site/ngx_conf/NgxConfigEditor.vue:51 #: src/views/site/ngx_conf/NgxServer.vue:80 -#: src/views/site/ngx_conf/NgxUpstream.vue:33 +#: src/views/site/ngx_conf/NgxUpstream.vue:34 #: src/views/site/site_edit/RightSettings.vue:55 #: src/views/stream/components/Deploy.vue:20 #: src/views/stream/components/RightSettings.vue:51 @@ -307,11 +333,11 @@ msgid "Cancel" msgstr "Cancelar" #: src/views/site/site_edit/RightSettings.vue:91 -#: src/views/site/site_list/columns.tsx:22 +#: src/views/site/site_list/columns.tsx:23 msgid "Category" msgstr "Categoría" -#: src/views/preference/Preference.vue:158 +#: src/views/preference/Preference.vue:160 msgid "Cert" msgstr "Certificado" @@ -319,7 +345,7 @@ msgstr "Certificado" msgid "Certificate Renewal Interval" msgstr "Intervalo de renovación del Certificado" -#: src/views/certificate/CertificateEditor.vue:122 +#: src/views/certificate/CertificateEditor.vue:129 #: src/views/site/cert/Cert.vue:32 msgid "Certificate Status" msgid_plural "Certificates Status" @@ -335,7 +361,7 @@ msgstr "Certificados" msgid "Certificates List" msgstr "Lista de Certificados" -#: src/views/site/cert/components/AutoCertStepOne.vue:67 +#: src/views/site/cert/components/AutoCertStepOne.vue:66 msgid "Challenge Method" msgstr "Método de desafío" @@ -350,15 +376,15 @@ msgid_plural "Changed Certificates" msgstr[0] "Cambiar Certificado" msgstr[1] "Cambiar Certificados" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 msgid "Changed Path" msgstr "Ruta cambiada" -#: src/views/environment/BatchUpgrader.vue:161 src/views/system/Upgrade.vue:189 +#: src/views/environment/BatchUpgrader.vue:162 src/views/system/Upgrade.vue:190 msgid "Channel" msgstr "Canal" -#: src/views/system/Upgrade.vue:186 +#: src/views/system/Upgrade.vue:187 msgid "Check again" msgstr "Intentar nuevamente" @@ -367,12 +393,12 @@ msgid "Cleaning environment variables" msgstr "Borrar las variables de entorno" #: src/components/ChatGPT/ChatGPT.vue:283 -#: src/components/Notification/Notification.vue:91 +#: src/components/Notification/Notification.vue:140 #: src/views/notification/Notification.vue:45 msgid "Clear" msgstr "Borrar" -#: src/components/Notification/Notification.vue:42 +#: src/components/Notification/Notification.vue:90 #: src/views/notification/Notification.vue:13 msgid "Cleared successfully" msgstr "Limpiado exitoso" @@ -400,7 +426,7 @@ msgstr "El archivo de configuración se probó exitosamente" msgid "Configuration Name" msgstr "Nombre de la configuración" -#: src/views/config/ConfigList.vue:99 +#: src/views/config/ConfigList.vue:98 msgid "Configurations" msgstr "Configuraciones" @@ -412,7 +438,7 @@ msgstr "Configurar SSL" msgid "Connected" msgstr "Conectado" -#: src/views/terminal/Terminal.vue:119 +#: src/views/terminal/Terminal.vue:120 msgid "Connection lost, please refresh the page." msgstr "Conexión perdida, por favor actualice la página." @@ -422,27 +448,28 @@ msgstr "Conexión perdida, por favor actualice la página." msgid "Content" msgstr "Contenido" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 +#: src/components/StdDesign/StdDataDisplay/StdTableTransformer.tsx:150 msgid "Copied" msgstr "Copiado" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 msgid "Copy" msgstr "Copiar" -#: src/views/system/Upgrade.vue:147 +#: src/views/system/Upgrade.vue:148 msgid "Core Upgrade" msgstr "Actualización del kernel" -#: src/views/dashboard/ServerAnalytic.vue:294 +#: src/views/dashboard/ServerAnalytic.vue:305 msgid "CPU Status" msgstr "Estado del CPU" -#: src/views/dashboard/ServerAnalytic.vue:188 +#: src/views/dashboard/ServerAnalytic.vue:199 msgid "CPU:" msgstr "CPU:" -#: src/views/site/ngx_conf/NgxUpstream.vue:163 +#: src/views/site/ngx_conf/NgxUpstream.vue:165 msgid "Create" msgstr "Crear" @@ -450,11 +477,11 @@ msgstr "Crear" msgid "Create Another" msgstr "Crear otro" -#: src/views/config/ConfigList.vue:117 +#: src/views/config/ConfigList.vue:116 msgid "Create File" msgstr "Crear Archivo" -#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:124 +#: src/views/config/components/Mkdir.vue:49 src/views/config/ConfigList.vue:123 msgid "Create Folder" msgstr "Crear carpeta" @@ -464,7 +491,7 @@ msgstr "Crear carpeta" msgid "Created at" msgstr "Creado el" -#: src/views/config/components/Mkdir.vue:33 +#: src/views/config/components/Mkdir.vue:35 msgid "Created successfully" msgstr "Creado con éxito" @@ -480,15 +507,15 @@ msgstr "Credencial" msgid "Credentials" msgstr "Credenciales" -#: src/views/preference/components/TOTP.vue:99 +#: src/views/preference/components/TOTP.vue:98 msgid "Current account is enabled TOTP." msgstr "La cuenta actual tiene habilitada TOTP." -#: src/views/preference/components/TOTP.vue:96 +#: src/views/preference/components/TOTP.vue:95 msgid "Current account is not enabled TOTP." msgstr "La cuenta actual no tiene habilitada TOTP." -#: src/views/system/Upgrade.vue:166 +#: src/views/system/Upgrade.vue:167 msgid "Current Version" msgstr "Versión actual" @@ -497,7 +524,7 @@ msgstr "Versión actual" msgid "Custom" msgstr "Personalizado" -#: src/views/preference/BasicSettings.vue:46 +#: src/views/preference/BasicSettings.vue:34 msgid "" "Customize the name of local node to be displayed in the environment " "indicator." @@ -505,12 +532,12 @@ msgstr "" "Personalice el nombre del servidor local para mostrarlo en el indicador de " "entorno." -#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:133 -#: src/views/config/ConfigEditor.vue:94 src/views/config/ConfigList.vue:65 +#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:136 +#: src/views/config/ConfigEditor.vue:97 src/views/config/ConfigList.vue:64 msgid "Dashboard" msgstr "Panel" -#: src/views/other/Install.vue:117 +#: src/views/other/Install.vue:121 msgid "Database (Optional, default: database)" msgstr "Base de datos (Opcional, default: database)" @@ -518,15 +545,17 @@ msgstr "Base de datos (Opcional, default: database)" msgid "Days" msgstr "Días" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:542 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:530 #: src/views/site/ngx_conf/NgxServer.vue:110 -#: src/views/site/ngx_conf/NgxUpstream.vue:126 -#: src/views/site/site_list/SiteList.vue:158 +#: src/views/site/ngx_conf/NgxUpstream.vue:128 +#: src/views/site/site_list/SiteList.vue:159 #: src/views/stream/StreamList.vue:175 msgid "Delete" msgstr "Eliminar" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:571 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:35 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:559 msgid "Delete Permanently" msgstr "Eliminar Permanentemente" @@ -538,7 +567,7 @@ msgstr "Error al eliminar sitio remoto" msgid "Delete Remote Site Success" msgstr "Borrado del sitio remoto correcto" -#: src/views/site/site_list/SiteList.vue:68 +#: src/views/site/site_list/SiteList.vue:69 msgid "Delete site: %{site_name}" msgstr "Eliminar sitio: %{site_name}" @@ -546,11 +575,11 @@ msgstr "Eliminar sitio: %{site_name}" msgid "Delete stream: %{stream_name}" msgstr "Eliminar stream: %{site_name}" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:196 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:183 msgid "Deleted successfully" msgstr "Borrado exitoso" -#: src/views/config/ConfigEditor.vue:284 +#: src/views/config/ConfigEditor.vue:287 #: src/views/stream/components/Deploy.vue:100 #: src/views/stream/components/RightSettings.vue:92 msgid "Deploy" @@ -593,12 +622,12 @@ msgstr "Directivas" msgid "Directory" msgstr "Directorio" -#: src/views/site/site_list/SiteList.vue:127 +#: src/views/site/site_list/SiteList.vue:128 #: src/views/stream/StreamList.vue:144 msgid "Disable" msgstr "Desactivar" -#: src/views/site/cert/components/ObtainCert.vue:77 +#: src/views/site/cert/components/ObtainCert.vue:82 msgid "Disable auto-renewal failed for %{name}" msgstr "No se pudo desactivar la renovación automática por %{name}" @@ -621,21 +650,21 @@ msgstr "Habilitado exitoso de %{conf_name} en %{node_name}" #: src/views/environment/envColumns.tsx:109 #: src/views/environment/envColumns.tsx:92 -#: src/views/site/site_edit/SiteEdit.vue:177 -#: src/views/site/site_list/columns.tsx:49 -#: src/views/site/site_list/columns.tsx:58 src/views/stream/StreamEdit.vue:175 +#: src/views/site/site_edit/SiteEdit.vue:190 +#: src/views/site/site_list/columns.tsx:51 +#: src/views/site/site_list/columns.tsx:60 src/views/stream/StreamEdit.vue:175 #: src/views/stream/StreamList.vue:33 src/views/user/userColumns.tsx:41 msgid "Disabled" msgstr "Desactivado" #: src/views/site/site_edit/RightSettings.vue:42 -#: src/views/site/site_list/SiteList.vue:57 +#: src/views/site/site_list/SiteList.vue:58 #: src/views/stream/components/RightSettings.vue:38 #: src/views/stream/StreamList.vue:67 msgid "Disabled successfully" msgstr "Desactivado con éxito" -#: src/views/dashboard/ServerAnalytic.vue:359 +#: src/views/dashboard/ServerAnalytic.vue:370 msgid "Disk IO" msgstr "I/O del disco" @@ -648,11 +677,11 @@ msgstr "Credenciales de DNS" msgid "DNS Provider" msgstr "Proveedor DNS" -#: src/views/site/cert/components/AutoCertStepOne.vue:74 +#: src/views/site/cert/components/AutoCertStepOne.vue:73 msgid "DNS01" msgstr "DNS01" -#: src/views/site/cert/components/AutoCertStepOne.vue:99 +#: src/views/site/cert/components/AutoCertStepOne.vue:98 msgid "Do not enable this option unless you are sure that you need it." msgstr "No habilite esta opción a menos que esté seguro de que la necesita." @@ -662,7 +691,7 @@ msgid_plural "Do you want to deploy this file to remote servers?" msgstr[0] "¿Desea desplegar este archivo en un servidor remoto?" msgstr[1] "¿Desea desplegar este archivo en los servidores remotos?" -#: src/views/site/cert/components/ObtainCert.vue:133 +#: src/views/site/cert/components/ObtainCert.vue:136 msgid "Do you want to disable auto-cert renewal?" msgstr "¿Desea deshabilitar la renovación automática de certificado?" @@ -690,7 +719,7 @@ msgstr "¿Quieres habilitar TLS?" msgid "Do you want to remove this server?" msgstr "¿Quieres eliminar este servidor?" -#: src/views/site/ngx_conf/NgxUpstream.vue:29 +#: src/views/site/ngx_conf/NgxUpstream.vue:30 msgid "Do you want to remove this upstream?" msgstr "¿Quieres eliminar esta transmisión?" @@ -702,7 +731,7 @@ msgstr "Dominio" msgid "Domain Config Created Successfully" msgstr "Configuración de dominio creada con éxito" -#: src/views/certificate/CertificateEditor.vue:106 +#: src/views/certificate/CertificateEditor.vue:113 msgid "Domains list is empty, try to reopen Auto Cert for %{config}" msgstr "" "La lista de dominios está vacía, intente reabrir la certificación automática " @@ -716,7 +745,7 @@ msgstr "Error al descargar la última versión" msgid "Downloading latest release" msgstr "Descargando la última versión" -#: src/views/environment/BatchUpgrader.vue:190 src/views/system/Upgrade.vue:216 +#: src/views/environment/BatchUpgrader.vue:191 src/views/system/Upgrade.vue:217 msgid "Dry run mode enabled" msgstr "Modo de ejecución de prueba habilitado" @@ -730,7 +759,7 @@ msgstr "" "ejecutan en el host local." #: src/views/site/site_list/SiteDuplicate.vue:74 -#: src/views/site/site_list/SiteList.vue:143 +#: src/views/site/site_list/SiteList.vue:144 #: src/views/stream/components/StreamDuplicate.vue:121 #: src/views/stream/StreamList.vue:160 msgid "Duplicate" @@ -753,12 +782,17 @@ msgstr "Duplicado con éxito" msgid "Duplicate to local successfully" msgstr "Duplicado con éxito a local" -#: src/views/site/site_edit/SiteEdit.vue:166 +#: src/components/StdDesign/StdDetail/StdDetail.vue:110 +#, fuzzy +msgid "Edit" +msgstr "Editar %{n}" + +#: src/views/site/site_edit/SiteEdit.vue:179 #: src/views/stream/StreamEdit.vue:164 msgid "Edit %{n}" msgstr "Editar %{n}" -#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:206 msgid "Edit Configuration" msgstr "Editar Configuración" @@ -774,11 +808,11 @@ msgstr "Editar Transmisión" msgid "Email" msgstr "Correo" -#: src/views/other/Install.vue:86 +#: src/views/other/Install.vue:90 msgid "Email (*)" msgstr "Correo (*)" -#: src/views/site/site_list/SiteList.vue:135 +#: src/views/site/site_list/SiteList.vue:136 #: src/views/stream/components/Deploy.vue:80 #: src/views/stream/StreamList.vue:152 msgid "Enable" @@ -792,11 +826,11 @@ msgstr "Falló el habilitado de %{conf_name} en %{node_name}" msgid "Enable %{conf_name} in %{node_name} successfully" msgstr "Habilitado exitoso de %{conf_name} en %{node_name}" -#: src/views/preference/components/TOTP.vue:55 +#: src/views/preference/components/TOTP.vue:54 msgid "Enable 2FA successfully" msgstr "Habilitar 2FA exitoso" -#: src/views/site/cert/components/ObtainCert.vue:70 +#: src/views/site/cert/components/ObtainCert.vue:75 msgid "Enable auto-renewal failed for %{name}" msgstr "No se pudo activar la renovación automática por %{name}" @@ -832,7 +866,7 @@ msgstr "Habilitado con Éxito" msgid "Enable TLS" msgstr "Habilitar TLS" -#: src/views/preference/components/TOTP.vue:125 +#: src/views/preference/components/TOTP.vue:124 #, fuzzy msgid "Enable TOTP" msgstr "Habilitar TLS" @@ -841,9 +875,9 @@ msgstr "Habilitar TLS" #: src/views/environment/envColumns.tsx:106 #: src/views/preference/LogrotateSettings.vue:19 #: src/views/site/site_edit/RightSettings.vue:82 -#: src/views/site/site_edit/SiteEdit.vue:171 -#: src/views/site/site_list/columns.tsx:45 -#: src/views/site/site_list/columns.tsx:57 +#: src/views/site/site_edit/SiteEdit.vue:184 +#: src/views/site/site_list/columns.tsx:47 +#: src/views/site/site_list/columns.tsx:59 #: src/views/stream/components/RightSettings.vue:76 #: src/views/stream/StreamEdit.vue:169 src/views/stream/StreamList.vue:29 #: src/views/user/userColumns.tsx:38 @@ -851,14 +885,14 @@ msgid "Enabled" msgstr "Habilitado" #: src/views/site/site_edit/RightSettings.vue:33 -#: src/views/site/site_list/SiteList.vue:47 src/views/site/SiteAdd.vue:40 +#: src/views/site/site_list/SiteList.vue:48 src/views/site/SiteAdd.vue:40 #: src/views/stream/components/RightSettings.vue:29 #: src/views/stream/components/StreamDuplicate.vue:93 #: src/views/stream/StreamList.vue:57 msgid "Enabled successfully" msgstr "Habilitado con éxito" -#: src/views/site/cert/IssueCert.vue:49 +#: src/views/site/cert/IssueCert.vue:48 msgid "Encrypt website with Let's Encrypt" msgstr "Encriptar sitio web con Let's Encrypt" @@ -879,11 +913,11 @@ msgstr "Entornos" msgid "Error" msgstr "Error" -#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:84 +#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:83 msgid "Error Logs" msgstr "Logs de error" -#: src/views/system/Upgrade.vue:178 +#: src/views/system/Upgrade.vue:179 msgid "Executable Path" msgstr "Ruta ejecutable" @@ -896,7 +930,7 @@ msgstr "Vencido" msgid "Expired At: %{date}" msgstr "Vencido el: %{date}" -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:66 msgid "Export" msgstr "Exportar" @@ -905,14 +939,14 @@ msgid "Fail to obtain certificate" msgstr "Falla al obtener el certificado" #: src/views/site/site_edit/RightSettings.vue:45 -#: src/views/site/site_list/SiteList.vue:61 +#: src/views/site/site_list/SiteList.vue:62 #: src/views/stream/components/RightSettings.vue:41 #: src/views/stream/StreamList.vue:71 msgid "Failed to disable %{msg}" msgstr "Error al deshabilitar %{msg}" #: src/views/site/site_edit/RightSettings.vue:36 -#: src/views/site/site_list/SiteList.vue:51 +#: src/views/site/site_list/SiteList.vue:52 #: src/views/stream/components/RightSettings.vue:32 #: src/views/stream/StreamList.vue:61 msgid "Failed to enable %{msg}" @@ -922,7 +956,7 @@ msgstr "Error al habilitar %{msg}" msgid "Failed to get certificate information" msgstr "No se pudo obtener la información del certificado" -#: src/views/site/site_edit/SiteEdit.vue:123 +#: src/views/site/site_edit/SiteEdit.vue:135 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." msgstr "" @@ -940,7 +974,7 @@ msgstr "El archivo existe" msgid "File Not Found" msgstr "Archivo no encontrado" -#: src/views/nginx_log/NginxLog.vue:154 +#: src/views/nginx_log/NginxLog.vue:155 msgid "Filter" msgstr "Filtro" @@ -956,19 +990,24 @@ msgstr "" "Siga las instrucciones del cuadro de diálogo para completar el proceso de " "registro de la llave de acceso." -#: src/views/preference/BasicSettings.vue:38 +#: src/views/preference/BasicSettings.vue:59 +#: src/views/preference/BasicSettings.vue:71 +msgid "For Chinese user" +msgstr "" + +#: src/views/preference/BasicSettings.vue:47 msgid "For Chinese user: https://mirror.ghproxy.com/" msgstr "Para usuario chino: https://mirror.ghproxy.com/" -#: src/views/config/ConfigEditor.vue:216 +#: src/views/config/ConfigEditor.vue:218 msgid "Format Code" msgstr "Código de formato" -#: src/views/config/ConfigEditor.vue:183 +#: src/views/config/ConfigEditor.vue:185 msgid "Format error %{msg}" msgstr "Error de formato %{msg}" -#: src/views/config/ConfigEditor.vue:181 +#: src/views/config/ConfigEditor.vue:183 msgid "Format successfully" msgstr "Formateado correctamente" @@ -976,7 +1015,7 @@ msgstr "Formateado correctamente" msgid "General Certificate" msgstr "Certificado General" -#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:52 +#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:55 msgid "Generate" msgstr "Generar" @@ -984,7 +1023,7 @@ msgstr "Generar" msgid "Generating private key for registering account" msgstr "Generando clave privada para registrar cuenta" -#: src/views/environment/BatchUpgrader.vue:179 src/views/system/Upgrade.vue:170 +#: src/views/environment/BatchUpgrader.vue:180 src/views/system/Upgrade.vue:171 msgid "Get release information error" msgstr "Obtener error de información de versión" @@ -992,11 +1031,11 @@ msgstr "Obtener error de información de versión" msgid "Getting the certificate, please wait..." msgstr "Obteniendo el certificado, por favor espere..." -#: src/views/preference/BasicSettings.vue:30 +#: src/views/preference/BasicSettings.vue:39 msgid "Github Proxy" msgstr "Proxy Github" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Hide" msgstr "Ocultar" @@ -1016,10 +1055,14 @@ msgstr "Host HTTP" msgid "HTTP Port" msgstr "Puerto HTTP" -#: src/views/site/cert/components/AutoCertStepOne.vue:71 +#: src/views/site/cert/components/AutoCertStepOne.vue:70 msgid "HTTP01" msgstr "HTTP01" +#: src/views/preference/BasicSettings.vue:51 +msgid "ICP Number" +msgstr "" + #: src/views/certificate/ACMEUser.vue:45 msgid "If left blank, the default CA Dir will be used." msgstr "Si se deja en blanco, se utilizará el directorio CA predeterminado." @@ -1033,7 +1076,7 @@ msgstr "" "el máximo de intentos en los minutos del umbral de prohibición, la IP será " "bloqueada por un período de tiempo." -#: src/views/preference/components/TOTP.vue:111 +#: src/views/preference/components/TOTP.vue:110 msgid "" "If you lose your mobile phone, you can use the recovery code to reset your " "2FA." @@ -1046,7 +1089,7 @@ msgid "If your browser supports WebAuthn Passkey, a dialog box will appear." msgstr "" "Si su navegador admite WebAuthn Passkey, aparecerá un cuadro de diálogo." -#: src/views/site/cert/components/AutoCertStepOne.vue:109 +#: src/views/site/cert/components/AutoCertStepOne.vue:108 msgid "" "If your domain has CNAME records and you cannot obtain certificates, you " "need to enable this option." @@ -1058,14 +1101,15 @@ msgstr "" msgid "Import" msgstr "Importar" -#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:86 msgid "Import Certificate" msgstr "Importar Certificado" -#: src/views/other/Login.vue:77 +#: src/views/other/Login.vue:78 msgid "Incorrect username or password" msgstr "Nombre de usuario o contraseña incorrectos" +#: src/components/StdDesign/StdDetail/StdDetail.vue:81 #: src/constants/index.ts:18 src/views/notification/notificationColumns.tsx:29 msgid "Info" msgstr "Información" @@ -1078,20 +1122,20 @@ msgstr "Error de actualización de kernel inicial" msgid "Initialing core upgrader" msgstr "Inicializando la actualización del kernel" -#: src/views/preference/components/TOTP.vue:158 +#: src/views/preference/components/TOTP.vue:157 msgid "Input the code from the app:" msgstr "Ingrese el código de la aplicación:" #: src/components/TwoFA/Authorization.vue:87 -#: src/views/preference/components/TOTP.vue:171 +#: src/views/preference/components/TOTP.vue:170 msgid "Input the recovery code:" msgstr "Ingrese el código de recuperación:" -#: src/routes/index.ts:305 src/views/other/Install.vue:132 +#: src/routes/index.ts:305 src/views/other/Install.vue:136 msgid "Install" msgstr "Instalar" -#: src/views/other/Install.vue:63 +#: src/views/other/Install.vue:67 msgid "Install successfully" msgstr "Instalación exitosa" @@ -1103,20 +1147,20 @@ msgstr "Intervalo" msgid "Invalid" msgstr "Inválido" -#: src/views/other/Login.vue:87 +#: src/views/other/Login.vue:88 msgid "Invalid 2FA or recovery code" msgstr "Código 2FA o de recuperación inválido" -#: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:250 +#: src/views/config/components/Rename.vue:66 +#: src/views/config/ConfigEditor.vue:252 msgid "Invalid filename" msgstr "Nombre de archivo inválido" -#: src/views/config/components/Mkdir.vue:57 +#: src/views/config/components/Mkdir.vue:59 msgid "Invalid folder name" msgstr "Nombre de carpeta inválido" -#: src/components/TwoFA/use2FAModal.ts:60 +#: src/components/TwoFA/use2FAModal.ts:61 msgid "Invalid passcode or recovery code" msgstr "Código de acceso o código de recuperación inválido" @@ -1145,11 +1189,11 @@ msgid "Jwt Secret" msgstr "Secreto Jwt" #: src/views/certificate/CertificateList/certColumns.tsx:62 -#: src/views/site/cert/components/AutoCertStepOne.vue:78 +#: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" msgstr "Tipo llave" -#: src/views/system/Upgrade.vue:180 +#: src/views/system/Upgrade.vue:181 msgid "Last checked at" msgstr "Comprobado por última vez el" @@ -1175,12 +1219,12 @@ msgstr "Para no modificar dejar en blanco" msgid "Leave blank if you don't need this." msgstr "Déjelo en blanco si no lo necesita." -#: src/views/certificate/CertificateEditor.vue:214 -#: src/views/certificate/CertificateEditor.vue:227 +#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:234 msgid "Leave blank will not change anything" msgstr "Dejarlo en blanco no cambiará nada" -#: src/views/site/cert/components/AutoCertStepOne.vue:106 +#: src/views/site/cert/components/AutoCertStepOne.vue:105 msgid "Lego disable CNAME Support" msgstr "Lego deshabilita el soporte de CNAME" @@ -1193,11 +1237,11 @@ msgstr "Licencia" msgid "Link Start" msgstr "Iniciar conexión" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:199 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:178 msgid "List" msgstr "Lista" -#: src/views/dashboard/ServerAnalytic.vue:176 +#: src/views/dashboard/ServerAnalytic.vue:187 msgid "Load Average:" msgstr "Promedios de carga:" @@ -1210,7 +1254,7 @@ msgid "Load successfully" msgstr "Cargado con éxito" #: src/components/EnvIndicator/EnvIndicator.vue:39 -#: src/components/NodeSelector/NodeSelector.vue:70 +#: src/components/NodeSelector/NodeSelector.vue:80 msgid "Local" msgstr "Local" @@ -1222,23 +1266,23 @@ msgstr "Ubicación" msgid "Locations" msgstr "Ubicaciones" -#: src/views/certificate/CertificateEditor.vue:237 +#: src/views/certificate/CertificateEditor.vue:244 msgid "Log" msgstr "Registro" -#: src/routes/index.ts:311 src/views/other/Login.vue:245 +#: src/routes/index.ts:311 src/views/other/Login.vue:246 msgid "Login" msgstr "Acceso" -#: src/views/other/Login.vue:131 src/views/other/Login.vue:64 +#: src/views/other/Login.vue:132 src/views/other/Login.vue:65 msgid "Login successful" msgstr "Acceso exitoso" -#: src/layouts/HeaderLayout.vue:19 +#: src/layouts/HeaderLayout.vue:20 msgid "Logout successful" msgstr "Cierre de sesión exitoso" -#: src/views/preference/Preference.vue:176 +#: src/views/preference/Preference.vue:178 msgid "Logrotate" msgstr "Rotación de logs" @@ -1259,7 +1303,7 @@ msgstr "" "de Nginx UI ejecutará el comando logrotate en el intervalo que establezca en " "minutos." -#: src/views/site/cert/components/AutoCertStepOne.vue:54 +#: src/views/site/cert/components/AutoCertStepOne.vue:53 msgid "" "Make sure you have configured a reverse proxy for .well-known directory to " "HTTPChallengePort before obtaining the certificate." @@ -1267,12 +1311,12 @@ msgstr "" "Asegúrese de haber configurado un proxy reverso para el directorio .well-" "known en HTTPChallengePort antes de obtener el certificado." -#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:138 -#: src/views/config/ConfigEditor.vue:99 src/views/config/ConfigList.vue:70 +#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:102 +#: src/views/config/ConfigEditor.vue:141 src/views/config/ConfigList.vue:69 msgid "Manage Configs" msgstr "Administrar configuraciones" -#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:97 +#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:98 msgid "Manage Sites" msgstr "Administrar sitios" @@ -1292,12 +1336,12 @@ msgstr "Certificado Administrado" msgid "Max Attempts" msgstr "Intentos máximos" -#: src/views/dashboard/ServerAnalytic.vue:215 -#: src/views/dashboard/ServerAnalytic.vue:216 +#: src/views/dashboard/ServerAnalytic.vue:226 +#: src/views/dashboard/ServerAnalytic.vue:227 msgid "Memory" msgstr "Memoria" -#: src/views/dashboard/ServerAnalytic.vue:205 +#: src/views/dashboard/ServerAnalytic.vue:216 msgid "Memory and Storage" msgstr "Memoria y almacenamiento" @@ -1310,13 +1354,13 @@ msgid "Model" msgstr "Modelo" #: src/components/ChatGPT/ChatGPT.vue:256 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:520 -#: src/views/config/ConfigList.vue:159 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:508 +#: src/views/config/ConfigList.vue:158 msgid "Modify" msgstr "Modificar" -#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:86 msgid "Modify Certificate" msgstr "Modificar Certificado" @@ -1324,7 +1368,7 @@ msgstr "Modificar Certificado" msgid "Modify Config" msgstr "Modificar configuración" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 msgid "Modify Mode" msgstr "Modo Modificar" @@ -1333,13 +1377,13 @@ msgid "Multi-line Directive" msgstr "Directiva multilínea" #: src/views/certificate/ACMEUser.vue:13 -#: src/views/certificate/CertificateEditor.vue:154 +#: src/views/certificate/CertificateEditor.vue:161 #: src/views/certificate/CertificateList/certColumns.tsx:10 #: src/views/certificate/DNSCredential.vue:11 -#: src/views/config/components/Mkdir.vue:64 src/views/config/configColumns.ts:8 -#: src/views/config/ConfigEditor.vue:256 src/views/environment/envColumns.tsx:9 +#: src/views/config/components/Mkdir.vue:66 src/views/config/configColumns.ts:8 +#: src/views/config/ConfigEditor.vue:258 src/views/environment/envColumns.tsx:9 #: src/views/preference/components/AddPasskey.vue:81 -#: src/views/site/ngx_conf/NgxUpstream.vue:175 +#: src/views/site/ngx_conf/NgxUpstream.vue:177 #: src/views/site/site_category/columns.ts:7 #: src/views/site/site_edit/RightSettings.vue:88 #: src/views/site/site_list/columns.tsx:13 @@ -1350,41 +1394,41 @@ msgstr "Directiva multilínea" msgid "Name" msgstr "Nombre" -#: src/views/dashboard/ServerAnalytic.vue:320 +#: src/views/dashboard/ServerAnalytic.vue:331 msgid "Network" msgstr "Red" -#: src/views/dashboard/ServerAnalytic.vue:262 +#: src/views/dashboard/ServerAnalytic.vue:273 msgid "Network Statistics" msgstr "Estadísticas de red" -#: src/views/dashboard/ServerAnalytic.vue:269 +#: src/views/dashboard/ServerAnalytic.vue:280 msgid "Network Total Receive" msgstr "Total recibido por la red" -#: src/views/dashboard/ServerAnalytic.vue:275 +#: src/views/dashboard/ServerAnalytic.vue:286 msgid "Network Total Send" msgstr "Total enviado por la red" -#: src/views/config/components/Rename.vue:73 +#: src/views/config/components/Rename.vue:74 msgid "New name" msgstr "Nuevo nombre" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 msgid "New Path" msgstr "Nueva ruta" -#: src/views/system/Upgrade.vue:209 +#: src/views/system/Upgrade.vue:210 msgid "New version released" msgstr "Se liberó una nueva versión" #: src/views/certificate/WildcardCertificate.vue:91 -#: src/views/site/cert/components/ObtainCert.vue:208 +#: src/views/site/cert/components/ObtainCert.vue:211 #: src/views/site/SiteAdd.vue:141 msgid "Next" msgstr "Siguiente" -#: src/views/preference/Preference.vue:164 +#: src/views/preference/Preference.vue:166 msgid "Nginx" msgstr "Nginx" @@ -1392,7 +1436,7 @@ msgstr "Nginx" msgid "Nginx Access Log Path" msgstr "Ruta de registro de acceso de Nginx" -#: src/views/site/site_edit/SiteEdit.vue:209 +#: src/views/site/site_edit/SiteEdit.vue:223 #: src/views/stream/StreamEdit.vue:207 msgid "Nginx Configuration Parse Error" msgstr "Error de análisis de configuración de Nginx" @@ -1414,7 +1458,7 @@ msgstr "Ruta de registro de errores de Nginx" msgid "Nginx is not running" msgstr "Nginx no se está ejecutando" -#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:147 +#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:148 msgid "Nginx Log" msgstr "Registro Nginx" @@ -1445,22 +1489,23 @@ msgid "Nginx restarted successfully" msgstr "Nginx reiniciado con éxito" #: src/components/ChatGPT/ChatGPT.vue:277 -#: src/components/Notification/Notification.vue:84 +#: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:67 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:533 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:547 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:562 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:96 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:521 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:550 #: src/views/notification/Notification.vue:38 #: src/views/preference/AuthSettings.vue:138 #: src/views/preference/CertSettings.vue:70 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:90 #: src/views/site/ngx_conf/LocationEditor.vue:90 -#: src/views/site/site_list/SiteList.vue:147 +#: src/views/site/site_list/SiteList.vue:148 #: src/views/stream/StreamList.vue:164 msgid "No" msgstr "No" -#: src/views/preference/BasicSettings.vue:42 +#: src/views/preference/BasicSettings.vue:30 #, fuzzy msgid "Node name" msgstr "Nuevo nombre" @@ -1482,7 +1527,7 @@ msgid "Not Valid Before: %{date}" msgstr "No válido antes: %{date}" #: src/views/certificate/DNSCredential.vue:49 -#: src/views/site/cert/components/AutoCertStepOne.vue:40 +#: src/views/site/cert/components/AutoCertStepOne.vue:39 msgid "Note" msgstr "Nota" @@ -1499,11 +1544,11 @@ msgstr "" msgid "Notification" msgstr "Notificación" -#: src/components/Notification/Notification.vue:82 src/routes/index.ts:248 +#: src/components/Notification/Notification.vue:131 src/routes/index.ts:248 msgid "Notifications" msgstr "Notificaciones" -#: src/views/site/cert/components/ObtainCert.vue:179 +#: src/views/site/cert/components/ObtainCert.vue:182 msgid "Obtain certificate" msgstr "Obtener certificado" @@ -1511,11 +1556,11 @@ msgstr "Obtener certificado" msgid "Obtaining certificate" msgstr "Obteniendo certificado" -#: src/views/site/cert/components/AutoCertStepOne.vue:96 +#: src/views/site/cert/components/AutoCertStepOne.vue:95 msgid "OCSP Must Staple" msgstr "OCSP debe estampillarse" -#: src/views/site/cert/components/AutoCertStepOne.vue:100 +#: src/views/site/cert/components/AutoCertStepOne.vue:99 msgid "" "OCSP Must Staple may cause errors for some users on first access using " "Firefox." @@ -1523,29 +1568,30 @@ msgstr "" "OCSP Must Staple puede causar errores para algunos usuarios en el primer " "acceso usando Firefox." -#: src/components/NodeSelector/NodeSelector.vue:93 +#: src/components/NodeSelector/NodeSelector.vue:103 #: src/views/dashboard/Environments.vue:107 #: src/views/environment/envColumns.tsx:87 msgid "Offline" msgstr "Desconectado" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:262 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:183 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:252 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:522 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:536 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:551 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:181 msgid "Ok" msgstr "Ok" #: src/components/ChatGPT/ChatGPT.vue:278 -#: src/components/Notification/Notification.vue:85 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:534 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:548 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:563 +#: src/components/Notification/Notification.vue:134 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:97 #: src/views/notification/Notification.vue:39 -#: src/views/site/cert/components/ObtainCert.vue:136 +#: src/views/site/cert/components/ObtainCert.vue:139 #: src/views/site/ngx_conf/NgxConfigEditor.vue:50 #: src/views/site/ngx_conf/NgxServer.vue:79 -#: src/views/site/ngx_conf/NgxUpstream.vue:32 +#: src/views/site/ngx_conf/NgxUpstream.vue:33 #: src/views/site/site_edit/RightSettings.vue:54 -#: src/views/site/site_list/SiteList.vue:148 +#: src/views/site/site_list/SiteList.vue:149 #: src/views/stream/components/Deploy.vue:19 #: src/views/stream/components/RightSettings.vue:50 #: src/views/stream/StreamList.vue:165 @@ -1556,39 +1602,39 @@ msgstr "OK" msgid "Once the verification is complete, the records will be removed." msgstr "Una vez que se complete la verificación, los registros se eliminarán." -#: src/components/NodeSelector/NodeSelector.vue:73 -#: src/components/NodeSelector/NodeSelector.vue:87 +#: src/components/NodeSelector/NodeSelector.vue:83 +#: src/components/NodeSelector/NodeSelector.vue:97 #: src/views/dashboard/Environments.vue:100 #: src/views/environment/envColumns.tsx:83 msgid "Online" msgstr "En línea" -#: src/views/preference/Preference.vue:170 +#: src/views/preference/Preference.vue:172 msgid "OpenAI" msgstr "OpenAI" -#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:254 +#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:255 msgid "Or" msgstr "O" -#: src/views/config/components/Rename.vue:69 +#: src/views/config/components/Rename.vue:70 msgid "Original name" msgstr "Nombre original" -#: src/views/system/Upgrade.vue:176 +#: src/views/system/Upgrade.vue:177 msgid "OS" msgstr "SO" -#: src/views/dashboard/ServerAnalytic.vue:182 +#: src/views/dashboard/ServerAnalytic.vue:193 msgid "OS:" msgstr "SO:" -#: src/views/config/ConfigEditor.vue:293 +#: src/views/config/ConfigEditor.vue:296 #: src/views/stream/components/Deploy.vue:84 msgid "Overwrite" msgstr "Sobrescribir" -#: src/views/config/ConfigEditor.vue:297 +#: src/views/config/ConfigEditor.vue:300 #: src/views/stream/components/Deploy.vue:88 msgid "Overwrite exist file" msgstr "Sobrescribir archivo existente" @@ -1612,21 +1658,25 @@ msgstr "" "dispositivo o un PIN. Se pueden utilizar como reemplazo de contraseña o como " "método de autenticación de dos factores." -#: src/views/other/Login.vue:206 src/views/user/userColumns.tsx:18 +#: src/views/other/Login.vue:207 src/views/user/userColumns.tsx:18 msgid "Password" msgstr "Contraseña" -#: src/views/other/Install.vue:106 +#: src/views/other/Install.vue:110 msgid "Password (*)" msgstr "Contraseña (*)" -#: src/views/config/ConfigEditor.vue:262 +#: src/views/other/Install.vue:48 +msgid "Password length cannot exceed 20 characters" +msgstr "" + +#: src/views/config/ConfigEditor.vue:265 #: src/views/site/ngx_conf/LocationEditor.vue:111 #: src/views/site/ngx_conf/LocationEditor.vue:139 msgid "Path" msgstr "Ruta" -#: src/views/environment/BatchUpgrader.vue:234 +#: src/views/environment/BatchUpgrader.vue:235 msgid "Perform" msgstr "Realizar" @@ -1659,11 +1709,11 @@ msgstr "" "Por favor, complete las credenciales de autenticación API proporcionadas por " "su proveedor de DNS." -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:127 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:107 msgid "Please fill in the required fields" msgstr "Por favor, complete los campos requeridos" -#: src/views/site/cert/components/AutoCertStepOne.vue:58 +#: src/views/site/cert/components/AutoCertStepOne.vue:57 msgid "" "Please first add credentials in Certification > DNS Credentials, and then " "select one of the credentialsbelow to request the API of the DNS provider." @@ -1672,12 +1722,12 @@ msgstr "" "luego seleccione una de las credenciales de aquí debajo para llamar a la API " "del proveedor de DNS." -#: src/views/config/components/Rename.vue:64 -#: src/views/config/ConfigEditor.vue:249 +#: src/views/config/components/Rename.vue:65 +#: src/views/config/ConfigEditor.vue:251 msgid "Please input a filename" msgstr "Por favor, ingrese un nombre de archivo" -#: src/views/config/components/Mkdir.vue:56 +#: src/views/config/components/Mkdir.vue:58 msgid "Please input a folder name" msgstr "Por favor, introduzca un nombre de carpeta" @@ -1701,11 +1751,11 @@ msgstr "" msgid "Please input your E-mail!" msgstr "¡Por favor ingrese su correo electrónico!" -#: src/views/other/Install.vue:44 src/views/other/Login.vue:46 +#: src/views/other/Install.vue:44 src/views/other/Login.vue:47 msgid "Please input your password!" msgstr "¡Por favor ingrese su contraseña!" -#: src/views/other/Install.vue:38 src/views/other/Login.vue:40 +#: src/views/other/Install.vue:38 src/views/other/Login.vue:41 msgid "Please input your username!" msgstr "¡Por favor ingrese su nombre de usuario!" @@ -1738,13 +1788,13 @@ msgstr "" "favor actualiza la interfaz de usuario de Nginx en el servidor remoto a la " "última versión" -#: src/views/environment/BatchUpgrader.vue:169 -#: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195 -#: src/views/system/Upgrade.vue:246 +#: src/views/environment/BatchUpgrader.vue:170 +#: src/views/environment/BatchUpgrader.vue:223 src/views/system/Upgrade.vue:196 +#: src/views/system/Upgrade.vue:247 msgid "Pre-release" msgstr "Prelanzamiento" -#: src/routes/index.ts:266 src/views/preference/Preference.vue:141 +#: src/routes/index.ts:266 src/views/preference/Preference.vue:143 msgid "Preference" msgstr "Configuración" @@ -1773,34 +1823,39 @@ msgstr "Proveedor" msgid "Proxy" msgstr "Proxy de la API" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:376 +#: src/views/preference/BasicSettings.vue:63 +msgid "Public Security Number" +msgstr "" + +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:387 msgid "Reads" msgstr "Lecturas" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:327 +#: src/views/dashboard/ServerAnalytic.vue:338 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Receive" msgstr "Recibido" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:556 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:43 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:544 msgid "Recover" msgstr "Recuperar" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:204 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:191 msgid "Recovered Successfully" msgstr "Recuperado con éxito" #: src/components/TwoFA/Authorization.vue:94 -#: src/views/preference/components/TOTP.vue:178 +#: src/views/preference/components/TOTP.vue:177 msgid "Recovery" msgstr "Recuperación" -#: src/views/preference/components/TOTP.vue:104 +#: src/views/preference/components/TOTP.vue:103 msgid "Recovery Code" msgstr "Código de Recuperación" -#: src/views/preference/components/TOTP.vue:113 +#: src/views/preference/components/TOTP.vue:112 msgid "Recovery Code:" msgstr "Código de Recuperación:" @@ -1850,11 +1905,11 @@ msgstr "Registrando Usuario" msgid "Registration Status" msgstr "Esto de registración" -#: src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:228 msgid "Reinstall" msgstr "Reinstalar" -#: src/views/system/Upgrade.vue:250 +#: src/views/system/Upgrade.vue:251 msgid "Release Note" msgstr "Nota de versión" @@ -1890,13 +1945,14 @@ msgstr "Duplicado con éxito de %{conf_name} a %{node_name}" msgid "Remove successfully" msgstr "Eliminado con éxito" -#: src/components/Notification/Notification.vue:52 +#: src/components/Notification/Notification.vue:100 msgid "Removed successfully" msgstr "Eliminado con éxito" -#: src/views/config/components/Rename.vue:55 -#: src/views/config/ConfigList.vue:167 -#: src/views/site/ngx_conf/NgxUpstream.vue:123 +#: src/views/config/components/ConfigName.vue:50 +#: src/views/config/components/Rename.vue:56 +#: src/views/config/ConfigList.vue:166 +#: src/views/site/ngx_conf/NgxUpstream.vue:125 #: src/views/site/site_edit/components/ConfigName.vue:46 msgid "Rename" msgstr "Renombrar" @@ -1939,17 +1995,18 @@ msgstr "Renombrar %{orig_path} a %{new_path} en %{env_name} con éxito" msgid "Rename Site %{site} to %{new_site} on %{node} successfully" msgstr "Renombrar %{orig_path} a %{new_path} en %{env_name} con éxito" -#: src/views/config/components/Rename.vue:41 +#: src/views/config/components/Rename.vue:42 msgid "Rename successfully" msgstr "Renombrado con éxito" +#: src/views/config/components/ConfigName.vue:30 #: src/views/site/site_edit/components/ConfigName.vue:27 #, fuzzy msgid "Renamed successfully" msgstr "Renombrado con éxito" -#: src/views/certificate/RenewCert.vue:43 -#: src/views/certificate/RenewCert.vue:47 +#: src/views/certificate/RenewCert.vue:45 +#: src/views/certificate/RenewCert.vue:49 msgid "Renew Certificate" msgstr "Renovar Certificado" @@ -1961,7 +2018,7 @@ msgstr "Error al renovar el Certificado" msgid "Renew Certificate Success" msgstr "Renovado de Certificado exitoso" -#: src/views/certificate/RenewCert.vue:25 +#: src/views/certificate/RenewCert.vue:27 #: src/views/certificate/WildcardCertificate.vue:48 msgid "Renew successfully" msgstr "Renovado con éxito" @@ -1970,11 +2027,11 @@ msgstr "Renovado con éxito" msgid "Requested with wrong parameters" msgstr "Pedido con parámetros incorrectos" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:468 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:448 msgid "Reset" msgstr "Limpiar" -#: src/views/preference/components/TOTP.vue:133 +#: src/views/preference/components/TOTP.vue:132 msgid "Reset 2FA" msgstr "Restablecer 2FA" @@ -2008,13 +2065,15 @@ msgstr "Corriendo" #: src/components/ChatGPT/ChatGPT.vue:259 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:68 -#: src/views/certificate/CertificateEditor.vue:256 -#: src/views/config/ConfigEditor.vue:222 +#: src/components/StdDesign/StdDetail/StdDetail.vue:93 +#: src/views/certificate/CertificateEditor.vue:263 +#: src/views/config/components/ConfigName.vue:58 +#: src/views/config/ConfigEditor.vue:224 #: src/views/preference/components/Passkey.vue:136 -#: src/views/preference/Preference.vue:187 +#: src/views/preference/Preference.vue:189 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:120 #: src/views/site/site_edit/components/ConfigName.vue:54 -#: src/views/site/site_edit/SiteEdit.vue:256 +#: src/views/site/site_edit/SiteEdit.vue:271 #: src/views/stream/StreamEdit.vue:252 msgid "Save" msgstr "Guardar" @@ -2023,7 +2082,7 @@ msgstr "Guardar" msgid "Save Directive" msgstr "Guardar Directiva" -#: src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:173 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:41 #: src/views/site/SiteAdd.vue:46 msgid "Save error %{msg}" @@ -2043,8 +2102,8 @@ msgstr "Renombrar Configuración Remota Exitosa" #, fuzzy msgid "Save site %{site} to %{node} error, response: %{resp}" msgstr "" -"Sincronización del Certificado %{cert_name} a %{env_name} falló, respuesta: " -"%{resp}" +"Sincronización del Certificado %{cert_name} a %{env_name} falló, respuesta: %" +"{resp}" #: src/components/Notification/config.ts:35 #, fuzzy @@ -2052,20 +2111,20 @@ msgid "Save Site %{site} to %{node} successfully" msgstr "Duplicado con éxito de %{conf_name} a %{node_name}" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117 -#: src/views/certificate/CertificateEditor.vue:46 -#: src/views/preference/Preference.vue:110 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:97 +#: src/views/certificate/CertificateEditor.vue:49 +#: src/views/preference/Preference.vue:112 msgid "Save successfully" msgstr "Guardado con éxito" -#: src/views/config/ConfigEditor.vue:167 +#: src/views/config/ConfigEditor.vue:169 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 -#: src/views/site/site_edit/SiteEdit.vue:140 src/views/site/SiteAdd.vue:37 +#: src/views/site/site_edit/SiteEdit.vue:152 src/views/site/SiteAdd.vue:37 #: src/views/stream/StreamEdit.vue:138 msgid "Saved successfully" msgstr "Guardado con éxito" -#: src/views/preference/components/TOTP.vue:94 +#: src/views/preference/components/TOTP.vue:93 msgid "Scan the QR code with your mobile phone to add the account to the app." msgstr "" "Escanee el código QR con su teléfono móvil para agregar la cuenta a la " @@ -2075,49 +2134,49 @@ msgstr "" msgid "SDK" msgstr "SDK" -#: src/views/preference/components/TOTP.vue:150 +#: src/views/preference/components/TOTP.vue:149 msgid "Secret has been copied" msgstr "El secreto ha sido copiado" -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:184 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 msgid "Selector" msgstr "Seleccionador" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:337 +#: src/views/dashboard/ServerAnalytic.vue:348 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Send" msgstr "Enviado" #: src/components/NginxControl/NginxControl.vue:32 #: src/components/NginxControl/NginxControl.vue:48 -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:44 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:124 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:53 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:207 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:249 -#: src/views/config/components/Mkdir.vue:36 -#: src/views/config/components/Rename.vue:44 -#: src/views/config/ConfigEditor.vue:108 -#: src/views/environment/BatchUpgrader.vue:58 -#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:66 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:70 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:194 +#: src/views/config/components/Mkdir.vue:38 +#: src/views/config/components/Rename.vue:45 +#: src/views/config/ConfigEditor.vue:111 +#: src/views/environment/BatchUpgrader.vue:59 +#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:70 #: src/views/preference/AuthSettings.vue:49 #: src/views/preference/components/Passkey.vue:26 #: src/views/preference/components/Passkey.vue:43 #: src/views/preference/components/Passkey.vue:56 -#: src/views/preference/components/TOTP.vue:45 -#: src/views/preference/components/TOTP.vue:58 -#: src/views/preference/Preference.vue:114 -#: src/views/site/site_list/SiteList.vue:39 -#: src/views/site/site_list/SiteList.vue:71 src/views/stream/StreamList.vue:113 -#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:41 +#: src/views/preference/components/TOTP.vue:44 +#: src/views/preference/components/TOTP.vue:57 +#: src/views/preference/Preference.vue:116 +#: src/views/site/site_list/SiteList.vue:40 +#: src/views/site/site_list/SiteList.vue:72 src/views/stream/StreamList.vue:113 +#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:42 msgid "Server error" msgstr "Error del servidor" -#: src/views/dashboard/ServerAnalytic.vue:168 +#: src/views/dashboard/ServerAnalytic.vue:179 msgid "Server Info" msgstr "Información del servidor" -#: src/views/site/cert/components/ObtainCert.vue:102 +#: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "No se encuentra server_name en las directivas" @@ -2145,11 +2204,11 @@ msgstr "Configuración de variables de entorno" msgid "Setting HTTP01 challenge provider" msgstr "Usando el proveedor de desafíos HTTP01" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "Mostrar" -#: src/views/other/Login.vue:263 +#: src/views/other/Login.vue:264 msgid "Sign in with a passkey" msgstr "Iniciar sesión con una llave de acceso" @@ -2169,36 +2228,36 @@ msgstr "Registros del sitio" msgid "Sites List" msgstr "Lista de sitios" -#: src/views/certificate/CertificateEditor.vue:205 +#: src/views/certificate/CertificateEditor.vue:212 msgid "SSL Certificate Content" msgstr "Contenido de certificado SSL" -#: src/views/certificate/CertificateEditor.vue:218 +#: src/views/certificate/CertificateEditor.vue:225 msgid "SSL Certificate Key Content" msgstr "Contenido de la llave del certificado SSL" -#: src/views/certificate/CertificateEditor.vue:184 +#: src/views/certificate/CertificateEditor.vue:191 msgid "SSL Certificate Key Path" msgstr "Ruta de la llave del certificado SSL" -#: src/views/certificate/CertificateEditor.vue:169 +#: src/views/certificate/CertificateEditor.vue:176 msgid "SSL Certificate Path" msgstr "Ruta del certificado SSL" -#: src/views/other/Login.vue:221 +#: src/views/other/Login.vue:222 msgid "SSO Login" msgstr "Acceso SSO" -#: src/views/environment/BatchUpgrader.vue:166 -#: src/views/environment/BatchUpgrader.vue:216 src/views/system/Upgrade.vue:192 -#: src/views/system/Upgrade.vue:240 +#: src/views/environment/BatchUpgrader.vue:167 +#: src/views/environment/BatchUpgrader.vue:217 src/views/system/Upgrade.vue:193 +#: src/views/system/Upgrade.vue:241 msgid "Stable" msgstr "Estable" #: src/views/certificate/ACMEUser.vue:65 #: src/views/certificate/CertificateList/certColumns.tsx:68 #: src/views/environment/envColumns.tsx:75 -#: src/views/site/site_list/columns.tsx:38 src/views/stream/StreamList.vue:22 +#: src/views/site/site_list/columns.tsx:40 src/views/stream/StreamList.vue:22 msgid "Status" msgstr "Estado" @@ -2206,8 +2265,8 @@ msgstr "Estado" msgid "Stopped" msgstr "Detenido" -#: src/views/dashboard/ServerAnalytic.vue:243 -#: src/views/dashboard/ServerAnalytic.vue:244 +#: src/views/dashboard/ServerAnalytic.vue:254 +#: src/views/dashboard/ServerAnalytic.vue:255 msgid "Storage" msgstr "Almacenamiento" @@ -2215,8 +2274,8 @@ msgstr "Almacenamiento" msgid "Success" msgstr "Éxito" -#: src/views/dashboard/ServerAnalytic.vue:229 -#: src/views/dashboard/ServerAnalytic.vue:230 +#: src/views/dashboard/ServerAnalytic.vue:240 +#: src/views/dashboard/ServerAnalytic.vue:241 msgid "Swap" msgstr "Swap" @@ -2228,7 +2287,7 @@ msgstr "Cambiar al tema oscuro" msgid "Switch to light theme" msgstr "Cambiar al tema claro" -#: src/views/config/components/Rename.vue:80 +#: src/views/config/components/Rename.vue:81 msgid "Sync" msgstr "Sincronizar" @@ -2247,8 +2306,8 @@ msgstr "" #: src/components/Notification/cert.ts:14 msgid "Sync Certificate %{cert_name} to %{env_name} failed, response: %{resp}" msgstr "" -"Sincronización del Certificado %{cert_name} a %{env_name} falló, respuesta: " -"%{resp}" +"Sincronización del Certificado %{cert_name} a %{env_name} falló, respuesta: %" +"{resp}" #: src/components/Notification/cert.ts:4 msgid "Sync Certificate %{cert_name} to %{env_name} successfully" @@ -2291,7 +2350,7 @@ msgstr "Sincronizar con" msgid "Sync strategy" msgstr "Sincronizar Certificado" -#: src/views/certificate/CertificateEditor.vue:198 +#: src/views/certificate/CertificateEditor.vue:205 msgid "Sync to" msgstr "Sincronizar con" @@ -2311,7 +2370,7 @@ msgstr "Usuario inicial del sistema" msgid "Target" msgstr "Objetivo" -#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:113 +#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:114 msgid "Terminal" msgstr "Terminal" @@ -2319,7 +2378,7 @@ msgstr "Terminal" msgid "Terminal Start Command" msgstr "Comando de inicio de terminal" -#: src/views/site/cert/components/AutoCertStepOne.vue:50 +#: src/views/site/cert/components/AutoCertStepOne.vue:49 msgid "" "The certificate for the domain will be checked 30 minutes, and will be " "renewed if it has been more than 1 week or the period you set in settings " @@ -2329,45 +2388,64 @@ msgstr "" "renovado si ha pasado más de 1 semana o el período que configuró en ajustes " "desde que fue emitido por última vez." -#: src/views/other/Install.vue:50 +#: src/views/other/Install.vue:54 msgid "The filename cannot contain the following characters: %{c}" msgstr "" "El nombre del archivo no puede contener los siguientes caracteres: %{c}" -#: src/views/certificate/CertificateEditor.vue:208 +#: src/views/preference/BasicSettings.vue:54 +#, fuzzy +msgid "" +"The ICP Number should only contain letters, unicode, numbers, hyphens, " +"dashes, colons, and dots." +msgstr "" +"El nombre del modelo solo debe contener letras, unicode, números, guiones, " +"rayas y puntos." + +#: src/views/certificate/CertificateEditor.vue:215 msgid "The input is not a SSL Certificate" msgstr "La entrada no es un Certificado SSL" -#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:228 msgid "The input is not a SSL Certificate Key" msgstr "La entrada no es una clave de certificado SSL" #: src/views/preference/OpenAISettings.vue:35 +#, fuzzy msgid "" "The model name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." +"dashes, colons, and dots." msgstr "" "El nombre del modelo solo debe contener letras, unicode, números, guiones, " "rayas y puntos." -#: src/views/preference/BasicSettings.vue:45 +#: src/views/preference/BasicSettings.vue:33 #, fuzzy msgid "" "The node name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." +"dashes, colons, and dots." msgstr "" "El nombre del modelo solo debe contener letras, unicode, números, guiones, " "rayas y puntos." -#: src/views/certificate/CertificateEditor.vue:173 +#: src/views/certificate/CertificateEditor.vue:180 msgid "The path exists, but the file is not a certificate" msgstr "La ruta existe, pero el archivo no es un certificado" -#: src/views/certificate/CertificateEditor.vue:188 +#: src/views/certificate/CertificateEditor.vue:195 msgid "The path exists, but the file is not a private key" msgstr "La ruta existe, pero el archivo no es una clave privada" -#: src/views/preference/components/TOTP.vue:112 +#: src/views/preference/BasicSettings.vue:66 +#, fuzzy +msgid "" +"The Public Security Number should only contain letters, unicode, numbers, " +"hyphens, dashes, colons, and dots." +msgstr "" +"El nombre del servidor solo debe contener letras, Unicode, números, guiones, " +"rayas y puntos." + +#: src/views/preference/components/TOTP.vue:111 msgid "" "The recovery code is only displayed once, please save it in a safe place." msgstr "" @@ -2384,7 +2462,7 @@ msgstr "" "local. Para evitar errores potenciales, por favor actualice la Nginx UI " "remota para que coincida con la versión local." -#: src/views/site/cert/components/AutoCertStepOne.vue:45 +#: src/views/site/cert/components/AutoCertStepOne.vue:44 msgid "" "The server_name in the current configuration must be the domain name you " "need to get the certificate, supportmultiple domains." @@ -2392,7 +2470,7 @@ msgstr "" "El server_name en la configuración actual debe ser el nombre de dominio que " "necesita para obtener el certificado, soporta dominios múltiples." -#: src/views/preference/BasicSettings.vue:33 +#: src/views/preference/BasicSettings.vue:42 #: src/views/preference/CertSettings.vue:19 msgid "The url is invalid" msgstr "La URL es inválida" @@ -2406,17 +2484,17 @@ msgstr "La URL no es válida." msgid "The username or password is incorrect" msgstr "El nombre de usuario o contraseña son incorrectos" -#: src/views/certificate/CertificateEditor.vue:96 +#: src/views/certificate/CertificateEditor.vue:103 msgid "This Auto Cert item is invalid, please remove it." msgstr "Este elemento de Auto Cert es inválido, elimínelo por favor." -#: src/views/certificate/CertificateEditor.vue:86 +#: src/views/certificate/CertificateEditor.vue:93 msgid "This certificate is managed by Nginx UI" msgstr "Este certificado es administrado por Nginx UI" -#: src/views/certificate/CertificateEditor.vue:157 -#: src/views/certificate/CertificateEditor.vue:171 -#: src/views/certificate/CertificateEditor.vue:186 +#: src/views/certificate/CertificateEditor.vue:164 +#: src/views/certificate/CertificateEditor.vue:178 +#: src/views/certificate/CertificateEditor.vue:193 msgid "This field is required" msgstr "Este campo es obligatorio" @@ -2447,12 +2525,12 @@ msgstr "" msgid "This value is already taken" msgstr "Este valor ya está elegido" -#: src/views/environment/BatchUpgrader.vue:184 +#: src/views/environment/BatchUpgrader.vue:185 msgid "" "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}." msgstr "" -"Esto actualizará o reinstalará la interfaz de usuario de Nginx en " -"%{nodeNames} a %{version}." +"Esto actualizará o reinstalará la interfaz de usuario de Nginx en %" +"{nodeNames} a %{version}." #: src/views/preference/AuthSettings.vue:98 msgid "Throttle" @@ -2468,7 +2546,7 @@ msgstr "Consejos" msgid "Title" msgstr "Título" -#: src/views/preference/components/TOTP.vue:93 +#: src/views/preference/components/TOTP.vue:92 msgid "" "To enable it, you need to install the Google or Microsoft Authenticator app " "on your mobile phone." @@ -2499,9 +2577,11 @@ msgstr "" "Nginx. ¿Estás seguro de que quieres continuar?" #: src/views/preference/OpenAISettings.vue:48 +#, fuzzy msgid "" -"To use a local large model, deploy it with vllm or imdeploy. They provide an " -"OpenAI-compatible API endpoint, so just set the baseUrl to your local API." +"To use a local large model, deploy it with ollama, vllm or imdeploy. They " +"provide an OpenAI-compatible API endpoint, so just set the baseUrl to your " +"local API." msgstr "" "Para utilizar un modelo local grande, impleméntelo con vllm o imdeploy. " "Estos proporcionan un API endpoint compatible con OpenAI, por lo que solo " @@ -2511,17 +2591,23 @@ msgstr "" msgid "Token is not valid" msgstr "El token no es válido" -#: src/views/other/Login.vue:80 +#: src/views/other/Login.vue:81 msgid "Too many login failed attempts, please try again later" msgstr "" "Demasiados intentos fallidos de inicio de sesión, por favor intente " "nuevamente más tarde" -#: src/views/preference/components/TOTP.vue:91 +#: src/components/StdDesign/StdDataDisplay/StdPagination.vue:40 +msgid "Total %{total} item" +msgid_plural "Total %{total} items" +msgstr[0] "" +msgstr[1] "" + +#: src/views/preference/components/TOTP.vue:90 msgid "TOTP" msgstr "TOTP" -#: src/views/preference/components/TOTP.vue:92 +#: src/views/preference/components/TOTP.vue:91 msgid "" "TOTP is a two-factor authentication method that uses a time-based one-time " "password algorithm." @@ -2529,11 +2615,11 @@ msgstr "" "TOTP es un método de autenticación de dos factores que utiliza un algoritmo " "de contraseña de un solo uso basado en el tiempo." -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:202 msgid "Trash" msgstr "Basura" -#: src/components/TwoFA/use2FAModal.ts:66 +#: src/components/TwoFA/use2FAModal.ts:67 msgid "Two-factor authentication required" msgstr "Se requiere autenticación de dos factores" @@ -2550,26 +2636,26 @@ msgstr "Actualización exitosa" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:275 +#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:278 #: src/views/environment/envColumns.tsx:119 #: src/views/site/site_category/columns.ts:20 #: src/views/site/site_edit/RightSettings.vue:100 -#: src/views/site/site_list/columns.tsx:64 +#: src/views/site/site_list/columns.tsx:67 #: src/views/stream/components/RightSettings.vue:85 #: src/views/stream/StreamList.vue:41 src/views/user/userColumns.tsx:54 msgid "Updated at" msgstr "Actualizado a" -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:123 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:121 msgid "Updated successfully" msgstr "Actualización exitosa" #: src/routes/index.ts:290 src/views/environment/Environment.vue:55 -#: src/views/system/Upgrade.vue:144 src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228 msgid "Upgrade" msgstr "Actualizar" -#: src/views/environment/BatchUpgrader.vue:139 +#: src/views/environment/BatchUpgrader.vue:140 msgid "Upgraded Nginx UI on %{node} successfully 🎉" msgstr "Interfaz de usuario de Nginx actualizada en %{node} con éxito 🎉" @@ -2577,15 +2663,15 @@ msgstr "Interfaz de usuario de Nginx actualizada en %{node} con éxito 🎉" msgid "Upgraded successfully" msgstr "Actualización exitosa" -#: src/views/environment/BatchUpgrader.vue:90 src/views/system/Upgrade.vue:78 +#: src/views/environment/BatchUpgrader.vue:91 src/views/system/Upgrade.vue:79 msgid "Upgrading Nginx UI, please wait..." msgstr "Actualizando Nginx UI, por favor espere..." -#: src/views/site/ngx_conf/NgxUpstream.vue:170 +#: src/views/site/ngx_conf/NgxUpstream.vue:172 msgid "Upstream Name" msgstr "Nombre de la Transmisión" -#: src/views/dashboard/ServerAnalytic.vue:172 +#: src/views/dashboard/ServerAnalytic.vue:183 msgid "Uptime:" msgstr "Tiempo encendido:" @@ -2605,15 +2691,15 @@ msgstr "Usar código de recuperación" msgid "User" msgstr "Usuario" -#: src/views/other/Login.vue:83 +#: src/views/other/Login.vue:84 msgid "User is banned" msgstr "El usuario está bloqueado" -#: src/views/other/Login.vue:196 src/views/user/userColumns.tsx:9 +#: src/views/other/Login.vue:197 src/views/user/userColumns.tsx:9 msgid "Username" msgstr "Nombre de usuario" -#: src/views/other/Install.vue:96 +#: src/views/other/Install.vue:100 msgid "Username (*)" msgstr "Nombre de usuario (*)" @@ -2627,20 +2713,20 @@ msgstr "Válido" msgid "Version" msgstr "Versión" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:506 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:494 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:103 msgid "View" msgstr "Ver" -#: src/components/Notification/Notification.vue:143 +#: src/components/Notification/Notification.vue:192 msgid "View all notifications" msgstr "Ver todas las notificaciones" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 msgid "View Details" msgstr "Ver detalles" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 msgid "View Mode" msgstr "Modo de vista" @@ -2659,7 +2745,7 @@ msgstr "" "Agregaremos uno o más registros TXT a los registros DNS de su dominio para " "verificar la propiedad." -#: src/views/site/cert/components/ObtainCert.vue:134 +#: src/views/site/cert/components/ObtainCert.vue:137 msgid "" "We will remove the HTTPChallenge configuration from this file and reload the " "Nginx. Are you sure you want to continue?" @@ -2690,8 +2776,8 @@ msgstr "" "configurados en la categoría del sitio y los nodos seleccionados a " "continuación se sincronizarán." -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:366 +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:377 msgid "Writes" msgstr "Escrituras" @@ -2710,11 +2796,11 @@ msgstr "Escribir certificado a disco" msgid "Yes" msgstr "Si" -#: src/views/system/Upgrade.vue:203 +#: src/views/system/Upgrade.vue:204 msgid "You are using the latest version" msgstr "Estás usando la última versión" -#: src/views/system/Upgrade.vue:165 +#: src/views/system/Upgrade.vue:166 msgid "You can check Nginx UI upgrade at this page." msgstr "Puede consultar la actualización de Nginx UI en esta página." @@ -2743,13 +2829,6 @@ msgstr "Sus llaves de acceso" #~ msgid "Server Name" #~ msgstr "Nombre del servidor" -#~ msgid "" -#~ "The server name should only contain letters, unicode, numbers, hyphens, " -#~ "dashes, and dots." -#~ msgstr "" -#~ "El nombre del servidor solo debe contener letras, Unicode, números, " -#~ "guiones, rayas y puntos." - #~ msgid "Enable 2FA" #~ msgstr "Habilitar 2FA" diff --git a/app/src/language/fr_FR/app.po b/app/src/language/fr_FR/app.po index 6723bae6..b22457a3 100644 --- a/app/src/language/fr_FR/app.po +++ b/app/src/language/fr_FR/app.po @@ -23,7 +23,7 @@ msgstr "" msgid "About" msgstr "À propos" -#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:76 +#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:75 msgid "Access Logs" msgstr "Journaux d'accès" @@ -41,17 +41,17 @@ msgstr "Nom d'utilisateur" #: src/views/notification/notificationColumns.tsx:62 #: src/views/preference/AuthSettings.vue:26 #: src/views/site/site_category/columns.ts:26 -#: src/views/site/site_list/columns.tsx:70 src/views/stream/StreamList.vue:47 +#: src/views/site/site_list/columns.tsx:74 src/views/stream/StreamList.vue:47 #: src/views/user/userColumns.tsx:60 msgid "Action" msgstr "Action" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:177 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:209 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:191 #: src/views/preference/CertSettings.vue:42 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:117 #: src/views/site/ngx_conf/NgxServer.vue:162 -#: src/views/site/ngx_conf/NgxUpstream.vue:152 +#: src/views/site/ngx_conf/NgxUpstream.vue:154 #: src/views/stream/StreamList.vue:121 msgid "Add" msgstr "Ajouter" @@ -61,8 +61,8 @@ msgstr "Ajouter" msgid "Add a passkey" msgstr "" -#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:143 -#: src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:146 +#: src/views/config/ConfigEditor.vue:206 #, fuzzy msgid "Add Configuration" msgstr "Modifier la configuration" @@ -95,7 +95,7 @@ msgstr "Mis à jour avec succés" msgid "Additional" msgstr "Supplémentaire" -#: src/views/site/site_edit/SiteEdit.vue:191 +#: src/views/site/site_edit/SiteEdit.vue:205 #: src/views/stream/StreamEdit.vue:189 msgid "Advance Mode" msgstr "Mode avancé" @@ -104,7 +104,8 @@ msgstr "Mode avancé" msgid "Afterwards, refresh this page and click add passkey again." msgstr "" -#: src/views/site/site_list/SiteList.vue:101 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:425 +#: src/views/site/site_list/SiteList.vue:102 msgid "All" msgstr "" @@ -125,7 +126,21 @@ msgstr "Proxy d'API" msgid "API Token" msgstr "Jeton d'API" -#: src/views/system/Upgrade.vue:177 +#: src/views/preference/OpenAISettings.vue:78 +#, fuzzy +msgid "API Type" +msgstr "Jeton d'API" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:105 +msgid "Apply" +msgstr "" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:67 +#, fuzzy +msgid "Apply bulk action successfully" +msgstr "Dupliqué avec succès" + +#: src/views/system/Upgrade.vue:178 #, fuzzy msgid "Arch" msgstr "Arch" @@ -140,7 +155,12 @@ msgstr "Etes-vous sûr que vous voulez supprimer ?" msgid "Are you sure to delete this passkey immediately?" msgstr "Etes-vous sûr que vous voulez supprimer ?" -#: src/components/Notification/Notification.vue:86 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:98 +#, fuzzy +msgid "Are you sure you want to apply to all selected?" +msgstr "Etes-vous sûr que vous voulez supprimer ?" + +#: src/components/Notification/Notification.vue:135 #: src/views/notification/Notification.vue:40 #, fuzzy msgid "Are you sure you want to clear all notifications?" @@ -150,22 +170,22 @@ msgstr "Voulez-vous vraiment effacer l'historique du chat ?" msgid "Are you sure you want to clear the record of chat?" msgstr "Voulez-vous vraiment effacer l'historique du chat ?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:564 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:552 #, fuzzy msgid "Are you sure you want to delete this item permanently?" msgstr "Etes-vous sûr que vous voulez supprimer ?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:523 #, fuzzy msgid "Are you sure you want to delete this item?" msgstr "Etes-vous sûr que vous voulez supprimer ?" -#: src/views/site/site_list/SiteList.vue:149 +#: src/views/site/site_list/SiteList.vue:150 #: src/views/stream/StreamList.vue:166 msgid "Are you sure you want to delete?" msgstr "Etes-vous sûr que vous voulez supprimer ?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:549 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:537 #, fuzzy msgid "Are you sure you want to recover this item?" msgstr "Voulez-vous vraiment supprimer cette directive ?" @@ -196,7 +216,7 @@ msgstr "" msgid "Attempts" msgstr "" -#: src/views/preference/Preference.vue:152 +#: src/views/preference/Preference.vue:154 #, fuzzy msgid "Auth" msgstr "Autheur" @@ -214,22 +234,22 @@ msgstr "" msgid "Author" msgstr "Autheur" -#: src/views/nginx_log/NginxLog.vue:151 +#: src/views/nginx_log/NginxLog.vue:152 msgid "Auto Refresh" msgstr "Actualisation automatique" -#: src/views/site/cert/components/ObtainCert.vue:75 +#: src/views/site/cert/components/ObtainCert.vue:80 msgid "Auto-renewal disabled for %{name}" msgstr "Renouvellement automatique désactivé pour %{name}" -#: src/views/site/cert/components/ObtainCert.vue:68 +#: src/views/site/cert/components/ObtainCert.vue:73 msgid "Auto-renewal enabled for %{name}" msgstr "Renouvellement automatique activé pour %{name}" -#: src/views/certificate/CertificateEditor.vue:249 -#: src/views/config/ConfigEditor.vue:213 src/views/config/ConfigList.vue:107 -#: src/views/config/ConfigList.vue:181 src/views/nginx_log/NginxLog.vue:172 -#: src/views/site/site_edit/SiteEdit.vue:249 +#: src/views/certificate/CertificateEditor.vue:256 +#: src/views/config/ConfigEditor.vue:215 src/views/config/ConfigList.vue:106 +#: src/views/config/ConfigList.vue:180 src/views/nginx_log/NginxLog.vue:173 +#: src/views/site/site_edit/SiteEdit.vue:264 #: src/views/stream/StreamEdit.vue:245 msgid "Back" msgstr "Retour" @@ -238,7 +258,7 @@ msgstr "Retour" msgid "Back Home" msgstr "Retour au menu principal" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:222 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211 msgid "Back to list" msgstr "" @@ -258,25 +278,30 @@ msgstr "" msgid "Base information" msgstr "Information générale" -#: src/views/config/ConfigEditor.vue:241 -#: src/views/preference/Preference.vue:146 +#: src/views/config/ConfigEditor.vue:243 +#: src/views/preference/Preference.vue:148 #: src/views/site/site_edit/RightSettings.vue:79 #: src/views/stream/components/RightSettings.vue:74 msgid "Basic" msgstr "Basique" -#: src/views/site/site_edit/SiteEdit.vue:194 +#: src/views/site/site_edit/SiteEdit.vue:208 #: src/views/stream/StreamEdit.vue:192 msgid "Basic Mode" msgstr "Mode simple" +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:85 +#, fuzzy +msgid "Batch Actions" +msgstr "Action" + #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:66 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:474 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:454 #, fuzzy msgid "Batch Modify" msgstr "Batch Modify" -#: src/views/environment/BatchUpgrader.vue:154 +#: src/views/environment/BatchUpgrader.vue:155 #, fuzzy msgid "Batch Upgrade" msgstr "Mettre à niveau" @@ -297,18 +322,19 @@ msgstr "" msgid "CADir" msgstr "" -#: src/views/preference/components/TOTP.vue:151 +#: src/views/preference/components/TOTP.vue:150 msgid "Can't scan? Use text key binding" msgstr "" #: src/components/ChatGPT/ChatGPT.vue:260 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:261 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:251 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:180 +#: src/components/StdDesign/StdDetail/StdDetail.vue:101 #: src/views/preference/components/Passkey.vue:147 -#: src/views/site/cert/components/ObtainCert.vue:137 +#: src/views/site/cert/components/ObtainCert.vue:140 #: src/views/site/ngx_conf/NgxConfigEditor.vue:51 #: src/views/site/ngx_conf/NgxServer.vue:80 -#: src/views/site/ngx_conf/NgxUpstream.vue:33 +#: src/views/site/ngx_conf/NgxUpstream.vue:34 #: src/views/site/site_edit/RightSettings.vue:55 #: src/views/stream/components/Deploy.vue:20 #: src/views/stream/components/RightSettings.vue:51 @@ -316,11 +342,11 @@ msgid "Cancel" msgstr "Annuler" #: src/views/site/site_edit/RightSettings.vue:91 -#: src/views/site/site_list/columns.tsx:22 +#: src/views/site/site_list/columns.tsx:23 msgid "Category" msgstr "" -#: src/views/preference/Preference.vue:158 +#: src/views/preference/Preference.vue:160 #, fuzzy msgid "Cert" msgstr "Auto Cert" @@ -330,7 +356,7 @@ msgstr "Auto Cert" msgid "Certificate Renewal Interval" msgstr "Le certificat est valide" -#: src/views/certificate/CertificateEditor.vue:122 +#: src/views/certificate/CertificateEditor.vue:129 #: src/views/site/cert/Cert.vue:32 #, fuzzy msgid "Certificate Status" @@ -349,7 +375,7 @@ msgstr "État du certificat" msgid "Certificates List" msgstr "Liste des certifications" -#: src/views/site/cert/components/AutoCertStepOne.vue:67 +#: src/views/site/cert/components/AutoCertStepOne.vue:66 msgid "Challenge Method" msgstr "Méthode de challenge" @@ -365,16 +391,16 @@ msgid_plural "Changed Certificates" msgstr[0] "Changer de certificat" msgstr[1] "Changer de certificat" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 #, fuzzy msgid "Changed Path" msgstr "Changer de certificat" -#: src/views/environment/BatchUpgrader.vue:161 src/views/system/Upgrade.vue:189 +#: src/views/environment/BatchUpgrader.vue:162 src/views/system/Upgrade.vue:190 msgid "Channel" msgstr "" -#: src/views/system/Upgrade.vue:186 +#: src/views/system/Upgrade.vue:187 msgid "Check again" msgstr "Revérifier" @@ -383,12 +409,12 @@ msgid "Cleaning environment variables" msgstr "Nettoyage des variables d'environnement" #: src/components/ChatGPT/ChatGPT.vue:283 -#: src/components/Notification/Notification.vue:91 +#: src/components/Notification/Notification.vue:140 #: src/views/notification/Notification.vue:45 msgid "Clear" msgstr "Effacer" -#: src/components/Notification/Notification.vue:42 +#: src/components/Notification/Notification.vue:90 #: src/views/notification/Notification.vue:13 #, fuzzy msgid "Cleared successfully" @@ -418,7 +444,7 @@ msgstr "Le fichier de configuration est testé avec succès" msgid "Configuration Name" msgstr "Nom de la configuration" -#: src/views/config/ConfigList.vue:99 +#: src/views/config/ConfigList.vue:98 msgid "Configurations" msgstr "Configurations" @@ -430,7 +456,7 @@ msgstr "Configurer SSL" msgid "Connected" msgstr "" -#: src/views/terminal/Terminal.vue:119 +#: src/views/terminal/Terminal.vue:120 msgid "Connection lost, please refresh the page." msgstr "" @@ -440,27 +466,28 @@ msgstr "" msgid "Content" msgstr "Contenu" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 +#: src/components/StdDesign/StdDataDisplay/StdTableTransformer.tsx:150 msgid "Copied" msgstr "" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 msgid "Copy" msgstr "" -#: src/views/system/Upgrade.vue:147 +#: src/views/system/Upgrade.vue:148 msgid "Core Upgrade" msgstr "Mise à jour du core" -#: src/views/dashboard/ServerAnalytic.vue:294 +#: src/views/dashboard/ServerAnalytic.vue:305 msgid "CPU Status" msgstr "État du processeur" -#: src/views/dashboard/ServerAnalytic.vue:188 +#: src/views/dashboard/ServerAnalytic.vue:199 msgid "CPU:" msgstr "CPU :" -#: src/views/site/ngx_conf/NgxUpstream.vue:163 +#: src/views/site/ngx_conf/NgxUpstream.vue:165 #, fuzzy msgid "Create" msgstr "Créé le" @@ -469,12 +496,12 @@ msgstr "Créé le" msgid "Create Another" msgstr "Créer un autre" -#: src/views/config/ConfigList.vue:117 +#: src/views/config/ConfigList.vue:116 #, fuzzy msgid "Create File" msgstr "Créé le" -#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:124 +#: src/views/config/components/Mkdir.vue:49 src/views/config/ConfigList.vue:123 #, fuzzy msgid "Create Folder" msgstr "Créer un autre" @@ -485,7 +512,7 @@ msgstr "Créer un autre" msgid "Created at" msgstr "Créé le" -#: src/views/config/components/Mkdir.vue:33 +#: src/views/config/components/Mkdir.vue:35 #, fuzzy msgid "Created successfully" msgstr "Désactivé avec succès" @@ -502,15 +529,15 @@ msgstr "Identifiant" msgid "Credentials" msgstr "Identifiants" -#: src/views/preference/components/TOTP.vue:99 +#: src/views/preference/components/TOTP.vue:98 msgid "Current account is enabled TOTP." msgstr "" -#: src/views/preference/components/TOTP.vue:96 +#: src/views/preference/components/TOTP.vue:95 msgid "Current account is not enabled TOTP." msgstr "" -#: src/views/system/Upgrade.vue:166 +#: src/views/system/Upgrade.vue:167 msgid "Current Version" msgstr "Version actuelle" @@ -519,18 +546,18 @@ msgstr "Version actuelle" msgid "Custom" msgstr "Custom" -#: src/views/preference/BasicSettings.vue:46 +#: src/views/preference/BasicSettings.vue:34 msgid "" "Customize the name of local node to be displayed in the environment " "indicator." msgstr "" -#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:133 -#: src/views/config/ConfigEditor.vue:94 src/views/config/ConfigList.vue:65 +#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:136 +#: src/views/config/ConfigEditor.vue:97 src/views/config/ConfigList.vue:64 msgid "Dashboard" msgstr "Dashboard" -#: src/views/other/Install.vue:117 +#: src/views/other/Install.vue:121 msgid "Database (Optional, default: database)" msgstr "Base de données (Facultatif, par défaut : database)" @@ -538,15 +565,17 @@ msgstr "Base de données (Facultatif, par défaut : database)" msgid "Days" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:542 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:530 #: src/views/site/ngx_conf/NgxServer.vue:110 -#: src/views/site/ngx_conf/NgxUpstream.vue:126 -#: src/views/site/site_list/SiteList.vue:158 +#: src/views/site/ngx_conf/NgxUpstream.vue:128 +#: src/views/site/site_list/SiteList.vue:159 #: src/views/stream/StreamList.vue:175 msgid "Delete" msgstr "Supprimer" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:571 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:35 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:559 msgid "Delete Permanently" msgstr "" @@ -560,7 +589,7 @@ msgstr "Changer de certificat" msgid "Delete Remote Site Success" msgstr "Changer de certificat" -#: src/views/site/site_list/SiteList.vue:68 +#: src/views/site/site_list/SiteList.vue:69 msgid "Delete site: %{site_name}" msgstr "Supprimer le site : %{site_name}" @@ -569,12 +598,12 @@ msgstr "Supprimer le site : %{site_name}" msgid "Delete stream: %{stream_name}" msgstr "Supprimer le site : %{site_name}" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:196 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:183 #, fuzzy msgid "Deleted successfully" msgstr "Désactivé avec succès" -#: src/views/config/ConfigEditor.vue:284 +#: src/views/config/ConfigEditor.vue:287 #: src/views/stream/components/Deploy.vue:100 #: src/views/stream/components/RightSettings.vue:92 msgid "Deploy" @@ -619,13 +648,13 @@ msgstr "Directives" msgid "Directory" msgstr "Directive" -#: src/views/site/site_list/SiteList.vue:127 +#: src/views/site/site_list/SiteList.vue:128 #: src/views/stream/StreamList.vue:144 #, fuzzy msgid "Disable" msgstr "Désactivé" -#: src/views/site/cert/components/ObtainCert.vue:77 +#: src/views/site/cert/components/ObtainCert.vue:82 msgid "Disable auto-renewal failed for %{name}" msgstr "La désactivation du renouvellement automatique a échoué pour %{name}" @@ -651,21 +680,21 @@ msgstr "Dupliqué avec succès" #: src/views/environment/envColumns.tsx:109 #: src/views/environment/envColumns.tsx:92 -#: src/views/site/site_edit/SiteEdit.vue:177 -#: src/views/site/site_list/columns.tsx:49 -#: src/views/site/site_list/columns.tsx:58 src/views/stream/StreamEdit.vue:175 +#: src/views/site/site_edit/SiteEdit.vue:190 +#: src/views/site/site_list/columns.tsx:51 +#: src/views/site/site_list/columns.tsx:60 src/views/stream/StreamEdit.vue:175 #: src/views/stream/StreamList.vue:33 src/views/user/userColumns.tsx:41 msgid "Disabled" msgstr "Désactivé" #: src/views/site/site_edit/RightSettings.vue:42 -#: src/views/site/site_list/SiteList.vue:57 +#: src/views/site/site_list/SiteList.vue:58 #: src/views/stream/components/RightSettings.vue:38 #: src/views/stream/StreamList.vue:67 msgid "Disabled successfully" msgstr "Désactivé avec succès" -#: src/views/dashboard/ServerAnalytic.vue:359 +#: src/views/dashboard/ServerAnalytic.vue:370 msgid "Disk IO" msgstr "E/S disque" @@ -678,11 +707,11 @@ msgstr "Identifiants DNS" msgid "DNS Provider" msgstr "Fournisseur DNS" -#: src/views/site/cert/components/AutoCertStepOne.vue:74 +#: src/views/site/cert/components/AutoCertStepOne.vue:73 msgid "DNS01" msgstr "DNS01" -#: src/views/site/cert/components/AutoCertStepOne.vue:99 +#: src/views/site/cert/components/AutoCertStepOne.vue:98 msgid "Do not enable this option unless you are sure that you need it." msgstr "" @@ -693,7 +722,7 @@ msgid_plural "Do you want to deploy this file to remote servers?" msgstr[0] "Voulez-vous supprimer ce serveur ?" msgstr[1] "Voulez-vous supprimer ce serveur ?" -#: src/views/site/cert/components/ObtainCert.vue:133 +#: src/views/site/cert/components/ObtainCert.vue:136 msgid "Do you want to disable auto-cert renewal?" msgstr "Voulez-vous désactiver le renouvellement automatique des certificats ?" @@ -723,7 +752,7 @@ msgstr "Voulez-vous activer TLS ?" msgid "Do you want to remove this server?" msgstr "Voulez-vous supprimer ce serveur ?" -#: src/views/site/ngx_conf/NgxUpstream.vue:29 +#: src/views/site/ngx_conf/NgxUpstream.vue:30 #, fuzzy msgid "Do you want to remove this upstream?" msgstr "Voulez-vous supprimer ce serveur ?" @@ -736,7 +765,7 @@ msgstr "" msgid "Domain Config Created Successfully" msgstr "La configuration du domaine a été créée avec succès" -#: src/views/certificate/CertificateEditor.vue:106 +#: src/views/certificate/CertificateEditor.vue:113 #, fuzzy msgid "Domains list is empty, try to reopen Auto Cert for %{config}" msgstr "" @@ -751,7 +780,7 @@ msgstr "Erreur de téléchargement de la dernière version" msgid "Downloading latest release" msgstr "Téléchargement de la dernière version" -#: src/views/environment/BatchUpgrader.vue:190 src/views/system/Upgrade.vue:216 +#: src/views/environment/BatchUpgrader.vue:191 src/views/system/Upgrade.vue:217 msgid "Dry run mode enabled" msgstr "" @@ -762,7 +791,7 @@ msgid "" msgstr "" #: src/views/site/site_list/SiteDuplicate.vue:74 -#: src/views/site/site_list/SiteList.vue:143 +#: src/views/site/site_list/SiteList.vue:144 #: src/views/stream/components/StreamDuplicate.vue:121 #: src/views/stream/StreamList.vue:160 msgid "Duplicate" @@ -789,12 +818,17 @@ msgstr "Dupliqué avec succès" msgid "Duplicate to local successfully" msgstr "Dupliqué avec succès" -#: src/views/site/site_edit/SiteEdit.vue:166 +#: src/components/StdDesign/StdDetail/StdDetail.vue:110 +#, fuzzy +msgid "Edit" +msgstr "Modifier %{n}" + +#: src/views/site/site_edit/SiteEdit.vue:179 #: src/views/stream/StreamEdit.vue:164 msgid "Edit %{n}" msgstr "Modifier %{n}" -#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:206 msgid "Edit Configuration" msgstr "Modifier la configuration" @@ -812,11 +846,11 @@ msgstr "Modifier le site" msgid "Email" msgstr "Email (*)" -#: src/views/other/Install.vue:86 +#: src/views/other/Install.vue:90 msgid "Email (*)" msgstr "Email (*)" -#: src/views/site/site_list/SiteList.vue:135 +#: src/views/site/site_list/SiteList.vue:136 #: src/views/stream/components/Deploy.vue:80 #: src/views/stream/StreamList.vue:152 #, fuzzy @@ -831,12 +865,12 @@ msgstr "" msgid "Enable %{conf_name} in %{node_name} successfully" msgstr "" -#: src/views/preference/components/TOTP.vue:55 +#: src/views/preference/components/TOTP.vue:54 #, fuzzy msgid "Enable 2FA successfully" msgstr "Activé avec succès" -#: src/views/site/cert/components/ObtainCert.vue:70 +#: src/views/site/cert/components/ObtainCert.vue:75 msgid "Enable auto-renewal failed for %{name}" msgstr "Échec de l'activation du renouvellement automatique pour %{name}" @@ -873,7 +907,7 @@ msgstr "Activé avec succès" msgid "Enable TLS" msgstr "Activer TLS" -#: src/views/preference/components/TOTP.vue:125 +#: src/views/preference/components/TOTP.vue:124 #, fuzzy msgid "Enable TOTP" msgstr "Activer TLS" @@ -882,9 +916,9 @@ msgstr "Activer TLS" #: src/views/environment/envColumns.tsx:106 #: src/views/preference/LogrotateSettings.vue:19 #: src/views/site/site_edit/RightSettings.vue:82 -#: src/views/site/site_edit/SiteEdit.vue:171 -#: src/views/site/site_list/columns.tsx:45 -#: src/views/site/site_list/columns.tsx:57 +#: src/views/site/site_edit/SiteEdit.vue:184 +#: src/views/site/site_list/columns.tsx:47 +#: src/views/site/site_list/columns.tsx:59 #: src/views/stream/components/RightSettings.vue:76 #: src/views/stream/StreamEdit.vue:169 src/views/stream/StreamList.vue:29 #: src/views/user/userColumns.tsx:38 @@ -892,14 +926,14 @@ msgid "Enabled" msgstr "Activé" #: src/views/site/site_edit/RightSettings.vue:33 -#: src/views/site/site_list/SiteList.vue:47 src/views/site/SiteAdd.vue:40 +#: src/views/site/site_list/SiteList.vue:48 src/views/site/SiteAdd.vue:40 #: src/views/stream/components/RightSettings.vue:29 #: src/views/stream/components/StreamDuplicate.vue:93 #: src/views/stream/StreamList.vue:57 msgid "Enabled successfully" msgstr "Activé avec succès" -#: src/views/site/cert/IssueCert.vue:49 +#: src/views/site/cert/IssueCert.vue:48 msgid "Encrypt website with Let's Encrypt" msgstr "Crypter le site Web avec Let's Encrypt" @@ -922,11 +956,11 @@ msgstr "Commentaires" msgid "Error" msgstr "Erreur" -#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:84 +#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:83 msgid "Error Logs" msgstr "Journaux d'erreurs" -#: src/views/system/Upgrade.vue:178 +#: src/views/system/Upgrade.vue:179 msgid "Executable Path" msgstr "Chemin exécutable" @@ -940,7 +974,7 @@ msgstr "" msgid "Expired At: %{date}" msgstr "Date d'expiration : %{date}" -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:66 msgid "Export" msgstr "Exporter" @@ -950,14 +984,14 @@ msgid "Fail to obtain certificate" msgstr "Obtenir un certificat" #: src/views/site/site_edit/RightSettings.vue:45 -#: src/views/site/site_list/SiteList.vue:61 +#: src/views/site/site_list/SiteList.vue:62 #: src/views/stream/components/RightSettings.vue:41 #: src/views/stream/StreamList.vue:71 msgid "Failed to disable %{msg}" msgstr "Impossible de désactiver %{msg}" #: src/views/site/site_edit/RightSettings.vue:36 -#: src/views/site/site_list/SiteList.vue:51 +#: src/views/site/site_list/SiteList.vue:52 #: src/views/stream/components/RightSettings.vue:32 #: src/views/stream/StreamList.vue:61 msgid "Failed to enable %{msg}" @@ -967,7 +1001,7 @@ msgstr "Impossible d'activer %{msg}" msgid "Failed to get certificate information" msgstr "Échec de l'obtention des informations sur le certificat" -#: src/views/site/site_edit/SiteEdit.vue:123 +#: src/views/site/site_edit/SiteEdit.vue:135 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." msgstr "" @@ -986,7 +1020,7 @@ msgstr "Le fichier existe" msgid "File Not Found" msgstr "Fichier introuvable" -#: src/views/nginx_log/NginxLog.vue:154 +#: src/views/nginx_log/NginxLog.vue:155 msgid "Filter" msgstr "Filtrer" @@ -1000,20 +1034,25 @@ msgid "" "process." msgstr "" -#: src/views/preference/BasicSettings.vue:38 +#: src/views/preference/BasicSettings.vue:59 +#: src/views/preference/BasicSettings.vue:71 +msgid "For Chinese user" +msgstr "" + +#: src/views/preference/BasicSettings.vue:47 #, fuzzy msgid "For Chinese user: https://mirror.ghproxy.com/" msgstr "Utilisateur chinois : https://mirror.ghproxy.com/" -#: src/views/config/ConfigEditor.vue:216 +#: src/views/config/ConfigEditor.vue:218 msgid "Format Code" msgstr "Code de formatage" -#: src/views/config/ConfigEditor.vue:183 +#: src/views/config/ConfigEditor.vue:185 msgid "Format error %{msg}" msgstr "Erreur de format %{msg}" -#: src/views/config/ConfigEditor.vue:181 +#: src/views/config/ConfigEditor.vue:183 msgid "Format successfully" msgstr "Formaté avec succès" @@ -1022,7 +1061,7 @@ msgstr "Formaté avec succès" msgid "General Certificate" msgstr "Changer de certificat" -#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:52 +#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:55 msgid "Generate" msgstr "Générer" @@ -1030,7 +1069,7 @@ msgstr "Générer" msgid "Generating private key for registering account" msgstr "Génération de clé privée pour l'enregistrement du compte" -#: src/views/environment/BatchUpgrader.vue:179 src/views/system/Upgrade.vue:170 +#: src/views/environment/BatchUpgrader.vue:180 src/views/system/Upgrade.vue:171 msgid "Get release information error" msgstr "Erreur d'obtention des informations sur la version" @@ -1038,11 +1077,11 @@ msgstr "Erreur d'obtention des informations sur la version" msgid "Getting the certificate, please wait..." msgstr "Obtention du certificat, veuillez patienter..." -#: src/views/preference/BasicSettings.vue:30 +#: src/views/preference/BasicSettings.vue:39 msgid "Github Proxy" msgstr "Proxy Github" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Hide" msgstr "" @@ -1062,10 +1101,14 @@ msgstr "Host HTTP" msgid "HTTP Port" msgstr "Port HTTP" -#: src/views/site/cert/components/AutoCertStepOne.vue:71 +#: src/views/site/cert/components/AutoCertStepOne.vue:70 msgid "HTTP01" msgstr "HTTP01" +#: src/views/preference/BasicSettings.vue:51 +msgid "ICP Number" +msgstr "" + #: src/views/certificate/ACMEUser.vue:45 msgid "If left blank, the default CA Dir will be used." msgstr "" @@ -1076,7 +1119,7 @@ msgid "" "ban threshold minutes, the ip will be banned for a period of time." msgstr "" -#: src/views/preference/components/TOTP.vue:111 +#: src/views/preference/components/TOTP.vue:110 msgid "" "If you lose your mobile phone, you can use the recovery code to reset your " "2FA." @@ -1086,7 +1129,7 @@ msgstr "" msgid "If your browser supports WebAuthn Passkey, a dialog box will appear." msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:109 +#: src/views/site/cert/components/AutoCertStepOne.vue:108 msgid "" "If your domain has CNAME records and you cannot obtain certificates, you " "need to enable this option." @@ -1097,16 +1140,17 @@ msgstr "" msgid "Import" msgstr "Exporter" -#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:86 #, fuzzy msgid "Import Certificate" msgstr "État du certificat" -#: src/views/other/Login.vue:77 +#: src/views/other/Login.vue:78 #, fuzzy msgid "Incorrect username or password" msgstr "Le pseudo ou mot de passe est incorect" +#: src/components/StdDesign/StdDetail/StdDetail.vue:81 #: src/constants/index.ts:18 src/views/notification/notificationColumns.tsx:29 msgid "Info" msgstr "" @@ -1119,20 +1163,20 @@ msgstr "Erreur du programme de mise à niveau initial du core" msgid "Initialing core upgrader" msgstr "Initialisation du programme de mise à niveau du core" -#: src/views/preference/components/TOTP.vue:158 +#: src/views/preference/components/TOTP.vue:157 msgid "Input the code from the app:" msgstr "" #: src/components/TwoFA/Authorization.vue:87 -#: src/views/preference/components/TOTP.vue:171 +#: src/views/preference/components/TOTP.vue:170 msgid "Input the recovery code:" msgstr "" -#: src/routes/index.ts:305 src/views/other/Install.vue:132 +#: src/routes/index.ts:305 src/views/other/Install.vue:136 msgid "Install" msgstr "Installer" -#: src/views/other/Install.vue:63 +#: src/views/other/Install.vue:67 msgid "Install successfully" msgstr "Installé avec succès" @@ -1144,20 +1188,20 @@ msgstr "" msgid "Invalid" msgstr "" -#: src/views/other/Login.vue:87 +#: src/views/other/Login.vue:88 msgid "Invalid 2FA or recovery code" msgstr "" -#: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:250 +#: src/views/config/components/Rename.vue:66 +#: src/views/config/ConfigEditor.vue:252 msgid "Invalid filename" msgstr "" -#: src/views/config/components/Mkdir.vue:57 +#: src/views/config/components/Mkdir.vue:59 msgid "Invalid folder name" msgstr "" -#: src/components/TwoFA/use2FAModal.ts:60 +#: src/components/TwoFA/use2FAModal.ts:61 msgid "Invalid passcode or recovery code" msgstr "" @@ -1188,12 +1232,12 @@ msgid "Jwt Secret" msgstr "Secret Jwt" #: src/views/certificate/CertificateList/certColumns.tsx:62 -#: src/views/site/cert/components/AutoCertStepOne.vue:78 +#: src/views/site/cert/components/AutoCertStepOne.vue:77 #, fuzzy msgid "Key Type" msgstr "Type" -#: src/views/system/Upgrade.vue:180 +#: src/views/system/Upgrade.vue:181 msgid "Last checked at" msgstr "Dernière vérification le" @@ -1220,13 +1264,13 @@ msgstr "Laisser vide pour aucun changement" msgid "Leave blank if you don't need this." msgstr "Laisser vide pour aucun changement" -#: src/views/certificate/CertificateEditor.vue:214 -#: src/views/certificate/CertificateEditor.vue:227 +#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:234 #, fuzzy msgid "Leave blank will not change anything" msgstr "Laisser vide pour aucun changement" -#: src/views/site/cert/components/AutoCertStepOne.vue:106 +#: src/views/site/cert/components/AutoCertStepOne.vue:105 msgid "Lego disable CNAME Support" msgstr "" @@ -1240,11 +1284,11 @@ msgstr "Licence" msgid "Link Start" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:199 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:178 msgid "List" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:176 +#: src/views/dashboard/ServerAnalytic.vue:187 #, fuzzy msgid "Load Average:" msgstr "Charges moyennes :" @@ -1259,7 +1303,7 @@ msgid "Load successfully" msgstr "Enregistré avec succès" #: src/components/EnvIndicator/EnvIndicator.vue:39 -#: src/components/NodeSelector/NodeSelector.vue:70 +#: src/components/NodeSelector/NodeSelector.vue:80 #, fuzzy msgid "Local" msgstr "Localisation" @@ -1274,24 +1318,24 @@ msgstr "Localisation" msgid "Locations" msgstr "Localisations" -#: src/views/certificate/CertificateEditor.vue:237 +#: src/views/certificate/CertificateEditor.vue:244 #, fuzzy msgid "Log" msgstr "Connexion" -#: src/routes/index.ts:311 src/views/other/Login.vue:245 +#: src/routes/index.ts:311 src/views/other/Login.vue:246 msgid "Login" msgstr "Connexion" -#: src/views/other/Login.vue:131 src/views/other/Login.vue:64 +#: src/views/other/Login.vue:132 src/views/other/Login.vue:65 msgid "Login successful" msgstr "Connexion réussie" -#: src/layouts/HeaderLayout.vue:19 +#: src/layouts/HeaderLayout.vue:20 msgid "Logout successful" msgstr "Déconnexion réussie" -#: src/views/preference/Preference.vue:176 +#: src/views/preference/Preference.vue:178 msgid "Logrotate" msgstr "" @@ -1305,7 +1349,7 @@ msgid "" "minutes." msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:54 +#: src/views/site/cert/components/AutoCertStepOne.vue:53 #, fuzzy msgid "" "Make sure you have configured a reverse proxy for .well-known directory to " @@ -1314,12 +1358,12 @@ msgstr "" "Assurez vous d'avoir configuré un reverse proxy pour le répertoire .well-" "known vers HTTPChallengePort avant d'obtenir le certificat." -#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:138 -#: src/views/config/ConfigEditor.vue:99 src/views/config/ConfigList.vue:70 +#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:102 +#: src/views/config/ConfigEditor.vue:141 src/views/config/ConfigList.vue:69 msgid "Manage Configs" msgstr "Gérer les configurations" -#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:97 +#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:98 msgid "Manage Sites" msgstr "Gérer les sites" @@ -1341,12 +1385,12 @@ msgstr "Changer de certificat" msgid "Max Attempts" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:215 -#: src/views/dashboard/ServerAnalytic.vue:216 +#: src/views/dashboard/ServerAnalytic.vue:226 +#: src/views/dashboard/ServerAnalytic.vue:227 msgid "Memory" msgstr "Mémoire" -#: src/views/dashboard/ServerAnalytic.vue:205 +#: src/views/dashboard/ServerAnalytic.vue:216 msgid "Memory and Storage" msgstr "Mémoire et stockage" @@ -1360,13 +1404,13 @@ msgid "Model" msgstr "Mode d'exécution" #: src/components/ChatGPT/ChatGPT.vue:256 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:520 -#: src/views/config/ConfigList.vue:159 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:508 +#: src/views/config/ConfigList.vue:158 msgid "Modify" msgstr "Modifier" -#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:86 #, fuzzy msgid "Modify Certificate" msgstr "État du certificat" @@ -1375,7 +1419,7 @@ msgstr "État du certificat" msgid "Modify Config" msgstr "Modifier la configuration" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 #, fuzzy msgid "Modify Mode" msgstr "Modifier" @@ -1385,13 +1429,13 @@ msgid "Multi-line Directive" msgstr "Directive multiligne" #: src/views/certificate/ACMEUser.vue:13 -#: src/views/certificate/CertificateEditor.vue:154 +#: src/views/certificate/CertificateEditor.vue:161 #: src/views/certificate/CertificateList/certColumns.tsx:10 #: src/views/certificate/DNSCredential.vue:11 -#: src/views/config/components/Mkdir.vue:64 src/views/config/configColumns.ts:8 -#: src/views/config/ConfigEditor.vue:256 src/views/environment/envColumns.tsx:9 +#: src/views/config/components/Mkdir.vue:66 src/views/config/configColumns.ts:8 +#: src/views/config/ConfigEditor.vue:258 src/views/environment/envColumns.tsx:9 #: src/views/preference/components/AddPasskey.vue:81 -#: src/views/site/ngx_conf/NgxUpstream.vue:175 +#: src/views/site/ngx_conf/NgxUpstream.vue:177 #: src/views/site/site_category/columns.ts:7 #: src/views/site/site_edit/RightSettings.vue:88 #: src/views/site/site_list/columns.tsx:13 @@ -1402,43 +1446,43 @@ msgstr "Directive multiligne" msgid "Name" msgstr "Nom" -#: src/views/dashboard/ServerAnalytic.vue:320 +#: src/views/dashboard/ServerAnalytic.vue:331 msgid "Network" msgstr "Réseau" -#: src/views/dashboard/ServerAnalytic.vue:262 +#: src/views/dashboard/ServerAnalytic.vue:273 msgid "Network Statistics" msgstr "Statistiques du réseau" -#: src/views/dashboard/ServerAnalytic.vue:269 +#: src/views/dashboard/ServerAnalytic.vue:280 msgid "Network Total Receive" msgstr "Réception totale du réseau" -#: src/views/dashboard/ServerAnalytic.vue:275 +#: src/views/dashboard/ServerAnalytic.vue:286 msgid "Network Total Send" msgstr "Envoi total réseau" -#: src/views/config/components/Rename.vue:73 +#: src/views/config/components/Rename.vue:74 #, fuzzy msgid "New name" msgstr "Nom d'utilisateur" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 #, fuzzy msgid "New Path" msgstr "Chemin" -#: src/views/system/Upgrade.vue:209 +#: src/views/system/Upgrade.vue:210 msgid "New version released" msgstr "Nouvelle version publiée" #: src/views/certificate/WildcardCertificate.vue:91 -#: src/views/site/cert/components/ObtainCert.vue:208 +#: src/views/site/cert/components/ObtainCert.vue:211 #: src/views/site/SiteAdd.vue:141 msgid "Next" msgstr "Suivant" -#: src/views/preference/Preference.vue:164 +#: src/views/preference/Preference.vue:166 #, fuzzy msgid "Nginx" msgstr "Journal Nginx" @@ -1447,7 +1491,7 @@ msgstr "Journal Nginx" msgid "Nginx Access Log Path" msgstr "Chemin du journal d'accès Nginx" -#: src/views/site/site_edit/SiteEdit.vue:209 +#: src/views/site/site_edit/SiteEdit.vue:223 #: src/views/stream/StreamEdit.vue:207 msgid "Nginx Configuration Parse Error" msgstr "Erreur d'analyse de configuration Nginx" @@ -1469,7 +1513,7 @@ msgstr "Chemin du journal des erreurs Nginx" msgid "Nginx is not running" msgstr "" -#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:147 +#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:148 msgid "Nginx Log" msgstr "Journal Nginx" @@ -1500,22 +1544,23 @@ msgid "Nginx restarted successfully" msgstr "Nginx a redémarré avec succès" #: src/components/ChatGPT/ChatGPT.vue:277 -#: src/components/Notification/Notification.vue:84 +#: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:67 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:533 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:547 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:562 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:96 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:521 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:550 #: src/views/notification/Notification.vue:38 #: src/views/preference/AuthSettings.vue:138 #: src/views/preference/CertSettings.vue:70 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:90 #: src/views/site/ngx_conf/LocationEditor.vue:90 -#: src/views/site/site_list/SiteList.vue:147 +#: src/views/site/site_list/SiteList.vue:148 #: src/views/stream/StreamList.vue:164 msgid "No" msgstr "Non" -#: src/views/preference/BasicSettings.vue:42 +#: src/views/preference/BasicSettings.vue:30 #, fuzzy msgid "Node name" msgstr "Nom d'utilisateur" @@ -1538,7 +1583,7 @@ msgid "Not Valid Before: %{date}" msgstr "Non valide avant : %{date}" #: src/views/certificate/DNSCredential.vue:49 -#: src/views/site/cert/components/AutoCertStepOne.vue:40 +#: src/views/site/cert/components/AutoCertStepOne.vue:39 msgid "Note" msgstr "Note" @@ -1553,12 +1598,12 @@ msgstr "" msgid "Notification" msgstr "Certification" -#: src/components/Notification/Notification.vue:82 src/routes/index.ts:248 +#: src/components/Notification/Notification.vue:131 src/routes/index.ts:248 #, fuzzy msgid "Notifications" msgstr "Certification" -#: src/views/site/cert/components/ObtainCert.vue:179 +#: src/views/site/cert/components/ObtainCert.vue:182 msgid "Obtain certificate" msgstr "Obtenir un certificat" @@ -1566,39 +1611,40 @@ msgstr "Obtenir un certificat" msgid "Obtaining certificate" msgstr "Obtention du certificat" -#: src/views/site/cert/components/AutoCertStepOne.vue:96 +#: src/views/site/cert/components/AutoCertStepOne.vue:95 msgid "OCSP Must Staple" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:100 +#: src/views/site/cert/components/AutoCertStepOne.vue:99 msgid "" "OCSP Must Staple may cause errors for some users on first access using " "Firefox." msgstr "" -#: src/components/NodeSelector/NodeSelector.vue:93 +#: src/components/NodeSelector/NodeSelector.vue:103 #: src/views/dashboard/Environments.vue:107 #: src/views/environment/envColumns.tsx:87 msgid "Offline" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:262 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:183 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:252 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:522 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:536 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:551 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:181 msgid "Ok" msgstr "" #: src/components/ChatGPT/ChatGPT.vue:278 -#: src/components/Notification/Notification.vue:85 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:534 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:548 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:563 +#: src/components/Notification/Notification.vue:134 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:97 #: src/views/notification/Notification.vue:39 -#: src/views/site/cert/components/ObtainCert.vue:136 +#: src/views/site/cert/components/ObtainCert.vue:139 #: src/views/site/ngx_conf/NgxConfigEditor.vue:50 #: src/views/site/ngx_conf/NgxServer.vue:79 -#: src/views/site/ngx_conf/NgxUpstream.vue:32 +#: src/views/site/ngx_conf/NgxUpstream.vue:33 #: src/views/site/site_edit/RightSettings.vue:54 -#: src/views/site/site_list/SiteList.vue:148 +#: src/views/site/site_list/SiteList.vue:149 #: src/views/stream/components/Deploy.vue:19 #: src/views/stream/components/RightSettings.vue:50 #: src/views/stream/StreamList.vue:165 @@ -1609,39 +1655,39 @@ msgstr "OK" msgid "Once the verification is complete, the records will be removed." msgstr "" -#: src/components/NodeSelector/NodeSelector.vue:73 -#: src/components/NodeSelector/NodeSelector.vue:87 +#: src/components/NodeSelector/NodeSelector.vue:83 +#: src/components/NodeSelector/NodeSelector.vue:97 #: src/views/dashboard/Environments.vue:100 #: src/views/environment/envColumns.tsx:83 msgid "Online" msgstr "" -#: src/views/preference/Preference.vue:170 +#: src/views/preference/Preference.vue:172 msgid "OpenAI" msgstr "OpenAI" -#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:254 +#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:255 msgid "Or" msgstr "" -#: src/views/config/components/Rename.vue:69 +#: src/views/config/components/Rename.vue:70 msgid "Original name" msgstr "" -#: src/views/system/Upgrade.vue:176 +#: src/views/system/Upgrade.vue:177 msgid "OS" msgstr "OS" -#: src/views/dashboard/ServerAnalytic.vue:182 +#: src/views/dashboard/ServerAnalytic.vue:193 msgid "OS:" msgstr "OS :" -#: src/views/config/ConfigEditor.vue:293 +#: src/views/config/ConfigEditor.vue:296 #: src/views/stream/components/Deploy.vue:84 msgid "Overwrite" msgstr "" -#: src/views/config/ConfigEditor.vue:297 +#: src/views/config/ConfigEditor.vue:300 #: src/views/stream/components/Deploy.vue:88 msgid "Overwrite exist file" msgstr "" @@ -1661,21 +1707,25 @@ msgid "" "password replacement or as a 2FA method." msgstr "" -#: src/views/other/Login.vue:206 src/views/user/userColumns.tsx:18 +#: src/views/other/Login.vue:207 src/views/user/userColumns.tsx:18 msgid "Password" msgstr "Mot de passe" -#: src/views/other/Install.vue:106 +#: src/views/other/Install.vue:110 msgid "Password (*)" msgstr "Mot de passe (*)" -#: src/views/config/ConfigEditor.vue:262 +#: src/views/other/Install.vue:48 +msgid "Password length cannot exceed 20 characters" +msgstr "" + +#: src/views/config/ConfigEditor.vue:265 #: src/views/site/ngx_conf/LocationEditor.vue:111 #: src/views/site/ngx_conf/LocationEditor.vue:139 msgid "Path" msgstr "Chemin" -#: src/views/environment/BatchUpgrader.vue:234 +#: src/views/environment/BatchUpgrader.vue:235 msgid "Perform" msgstr "" @@ -1703,11 +1753,11 @@ msgid "" "provider." msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:127 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:107 msgid "Please fill in the required fields" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:58 +#: src/views/site/cert/components/AutoCertStepOne.vue:57 #, fuzzy msgid "" "Please first add credentials in Certification > DNS Credentials, and then " @@ -1718,13 +1768,13 @@ msgstr "" "des informations d'identification ci-dessous pour demander l'API du " "fournisseur DNS." -#: src/views/config/components/Rename.vue:64 -#: src/views/config/ConfigEditor.vue:249 +#: src/views/config/components/Rename.vue:65 +#: src/views/config/ConfigEditor.vue:251 #, fuzzy msgid "Please input a filename" msgstr "Veuillez saisir votre nom d'utilisateur !" -#: src/views/config/components/Mkdir.vue:56 +#: src/views/config/components/Mkdir.vue:58 #, fuzzy msgid "Please input a folder name" msgstr "Veuillez saisir votre nom d'utilisateur !" @@ -1750,11 +1800,11 @@ msgstr "" msgid "Please input your E-mail!" msgstr "Veuillez saisir votre e-mail !" -#: src/views/other/Install.vue:44 src/views/other/Login.vue:46 +#: src/views/other/Install.vue:44 src/views/other/Login.vue:47 msgid "Please input your password!" msgstr "Veuillez saisir votre mot de passe !" -#: src/views/other/Install.vue:38 src/views/other/Login.vue:40 +#: src/views/other/Install.vue:38 src/views/other/Login.vue:41 msgid "Please input your username!" msgstr "Veuillez saisir votre nom d'utilisateur !" @@ -1782,13 +1832,13 @@ msgstr "" msgid "Please upgrade the remote Nginx UI to the latest version" msgstr "Dupliqué avec succès" -#: src/views/environment/BatchUpgrader.vue:169 -#: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195 -#: src/views/system/Upgrade.vue:246 +#: src/views/environment/BatchUpgrader.vue:170 +#: src/views/environment/BatchUpgrader.vue:223 src/views/system/Upgrade.vue:196 +#: src/views/system/Upgrade.vue:247 msgid "Pre-release" msgstr "" -#: src/routes/index.ts:266 src/views/preference/Preference.vue:141 +#: src/routes/index.ts:266 src/views/preference/Preference.vue:143 msgid "Preference" msgstr "Préférence" @@ -1818,37 +1868,42 @@ msgstr "Fournisseur" msgid "Proxy" msgstr "Proxy d'API" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:376 +#: src/views/preference/BasicSettings.vue:63 +msgid "Public Security Number" +msgstr "" + +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:387 #, fuzzy msgid "Reads" msgstr "Lectures" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:327 +#: src/views/dashboard/ServerAnalytic.vue:338 +#: src/views/dashboard/ServerAnalytic.vue:35 #, fuzzy msgid "Receive" msgstr "Recevoir" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:556 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:43 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:544 msgid "Recover" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:204 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:191 #, fuzzy msgid "Recovered Successfully" msgstr "Enregistré avec succès" #: src/components/TwoFA/Authorization.vue:94 -#: src/views/preference/components/TOTP.vue:178 +#: src/views/preference/components/TOTP.vue:177 msgid "Recovery" msgstr "" -#: src/views/preference/components/TOTP.vue:104 +#: src/views/preference/components/TOTP.vue:103 msgid "Recovery Code" msgstr "" -#: src/views/preference/components/TOTP.vue:113 +#: src/views/preference/components/TOTP.vue:112 msgid "Recovery Code:" msgstr "" @@ -1900,11 +1955,11 @@ msgstr "Enregistrement de l'utilisateur" msgid "Registration Status" msgstr "Enregistrement de l'utilisateur" -#: src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:228 msgid "Reinstall" msgstr "Réinstaller" -#: src/views/system/Upgrade.vue:250 +#: src/views/system/Upgrade.vue:251 msgid "Release Note" msgstr "Note de version" @@ -1941,14 +1996,15 @@ msgstr "Dupliqué avec succès" msgid "Remove successfully" msgstr "Enregistré avec succès" -#: src/components/Notification/Notification.vue:52 +#: src/components/Notification/Notification.vue:100 #, fuzzy msgid "Removed successfully" msgstr "Enregistré avec succès" -#: src/views/config/components/Rename.vue:55 -#: src/views/config/ConfigList.vue:167 -#: src/views/site/ngx_conf/NgxUpstream.vue:123 +#: src/views/config/components/ConfigName.vue:50 +#: src/views/config/components/Rename.vue:56 +#: src/views/config/ConfigList.vue:166 +#: src/views/site/ngx_conf/NgxUpstream.vue:125 #: src/views/site/site_edit/components/ConfigName.vue:46 #, fuzzy msgid "Rename" @@ -1995,18 +2051,19 @@ msgstr "Dupliqué avec succès" msgid "Rename Site %{site} to %{new_site} on %{node} successfully" msgstr "Dupliqué avec succès" -#: src/views/config/components/Rename.vue:41 +#: src/views/config/components/Rename.vue:42 #, fuzzy msgid "Rename successfully" msgstr "Activé avec succès" +#: src/views/config/components/ConfigName.vue:30 #: src/views/site/site_edit/components/ConfigName.vue:27 #, fuzzy msgid "Renamed successfully" msgstr "Activé avec succès" -#: src/views/certificate/RenewCert.vue:43 -#: src/views/certificate/RenewCert.vue:47 +#: src/views/certificate/RenewCert.vue:45 +#: src/views/certificate/RenewCert.vue:49 #, fuzzy msgid "Renew Certificate" msgstr "Changer de certificat" @@ -2021,7 +2078,7 @@ msgstr "Changer de certificat" msgid "Renew Certificate Success" msgstr "Changer de certificat" -#: src/views/certificate/RenewCert.vue:25 +#: src/views/certificate/RenewCert.vue:27 #: src/views/certificate/WildcardCertificate.vue:48 #, fuzzy msgid "Renew successfully" @@ -2031,11 +2088,11 @@ msgstr "Activé avec succès" msgid "Requested with wrong parameters" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:468 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:448 msgid "Reset" msgstr "Réinitialiser" -#: src/views/preference/components/TOTP.vue:133 +#: src/views/preference/components/TOTP.vue:132 #, fuzzy msgid "Reset 2FA" msgstr "Réinitialiser" @@ -2070,13 +2127,15 @@ msgstr "En cours d'éxécution" #: src/components/ChatGPT/ChatGPT.vue:259 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:68 -#: src/views/certificate/CertificateEditor.vue:256 -#: src/views/config/ConfigEditor.vue:222 +#: src/components/StdDesign/StdDetail/StdDetail.vue:93 +#: src/views/certificate/CertificateEditor.vue:263 +#: src/views/config/components/ConfigName.vue:58 +#: src/views/config/ConfigEditor.vue:224 #: src/views/preference/components/Passkey.vue:136 -#: src/views/preference/Preference.vue:187 +#: src/views/preference/Preference.vue:189 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:120 #: src/views/site/site_edit/components/ConfigName.vue:54 -#: src/views/site/site_edit/SiteEdit.vue:256 +#: src/views/site/site_edit/SiteEdit.vue:271 #: src/views/stream/StreamEdit.vue:252 msgid "Save" msgstr "Enregistrer" @@ -2085,7 +2144,7 @@ msgstr "Enregistrer" msgid "Save Directive" msgstr "Enregistrer la directive" -#: src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:173 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:41 #: src/views/site/SiteAdd.vue:46 msgid "Save error %{msg}" @@ -2112,20 +2171,20 @@ msgid "Save Site %{site} to %{node} successfully" msgstr "Dupliqué avec succès" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117 -#: src/views/certificate/CertificateEditor.vue:46 -#: src/views/preference/Preference.vue:110 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:97 +#: src/views/certificate/CertificateEditor.vue:49 +#: src/views/preference/Preference.vue:112 msgid "Save successfully" msgstr "Sauvegarde réussie" -#: src/views/config/ConfigEditor.vue:167 +#: src/views/config/ConfigEditor.vue:169 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 -#: src/views/site/site_edit/SiteEdit.vue:140 src/views/site/SiteAdd.vue:37 +#: src/views/site/site_edit/SiteEdit.vue:152 src/views/site/SiteAdd.vue:37 #: src/views/stream/StreamEdit.vue:138 msgid "Saved successfully" msgstr "Enregistré avec succès" -#: src/views/preference/components/TOTP.vue:94 +#: src/views/preference/components/TOTP.vue:93 msgid "Scan the QR code with your mobile phone to add the account to the app." msgstr "" @@ -2133,49 +2192,49 @@ msgstr "" msgid "SDK" msgstr "" -#: src/views/preference/components/TOTP.vue:150 +#: src/views/preference/components/TOTP.vue:149 msgid "Secret has been copied" msgstr "" -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:184 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 msgid "Selector" msgstr "Sélecteur" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:337 +#: src/views/dashboard/ServerAnalytic.vue:348 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Send" msgstr "Envoyer" #: src/components/NginxControl/NginxControl.vue:32 #: src/components/NginxControl/NginxControl.vue:48 -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:44 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:124 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:53 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:207 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:249 -#: src/views/config/components/Mkdir.vue:36 -#: src/views/config/components/Rename.vue:44 -#: src/views/config/ConfigEditor.vue:108 -#: src/views/environment/BatchUpgrader.vue:58 -#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:66 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:70 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:194 +#: src/views/config/components/Mkdir.vue:38 +#: src/views/config/components/Rename.vue:45 +#: src/views/config/ConfigEditor.vue:111 +#: src/views/environment/BatchUpgrader.vue:59 +#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:70 #: src/views/preference/AuthSettings.vue:49 #: src/views/preference/components/Passkey.vue:26 #: src/views/preference/components/Passkey.vue:43 #: src/views/preference/components/Passkey.vue:56 -#: src/views/preference/components/TOTP.vue:45 -#: src/views/preference/components/TOTP.vue:58 -#: src/views/preference/Preference.vue:114 -#: src/views/site/site_list/SiteList.vue:39 -#: src/views/site/site_list/SiteList.vue:71 src/views/stream/StreamList.vue:113 -#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:41 +#: src/views/preference/components/TOTP.vue:44 +#: src/views/preference/components/TOTP.vue:57 +#: src/views/preference/Preference.vue:116 +#: src/views/site/site_list/SiteList.vue:40 +#: src/views/site/site_list/SiteList.vue:72 src/views/stream/StreamList.vue:113 +#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:42 msgid "Server error" msgstr "Erreur du serveur" -#: src/views/dashboard/ServerAnalytic.vue:168 +#: src/views/dashboard/ServerAnalytic.vue:179 msgid "Server Info" msgstr "Informations sur le serveur" -#: src/views/site/cert/components/ObtainCert.vue:102 +#: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "server_name introuvable dans les directives" @@ -2203,11 +2262,11 @@ msgstr "Définition des variables d'environnement" msgid "Setting HTTP01 challenge provider" msgstr "Utilisation du fournisseur de challenge HTTP01" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "" -#: src/views/other/Login.vue:263 +#: src/views/other/Login.vue:264 msgid "Sign in with a passkey" msgstr "" @@ -2227,32 +2286,32 @@ msgstr "Journaux du site" msgid "Sites List" msgstr "Liste des sites" -#: src/views/certificate/CertificateEditor.vue:205 +#: src/views/certificate/CertificateEditor.vue:212 #, fuzzy msgid "SSL Certificate Content" msgstr "Contenu de la certification SSL" -#: src/views/certificate/CertificateEditor.vue:218 +#: src/views/certificate/CertificateEditor.vue:225 #, fuzzy msgid "SSL Certificate Key Content" msgstr "Contenu de la clé de certification SSL" -#: src/views/certificate/CertificateEditor.vue:184 +#: src/views/certificate/CertificateEditor.vue:191 msgid "SSL Certificate Key Path" msgstr "Chemin de la clé du certificat SSL" -#: src/views/certificate/CertificateEditor.vue:169 +#: src/views/certificate/CertificateEditor.vue:176 msgid "SSL Certificate Path" msgstr "Chemin du certificat SSL" -#: src/views/other/Login.vue:221 +#: src/views/other/Login.vue:222 #, fuzzy msgid "SSO Login" msgstr "Connexion" -#: src/views/environment/BatchUpgrader.vue:166 -#: src/views/environment/BatchUpgrader.vue:216 src/views/system/Upgrade.vue:192 -#: src/views/system/Upgrade.vue:240 +#: src/views/environment/BatchUpgrader.vue:167 +#: src/views/environment/BatchUpgrader.vue:217 src/views/system/Upgrade.vue:193 +#: src/views/system/Upgrade.vue:241 #, fuzzy msgid "Stable" msgstr "Tableau" @@ -2260,7 +2319,7 @@ msgstr "Tableau" #: src/views/certificate/ACMEUser.vue:65 #: src/views/certificate/CertificateList/certColumns.tsx:68 #: src/views/environment/envColumns.tsx:75 -#: src/views/site/site_list/columns.tsx:38 src/views/stream/StreamList.vue:22 +#: src/views/site/site_list/columns.tsx:40 src/views/stream/StreamList.vue:22 msgid "Status" msgstr "Statut" @@ -2268,8 +2327,8 @@ msgstr "Statut" msgid "Stopped" msgstr "Arrêté" -#: src/views/dashboard/ServerAnalytic.vue:243 -#: src/views/dashboard/ServerAnalytic.vue:244 +#: src/views/dashboard/ServerAnalytic.vue:254 +#: src/views/dashboard/ServerAnalytic.vue:255 msgid "Storage" msgstr "Stockage" @@ -2277,8 +2336,8 @@ msgstr "Stockage" msgid "Success" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:229 -#: src/views/dashboard/ServerAnalytic.vue:230 +#: src/views/dashboard/ServerAnalytic.vue:240 +#: src/views/dashboard/ServerAnalytic.vue:241 #, fuzzy msgid "Swap" msgstr "Échanger" @@ -2291,7 +2350,7 @@ msgstr "" msgid "Switch to light theme" msgstr "" -#: src/views/config/components/Rename.vue:80 +#: src/views/config/components/Rename.vue:81 msgid "Sync" msgstr "" @@ -2357,7 +2416,7 @@ msgstr "" msgid "Sync strategy" msgstr "Changer de certificat" -#: src/views/certificate/CertificateEditor.vue:198 +#: src/views/certificate/CertificateEditor.vue:205 msgid "Sync to" msgstr "" @@ -2377,7 +2436,7 @@ msgstr "" msgid "Target" msgstr "" -#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:113 +#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:114 msgid "Terminal" msgstr "Terminal" @@ -2385,7 +2444,7 @@ msgstr "Terminal" msgid "Terminal Start Command" msgstr "Commande de démarrage du terminal" -#: src/views/site/cert/components/AutoCertStepOne.vue:50 +#: src/views/site/cert/components/AutoCertStepOne.vue:49 #, fuzzy msgid "" "The certificate for the domain will be checked 30 minutes, and will be " @@ -2395,15 +2454,21 @@ msgstr "" "Le certificat du domaine sera vérifié toutes les heures et sera renouvelé " "s'il s'est écoulé plus d'une semaine depuis sa dernière émission." -#: src/views/other/Install.vue:50 +#: src/views/other/Install.vue:54 msgid "The filename cannot contain the following characters: %{c}" msgstr "Le nom de fichier ne peut pas contenir les caractères suivants : %{c}" -#: src/views/certificate/CertificateEditor.vue:208 +#: src/views/preference/BasicSettings.vue:54 +msgid "" +"The ICP Number should only contain letters, unicode, numbers, hyphens, " +"dashes, colons, and dots." +msgstr "" + +#: src/views/certificate/CertificateEditor.vue:215 msgid "The input is not a SSL Certificate" msgstr "" -#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:228 #, fuzzy msgid "The input is not a SSL Certificate Key" msgstr "Chemin de la clé du certificat SSL" @@ -2411,25 +2476,31 @@ msgstr "Chemin de la clé du certificat SSL" #: src/views/preference/OpenAISettings.vue:35 msgid "" "The model name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." +"dashes, colons, and dots." msgstr "" -#: src/views/preference/BasicSettings.vue:45 +#: src/views/preference/BasicSettings.vue:33 msgid "" "The node name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." +"dashes, colons, and dots." msgstr "" -#: src/views/certificate/CertificateEditor.vue:173 +#: src/views/certificate/CertificateEditor.vue:180 #, fuzzy msgid "The path exists, but the file is not a certificate" msgstr "Chemin de la clé du certificat SSL" -#: src/views/certificate/CertificateEditor.vue:188 +#: src/views/certificate/CertificateEditor.vue:195 msgid "The path exists, but the file is not a private key" msgstr "" -#: src/views/preference/components/TOTP.vue:112 +#: src/views/preference/BasicSettings.vue:66 +msgid "" +"The Public Security Number should only contain letters, unicode, numbers, " +"hyphens, dashes, colons, and dots." +msgstr "" + +#: src/views/preference/components/TOTP.vue:111 msgid "" "The recovery code is only displayed once, please save it in a safe place." msgstr "" @@ -2441,7 +2512,7 @@ msgid "" "match the local version." msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:45 +#: src/views/site/cert/components/AutoCertStepOne.vue:44 #, fuzzy msgid "" "The server_name in the current configuration must be the domain name you " @@ -2451,7 +2522,7 @@ msgstr "" "dont vous avez besoin pour obtenir le certificat, prendre en charge " "plusieurs domaines." -#: src/views/preference/BasicSettings.vue:33 +#: src/views/preference/BasicSettings.vue:42 #: src/views/preference/CertSettings.vue:19 msgid "The url is invalid" msgstr "" @@ -2465,20 +2536,20 @@ msgstr "" msgid "The username or password is incorrect" msgstr "Le pseudo ou mot de passe est incorect" -#: src/views/certificate/CertificateEditor.vue:96 +#: src/views/certificate/CertificateEditor.vue:103 #, fuzzy msgid "This Auto Cert item is invalid, please remove it." msgstr "" "Cet élément de certification automatique n'est pas valide, veuillez le " "supprimer." -#: src/views/certificate/CertificateEditor.vue:86 +#: src/views/certificate/CertificateEditor.vue:93 msgid "This certificate is managed by Nginx UI" msgstr "" -#: src/views/certificate/CertificateEditor.vue:157 -#: src/views/certificate/CertificateEditor.vue:171 -#: src/views/certificate/CertificateEditor.vue:186 +#: src/views/certificate/CertificateEditor.vue:164 +#: src/views/certificate/CertificateEditor.vue:178 +#: src/views/certificate/CertificateEditor.vue:193 msgid "This field is required" msgstr "" @@ -2504,7 +2575,7 @@ msgstr "" msgid "This value is already taken" msgstr "" -#: src/views/environment/BatchUpgrader.vue:184 +#: src/views/environment/BatchUpgrader.vue:185 msgid "" "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}." msgstr "" @@ -2523,7 +2594,7 @@ msgstr "" msgid "Title" msgstr "" -#: src/views/preference/components/TOTP.vue:93 +#: src/views/preference/components/TOTP.vue:92 msgid "" "To enable it, you need to install the Google or Microsoft Authenticator app " "on your mobile phone." @@ -2550,33 +2621,40 @@ msgstr "" #: src/views/preference/OpenAISettings.vue:48 msgid "" -"To use a local large model, deploy it with vllm or imdeploy. They provide an " -"OpenAI-compatible API endpoint, so just set the baseUrl to your local API." +"To use a local large model, deploy it with ollama, vllm or imdeploy. They " +"provide an OpenAI-compatible API endpoint, so just set the baseUrl to your " +"local API." msgstr "" #: src/views/preference/OpenAISettings.vue:72 msgid "Token is not valid" msgstr "" -#: src/views/other/Login.vue:80 +#: src/views/other/Login.vue:81 msgid "Too many login failed attempts, please try again later" msgstr "" -#: src/views/preference/components/TOTP.vue:91 +#: src/components/StdDesign/StdDataDisplay/StdPagination.vue:40 +msgid "Total %{total} item" +msgid_plural "Total %{total} items" +msgstr[0] "" +msgstr[1] "" + +#: src/views/preference/components/TOTP.vue:90 msgid "TOTP" msgstr "" -#: src/views/preference/components/TOTP.vue:92 +#: src/views/preference/components/TOTP.vue:91 msgid "" "TOTP is a two-factor authentication method that uses a time-based one-time " "password algorithm." msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:202 msgid "Trash" msgstr "" -#: src/components/TwoFA/use2FAModal.ts:66 +#: src/components/TwoFA/use2FAModal.ts:67 msgid "Two-factor authentication required" msgstr "" @@ -2593,26 +2671,26 @@ msgstr "Mis à jour avec succés" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:275 +#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:278 #: src/views/environment/envColumns.tsx:119 #: src/views/site/site_category/columns.ts:20 #: src/views/site/site_edit/RightSettings.vue:100 -#: src/views/site/site_list/columns.tsx:64 +#: src/views/site/site_list/columns.tsx:67 #: src/views/stream/components/RightSettings.vue:85 #: src/views/stream/StreamList.vue:41 src/views/user/userColumns.tsx:54 msgid "Updated at" msgstr "Mis à jour le" -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:123 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:121 msgid "Updated successfully" msgstr "Mis à jour avec succés" #: src/routes/index.ts:290 src/views/environment/Environment.vue:55 -#: src/views/system/Upgrade.vue:144 src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228 msgid "Upgrade" msgstr "Mettre à niveau" -#: src/views/environment/BatchUpgrader.vue:139 +#: src/views/environment/BatchUpgrader.vue:140 #, fuzzy msgid "Upgraded Nginx UI on %{node} successfully 🎉" msgstr "Mise à niveau réussie" @@ -2621,15 +2699,15 @@ msgstr "Mise à niveau réussie" msgid "Upgraded successfully" msgstr "Mise à niveau réussie" -#: src/views/environment/BatchUpgrader.vue:90 src/views/system/Upgrade.vue:78 +#: src/views/environment/BatchUpgrader.vue:91 src/views/system/Upgrade.vue:79 msgid "Upgrading Nginx UI, please wait..." msgstr "Mise à jour de Nginx UI, veuillez patienter..." -#: src/views/site/ngx_conf/NgxUpstream.vue:170 +#: src/views/site/ngx_conf/NgxUpstream.vue:172 msgid "Upstream Name" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:172 +#: src/views/dashboard/ServerAnalytic.vue:183 msgid "Uptime:" msgstr "Disponibilité :" @@ -2650,15 +2728,15 @@ msgstr "" msgid "User" msgstr "Nom d'utilisateur" -#: src/views/other/Login.vue:83 +#: src/views/other/Login.vue:84 msgid "User is banned" msgstr "" -#: src/views/other/Login.vue:196 src/views/user/userColumns.tsx:9 +#: src/views/other/Login.vue:197 src/views/user/userColumns.tsx:9 msgid "Username" msgstr "Nom d'utilisateur" -#: src/views/other/Install.vue:96 +#: src/views/other/Install.vue:100 msgid "Username (*)" msgstr "Nom d'utilisateur (*)" @@ -2673,21 +2751,21 @@ msgstr "" msgid "Version" msgstr "Version actuelle" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:506 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:494 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:103 msgid "View" msgstr "Voir" -#: src/components/Notification/Notification.vue:143 +#: src/components/Notification/Notification.vue:192 #, fuzzy msgid "View all notifications" msgstr "Certification" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 msgid "View Details" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 #, fuzzy msgid "View Mode" msgstr "Mode simple" @@ -2705,7 +2783,7 @@ msgid "" "ownership verification." msgstr "" -#: src/views/site/cert/components/ObtainCert.vue:134 +#: src/views/site/cert/components/ObtainCert.vue:137 msgid "" "We will remove the HTTPChallenge configuration from this file and reload the " "Nginx. Are you sure you want to continue?" @@ -2730,8 +2808,8 @@ msgid "" "site category and the nodes selected below will be synchronized." msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:366 +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:377 msgid "Writes" msgstr "Écritures" @@ -2750,11 +2828,11 @@ msgstr "Écriture du certificat sur le disque" msgid "Yes" msgstr "Oui" -#: src/views/system/Upgrade.vue:203 +#: src/views/system/Upgrade.vue:204 msgid "You are using the latest version" msgstr "Vous utilisez la dernière version" -#: src/views/system/Upgrade.vue:165 +#: src/views/system/Upgrade.vue:166 msgid "You can check Nginx UI upgrade at this page." msgstr "Vous pouvez vérifier la mise à niveau de Nginx UI sur cette page." diff --git a/app/src/language/ko_KR/app.po b/app/src/language/ko_KR/app.po index 3db4e769..d9b4ae49 100644 --- a/app/src/language/ko_KR/app.po +++ b/app/src/language/ko_KR/app.po @@ -26,7 +26,7 @@ msgstr "2FA 설정" msgid "About" msgstr "대하여" -#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:76 +#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:75 msgid "Access Logs" msgstr "접근 로그" @@ -43,17 +43,17 @@ msgstr "ACME 사용자" #: src/views/notification/notificationColumns.tsx:62 #: src/views/preference/AuthSettings.vue:26 #: src/views/site/site_category/columns.ts:26 -#: src/views/site/site_list/columns.tsx:70 src/views/stream/StreamList.vue:47 +#: src/views/site/site_list/columns.tsx:74 src/views/stream/StreamList.vue:47 #: src/views/user/userColumns.tsx:60 msgid "Action" msgstr "작업" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:177 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:209 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:191 #: src/views/preference/CertSettings.vue:42 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:117 #: src/views/site/ngx_conf/NgxServer.vue:162 -#: src/views/site/ngx_conf/NgxUpstream.vue:152 +#: src/views/site/ngx_conf/NgxUpstream.vue:154 #: src/views/stream/StreamList.vue:121 msgid "Add" msgstr "추가" @@ -63,8 +63,8 @@ msgstr "추가" msgid "Add a passkey" msgstr "" -#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:143 -#: src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:146 +#: src/views/config/ConfigEditor.vue:206 msgid "Add Configuration" msgstr "구성 추가" @@ -93,7 +93,7 @@ msgstr "성공적으로 추가됨" msgid "Additional" msgstr "추가적인" -#: src/views/site/site_edit/SiteEdit.vue:191 +#: src/views/site/site_edit/SiteEdit.vue:205 #: src/views/stream/StreamEdit.vue:189 msgid "Advance Mode" msgstr "고급 모드" @@ -102,7 +102,8 @@ msgstr "고급 모드" msgid "Afterwards, refresh this page and click add passkey again." msgstr "" -#: src/views/site/site_list/SiteList.vue:101 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:425 +#: src/views/site/site_list/SiteList.vue:102 msgid "All" msgstr "" @@ -122,7 +123,21 @@ msgstr "API 프록시" msgid "API Token" msgstr "API 토큰" -#: src/views/system/Upgrade.vue:177 +#: src/views/preference/OpenAISettings.vue:78 +#, fuzzy +msgid "API Type" +msgstr "API 토큰" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:105 +msgid "Apply" +msgstr "" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:67 +#, fuzzy +msgid "Apply bulk action successfully" +msgstr "성공적으로 복제됨" + +#: src/views/system/Upgrade.vue:178 msgid "Arch" msgstr "아키텍처" @@ -135,7 +150,12 @@ msgstr "차단된 IP를 즉시 삭제하시겠습니까?" msgid "Are you sure to delete this passkey immediately?" msgstr "차단된 IP를 즉시 삭제하시겠습니까?" -#: src/components/Notification/Notification.vue:86 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:98 +#, fuzzy +msgid "Are you sure you want to apply to all selected?" +msgstr "정말 삭제하시겠습니까?" + +#: src/components/Notification/Notification.vue:135 #: src/views/notification/Notification.vue:40 msgid "Are you sure you want to clear all notifications?" msgstr "모든 알림을 지우시겠습니까?" @@ -144,20 +164,20 @@ msgstr "모든 알림을 지우시겠습니까?" msgid "Are you sure you want to clear the record of chat?" msgstr "기록을 지우시겠습니까?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:564 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:552 msgid "Are you sure you want to delete this item permanently?" msgstr "이 항목을 영구적으로 삭제하시겠습니까?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:523 msgid "Are you sure you want to delete this item?" msgstr "이 항목을 삭제하시겠습니까?" -#: src/views/site/site_list/SiteList.vue:149 +#: src/views/site/site_list/SiteList.vue:150 #: src/views/stream/StreamList.vue:166 msgid "Are you sure you want to delete?" msgstr "정말 삭제하시겠습니까?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:549 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:537 msgid "Are you sure you want to recover this item?" msgstr "이 항목을 복구하시겠습니까?" @@ -185,7 +205,7 @@ msgstr "조수" msgid "Attempts" msgstr "시도 횟수" -#: src/views/preference/Preference.vue:152 +#: src/views/preference/Preference.vue:154 msgid "Auth" msgstr "인증" @@ -202,22 +222,22 @@ msgstr "" msgid "Author" msgstr "저자" -#: src/views/nginx_log/NginxLog.vue:151 +#: src/views/nginx_log/NginxLog.vue:152 msgid "Auto Refresh" msgstr "자동 새로고침" -#: src/views/site/cert/components/ObtainCert.vue:75 +#: src/views/site/cert/components/ObtainCert.vue:80 msgid "Auto-renewal disabled for %{name}" msgstr "%{name}에 대한 자동 갱신 비활성화됨" -#: src/views/site/cert/components/ObtainCert.vue:68 +#: src/views/site/cert/components/ObtainCert.vue:73 msgid "Auto-renewal enabled for %{name}" msgstr "%{name}에 대한 자동 갱신 활성화됨" -#: src/views/certificate/CertificateEditor.vue:249 -#: src/views/config/ConfigEditor.vue:213 src/views/config/ConfigList.vue:107 -#: src/views/config/ConfigList.vue:181 src/views/nginx_log/NginxLog.vue:172 -#: src/views/site/site_edit/SiteEdit.vue:249 +#: src/views/certificate/CertificateEditor.vue:256 +#: src/views/config/ConfigEditor.vue:215 src/views/config/ConfigList.vue:106 +#: src/views/config/ConfigList.vue:180 src/views/nginx_log/NginxLog.vue:173 +#: src/views/site/site_edit/SiteEdit.vue:264 #: src/views/stream/StreamEdit.vue:245 msgid "Back" msgstr "뒤로" @@ -226,7 +246,7 @@ msgstr "뒤로" msgid "Back Home" msgstr "홈으로" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:222 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211 msgid "Back to list" msgstr "목록으로 돌아가기" @@ -246,24 +266,29 @@ msgstr "차단될 시간" msgid "Base information" msgstr "기본 정보" -#: src/views/config/ConfigEditor.vue:241 -#: src/views/preference/Preference.vue:146 +#: src/views/config/ConfigEditor.vue:243 +#: src/views/preference/Preference.vue:148 #: src/views/site/site_edit/RightSettings.vue:79 #: src/views/stream/components/RightSettings.vue:74 msgid "Basic" msgstr "기본" -#: src/views/site/site_edit/SiteEdit.vue:194 +#: src/views/site/site_edit/SiteEdit.vue:208 #: src/views/stream/StreamEdit.vue:192 msgid "Basic Mode" msgstr "기본 모드" +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:85 +#, fuzzy +msgid "Batch Actions" +msgstr "작업" + #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:66 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:474 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:454 msgid "Batch Modify" msgstr "일괄 수정" -#: src/views/environment/BatchUpgrader.vue:154 +#: src/views/environment/BatchUpgrader.vue:155 msgid "Batch Upgrade" msgstr "배치 업그레이드" @@ -283,18 +308,19 @@ msgstr "CA 디렉토리" msgid "CADir" msgstr "CA 디렉토리" -#: src/views/preference/components/TOTP.vue:151 +#: src/views/preference/components/TOTP.vue:150 msgid "Can't scan? Use text key binding" msgstr "" #: src/components/ChatGPT/ChatGPT.vue:260 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:261 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:251 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:180 +#: src/components/StdDesign/StdDetail/StdDetail.vue:101 #: src/views/preference/components/Passkey.vue:147 -#: src/views/site/cert/components/ObtainCert.vue:137 +#: src/views/site/cert/components/ObtainCert.vue:140 #: src/views/site/ngx_conf/NgxConfigEditor.vue:51 #: src/views/site/ngx_conf/NgxServer.vue:80 -#: src/views/site/ngx_conf/NgxUpstream.vue:33 +#: src/views/site/ngx_conf/NgxUpstream.vue:34 #: src/views/site/site_edit/RightSettings.vue:55 #: src/views/stream/components/Deploy.vue:20 #: src/views/stream/components/RightSettings.vue:51 @@ -302,11 +328,11 @@ msgid "Cancel" msgstr "취소" #: src/views/site/site_edit/RightSettings.vue:91 -#: src/views/site/site_list/columns.tsx:22 +#: src/views/site/site_list/columns.tsx:23 msgid "Category" msgstr "" -#: src/views/preference/Preference.vue:158 +#: src/views/preference/Preference.vue:160 #, fuzzy msgid "Cert" msgstr "자동 인증" @@ -315,7 +341,7 @@ msgstr "자동 인증" msgid "Certificate Renewal Interval" msgstr "인증서 갱신 간격" -#: src/views/certificate/CertificateEditor.vue:122 +#: src/views/certificate/CertificateEditor.vue:129 #: src/views/site/cert/Cert.vue:32 msgid "Certificate Status" msgid_plural "Certificates Status" @@ -331,7 +357,7 @@ msgstr "인증서" msgid "Certificates List" msgstr "인증서 목록" -#: src/views/site/cert/components/AutoCertStepOne.vue:67 +#: src/views/site/cert/components/AutoCertStepOne.vue:66 msgid "Challenge Method" msgstr "인증 방법" @@ -347,16 +373,16 @@ msgid_plural "Changed Certificates" msgstr[0] "인증서 변경" msgstr[1] "인증서 변경" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 #, fuzzy msgid "Changed Path" msgstr "인증서 변경" -#: src/views/environment/BatchUpgrader.vue:161 src/views/system/Upgrade.vue:189 +#: src/views/environment/BatchUpgrader.vue:162 src/views/system/Upgrade.vue:190 msgid "Channel" msgstr "채널" -#: src/views/system/Upgrade.vue:186 +#: src/views/system/Upgrade.vue:187 msgid "Check again" msgstr "다시 확인" @@ -365,12 +391,12 @@ msgid "Cleaning environment variables" msgstr "환경 변수 정리" #: src/components/ChatGPT/ChatGPT.vue:283 -#: src/components/Notification/Notification.vue:91 +#: src/components/Notification/Notification.vue:140 #: src/views/notification/Notification.vue:45 msgid "Clear" msgstr "클리어" -#: src/components/Notification/Notification.vue:42 +#: src/components/Notification/Notification.vue:90 #: src/views/notification/Notification.vue:13 msgid "Cleared successfully" msgstr "성공적으로 제거됨" @@ -398,7 +424,7 @@ msgstr "구성 파일 테스트 성공" msgid "Configuration Name" msgstr "구성 이름" -#: src/views/config/ConfigList.vue:99 +#: src/views/config/ConfigList.vue:98 msgid "Configurations" msgstr "구성들" @@ -410,7 +436,7 @@ msgstr "SSL 구성하기" msgid "Connected" msgstr "연결됨" -#: src/views/terminal/Terminal.vue:119 +#: src/views/terminal/Terminal.vue:120 msgid "Connection lost, please refresh the page." msgstr "연결이 끊어졌습니다. 페이지를 새로 고침하세요." @@ -420,27 +446,28 @@ msgstr "연결이 끊어졌습니다. 페이지를 새로 고침하세요." msgid "Content" msgstr "내용" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 +#: src/components/StdDesign/StdDataDisplay/StdTableTransformer.tsx:150 msgid "Copied" msgstr "" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 msgid "Copy" msgstr "" -#: src/views/system/Upgrade.vue:147 +#: src/views/system/Upgrade.vue:148 msgid "Core Upgrade" msgstr "코어 업그레이드" -#: src/views/dashboard/ServerAnalytic.vue:294 +#: src/views/dashboard/ServerAnalytic.vue:305 msgid "CPU Status" msgstr "CPU 상태" -#: src/views/dashboard/ServerAnalytic.vue:188 +#: src/views/dashboard/ServerAnalytic.vue:199 msgid "CPU:" msgstr "CPU:" -#: src/views/site/ngx_conf/NgxUpstream.vue:163 +#: src/views/site/ngx_conf/NgxUpstream.vue:165 msgid "Create" msgstr "생성" @@ -448,12 +475,12 @@ msgstr "생성" msgid "Create Another" msgstr "다른 것 생성하기" -#: src/views/config/ConfigList.vue:117 +#: src/views/config/ConfigList.vue:116 #, fuzzy msgid "Create File" msgstr "생성" -#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:124 +#: src/views/config/components/Mkdir.vue:49 src/views/config/ConfigList.vue:123 #, fuzzy msgid "Create Folder" msgstr "다른 것 생성하기" @@ -464,7 +491,7 @@ msgstr "다른 것 생성하기" msgid "Created at" msgstr "생성 시간" -#: src/views/config/components/Mkdir.vue:33 +#: src/views/config/components/Mkdir.vue:35 #, fuzzy msgid "Created successfully" msgstr "성공적으로 제거됨" @@ -481,15 +508,15 @@ msgstr "인증 정보" msgid "Credentials" msgstr "인증 정보들" -#: src/views/preference/components/TOTP.vue:99 +#: src/views/preference/components/TOTP.vue:98 msgid "Current account is enabled TOTP." msgstr "" -#: src/views/preference/components/TOTP.vue:96 +#: src/views/preference/components/TOTP.vue:95 msgid "Current account is not enabled TOTP." msgstr "" -#: src/views/system/Upgrade.vue:166 +#: src/views/system/Upgrade.vue:167 msgid "Current Version" msgstr "현재 버전" @@ -498,18 +525,18 @@ msgstr "현재 버전" msgid "Custom" msgstr "사용자 정의" -#: src/views/preference/BasicSettings.vue:46 +#: src/views/preference/BasicSettings.vue:34 msgid "" "Customize the name of local node to be displayed in the environment " "indicator." msgstr "" -#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:133 -#: src/views/config/ConfigEditor.vue:94 src/views/config/ConfigList.vue:65 +#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:136 +#: src/views/config/ConfigEditor.vue:97 src/views/config/ConfigList.vue:64 msgid "Dashboard" msgstr "대시보드" -#: src/views/other/Install.vue:117 +#: src/views/other/Install.vue:121 msgid "Database (Optional, default: database)" msgstr "데이터베이스 (선택사항, 기본값: database)" @@ -517,15 +544,17 @@ msgstr "데이터베이스 (선택사항, 기본값: database)" msgid "Days" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:542 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:530 #: src/views/site/ngx_conf/NgxServer.vue:110 -#: src/views/site/ngx_conf/NgxUpstream.vue:126 -#: src/views/site/site_list/SiteList.vue:158 +#: src/views/site/ngx_conf/NgxUpstream.vue:128 +#: src/views/site/site_list/SiteList.vue:159 #: src/views/stream/StreamList.vue:175 msgid "Delete" msgstr "삭제" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:571 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:35 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:559 msgid "Delete Permanently" msgstr "" @@ -539,7 +568,7 @@ msgstr "인증서 갱신 오류" msgid "Delete Remote Site Success" msgstr "인증서 갱신 성공" -#: src/views/site/site_list/SiteList.vue:68 +#: src/views/site/site_list/SiteList.vue:69 msgid "Delete site: %{site_name}" msgstr "사이트 삭제: %{site_name}" @@ -547,11 +576,11 @@ msgstr "사이트 삭제: %{site_name}" msgid "Delete stream: %{stream_name}" msgstr "스트림 삭제: %{stream_name}" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:196 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:183 msgid "Deleted successfully" msgstr "성공적으로 삭제됨" -#: src/views/config/ConfigEditor.vue:284 +#: src/views/config/ConfigEditor.vue:287 #: src/views/stream/components/Deploy.vue:100 #: src/views/stream/components/RightSettings.vue:92 msgid "Deploy" @@ -594,12 +623,12 @@ msgstr "지시문들" msgid "Directory" msgstr "디렉토리" -#: src/views/site/site_list/SiteList.vue:127 +#: src/views/site/site_list/SiteList.vue:128 #: src/views/stream/StreamList.vue:144 msgid "Disable" msgstr "비활성화" -#: src/views/site/cert/components/ObtainCert.vue:77 +#: src/views/site/cert/components/ObtainCert.vue:82 msgid "Disable auto-renewal failed for %{name}" msgstr "%{name}의 자동 갱신 비활성화 실패" @@ -625,21 +654,21 @@ msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨" #: src/views/environment/envColumns.tsx:109 #: src/views/environment/envColumns.tsx:92 -#: src/views/site/site_edit/SiteEdit.vue:177 -#: src/views/site/site_list/columns.tsx:49 -#: src/views/site/site_list/columns.tsx:58 src/views/stream/StreamEdit.vue:175 +#: src/views/site/site_edit/SiteEdit.vue:190 +#: src/views/site/site_list/columns.tsx:51 +#: src/views/site/site_list/columns.tsx:60 src/views/stream/StreamEdit.vue:175 #: src/views/stream/StreamList.vue:33 src/views/user/userColumns.tsx:41 msgid "Disabled" msgstr "비활성화됨" #: src/views/site/site_edit/RightSettings.vue:42 -#: src/views/site/site_list/SiteList.vue:57 +#: src/views/site/site_list/SiteList.vue:58 #: src/views/stream/components/RightSettings.vue:38 #: src/views/stream/StreamList.vue:67 msgid "Disabled successfully" msgstr "성공적으로 비활성화됨" -#: src/views/dashboard/ServerAnalytic.vue:359 +#: src/views/dashboard/ServerAnalytic.vue:370 msgid "Disk IO" msgstr "디스크 IO" @@ -652,11 +681,11 @@ msgstr "DNS 인증 정보" msgid "DNS Provider" msgstr "DNS 제공자" -#: src/views/site/cert/components/AutoCertStepOne.vue:74 +#: src/views/site/cert/components/AutoCertStepOne.vue:73 msgid "DNS01" msgstr "DNS01" -#: src/views/site/cert/components/AutoCertStepOne.vue:99 +#: src/views/site/cert/components/AutoCertStepOne.vue:98 msgid "Do not enable this option unless you are sure that you need it." msgstr "" @@ -666,7 +695,7 @@ msgid_plural "Do you want to deploy this file to remote servers?" msgstr[0] "이 지시문을 정말로 제거하시겠습니까?" msgstr[1] "이 지시문들을 정말로 제거하시겠습니까?" -#: src/views/site/cert/components/ObtainCert.vue:133 +#: src/views/site/cert/components/ObtainCert.vue:136 msgid "Do you want to disable auto-cert renewal?" msgstr "자동 인증서 갱신을 비활성화하시겠습니까?" @@ -694,7 +723,7 @@ msgstr "TLS를 활성화하시겠습니까?" msgid "Do you want to remove this server?" msgstr "이 서버를 제거하시겠습니까?" -#: src/views/site/ngx_conf/NgxUpstream.vue:29 +#: src/views/site/ngx_conf/NgxUpstream.vue:30 msgid "Do you want to remove this upstream?" msgstr "이 업스트림을 제거하시겠습니까?" @@ -706,7 +735,7 @@ msgstr "도메인" msgid "Domain Config Created Successfully" msgstr "도메인 구성이 성공적으로 생성되었습니다" -#: src/views/certificate/CertificateEditor.vue:106 +#: src/views/certificate/CertificateEditor.vue:113 msgid "Domains list is empty, try to reopen Auto Cert for %{config}" msgstr "" "도메인 목록이 비어 있습니다. %{config}에 대한 자동 인증서를 다시 열어보세요" @@ -719,7 +748,7 @@ msgstr "최신 릴리스 다운로드 오류" msgid "Downloading latest release" msgstr "최신 릴리스 다운로드 중" -#: src/views/environment/BatchUpgrader.vue:190 src/views/system/Upgrade.vue:216 +#: src/views/environment/BatchUpgrader.vue:191 src/views/system/Upgrade.vue:217 msgid "Dry run mode enabled" msgstr "드라이런 모드 활성화됨" @@ -730,7 +759,7 @@ msgid "" msgstr "" #: src/views/site/site_list/SiteDuplicate.vue:74 -#: src/views/site/site_list/SiteList.vue:143 +#: src/views/site/site_list/SiteList.vue:144 #: src/views/stream/components/StreamDuplicate.vue:121 #: src/views/stream/StreamList.vue:160 msgid "Duplicate" @@ -754,12 +783,17 @@ msgstr "성공적으로 복제됨" msgid "Duplicate to local successfully" msgstr "로컬로 성공적으로 복제됨" -#: src/views/site/site_edit/SiteEdit.vue:166 +#: src/components/StdDesign/StdDetail/StdDetail.vue:110 +#, fuzzy +msgid "Edit" +msgstr "%{n} 편집" + +#: src/views/site/site_edit/SiteEdit.vue:179 #: src/views/stream/StreamEdit.vue:164 msgid "Edit %{n}" msgstr "%{n} 편집" -#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:206 msgid "Edit Configuration" msgstr "구성 편집" @@ -776,11 +810,11 @@ msgstr "스트림 편집" msgid "Email" msgstr "이메일 (*)" -#: src/views/other/Install.vue:86 +#: src/views/other/Install.vue:90 msgid "Email (*)" msgstr "이메일 (*)" -#: src/views/site/site_list/SiteList.vue:135 +#: src/views/site/site_list/SiteList.vue:136 #: src/views/stream/components/Deploy.vue:80 #: src/views/stream/StreamList.vue:152 msgid "Enable" @@ -794,12 +828,12 @@ msgstr "%{node_name}에서 %{conf_name} 활성화 실패" msgid "Enable %{conf_name} in %{node_name} successfully" msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨" -#: src/views/preference/components/TOTP.vue:55 +#: src/views/preference/components/TOTP.vue:54 #, fuzzy msgid "Enable 2FA successfully" msgstr "성공적으로 활성화" -#: src/views/site/cert/components/ObtainCert.vue:70 +#: src/views/site/cert/components/ObtainCert.vue:75 msgid "Enable auto-renewal failed for %{name}" msgstr "%{name}에 대한 자동 갱신 활성화 실패" @@ -835,7 +869,7 @@ msgstr "성공적으로 활성화" msgid "Enable TLS" msgstr "TLS 활성화" -#: src/views/preference/components/TOTP.vue:125 +#: src/views/preference/components/TOTP.vue:124 #, fuzzy msgid "Enable TOTP" msgstr "TLS 활성화" @@ -844,9 +878,9 @@ msgstr "TLS 활성화" #: src/views/environment/envColumns.tsx:106 #: src/views/preference/LogrotateSettings.vue:19 #: src/views/site/site_edit/RightSettings.vue:82 -#: src/views/site/site_edit/SiteEdit.vue:171 -#: src/views/site/site_list/columns.tsx:45 -#: src/views/site/site_list/columns.tsx:57 +#: src/views/site/site_edit/SiteEdit.vue:184 +#: src/views/site/site_list/columns.tsx:47 +#: src/views/site/site_list/columns.tsx:59 #: src/views/stream/components/RightSettings.vue:76 #: src/views/stream/StreamEdit.vue:169 src/views/stream/StreamList.vue:29 #: src/views/user/userColumns.tsx:38 @@ -854,14 +888,14 @@ msgid "Enabled" msgstr "활성화됨" #: src/views/site/site_edit/RightSettings.vue:33 -#: src/views/site/site_list/SiteList.vue:47 src/views/site/SiteAdd.vue:40 +#: src/views/site/site_list/SiteList.vue:48 src/views/site/SiteAdd.vue:40 #: src/views/stream/components/RightSettings.vue:29 #: src/views/stream/components/StreamDuplicate.vue:93 #: src/views/stream/StreamList.vue:57 msgid "Enabled successfully" msgstr "성공적으로 활성화됨" -#: src/views/site/cert/IssueCert.vue:49 +#: src/views/site/cert/IssueCert.vue:48 msgid "Encrypt website with Let's Encrypt" msgstr "Let's Encrypt로 웹사이트 암호화" @@ -883,11 +917,11 @@ msgstr "환경" msgid "Error" msgstr "오류" -#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:84 +#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:83 msgid "Error Logs" msgstr "오류 로그" -#: src/views/system/Upgrade.vue:178 +#: src/views/system/Upgrade.vue:179 msgid "Executable Path" msgstr "실행 가능 경로" @@ -901,7 +935,7 @@ msgstr "만료됨" msgid "Expired At: %{date}" msgstr "%{date}에 만료됨" -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:66 msgid "Export" msgstr "내보내기" @@ -911,14 +945,14 @@ msgid "Fail to obtain certificate" msgstr "인증서 획득 실패" #: src/views/site/site_edit/RightSettings.vue:45 -#: src/views/site/site_list/SiteList.vue:61 +#: src/views/site/site_list/SiteList.vue:62 #: src/views/stream/components/RightSettings.vue:41 #: src/views/stream/StreamList.vue:71 msgid "Failed to disable %{msg}" msgstr "%{msg} 비활성화 실패" #: src/views/site/site_edit/RightSettings.vue:36 -#: src/views/site/site_list/SiteList.vue:51 +#: src/views/site/site_list/SiteList.vue:52 #: src/views/stream/components/RightSettings.vue:32 #: src/views/stream/StreamList.vue:61 msgid "Failed to enable %{msg}" @@ -928,7 +962,7 @@ msgstr "%{msg} 활성화 실패" msgid "Failed to get certificate information" msgstr "인증서 정보 가져오기 실패" -#: src/views/site/site_edit/SiteEdit.vue:123 +#: src/views/site/site_edit/SiteEdit.vue:135 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." msgstr "저장 실패, 구성에서 구문 오류가 감지되었습니다." @@ -945,7 +979,7 @@ msgstr "파일이 존재함" msgid "File Not Found" msgstr "파일을 찾을 수 없음" -#: src/views/nginx_log/NginxLog.vue:154 +#: src/views/nginx_log/NginxLog.vue:155 msgid "Filter" msgstr "필터" @@ -959,20 +993,25 @@ msgid "" "process." msgstr "" -#: src/views/preference/BasicSettings.vue:38 +#: src/views/preference/BasicSettings.vue:59 +#: src/views/preference/BasicSettings.vue:71 +msgid "For Chinese user" +msgstr "" + +#: src/views/preference/BasicSettings.vue:47 msgid "For Chinese user: https://mirror.ghproxy.com/" msgstr "중국 사용자를 위해: https://mirror.ghproxy.com/" -#: src/views/config/ConfigEditor.vue:216 +#: src/views/config/ConfigEditor.vue:218 msgid "Format Code" msgstr "코드 형식" -#: src/views/config/ConfigEditor.vue:183 +#: src/views/config/ConfigEditor.vue:185 #, fuzzy msgid "Format error %{msg}" msgstr "형식 오류 %{msg}" -#: src/views/config/ConfigEditor.vue:181 +#: src/views/config/ConfigEditor.vue:183 #, fuzzy msgid "Format successfully" msgstr "성공적으로 형식 지정됨" @@ -982,7 +1021,7 @@ msgstr "성공적으로 형식 지정됨" msgid "General Certificate" msgstr "일반 인증서" -#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:52 +#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:55 msgid "Generate" msgstr "생성" @@ -990,7 +1029,7 @@ msgstr "생성" msgid "Generating private key for registering account" msgstr "계정 등록을 위한 개인 키 생성 중" -#: src/views/environment/BatchUpgrader.vue:179 src/views/system/Upgrade.vue:170 +#: src/views/environment/BatchUpgrader.vue:180 src/views/system/Upgrade.vue:171 #, fuzzy msgid "Get release information error" msgstr "릴리스 정보 가져오기 오류" @@ -999,11 +1038,11 @@ msgstr "릴리스 정보 가져오기 오류" msgid "Getting the certificate, please wait..." msgstr "인증서를 가져오는 중입니다. 잠시 기다려 주세요..." -#: src/views/preference/BasicSettings.vue:30 +#: src/views/preference/BasicSettings.vue:39 msgid "Github Proxy" msgstr "Github 프록시" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Hide" msgstr "" @@ -1023,10 +1062,14 @@ msgstr "HTTP 호스트" msgid "HTTP Port" msgstr "HTTP 포트" -#: src/views/site/cert/components/AutoCertStepOne.vue:71 +#: src/views/site/cert/components/AutoCertStepOne.vue:70 msgid "HTTP01" msgstr "HTTP01" +#: src/views/preference/BasicSettings.vue:51 +msgid "ICP Number" +msgstr "" + #: src/views/certificate/ACMEUser.vue:45 msgid "If left blank, the default CA Dir will be used." msgstr "" @@ -1037,7 +1080,7 @@ msgid "" "ban threshold minutes, the ip will be banned for a period of time." msgstr "" -#: src/views/preference/components/TOTP.vue:111 +#: src/views/preference/components/TOTP.vue:110 msgid "" "If you lose your mobile phone, you can use the recovery code to reset your " "2FA." @@ -1047,7 +1090,7 @@ msgstr "" msgid "If your browser supports WebAuthn Passkey, a dialog box will appear." msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:109 +#: src/views/site/cert/components/AutoCertStepOne.vue:108 msgid "" "If your domain has CNAME records and you cannot obtain certificates, you " "need to enable this option." @@ -1057,16 +1100,17 @@ msgstr "" msgid "Import" msgstr "가져오기" -#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:86 #, fuzzy msgid "Import Certificate" msgstr "인증서 상태" -#: src/views/other/Login.vue:77 +#: src/views/other/Login.vue:78 #, fuzzy msgid "Incorrect username or password" msgstr "사용자 이름 또는 비밀번호가 올바르지 않습니다" +#: src/components/StdDesign/StdDetail/StdDetail.vue:81 #: src/constants/index.ts:18 src/views/notification/notificationColumns.tsx:29 msgid "Info" msgstr "정보" @@ -1079,20 +1123,20 @@ msgstr "초기 코어 업그레이더 오류" msgid "Initialing core upgrader" msgstr "코어 업그레이더 초기화" -#: src/views/preference/components/TOTP.vue:158 +#: src/views/preference/components/TOTP.vue:157 msgid "Input the code from the app:" msgstr "" #: src/components/TwoFA/Authorization.vue:87 -#: src/views/preference/components/TOTP.vue:171 +#: src/views/preference/components/TOTP.vue:170 msgid "Input the recovery code:" msgstr "" -#: src/routes/index.ts:305 src/views/other/Install.vue:132 +#: src/routes/index.ts:305 src/views/other/Install.vue:136 msgid "Install" msgstr "설치" -#: src/views/other/Install.vue:63 +#: src/views/other/Install.vue:67 #, fuzzy msgid "Install successfully" msgstr "성공적으로 활성화됨" @@ -1106,21 +1150,21 @@ msgstr "간격" msgid "Invalid" msgstr "유효함" -#: src/views/other/Login.vue:87 +#: src/views/other/Login.vue:88 msgid "Invalid 2FA or recovery code" msgstr "" -#: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:250 +#: src/views/config/components/Rename.vue:66 +#: src/views/config/ConfigEditor.vue:252 #, fuzzy msgid "Invalid filename" msgstr "Invalid E-mail!" -#: src/views/config/components/Mkdir.vue:57 +#: src/views/config/components/Mkdir.vue:59 msgid "Invalid folder name" msgstr "" -#: src/components/TwoFA/use2FAModal.ts:60 +#: src/components/TwoFA/use2FAModal.ts:61 msgid "Invalid passcode or recovery code" msgstr "" @@ -1152,11 +1196,11 @@ msgid "Jwt Secret" msgstr "Jwt 토큰" #: src/views/certificate/CertificateList/certColumns.tsx:62 -#: src/views/site/cert/components/AutoCertStepOne.vue:78 +#: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" msgstr "키 유형" -#: src/views/system/Upgrade.vue:180 +#: src/views/system/Upgrade.vue:181 msgid "Last checked at" msgstr "마지막 확인 시간" @@ -1183,13 +1227,13 @@ msgstr "Leave blank for no change" msgid "Leave blank if you don't need this." msgstr "Leave blank for no change" -#: src/views/certificate/CertificateEditor.vue:214 -#: src/views/certificate/CertificateEditor.vue:227 +#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:234 #, fuzzy msgid "Leave blank will not change anything" msgstr "변경사항이 없으면 비워두세요" -#: src/views/site/cert/components/AutoCertStepOne.vue:106 +#: src/views/site/cert/components/AutoCertStepOne.vue:105 msgid "Lego disable CNAME Support" msgstr "" @@ -1203,11 +1247,11 @@ msgstr "라이센스" msgid "Link Start" msgstr "링크 시작" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:199 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:178 msgid "List" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:176 +#: src/views/dashboard/ServerAnalytic.vue:187 #, fuzzy msgid "Load Average:" msgstr "부하 평균:" @@ -1222,7 +1266,7 @@ msgid "Load successfully" msgstr "성공적으로 저장됨" #: src/components/EnvIndicator/EnvIndicator.vue:39 -#: src/components/NodeSelector/NodeSelector.vue:70 +#: src/components/NodeSelector/NodeSelector.vue:80 #, fuzzy msgid "Local" msgstr "지역" @@ -1235,24 +1279,24 @@ msgstr "위치" msgid "Locations" msgstr "위치들" -#: src/views/certificate/CertificateEditor.vue:237 +#: src/views/certificate/CertificateEditor.vue:244 #, fuzzy msgid "Log" msgstr "로그인" -#: src/routes/index.ts:311 src/views/other/Login.vue:245 +#: src/routes/index.ts:311 src/views/other/Login.vue:246 msgid "Login" msgstr "로그인" -#: src/views/other/Login.vue:131 src/views/other/Login.vue:64 +#: src/views/other/Login.vue:132 src/views/other/Login.vue:65 msgid "Login successful" msgstr "로그인 성공" -#: src/layouts/HeaderLayout.vue:19 +#: src/layouts/HeaderLayout.vue:20 msgid "Logout successful" msgstr "로그아웃 성공" -#: src/views/preference/Preference.vue:176 +#: src/views/preference/Preference.vue:178 msgid "Logrotate" msgstr "로그관리" @@ -1271,7 +1315,7 @@ msgstr "" "동으로 활성화할 수 있습니다. Nginx UI의 크론탭 작업 스케줄러는설정한 간격 " "(분 단위)에서 logrotate 명령을 실행합니다." -#: src/views/site/cert/components/AutoCertStepOne.vue:54 +#: src/views/site/cert/components/AutoCertStepOne.vue:53 #, fuzzy msgid "" "Make sure you have configured a reverse proxy for .well-known directory to " @@ -1280,12 +1324,12 @@ msgstr "" "인증서를 획득하기 전에 .well-known 디렉토리에 대한역방향 프록시를 " "HTTPChallengePort(기본값: 9180)로 구성했는지 확인하세요." -#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:138 -#: src/views/config/ConfigEditor.vue:99 src/views/config/ConfigList.vue:70 +#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:102 +#: src/views/config/ConfigEditor.vue:141 src/views/config/ConfigList.vue:69 msgid "Manage Configs" msgstr "구성 관리" -#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:97 +#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:98 msgid "Manage Sites" msgstr "사이트 관리" @@ -1307,12 +1351,12 @@ msgstr "인증서 유효" msgid "Max Attempts" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:215 -#: src/views/dashboard/ServerAnalytic.vue:216 +#: src/views/dashboard/ServerAnalytic.vue:226 +#: src/views/dashboard/ServerAnalytic.vue:227 msgid "Memory" msgstr "메모리" -#: src/views/dashboard/ServerAnalytic.vue:205 +#: src/views/dashboard/ServerAnalytic.vue:216 msgid "Memory and Storage" msgstr "메모리 및 저장소" @@ -1326,14 +1370,14 @@ msgid "Model" msgstr "실행 모드" #: src/components/ChatGPT/ChatGPT.vue:256 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:520 -#: src/views/config/ConfigList.vue:159 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:508 +#: src/views/config/ConfigList.vue:158 #, fuzzy msgid "Modify" msgstr "설정 수정" -#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:86 #, fuzzy msgid "Modify Certificate" msgstr "인증서 상태" @@ -1342,7 +1386,7 @@ msgstr "인증서 상태" msgid "Modify Config" msgstr "설정 수정" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 #, fuzzy msgid "Modify Mode" msgstr "설정 수정" @@ -1353,13 +1397,13 @@ msgid "Multi-line Directive" msgstr "단일 지시문" #: src/views/certificate/ACMEUser.vue:13 -#: src/views/certificate/CertificateEditor.vue:154 +#: src/views/certificate/CertificateEditor.vue:161 #: src/views/certificate/CertificateList/certColumns.tsx:10 #: src/views/certificate/DNSCredential.vue:11 -#: src/views/config/components/Mkdir.vue:64 src/views/config/configColumns.ts:8 -#: src/views/config/ConfigEditor.vue:256 src/views/environment/envColumns.tsx:9 +#: src/views/config/components/Mkdir.vue:66 src/views/config/configColumns.ts:8 +#: src/views/config/ConfigEditor.vue:258 src/views/environment/envColumns.tsx:9 #: src/views/preference/components/AddPasskey.vue:81 -#: src/views/site/ngx_conf/NgxUpstream.vue:175 +#: src/views/site/ngx_conf/NgxUpstream.vue:177 #: src/views/site/site_category/columns.ts:7 #: src/views/site/site_edit/RightSettings.vue:88 #: src/views/site/site_list/columns.tsx:13 @@ -1370,43 +1414,43 @@ msgstr "단일 지시문" msgid "Name" msgstr "이름" -#: src/views/dashboard/ServerAnalytic.vue:320 +#: src/views/dashboard/ServerAnalytic.vue:331 msgid "Network" msgstr "네트워크" -#: src/views/dashboard/ServerAnalytic.vue:262 +#: src/views/dashboard/ServerAnalytic.vue:273 msgid "Network Statistics" msgstr "네트워크 통계" -#: src/views/dashboard/ServerAnalytic.vue:269 +#: src/views/dashboard/ServerAnalytic.vue:280 msgid "Network Total Receive" msgstr "네트워크 총 수신" -#: src/views/dashboard/ServerAnalytic.vue:275 +#: src/views/dashboard/ServerAnalytic.vue:286 msgid "Network Total Send" msgstr "네트워크 총 송신" -#: src/views/config/components/Rename.vue:73 +#: src/views/config/components/Rename.vue:74 #, fuzzy msgid "New name" msgstr "이름 변경" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 #, fuzzy msgid "New Path" msgstr "경로" -#: src/views/system/Upgrade.vue:209 +#: src/views/system/Upgrade.vue:210 msgid "New version released" msgstr "새 버전 출시" #: src/views/certificate/WildcardCertificate.vue:91 -#: src/views/site/cert/components/ObtainCert.vue:208 +#: src/views/site/cert/components/ObtainCert.vue:211 #: src/views/site/SiteAdd.vue:141 msgid "Next" msgstr "다음" -#: src/views/preference/Preference.vue:164 +#: src/views/preference/Preference.vue:166 msgid "Nginx" msgstr "Nginx" @@ -1414,7 +1458,7 @@ msgstr "Nginx" msgid "Nginx Access Log Path" msgstr "Nginx 접근 로그 경로" -#: src/views/site/site_edit/SiteEdit.vue:209 +#: src/views/site/site_edit/SiteEdit.vue:223 #: src/views/stream/StreamEdit.vue:207 #, fuzzy msgid "Nginx Configuration Parse Error" @@ -1437,7 +1481,7 @@ msgstr "Nginx 오류 로그 경로" msgid "Nginx is not running" msgstr "" -#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:147 +#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:148 msgid "Nginx Log" msgstr "Nginx 로그" @@ -1470,22 +1514,23 @@ msgid "Nginx restarted successfully" msgstr "Nginx가 성공적으로 재시작됨" #: src/components/ChatGPT/ChatGPT.vue:277 -#: src/components/Notification/Notification.vue:84 +#: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:67 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:533 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:547 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:562 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:96 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:521 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:550 #: src/views/notification/Notification.vue:38 #: src/views/preference/AuthSettings.vue:138 #: src/views/preference/CertSettings.vue:70 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:90 #: src/views/site/ngx_conf/LocationEditor.vue:90 -#: src/views/site/site_list/SiteList.vue:147 +#: src/views/site/site_list/SiteList.vue:148 #: src/views/stream/StreamList.vue:164 msgid "No" msgstr "아니요" -#: src/views/preference/BasicSettings.vue:42 +#: src/views/preference/BasicSettings.vue:30 #, fuzzy msgid "Node name" msgstr "이름 변경" @@ -1507,7 +1552,7 @@ msgid "Not Valid Before: %{date}" msgstr "유효 시작일: %{date}" #: src/views/certificate/DNSCredential.vue:49 -#: src/views/site/cert/components/AutoCertStepOne.vue:40 +#: src/views/site/cert/components/AutoCertStepOne.vue:39 msgid "Note" msgstr "참고" @@ -1522,12 +1567,12 @@ msgstr "" msgid "Notification" msgstr "알림" -#: src/components/Notification/Notification.vue:82 src/routes/index.ts:248 +#: src/components/Notification/Notification.vue:131 src/routes/index.ts:248 #, fuzzy msgid "Notifications" msgstr "알림" -#: src/views/site/cert/components/ObtainCert.vue:179 +#: src/views/site/cert/components/ObtainCert.vue:182 #, fuzzy msgid "Obtain certificate" msgstr "인증서 획득" @@ -1536,39 +1581,40 @@ msgstr "인증서 획득" msgid "Obtaining certificate" msgstr "인증서 획득 중" -#: src/views/site/cert/components/AutoCertStepOne.vue:96 +#: src/views/site/cert/components/AutoCertStepOne.vue:95 msgid "OCSP Must Staple" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:100 +#: src/views/site/cert/components/AutoCertStepOne.vue:99 msgid "" "OCSP Must Staple may cause errors for some users on first access using " "Firefox." msgstr "" -#: src/components/NodeSelector/NodeSelector.vue:93 +#: src/components/NodeSelector/NodeSelector.vue:103 #: src/views/dashboard/Environments.vue:107 #: src/views/environment/envColumns.tsx:87 msgid "Offline" msgstr "오프라인" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:262 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:183 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:252 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:522 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:536 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:551 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:181 msgid "Ok" msgstr "" #: src/components/ChatGPT/ChatGPT.vue:278 -#: src/components/Notification/Notification.vue:85 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:534 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:548 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:563 +#: src/components/Notification/Notification.vue:134 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:97 #: src/views/notification/Notification.vue:39 -#: src/views/site/cert/components/ObtainCert.vue:136 +#: src/views/site/cert/components/ObtainCert.vue:139 #: src/views/site/ngx_conf/NgxConfigEditor.vue:50 #: src/views/site/ngx_conf/NgxServer.vue:79 -#: src/views/site/ngx_conf/NgxUpstream.vue:32 +#: src/views/site/ngx_conf/NgxUpstream.vue:33 #: src/views/site/site_edit/RightSettings.vue:54 -#: src/views/site/site_list/SiteList.vue:148 +#: src/views/site/site_list/SiteList.vue:149 #: src/views/stream/components/Deploy.vue:19 #: src/views/stream/components/RightSettings.vue:50 #: src/views/stream/StreamList.vue:165 @@ -1579,40 +1625,40 @@ msgstr "확인" msgid "Once the verification is complete, the records will be removed." msgstr "검증이 완료되면, 레코드는 제거됩니다." -#: src/components/NodeSelector/NodeSelector.vue:73 -#: src/components/NodeSelector/NodeSelector.vue:87 +#: src/components/NodeSelector/NodeSelector.vue:83 +#: src/components/NodeSelector/NodeSelector.vue:97 #: src/views/dashboard/Environments.vue:100 #: src/views/environment/envColumns.tsx:83 msgid "Online" msgstr "온라인" -#: src/views/preference/Preference.vue:170 +#: src/views/preference/Preference.vue:172 msgid "OpenAI" msgstr "오픈AI" -#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:254 +#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:255 msgid "Or" msgstr "" -#: src/views/config/components/Rename.vue:69 +#: src/views/config/components/Rename.vue:70 msgid "Original name" msgstr "" -#: src/views/system/Upgrade.vue:176 +#: src/views/system/Upgrade.vue:177 #, fuzzy msgid "OS" msgstr "OS" -#: src/views/dashboard/ServerAnalytic.vue:182 +#: src/views/dashboard/ServerAnalytic.vue:193 msgid "OS:" msgstr "OS:" -#: src/views/config/ConfigEditor.vue:293 +#: src/views/config/ConfigEditor.vue:296 #: src/views/stream/components/Deploy.vue:84 msgid "Overwrite" msgstr "덮어쓰기" -#: src/views/config/ConfigEditor.vue:297 +#: src/views/config/ConfigEditor.vue:300 #: src/views/stream/components/Deploy.vue:88 msgid "Overwrite exist file" msgstr "기존 파일 덮어쓰기" @@ -1632,21 +1678,25 @@ msgid "" "password replacement or as a 2FA method." msgstr "" -#: src/views/other/Login.vue:206 src/views/user/userColumns.tsx:18 +#: src/views/other/Login.vue:207 src/views/user/userColumns.tsx:18 msgid "Password" msgstr "비밀번호" -#: src/views/other/Install.vue:106 +#: src/views/other/Install.vue:110 msgid "Password (*)" msgstr "비밀번호 (*)" -#: src/views/config/ConfigEditor.vue:262 +#: src/views/other/Install.vue:48 +msgid "Password length cannot exceed 20 characters" +msgstr "" + +#: src/views/config/ConfigEditor.vue:265 #: src/views/site/ngx_conf/LocationEditor.vue:111 #: src/views/site/ngx_conf/LocationEditor.vue:139 msgid "Path" msgstr "경로" -#: src/views/environment/BatchUpgrader.vue:234 +#: src/views/environment/BatchUpgrader.vue:235 msgid "Perform" msgstr "" @@ -1674,11 +1724,11 @@ msgid "" "provider." msgstr "DNS 제공자가 제공한 API 인증 자격 증명을 입력해주세요." -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:127 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:107 msgid "Please fill in the required fields" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:58 +#: src/views/site/cert/components/AutoCertStepOne.vue:57 msgid "" "Please first add credentials in Certification > DNS Credentials, and then " "select one of the credentialsbelow to request the API of the DNS provider." @@ -1686,13 +1736,13 @@ msgstr "" "먼저 인증서 > DNS 자격 증명에 자격 증명을 추가한 다음,DNS 제공자의 API를 요청" "하려면 아래 자격 증명 중 하나를 선택해주세요." -#: src/views/config/components/Rename.vue:64 -#: src/views/config/ConfigEditor.vue:249 +#: src/views/config/components/Rename.vue:65 +#: src/views/config/ConfigEditor.vue:251 #, fuzzy msgid "Please input a filename" msgstr "사용자 이름을 입력해주세요!" -#: src/views/config/components/Mkdir.vue:56 +#: src/views/config/components/Mkdir.vue:58 #, fuzzy msgid "Please input a folder name" msgstr "사용자 이름을 입력해주세요!" @@ -1714,11 +1764,11 @@ msgstr "이름을 입력해주세요, 이것은 새 구성의 파일 이름으 msgid "Please input your E-mail!" msgstr "이메일을 입력해주세요!" -#: src/views/other/Install.vue:44 src/views/other/Login.vue:46 +#: src/views/other/Install.vue:44 src/views/other/Login.vue:47 msgid "Please input your password!" msgstr "비밀번호를 입력해주세요!" -#: src/views/other/Install.vue:38 src/views/other/Login.vue:40 +#: src/views/other/Install.vue:38 src/views/other/Login.vue:41 msgid "Please input your username!" msgstr "사용자 이름을 입력해주세요!" @@ -1747,13 +1797,13 @@ msgstr "적어도 하나의 노드를 선택해주세요!" msgid "Please upgrade the remote Nginx UI to the latest version" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" -#: src/views/environment/BatchUpgrader.vue:169 -#: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195 -#: src/views/system/Upgrade.vue:246 +#: src/views/environment/BatchUpgrader.vue:170 +#: src/views/environment/BatchUpgrader.vue:223 src/views/system/Upgrade.vue:196 +#: src/views/system/Upgrade.vue:247 msgid "Pre-release" msgstr "사전 출시" -#: src/routes/index.ts:266 src/views/preference/Preference.vue:141 +#: src/routes/index.ts:266 src/views/preference/Preference.vue:143 msgid "Preference" msgstr "환경설정" @@ -1783,35 +1833,40 @@ msgstr "제공자" msgid "Proxy" msgstr "API 프록시" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:376 +#: src/views/preference/BasicSettings.vue:63 +msgid "Public Security Number" +msgstr "" + +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:387 msgid "Reads" msgstr "읽기" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:327 +#: src/views/dashboard/ServerAnalytic.vue:338 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Receive" msgstr "수신" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:556 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:43 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:544 msgid "Recover" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:204 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:191 #, fuzzy msgid "Recovered Successfully" msgstr "성공적으로 제거됨" #: src/components/TwoFA/Authorization.vue:94 -#: src/views/preference/components/TOTP.vue:178 +#: src/views/preference/components/TOTP.vue:177 msgid "Recovery" msgstr "" -#: src/views/preference/components/TOTP.vue:104 +#: src/views/preference/components/TOTP.vue:103 msgid "Recovery Code" msgstr "" -#: src/views/preference/components/TOTP.vue:113 +#: src/views/preference/components/TOTP.vue:112 msgid "Recovery Code:" msgstr "" @@ -1863,12 +1918,12 @@ msgstr "사용자 등록 중" msgid "Registration Status" msgstr "사용자 등록 중" -#: src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:228 #, fuzzy msgid "Reinstall" msgstr "재설치" -#: src/views/system/Upgrade.vue:250 +#: src/views/system/Upgrade.vue:251 msgid "Release Note" msgstr "릴리스 노트" @@ -1905,14 +1960,15 @@ msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" msgid "Remove successfully" msgstr "성공적으로 제거됨" -#: src/components/Notification/Notification.vue:52 +#: src/components/Notification/Notification.vue:100 #, fuzzy msgid "Removed successfully" msgstr "성공적으로 제거됨" -#: src/views/config/components/Rename.vue:55 -#: src/views/config/ConfigList.vue:167 -#: src/views/site/ngx_conf/NgxUpstream.vue:123 +#: src/views/config/components/ConfigName.vue:50 +#: src/views/config/components/Rename.vue:56 +#: src/views/config/ConfigList.vue:166 +#: src/views/site/ngx_conf/NgxUpstream.vue:125 #: src/views/site/site_edit/components/ConfigName.vue:46 #, fuzzy msgid "Rename" @@ -1959,18 +2015,19 @@ msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" msgid "Rename Site %{site} to %{new_site} on %{node} successfully" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" -#: src/views/config/components/Rename.vue:41 +#: src/views/config/components/Rename.vue:42 #, fuzzy msgid "Rename successfully" msgstr "성공적으로 갱신됨" +#: src/views/config/components/ConfigName.vue:30 #: src/views/site/site_edit/components/ConfigName.vue:27 #, fuzzy msgid "Renamed successfully" msgstr "성공적으로 갱신됨" -#: src/views/certificate/RenewCert.vue:43 -#: src/views/certificate/RenewCert.vue:47 +#: src/views/certificate/RenewCert.vue:45 +#: src/views/certificate/RenewCert.vue:49 #, fuzzy msgid "Renew Certificate" msgstr "인증서 갱신" @@ -1985,7 +2042,7 @@ msgstr "인증서 갱신 오류" msgid "Renew Certificate Success" msgstr "인증서 갱신 성공" -#: src/views/certificate/RenewCert.vue:25 +#: src/views/certificate/RenewCert.vue:27 #: src/views/certificate/WildcardCertificate.vue:48 #, fuzzy msgid "Renew successfully" @@ -1995,11 +2052,11 @@ msgstr "성공적으로 갱신됨" msgid "Requested with wrong parameters" msgstr "잘못된 매개변수로 요청됨" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:468 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:448 msgid "Reset" msgstr "재설정" -#: src/views/preference/components/TOTP.vue:133 +#: src/views/preference/components/TOTP.vue:132 #, fuzzy msgid "Reset 2FA" msgstr "재설정" @@ -2035,13 +2092,15 @@ msgstr "실행 중" #: src/components/ChatGPT/ChatGPT.vue:259 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:68 -#: src/views/certificate/CertificateEditor.vue:256 -#: src/views/config/ConfigEditor.vue:222 +#: src/components/StdDesign/StdDetail/StdDetail.vue:93 +#: src/views/certificate/CertificateEditor.vue:263 +#: src/views/config/components/ConfigName.vue:58 +#: src/views/config/ConfigEditor.vue:224 #: src/views/preference/components/Passkey.vue:136 -#: src/views/preference/Preference.vue:187 +#: src/views/preference/Preference.vue:189 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:120 #: src/views/site/site_edit/components/ConfigName.vue:54 -#: src/views/site/site_edit/SiteEdit.vue:256 +#: src/views/site/site_edit/SiteEdit.vue:271 #: src/views/stream/StreamEdit.vue:252 msgid "Save" msgstr "저장" @@ -2050,7 +2109,7 @@ msgstr "저장" msgid "Save Directive" msgstr "지시문 저장" -#: src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:173 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:41 #: src/views/site/SiteAdd.vue:46 msgid "Save error %{msg}" @@ -2077,21 +2136,21 @@ msgid "Save Site %{site} to %{node} successfully" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117 -#: src/views/certificate/CertificateEditor.vue:46 -#: src/views/preference/Preference.vue:110 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:97 +#: src/views/certificate/CertificateEditor.vue:49 +#: src/views/preference/Preference.vue:112 #, fuzzy msgid "Save successfully" msgstr "성공적으로 저장됨" -#: src/views/config/ConfigEditor.vue:167 +#: src/views/config/ConfigEditor.vue:169 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 -#: src/views/site/site_edit/SiteEdit.vue:140 src/views/site/SiteAdd.vue:37 +#: src/views/site/site_edit/SiteEdit.vue:152 src/views/site/SiteAdd.vue:37 #: src/views/stream/StreamEdit.vue:138 msgid "Saved successfully" msgstr "성공적으로 저장됨" -#: src/views/preference/components/TOTP.vue:94 +#: src/views/preference/components/TOTP.vue:93 msgid "Scan the QR code with your mobile phone to add the account to the app." msgstr "" @@ -2099,49 +2158,49 @@ msgstr "" msgid "SDK" msgstr "" -#: src/views/preference/components/TOTP.vue:150 +#: src/views/preference/components/TOTP.vue:149 msgid "Secret has been copied" msgstr "" -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:184 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 msgid "Selector" msgstr "선택" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:337 +#: src/views/dashboard/ServerAnalytic.vue:348 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Send" msgstr "보내기" #: src/components/NginxControl/NginxControl.vue:32 #: src/components/NginxControl/NginxControl.vue:48 -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:44 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:124 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:53 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:207 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:249 -#: src/views/config/components/Mkdir.vue:36 -#: src/views/config/components/Rename.vue:44 -#: src/views/config/ConfigEditor.vue:108 -#: src/views/environment/BatchUpgrader.vue:58 -#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:66 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:70 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:194 +#: src/views/config/components/Mkdir.vue:38 +#: src/views/config/components/Rename.vue:45 +#: src/views/config/ConfigEditor.vue:111 +#: src/views/environment/BatchUpgrader.vue:59 +#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:70 #: src/views/preference/AuthSettings.vue:49 #: src/views/preference/components/Passkey.vue:26 #: src/views/preference/components/Passkey.vue:43 #: src/views/preference/components/Passkey.vue:56 -#: src/views/preference/components/TOTP.vue:45 -#: src/views/preference/components/TOTP.vue:58 -#: src/views/preference/Preference.vue:114 -#: src/views/site/site_list/SiteList.vue:39 -#: src/views/site/site_list/SiteList.vue:71 src/views/stream/StreamList.vue:113 -#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:41 +#: src/views/preference/components/TOTP.vue:44 +#: src/views/preference/components/TOTP.vue:57 +#: src/views/preference/Preference.vue:116 +#: src/views/site/site_list/SiteList.vue:40 +#: src/views/site/site_list/SiteList.vue:72 src/views/stream/StreamList.vue:113 +#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:42 msgid "Server error" msgstr "서버 오류" -#: src/views/dashboard/ServerAnalytic.vue:168 +#: src/views/dashboard/ServerAnalytic.vue:179 msgid "Server Info" msgstr "서버 정보" -#: src/views/site/cert/components/ObtainCert.vue:102 +#: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "directives에서 server_name을 찾을 수 없습니다" @@ -2167,11 +2226,11 @@ msgstr "환경 변수 설정" msgid "Setting HTTP01 challenge provider" msgstr "HTTP01 공급자 설정" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "" -#: src/views/other/Login.vue:263 +#: src/views/other/Login.vue:264 msgid "Sign in with a passkey" msgstr "" @@ -2192,33 +2251,33 @@ msgstr "사이트 로그" msgid "Sites List" msgstr "사이트 목록" -#: src/views/certificate/CertificateEditor.vue:205 +#: src/views/certificate/CertificateEditor.vue:212 #, fuzzy msgid "SSL Certificate Content" msgstr "인증서 상태" -#: src/views/certificate/CertificateEditor.vue:218 +#: src/views/certificate/CertificateEditor.vue:225 msgid "SSL Certificate Key Content" msgstr "SSL 인증서키 콘텐츠" -#: src/views/certificate/CertificateEditor.vue:184 +#: src/views/certificate/CertificateEditor.vue:191 #, fuzzy msgid "SSL Certificate Key Path" msgstr "SSL 인증서 키 경로" -#: src/views/certificate/CertificateEditor.vue:169 +#: src/views/certificate/CertificateEditor.vue:176 #, fuzzy msgid "SSL Certificate Path" msgstr "SSL 인증서 경로" -#: src/views/other/Login.vue:221 +#: src/views/other/Login.vue:222 #, fuzzy msgid "SSO Login" msgstr "SSO 로그인" -#: src/views/environment/BatchUpgrader.vue:166 -#: src/views/environment/BatchUpgrader.vue:216 src/views/system/Upgrade.vue:192 -#: src/views/system/Upgrade.vue:240 +#: src/views/environment/BatchUpgrader.vue:167 +#: src/views/environment/BatchUpgrader.vue:217 src/views/system/Upgrade.vue:193 +#: src/views/system/Upgrade.vue:241 #, fuzzy msgid "Stable" msgstr "활성화됨" @@ -2226,7 +2285,7 @@ msgstr "활성화됨" #: src/views/certificate/ACMEUser.vue:65 #: src/views/certificate/CertificateList/certColumns.tsx:68 #: src/views/environment/envColumns.tsx:75 -#: src/views/site/site_list/columns.tsx:38 src/views/stream/StreamList.vue:22 +#: src/views/site/site_list/columns.tsx:40 src/views/stream/StreamList.vue:22 msgid "Status" msgstr "상태" @@ -2234,8 +2293,8 @@ msgstr "상태" msgid "Stopped" msgstr "정지됨" -#: src/views/dashboard/ServerAnalytic.vue:243 -#: src/views/dashboard/ServerAnalytic.vue:244 +#: src/views/dashboard/ServerAnalytic.vue:254 +#: src/views/dashboard/ServerAnalytic.vue:255 msgid "Storage" msgstr "저장소" @@ -2243,8 +2302,8 @@ msgstr "저장소" msgid "Success" msgstr "성공" -#: src/views/dashboard/ServerAnalytic.vue:229 -#: src/views/dashboard/ServerAnalytic.vue:230 +#: src/views/dashboard/ServerAnalytic.vue:240 +#: src/views/dashboard/ServerAnalytic.vue:241 msgid "Swap" msgstr "스왑" @@ -2256,7 +2315,7 @@ msgstr "다크 테마로 변경" msgid "Switch to light theme" msgstr "라이트 테마로 변경" -#: src/views/config/components/Rename.vue:80 +#: src/views/config/components/Rename.vue:81 msgid "Sync" msgstr "" @@ -2322,7 +2381,7 @@ msgstr "" msgid "Sync strategy" msgstr "인증서 갱신" -#: src/views/certificate/CertificateEditor.vue:198 +#: src/views/certificate/CertificateEditor.vue:205 msgid "Sync to" msgstr "" @@ -2342,7 +2401,7 @@ msgstr "" msgid "Target" msgstr "대상" -#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:113 +#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:114 msgid "Terminal" msgstr "터미널" @@ -2350,7 +2409,7 @@ msgstr "터미널" msgid "Terminal Start Command" msgstr "터미널 시작 명령" -#: src/views/site/cert/components/AutoCertStepOne.vue:50 +#: src/views/site/cert/components/AutoCertStepOne.vue:49 #, fuzzy msgid "" "The certificate for the domain will be checked 30 minutes, and will be " @@ -2360,15 +2419,21 @@ msgstr "" "도메인의 인증서는 매 시간 확인되며,마지막으로 발급된 지 1개월이 경과한 경우 " "갱신됩니다." -#: src/views/other/Install.vue:50 +#: src/views/other/Install.vue:54 msgid "The filename cannot contain the following characters: %{c}" msgstr "파일 이름은 다음 문자를 포함할 수 없습니다: %{c}" -#: src/views/certificate/CertificateEditor.vue:208 +#: src/views/preference/BasicSettings.vue:54 +msgid "" +"The ICP Number should only contain letters, unicode, numbers, hyphens, " +"dashes, colons, and dots." +msgstr "" + +#: src/views/certificate/CertificateEditor.vue:215 msgid "The input is not a SSL Certificate" msgstr "입력이 SSL 인증서가 아닙니다" -#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:228 #, fuzzy msgid "The input is not a SSL Certificate Key" msgstr "Certificate Status" @@ -2376,25 +2441,31 @@ msgstr "Certificate Status" #: src/views/preference/OpenAISettings.vue:35 msgid "" "The model name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." +"dashes, colons, and dots." msgstr "" -#: src/views/preference/BasicSettings.vue:45 +#: src/views/preference/BasicSettings.vue:33 msgid "" "The node name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." +"dashes, colons, and dots." msgstr "" -#: src/views/certificate/CertificateEditor.vue:173 +#: src/views/certificate/CertificateEditor.vue:180 #, fuzzy msgid "The path exists, but the file is not a certificate" msgstr "Certificate Status" -#: src/views/certificate/CertificateEditor.vue:188 +#: src/views/certificate/CertificateEditor.vue:195 msgid "The path exists, but the file is not a private key" msgstr "경로는 존재하지만 파일은 개인 키가 아닙니다" -#: src/views/preference/components/TOTP.vue:112 +#: src/views/preference/BasicSettings.vue:66 +msgid "" +"The Public Security Number should only contain letters, unicode, numbers, " +"hyphens, dashes, colons, and dots." +msgstr "" + +#: src/views/preference/components/TOTP.vue:111 msgid "" "The recovery code is only displayed once, please save it in a safe place." msgstr "" @@ -2406,7 +2477,7 @@ msgid "" "match the local version." msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:45 +#: src/views/site/cert/components/AutoCertStepOne.vue:44 #, fuzzy msgid "" "The server_name in the current configuration must be the domain name you " @@ -2415,7 +2486,7 @@ msgstr "" "Note: The server_name in the current configuration must be the domain name " "you need to get the certificate." -#: src/views/preference/BasicSettings.vue:33 +#: src/views/preference/BasicSettings.vue:42 #: src/views/preference/CertSettings.vue:19 #, fuzzy msgid "The url is invalid" @@ -2431,17 +2502,17 @@ msgstr "유효한 URL이 아닙니다" msgid "The username or password is incorrect" msgstr "사용자 이름 또는 비밀번호가 올바르지 않습니다" -#: src/views/certificate/CertificateEditor.vue:96 +#: src/views/certificate/CertificateEditor.vue:103 msgid "This Auto Cert item is invalid, please remove it." msgstr "이 자동 인증 항목이 유효하지 않습니다. 제거해주세요." -#: src/views/certificate/CertificateEditor.vue:86 +#: src/views/certificate/CertificateEditor.vue:93 msgid "This certificate is managed by Nginx UI" msgstr "이 인증서는 Nginx UI에서 관리됩니다" -#: src/views/certificate/CertificateEditor.vue:157 -#: src/views/certificate/CertificateEditor.vue:171 -#: src/views/certificate/CertificateEditor.vue:186 +#: src/views/certificate/CertificateEditor.vue:164 +#: src/views/certificate/CertificateEditor.vue:178 +#: src/views/certificate/CertificateEditor.vue:193 msgid "This field is required" msgstr "이 필드는 필수입니다" @@ -2469,7 +2540,7 @@ msgstr "" msgid "This value is already taken" msgstr "" -#: src/views/environment/BatchUpgrader.vue:184 +#: src/views/environment/BatchUpgrader.vue:185 msgid "" "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}." msgstr "" @@ -2488,7 +2559,7 @@ msgstr "팁" msgid "Title" msgstr "제목" -#: src/views/preference/components/TOTP.vue:93 +#: src/views/preference/components/TOTP.vue:92 msgid "" "To enable it, you need to install the Google or Microsoft Authenticator app " "on your mobile phone." @@ -2514,33 +2585,40 @@ msgstr "" #: src/views/preference/OpenAISettings.vue:48 msgid "" -"To use a local large model, deploy it with vllm or imdeploy. They provide an " -"OpenAI-compatible API endpoint, so just set the baseUrl to your local API." +"To use a local large model, deploy it with ollama, vllm or imdeploy. They " +"provide an OpenAI-compatible API endpoint, so just set the baseUrl to your " +"local API." msgstr "" #: src/views/preference/OpenAISettings.vue:72 msgid "Token is not valid" msgstr "토큰이 유효하지 않습니다" -#: src/views/other/Login.vue:80 +#: src/views/other/Login.vue:81 msgid "Too many login failed attempts, please try again later" msgstr "" -#: src/views/preference/components/TOTP.vue:91 +#: src/components/StdDesign/StdDataDisplay/StdPagination.vue:40 +msgid "Total %{total} item" +msgid_plural "Total %{total} items" +msgstr[0] "" +msgstr[1] "" + +#: src/views/preference/components/TOTP.vue:90 msgid "TOTP" msgstr "" -#: src/views/preference/components/TOTP.vue:92 +#: src/views/preference/components/TOTP.vue:91 msgid "" "TOTP is a two-factor authentication method that uses a time-based one-time " "password algorithm." msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:202 msgid "Trash" msgstr "" -#: src/components/TwoFA/use2FAModal.ts:66 +#: src/components/TwoFA/use2FAModal.ts:67 msgid "Two-factor authentication required" msgstr "" @@ -2557,27 +2635,27 @@ msgstr "성공적으로 저장되었습니다" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:275 +#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:278 #: src/views/environment/envColumns.tsx:119 #: src/views/site/site_category/columns.ts:20 #: src/views/site/site_edit/RightSettings.vue:100 -#: src/views/site/site_list/columns.tsx:64 +#: src/views/site/site_list/columns.tsx:67 #: src/views/stream/components/RightSettings.vue:85 #: src/views/stream/StreamList.vue:41 src/views/user/userColumns.tsx:54 msgid "Updated at" msgstr "업데이트됨" -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:123 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:121 #, fuzzy msgid "Updated successfully" msgstr "성공적으로 저장되었습니다" #: src/routes/index.ts:290 src/views/environment/Environment.vue:55 -#: src/views/system/Upgrade.vue:144 src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228 msgid "Upgrade" msgstr "업그레이드" -#: src/views/environment/BatchUpgrader.vue:139 +#: src/views/environment/BatchUpgrader.vue:140 #, fuzzy msgid "Upgraded Nginx UI on %{node} successfully 🎉" msgstr "성공적으로 저장되었습니다" @@ -2587,15 +2665,15 @@ msgstr "성공적으로 저장되었습니다" msgid "Upgraded successfully" msgstr "성공적으로 저장되었습니다" -#: src/views/environment/BatchUpgrader.vue:90 src/views/system/Upgrade.vue:78 +#: src/views/environment/BatchUpgrader.vue:91 src/views/system/Upgrade.vue:79 msgid "Upgrading Nginx UI, please wait..." msgstr "Nginx UI를 업그레이드하는 중입니다. 잠시 기다려주세요..." -#: src/views/site/ngx_conf/NgxUpstream.vue:170 +#: src/views/site/ngx_conf/NgxUpstream.vue:172 msgid "Upstream Name" msgstr "업스트림 이름" -#: src/views/dashboard/ServerAnalytic.vue:172 +#: src/views/dashboard/ServerAnalytic.vue:183 msgid "Uptime:" msgstr "가동 시간:" @@ -2616,15 +2694,15 @@ msgstr "" msgid "User" msgstr "사용자 이름" -#: src/views/other/Login.vue:83 +#: src/views/other/Login.vue:84 msgid "User is banned" msgstr "" -#: src/views/other/Login.vue:196 src/views/user/userColumns.tsx:9 +#: src/views/other/Login.vue:197 src/views/user/userColumns.tsx:9 msgid "Username" msgstr "사용자 이름" -#: src/views/other/Install.vue:96 +#: src/views/other/Install.vue:100 msgid "Username (*)" msgstr "사용자 이름 (*)" @@ -2639,22 +2717,22 @@ msgstr "유효함" msgid "Version" msgstr "현재 버전" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:506 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:494 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:103 msgid "View" msgstr "보기" -#: src/components/Notification/Notification.vue:143 +#: src/components/Notification/Notification.vue:192 #, fuzzy msgid "View all notifications" msgstr "Certificate is valid" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 #, fuzzy msgid "View Details" msgstr "세부 사항" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 #, fuzzy msgid "View Mode" msgstr "기본 모드" @@ -2674,7 +2752,7 @@ msgstr "" "도메인 소유권 검증을 위해 도메인의 DNS레코드에 하나 이상의 TXT 레코드를 추가" "할 것입니다." -#: src/views/site/cert/components/ObtainCert.vue:134 +#: src/views/site/cert/components/ObtainCert.vue:137 msgid "" "We will remove the HTTPChallenge configuration from this file and reload the " "Nginx. Are you sure you want to continue?" @@ -2699,8 +2777,8 @@ msgid "" "site category and the nodes selected below will be synchronized." msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:366 +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:377 msgid "Writes" msgstr "쓰기" @@ -2719,11 +2797,11 @@ msgstr "인증서를 디스크에 쓰기" msgid "Yes" msgstr "예" -#: src/views/system/Upgrade.vue:203 +#: src/views/system/Upgrade.vue:204 msgid "You are using the latest version" msgstr "최신 버전을 사용하고 있습니다" -#: src/views/system/Upgrade.vue:165 +#: src/views/system/Upgrade.vue:166 msgid "You can check Nginx UI upgrade at this page." msgstr "이 페이지에서 Nginx UI 업그레이드를 확인할 수 있습니다." diff --git a/app/src/language/messages.pot b/app/src/language/messages.pot index 744ebeed..08835f37 100644 --- a/app/src/language/messages.pot +++ b/app/src/language/messages.pot @@ -15,7 +15,7 @@ msgid "About" msgstr "" #: src/routes/index.ts:210 -#: src/views/site/ngx_conf/LogEntry.vue:76 +#: src/views/site/ngx_conf/LogEntry.vue:75 msgid "Access Logs" msgstr "" @@ -33,18 +33,18 @@ msgstr "" #: src/views/notification/notificationColumns.tsx:62 #: src/views/preference/AuthSettings.vue:26 #: src/views/site/site_category/columns.ts:26 -#: src/views/site/site_list/columns.tsx:70 +#: src/views/site/site_list/columns.tsx:74 #: src/views/stream/StreamList.vue:47 #: src/views/user/userColumns.tsx:60 msgid "Action" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:177 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:209 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:191 #: src/views/preference/CertSettings.vue:42 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:117 #: src/views/site/ngx_conf/NgxServer.vue:162 -#: src/views/site/ngx_conf/NgxUpstream.vue:152 +#: src/views/site/ngx_conf/NgxUpstream.vue:154 #: src/views/stream/StreamList.vue:121 msgid "Add" msgstr "" @@ -55,8 +55,8 @@ msgid "Add a passkey" msgstr "" #: src/routes/index.ts:118 -#: src/views/config/ConfigEditor.vue:143 -#: src/views/config/ConfigEditor.vue:204 +#: src/views/config/ConfigEditor.vue:146 +#: src/views/config/ConfigEditor.vue:206 msgid "Add Configuration" msgstr "" @@ -86,7 +86,7 @@ msgstr "" msgid "Additional" msgstr "" -#: src/views/site/site_edit/SiteEdit.vue:191 +#: src/views/site/site_edit/SiteEdit.vue:205 #: src/views/stream/StreamEdit.vue:189 msgid "Advance Mode" msgstr "" @@ -95,7 +95,8 @@ msgstr "" msgid "Afterwards, refresh this page and click add passkey again." msgstr "" -#: src/views/site/site_list/SiteList.vue:101 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:425 +#: src/views/site/site_list/SiteList.vue:102 msgid "All" msgstr "" @@ -115,7 +116,19 @@ msgstr "" msgid "API Token" msgstr "" -#: src/views/system/Upgrade.vue:177 +#: src/views/preference/OpenAISettings.vue:78 +msgid "API Type" +msgstr "" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:105 +msgid "Apply" +msgstr "" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:67 +msgid "Apply bulk action successfully" +msgstr "" + +#: src/views/system/Upgrade.vue:178 msgid "Arch" msgstr "" @@ -127,7 +140,11 @@ msgstr "" msgid "Are you sure to delete this passkey immediately?" msgstr "" -#: src/components/Notification/Notification.vue:86 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:98 +msgid "Are you sure you want to apply to all selected?" +msgstr "" + +#: src/components/Notification/Notification.vue:135 #: src/views/notification/Notification.vue:40 msgid "Are you sure you want to clear all notifications?" msgstr "" @@ -136,20 +153,20 @@ msgstr "" msgid "Are you sure you want to clear the record of chat?" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:564 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:552 msgid "Are you sure you want to delete this item permanently?" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:523 msgid "Are you sure you want to delete this item?" msgstr "" -#: src/views/site/site_list/SiteList.vue:149 +#: src/views/site/site_list/SiteList.vue:150 #: src/views/stream/StreamList.vue:166 msgid "Are you sure you want to delete?" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:549 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:537 msgid "Are you sure you want to recover this item?" msgstr "" @@ -177,7 +194,7 @@ msgstr "" msgid "Attempts" msgstr "" -#: src/views/preference/Preference.vue:152 +#: src/views/preference/Preference.vue:154 msgid "Auth" msgstr "" @@ -194,24 +211,24 @@ msgstr "" msgid "Author" msgstr "" -#: src/views/nginx_log/NginxLog.vue:151 +#: src/views/nginx_log/NginxLog.vue:152 msgid "Auto Refresh" msgstr "" -#: src/views/site/cert/components/ObtainCert.vue:75 +#: src/views/site/cert/components/ObtainCert.vue:80 msgid "Auto-renewal disabled for %{name}" msgstr "" -#: src/views/site/cert/components/ObtainCert.vue:68 +#: src/views/site/cert/components/ObtainCert.vue:73 msgid "Auto-renewal enabled for %{name}" msgstr "" -#: src/views/certificate/CertificateEditor.vue:249 -#: src/views/config/ConfigEditor.vue:213 -#: src/views/config/ConfigList.vue:107 -#: src/views/config/ConfigList.vue:181 -#: src/views/nginx_log/NginxLog.vue:172 -#: src/views/site/site_edit/SiteEdit.vue:249 +#: src/views/certificate/CertificateEditor.vue:256 +#: src/views/config/ConfigEditor.vue:215 +#: src/views/config/ConfigList.vue:106 +#: src/views/config/ConfigList.vue:180 +#: src/views/nginx_log/NginxLog.vue:173 +#: src/views/site/site_edit/SiteEdit.vue:264 #: src/views/stream/StreamEdit.vue:245 msgid "Back" msgstr "" @@ -220,7 +237,7 @@ msgstr "" msgid "Back Home" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:222 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211 msgid "Back to list" msgstr "" @@ -240,24 +257,28 @@ msgstr "" msgid "Base information" msgstr "" -#: src/views/config/ConfigEditor.vue:241 -#: src/views/preference/Preference.vue:146 +#: src/views/config/ConfigEditor.vue:243 +#: src/views/preference/Preference.vue:148 #: src/views/site/site_edit/RightSettings.vue:79 #: src/views/stream/components/RightSettings.vue:74 msgid "Basic" msgstr "" -#: src/views/site/site_edit/SiteEdit.vue:194 +#: src/views/site/site_edit/SiteEdit.vue:208 #: src/views/stream/StreamEdit.vue:192 msgid "Basic Mode" msgstr "" +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:85 +msgid "Batch Actions" +msgstr "" + #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:66 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:474 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:454 msgid "Batch Modify" msgstr "" -#: src/views/environment/BatchUpgrader.vue:154 +#: src/views/environment/BatchUpgrader.vue:155 msgid "Batch Upgrade" msgstr "" @@ -277,18 +298,19 @@ msgstr "" msgid "CADir" msgstr "" -#: src/views/preference/components/TOTP.vue:151 +#: src/views/preference/components/TOTP.vue:150 msgid "Can't scan? Use text key binding" msgstr "" #: src/components/ChatGPT/ChatGPT.vue:260 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:261 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:251 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:180 +#: src/components/StdDesign/StdDetail/StdDetail.vue:101 #: src/views/preference/components/Passkey.vue:147 -#: src/views/site/cert/components/ObtainCert.vue:137 +#: src/views/site/cert/components/ObtainCert.vue:140 #: src/views/site/ngx_conf/NgxConfigEditor.vue:51 #: src/views/site/ngx_conf/NgxServer.vue:80 -#: src/views/site/ngx_conf/NgxUpstream.vue:33 +#: src/views/site/ngx_conf/NgxUpstream.vue:34 #: src/views/site/site_edit/RightSettings.vue:55 #: src/views/stream/components/Deploy.vue:20 #: src/views/stream/components/RightSettings.vue:51 @@ -296,11 +318,11 @@ msgid "Cancel" msgstr "" #: src/views/site/site_edit/RightSettings.vue:91 -#: src/views/site/site_list/columns.tsx:22 +#: src/views/site/site_list/columns.tsx:23 msgid "Category" msgstr "" -#: src/views/preference/Preference.vue:158 +#: src/views/preference/Preference.vue:160 msgid "Cert" msgstr "" @@ -308,7 +330,7 @@ msgstr "" msgid "Certificate Renewal Interval" msgstr "" -#: src/views/certificate/CertificateEditor.vue:122 +#: src/views/certificate/CertificateEditor.vue:129 #: src/views/site/cert/Cert.vue:32 msgid "Certificate Status" msgid_plural "Certificates Status" @@ -324,7 +346,7 @@ msgstr "" msgid "Certificates List" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:67 +#: src/views/site/cert/components/AutoCertStepOne.vue:66 msgid "Challenge Method" msgstr "" @@ -339,16 +361,16 @@ msgid_plural "Changed Certificates" msgstr[0] "" msgstr[1] "" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 msgid "Changed Path" msgstr "" -#: src/views/environment/BatchUpgrader.vue:161 -#: src/views/system/Upgrade.vue:189 +#: src/views/environment/BatchUpgrader.vue:162 +#: src/views/system/Upgrade.vue:190 msgid "Channel" msgstr "" -#: src/views/system/Upgrade.vue:186 +#: src/views/system/Upgrade.vue:187 msgid "Check again" msgstr "" @@ -357,12 +379,12 @@ msgid "Cleaning environment variables" msgstr "" #: src/components/ChatGPT/ChatGPT.vue:283 -#: src/components/Notification/Notification.vue:91 +#: src/components/Notification/Notification.vue:140 #: src/views/notification/Notification.vue:45 msgid "Clear" msgstr "" -#: src/components/Notification/Notification.vue:42 +#: src/components/Notification/Notification.vue:90 #: src/views/notification/Notification.vue:13 msgid "Cleared successfully" msgstr "" @@ -390,7 +412,7 @@ msgstr "" msgid "Configuration Name" msgstr "" -#: src/views/config/ConfigList.vue:99 +#: src/views/config/ConfigList.vue:98 msgid "Configurations" msgstr "" @@ -402,7 +424,7 @@ msgstr "" msgid "Connected" msgstr "" -#: src/views/terminal/Terminal.vue:119 +#: src/views/terminal/Terminal.vue:120 msgid "Connection lost, please refresh the page." msgstr "" @@ -412,27 +434,28 @@ msgstr "" msgid "Content" msgstr "" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 +#: src/components/StdDesign/StdDataDisplay/StdTableTransformer.tsx:150 msgid "Copied" msgstr "" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 msgid "Copy" msgstr "" -#: src/views/system/Upgrade.vue:147 +#: src/views/system/Upgrade.vue:148 msgid "Core Upgrade" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:294 +#: src/views/dashboard/ServerAnalytic.vue:305 msgid "CPU Status" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:188 +#: src/views/dashboard/ServerAnalytic.vue:199 msgid "CPU:" msgstr "" -#: src/views/site/ngx_conf/NgxUpstream.vue:163 +#: src/views/site/ngx_conf/NgxUpstream.vue:165 msgid "Create" msgstr "" @@ -440,12 +463,12 @@ msgstr "" msgid "Create Another" msgstr "" -#: src/views/config/ConfigList.vue:117 +#: src/views/config/ConfigList.vue:116 msgid "Create File" msgstr "" -#: src/views/config/components/Mkdir.vue:47 -#: src/views/config/ConfigList.vue:124 +#: src/views/config/components/Mkdir.vue:49 +#: src/views/config/ConfigList.vue:123 msgid "Create Folder" msgstr "" @@ -456,7 +479,7 @@ msgstr "" msgid "Created at" msgstr "" -#: src/views/config/components/Mkdir.vue:33 +#: src/views/config/components/Mkdir.vue:35 msgid "Created successfully" msgstr "" @@ -472,15 +495,15 @@ msgstr "" msgid "Credentials" msgstr "" -#: src/views/preference/components/TOTP.vue:99 +#: src/views/preference/components/TOTP.vue:98 msgid "Current account is enabled TOTP." msgstr "" -#: src/views/preference/components/TOTP.vue:96 +#: src/views/preference/components/TOTP.vue:95 msgid "Current account is not enabled TOTP." msgstr "" -#: src/views/system/Upgrade.vue:166 +#: src/views/system/Upgrade.vue:167 msgid "Current Version" msgstr "" @@ -489,18 +512,18 @@ msgstr "" msgid "Custom" msgstr "" -#: src/views/preference/BasicSettings.vue:46 +#: src/views/preference/BasicSettings.vue:34 msgid "Customize the name of local node to be displayed in the environment indicator." msgstr "" #: src/routes/index.ts:38 -#: src/views/config/ConfigEditor.vue:133 -#: src/views/config/ConfigEditor.vue:94 -#: src/views/config/ConfigList.vue:65 +#: src/views/config/ConfigEditor.vue:136 +#: src/views/config/ConfigEditor.vue:97 +#: src/views/config/ConfigList.vue:64 msgid "Dashboard" msgstr "" -#: src/views/other/Install.vue:117 +#: src/views/other/Install.vue:121 msgid "Database (Optional, default: database)" msgstr "" @@ -508,15 +531,17 @@ msgstr "" msgid "Days" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:542 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:530 #: src/views/site/ngx_conf/NgxServer.vue:110 -#: src/views/site/ngx_conf/NgxUpstream.vue:126 -#: src/views/site/site_list/SiteList.vue:158 +#: src/views/site/ngx_conf/NgxUpstream.vue:128 +#: src/views/site/site_list/SiteList.vue:159 #: src/views/stream/StreamList.vue:175 msgid "Delete" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:571 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:35 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:559 msgid "Delete Permanently" msgstr "" @@ -528,7 +553,7 @@ msgstr "" msgid "Delete Remote Site Success" msgstr "" -#: src/views/site/site_list/SiteList.vue:68 +#: src/views/site/site_list/SiteList.vue:69 msgid "Delete site: %{site_name}" msgstr "" @@ -536,11 +561,11 @@ msgstr "" msgid "Delete stream: %{stream_name}" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:196 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:183 msgid "Deleted successfully" msgstr "" -#: src/views/config/ConfigEditor.vue:284 +#: src/views/config/ConfigEditor.vue:287 #: src/views/stream/components/Deploy.vue:100 #: src/views/stream/components/RightSettings.vue:92 msgid "Deploy" @@ -583,12 +608,12 @@ msgstr "" msgid "Directory" msgstr "" -#: src/views/site/site_list/SiteList.vue:127 +#: src/views/site/site_list/SiteList.vue:128 #: src/views/stream/StreamList.vue:144 msgid "Disable" msgstr "" -#: src/views/site/cert/components/ObtainCert.vue:77 +#: src/views/site/cert/components/ObtainCert.vue:82 msgid "Disable auto-renewal failed for %{name}" msgstr "" @@ -610,9 +635,9 @@ msgstr "" #: src/views/environment/envColumns.tsx:109 #: src/views/environment/envColumns.tsx:92 -#: src/views/site/site_edit/SiteEdit.vue:177 -#: src/views/site/site_list/columns.tsx:49 -#: src/views/site/site_list/columns.tsx:58 +#: src/views/site/site_edit/SiteEdit.vue:190 +#: src/views/site/site_list/columns.tsx:51 +#: src/views/site/site_list/columns.tsx:60 #: src/views/stream/StreamEdit.vue:175 #: src/views/stream/StreamList.vue:33 #: src/views/user/userColumns.tsx:41 @@ -620,13 +645,13 @@ msgid "Disabled" msgstr "" #: src/views/site/site_edit/RightSettings.vue:42 -#: src/views/site/site_list/SiteList.vue:57 +#: src/views/site/site_list/SiteList.vue:58 #: src/views/stream/components/RightSettings.vue:38 #: src/views/stream/StreamList.vue:67 msgid "Disabled successfully" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:359 +#: src/views/dashboard/ServerAnalytic.vue:370 msgid "Disk IO" msgstr "" @@ -640,11 +665,11 @@ msgstr "" msgid "DNS Provider" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:74 +#: src/views/site/cert/components/AutoCertStepOne.vue:73 msgid "DNS01" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:99 +#: src/views/site/cert/components/AutoCertStepOne.vue:98 msgid "Do not enable this option unless you are sure that you need it." msgstr "" @@ -654,7 +679,7 @@ msgid_plural "Do you want to deploy this file to remote servers?" msgstr[0] "" msgstr[1] "" -#: src/views/site/cert/components/ObtainCert.vue:133 +#: src/views/site/cert/components/ObtainCert.vue:136 msgid "Do you want to disable auto-cert renewal?" msgstr "" @@ -682,7 +707,7 @@ msgstr "" msgid "Do you want to remove this server?" msgstr "" -#: src/views/site/ngx_conf/NgxUpstream.vue:29 +#: src/views/site/ngx_conf/NgxUpstream.vue:30 msgid "Do you want to remove this upstream?" msgstr "" @@ -694,7 +719,7 @@ msgstr "" msgid "Domain Config Created Successfully" msgstr "" -#: src/views/certificate/CertificateEditor.vue:106 +#: src/views/certificate/CertificateEditor.vue:113 msgid "Domains list is empty, try to reopen Auto Cert for %{config}" msgstr "" @@ -706,8 +731,8 @@ msgstr "" msgid "Downloading latest release" msgstr "" -#: src/views/environment/BatchUpgrader.vue:190 -#: src/views/system/Upgrade.vue:216 +#: src/views/environment/BatchUpgrader.vue:191 +#: src/views/system/Upgrade.vue:217 msgid "Dry run mode enabled" msgstr "" @@ -716,7 +741,7 @@ msgid "Due to the security policies of some browsers, you cannot use passkeys on msgstr "" #: src/views/site/site_list/SiteDuplicate.vue:74 -#: src/views/site/site_list/SiteList.vue:143 +#: src/views/site/site_list/SiteList.vue:144 #: src/views/stream/components/StreamDuplicate.vue:121 #: src/views/stream/StreamList.vue:160 msgid "Duplicate" @@ -739,13 +764,17 @@ msgstr "" msgid "Duplicate to local successfully" msgstr "" -#: src/views/site/site_edit/SiteEdit.vue:166 +#: src/components/StdDesign/StdDetail/StdDetail.vue:110 +msgid "Edit" +msgstr "" + +#: src/views/site/site_edit/SiteEdit.vue:179 #: src/views/stream/StreamEdit.vue:164 msgid "Edit %{n}" msgstr "" #: src/routes/index.ts:128 -#: src/views/config/ConfigEditor.vue:204 +#: src/views/config/ConfigEditor.vue:206 msgid "Edit Configuration" msgstr "" @@ -761,11 +790,11 @@ msgstr "" msgid "Email" msgstr "" -#: src/views/other/Install.vue:86 +#: src/views/other/Install.vue:90 msgid "Email (*)" msgstr "" -#: src/views/site/site_list/SiteList.vue:135 +#: src/views/site/site_list/SiteList.vue:136 #: src/views/stream/components/Deploy.vue:80 #: src/views/stream/StreamList.vue:152 msgid "Enable" @@ -779,11 +808,11 @@ msgstr "" msgid "Enable %{conf_name} in %{node_name} successfully" msgstr "" -#: src/views/preference/components/TOTP.vue:55 +#: src/views/preference/components/TOTP.vue:54 msgid "Enable 2FA successfully" msgstr "" -#: src/views/site/cert/components/ObtainCert.vue:70 +#: src/views/site/cert/components/ObtainCert.vue:75 msgid "Enable auto-renewal failed for %{name}" msgstr "" @@ -815,7 +844,7 @@ msgstr "" msgid "Enable TLS" msgstr "" -#: src/views/preference/components/TOTP.vue:125 +#: src/views/preference/components/TOTP.vue:124 msgid "Enable TOTP" msgstr "" @@ -823,9 +852,9 @@ msgstr "" #: src/views/environment/envColumns.tsx:106 #: src/views/preference/LogrotateSettings.vue:19 #: src/views/site/site_edit/RightSettings.vue:82 -#: src/views/site/site_edit/SiteEdit.vue:171 -#: src/views/site/site_list/columns.tsx:45 -#: src/views/site/site_list/columns.tsx:57 +#: src/views/site/site_edit/SiteEdit.vue:184 +#: src/views/site/site_list/columns.tsx:47 +#: src/views/site/site_list/columns.tsx:59 #: src/views/stream/components/RightSettings.vue:76 #: src/views/stream/StreamEdit.vue:169 #: src/views/stream/StreamList.vue:29 @@ -834,7 +863,7 @@ msgid "Enabled" msgstr "" #: src/views/site/site_edit/RightSettings.vue:33 -#: src/views/site/site_list/SiteList.vue:47 +#: src/views/site/site_list/SiteList.vue:48 #: src/views/site/SiteAdd.vue:40 #: src/views/stream/components/RightSettings.vue:29 #: src/views/stream/components/StreamDuplicate.vue:93 @@ -842,7 +871,7 @@ msgstr "" msgid "Enabled successfully" msgstr "" -#: src/views/site/cert/IssueCert.vue:49 +#: src/views/site/cert/IssueCert.vue:48 msgid "Encrypt website with Let's Encrypt" msgstr "" @@ -866,11 +895,11 @@ msgid "Error" msgstr "" #: src/routes/index.ts:217 -#: src/views/site/ngx_conf/LogEntry.vue:84 +#: src/views/site/ngx_conf/LogEntry.vue:83 msgid "Error Logs" msgstr "" -#: src/views/system/Upgrade.vue:178 +#: src/views/system/Upgrade.vue:179 msgid "Executable Path" msgstr "" @@ -883,7 +912,7 @@ msgstr "" msgid "Expired At: %{date}" msgstr "" -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:66 msgid "Export" msgstr "" @@ -892,14 +921,14 @@ msgid "Fail to obtain certificate" msgstr "" #: src/views/site/site_edit/RightSettings.vue:45 -#: src/views/site/site_list/SiteList.vue:61 +#: src/views/site/site_list/SiteList.vue:62 #: src/views/stream/components/RightSettings.vue:41 #: src/views/stream/StreamList.vue:71 msgid "Failed to disable %{msg}" msgstr "" #: src/views/site/site_edit/RightSettings.vue:36 -#: src/views/site/site_list/SiteList.vue:51 +#: src/views/site/site_list/SiteList.vue:52 #: src/views/stream/components/RightSettings.vue:32 #: src/views/stream/StreamList.vue:61 msgid "Failed to enable %{msg}" @@ -909,7 +938,7 @@ msgstr "" msgid "Failed to get certificate information" msgstr "" -#: src/views/site/site_edit/SiteEdit.vue:123 +#: src/views/site/site_edit/SiteEdit.vue:135 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." msgstr "" @@ -926,7 +955,7 @@ msgstr "" msgid "File Not Found" msgstr "" -#: src/views/nginx_log/NginxLog.vue:154 +#: src/views/nginx_log/NginxLog.vue:155 msgid "Filter" msgstr "" @@ -939,19 +968,24 @@ msgstr "" msgid "Follow the instructions in the dialog to complete the passkey registration process." msgstr "" -#: src/views/preference/BasicSettings.vue:38 +#: src/views/preference/BasicSettings.vue:59 +#: src/views/preference/BasicSettings.vue:71 +msgid "For Chinese user" +msgstr "" + +#: src/views/preference/BasicSettings.vue:47 msgid "For Chinese user: https://mirror.ghproxy.com/" msgstr "" -#: src/views/config/ConfigEditor.vue:216 +#: src/views/config/ConfigEditor.vue:218 msgid "Format Code" msgstr "" -#: src/views/config/ConfigEditor.vue:183 +#: src/views/config/ConfigEditor.vue:185 msgid "Format error %{msg}" msgstr "" -#: src/views/config/ConfigEditor.vue:181 +#: src/views/config/ConfigEditor.vue:183 msgid "Format successfully" msgstr "" @@ -959,7 +993,7 @@ msgstr "" msgid "General Certificate" msgstr "" -#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:52 +#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:55 msgid "Generate" msgstr "" @@ -967,8 +1001,8 @@ msgstr "" msgid "Generating private key for registering account" msgstr "" -#: src/views/environment/BatchUpgrader.vue:179 -#: src/views/system/Upgrade.vue:170 +#: src/views/environment/BatchUpgrader.vue:180 +#: src/views/system/Upgrade.vue:171 msgid "Get release information error" msgstr "" @@ -976,11 +1010,11 @@ msgstr "" msgid "Getting the certificate, please wait..." msgstr "" -#: src/views/preference/BasicSettings.vue:30 +#: src/views/preference/BasicSettings.vue:39 msgid "Github Proxy" msgstr "" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Hide" msgstr "" @@ -1000,10 +1034,14 @@ msgstr "" msgid "HTTP Port" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:71 +#: src/views/site/cert/components/AutoCertStepOne.vue:70 msgid "HTTP01" msgstr "" +#: src/views/preference/BasicSettings.vue:51 +msgid "ICP Number" +msgstr "" + #: src/views/certificate/ACMEUser.vue:45 msgid "If left blank, the default CA Dir will be used." msgstr "" @@ -1012,7 +1050,7 @@ msgstr "" msgid "If the number of login failed attempts from a ip reach the max attempts in ban threshold minutes, the ip will be banned for a period of time." msgstr "" -#: src/views/preference/components/TOTP.vue:111 +#: src/views/preference/components/TOTP.vue:110 msgid "If you lose your mobile phone, you can use the recovery code to reset your 2FA." msgstr "" @@ -1020,7 +1058,7 @@ msgstr "" msgid "If your browser supports WebAuthn Passkey, a dialog box will appear." msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:109 +#: src/views/site/cert/components/AutoCertStepOne.vue:108 msgid "If your domain has CNAME records and you cannot obtain certificates, you need to enable this option." msgstr "" @@ -1029,14 +1067,15 @@ msgid "Import" msgstr "" #: src/routes/index.ts:174 -#: src/views/certificate/CertificateEditor.vue:79 +#: src/views/certificate/CertificateEditor.vue:86 msgid "Import Certificate" msgstr "" -#: src/views/other/Login.vue:77 +#: src/views/other/Login.vue:78 msgid "Incorrect username or password" msgstr "" +#: src/components/StdDesign/StdDetail/StdDetail.vue:81 #: src/constants/index.ts:18 #: src/views/notification/notificationColumns.tsx:29 msgid "Info" @@ -1050,21 +1089,21 @@ msgstr "" msgid "Initialing core upgrader" msgstr "" -#: src/views/preference/components/TOTP.vue:158 +#: src/views/preference/components/TOTP.vue:157 msgid "Input the code from the app:" msgstr "" #: src/components/TwoFA/Authorization.vue:87 -#: src/views/preference/components/TOTP.vue:171 +#: src/views/preference/components/TOTP.vue:170 msgid "Input the recovery code:" msgstr "" #: src/routes/index.ts:305 -#: src/views/other/Install.vue:132 +#: src/views/other/Install.vue:136 msgid "Install" msgstr "" -#: src/views/other/Install.vue:63 +#: src/views/other/Install.vue:67 msgid "Install successfully" msgstr "" @@ -1076,20 +1115,20 @@ msgstr "" msgid "Invalid" msgstr "" -#: src/views/other/Login.vue:87 +#: src/views/other/Login.vue:88 msgid "Invalid 2FA or recovery code" msgstr "" -#: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:250 +#: src/views/config/components/Rename.vue:66 +#: src/views/config/ConfigEditor.vue:252 msgid "Invalid filename" msgstr "" -#: src/views/config/components/Mkdir.vue:57 +#: src/views/config/components/Mkdir.vue:59 msgid "Invalid folder name" msgstr "" -#: src/components/TwoFA/use2FAModal.ts:60 +#: src/components/TwoFA/use2FAModal.ts:61 msgid "Invalid passcode or recovery code" msgstr "" @@ -1118,11 +1157,11 @@ msgid "Jwt Secret" msgstr "" #: src/views/certificate/CertificateList/certColumns.tsx:62 -#: src/views/site/cert/components/AutoCertStepOne.vue:78 +#: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" msgstr "" -#: src/views/system/Upgrade.vue:180 +#: src/views/system/Upgrade.vue:181 msgid "Last checked at" msgstr "" @@ -1146,12 +1185,12 @@ msgstr "" msgid "Leave blank if you don't need this." msgstr "" -#: src/views/certificate/CertificateEditor.vue:214 -#: src/views/certificate/CertificateEditor.vue:227 +#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:234 msgid "Leave blank will not change anything" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:106 +#: src/views/site/cert/components/AutoCertStepOne.vue:105 msgid "Lego disable CNAME Support" msgstr "" @@ -1164,11 +1203,11 @@ msgstr "" msgid "Link Start" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:199 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:178 msgid "List" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:176 +#: src/views/dashboard/ServerAnalytic.vue:187 msgid "Load Average:" msgstr "" @@ -1181,7 +1220,7 @@ msgid "Load successfully" msgstr "" #: src/components/EnvIndicator/EnvIndicator.vue:39 -#: src/components/NodeSelector/NodeSelector.vue:70 +#: src/components/NodeSelector/NodeSelector.vue:80 msgid "Local" msgstr "" @@ -1193,25 +1232,25 @@ msgstr "" msgid "Locations" msgstr "" -#: src/views/certificate/CertificateEditor.vue:237 +#: src/views/certificate/CertificateEditor.vue:244 msgid "Log" msgstr "" #: src/routes/index.ts:311 -#: src/views/other/Login.vue:245 +#: src/views/other/Login.vue:246 msgid "Login" msgstr "" -#: src/views/other/Login.vue:131 -#: src/views/other/Login.vue:64 +#: src/views/other/Login.vue:132 +#: src/views/other/Login.vue:65 msgid "Login successful" msgstr "" -#: src/layouts/HeaderLayout.vue:19 +#: src/layouts/HeaderLayout.vue:20 msgid "Logout successful" msgstr "" -#: src/views/preference/Preference.vue:176 +#: src/views/preference/Preference.vue:178 msgid "Logrotate" msgstr "" @@ -1219,19 +1258,19 @@ msgstr "" msgid "Logrotate, by default, is enabled in most mainstream Linux distributions for users who install Nginx UI on the host machine, so you don't need to modify the parameters on this page. For users who install Nginx UI using Docker containers, you can manually enable this option. The crontab task scheduler of Nginx UI will execute the logrotate command at the interval you set in minutes." msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:54 +#: src/views/site/cert/components/AutoCertStepOne.vue:53 msgid "Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort before obtaining the certificate." msgstr "" #: src/routes/index.ts:108 -#: src/views/config/ConfigEditor.vue:138 -#: src/views/config/ConfigEditor.vue:99 -#: src/views/config/ConfigList.vue:70 +#: src/views/config/ConfigEditor.vue:102 +#: src/views/config/ConfigEditor.vue:141 +#: src/views/config/ConfigList.vue:69 msgid "Manage Configs" msgstr "" #: src/routes/index.ts:47 -#: src/views/site/site_list/SiteList.vue:97 +#: src/views/site/site_list/SiteList.vue:98 msgid "Manage Sites" msgstr "" @@ -1253,12 +1292,12 @@ msgstr "" msgid "Max Attempts" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:215 -#: src/views/dashboard/ServerAnalytic.vue:216 +#: src/views/dashboard/ServerAnalytic.vue:226 +#: src/views/dashboard/ServerAnalytic.vue:227 msgid "Memory" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:205 +#: src/views/dashboard/ServerAnalytic.vue:216 msgid "Memory and Storage" msgstr "" @@ -1271,14 +1310,14 @@ msgid "Model" msgstr "" #: src/components/ChatGPT/ChatGPT.vue:256 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:520 -#: src/views/config/ConfigList.vue:159 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:508 +#: src/views/config/ConfigList.vue:158 msgid "Modify" msgstr "" #: src/routes/index.ts:164 -#: src/views/certificate/CertificateEditor.vue:79 +#: src/views/certificate/CertificateEditor.vue:86 msgid "Modify Certificate" msgstr "" @@ -1286,7 +1325,7 @@ msgstr "" msgid "Modify Config" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 msgid "Modify Mode" msgstr "" @@ -1295,15 +1334,15 @@ msgid "Multi-line Directive" msgstr "" #: src/views/certificate/ACMEUser.vue:13 -#: src/views/certificate/CertificateEditor.vue:154 +#: src/views/certificate/CertificateEditor.vue:161 #: src/views/certificate/CertificateList/certColumns.tsx:10 #: src/views/certificate/DNSCredential.vue:11 -#: src/views/config/components/Mkdir.vue:64 +#: src/views/config/components/Mkdir.vue:66 #: src/views/config/configColumns.ts:8 -#: src/views/config/ConfigEditor.vue:256 +#: src/views/config/ConfigEditor.vue:258 #: src/views/environment/envColumns.tsx:9 #: src/views/preference/components/AddPasskey.vue:81 -#: src/views/site/ngx_conf/NgxUpstream.vue:175 +#: src/views/site/ngx_conf/NgxUpstream.vue:177 #: src/views/site/site_category/columns.ts:7 #: src/views/site/site_edit/RightSettings.vue:88 #: src/views/site/site_list/columns.tsx:13 @@ -1315,41 +1354,41 @@ msgstr "" msgid "Name" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:320 +#: src/views/dashboard/ServerAnalytic.vue:331 msgid "Network" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:262 +#: src/views/dashboard/ServerAnalytic.vue:273 msgid "Network Statistics" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:269 +#: src/views/dashboard/ServerAnalytic.vue:280 msgid "Network Total Receive" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:275 +#: src/views/dashboard/ServerAnalytic.vue:286 msgid "Network Total Send" msgstr "" -#: src/views/config/components/Rename.vue:73 +#: src/views/config/components/Rename.vue:74 msgid "New name" msgstr "" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 msgid "New Path" msgstr "" -#: src/views/system/Upgrade.vue:209 +#: src/views/system/Upgrade.vue:210 msgid "New version released" msgstr "" #: src/views/certificate/WildcardCertificate.vue:91 -#: src/views/site/cert/components/ObtainCert.vue:208 +#: src/views/site/cert/components/ObtainCert.vue:211 #: src/views/site/SiteAdd.vue:141 msgid "Next" msgstr "" -#: src/views/preference/Preference.vue:164 +#: src/views/preference/Preference.vue:166 msgid "Nginx" msgstr "" @@ -1357,7 +1396,7 @@ msgstr "" msgid "Nginx Access Log Path" msgstr "" -#: src/views/site/site_edit/SiteEdit.vue:209 +#: src/views/site/site_edit/SiteEdit.vue:223 #: src/views/stream/StreamEdit.vue:207 msgid "Nginx Configuration Parse Error" msgstr "" @@ -1379,7 +1418,7 @@ msgid "Nginx is not running" msgstr "" #: src/routes/index.ts:202 -#: src/views/nginx_log/NginxLog.vue:147 +#: src/views/nginx_log/NginxLog.vue:148 msgid "Nginx Log" msgstr "" @@ -1408,22 +1447,23 @@ msgid "Nginx restarted successfully" msgstr "" #: src/components/ChatGPT/ChatGPT.vue:277 -#: src/components/Notification/Notification.vue:84 +#: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:67 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:533 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:547 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:562 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:96 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:521 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:550 #: src/views/notification/Notification.vue:38 #: src/views/preference/AuthSettings.vue:138 #: src/views/preference/CertSettings.vue:70 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:90 #: src/views/site/ngx_conf/LocationEditor.vue:90 -#: src/views/site/site_list/SiteList.vue:147 +#: src/views/site/site_list/SiteList.vue:148 #: src/views/stream/StreamList.vue:164 msgid "No" msgstr "" -#: src/views/preference/BasicSettings.vue:42 +#: src/views/preference/BasicSettings.vue:30 msgid "Node name" msgstr "" @@ -1444,7 +1484,7 @@ msgid "Not Valid Before: %{date}" msgstr "" #: src/views/certificate/DNSCredential.vue:49 -#: src/views/site/cert/components/AutoCertStepOne.vue:40 +#: src/views/site/cert/components/AutoCertStepOne.vue:39 msgid "Note" msgstr "" @@ -1456,12 +1496,12 @@ msgstr "" msgid "Notification" msgstr "" -#: src/components/Notification/Notification.vue:82 +#: src/components/Notification/Notification.vue:131 #: src/routes/index.ts:248 msgid "Notifications" msgstr "" -#: src/views/site/cert/components/ObtainCert.vue:179 +#: src/views/site/cert/components/ObtainCert.vue:182 msgid "Obtain certificate" msgstr "" @@ -1469,37 +1509,38 @@ msgstr "" msgid "Obtaining certificate" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:96 +#: src/views/site/cert/components/AutoCertStepOne.vue:95 msgid "OCSP Must Staple" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:100 +#: src/views/site/cert/components/AutoCertStepOne.vue:99 msgid "OCSP Must Staple may cause errors for some users on first access using Firefox." msgstr "" -#: src/components/NodeSelector/NodeSelector.vue:93 +#: src/components/NodeSelector/NodeSelector.vue:103 #: src/views/dashboard/Environments.vue:107 #: src/views/environment/envColumns.tsx:87 msgid "Offline" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:262 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:183 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:252 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:522 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:536 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:551 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:181 msgid "Ok" msgstr "" #: src/components/ChatGPT/ChatGPT.vue:278 -#: src/components/Notification/Notification.vue:85 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:534 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:548 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:563 +#: src/components/Notification/Notification.vue:134 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:97 #: src/views/notification/Notification.vue:39 -#: src/views/site/cert/components/ObtainCert.vue:136 +#: src/views/site/cert/components/ObtainCert.vue:139 #: src/views/site/ngx_conf/NgxConfigEditor.vue:50 #: src/views/site/ngx_conf/NgxServer.vue:79 -#: src/views/site/ngx_conf/NgxUpstream.vue:32 +#: src/views/site/ngx_conf/NgxUpstream.vue:33 #: src/views/site/site_edit/RightSettings.vue:54 -#: src/views/site/site_list/SiteList.vue:148 +#: src/views/site/site_list/SiteList.vue:149 #: src/views/stream/components/Deploy.vue:19 #: src/views/stream/components/RightSettings.vue:50 #: src/views/stream/StreamList.vue:165 @@ -1510,40 +1551,40 @@ msgstr "" msgid "Once the verification is complete, the records will be removed." msgstr "" -#: src/components/NodeSelector/NodeSelector.vue:73 -#: src/components/NodeSelector/NodeSelector.vue:87 +#: src/components/NodeSelector/NodeSelector.vue:83 +#: src/components/NodeSelector/NodeSelector.vue:97 #: src/views/dashboard/Environments.vue:100 #: src/views/environment/envColumns.tsx:83 msgid "Online" msgstr "" -#: src/views/preference/Preference.vue:170 +#: src/views/preference/Preference.vue:172 msgid "OpenAI" msgstr "" #: src/components/TwoFA/Authorization.vue:117 -#: src/views/other/Login.vue:254 +#: src/views/other/Login.vue:255 msgid "Or" msgstr "" -#: src/views/config/components/Rename.vue:69 +#: src/views/config/components/Rename.vue:70 msgid "Original name" msgstr "" -#: src/views/system/Upgrade.vue:176 +#: src/views/system/Upgrade.vue:177 msgid "OS" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:182 +#: src/views/dashboard/ServerAnalytic.vue:193 msgid "OS:" msgstr "" -#: src/views/config/ConfigEditor.vue:293 +#: src/views/config/ConfigEditor.vue:296 #: src/views/stream/components/Deploy.vue:84 msgid "Overwrite" msgstr "" -#: src/views/config/ConfigEditor.vue:297 +#: src/views/config/ConfigEditor.vue:300 #: src/views/stream/components/Deploy.vue:88 msgid "Overwrite exist file" msgstr "" @@ -1560,22 +1601,26 @@ msgstr "" msgid "Passkeys are webauthn credentials that validate your identity using touch, facial recognition, a device password, or a PIN. They can be used as a password replacement or as a 2FA method." msgstr "" -#: src/views/other/Login.vue:206 +#: src/views/other/Login.vue:207 #: src/views/user/userColumns.tsx:18 msgid "Password" msgstr "" -#: src/views/other/Install.vue:106 +#: src/views/other/Install.vue:110 msgid "Password (*)" msgstr "" -#: src/views/config/ConfigEditor.vue:262 +#: src/views/other/Install.vue:48 +msgid "Password length cannot exceed 20 characters" +msgstr "" + +#: src/views/config/ConfigEditor.vue:265 #: src/views/site/ngx_conf/LocationEditor.vue:111 #: src/views/site/ngx_conf/LocationEditor.vue:139 msgid "Path" msgstr "" -#: src/views/environment/BatchUpgrader.vue:234 +#: src/views/environment/BatchUpgrader.vue:235 msgid "Perform" msgstr "" @@ -1599,20 +1644,20 @@ msgstr "" msgid "Please fill in the API authentication credentials provided by your DNS provider." msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:127 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:107 msgid "Please fill in the required fields" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:58 +#: src/views/site/cert/components/AutoCertStepOne.vue:57 msgid "Please first add credentials in Certification > DNS Credentials, and then select one of the credentialsbelow to request the API of the DNS provider." msgstr "" -#: src/views/config/components/Rename.vue:64 -#: src/views/config/ConfigEditor.vue:249 +#: src/views/config/components/Rename.vue:65 +#: src/views/config/ConfigEditor.vue:251 msgid "Please input a filename" msgstr "" -#: src/views/config/components/Mkdir.vue:56 +#: src/views/config/components/Mkdir.vue:58 msgid "Please input a folder name" msgstr "" @@ -1629,12 +1674,12 @@ msgid "Please input your E-mail!" msgstr "" #: src/views/other/Install.vue:44 -#: src/views/other/Login.vue:46 +#: src/views/other/Login.vue:47 msgid "Please input your password!" msgstr "" #: src/views/other/Install.vue:38 -#: src/views/other/Login.vue:40 +#: src/views/other/Login.vue:41 msgid "Please input your username!" msgstr "" @@ -1660,15 +1705,15 @@ msgstr "" msgid "Please upgrade the remote Nginx UI to the latest version" msgstr "" -#: src/views/environment/BatchUpgrader.vue:169 -#: src/views/environment/BatchUpgrader.vue:222 -#: src/views/system/Upgrade.vue:195 -#: src/views/system/Upgrade.vue:246 +#: src/views/environment/BatchUpgrader.vue:170 +#: src/views/environment/BatchUpgrader.vue:223 +#: src/views/system/Upgrade.vue:196 +#: src/views/system/Upgrade.vue:247 msgid "Pre-release" msgstr "" #: src/routes/index.ts:266 -#: src/views/preference/Preference.vue:141 +#: src/views/preference/Preference.vue:143 msgid "Preference" msgstr "" @@ -1696,34 +1741,39 @@ msgstr "" msgid "Proxy" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:376 +#: src/views/preference/BasicSettings.vue:63 +msgid "Public Security Number" +msgstr "" + +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:387 msgid "Reads" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:327 +#: src/views/dashboard/ServerAnalytic.vue:338 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Receive" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:556 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:43 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:544 msgid "Recover" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:204 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:191 msgid "Recovered Successfully" msgstr "" #: src/components/TwoFA/Authorization.vue:94 -#: src/views/preference/components/TOTP.vue:178 +#: src/views/preference/components/TOTP.vue:177 msgid "Recovery" msgstr "" -#: src/views/preference/components/TOTP.vue:104 +#: src/views/preference/components/TOTP.vue:103 msgid "Recovery Code" msgstr "" -#: src/views/preference/components/TOTP.vue:113 +#: src/views/preference/components/TOTP.vue:112 msgid "Recovery Code:" msgstr "" @@ -1767,11 +1817,11 @@ msgstr "" msgid "Registration Status" msgstr "" -#: src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:228 msgid "Reinstall" msgstr "" -#: src/views/system/Upgrade.vue:250 +#: src/views/system/Upgrade.vue:251 msgid "Release Note" msgstr "" @@ -1805,13 +1855,14 @@ msgstr "" msgid "Remove successfully" msgstr "" -#: src/components/Notification/Notification.vue:52 +#: src/components/Notification/Notification.vue:100 msgid "Removed successfully" msgstr "" -#: src/views/config/components/Rename.vue:55 -#: src/views/config/ConfigList.vue:167 -#: src/views/site/ngx_conf/NgxUpstream.vue:123 +#: src/views/config/components/ConfigName.vue:50 +#: src/views/config/components/Rename.vue:56 +#: src/views/config/ConfigList.vue:166 +#: src/views/site/ngx_conf/NgxUpstream.vue:125 #: src/views/site/site_edit/components/ConfigName.vue:46 msgid "Rename" msgstr "" @@ -1848,16 +1899,17 @@ msgstr "" msgid "Rename Site %{site} to %{new_site} on %{node} successfully" msgstr "" -#: src/views/config/components/Rename.vue:41 +#: src/views/config/components/Rename.vue:42 msgid "Rename successfully" msgstr "" +#: src/views/config/components/ConfigName.vue:30 #: src/views/site/site_edit/components/ConfigName.vue:27 msgid "Renamed successfully" msgstr "" -#: src/views/certificate/RenewCert.vue:43 -#: src/views/certificate/RenewCert.vue:47 +#: src/views/certificate/RenewCert.vue:45 +#: src/views/certificate/RenewCert.vue:49 msgid "Renew Certificate" msgstr "" @@ -1869,7 +1921,7 @@ msgstr "" msgid "Renew Certificate Success" msgstr "" -#: src/views/certificate/RenewCert.vue:25 +#: src/views/certificate/RenewCert.vue:27 #: src/views/certificate/WildcardCertificate.vue:48 msgid "Renew successfully" msgstr "" @@ -1878,11 +1930,11 @@ msgstr "" msgid "Requested with wrong parameters" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:468 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:448 msgid "Reset" msgstr "" -#: src/views/preference/components/TOTP.vue:133 +#: src/views/preference/components/TOTP.vue:132 msgid "Reset 2FA" msgstr "" @@ -1916,13 +1968,15 @@ msgstr "" #: src/components/ChatGPT/ChatGPT.vue:259 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:68 -#: src/views/certificate/CertificateEditor.vue:256 -#: src/views/config/ConfigEditor.vue:222 +#: src/components/StdDesign/StdDetail/StdDetail.vue:93 +#: src/views/certificate/CertificateEditor.vue:263 +#: src/views/config/components/ConfigName.vue:58 +#: src/views/config/ConfigEditor.vue:224 #: src/views/preference/components/Passkey.vue:136 -#: src/views/preference/Preference.vue:187 +#: src/views/preference/Preference.vue:189 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:120 #: src/views/site/site_edit/components/ConfigName.vue:54 -#: src/views/site/site_edit/SiteEdit.vue:256 +#: src/views/site/site_edit/SiteEdit.vue:271 #: src/views/stream/StreamEdit.vue:252 msgid "Save" msgstr "" @@ -1931,7 +1985,7 @@ msgstr "" msgid "Save Directive" msgstr "" -#: src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:173 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:41 #: src/views/site/SiteAdd.vue:46 msgid "Save error %{msg}" @@ -1954,21 +2008,21 @@ msgid "Save Site %{site} to %{node} successfully" msgstr "" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117 -#: src/views/certificate/CertificateEditor.vue:46 -#: src/views/preference/Preference.vue:110 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:97 +#: src/views/certificate/CertificateEditor.vue:49 +#: src/views/preference/Preference.vue:112 msgid "Save successfully" msgstr "" -#: src/views/config/ConfigEditor.vue:167 +#: src/views/config/ConfigEditor.vue:169 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 -#: src/views/site/site_edit/SiteEdit.vue:140 +#: src/views/site/site_edit/SiteEdit.vue:152 #: src/views/site/SiteAdd.vue:37 #: src/views/stream/StreamEdit.vue:138 msgid "Saved successfully" msgstr "" -#: src/views/preference/components/TOTP.vue:94 +#: src/views/preference/components/TOTP.vue:93 msgid "Scan the QR code with your mobile phone to add the account to the app." msgstr "" @@ -1976,52 +2030,52 @@ msgstr "" msgid "SDK" msgstr "" -#: src/views/preference/components/TOTP.vue:150 +#: src/views/preference/components/TOTP.vue:149 msgid "Secret has been copied" msgstr "" -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:184 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 msgid "Selector" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:337 +#: src/views/dashboard/ServerAnalytic.vue:348 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Send" msgstr "" #: src/components/NginxControl/NginxControl.vue:32 #: src/components/NginxControl/NginxControl.vue:48 -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:44 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:124 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:53 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:207 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:249 -#: src/views/config/components/Mkdir.vue:36 -#: src/views/config/components/Rename.vue:44 -#: src/views/config/ConfigEditor.vue:108 -#: src/views/environment/BatchUpgrader.vue:58 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:70 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:194 +#: src/views/config/components/Mkdir.vue:38 +#: src/views/config/components/Rename.vue:45 +#: src/views/config/ConfigEditor.vue:111 +#: src/views/environment/BatchUpgrader.vue:59 #: src/views/environment/Environment.vue:15 -#: src/views/other/Install.vue:66 +#: src/views/other/Install.vue:70 #: src/views/preference/AuthSettings.vue:49 #: src/views/preference/components/Passkey.vue:26 #: src/views/preference/components/Passkey.vue:43 #: src/views/preference/components/Passkey.vue:56 -#: src/views/preference/components/TOTP.vue:45 -#: src/views/preference/components/TOTP.vue:58 -#: src/views/preference/Preference.vue:114 -#: src/views/site/site_list/SiteList.vue:39 -#: src/views/site/site_list/SiteList.vue:71 +#: src/views/preference/components/TOTP.vue:44 +#: src/views/preference/components/TOTP.vue:57 +#: src/views/preference/Preference.vue:116 +#: src/views/site/site_list/SiteList.vue:40 +#: src/views/site/site_list/SiteList.vue:72 #: src/views/stream/StreamList.vue:113 #: src/views/stream/StreamList.vue:81 -#: src/views/system/Upgrade.vue:41 +#: src/views/system/Upgrade.vue:42 msgid "Server error" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:168 +#: src/views/dashboard/ServerAnalytic.vue:179 msgid "Server Info" msgstr "" -#: src/views/site/cert/components/ObtainCert.vue:102 +#: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "" @@ -2045,11 +2099,11 @@ msgstr "" msgid "Setting HTTP01 challenge provider" msgstr "" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "" -#: src/views/other/Login.vue:263 +#: src/views/other/Login.vue:264 msgid "Sign in with a passkey" msgstr "" @@ -2070,37 +2124,37 @@ msgstr "" msgid "Sites List" msgstr "" -#: src/views/certificate/CertificateEditor.vue:205 +#: src/views/certificate/CertificateEditor.vue:212 msgid "SSL Certificate Content" msgstr "" -#: src/views/certificate/CertificateEditor.vue:218 +#: src/views/certificate/CertificateEditor.vue:225 msgid "SSL Certificate Key Content" msgstr "" -#: src/views/certificate/CertificateEditor.vue:184 +#: src/views/certificate/CertificateEditor.vue:191 msgid "SSL Certificate Key Path" msgstr "" -#: src/views/certificate/CertificateEditor.vue:169 +#: src/views/certificate/CertificateEditor.vue:176 msgid "SSL Certificate Path" msgstr "" -#: src/views/other/Login.vue:221 +#: src/views/other/Login.vue:222 msgid "SSO Login" msgstr "" -#: src/views/environment/BatchUpgrader.vue:166 -#: src/views/environment/BatchUpgrader.vue:216 -#: src/views/system/Upgrade.vue:192 -#: src/views/system/Upgrade.vue:240 +#: src/views/environment/BatchUpgrader.vue:167 +#: src/views/environment/BatchUpgrader.vue:217 +#: src/views/system/Upgrade.vue:193 +#: src/views/system/Upgrade.vue:241 msgid "Stable" msgstr "" #: src/views/certificate/ACMEUser.vue:65 #: src/views/certificate/CertificateList/certColumns.tsx:68 #: src/views/environment/envColumns.tsx:75 -#: src/views/site/site_list/columns.tsx:38 +#: src/views/site/site_list/columns.tsx:40 #: src/views/stream/StreamList.vue:22 msgid "Status" msgstr "" @@ -2109,8 +2163,8 @@ msgstr "" msgid "Stopped" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:243 -#: src/views/dashboard/ServerAnalytic.vue:244 +#: src/views/dashboard/ServerAnalytic.vue:254 +#: src/views/dashboard/ServerAnalytic.vue:255 msgid "Storage" msgstr "" @@ -2119,8 +2173,8 @@ msgstr "" msgid "Success" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:229 -#: src/views/dashboard/ServerAnalytic.vue:230 +#: src/views/dashboard/ServerAnalytic.vue:240 +#: src/views/dashboard/ServerAnalytic.vue:241 msgid "Swap" msgstr "" @@ -2132,7 +2186,7 @@ msgstr "" msgid "Switch to light theme" msgstr "" -#: src/views/config/components/Rename.vue:80 +#: src/views/config/components/Rename.vue:81 msgid "Sync" msgstr "" @@ -2185,7 +2239,7 @@ msgstr "" msgid "Sync strategy" msgstr "" -#: src/views/certificate/CertificateEditor.vue:198 +#: src/views/certificate/CertificateEditor.vue:205 msgid "Sync to" msgstr "" @@ -2206,7 +2260,7 @@ msgid "Target" msgstr "" #: src/routes/index.ts:194 -#: src/views/terminal/Terminal.vue:113 +#: src/views/terminal/Terminal.vue:114 msgid "Terminal" msgstr "" @@ -2214,39 +2268,47 @@ msgstr "" msgid "Terminal Start Command" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:50 +#: src/views/site/cert/components/AutoCertStepOne.vue:49 msgid "The certificate for the domain will be checked 30 minutes, and will be renewed if it has been more than 1 week or the period you set in settings since it was last issued." msgstr "" -#: src/views/other/Install.vue:50 +#: src/views/other/Install.vue:54 msgid "The filename cannot contain the following characters: %{c}" msgstr "" -#: src/views/certificate/CertificateEditor.vue:208 +#: src/views/preference/BasicSettings.vue:54 +msgid "The ICP Number should only contain letters, unicode, numbers, hyphens, dashes, colons, and dots." +msgstr "" + +#: src/views/certificate/CertificateEditor.vue:215 msgid "The input is not a SSL Certificate" msgstr "" -#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:228 msgid "The input is not a SSL Certificate Key" msgstr "" #: src/views/preference/OpenAISettings.vue:35 -msgid "The model name should only contain letters, unicode, numbers, hyphens, dashes, and dots." +msgid "The model name should only contain letters, unicode, numbers, hyphens, dashes, colons, and dots." msgstr "" -#: src/views/preference/BasicSettings.vue:45 -msgid "The node name should only contain letters, unicode, numbers, hyphens, dashes, and dots." +#: src/views/preference/BasicSettings.vue:33 +msgid "The node name should only contain letters, unicode, numbers, hyphens, dashes, colons, and dots." msgstr "" -#: src/views/certificate/CertificateEditor.vue:173 +#: src/views/certificate/CertificateEditor.vue:180 msgid "The path exists, but the file is not a certificate" msgstr "" -#: src/views/certificate/CertificateEditor.vue:188 +#: src/views/certificate/CertificateEditor.vue:195 msgid "The path exists, but the file is not a private key" msgstr "" -#: src/views/preference/components/TOTP.vue:112 +#: src/views/preference/BasicSettings.vue:66 +msgid "The Public Security Number should only contain letters, unicode, numbers, hyphens, dashes, colons, and dots." +msgstr "" + +#: src/views/preference/components/TOTP.vue:111 msgid "The recovery code is only displayed once, please save it in a safe place." msgstr "" @@ -2254,11 +2316,11 @@ msgstr "" msgid "The remote Nginx UI version is not compatible with the local Nginx UI version. To avoid potential errors, please upgrade the remote Nginx UI to match the local version." msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:45 +#: src/views/site/cert/components/AutoCertStepOne.vue:44 msgid "The server_name in the current configuration must be the domain name you need to get the certificate, supportmultiple domains." msgstr "" -#: src/views/preference/BasicSettings.vue:33 +#: src/views/preference/BasicSettings.vue:42 #: src/views/preference/CertSettings.vue:19 msgid "The url is invalid" msgstr "" @@ -2272,17 +2334,17 @@ msgstr "" msgid "The username or password is incorrect" msgstr "" -#: src/views/certificate/CertificateEditor.vue:96 +#: src/views/certificate/CertificateEditor.vue:103 msgid "This Auto Cert item is invalid, please remove it." msgstr "" -#: src/views/certificate/CertificateEditor.vue:86 +#: src/views/certificate/CertificateEditor.vue:93 msgid "This certificate is managed by Nginx UI" msgstr "" -#: src/views/certificate/CertificateEditor.vue:157 -#: src/views/certificate/CertificateEditor.vue:171 -#: src/views/certificate/CertificateEditor.vue:186 +#: src/views/certificate/CertificateEditor.vue:164 +#: src/views/certificate/CertificateEditor.vue:178 +#: src/views/certificate/CertificateEditor.vue:193 msgid "This field is required" msgstr "" @@ -2307,7 +2369,7 @@ msgstr "" msgid "This value is already taken" msgstr "" -#: src/views/environment/BatchUpgrader.vue:184 +#: src/views/environment/BatchUpgrader.vue:185 msgid "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}." msgstr "" @@ -2325,7 +2387,7 @@ msgstr "" msgid "Title" msgstr "" -#: src/views/preference/components/TOTP.vue:93 +#: src/views/preference/components/TOTP.vue:92 msgid "To enable it, you need to install the Google or Microsoft Authenticator app on your mobile phone." msgstr "" @@ -2338,30 +2400,36 @@ msgid "To make sure the certification auto-renewal can work normally, we need to msgstr "" #: src/views/preference/OpenAISettings.vue:48 -msgid "To use a local large model, deploy it with vllm or imdeploy. They provide an OpenAI-compatible API endpoint, so just set the baseUrl to your local API." +msgid "To use a local large model, deploy it with ollama, vllm or imdeploy. They provide an OpenAI-compatible API endpoint, so just set the baseUrl to your local API." msgstr "" #: src/views/preference/OpenAISettings.vue:72 msgid "Token is not valid" msgstr "" -#: src/views/other/Login.vue:80 +#: src/views/other/Login.vue:81 msgid "Too many login failed attempts, please try again later" msgstr "" -#: src/views/preference/components/TOTP.vue:91 +#: src/components/StdDesign/StdDataDisplay/StdPagination.vue:40 +msgid "Total %{total} item" +msgid_plural "Total %{total} items" +msgstr[0] "" +msgstr[1] "" + +#: src/views/preference/components/TOTP.vue:90 msgid "TOTP" msgstr "" -#: src/views/preference/components/TOTP.vue:92 +#: src/views/preference/components/TOTP.vue:91 msgid "TOTP is a two-factor authentication method that uses a time-based one-time password algorithm." msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:202 msgid "Trash" msgstr "" -#: src/components/TwoFA/use2FAModal.ts:66 +#: src/components/TwoFA/use2FAModal.ts:67 msgid "Two-factor authentication required" msgstr "" @@ -2378,29 +2446,29 @@ msgstr "" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 #: src/views/config/configColumns.ts:31 -#: src/views/config/ConfigEditor.vue:275 +#: src/views/config/ConfigEditor.vue:278 #: src/views/environment/envColumns.tsx:119 #: src/views/site/site_category/columns.ts:20 #: src/views/site/site_edit/RightSettings.vue:100 -#: src/views/site/site_list/columns.tsx:64 +#: src/views/site/site_list/columns.tsx:67 #: src/views/stream/components/RightSettings.vue:85 #: src/views/stream/StreamList.vue:41 #: src/views/user/userColumns.tsx:54 msgid "Updated at" msgstr "" -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:123 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:121 msgid "Updated successfully" msgstr "" #: src/routes/index.ts:290 #: src/views/environment/Environment.vue:55 -#: src/views/system/Upgrade.vue:144 -#: src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:145 +#: src/views/system/Upgrade.vue:228 msgid "Upgrade" msgstr "" -#: src/views/environment/BatchUpgrader.vue:139 +#: src/views/environment/BatchUpgrader.vue:140 msgid "Upgraded Nginx UI on %{node} successfully 🎉" msgstr "" @@ -2408,16 +2476,16 @@ msgstr "" msgid "Upgraded successfully" msgstr "" -#: src/views/environment/BatchUpgrader.vue:90 -#: src/views/system/Upgrade.vue:78 +#: src/views/environment/BatchUpgrader.vue:91 +#: src/views/system/Upgrade.vue:79 msgid "Upgrading Nginx UI, please wait..." msgstr "" -#: src/views/site/ngx_conf/NgxUpstream.vue:170 +#: src/views/site/ngx_conf/NgxUpstream.vue:172 msgid "Upstream Name" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:172 +#: src/views/dashboard/ServerAnalytic.vue:183 msgid "Uptime:" msgstr "" @@ -2437,16 +2505,16 @@ msgstr "" msgid "User" msgstr "" -#: src/views/other/Login.vue:83 +#: src/views/other/Login.vue:84 msgid "User is banned" msgstr "" -#: src/views/other/Login.vue:196 +#: src/views/other/Login.vue:197 #: src/views/user/userColumns.tsx:9 msgid "Username" msgstr "" -#: src/views/other/Install.vue:96 +#: src/views/other/Install.vue:100 msgid "Username (*)" msgstr "" @@ -2460,20 +2528,20 @@ msgstr "" msgid "Version" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:506 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:494 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:103 msgid "View" msgstr "" -#: src/components/Notification/Notification.vue:143 +#: src/components/Notification/Notification.vue:192 msgid "View all notifications" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 msgid "View Details" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 msgid "View Mode" msgstr "" @@ -2489,7 +2557,7 @@ msgstr "" msgid "We will add one or more TXT records to the DNS records of your domain for ownership verification." msgstr "" -#: src/views/site/cert/components/ObtainCert.vue:134 +#: src/views/site/cert/components/ObtainCert.vue:137 msgid "We will remove the HTTPChallenge configuration from this file and reload the Nginx. Are you sure you want to continue?" msgstr "" @@ -2505,8 +2573,8 @@ msgstr "" msgid "When you enable/disable, delete, or save this site, the nodes set in the site category and the nodes selected below will be synchronized." msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:366 +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:377 msgid "Writes" msgstr "" @@ -2525,11 +2593,11 @@ msgstr "" msgid "Yes" msgstr "" -#: src/views/system/Upgrade.vue:203 +#: src/views/system/Upgrade.vue:204 msgid "You are using the latest version" msgstr "" -#: src/views/system/Upgrade.vue:165 +#: src/views/system/Upgrade.vue:166 msgid "You can check Nginx UI upgrade at this page." msgstr "" diff --git a/app/src/language/ru_RU/app.po b/app/src/language/ru_RU/app.po index d95def5e..33112fd4 100644 --- a/app/src/language/ru_RU/app.po +++ b/app/src/language/ru_RU/app.po @@ -26,7 +26,7 @@ msgstr "Настройки 2ФА" msgid "About" msgstr "О проекте" -#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:76 +#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:75 msgid "Access Logs" msgstr "Журнал доступа" @@ -43,17 +43,17 @@ msgstr "Пользователь ACME" #: src/views/notification/notificationColumns.tsx:62 #: src/views/preference/AuthSettings.vue:26 #: src/views/site/site_category/columns.ts:26 -#: src/views/site/site_list/columns.tsx:70 src/views/stream/StreamList.vue:47 +#: src/views/site/site_list/columns.tsx:74 src/views/stream/StreamList.vue:47 #: src/views/user/userColumns.tsx:60 msgid "Action" msgstr "Действие" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:177 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:209 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:191 #: src/views/preference/CertSettings.vue:42 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:117 #: src/views/site/ngx_conf/NgxServer.vue:162 -#: src/views/site/ngx_conf/NgxUpstream.vue:152 +#: src/views/site/ngx_conf/NgxUpstream.vue:154 #: src/views/stream/StreamList.vue:121 msgid "Add" msgstr "Добавить" @@ -63,8 +63,8 @@ msgstr "Добавить" msgid "Add a passkey" msgstr "" -#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:143 -#: src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:146 +#: src/views/config/ConfigEditor.vue:206 msgid "Add Configuration" msgstr "Добавить конфигурацию" @@ -93,7 +93,7 @@ msgstr "Добавлено успешно" msgid "Additional" msgstr "Дополнительно" -#: src/views/site/site_edit/SiteEdit.vue:191 +#: src/views/site/site_edit/SiteEdit.vue:205 #: src/views/stream/StreamEdit.vue:189 msgid "Advance Mode" msgstr "Расширенный режим" @@ -102,7 +102,8 @@ msgstr "Расширенный режим" msgid "Afterwards, refresh this page and click add passkey again." msgstr "" -#: src/views/site/site_list/SiteList.vue:101 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:425 +#: src/views/site/site_list/SiteList.vue:102 msgid "All" msgstr "" @@ -122,7 +123,21 @@ msgstr "" msgid "API Token" msgstr "API токен" -#: src/views/system/Upgrade.vue:177 +#: src/views/preference/OpenAISettings.vue:78 +#, fuzzy +msgid "API Type" +msgstr "API токен" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:105 +msgid "Apply" +msgstr "" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:67 +#, fuzzy +msgid "Apply bulk action successfully" +msgstr "Продублированно" + +#: src/views/system/Upgrade.vue:178 msgid "Arch" msgstr "Архитектура" @@ -135,7 +150,12 @@ msgstr "Вы уверены, что хотите немедленно удали msgid "Are you sure to delete this passkey immediately?" msgstr "Вы уверены, что хотите немедленно удалить этот заблокированный IP?" -#: src/components/Notification/Notification.vue:86 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:98 +#, fuzzy +msgid "Are you sure you want to apply to all selected?" +msgstr "Вы уверены, что хотите удалить?" + +#: src/components/Notification/Notification.vue:135 #: src/views/notification/Notification.vue:40 msgid "Are you sure you want to clear all notifications?" msgstr "Вы уверены, что хотите очистить все уведомления?" @@ -145,20 +165,20 @@ msgstr "Вы уверены, что хотите очистить все уве msgid "Are you sure you want to clear the record of chat?" msgstr "Вы уверены, что хотите очистить сообщения чата?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:564 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:552 msgid "Are you sure you want to delete this item permanently?" msgstr "Вы уверены, что хотите удалить этот элемент навсегда?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:523 msgid "Are you sure you want to delete this item?" msgstr "Вы уверены, что хотите удалить этот элемент?" -#: src/views/site/site_list/SiteList.vue:149 +#: src/views/site/site_list/SiteList.vue:150 #: src/views/stream/StreamList.vue:166 msgid "Are you sure you want to delete?" msgstr "Вы уверены, что хотите удалить?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:549 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:537 msgid "Are you sure you want to recover this item?" msgstr "Вы уверены, что хотите восстановить этот элемент?" @@ -187,7 +207,7 @@ msgstr "Ассистент" msgid "Attempts" msgstr "Попытки" -#: src/views/preference/Preference.vue:152 +#: src/views/preference/Preference.vue:154 msgid "Auth" msgstr "Авторизация" @@ -204,22 +224,22 @@ msgstr "" msgid "Author" msgstr "Автор" -#: src/views/nginx_log/NginxLog.vue:151 +#: src/views/nginx_log/NginxLog.vue:152 msgid "Auto Refresh" msgstr "Автообновление" -#: src/views/site/cert/components/ObtainCert.vue:75 +#: src/views/site/cert/components/ObtainCert.vue:80 msgid "Auto-renewal disabled for %{name}" msgstr "Автообновление отключено для %{name}" -#: src/views/site/cert/components/ObtainCert.vue:68 +#: src/views/site/cert/components/ObtainCert.vue:73 msgid "Auto-renewal enabled for %{name}" msgstr "Автообновление включено для %{name}" -#: src/views/certificate/CertificateEditor.vue:249 -#: src/views/config/ConfigEditor.vue:213 src/views/config/ConfigList.vue:107 -#: src/views/config/ConfigList.vue:181 src/views/nginx_log/NginxLog.vue:172 -#: src/views/site/site_edit/SiteEdit.vue:249 +#: src/views/certificate/CertificateEditor.vue:256 +#: src/views/config/ConfigEditor.vue:215 src/views/config/ConfigList.vue:106 +#: src/views/config/ConfigList.vue:180 src/views/nginx_log/NginxLog.vue:173 +#: src/views/site/site_edit/SiteEdit.vue:264 #: src/views/stream/StreamEdit.vue:245 msgid "Back" msgstr "Назад" @@ -228,7 +248,7 @@ msgstr "Назад" msgid "Back Home" msgstr "Вернуться на главную" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:222 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211 msgid "Back to list" msgstr "Возврат к списку" @@ -248,25 +268,30 @@ msgstr "Заблокирован до" msgid "Base information" msgstr "Основная информация" -#: src/views/config/ConfigEditor.vue:241 -#: src/views/preference/Preference.vue:146 +#: src/views/config/ConfigEditor.vue:243 +#: src/views/preference/Preference.vue:148 #: src/views/site/site_edit/RightSettings.vue:79 #: src/views/stream/components/RightSettings.vue:74 #, fuzzy msgid "Basic" msgstr "Простой режим" -#: src/views/site/site_edit/SiteEdit.vue:194 +#: src/views/site/site_edit/SiteEdit.vue:208 #: src/views/stream/StreamEdit.vue:192 msgid "Basic Mode" msgstr "Простой режим" +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:85 +#, fuzzy +msgid "Batch Actions" +msgstr "Действие" + #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:66 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:474 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:454 msgid "Batch Modify" msgstr "Массовое изменение" -#: src/views/environment/BatchUpgrader.vue:154 +#: src/views/environment/BatchUpgrader.vue:155 msgid "Batch Upgrade" msgstr "Пакетное обновление" @@ -286,18 +311,19 @@ msgstr "Директория корневого сертификата" msgid "CADir" msgstr "" -#: src/views/preference/components/TOTP.vue:151 +#: src/views/preference/components/TOTP.vue:150 msgid "Can't scan? Use text key binding" msgstr "" #: src/components/ChatGPT/ChatGPT.vue:260 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:261 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:251 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:180 +#: src/components/StdDesign/StdDetail/StdDetail.vue:101 #: src/views/preference/components/Passkey.vue:147 -#: src/views/site/cert/components/ObtainCert.vue:137 +#: src/views/site/cert/components/ObtainCert.vue:140 #: src/views/site/ngx_conf/NgxConfigEditor.vue:51 #: src/views/site/ngx_conf/NgxServer.vue:80 -#: src/views/site/ngx_conf/NgxUpstream.vue:33 +#: src/views/site/ngx_conf/NgxUpstream.vue:34 #: src/views/site/site_edit/RightSettings.vue:55 #: src/views/stream/components/Deploy.vue:20 #: src/views/stream/components/RightSettings.vue:51 @@ -305,11 +331,11 @@ msgid "Cancel" msgstr "Отмена" #: src/views/site/site_edit/RightSettings.vue:91 -#: src/views/site/site_list/columns.tsx:22 +#: src/views/site/site_list/columns.tsx:23 msgid "Category" msgstr "" -#: src/views/preference/Preference.vue:158 +#: src/views/preference/Preference.vue:160 #, fuzzy msgid "Cert" msgstr "Авто Сертификат" @@ -318,7 +344,7 @@ msgstr "Авто Сертификат" msgid "Certificate Renewal Interval" msgstr "Интервал обновления сертификата" -#: src/views/certificate/CertificateEditor.vue:122 +#: src/views/certificate/CertificateEditor.vue:129 #: src/views/site/cert/Cert.vue:32 msgid "Certificate Status" msgid_plural "Certificates Status" @@ -334,7 +360,7 @@ msgstr "Сертификаты" msgid "Certificates List" msgstr "Список сертификатов" -#: src/views/site/cert/components/AutoCertStepOne.vue:67 +#: src/views/site/cert/components/AutoCertStepOne.vue:66 msgid "Challenge Method" msgstr "Метод Challenge" @@ -349,15 +375,15 @@ msgid_plural "Changed Certificates" msgstr[0] "Сертификат изменен" msgstr[1] "Сертификаты изменены" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 msgid "Changed Path" msgstr "Путь изменён" -#: src/views/environment/BatchUpgrader.vue:161 src/views/system/Upgrade.vue:189 +#: src/views/environment/BatchUpgrader.vue:162 src/views/system/Upgrade.vue:190 msgid "Channel" msgstr "Канал" -#: src/views/system/Upgrade.vue:186 +#: src/views/system/Upgrade.vue:187 msgid "Check again" msgstr "Проверить повторно" @@ -366,12 +392,12 @@ msgid "Cleaning environment variables" msgstr "Очистка переменных среды" #: src/components/ChatGPT/ChatGPT.vue:283 -#: src/components/Notification/Notification.vue:91 +#: src/components/Notification/Notification.vue:140 #: src/views/notification/Notification.vue:45 msgid "Clear" msgstr "Очистить" -#: src/components/Notification/Notification.vue:42 +#: src/components/Notification/Notification.vue:90 #: src/views/notification/Notification.vue:13 msgid "Cleared successfully" msgstr "Очищено успешно" @@ -399,7 +425,7 @@ msgstr "Проверка конфигурации успешна" msgid "Configuration Name" msgstr "Название конфигурации" -#: src/views/config/ConfigList.vue:99 +#: src/views/config/ConfigList.vue:98 msgid "Configurations" msgstr "Конфигурации" @@ -411,7 +437,7 @@ msgstr "Настроить SSL" msgid "Connected" msgstr "Подключено" -#: src/views/terminal/Terminal.vue:119 +#: src/views/terminal/Terminal.vue:120 msgid "Connection lost, please refresh the page." msgstr "Соединение потеряно, пожалуйста, обновите страницу." @@ -421,27 +447,28 @@ msgstr "Соединение потеряно, пожалуйста, обнов msgid "Content" msgstr "Содержание" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 +#: src/components/StdDesign/StdDataDisplay/StdTableTransformer.tsx:150 msgid "Copied" msgstr "Скопировано" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 msgid "Copy" msgstr "Копировать" -#: src/views/system/Upgrade.vue:147 +#: src/views/system/Upgrade.vue:148 msgid "Core Upgrade" msgstr "Обновление ядра" -#: src/views/dashboard/ServerAnalytic.vue:294 +#: src/views/dashboard/ServerAnalytic.vue:305 msgid "CPU Status" msgstr "Нагрузка CPU" -#: src/views/dashboard/ServerAnalytic.vue:188 +#: src/views/dashboard/ServerAnalytic.vue:199 msgid "CPU:" msgstr "CPU:" -#: src/views/site/ngx_conf/NgxUpstream.vue:163 +#: src/views/site/ngx_conf/NgxUpstream.vue:165 msgid "Create" msgstr "Создать" @@ -449,11 +476,11 @@ msgstr "Создать" msgid "Create Another" msgstr "Создать еще" -#: src/views/config/ConfigList.vue:117 +#: src/views/config/ConfigList.vue:116 msgid "Create File" msgstr "Создать файл" -#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:124 +#: src/views/config/components/Mkdir.vue:49 src/views/config/ConfigList.vue:123 msgid "Create Folder" msgstr "Создать папку" @@ -463,7 +490,7 @@ msgstr "Создать папку" msgid "Created at" msgstr "Создан в" -#: src/views/config/components/Mkdir.vue:33 +#: src/views/config/components/Mkdir.vue:35 msgid "Created successfully" msgstr "Создано успешно" @@ -479,18 +506,18 @@ msgstr "Учетные данные" msgid "Credentials" msgstr "Учетные данные" -#: src/views/preference/components/TOTP.vue:99 +#: src/views/preference/components/TOTP.vue:98 #, fuzzy msgid "Current account is enabled TOTP." msgstr "Текущая учетная запись имеет включенную 2ФА." -#: src/views/preference/components/TOTP.vue:96 +#: src/views/preference/components/TOTP.vue:95 #, fuzzy msgid "Current account is not enabled TOTP." msgstr "" "Текущая учетная запись не имеет включенной двухфакторной аутентификации." -#: src/views/system/Upgrade.vue:166 +#: src/views/system/Upgrade.vue:167 msgid "Current Version" msgstr "Текущяя версия" @@ -499,19 +526,19 @@ msgstr "Текущяя версия" msgid "Custom" msgstr "Пользовательский" -#: src/views/preference/BasicSettings.vue:46 +#: src/views/preference/BasicSettings.vue:34 #, fuzzy msgid "" "Customize the name of local node to be displayed in the environment " "indicator." msgstr "Настройте имя локального сервера для отображения в индикаторе среды." -#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:133 -#: src/views/config/ConfigEditor.vue:94 src/views/config/ConfigList.vue:65 +#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:136 +#: src/views/config/ConfigEditor.vue:97 src/views/config/ConfigList.vue:64 msgid "Dashboard" msgstr "Доска" -#: src/views/other/Install.vue:117 +#: src/views/other/Install.vue:121 msgid "Database (Optional, default: database)" msgstr "База данных (Опционально, по умолчанию: database)" @@ -519,15 +546,17 @@ msgstr "База данных (Опционально, по умолчанию: msgid "Days" msgstr "Дни" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:542 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:530 #: src/views/site/ngx_conf/NgxServer.vue:110 -#: src/views/site/ngx_conf/NgxUpstream.vue:126 -#: src/views/site/site_list/SiteList.vue:158 +#: src/views/site/ngx_conf/NgxUpstream.vue:128 +#: src/views/site/site_list/SiteList.vue:159 #: src/views/stream/StreamList.vue:175 msgid "Delete" msgstr "Удалить" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:571 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:35 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:559 msgid "Delete Permanently" msgstr "Удалить навсегда" @@ -541,7 +570,7 @@ msgstr "Ошибка переименования удаленной конфи msgid "Delete Remote Site Success" msgstr "Переименование удаленной конфигурации прошло успешно" -#: src/views/site/site_list/SiteList.vue:68 +#: src/views/site/site_list/SiteList.vue:69 msgid "Delete site: %{site_name}" msgstr "Удалить сайт: %{site_name}" @@ -549,11 +578,11 @@ msgstr "Удалить сайт: %{site_name}" msgid "Delete stream: %{stream_name}" msgstr "Удалить поток: %{stream_name}" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:196 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:183 msgid "Deleted successfully" msgstr "Удалено успешно" -#: src/views/config/ConfigEditor.vue:284 +#: src/views/config/ConfigEditor.vue:287 #: src/views/stream/components/Deploy.vue:100 #: src/views/stream/components/RightSettings.vue:92 msgid "Deploy" @@ -596,12 +625,12 @@ msgstr "Дерективы" msgid "Directory" msgstr "Каталог" -#: src/views/site/site_list/SiteList.vue:127 +#: src/views/site/site_list/SiteList.vue:128 #: src/views/stream/StreamList.vue:144 msgid "Disable" msgstr "Отключить" -#: src/views/site/cert/components/ObtainCert.vue:77 +#: src/views/site/cert/components/ObtainCert.vue:82 msgid "Disable auto-renewal failed for %{name}" msgstr "Не удалось отключить автоматическое продление для %{name}" @@ -627,21 +656,21 @@ msgstr "Включение %{conf_name} in %{node_name} успешно" #: src/views/environment/envColumns.tsx:109 #: src/views/environment/envColumns.tsx:92 -#: src/views/site/site_edit/SiteEdit.vue:177 -#: src/views/site/site_list/columns.tsx:49 -#: src/views/site/site_list/columns.tsx:58 src/views/stream/StreamEdit.vue:175 +#: src/views/site/site_edit/SiteEdit.vue:190 +#: src/views/site/site_list/columns.tsx:51 +#: src/views/site/site_list/columns.tsx:60 src/views/stream/StreamEdit.vue:175 #: src/views/stream/StreamList.vue:33 src/views/user/userColumns.tsx:41 msgid "Disabled" msgstr "Отключено" #: src/views/site/site_edit/RightSettings.vue:42 -#: src/views/site/site_list/SiteList.vue:57 +#: src/views/site/site_list/SiteList.vue:58 #: src/views/stream/components/RightSettings.vue:38 #: src/views/stream/StreamList.vue:67 msgid "Disabled successfully" msgstr "Отключено успешно" -#: src/views/dashboard/ServerAnalytic.vue:359 +#: src/views/dashboard/ServerAnalytic.vue:370 msgid "Disk IO" msgstr "Нагрузка на Диск IO" @@ -654,11 +683,11 @@ msgstr "DNS учетные данные" msgid "DNS Provider" msgstr "Провайдер DNS" -#: src/views/site/cert/components/AutoCertStepOne.vue:74 +#: src/views/site/cert/components/AutoCertStepOne.vue:73 msgid "DNS01" msgstr "DNS01" -#: src/views/site/cert/components/AutoCertStepOne.vue:99 +#: src/views/site/cert/components/AutoCertStepOne.vue:98 msgid "Do not enable this option unless you are sure that you need it." msgstr "Не включайте эту опцию, если не уверены, что она вам нужна." @@ -668,7 +697,7 @@ msgid_plural "Do you want to deploy this file to remote servers?" msgstr[0] "Вы хотите развернуть этот файл на удаленном сервере?" msgstr[1] "Вы хотите развернуть этот файл на удаленных серверах?" -#: src/views/site/cert/components/ObtainCert.vue:133 +#: src/views/site/cert/components/ObtainCert.vue:136 msgid "Do you want to disable auto-cert renewal?" msgstr "Вы хотите отключить автоматическое обновление сертификата?" @@ -697,7 +726,7 @@ msgstr "Включить TLS?" msgid "Do you want to remove this server?" msgstr "Хотите удалить этот сервер?" -#: src/views/site/ngx_conf/NgxUpstream.vue:29 +#: src/views/site/ngx_conf/NgxUpstream.vue:30 msgid "Do you want to remove this upstream?" msgstr "Хотите удалить этот сервер?" @@ -709,7 +738,7 @@ msgstr "Домен" msgid "Domain Config Created Successfully" msgstr "Конфигурация домена успешно создана" -#: src/views/certificate/CertificateEditor.vue:106 +#: src/views/certificate/CertificateEditor.vue:113 msgid "Domains list is empty, try to reopen Auto Cert for %{config}" msgstr "" "Список доменов пуст, попробуйте заново открыть авто-сертификат для %{config}" @@ -722,7 +751,7 @@ msgstr "Ошибка загрузки последней версии" msgid "Downloading latest release" msgstr "Загрузка последней версии" -#: src/views/environment/BatchUpgrader.vue:190 src/views/system/Upgrade.vue:216 +#: src/views/environment/BatchUpgrader.vue:191 src/views/system/Upgrade.vue:217 msgid "Dry run mode enabled" msgstr "Включен пробный режим" @@ -733,7 +762,7 @@ msgid "" msgstr "" #: src/views/site/site_list/SiteDuplicate.vue:74 -#: src/views/site/site_list/SiteList.vue:143 +#: src/views/site/site_list/SiteList.vue:144 #: src/views/stream/components/StreamDuplicate.vue:121 #: src/views/stream/StreamList.vue:160 msgid "Duplicate" @@ -758,12 +787,17 @@ msgstr "Продублированно" msgid "Duplicate to local successfully" msgstr "Успешно дублировано на локальный" -#: src/views/site/site_edit/SiteEdit.vue:166 +#: src/components/StdDesign/StdDetail/StdDetail.vue:110 +#, fuzzy +msgid "Edit" +msgstr "Редактировать %{n}" + +#: src/views/site/site_edit/SiteEdit.vue:179 #: src/views/stream/StreamEdit.vue:164 msgid "Edit %{n}" msgstr "Редактировать %{n}" -#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:206 msgid "Edit Configuration" msgstr "Редактировать Конфигурацию" @@ -779,11 +813,11 @@ msgstr "Редактировать поток" msgid "Email" msgstr "Электронная почта" -#: src/views/other/Install.vue:86 +#: src/views/other/Install.vue:90 msgid "Email (*)" msgstr "Email (*)" -#: src/views/site/site_list/SiteList.vue:135 +#: src/views/site/site_list/SiteList.vue:136 #: src/views/stream/components/Deploy.vue:80 #: src/views/stream/StreamList.vue:152 msgid "Enable" @@ -797,11 +831,11 @@ msgstr "Включение %{conf_name} in %{node_name} нипалучилася msgid "Enable %{conf_name} in %{node_name} successfully" msgstr "Включение %{conf_name} in %{node_name} успешно" -#: src/views/preference/components/TOTP.vue:55 +#: src/views/preference/components/TOTP.vue:54 msgid "Enable 2FA successfully" msgstr "Двухфакторная аутентификация успешно включена" -#: src/views/site/cert/components/ObtainCert.vue:70 +#: src/views/site/cert/components/ObtainCert.vue:75 msgid "Enable auto-renewal failed for %{name}" msgstr "Не удалось включить автоматическое продление для %{name}" @@ -837,7 +871,7 @@ msgstr "Включено успешно" msgid "Enable TLS" msgstr "Включить TLS" -#: src/views/preference/components/TOTP.vue:125 +#: src/views/preference/components/TOTP.vue:124 #, fuzzy msgid "Enable TOTP" msgstr "Включить TLS" @@ -846,9 +880,9 @@ msgstr "Включить TLS" #: src/views/environment/envColumns.tsx:106 #: src/views/preference/LogrotateSettings.vue:19 #: src/views/site/site_edit/RightSettings.vue:82 -#: src/views/site/site_edit/SiteEdit.vue:171 -#: src/views/site/site_list/columns.tsx:45 -#: src/views/site/site_list/columns.tsx:57 +#: src/views/site/site_edit/SiteEdit.vue:184 +#: src/views/site/site_list/columns.tsx:47 +#: src/views/site/site_list/columns.tsx:59 #: src/views/stream/components/RightSettings.vue:76 #: src/views/stream/StreamEdit.vue:169 src/views/stream/StreamList.vue:29 #: src/views/user/userColumns.tsx:38 @@ -856,14 +890,14 @@ msgid "Enabled" msgstr "Включено" #: src/views/site/site_edit/RightSettings.vue:33 -#: src/views/site/site_list/SiteList.vue:47 src/views/site/SiteAdd.vue:40 +#: src/views/site/site_list/SiteList.vue:48 src/views/site/SiteAdd.vue:40 #: src/views/stream/components/RightSettings.vue:29 #: src/views/stream/components/StreamDuplicate.vue:93 #: src/views/stream/StreamList.vue:57 msgid "Enabled successfully" msgstr "Активировано успешно" -#: src/views/site/cert/IssueCert.vue:49 +#: src/views/site/cert/IssueCert.vue:48 msgid "Encrypt website with Let's Encrypt" msgstr "Использовать для сайта Let's Encrypt" @@ -884,11 +918,11 @@ msgstr "Окружения" msgid "Error" msgstr "Ошибка" -#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:84 +#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:83 msgid "Error Logs" msgstr "Ошибка логирования" -#: src/views/system/Upgrade.vue:178 +#: src/views/system/Upgrade.vue:179 msgid "Executable Path" msgstr "Исполняемый путь" @@ -901,7 +935,7 @@ msgstr "Истекший" msgid "Expired At: %{date}" msgstr "Истекает: %{date}" -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:66 msgid "Export" msgstr "Экспорт" @@ -910,14 +944,14 @@ msgid "Fail to obtain certificate" msgstr "Не удалось получить сертификат" #: src/views/site/site_edit/RightSettings.vue:45 -#: src/views/site/site_list/SiteList.vue:61 +#: src/views/site/site_list/SiteList.vue:62 #: src/views/stream/components/RightSettings.vue:41 #: src/views/stream/StreamList.vue:71 msgid "Failed to disable %{msg}" msgstr "Не удалось отключить %{msg}" #: src/views/site/site_edit/RightSettings.vue:36 -#: src/views/site/site_list/SiteList.vue:51 +#: src/views/site/site_list/SiteList.vue:52 #: src/views/stream/components/RightSettings.vue:32 #: src/views/stream/StreamList.vue:61 msgid "Failed to enable %{msg}" @@ -927,7 +961,7 @@ msgstr "Не удалось включить %{msg}" msgid "Failed to get certificate information" msgstr "Не удалось получить информацию о сертификате" -#: src/views/site/site_edit/SiteEdit.vue:123 +#: src/views/site/site_edit/SiteEdit.vue:135 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." msgstr "Не удалось сохранить, обнаружены синтаксические ошибки в конфигурации." @@ -944,7 +978,7 @@ msgstr "Файл существует" msgid "File Not Found" msgstr "Файл не найден" -#: src/views/nginx_log/NginxLog.vue:154 +#: src/views/nginx_log/NginxLog.vue:155 msgid "Filter" msgstr "Фильтр" @@ -958,19 +992,24 @@ msgid "" "process." msgstr "" -#: src/views/preference/BasicSettings.vue:38 +#: src/views/preference/BasicSettings.vue:59 +#: src/views/preference/BasicSettings.vue:71 +msgid "For Chinese user" +msgstr "" + +#: src/views/preference/BasicSettings.vue:47 msgid "For Chinese user: https://mirror.ghproxy.com/" msgstr "Для китайских пользователей: https://mirror.ghproxy.com/" -#: src/views/config/ConfigEditor.vue:216 +#: src/views/config/ConfigEditor.vue:218 msgid "Format Code" msgstr "Форматировать код" -#: src/views/config/ConfigEditor.vue:183 +#: src/views/config/ConfigEditor.vue:185 msgid "Format error %{msg}" msgstr "Ошибка формата %{msg}" -#: src/views/config/ConfigEditor.vue:181 +#: src/views/config/ConfigEditor.vue:183 msgid "Format successfully" msgstr "Форматирование успешно" @@ -978,7 +1017,7 @@ msgstr "Форматирование успешно" msgid "General Certificate" msgstr "Общий сертификат" -#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:52 +#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:55 msgid "Generate" msgstr "Сгенерировать" @@ -986,7 +1025,7 @@ msgstr "Сгенерировать" msgid "Generating private key for registering account" msgstr "Генерация приватного ключа для регистрации учетной записи" -#: src/views/environment/BatchUpgrader.vue:179 src/views/system/Upgrade.vue:170 +#: src/views/environment/BatchUpgrader.vue:180 src/views/system/Upgrade.vue:171 msgid "Get release information error" msgstr "Ошибка получения информации о выпуске" @@ -994,11 +1033,11 @@ msgstr "Ошибка получения информации о выпуске" msgid "Getting the certificate, please wait..." msgstr "Получение сертификата, пожалуйста, подождите..." -#: src/views/preference/BasicSettings.vue:30 +#: src/views/preference/BasicSettings.vue:39 msgid "Github Proxy" msgstr "Прокси Github" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Hide" msgstr "Скрыть" @@ -1018,10 +1057,14 @@ msgstr "Хостинг HTTP" msgid "HTTP Port" msgstr "Порт HTTP" -#: src/views/site/cert/components/AutoCertStepOne.vue:71 +#: src/views/site/cert/components/AutoCertStepOne.vue:70 msgid "HTTP01" msgstr "HTTP01" +#: src/views/preference/BasicSettings.vue:51 +msgid "ICP Number" +msgstr "" + #: src/views/certificate/ACMEUser.vue:45 msgid "If left blank, the default CA Dir will be used." msgstr "Если оставить пустым, будет использоваться каталог CA по умолчанию." @@ -1035,7 +1078,7 @@ msgstr "" "количества попыток в течение пороговых минут блокировки, IP будет " "заблокирован на определенный период времени." -#: src/views/preference/components/TOTP.vue:111 +#: src/views/preference/components/TOTP.vue:110 msgid "" "If you lose your mobile phone, you can use the recovery code to reset your " "2FA." @@ -1047,7 +1090,7 @@ msgstr "" msgid "If your browser supports WebAuthn Passkey, a dialog box will appear." msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:109 +#: src/views/site/cert/components/AutoCertStepOne.vue:108 msgid "" "If your domain has CNAME records and you cannot obtain certificates, you " "need to enable this option." @@ -1059,14 +1102,15 @@ msgstr "" msgid "Import" msgstr "Импорт" -#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:86 msgid "Import Certificate" msgstr "Импортировать сертификат" -#: src/views/other/Login.vue:77 +#: src/views/other/Login.vue:78 msgid "Incorrect username or password" msgstr "Неверное имя пользователя или пароль" +#: src/components/StdDesign/StdDetail/StdDetail.vue:81 #: src/constants/index.ts:18 src/views/notification/notificationColumns.tsx:29 msgid "Info" msgstr "Информация" @@ -1079,20 +1123,20 @@ msgstr "Ошибка первоначального обновления ядр msgid "Initialing core upgrader" msgstr "Инициализация программы обновления ядра" -#: src/views/preference/components/TOTP.vue:158 +#: src/views/preference/components/TOTP.vue:157 msgid "Input the code from the app:" msgstr "Введите код из приложения:" #: src/components/TwoFA/Authorization.vue:87 -#: src/views/preference/components/TOTP.vue:171 +#: src/views/preference/components/TOTP.vue:170 msgid "Input the recovery code:" msgstr "Введите код восстановления:" -#: src/routes/index.ts:305 src/views/other/Install.vue:132 +#: src/routes/index.ts:305 src/views/other/Install.vue:136 msgid "Install" msgstr "Установить" -#: src/views/other/Install.vue:63 +#: src/views/other/Install.vue:67 msgid "Install successfully" msgstr "Установка прошла успешно" @@ -1104,20 +1148,20 @@ msgstr "Интервал" msgid "Invalid" msgstr "Недействительно" -#: src/views/other/Login.vue:87 +#: src/views/other/Login.vue:88 msgid "Invalid 2FA or recovery code" msgstr "Неверный 2FA или код восстановления" -#: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:250 +#: src/views/config/components/Rename.vue:66 +#: src/views/config/ConfigEditor.vue:252 msgid "Invalid filename" msgstr "Неверное имя файла" -#: src/views/config/components/Mkdir.vue:57 +#: src/views/config/components/Mkdir.vue:59 msgid "Invalid folder name" msgstr "Недопустимое имя папки" -#: src/components/TwoFA/use2FAModal.ts:60 +#: src/components/TwoFA/use2FAModal.ts:61 msgid "Invalid passcode or recovery code" msgstr "Неверный пароль или код восстановления" @@ -1146,11 +1190,11 @@ msgid "Jwt Secret" msgstr "Jwt секрет" #: src/views/certificate/CertificateList/certColumns.tsx:62 -#: src/views/site/cert/components/AutoCertStepOne.vue:78 +#: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" msgstr "Тип ключа" -#: src/views/system/Upgrade.vue:180 +#: src/views/system/Upgrade.vue:181 msgid "Last checked at" msgstr "Последняя проверка в" @@ -1177,12 +1221,12 @@ msgstr "Оставьте пустым без изменений" msgid "Leave blank if you don't need this." msgstr "Оставьте пустым без изменений" -#: src/views/certificate/CertificateEditor.vue:214 -#: src/views/certificate/CertificateEditor.vue:227 +#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:234 msgid "Leave blank will not change anything" msgstr "Если оставить пустым, ничего не изменится" -#: src/views/site/cert/components/AutoCertStepOne.vue:106 +#: src/views/site/cert/components/AutoCertStepOne.vue:105 msgid "Lego disable CNAME Support" msgstr "Lego отключает поддержку CNAME" @@ -1195,11 +1239,11 @@ msgstr "Лицензия" msgid "Link Start" msgstr "Начало ссылки" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:199 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:178 msgid "List" msgstr "Список" -#: src/views/dashboard/ServerAnalytic.vue:176 +#: src/views/dashboard/ServerAnalytic.vue:187 msgid "Load Average:" msgstr "Средняя нагрузка:" @@ -1212,7 +1256,7 @@ msgid "Load successfully" msgstr "Загружено успешно" #: src/components/EnvIndicator/EnvIndicator.vue:39 -#: src/components/NodeSelector/NodeSelector.vue:70 +#: src/components/NodeSelector/NodeSelector.vue:80 msgid "Local" msgstr "Локальный" @@ -1224,23 +1268,23 @@ msgstr "Location" msgid "Locations" msgstr "Locations" -#: src/views/certificate/CertificateEditor.vue:237 +#: src/views/certificate/CertificateEditor.vue:244 msgid "Log" msgstr "Журнал" -#: src/routes/index.ts:311 src/views/other/Login.vue:245 +#: src/routes/index.ts:311 src/views/other/Login.vue:246 msgid "Login" msgstr "Логин" -#: src/views/other/Login.vue:131 src/views/other/Login.vue:64 +#: src/views/other/Login.vue:132 src/views/other/Login.vue:65 msgid "Login successful" msgstr "Авторизация успешна" -#: src/layouts/HeaderLayout.vue:19 +#: src/layouts/HeaderLayout.vue:20 msgid "Logout successful" msgstr "Выход выполнен успешно" -#: src/views/preference/Preference.vue:176 +#: src/views/preference/Preference.vue:178 msgid "Logrotate" msgstr "Прокрутка" @@ -1260,7 +1304,7 @@ msgstr "" "вручную включить эту опцию. Планировщик задач crontab Nginx UI будет " "выполнять команду logrotate с интервалом, который вы установите в минутах." -#: src/views/site/cert/components/AutoCertStepOne.vue:54 +#: src/views/site/cert/components/AutoCertStepOne.vue:53 msgid "" "Make sure you have configured a reverse proxy for .well-known directory to " "HTTPChallengePort before obtaining the certificate." @@ -1268,12 +1312,12 @@ msgstr "" "Убедитесь, что вы настроили обратный прокси для каталога .well-known на " "HTTPChallengePort перед получением сертификата." -#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:138 -#: src/views/config/ConfigEditor.vue:99 src/views/config/ConfigList.vue:70 +#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:102 +#: src/views/config/ConfigEditor.vue:141 src/views/config/ConfigList.vue:69 msgid "Manage Configs" msgstr "Конфигурации" -#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:97 +#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:98 msgid "Manage Sites" msgstr "Сайты" @@ -1293,12 +1337,12 @@ msgstr "Управление сертификатом" msgid "Max Attempts" msgstr "Максимальное количество попыток" -#: src/views/dashboard/ServerAnalytic.vue:215 -#: src/views/dashboard/ServerAnalytic.vue:216 +#: src/views/dashboard/ServerAnalytic.vue:226 +#: src/views/dashboard/ServerAnalytic.vue:227 msgid "Memory" msgstr "Память" -#: src/views/dashboard/ServerAnalytic.vue:205 +#: src/views/dashboard/ServerAnalytic.vue:216 msgid "Memory and Storage" msgstr "Память и хранилище" @@ -1311,13 +1355,13 @@ msgid "Model" msgstr "Модель" #: src/components/ChatGPT/ChatGPT.vue:256 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:520 -#: src/views/config/ConfigList.vue:159 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:508 +#: src/views/config/ConfigList.vue:158 msgid "Modify" msgstr "Изменить" -#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:86 msgid "Modify Certificate" msgstr "Изменить сертификат" @@ -1325,7 +1369,7 @@ msgstr "Изменить сертификат" msgid "Modify Config" msgstr "Изменить конфигурацию" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 msgid "Modify Mode" msgstr "Изменить режим" @@ -1334,13 +1378,13 @@ msgid "Multi-line Directive" msgstr "Многострочная директива" #: src/views/certificate/ACMEUser.vue:13 -#: src/views/certificate/CertificateEditor.vue:154 +#: src/views/certificate/CertificateEditor.vue:161 #: src/views/certificate/CertificateList/certColumns.tsx:10 #: src/views/certificate/DNSCredential.vue:11 -#: src/views/config/components/Mkdir.vue:64 src/views/config/configColumns.ts:8 -#: src/views/config/ConfigEditor.vue:256 src/views/environment/envColumns.tsx:9 +#: src/views/config/components/Mkdir.vue:66 src/views/config/configColumns.ts:8 +#: src/views/config/ConfigEditor.vue:258 src/views/environment/envColumns.tsx:9 #: src/views/preference/components/AddPasskey.vue:81 -#: src/views/site/ngx_conf/NgxUpstream.vue:175 +#: src/views/site/ngx_conf/NgxUpstream.vue:177 #: src/views/site/site_category/columns.ts:7 #: src/views/site/site_edit/RightSettings.vue:88 #: src/views/site/site_list/columns.tsx:13 @@ -1351,41 +1395,41 @@ msgstr "Многострочная директива" msgid "Name" msgstr "Имя" -#: src/views/dashboard/ServerAnalytic.vue:320 +#: src/views/dashboard/ServerAnalytic.vue:331 msgid "Network" msgstr "Сеть" -#: src/views/dashboard/ServerAnalytic.vue:262 +#: src/views/dashboard/ServerAnalytic.vue:273 msgid "Network Statistics" msgstr "Статистика сети" -#: src/views/dashboard/ServerAnalytic.vue:269 +#: src/views/dashboard/ServerAnalytic.vue:280 msgid "Network Total Receive" msgstr "Всего получено" -#: src/views/dashboard/ServerAnalytic.vue:275 +#: src/views/dashboard/ServerAnalytic.vue:286 msgid "Network Total Send" msgstr "Всего отправлено" -#: src/views/config/components/Rename.vue:73 +#: src/views/config/components/Rename.vue:74 msgid "New name" msgstr "Новое имя" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 msgid "New Path" msgstr "Новый путь" -#: src/views/system/Upgrade.vue:209 +#: src/views/system/Upgrade.vue:210 msgid "New version released" msgstr "Вышла новая версия" #: src/views/certificate/WildcardCertificate.vue:91 -#: src/views/site/cert/components/ObtainCert.vue:208 +#: src/views/site/cert/components/ObtainCert.vue:211 #: src/views/site/SiteAdd.vue:141 msgid "Next" msgstr "Дальше" -#: src/views/preference/Preference.vue:164 +#: src/views/preference/Preference.vue:166 msgid "Nginx" msgstr "Nginx" @@ -1393,7 +1437,7 @@ msgstr "Nginx" msgid "Nginx Access Log Path" msgstr "Путь для Nginx Access Log" -#: src/views/site/site_edit/SiteEdit.vue:209 +#: src/views/site/site_edit/SiteEdit.vue:223 #: src/views/stream/StreamEdit.vue:207 msgid "Nginx Configuration Parse Error" msgstr "Ошибка разбора конфигурации Nginx" @@ -1415,7 +1459,7 @@ msgstr "Путь для Nginx Error Log" msgid "Nginx is not running" msgstr "" -#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:147 +#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:148 msgid "Nginx Log" msgstr "Журнал" @@ -1446,22 +1490,23 @@ msgid "Nginx restarted successfully" msgstr "Nginx успешно перезапущен" #: src/components/ChatGPT/ChatGPT.vue:277 -#: src/components/Notification/Notification.vue:84 +#: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:67 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:533 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:547 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:562 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:96 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:521 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:550 #: src/views/notification/Notification.vue:38 #: src/views/preference/AuthSettings.vue:138 #: src/views/preference/CertSettings.vue:70 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:90 #: src/views/site/ngx_conf/LocationEditor.vue:90 -#: src/views/site/site_list/SiteList.vue:147 +#: src/views/site/site_list/SiteList.vue:148 #: src/views/stream/StreamList.vue:164 msgid "No" msgstr "Нет" -#: src/views/preference/BasicSettings.vue:42 +#: src/views/preference/BasicSettings.vue:30 #, fuzzy msgid "Node name" msgstr "Новое имя" @@ -1483,7 +1528,7 @@ msgid "Not Valid Before: %{date}" msgstr "Недействительно до: %{date}" #: src/views/certificate/DNSCredential.vue:49 -#: src/views/site/cert/components/AutoCertStepOne.vue:40 +#: src/views/site/cert/components/AutoCertStepOne.vue:39 msgid "Note" msgstr "Заметка" @@ -1497,11 +1542,11 @@ msgstr "" msgid "Notification" msgstr "Уведомление" -#: src/components/Notification/Notification.vue:82 src/routes/index.ts:248 +#: src/components/Notification/Notification.vue:131 src/routes/index.ts:248 msgid "Notifications" msgstr "Уведомления" -#: src/views/site/cert/components/ObtainCert.vue:179 +#: src/views/site/cert/components/ObtainCert.vue:182 msgid "Obtain certificate" msgstr "Получить сертификат" @@ -1509,11 +1554,11 @@ msgstr "Получить сертификат" msgid "Obtaining certificate" msgstr "Получение сертификата" -#: src/views/site/cert/components/AutoCertStepOne.vue:96 +#: src/views/site/cert/components/AutoCertStepOne.vue:95 msgid "OCSP Must Staple" msgstr "OCSP Must Staple" -#: src/views/site/cert/components/AutoCertStepOne.vue:100 +#: src/views/site/cert/components/AutoCertStepOne.vue:99 msgid "" "OCSP Must Staple may cause errors for some users on first access using " "Firefox." @@ -1521,29 +1566,30 @@ msgstr "" "OCSP Must Staple может вызвать ошибки у некоторых пользователей при первом " "доступе через Firefox." -#: src/components/NodeSelector/NodeSelector.vue:93 +#: src/components/NodeSelector/NodeSelector.vue:103 #: src/views/dashboard/Environments.vue:107 #: src/views/environment/envColumns.tsx:87 msgid "Offline" msgstr "Оффлайн" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:262 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:183 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:252 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:522 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:536 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:551 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:181 msgid "Ok" msgstr "Ок" #: src/components/ChatGPT/ChatGPT.vue:278 -#: src/components/Notification/Notification.vue:85 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:534 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:548 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:563 +#: src/components/Notification/Notification.vue:134 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:97 #: src/views/notification/Notification.vue:39 -#: src/views/site/cert/components/ObtainCert.vue:136 +#: src/views/site/cert/components/ObtainCert.vue:139 #: src/views/site/ngx_conf/NgxConfigEditor.vue:50 #: src/views/site/ngx_conf/NgxServer.vue:79 -#: src/views/site/ngx_conf/NgxUpstream.vue:32 +#: src/views/site/ngx_conf/NgxUpstream.vue:33 #: src/views/site/site_edit/RightSettings.vue:54 -#: src/views/site/site_list/SiteList.vue:148 +#: src/views/site/site_list/SiteList.vue:149 #: src/views/stream/components/Deploy.vue:19 #: src/views/stream/components/RightSettings.vue:50 #: src/views/stream/StreamList.vue:165 @@ -1554,39 +1600,39 @@ msgstr "ОК" msgid "Once the verification is complete, the records will be removed." msgstr "После завершения проверки записи будут удалены." -#: src/components/NodeSelector/NodeSelector.vue:73 -#: src/components/NodeSelector/NodeSelector.vue:87 +#: src/components/NodeSelector/NodeSelector.vue:83 +#: src/components/NodeSelector/NodeSelector.vue:97 #: src/views/dashboard/Environments.vue:100 #: src/views/environment/envColumns.tsx:83 msgid "Online" msgstr "Онлайн" -#: src/views/preference/Preference.vue:170 +#: src/views/preference/Preference.vue:172 msgid "OpenAI" msgstr "OpenAI" -#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:254 +#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:255 msgid "Or" msgstr "" -#: src/views/config/components/Rename.vue:69 +#: src/views/config/components/Rename.vue:70 msgid "Original name" msgstr "Оригинальное имя" -#: src/views/system/Upgrade.vue:176 +#: src/views/system/Upgrade.vue:177 msgid "OS" msgstr "ОС" -#: src/views/dashboard/ServerAnalytic.vue:182 +#: src/views/dashboard/ServerAnalytic.vue:193 msgid "OS:" msgstr "OS:" -#: src/views/config/ConfigEditor.vue:293 +#: src/views/config/ConfigEditor.vue:296 #: src/views/stream/components/Deploy.vue:84 msgid "Overwrite" msgstr "Перезаписать" -#: src/views/config/ConfigEditor.vue:297 +#: src/views/config/ConfigEditor.vue:300 #: src/views/stream/components/Deploy.vue:88 msgid "Overwrite exist file" msgstr "Перезаписать существующий файл" @@ -1606,21 +1652,25 @@ msgid "" "password replacement or as a 2FA method." msgstr "" -#: src/views/other/Login.vue:206 src/views/user/userColumns.tsx:18 +#: src/views/other/Login.vue:207 src/views/user/userColumns.tsx:18 msgid "Password" msgstr "Пароль" -#: src/views/other/Install.vue:106 +#: src/views/other/Install.vue:110 msgid "Password (*)" msgstr "Пароль (*)" -#: src/views/config/ConfigEditor.vue:262 +#: src/views/other/Install.vue:48 +msgid "Password length cannot exceed 20 characters" +msgstr "" + +#: src/views/config/ConfigEditor.vue:265 #: src/views/site/ngx_conf/LocationEditor.vue:111 #: src/views/site/ngx_conf/LocationEditor.vue:139 msgid "Path" msgstr "Путь" -#: src/views/environment/BatchUpgrader.vue:234 +#: src/views/environment/BatchUpgrader.vue:235 msgid "Perform" msgstr "Выполнить" @@ -1651,11 +1701,11 @@ msgstr "" "Пожалуйста, заполните учетные данные API, предоставленные вашим DNS-" "провайдером." -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:127 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:107 msgid "Please fill in the required fields" msgstr "Пожалуйста, заполните обязательные поля" -#: src/views/site/cert/components/AutoCertStepOne.vue:58 +#: src/views/site/cert/components/AutoCertStepOne.vue:57 msgid "" "Please first add credentials in Certification > DNS Credentials, and then " "select one of the credentialsbelow to request the API of the DNS provider." @@ -1664,12 +1714,12 @@ msgstr "" "Credentials, а затем выберите одну из учетных данных ниже, чтобы запросить " "API провайдера DNS." -#: src/views/config/components/Rename.vue:64 -#: src/views/config/ConfigEditor.vue:249 +#: src/views/config/components/Rename.vue:65 +#: src/views/config/ConfigEditor.vue:251 msgid "Please input a filename" msgstr "Пожалуйста, введите имя файла" -#: src/views/config/components/Mkdir.vue:56 +#: src/views/config/components/Mkdir.vue:58 msgid "Please input a folder name" msgstr "Пожалуйста, введите имя папки" @@ -1694,11 +1744,11 @@ msgstr "" msgid "Please input your E-mail!" msgstr "Введите ваш E-mail!" -#: src/views/other/Install.vue:44 src/views/other/Login.vue:46 +#: src/views/other/Install.vue:44 src/views/other/Login.vue:47 msgid "Please input your password!" msgstr "Введите ваш пароль!" -#: src/views/other/Install.vue:38 src/views/other/Login.vue:40 +#: src/views/other/Install.vue:38 src/views/other/Login.vue:41 msgid "Please input your username!" msgstr "Введите ваше имя пользователя!" @@ -1731,13 +1781,13 @@ msgstr "" "Синхронизация конфигурации %{cert_name} с %{env_name} не удалась, " "пожалуйста, обновите удаленный Nginx UI до последней версии" -#: src/views/environment/BatchUpgrader.vue:169 -#: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195 -#: src/views/system/Upgrade.vue:246 +#: src/views/environment/BatchUpgrader.vue:170 +#: src/views/environment/BatchUpgrader.vue:223 src/views/system/Upgrade.vue:196 +#: src/views/system/Upgrade.vue:247 msgid "Pre-release" msgstr "Предварительный выпуск" -#: src/routes/index.ts:266 src/views/preference/Preference.vue:141 +#: src/routes/index.ts:266 src/views/preference/Preference.vue:143 msgid "Preference" msgstr "Настройки" @@ -1765,34 +1815,39 @@ msgstr "Провайдер" msgid "Proxy" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:376 +#: src/views/preference/BasicSettings.vue:63 +msgid "Public Security Number" +msgstr "" + +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:387 msgid "Reads" msgstr "Чтение" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:327 +#: src/views/dashboard/ServerAnalytic.vue:338 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Receive" msgstr "Принято" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:556 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:43 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:544 msgid "Recover" msgstr "Восстановить" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:204 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:191 msgid "Recovered Successfully" msgstr "Восстановлено успешно" #: src/components/TwoFA/Authorization.vue:94 -#: src/views/preference/components/TOTP.vue:178 +#: src/views/preference/components/TOTP.vue:177 msgid "Recovery" msgstr "Восстановление" -#: src/views/preference/components/TOTP.vue:104 +#: src/views/preference/components/TOTP.vue:103 msgid "Recovery Code" msgstr "Код восстановления" -#: src/views/preference/components/TOTP.vue:113 +#: src/views/preference/components/TOTP.vue:112 msgid "Recovery Code:" msgstr "Код восстановления:" @@ -1840,11 +1895,11 @@ msgstr "Регистрация пользователя" msgid "Registration Status" msgstr "Статус регистрации" -#: src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:228 msgid "Reinstall" msgstr "Переустановить" -#: src/views/system/Upgrade.vue:250 +#: src/views/system/Upgrade.vue:251 msgid "Release Note" msgstr "Что нового" @@ -1880,13 +1935,14 @@ msgstr "Продублированно %{conf_name} в %{node_name}" msgid "Remove successfully" msgstr "Удалено успешно" -#: src/components/Notification/Notification.vue:52 +#: src/components/Notification/Notification.vue:100 msgid "Removed successfully" msgstr "Успешно удалено" -#: src/views/config/components/Rename.vue:55 -#: src/views/config/ConfigList.vue:167 -#: src/views/site/ngx_conf/NgxUpstream.vue:123 +#: src/views/config/components/ConfigName.vue:50 +#: src/views/config/components/Rename.vue:56 +#: src/views/config/ConfigList.vue:166 +#: src/views/site/ngx_conf/NgxUpstream.vue:125 #: src/views/site/site_edit/components/ConfigName.vue:46 msgid "Rename" msgstr "Переименовать" @@ -1895,8 +1951,8 @@ msgstr "Переименовать" msgid "" "Rename %{orig_path} to %{new_path} on %{env_name} failed, response: %{resp}" msgstr "" -"Переименование %{orig_path} в %{new_path} на %{env_name} не удалось, ответ: " -"%{resp}" +"Переименование %{orig_path} в %{new_path} на %{env_name} не удалось, ответ: %" +"{resp}" #: src/components/Notification/config.ts:20 msgid "Rename %{orig_path} to %{new_path} on %{env_name} successfully" @@ -1930,17 +1986,18 @@ msgstr "Переименование %{orig_path} в %{new_path} на %{env_name msgid "Rename Site %{site} to %{new_site} on %{node} successfully" msgstr "Переименование %{orig_path} в %{new_path} на %{env_name} успешно" -#: src/views/config/components/Rename.vue:41 +#: src/views/config/components/Rename.vue:42 msgid "Rename successfully" msgstr "Переименовано успешно" +#: src/views/config/components/ConfigName.vue:30 #: src/views/site/site_edit/components/ConfigName.vue:27 #, fuzzy msgid "Renamed successfully" msgstr "Переименовано успешно" -#: src/views/certificate/RenewCert.vue:43 -#: src/views/certificate/RenewCert.vue:47 +#: src/views/certificate/RenewCert.vue:45 +#: src/views/certificate/RenewCert.vue:49 msgid "Renew Certificate" msgstr "Обновить сертификат" @@ -1952,7 +2009,7 @@ msgstr "Ошибка обновления сертификата" msgid "Renew Certificate Success" msgstr "Успешное обновление сертификата" -#: src/views/certificate/RenewCert.vue:25 +#: src/views/certificate/RenewCert.vue:27 #: src/views/certificate/WildcardCertificate.vue:48 msgid "Renew successfully" msgstr "Успешно обновлено" @@ -1961,11 +2018,11 @@ msgstr "Успешно обновлено" msgid "Requested with wrong parameters" msgstr "Запрос с неправильными параметрами" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:468 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:448 msgid "Reset" msgstr "Сброс" -#: src/views/preference/components/TOTP.vue:133 +#: src/views/preference/components/TOTP.vue:132 msgid "Reset 2FA" msgstr "Сброс 2FA" @@ -1999,13 +2056,15 @@ msgstr "Выполняется" #: src/components/ChatGPT/ChatGPT.vue:259 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:68 -#: src/views/certificate/CertificateEditor.vue:256 -#: src/views/config/ConfigEditor.vue:222 +#: src/components/StdDesign/StdDetail/StdDetail.vue:93 +#: src/views/certificate/CertificateEditor.vue:263 +#: src/views/config/components/ConfigName.vue:58 +#: src/views/config/ConfigEditor.vue:224 #: src/views/preference/components/Passkey.vue:136 -#: src/views/preference/Preference.vue:187 +#: src/views/preference/Preference.vue:189 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:120 #: src/views/site/site_edit/components/ConfigName.vue:54 -#: src/views/site/site_edit/SiteEdit.vue:256 +#: src/views/site/site_edit/SiteEdit.vue:271 #: src/views/stream/StreamEdit.vue:252 msgid "Save" msgstr "Сохранить" @@ -2014,7 +2073,7 @@ msgstr "Сохранить" msgid "Save Directive" msgstr "Сохранить директиву" -#: src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:173 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:41 #: src/views/site/SiteAdd.vue:46 msgid "Save error %{msg}" @@ -2034,8 +2093,8 @@ msgstr "Переименование удаленной конфигурации #, fuzzy msgid "Save site %{site} to %{node} error, response: %{resp}" msgstr "" -"Синхронизация сертификата %{cert_name} с %{env_name} не удалась, ответ: " -"%{resp}" +"Синхронизация сертификата %{cert_name} с %{env_name} не удалась, ответ: %" +"{resp}" #: src/components/Notification/config.ts:35 #, fuzzy @@ -2043,20 +2102,20 @@ msgid "Save Site %{site} to %{node} successfully" msgstr "Продублированно %{conf_name} в %{node_name}" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117 -#: src/views/certificate/CertificateEditor.vue:46 -#: src/views/preference/Preference.vue:110 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:97 +#: src/views/certificate/CertificateEditor.vue:49 +#: src/views/preference/Preference.vue:112 msgid "Save successfully" msgstr "Сохранено успешно" -#: src/views/config/ConfigEditor.vue:167 +#: src/views/config/ConfigEditor.vue:169 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 -#: src/views/site/site_edit/SiteEdit.vue:140 src/views/site/SiteAdd.vue:37 +#: src/views/site/site_edit/SiteEdit.vue:152 src/views/site/SiteAdd.vue:37 #: src/views/stream/StreamEdit.vue:138 msgid "Saved successfully" msgstr "Успешно сохранено" -#: src/views/preference/components/TOTP.vue:94 +#: src/views/preference/components/TOTP.vue:93 msgid "Scan the QR code with your mobile phone to add the account to the app." msgstr "" "Отсканируйте QR-код с помощью мобильного телефона, чтобы добавить учетную " @@ -2066,49 +2125,49 @@ msgstr "" msgid "SDK" msgstr "SDK" -#: src/views/preference/components/TOTP.vue:150 +#: src/views/preference/components/TOTP.vue:149 msgid "Secret has been copied" msgstr "" -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:184 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 msgid "Selector" msgstr "Выбор" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:337 +#: src/views/dashboard/ServerAnalytic.vue:348 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Send" msgstr "Отправлено" #: src/components/NginxControl/NginxControl.vue:32 #: src/components/NginxControl/NginxControl.vue:48 -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:44 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:124 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:53 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:207 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:249 -#: src/views/config/components/Mkdir.vue:36 -#: src/views/config/components/Rename.vue:44 -#: src/views/config/ConfigEditor.vue:108 -#: src/views/environment/BatchUpgrader.vue:58 -#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:66 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:70 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:194 +#: src/views/config/components/Mkdir.vue:38 +#: src/views/config/components/Rename.vue:45 +#: src/views/config/ConfigEditor.vue:111 +#: src/views/environment/BatchUpgrader.vue:59 +#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:70 #: src/views/preference/AuthSettings.vue:49 #: src/views/preference/components/Passkey.vue:26 #: src/views/preference/components/Passkey.vue:43 #: src/views/preference/components/Passkey.vue:56 -#: src/views/preference/components/TOTP.vue:45 -#: src/views/preference/components/TOTP.vue:58 -#: src/views/preference/Preference.vue:114 -#: src/views/site/site_list/SiteList.vue:39 -#: src/views/site/site_list/SiteList.vue:71 src/views/stream/StreamList.vue:113 -#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:41 +#: src/views/preference/components/TOTP.vue:44 +#: src/views/preference/components/TOTP.vue:57 +#: src/views/preference/Preference.vue:116 +#: src/views/site/site_list/SiteList.vue:40 +#: src/views/site/site_list/SiteList.vue:72 src/views/stream/StreamList.vue:113 +#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:42 msgid "Server error" msgstr "Ошибка сервера" -#: src/views/dashboard/ServerAnalytic.vue:168 +#: src/views/dashboard/ServerAnalytic.vue:179 msgid "Server Info" msgstr "Информация о сервере" -#: src/views/site/cert/components/ObtainCert.vue:102 +#: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "server_name не нашел в директивах" @@ -2136,11 +2195,11 @@ msgstr "Настройка переменных сред" msgid "Setting HTTP01 challenge provider" msgstr "" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "Показать" -#: src/views/other/Login.vue:263 +#: src/views/other/Login.vue:264 msgid "Sign in with a passkey" msgstr "" @@ -2160,36 +2219,36 @@ msgstr "Журналы сайта" msgid "Sites List" msgstr "Список сайтов" -#: src/views/certificate/CertificateEditor.vue:205 +#: src/views/certificate/CertificateEditor.vue:212 msgid "SSL Certificate Content" msgstr "Содержимое SSL-сертификата" -#: src/views/certificate/CertificateEditor.vue:218 +#: src/views/certificate/CertificateEditor.vue:225 msgid "SSL Certificate Key Content" msgstr "Содержимое ключа SSL-сертификата" -#: src/views/certificate/CertificateEditor.vue:184 +#: src/views/certificate/CertificateEditor.vue:191 msgid "SSL Certificate Key Path" msgstr "Путь к ключу SSL-сертификата" -#: src/views/certificate/CertificateEditor.vue:169 +#: src/views/certificate/CertificateEditor.vue:176 msgid "SSL Certificate Path" msgstr "Путь к SSL сертификату" -#: src/views/other/Login.vue:221 +#: src/views/other/Login.vue:222 msgid "SSO Login" msgstr "SSO Вход" -#: src/views/environment/BatchUpgrader.vue:166 -#: src/views/environment/BatchUpgrader.vue:216 src/views/system/Upgrade.vue:192 -#: src/views/system/Upgrade.vue:240 +#: src/views/environment/BatchUpgrader.vue:167 +#: src/views/environment/BatchUpgrader.vue:217 src/views/system/Upgrade.vue:193 +#: src/views/system/Upgrade.vue:241 msgid "Stable" msgstr "Стабильный" #: src/views/certificate/ACMEUser.vue:65 #: src/views/certificate/CertificateList/certColumns.tsx:68 #: src/views/environment/envColumns.tsx:75 -#: src/views/site/site_list/columns.tsx:38 src/views/stream/StreamList.vue:22 +#: src/views/site/site_list/columns.tsx:40 src/views/stream/StreamList.vue:22 msgid "Status" msgstr "Статус" @@ -2197,8 +2256,8 @@ msgstr "Статус" msgid "Stopped" msgstr "Остановлен" -#: src/views/dashboard/ServerAnalytic.vue:243 -#: src/views/dashboard/ServerAnalytic.vue:244 +#: src/views/dashboard/ServerAnalytic.vue:254 +#: src/views/dashboard/ServerAnalytic.vue:255 msgid "Storage" msgstr "Хранилище" @@ -2206,8 +2265,8 @@ msgstr "Хранилище" msgid "Success" msgstr "Успех" -#: src/views/dashboard/ServerAnalytic.vue:229 -#: src/views/dashboard/ServerAnalytic.vue:230 +#: src/views/dashboard/ServerAnalytic.vue:240 +#: src/views/dashboard/ServerAnalytic.vue:241 msgid "Swap" msgstr "Своп" @@ -2219,7 +2278,7 @@ msgstr "Переключиться на темную тему" msgid "Switch to light theme" msgstr "Переключиться на светлую тему" -#: src/views/config/components/Rename.vue:80 +#: src/views/config/components/Rename.vue:81 msgid "Sync" msgstr "Синхронизация" @@ -2238,8 +2297,8 @@ msgstr "" #: src/components/Notification/cert.ts:14 msgid "Sync Certificate %{cert_name} to %{env_name} failed, response: %{resp}" msgstr "" -"Синхронизация сертификата %{cert_name} с %{env_name} не удалась, ответ: " -"%{resp}" +"Синхронизация сертификата %{cert_name} с %{env_name} не удалась, ответ: %" +"{resp}" #: src/components/Notification/cert.ts:4 msgid "Sync Certificate %{cert_name} to %{env_name} successfully" @@ -2256,8 +2315,8 @@ msgstr "Сертификат успешно синхронизирован" #: src/components/Notification/config.ts:14 msgid "Sync config %{config_name} to %{env_name} failed, response: %{resp}" msgstr "" -"Синхронизация конфигурации %{config_name} с %{env_name} не удалась, ответ: " -"%{resp}" +"Синхронизация конфигурации %{config_name} с %{env_name} не удалась, ответ: %" +"{resp}" #: src/components/Notification/config.ts:4 msgid "Sync Config %{config_name} to %{env_name} successfully" @@ -2282,7 +2341,7 @@ msgstr "Синхронизировать с" msgid "Sync strategy" msgstr "Синхронизировать сертификат" -#: src/views/certificate/CertificateEditor.vue:198 +#: src/views/certificate/CertificateEditor.vue:205 msgid "Sync to" msgstr "Синхронизировать с" @@ -2302,7 +2361,7 @@ msgstr "Первоначальный пользователь системы" msgid "Target" msgstr "Цель" -#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:113 +#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:114 msgid "Terminal" msgstr "Терминал" @@ -2310,7 +2369,7 @@ msgstr "Терминал" msgid "Terminal Start Command" msgstr "Терминальная команда запуска" -#: src/views/site/cert/components/AutoCertStepOne.vue:50 +#: src/views/site/cert/components/AutoCertStepOne.vue:49 msgid "" "The certificate for the domain will be checked 30 minutes, and will be " "renewed if it has been more than 1 week or the period you set in settings " @@ -2320,44 +2379,63 @@ msgstr "" "более 1 недели или периода, установленного в настройках, с момента его " "последней выдачи." -#: src/views/other/Install.vue:50 +#: src/views/other/Install.vue:54 msgid "The filename cannot contain the following characters: %{c}" msgstr "The filename cannot contain the following characters: %{c}" -#: src/views/certificate/CertificateEditor.vue:208 +#: src/views/preference/BasicSettings.vue:54 +#, fuzzy +msgid "" +"The ICP Number should only contain letters, unicode, numbers, hyphens, " +"dashes, colons, and dots." +msgstr "" +"Имя модели должно содержать только буквы, юникод, цифры, дефисы, тире и " +"точки." + +#: src/views/certificate/CertificateEditor.vue:215 msgid "The input is not a SSL Certificate" msgstr "Входные данные не являются SSL-сертификатом" -#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:228 msgid "The input is not a SSL Certificate Key" msgstr "Введенные данные не являются ключом SSL сертификата" #: src/views/preference/OpenAISettings.vue:35 +#, fuzzy msgid "" "The model name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." +"dashes, colons, and dots." msgstr "" "Имя модели должно содержать только буквы, юникод, цифры, дефисы, тире и " "точки." -#: src/views/preference/BasicSettings.vue:45 +#: src/views/preference/BasicSettings.vue:33 #, fuzzy msgid "" "The node name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." +"dashes, colons, and dots." msgstr "" "Имя модели должно содержать только буквы, юникод, цифры, дефисы, тире и " "точки." -#: src/views/certificate/CertificateEditor.vue:173 +#: src/views/certificate/CertificateEditor.vue:180 msgid "The path exists, but the file is not a certificate" msgstr "Путь существует, но файл не является сертификатом" -#: src/views/certificate/CertificateEditor.vue:188 +#: src/views/certificate/CertificateEditor.vue:195 msgid "The path exists, but the file is not a private key" msgstr "Путь существует, но файл не является приватным ключом" -#: src/views/preference/components/TOTP.vue:112 +#: src/views/preference/BasicSettings.vue:66 +#, fuzzy +msgid "" +"The Public Security Number should only contain letters, unicode, numbers, " +"hyphens, dashes, colons, and dots." +msgstr "" +"Имя сервера должно содержать только буквы, юникод, цифры, дефисы, тире и " +"точки." + +#: src/views/preference/components/TOTP.vue:111 msgid "" "The recovery code is only displayed once, please save it in a safe place." msgstr "" @@ -2374,7 +2452,7 @@ msgstr "" "избежать потенциальных ошибок, пожалуйста, обновите удаленную версию Nginx " "UI до соответствия с локальной версией." -#: src/views/site/cert/components/AutoCertStepOne.vue:45 +#: src/views/site/cert/components/AutoCertStepOne.vue:44 msgid "" "The server_name in the current configuration must be the domain name you " "need to get the certificate, supportmultiple domains." @@ -2382,7 +2460,7 @@ msgstr "" "server_name в текущей конфигурации должен быть доменным именем, для которого " "вам нужно получить сертификат, поддержка нескольких доменов." -#: src/views/preference/BasicSettings.vue:33 +#: src/views/preference/BasicSettings.vue:42 #: src/views/preference/CertSettings.vue:19 msgid "The url is invalid" msgstr "URL недействителен" @@ -2396,17 +2474,17 @@ msgstr "URL недействителен." msgid "The username or password is incorrect" msgstr "Имя пользователя или пароль неверны" -#: src/views/certificate/CertificateEditor.vue:96 +#: src/views/certificate/CertificateEditor.vue:103 msgid "This Auto Cert item is invalid, please remove it." msgstr "Этот элемент автосертификата недействителен, удалите его.." -#: src/views/certificate/CertificateEditor.vue:86 +#: src/views/certificate/CertificateEditor.vue:93 msgid "This certificate is managed by Nginx UI" msgstr "Этот сертификат находится под управлением Nginx UI" -#: src/views/certificate/CertificateEditor.vue:157 -#: src/views/certificate/CertificateEditor.vue:171 -#: src/views/certificate/CertificateEditor.vue:186 +#: src/views/certificate/CertificateEditor.vue:164 +#: src/views/certificate/CertificateEditor.vue:178 +#: src/views/certificate/CertificateEditor.vue:193 msgid "This field is required" msgstr "Это поле обязательно для заполнения" @@ -2437,12 +2515,12 @@ msgstr "" msgid "This value is already taken" msgstr "" -#: src/views/environment/BatchUpgrader.vue:184 +#: src/views/environment/BatchUpgrader.vue:185 msgid "" "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}." msgstr "" -"Это обновит или переустановит интерфейс Nginx на %{nodeNames} до версии " -"%{version}." +"Это обновит или переустановит интерфейс Nginx на %{nodeNames} до версии %" +"{version}." #: src/views/preference/AuthSettings.vue:98 msgid "Throttle" @@ -2458,7 +2536,7 @@ msgstr "Советы" msgid "Title" msgstr "Заголовок" -#: src/views/preference/components/TOTP.vue:93 +#: src/views/preference/components/TOTP.vue:92 msgid "" "To enable it, you need to install the Google or Microsoft Authenticator app " "on your mobile phone." @@ -2487,23 +2565,30 @@ msgstr "" #: src/views/preference/OpenAISettings.vue:48 msgid "" -"To use a local large model, deploy it with vllm or imdeploy. They provide an " -"OpenAI-compatible API endpoint, so just set the baseUrl to your local API." +"To use a local large model, deploy it with ollama, vllm or imdeploy. They " +"provide an OpenAI-compatible API endpoint, so just set the baseUrl to your " +"local API." msgstr "" #: src/views/preference/OpenAISettings.vue:72 msgid "Token is not valid" msgstr "Токен недействителен" -#: src/views/other/Login.vue:80 +#: src/views/other/Login.vue:81 msgid "Too many login failed attempts, please try again later" msgstr "Слишком много неудачных попыток входа, попробуйте позже" -#: src/views/preference/components/TOTP.vue:91 +#: src/components/StdDesign/StdDataDisplay/StdPagination.vue:40 +msgid "Total %{total} item" +msgid_plural "Total %{total} items" +msgstr[0] "" +msgstr[1] "" + +#: src/views/preference/components/TOTP.vue:90 msgid "TOTP" msgstr "" -#: src/views/preference/components/TOTP.vue:92 +#: src/views/preference/components/TOTP.vue:91 msgid "" "TOTP is a two-factor authentication method that uses a time-based one-time " "password algorithm." @@ -2511,11 +2596,11 @@ msgstr "" "TOTP — это метод двухфакторной аутентификации, который использует алгоритм " "одноразового пароля на основе времени." -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:202 msgid "Trash" msgstr "Корзина" -#: src/components/TwoFA/use2FAModal.ts:66 +#: src/components/TwoFA/use2FAModal.ts:67 msgid "Two-factor authentication required" msgstr "Требуется двухфакторная аутентификация" @@ -2532,26 +2617,26 @@ msgstr "Успешно обновлено" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:275 +#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:278 #: src/views/environment/envColumns.tsx:119 #: src/views/site/site_category/columns.ts:20 #: src/views/site/site_edit/RightSettings.vue:100 -#: src/views/site/site_list/columns.tsx:64 +#: src/views/site/site_list/columns.tsx:67 #: src/views/stream/components/RightSettings.vue:85 #: src/views/stream/StreamList.vue:41 src/views/user/userColumns.tsx:54 msgid "Updated at" msgstr "Обновлено в" -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:123 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:121 msgid "Updated successfully" msgstr "Успешно обновлено" #: src/routes/index.ts:290 src/views/environment/Environment.vue:55 -#: src/views/system/Upgrade.vue:144 src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228 msgid "Upgrade" msgstr "Обновление" -#: src/views/environment/BatchUpgrader.vue:139 +#: src/views/environment/BatchUpgrader.vue:140 msgid "Upgraded Nginx UI on %{node} successfully 🎉" msgstr "Интерфейс Nginx на %{node} успешно обновлен 🎉" @@ -2559,15 +2644,15 @@ msgstr "Интерфейс Nginx на %{node} успешно обновлен msgid "Upgraded successfully" msgstr "Обновлено успешно" -#: src/views/environment/BatchUpgrader.vue:90 src/views/system/Upgrade.vue:78 +#: src/views/environment/BatchUpgrader.vue:91 src/views/system/Upgrade.vue:79 msgid "Upgrading Nginx UI, please wait..." msgstr "Обновление Nginx UI, подождите..." -#: src/views/site/ngx_conf/NgxUpstream.vue:170 +#: src/views/site/ngx_conf/NgxUpstream.vue:172 msgid "Upstream Name" msgstr "Имя Upstream" -#: src/views/dashboard/ServerAnalytic.vue:172 +#: src/views/dashboard/ServerAnalytic.vue:183 msgid "Uptime:" msgstr "Аптайм:" @@ -2587,15 +2672,15 @@ msgstr "Использовать код восстановления" msgid "User" msgstr "Пользователь" -#: src/views/other/Login.vue:83 +#: src/views/other/Login.vue:84 msgid "User is banned" msgstr "Пользователь заблокирован" -#: src/views/other/Login.vue:196 src/views/user/userColumns.tsx:9 +#: src/views/other/Login.vue:197 src/views/user/userColumns.tsx:9 msgid "Username" msgstr "Имя пользователя" -#: src/views/other/Install.vue:96 +#: src/views/other/Install.vue:100 msgid "Username (*)" msgstr "Имя пользователя (*)" @@ -2609,20 +2694,20 @@ msgstr "Действительный" msgid "Version" msgstr "Версия" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:506 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:494 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:103 msgid "View" msgstr "Просмотр" -#: src/components/Notification/Notification.vue:143 +#: src/components/Notification/Notification.vue:192 msgid "View all notifications" msgstr "Просмотреть все уведомления" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 msgid "View Details" msgstr "Подробно" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 #, fuzzy msgid "View Mode" msgstr "Простой режим" @@ -2642,7 +2727,7 @@ msgstr "" "Мы добавим одну или несколько записей TXT в DNS записи вашего домена " "дляподтверждение права собственности" -#: src/views/site/cert/components/ObtainCert.vue:134 +#: src/views/site/cert/components/ObtainCert.vue:137 msgid "" "We will remove the HTTPChallenge configuration from this file and reload the " "Nginx. Are you sure you want to continue?" @@ -2667,8 +2752,8 @@ msgid "" "site category and the nodes selected below will be synchronized." msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:366 +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:377 msgid "Writes" msgstr "Запись" @@ -2687,11 +2772,11 @@ msgstr "Запись сертификата на диск" msgid "Yes" msgstr "Да" -#: src/views/system/Upgrade.vue:203 +#: src/views/system/Upgrade.vue:204 msgid "You are using the latest version" msgstr "Вы используете последнюю версию" -#: src/views/system/Upgrade.vue:165 +#: src/views/system/Upgrade.vue:166 msgid "You can check Nginx UI upgrade at this page." msgstr "Вы можете проверить обновление Nginx UI на этой странице." @@ -2718,13 +2803,6 @@ msgstr "" #~ msgid "Server Name" #~ msgstr "Имя сервера" -#~ msgid "" -#~ "The server name should only contain letters, unicode, numbers, hyphens, " -#~ "dashes, and dots." -#~ msgstr "" -#~ "Имя сервера должно содержать только буквы, юникод, цифры, дефисы, тире и " -#~ "точки." - #~ msgid "Enable 2FA" #~ msgstr "Включить 2ФА" diff --git a/app/src/language/tr_TR/app.po b/app/src/language/tr_TR/app.po index a407d99a..c0c22946 100644 --- a/app/src/language/tr_TR/app.po +++ b/app/src/language/tr_TR/app.po @@ -24,7 +24,7 @@ msgstr "2FA Ayarları" msgid "About" msgstr "Hakkında" -#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:76 +#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:75 msgid "Access Logs" msgstr "Erişim Günlükleri" @@ -41,17 +41,17 @@ msgstr "ACME Kullanıcısı" #: src/views/notification/notificationColumns.tsx:62 #: src/views/preference/AuthSettings.vue:26 #: src/views/site/site_category/columns.ts:26 -#: src/views/site/site_list/columns.tsx:70 src/views/stream/StreamList.vue:47 +#: src/views/site/site_list/columns.tsx:74 src/views/stream/StreamList.vue:47 #: src/views/user/userColumns.tsx:60 msgid "Action" msgstr "Eylem" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:177 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:209 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:191 #: src/views/preference/CertSettings.vue:42 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:117 #: src/views/site/ngx_conf/NgxServer.vue:162 -#: src/views/site/ngx_conf/NgxUpstream.vue:152 +#: src/views/site/ngx_conf/NgxUpstream.vue:154 #: src/views/stream/StreamList.vue:121 msgid "Add" msgstr "Ekle" @@ -61,8 +61,8 @@ msgstr "Ekle" msgid "Add a passkey" msgstr "Geçiş anahtarı ekleme" -#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:143 -#: src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:146 +#: src/views/config/ConfigEditor.vue:206 msgid "Add Configuration" msgstr "Yapılandırma Ekle" @@ -91,7 +91,7 @@ msgstr "Başarıyla eklendi" msgid "Additional" msgstr "İlave bilgi" -#: src/views/site/site_edit/SiteEdit.vue:191 +#: src/views/site/site_edit/SiteEdit.vue:205 #: src/views/stream/StreamEdit.vue:189 msgid "Advance Mode" msgstr "Gelişmiş Mod" @@ -101,7 +101,8 @@ msgid "Afterwards, refresh this page and click add passkey again." msgstr "" "Daha sonra, bu sayfayı yenileyin ve tekrar geçiş anahtarı ekle'ye tıklayın." -#: src/views/site/site_list/SiteList.vue:101 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:425 +#: src/views/site/site_list/SiteList.vue:102 msgid "All" msgstr "" @@ -121,7 +122,21 @@ msgstr "API Proxy" msgid "API Token" msgstr "API Token" -#: src/views/system/Upgrade.vue:177 +#: src/views/preference/OpenAISettings.vue:78 +#, fuzzy +msgid "API Type" +msgstr "API Token" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:105 +msgid "Apply" +msgstr "" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:67 +#, fuzzy +msgid "Apply bulk action successfully" +msgstr "Başarıyla kopyalandı" + +#: src/views/system/Upgrade.vue:178 msgid "Arch" msgstr "Mimari" @@ -133,7 +148,12 @@ msgstr "Bu yasaklı IP'yi hemen sileceğinizden emin misiniz?" msgid "Are you sure to delete this passkey immediately?" msgstr "Bu geçiş anahtarını hemen silmek istediğinizden emin misiniz?" -#: src/components/Notification/Notification.vue:86 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:98 +#, fuzzy +msgid "Are you sure you want to apply to all selected?" +msgstr "Silmek istediğine emin misin?" + +#: src/components/Notification/Notification.vue:135 #: src/views/notification/Notification.vue:40 msgid "Are you sure you want to clear all notifications?" msgstr "Tüm bildirimleri temizlemek istediğinizden emin misiniz?" @@ -142,20 +162,20 @@ msgstr "Tüm bildirimleri temizlemek istediğinizden emin misiniz?" msgid "Are you sure you want to clear the record of chat?" msgstr "Sohbet kaydını silmek istediğinizden emin misiniz?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:564 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:552 msgid "Are you sure you want to delete this item permanently?" msgstr "Bu öğeyi kalıcı olarak silmek istediğinizden emin misiniz?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:523 msgid "Are you sure you want to delete this item?" msgstr "Bu öğeyi silmek istediğinizden emin misiniz?" -#: src/views/site/site_list/SiteList.vue:149 +#: src/views/site/site_list/SiteList.vue:150 #: src/views/stream/StreamList.vue:166 msgid "Are you sure you want to delete?" msgstr "Silmek istediğine emin misin?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:549 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:537 msgid "Are you sure you want to recover this item?" msgstr "Bu öğeyi kurtarmak istediğinizden emin misiniz?" @@ -183,7 +203,7 @@ msgstr "Asistan" msgid "Attempts" msgstr "Girişimler" -#: src/views/preference/Preference.vue:152 +#: src/views/preference/Preference.vue:154 msgid "Auth" msgstr "Kimlik Doğrulama" @@ -200,22 +220,22 @@ msgstr "Kimlik Doğrulama Ayarları" msgid "Author" msgstr "Yazar" -#: src/views/nginx_log/NginxLog.vue:151 +#: src/views/nginx_log/NginxLog.vue:152 msgid "Auto Refresh" msgstr "Otomatik Yenileme" -#: src/views/site/cert/components/ObtainCert.vue:75 +#: src/views/site/cert/components/ObtainCert.vue:80 msgid "Auto-renewal disabled for %{name}" msgstr "Otomatik yenileme %{name} için devre dışı" -#: src/views/site/cert/components/ObtainCert.vue:68 +#: src/views/site/cert/components/ObtainCert.vue:73 msgid "Auto-renewal enabled for %{name}" msgstr "Otomatik yenileme %{name} için etkinleştirildi" -#: src/views/certificate/CertificateEditor.vue:249 -#: src/views/config/ConfigEditor.vue:213 src/views/config/ConfigList.vue:107 -#: src/views/config/ConfigList.vue:181 src/views/nginx_log/NginxLog.vue:172 -#: src/views/site/site_edit/SiteEdit.vue:249 +#: src/views/certificate/CertificateEditor.vue:256 +#: src/views/config/ConfigEditor.vue:215 src/views/config/ConfigList.vue:106 +#: src/views/config/ConfigList.vue:180 src/views/nginx_log/NginxLog.vue:173 +#: src/views/site/site_edit/SiteEdit.vue:264 #: src/views/stream/StreamEdit.vue:245 msgid "Back" msgstr "Geri" @@ -224,7 +244,7 @@ msgstr "Geri" msgid "Back Home" msgstr "Ana Sayfaya Dön" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:222 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211 msgid "Back to list" msgstr "Listeye geri dön" @@ -244,24 +264,29 @@ msgstr "Şu Zamana Kadar Yasaklı" msgid "Base information" msgstr "Temel bilgiler" -#: src/views/config/ConfigEditor.vue:241 -#: src/views/preference/Preference.vue:146 +#: src/views/config/ConfigEditor.vue:243 +#: src/views/preference/Preference.vue:148 #: src/views/site/site_edit/RightSettings.vue:79 #: src/views/stream/components/RightSettings.vue:74 msgid "Basic" msgstr "Temel" -#: src/views/site/site_edit/SiteEdit.vue:194 +#: src/views/site/site_edit/SiteEdit.vue:208 #: src/views/stream/StreamEdit.vue:192 msgid "Basic Mode" msgstr "Temel Mod" +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:85 +#, fuzzy +msgid "Batch Actions" +msgstr "Eylem" + #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:66 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:474 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:454 msgid "Batch Modify" msgstr "Toplu Değiştirme" -#: src/views/environment/BatchUpgrader.vue:154 +#: src/views/environment/BatchUpgrader.vue:155 msgid "Batch Upgrade" msgstr "Toplu Yükseltme" @@ -281,18 +306,19 @@ msgstr "CA Dizini" msgid "CADir" msgstr "CADizini" -#: src/views/preference/components/TOTP.vue:151 +#: src/views/preference/components/TOTP.vue:150 msgid "Can't scan? Use text key binding" msgstr "Tarayamıyor musunuz? Metin anahtar bağlamasını kullanın" #: src/components/ChatGPT/ChatGPT.vue:260 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:261 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:251 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:180 +#: src/components/StdDesign/StdDetail/StdDetail.vue:101 #: src/views/preference/components/Passkey.vue:147 -#: src/views/site/cert/components/ObtainCert.vue:137 +#: src/views/site/cert/components/ObtainCert.vue:140 #: src/views/site/ngx_conf/NgxConfigEditor.vue:51 #: src/views/site/ngx_conf/NgxServer.vue:80 -#: src/views/site/ngx_conf/NgxUpstream.vue:33 +#: src/views/site/ngx_conf/NgxUpstream.vue:34 #: src/views/site/site_edit/RightSettings.vue:55 #: src/views/stream/components/Deploy.vue:20 #: src/views/stream/components/RightSettings.vue:51 @@ -300,11 +326,11 @@ msgid "Cancel" msgstr "İptal" #: src/views/site/site_edit/RightSettings.vue:91 -#: src/views/site/site_list/columns.tsx:22 +#: src/views/site/site_list/columns.tsx:23 msgid "Category" msgstr "" -#: src/views/preference/Preference.vue:158 +#: src/views/preference/Preference.vue:160 msgid "Cert" msgstr "" @@ -312,7 +338,7 @@ msgstr "" msgid "Certificate Renewal Interval" msgstr "Sertifika Yenileme Aralığı" -#: src/views/certificate/CertificateEditor.vue:122 +#: src/views/certificate/CertificateEditor.vue:129 #: src/views/site/cert/Cert.vue:32 msgid "Certificate Status" msgid_plural "Certificates Status" @@ -328,7 +354,7 @@ msgstr "Sertifikalar" msgid "Certificates List" msgstr "Sertifika Listesi" -#: src/views/site/cert/components/AutoCertStepOne.vue:67 +#: src/views/site/cert/components/AutoCertStepOne.vue:66 msgid "Challenge Method" msgstr "Doğrulama Yöntemi" @@ -343,15 +369,15 @@ msgid_plural "Changed Certificates" msgstr[0] "Değişen Sertifika" msgstr[1] "Değişen Sertifikalar" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 msgid "Changed Path" msgstr "Değişen Dosya Yolu" -#: src/views/environment/BatchUpgrader.vue:161 src/views/system/Upgrade.vue:189 +#: src/views/environment/BatchUpgrader.vue:162 src/views/system/Upgrade.vue:190 msgid "Channel" msgstr "Kanal" -#: src/views/system/Upgrade.vue:186 +#: src/views/system/Upgrade.vue:187 msgid "Check again" msgstr "Tekrar kontrol et" @@ -360,12 +386,12 @@ msgid "Cleaning environment variables" msgstr "Ortam değişkenlerini temizleme" #: src/components/ChatGPT/ChatGPT.vue:283 -#: src/components/Notification/Notification.vue:91 +#: src/components/Notification/Notification.vue:140 #: src/views/notification/Notification.vue:45 msgid "Clear" msgstr "Temizle" -#: src/components/Notification/Notification.vue:42 +#: src/components/Notification/Notification.vue:90 #: src/views/notification/Notification.vue:13 msgid "Cleared successfully" msgstr "Başarıyla temizlendi" @@ -393,7 +419,7 @@ msgstr "Yapılandırma dosyası başarıyla test edildi" msgid "Configuration Name" msgstr "Yapılandırma Adı" -#: src/views/config/ConfigList.vue:99 +#: src/views/config/ConfigList.vue:98 msgid "Configurations" msgstr "Yapılandırmalar" @@ -405,7 +431,7 @@ msgstr "SSL'yi Yapılandırma" msgid "Connected" msgstr "Bağlandı" -#: src/views/terminal/Terminal.vue:119 +#: src/views/terminal/Terminal.vue:120 msgid "Connection lost, please refresh the page." msgstr "Bağlantı kesildi, lütfen sayfayı yenileyin." @@ -415,27 +441,28 @@ msgstr "Bağlantı kesildi, lütfen sayfayı yenileyin." msgid "Content" msgstr "İçerik" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 +#: src/components/StdDesign/StdDataDisplay/StdTableTransformer.tsx:150 msgid "Copied" msgstr "Kopyalandı" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 msgid "Copy" msgstr "Kopya" -#: src/views/system/Upgrade.vue:147 +#: src/views/system/Upgrade.vue:148 msgid "Core Upgrade" msgstr "Çekirdek Yükseltme" -#: src/views/dashboard/ServerAnalytic.vue:294 +#: src/views/dashboard/ServerAnalytic.vue:305 msgid "CPU Status" msgstr "CPU Durumu" -#: src/views/dashboard/ServerAnalytic.vue:188 +#: src/views/dashboard/ServerAnalytic.vue:199 msgid "CPU:" msgstr "CPU:" -#: src/views/site/ngx_conf/NgxUpstream.vue:163 +#: src/views/site/ngx_conf/NgxUpstream.vue:165 msgid "Create" msgstr "Oluştur" @@ -443,11 +470,11 @@ msgstr "Oluştur" msgid "Create Another" msgstr "Bir Başka Oluştur" -#: src/views/config/ConfigList.vue:117 +#: src/views/config/ConfigList.vue:116 msgid "Create File" msgstr "Dosya Oluştur" -#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:124 +#: src/views/config/components/Mkdir.vue:49 src/views/config/ConfigList.vue:123 msgid "Create Folder" msgstr "Klasör Ekle" @@ -457,7 +484,7 @@ msgstr "Klasör Ekle" msgid "Created at" msgstr "Oluşturulma Tarihi" -#: src/views/config/components/Mkdir.vue:33 +#: src/views/config/components/Mkdir.vue:35 msgid "Created successfully" msgstr "Başarıyla oluşturuldu" @@ -473,15 +500,15 @@ msgstr "Kimlik bilgisi" msgid "Credentials" msgstr "Kimlik bilgileri" -#: src/views/preference/components/TOTP.vue:99 +#: src/views/preference/components/TOTP.vue:98 msgid "Current account is enabled TOTP." msgstr "Mevcut hesap için TOTP etkinleştirildi." -#: src/views/preference/components/TOTP.vue:96 +#: src/views/preference/components/TOTP.vue:95 msgid "Current account is not enabled TOTP." msgstr "Mevcut hesap için TOTP etkin değil." -#: src/views/system/Upgrade.vue:166 +#: src/views/system/Upgrade.vue:167 msgid "Current Version" msgstr "Mevcut sürüm" @@ -490,19 +517,19 @@ msgstr "Mevcut sürüm" msgid "Custom" msgstr "Özelleştirilmiş" -#: src/views/preference/BasicSettings.vue:46 +#: src/views/preference/BasicSettings.vue:34 #, fuzzy msgid "" "Customize the name of local node to be displayed in the environment " "indicator." msgstr "Ortam göstergesinde görüntülenecek yerel sunucu adını özelleştirin." -#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:133 -#: src/views/config/ConfigEditor.vue:94 src/views/config/ConfigList.vue:65 +#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:136 +#: src/views/config/ConfigEditor.vue:97 src/views/config/ConfigList.vue:64 msgid "Dashboard" msgstr "Kontrol Paneli" -#: src/views/other/Install.vue:117 +#: src/views/other/Install.vue:121 msgid "Database (Optional, default: database)" msgstr "Veritabanı (İsteğe bağlı, varsayılan: database)" @@ -510,15 +537,17 @@ msgstr "Veritabanı (İsteğe bağlı, varsayılan: database)" msgid "Days" msgstr "Günler" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:542 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:530 #: src/views/site/ngx_conf/NgxServer.vue:110 -#: src/views/site/ngx_conf/NgxUpstream.vue:126 -#: src/views/site/site_list/SiteList.vue:158 +#: src/views/site/ngx_conf/NgxUpstream.vue:128 +#: src/views/site/site_list/SiteList.vue:159 #: src/views/stream/StreamList.vue:175 msgid "Delete" msgstr "Sil" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:571 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:35 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:559 msgid "Delete Permanently" msgstr "Kalıcı Olarak Sil" @@ -532,7 +561,7 @@ msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" msgid "Delete Remote Site Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" -#: src/views/site/site_list/SiteList.vue:68 +#: src/views/site/site_list/SiteList.vue:69 msgid "Delete site: %{site_name}" msgstr "Siteyi sil: %{site_name}" @@ -540,11 +569,11 @@ msgstr "Siteyi sil: %{site_name}" msgid "Delete stream: %{stream_name}" msgstr "Akışı sil: %{stream_name}" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:196 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:183 msgid "Deleted successfully" msgstr "Başarıyla silindi" -#: src/views/config/ConfigEditor.vue:284 +#: src/views/config/ConfigEditor.vue:287 #: src/views/stream/components/Deploy.vue:100 #: src/views/stream/components/RightSettings.vue:92 msgid "Deploy" @@ -588,12 +617,12 @@ msgstr "Yönergeler" msgid "Directory" msgstr "Dizin" -#: src/views/site/site_list/SiteList.vue:127 +#: src/views/site/site_list/SiteList.vue:128 #: src/views/stream/StreamList.vue:144 msgid "Disable" msgstr "Devre Dışı" -#: src/views/site/cert/components/ObtainCert.vue:77 +#: src/views/site/cert/components/ObtainCert.vue:82 msgid "Disable auto-renewal failed for %{name}" msgstr "%{name} için otomatik yenilemeyi devre dışı bırakma başarısız oldu" @@ -623,21 +652,21 @@ msgstr "" #: src/views/environment/envColumns.tsx:109 #: src/views/environment/envColumns.tsx:92 -#: src/views/site/site_edit/SiteEdit.vue:177 -#: src/views/site/site_list/columns.tsx:49 -#: src/views/site/site_list/columns.tsx:58 src/views/stream/StreamEdit.vue:175 +#: src/views/site/site_edit/SiteEdit.vue:190 +#: src/views/site/site_list/columns.tsx:51 +#: src/views/site/site_list/columns.tsx:60 src/views/stream/StreamEdit.vue:175 #: src/views/stream/StreamList.vue:33 src/views/user/userColumns.tsx:41 msgid "Disabled" msgstr "Devre dışı" #: src/views/site/site_edit/RightSettings.vue:42 -#: src/views/site/site_list/SiteList.vue:57 +#: src/views/site/site_list/SiteList.vue:58 #: src/views/stream/components/RightSettings.vue:38 #: src/views/stream/StreamList.vue:67 msgid "Disabled successfully" msgstr "Başarıyla devre dışı bırakıldı" -#: src/views/dashboard/ServerAnalytic.vue:359 +#: src/views/dashboard/ServerAnalytic.vue:370 msgid "Disk IO" msgstr "Disk IO" @@ -650,11 +679,11 @@ msgstr "DNS Kimlik Bilgileri" msgid "DNS Provider" msgstr "DNS Sağlayıcısı" -#: src/views/site/cert/components/AutoCertStepOne.vue:74 +#: src/views/site/cert/components/AutoCertStepOne.vue:73 msgid "DNS01" msgstr "DNS01" -#: src/views/site/cert/components/AutoCertStepOne.vue:99 +#: src/views/site/cert/components/AutoCertStepOne.vue:98 msgid "Do not enable this option unless you are sure that you need it." msgstr "Bu seçeneği, ihtiyacınız olduğundan emin olmadıkça etkinleştirmeyin." @@ -664,7 +693,7 @@ msgid_plural "Do you want to deploy this file to remote servers?" msgstr[0] "Bu dosyayı uzak sunucuya dağıtmak istiyor musunuz?" msgstr[1] "Bu dosyayı uzak sunuculara dağıtmak istiyor musunuz?" -#: src/views/site/cert/components/ObtainCert.vue:133 +#: src/views/site/cert/components/ObtainCert.vue:136 msgid "Do you want to disable auto-cert renewal?" msgstr "Otomatik sertifika yenilemeyi devre dışı bırakmak istiyor musunuz?" @@ -692,7 +721,7 @@ msgstr "TLS'yi etkinleştirmek istiyor musunuz?" msgid "Do you want to remove this server?" msgstr "Bu sunucuyu kaldırmak istiyor musunuz?" -#: src/views/site/ngx_conf/NgxUpstream.vue:29 +#: src/views/site/ngx_conf/NgxUpstream.vue:30 msgid "Do you want to remove this upstream?" msgstr "Bu upstream'i kaldırmak istiyor musunuz?" @@ -704,7 +733,7 @@ msgstr "Alan Adı" msgid "Domain Config Created Successfully" msgstr "Alan Adı Yapılandırması Başarıyla Oluşturuldu" -#: src/views/certificate/CertificateEditor.vue:106 +#: src/views/certificate/CertificateEditor.vue:113 msgid "Domains list is empty, try to reopen Auto Cert for %{config}" msgstr "" "Alan adları listesi boş, %{config} için Otomatik Sertifikayı yeniden açmayı " @@ -718,7 +747,7 @@ msgstr "En son sürümü indirme hatası" msgid "Downloading latest release" msgstr "En son sürüm indiriliyor" -#: src/views/environment/BatchUpgrader.vue:190 src/views/system/Upgrade.vue:216 +#: src/views/environment/BatchUpgrader.vue:191 src/views/system/Upgrade.vue:217 msgid "Dry run mode enabled" msgstr "Deneme modu etkinleştirildi(Dry-run)" @@ -732,7 +761,7 @@ msgstr "" "kullanamazsınız." #: src/views/site/site_list/SiteDuplicate.vue:74 -#: src/views/site/site_list/SiteList.vue:143 +#: src/views/site/site_list/SiteList.vue:144 #: src/views/stream/components/StreamDuplicate.vue:121 #: src/views/stream/StreamList.vue:160 msgid "Duplicate" @@ -755,12 +784,17 @@ msgstr "Başarıyla kopyalandı" msgid "Duplicate to local successfully" msgstr "Başarıyla yerel kopya oluşturuldu" -#: src/views/site/site_edit/SiteEdit.vue:166 +#: src/components/StdDesign/StdDetail/StdDetail.vue:110 +#, fuzzy +msgid "Edit" +msgstr "Düzenle %{n}" + +#: src/views/site/site_edit/SiteEdit.vue:179 #: src/views/stream/StreamEdit.vue:164 msgid "Edit %{n}" msgstr "Düzenle %{n}" -#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:206 msgid "Edit Configuration" msgstr "Yapılandırmayı Düzenle" @@ -776,11 +810,11 @@ msgstr "Akışı Düzenle" msgid "Email" msgstr "E-posta" -#: src/views/other/Install.vue:86 +#: src/views/other/Install.vue:90 msgid "Email (*)" msgstr "E-posta(*)" -#: src/views/site/site_list/SiteList.vue:135 +#: src/views/site/site_list/SiteList.vue:136 #: src/views/stream/components/Deploy.vue:80 #: src/views/stream/StreamList.vue:152 msgid "Enable" @@ -798,11 +832,11 @@ msgstr "" "%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarılı " "oldu" -#: src/views/preference/components/TOTP.vue:55 +#: src/views/preference/components/TOTP.vue:54 msgid "Enable 2FA successfully" msgstr "2FA'yı başarıyla etkinleştirildi" -#: src/views/site/cert/components/ObtainCert.vue:70 +#: src/views/site/cert/components/ObtainCert.vue:75 msgid "Enable auto-renewal failed for %{name}" msgstr "%{name} için otomatik yenilemeyi etkinleştirme başarısız oldu" @@ -842,7 +876,7 @@ msgstr "Başarıyla etkinleştirildi" msgid "Enable TLS" msgstr "TLS'yi Etkinleştir" -#: src/views/preference/components/TOTP.vue:125 +#: src/views/preference/components/TOTP.vue:124 msgid "Enable TOTP" msgstr "TOTP'yi Etkinleştir" @@ -850,9 +884,9 @@ msgstr "TOTP'yi Etkinleştir" #: src/views/environment/envColumns.tsx:106 #: src/views/preference/LogrotateSettings.vue:19 #: src/views/site/site_edit/RightSettings.vue:82 -#: src/views/site/site_edit/SiteEdit.vue:171 -#: src/views/site/site_list/columns.tsx:45 -#: src/views/site/site_list/columns.tsx:57 +#: src/views/site/site_edit/SiteEdit.vue:184 +#: src/views/site/site_list/columns.tsx:47 +#: src/views/site/site_list/columns.tsx:59 #: src/views/stream/components/RightSettings.vue:76 #: src/views/stream/StreamEdit.vue:169 src/views/stream/StreamList.vue:29 #: src/views/user/userColumns.tsx:38 @@ -860,14 +894,14 @@ msgid "Enabled" msgstr "Etkin" #: src/views/site/site_edit/RightSettings.vue:33 -#: src/views/site/site_list/SiteList.vue:47 src/views/site/SiteAdd.vue:40 +#: src/views/site/site_list/SiteList.vue:48 src/views/site/SiteAdd.vue:40 #: src/views/stream/components/RightSettings.vue:29 #: src/views/stream/components/StreamDuplicate.vue:93 #: src/views/stream/StreamList.vue:57 msgid "Enabled successfully" msgstr "Başarıyla etkinleştirildi" -#: src/views/site/cert/IssueCert.vue:49 +#: src/views/site/cert/IssueCert.vue:48 msgid "Encrypt website with Let's Encrypt" msgstr "Let's Encrypt ile web sitesini şifreleyin" @@ -888,11 +922,11 @@ msgstr "Ortamlar" msgid "Error" msgstr "Hata" -#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:84 +#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:83 msgid "Error Logs" msgstr "Hata Günlükleri" -#: src/views/system/Upgrade.vue:178 +#: src/views/system/Upgrade.vue:179 msgid "Executable Path" msgstr "Yürütülebilir Dosya Yolu" @@ -905,7 +939,7 @@ msgstr "Süresi Doldu" msgid "Expired At: %{date}" msgstr "Son kullanma tarihi: %{date}" -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:66 msgid "Export" msgstr "Dışa Aktar" @@ -914,14 +948,14 @@ msgid "Fail to obtain certificate" msgstr "Sertifika alınamadı" #: src/views/site/site_edit/RightSettings.vue:45 -#: src/views/site/site_list/SiteList.vue:61 +#: src/views/site/site_list/SiteList.vue:62 #: src/views/stream/components/RightSettings.vue:41 #: src/views/stream/StreamList.vue:71 msgid "Failed to disable %{msg}" msgstr "Devre dışı bırakılamadı %{msg}" #: src/views/site/site_edit/RightSettings.vue:36 -#: src/views/site/site_list/SiteList.vue:51 +#: src/views/site/site_list/SiteList.vue:52 #: src/views/stream/components/RightSettings.vue:32 #: src/views/stream/StreamList.vue:61 msgid "Failed to enable %{msg}" @@ -931,7 +965,7 @@ msgstr "Etkinleştirilemedi %{msg}" msgid "Failed to get certificate information" msgstr "Sertifika bilgileri alınamadı" -#: src/views/site/site_edit/SiteEdit.vue:123 +#: src/views/site/site_edit/SiteEdit.vue:135 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." msgstr "Kaydedilemedi, yapılandırmada sözdizimi hatası(ları) tespit edildi." @@ -948,7 +982,7 @@ msgstr "Dosya zaten var" msgid "File Not Found" msgstr "Dosya Bulunamadı" -#: src/views/nginx_log/NginxLog.vue:154 +#: src/views/nginx_log/NginxLog.vue:155 msgid "Filter" msgstr "Filtre" @@ -964,19 +998,24 @@ msgstr "" "Geçiş anahtarı kayıt işlemini tamamlamak için iletişim kutusundaki " "talimatları izleyin." -#: src/views/preference/BasicSettings.vue:38 +#: src/views/preference/BasicSettings.vue:59 +#: src/views/preference/BasicSettings.vue:71 +msgid "For Chinese user" +msgstr "" + +#: src/views/preference/BasicSettings.vue:47 msgid "For Chinese user: https://mirror.ghproxy.com/" msgstr "Çinli kullanıcılar için: https://mirror.ghproxy.com/" -#: src/views/config/ConfigEditor.vue:216 +#: src/views/config/ConfigEditor.vue:218 msgid "Format Code" msgstr "Kodu Biçimlendir" -#: src/views/config/ConfigEditor.vue:183 +#: src/views/config/ConfigEditor.vue:185 msgid "Format error %{msg}" msgstr "Biçimlendirme hatası %{msg}" -#: src/views/config/ConfigEditor.vue:181 +#: src/views/config/ConfigEditor.vue:183 msgid "Format successfully" msgstr "Başarıyla biçimlendirildi" @@ -984,7 +1023,7 @@ msgstr "Başarıyla biçimlendirildi" msgid "General Certificate" msgstr "Genel Sertifika" -#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:52 +#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:55 msgid "Generate" msgstr "Oluştur" @@ -992,7 +1031,7 @@ msgstr "Oluştur" msgid "Generating private key for registering account" msgstr "Hesap kaydı için özel anahtar oluşturuluyor" -#: src/views/environment/BatchUpgrader.vue:179 src/views/system/Upgrade.vue:170 +#: src/views/environment/BatchUpgrader.vue:180 src/views/system/Upgrade.vue:171 msgid "Get release information error" msgstr "Sürüm bilgilerini alma hatası" @@ -1000,11 +1039,11 @@ msgstr "Sürüm bilgilerini alma hatası" msgid "Getting the certificate, please wait..." msgstr "Sertifika alınıyor, lütfen bekleyin..." -#: src/views/preference/BasicSettings.vue:30 +#: src/views/preference/BasicSettings.vue:39 msgid "Github Proxy" msgstr "Github Proxy" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Hide" msgstr "Gizle" @@ -1024,10 +1063,14 @@ msgstr "HTTP Sunucusu" msgid "HTTP Port" msgstr "HTTP bağlantı noktası" -#: src/views/site/cert/components/AutoCertStepOne.vue:71 +#: src/views/site/cert/components/AutoCertStepOne.vue:70 msgid "HTTP01" msgstr "HTTP01" +#: src/views/preference/BasicSettings.vue:51 +msgid "ICP Number" +msgstr "" + #: src/views/certificate/ACMEUser.vue:45 msgid "If left blank, the default CA Dir will be used." msgstr "Boş bırakılırsa, varsayılan CA Dir kullanılır." @@ -1041,7 +1084,7 @@ msgstr "" "yasaklama eşiği dakikaları içinde maksimum deneme sayısına ulaşırsa, IP " "adresi belirli bir süre için yasaklanacaktır." -#: src/views/preference/components/TOTP.vue:111 +#: src/views/preference/components/TOTP.vue:110 msgid "" "If you lose your mobile phone, you can use the recovery code to reset your " "2FA." @@ -1055,7 +1098,7 @@ msgstr "" "Tarayıcınız WebAuthn Passkey'i destekliyorsa, bir iletişim kutusu " "görüntülenecektir." -#: src/views/site/cert/components/AutoCertStepOne.vue:109 +#: src/views/site/cert/components/AutoCertStepOne.vue:108 msgid "" "If your domain has CNAME records and you cannot obtain certificates, you " "need to enable this option." @@ -1067,14 +1110,15 @@ msgstr "" msgid "Import" msgstr "İçe Aktar" -#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:86 msgid "Import Certificate" msgstr "Sertifika İçe Aktar" -#: src/views/other/Login.vue:77 +#: src/views/other/Login.vue:78 msgid "Incorrect username or password" msgstr "Kullanıcı adı veya şifre yanlış" +#: src/components/StdDesign/StdDetail/StdDetail.vue:81 #: src/constants/index.ts:18 src/views/notification/notificationColumns.tsx:29 msgid "Info" msgstr "Bilgi" @@ -1087,20 +1131,20 @@ msgstr "İlk çekirdek yükseltici hatası" msgid "Initialing core upgrader" msgstr "Çekirdek yükseltici başlatılıyor" -#: src/views/preference/components/TOTP.vue:158 +#: src/views/preference/components/TOTP.vue:157 msgid "Input the code from the app:" msgstr "Uygulamadan kodu girin:" #: src/components/TwoFA/Authorization.vue:87 -#: src/views/preference/components/TOTP.vue:171 +#: src/views/preference/components/TOTP.vue:170 msgid "Input the recovery code:" msgstr "Kurtarma kodunu girin:" -#: src/routes/index.ts:305 src/views/other/Install.vue:132 +#: src/routes/index.ts:305 src/views/other/Install.vue:136 msgid "Install" msgstr "Yükle" -#: src/views/other/Install.vue:63 +#: src/views/other/Install.vue:67 msgid "Install successfully" msgstr "Başarıyla yüklendi" @@ -1112,20 +1156,20 @@ msgstr "Aralık" msgid "Invalid" msgstr "Geçersiz" -#: src/views/other/Login.vue:87 +#: src/views/other/Login.vue:88 msgid "Invalid 2FA or recovery code" msgstr "Geçersiz 2FA veya kurtarma kodu" -#: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:250 +#: src/views/config/components/Rename.vue:66 +#: src/views/config/ConfigEditor.vue:252 msgid "Invalid filename" msgstr "Geçersiz dosya adı" -#: src/views/config/components/Mkdir.vue:57 +#: src/views/config/components/Mkdir.vue:59 msgid "Invalid folder name" msgstr "Geçersiz klasör adı" -#: src/components/TwoFA/use2FAModal.ts:60 +#: src/components/TwoFA/use2FAModal.ts:61 msgid "Invalid passcode or recovery code" msgstr "Geçersiz parola veya kurtarma kodu" @@ -1154,11 +1198,11 @@ msgid "Jwt Secret" msgstr "Jwt Secret" #: src/views/certificate/CertificateList/certColumns.tsx:62 -#: src/views/site/cert/components/AutoCertStepOne.vue:78 +#: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" msgstr "Anahtar Türü" -#: src/views/system/Upgrade.vue:180 +#: src/views/system/Upgrade.vue:181 msgid "Last checked at" msgstr "En son şu tarihte kontrol edildi" @@ -1183,12 +1227,12 @@ msgstr "Buna ihtiyacınız yoksa boş bırakın." msgid "Leave blank if you don't need this." msgstr "Buna ihtiyacınız yoksa boş bırakın." -#: src/views/certificate/CertificateEditor.vue:214 -#: src/views/certificate/CertificateEditor.vue:227 +#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:234 msgid "Leave blank will not change anything" msgstr "Boş bırakmak hiçbir şeyi değiştirmeyecektir" -#: src/views/site/cert/components/AutoCertStepOne.vue:106 +#: src/views/site/cert/components/AutoCertStepOne.vue:105 msgid "Lego disable CNAME Support" msgstr "Lego CNAME desteğini devre dışı bırak" @@ -1201,11 +1245,11 @@ msgstr "Lisans" msgid "Link Start" msgstr "Bağlantı Başlat" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:199 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:178 msgid "List" msgstr "Liste" -#: src/views/dashboard/ServerAnalytic.vue:176 +#: src/views/dashboard/ServerAnalytic.vue:187 msgid "Load Average:" msgstr "Yük Ortalaması:" @@ -1218,7 +1262,7 @@ msgid "Load successfully" msgstr "Başarıyla yüklendi" #: src/components/EnvIndicator/EnvIndicator.vue:39 -#: src/components/NodeSelector/NodeSelector.vue:70 +#: src/components/NodeSelector/NodeSelector.vue:80 msgid "Local" msgstr "Yerel" @@ -1230,23 +1274,23 @@ msgstr "Konum" msgid "Locations" msgstr "Konumlar" -#: src/views/certificate/CertificateEditor.vue:237 +#: src/views/certificate/CertificateEditor.vue:244 msgid "Log" msgstr "Günlük" -#: src/routes/index.ts:311 src/views/other/Login.vue:245 +#: src/routes/index.ts:311 src/views/other/Login.vue:246 msgid "Login" msgstr "Giriş" -#: src/views/other/Login.vue:131 src/views/other/Login.vue:64 +#: src/views/other/Login.vue:132 src/views/other/Login.vue:65 msgid "Login successful" msgstr "Giriş Başarılı" -#: src/layouts/HeaderLayout.vue:19 +#: src/layouts/HeaderLayout.vue:20 msgid "Logout successful" msgstr "Çıkış başarılı" -#: src/views/preference/Preference.vue:176 +#: src/views/preference/Preference.vue:178 msgid "Logrotate" msgstr "Logrotate" @@ -1266,7 +1310,7 @@ msgstr "" "etkinleştirebilir. Nginx UI'nin crontab görev zamanlayıcısı, belirlediğiniz " "dakika aralığında logrotate komutunu çalıştıracaktır." -#: src/views/site/cert/components/AutoCertStepOne.vue:54 +#: src/views/site/cert/components/AutoCertStepOne.vue:53 #, fuzzy msgid "" "Make sure you have configured a reverse proxy for .well-known directory to " @@ -1275,13 +1319,13 @@ msgstr "" "Sertifikayı almadan önce .well-known dizini için HTTPChallengePort'a bir " "ters proxy yapılandırdığınızdan emin olun." -#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:138 -#: src/views/config/ConfigEditor.vue:99 src/views/config/ConfigList.vue:70 +#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:102 +#: src/views/config/ConfigEditor.vue:141 src/views/config/ConfigList.vue:69 #, fuzzy msgid "Manage Configs" msgstr "Yapılandırmaları Yönet" -#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:97 +#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:98 #, fuzzy msgid "Manage Sites" msgstr "Siteleri Yönet" @@ -1306,13 +1350,13 @@ msgstr "Yönetilen Sertifika" msgid "Max Attempts" msgstr "Maksimum Deneme" -#: src/views/dashboard/ServerAnalytic.vue:215 -#: src/views/dashboard/ServerAnalytic.vue:216 +#: src/views/dashboard/ServerAnalytic.vue:226 +#: src/views/dashboard/ServerAnalytic.vue:227 #, fuzzy msgid "Memory" msgstr "Hafıza" -#: src/views/dashboard/ServerAnalytic.vue:205 +#: src/views/dashboard/ServerAnalytic.vue:216 #, fuzzy msgid "Memory and Storage" msgstr "Bellek ve Depolama" @@ -1328,14 +1372,14 @@ msgid "Model" msgstr "Model" #: src/components/ChatGPT/ChatGPT.vue:256 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:520 -#: src/views/config/ConfigList.vue:159 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:508 +#: src/views/config/ConfigList.vue:158 #, fuzzy msgid "Modify" msgstr "Değiştir" -#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:86 #, fuzzy msgid "Modify Certificate" msgstr "Sertifika Değiştirme" @@ -1345,7 +1389,7 @@ msgstr "Sertifika Değiştirme" msgid "Modify Config" msgstr "Yapılandırmayı Değiştir" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 #, fuzzy msgid "Modify Mode" msgstr "Mod Değiştir" @@ -1356,13 +1400,13 @@ msgid "Multi-line Directive" msgstr "Çok Hatlı Direktif" #: src/views/certificate/ACMEUser.vue:13 -#: src/views/certificate/CertificateEditor.vue:154 +#: src/views/certificate/CertificateEditor.vue:161 #: src/views/certificate/CertificateList/certColumns.tsx:10 #: src/views/certificate/DNSCredential.vue:11 -#: src/views/config/components/Mkdir.vue:64 src/views/config/configColumns.ts:8 -#: src/views/config/ConfigEditor.vue:256 src/views/environment/envColumns.tsx:9 +#: src/views/config/components/Mkdir.vue:66 src/views/config/configColumns.ts:8 +#: src/views/config/ConfigEditor.vue:258 src/views/environment/envColumns.tsx:9 #: src/views/preference/components/AddPasskey.vue:81 -#: src/views/site/ngx_conf/NgxUpstream.vue:175 +#: src/views/site/ngx_conf/NgxUpstream.vue:177 #: src/views/site/site_category/columns.ts:7 #: src/views/site/site_edit/RightSettings.vue:88 #: src/views/site/site_list/columns.tsx:13 @@ -1374,49 +1418,49 @@ msgstr "Çok Hatlı Direktif" msgid "Name" msgstr "İsim" -#: src/views/dashboard/ServerAnalytic.vue:320 +#: src/views/dashboard/ServerAnalytic.vue:331 #, fuzzy msgid "Network" msgstr "Ağ" -#: src/views/dashboard/ServerAnalytic.vue:262 +#: src/views/dashboard/ServerAnalytic.vue:273 #, fuzzy msgid "Network Statistics" msgstr "Ağ İstatistikleri" -#: src/views/dashboard/ServerAnalytic.vue:269 +#: src/views/dashboard/ServerAnalytic.vue:280 #, fuzzy msgid "Network Total Receive" msgstr "Ağ Toplam Alım" -#: src/views/dashboard/ServerAnalytic.vue:275 +#: src/views/dashboard/ServerAnalytic.vue:286 #, fuzzy msgid "Network Total Send" msgstr "Ağ Toplam Gönderme" -#: src/views/config/components/Rename.vue:73 +#: src/views/config/components/Rename.vue:74 #, fuzzy msgid "New name" msgstr "Yeni Ad" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 #, fuzzy msgid "New Path" msgstr "Yeni Yol" -#: src/views/system/Upgrade.vue:209 +#: src/views/system/Upgrade.vue:210 #, fuzzy msgid "New version released" msgstr "Yeni sürüm yayınlandı" #: src/views/certificate/WildcardCertificate.vue:91 -#: src/views/site/cert/components/ObtainCert.vue:208 +#: src/views/site/cert/components/ObtainCert.vue:211 #: src/views/site/SiteAdd.vue:141 #, fuzzy msgid "Next" msgstr "Sonraki" -#: src/views/preference/Preference.vue:164 +#: src/views/preference/Preference.vue:166 #, fuzzy msgid "Nginx" msgstr "Nginx" @@ -1426,7 +1470,7 @@ msgstr "Nginx" msgid "Nginx Access Log Path" msgstr "Nginx Erişim Günlüğü Yolu" -#: src/views/site/site_edit/SiteEdit.vue:209 +#: src/views/site/site_edit/SiteEdit.vue:223 #: src/views/stream/StreamEdit.vue:207 #, fuzzy msgid "Nginx Configuration Parse Error" @@ -1452,7 +1496,7 @@ msgstr "Nginx Hata Günlüğü Yolu" msgid "Nginx is not running" msgstr "Nginx çalışmıyor" -#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:147 +#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:148 #, fuzzy msgid "Nginx Log" msgstr "Nginx Günlüğü" @@ -1486,23 +1530,24 @@ msgid "Nginx restarted successfully" msgstr "Nginx başarıyla yeniden başlatıldı" #: src/components/ChatGPT/ChatGPT.vue:277 -#: src/components/Notification/Notification.vue:84 +#: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:67 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:533 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:547 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:562 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:96 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:521 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:550 #: src/views/notification/Notification.vue:38 #: src/views/preference/AuthSettings.vue:138 #: src/views/preference/CertSettings.vue:70 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:90 #: src/views/site/ngx_conf/LocationEditor.vue:90 -#: src/views/site/site_list/SiteList.vue:147 +#: src/views/site/site_list/SiteList.vue:148 #: src/views/stream/StreamList.vue:164 #, fuzzy msgid "No" msgstr "Hayır" -#: src/views/preference/BasicSettings.vue:42 +#: src/views/preference/BasicSettings.vue:30 #, fuzzy msgid "Node name" msgstr "Yeni Ad" @@ -1528,7 +1573,7 @@ msgid "Not Valid Before: %{date}" msgstr "Önce Geçerli Değil: %{date}" #: src/views/certificate/DNSCredential.vue:49 -#: src/views/site/cert/components/AutoCertStepOne.vue:40 +#: src/views/site/cert/components/AutoCertStepOne.vue:39 #, fuzzy msgid "Note" msgstr "Not" @@ -1544,12 +1589,12 @@ msgstr "" msgid "Notification" msgstr "Bildirim" -#: src/components/Notification/Notification.vue:82 src/routes/index.ts:248 +#: src/components/Notification/Notification.vue:131 src/routes/index.ts:248 #, fuzzy msgid "Notifications" msgstr "Bildirimler" -#: src/views/site/cert/components/ObtainCert.vue:179 +#: src/views/site/cert/components/ObtainCert.vue:182 #, fuzzy msgid "Obtain certificate" msgstr "Sertifika alın" @@ -1559,12 +1604,12 @@ msgstr "Sertifika alın" msgid "Obtaining certificate" msgstr "Sertifika alma" -#: src/views/site/cert/components/AutoCertStepOne.vue:96 +#: src/views/site/cert/components/AutoCertStepOne.vue:95 #, fuzzy msgid "OCSP Must Staple" msgstr "OCSP Zımbalanmalıdır" -#: src/views/site/cert/components/AutoCertStepOne.vue:100 +#: src/views/site/cert/components/AutoCertStepOne.vue:99 #, fuzzy msgid "" "OCSP Must Staple may cause errors for some users on first access using " @@ -1573,31 +1618,32 @@ msgstr "" "OCSP Must Staple, Firefox kullanarak ilk erişimde bazı kullanıcılar için " "hatalara neden olabilir." -#: src/components/NodeSelector/NodeSelector.vue:93 +#: src/components/NodeSelector/NodeSelector.vue:103 #: src/views/dashboard/Environments.vue:107 #: src/views/environment/envColumns.tsx:87 #, fuzzy msgid "Offline" msgstr "Çevrimdışı" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:262 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:183 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:252 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:522 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:536 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:551 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:181 #, fuzzy msgid "Ok" msgstr "Tamam" #: src/components/ChatGPT/ChatGPT.vue:278 -#: src/components/Notification/Notification.vue:85 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:534 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:548 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:563 +#: src/components/Notification/Notification.vue:134 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:97 #: src/views/notification/Notification.vue:39 -#: src/views/site/cert/components/ObtainCert.vue:136 +#: src/views/site/cert/components/ObtainCert.vue:139 #: src/views/site/ngx_conf/NgxConfigEditor.vue:50 #: src/views/site/ngx_conf/NgxServer.vue:79 -#: src/views/site/ngx_conf/NgxUpstream.vue:32 +#: src/views/site/ngx_conf/NgxUpstream.vue:33 #: src/views/site/site_edit/RightSettings.vue:54 -#: src/views/site/site_list/SiteList.vue:148 +#: src/views/site/site_list/SiteList.vue:149 #: src/views/stream/components/Deploy.vue:19 #: src/views/stream/components/RightSettings.vue:50 #: src/views/stream/StreamList.vue:165 @@ -1610,46 +1656,46 @@ msgstr "Tamam" msgid "Once the verification is complete, the records will be removed." msgstr "Doğrulama tamamlandıktan sonra kayıtlar kaldırılacaktır." -#: src/components/NodeSelector/NodeSelector.vue:73 -#: src/components/NodeSelector/NodeSelector.vue:87 +#: src/components/NodeSelector/NodeSelector.vue:83 +#: src/components/NodeSelector/NodeSelector.vue:97 #: src/views/dashboard/Environments.vue:100 #: src/views/environment/envColumns.tsx:83 #, fuzzy msgid "Online" msgstr "Çevrimiçi" -#: src/views/preference/Preference.vue:170 +#: src/views/preference/Preference.vue:172 #, fuzzy msgid "OpenAI" msgstr "OpenAI" -#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:254 +#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:255 #, fuzzy msgid "Or" msgstr "Veya" -#: src/views/config/components/Rename.vue:69 +#: src/views/config/components/Rename.vue:70 #, fuzzy msgid "Original name" msgstr "Gerçek Adı" -#: src/views/system/Upgrade.vue:176 +#: src/views/system/Upgrade.vue:177 #, fuzzy msgid "OS" msgstr "OS" -#: src/views/dashboard/ServerAnalytic.vue:182 +#: src/views/dashboard/ServerAnalytic.vue:193 #, fuzzy msgid "OS:" msgstr "İŞLETIM SISTEMI:" -#: src/views/config/ConfigEditor.vue:293 +#: src/views/config/ConfigEditor.vue:296 #: src/views/stream/components/Deploy.vue:84 #, fuzzy msgid "Overwrite" msgstr "Üzerine yaz" -#: src/views/config/ConfigEditor.vue:297 +#: src/views/config/ConfigEditor.vue:300 #: src/views/stream/components/Deploy.vue:88 #, fuzzy msgid "Overwrite exist file" @@ -1676,24 +1722,28 @@ msgstr "" "kimliğinizi doğrulayan webauthn kimlik bilgileridir. Parola yerine veya 2FA " "yöntemi olarak kullanılabilirler." -#: src/views/other/Login.vue:206 src/views/user/userColumns.tsx:18 +#: src/views/other/Login.vue:207 src/views/user/userColumns.tsx:18 #, fuzzy msgid "Password" msgstr "Şifre" -#: src/views/other/Install.vue:106 +#: src/views/other/Install.vue:110 #, fuzzy msgid "Password (*)" msgstr "Şifre (*)" -#: src/views/config/ConfigEditor.vue:262 +#: src/views/other/Install.vue:48 +msgid "Password length cannot exceed 20 characters" +msgstr "" + +#: src/views/config/ConfigEditor.vue:265 #: src/views/site/ngx_conf/LocationEditor.vue:111 #: src/views/site/ngx_conf/LocationEditor.vue:139 #, fuzzy msgid "Path" msgstr "Yol" -#: src/views/environment/BatchUpgrader.vue:234 +#: src/views/environment/BatchUpgrader.vue:235 #, fuzzy msgid "Perform" msgstr "Uygula" @@ -1731,12 +1781,12 @@ msgstr "" "Lütfen DNS sağlayıcınız tarafından sağlanan API kimlik doğrulama bilgilerini " "doldurun." -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:127 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:107 #, fuzzy msgid "Please fill in the required fields" msgstr "Lütfen zorunlu alanları doldurup tekrar deneyiniz" -#: src/views/site/cert/components/AutoCertStepOne.vue:58 +#: src/views/site/cert/components/AutoCertStepOne.vue:57 #, fuzzy msgid "" "Please first add credentials in Certification > DNS Credentials, and then " @@ -1746,13 +1796,13 @@ msgstr "" "ekleyin ve ardından DNS sağlayıcısının API'sini istemek için aşağıdaki " "kimlik bilgilerinden birini seçin." -#: src/views/config/components/Rename.vue:64 -#: src/views/config/ConfigEditor.vue:249 +#: src/views/config/components/Rename.vue:65 +#: src/views/config/ConfigEditor.vue:251 #, fuzzy msgid "Please input a filename" msgstr "Lütfen bir dosya adı girin" -#: src/views/config/components/Mkdir.vue:56 +#: src/views/config/components/Mkdir.vue:58 #, fuzzy msgid "Please input a folder name" msgstr "Lütfen bir klasör adı girin" @@ -1778,12 +1828,12 @@ msgstr "" msgid "Please input your E-mail!" msgstr "Lütfen e-postanızı girin!" -#: src/views/other/Install.vue:44 src/views/other/Login.vue:46 +#: src/views/other/Install.vue:44 src/views/other/Login.vue:47 #, fuzzy msgid "Please input your password!" msgstr "Lütfen şifrenizi girin!" -#: src/views/other/Install.vue:38 src/views/other/Login.vue:40 +#: src/views/other/Install.vue:38 src/views/other/Login.vue:41 #, fuzzy msgid "Please input your username!" msgstr "Lütfen kullanıcı adınızı girin!" @@ -1819,14 +1869,14 @@ msgstr "" "0] yapılandırmasını %{env_name} ile eşitleme başarısız oldu, lütfen uzak " "Nginx kullanıcı arayüzünü en son sürüme yükseltin" -#: src/views/environment/BatchUpgrader.vue:169 -#: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195 -#: src/views/system/Upgrade.vue:246 +#: src/views/environment/BatchUpgrader.vue:170 +#: src/views/environment/BatchUpgrader.vue:223 src/views/system/Upgrade.vue:196 +#: src/views/system/Upgrade.vue:247 #, fuzzy msgid "Pre-release" msgstr "Ön sürüm" -#: src/routes/index.ts:266 src/views/preference/Preference.vue:141 +#: src/routes/index.ts:266 src/views/preference/Preference.vue:143 #, fuzzy msgid "Preference" msgstr "Tercih" @@ -1861,40 +1911,45 @@ msgstr "Hizmet Sağlayıcı" msgid "Proxy" msgstr "Proxy" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:376 +#: src/views/preference/BasicSettings.vue:63 +msgid "Public Security Number" +msgstr "" + +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:387 #, fuzzy msgid "Reads" msgstr "Okumalar" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:327 +#: src/views/dashboard/ServerAnalytic.vue:338 +#: src/views/dashboard/ServerAnalytic.vue:35 #, fuzzy msgid "Receive" msgstr "Teslim almak" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:556 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:43 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:544 #, fuzzy msgid "Recover" msgstr "Kurtar" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:204 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:191 #, fuzzy msgid "Recovered Successfully" msgstr "Başarıyla Kurtarıldı" #: src/components/TwoFA/Authorization.vue:94 -#: src/views/preference/components/TOTP.vue:178 +#: src/views/preference/components/TOTP.vue:177 #, fuzzy msgid "Recovery" msgstr "Kurtarma" -#: src/views/preference/components/TOTP.vue:104 +#: src/views/preference/components/TOTP.vue:103 #, fuzzy msgid "Recovery Code" msgstr "Kurtarma Kodu" -#: src/views/preference/components/TOTP.vue:113 +#: src/views/preference/components/TOTP.vue:112 #, fuzzy msgid "Recovery Code:" msgstr "Kurtarma Kodu:" @@ -1953,12 +2008,12 @@ msgstr "Kullanıcı kaydetme" msgid "Registration Status" msgstr "Kayıt durumu" -#: src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:228 #, fuzzy msgid "Reinstall" msgstr "Tekrar Yükle" -#: src/views/system/Upgrade.vue:250 +#: src/views/system/Upgrade.vue:251 #, fuzzy msgid "Release Note" msgstr "Yayın Notu" @@ -2000,14 +2055,15 @@ msgstr "%{conf_name} başarıyla %{node_name} düğümüne kopyalandı" msgid "Remove successfully" msgstr "Başarıyla kaldırıldı" -#: src/components/Notification/Notification.vue:52 +#: src/components/Notification/Notification.vue:100 #, fuzzy msgid "Removed successfully" msgstr "Başarıyla kaldırıldı" -#: src/views/config/components/Rename.vue:55 -#: src/views/config/ConfigList.vue:167 -#: src/views/site/ngx_conf/NgxUpstream.vue:123 +#: src/views/config/components/ConfigName.vue:50 +#: src/views/config/components/Rename.vue:56 +#: src/views/config/ConfigList.vue:166 +#: src/views/site/ngx_conf/NgxUpstream.vue:125 #: src/views/site/site_edit/components/ConfigName.vue:46 #, fuzzy msgid "Rename" @@ -2059,18 +2115,19 @@ msgid "Rename Site %{site} to %{new_site} on %{node} successfully" msgstr "" "2] üzerinde %{orig_path}'ı %{new_path} olarak başarıyla yeniden adlandırın" -#: src/views/config/components/Rename.vue:41 +#: src/views/config/components/Rename.vue:42 #, fuzzy msgid "Rename successfully" msgstr "Yeniden adlandırma başarıyla" +#: src/views/config/components/ConfigName.vue:30 #: src/views/site/site_edit/components/ConfigName.vue:27 #, fuzzy msgid "Renamed successfully" msgstr "Yeniden adlandırma başarıyla" -#: src/views/certificate/RenewCert.vue:43 -#: src/views/certificate/RenewCert.vue:47 +#: src/views/certificate/RenewCert.vue:45 +#: src/views/certificate/RenewCert.vue:49 #, fuzzy msgid "Renew Certificate" msgstr "Sertifika Yenileme" @@ -2085,7 +2142,7 @@ msgstr "Sertifika Yenileme Hatası" msgid "Renew Certificate Success" msgstr "Sertifika Yenileme Başarısı" -#: src/views/certificate/RenewCert.vue:25 +#: src/views/certificate/RenewCert.vue:27 #: src/views/certificate/WildcardCertificate.vue:48 #, fuzzy msgid "Renew successfully" @@ -2096,12 +2153,12 @@ msgstr "Başarıyla yenileyin" msgid "Requested with wrong parameters" msgstr "Yanlış parametrelerle talep edildi" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:468 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:448 #, fuzzy msgid "Reset" msgstr "Sıfırla" -#: src/views/preference/components/TOTP.vue:133 +#: src/views/preference/components/TOTP.vue:132 #, fuzzy msgid "Reset 2FA" msgstr "2FA'yı Sıfırla" @@ -2140,13 +2197,15 @@ msgstr "Çalışıyor" #: src/components/ChatGPT/ChatGPT.vue:259 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:68 -#: src/views/certificate/CertificateEditor.vue:256 -#: src/views/config/ConfigEditor.vue:222 +#: src/components/StdDesign/StdDetail/StdDetail.vue:93 +#: src/views/certificate/CertificateEditor.vue:263 +#: src/views/config/components/ConfigName.vue:58 +#: src/views/config/ConfigEditor.vue:224 #: src/views/preference/components/Passkey.vue:136 -#: src/views/preference/Preference.vue:187 +#: src/views/preference/Preference.vue:189 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:120 #: src/views/site/site_edit/components/ConfigName.vue:54 -#: src/views/site/site_edit/SiteEdit.vue:256 +#: src/views/site/site_edit/SiteEdit.vue:271 #: src/views/stream/StreamEdit.vue:252 #, fuzzy msgid "Save" @@ -2157,7 +2216,7 @@ msgstr "Kaydet" msgid "Save Directive" msgstr "Direktifi Kaydet" -#: src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:173 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:41 #: src/views/site/SiteAdd.vue:46 #, fuzzy @@ -2187,22 +2246,22 @@ msgid "Save Site %{site} to %{node} successfully" msgstr "%{conf_name} başarıyla %{node_name} düğümüne kopyalandı" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117 -#: src/views/certificate/CertificateEditor.vue:46 -#: src/views/preference/Preference.vue:110 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:97 +#: src/views/certificate/CertificateEditor.vue:49 +#: src/views/preference/Preference.vue:112 #, fuzzy msgid "Save successfully" msgstr "Başarıyla kaydedin" -#: src/views/config/ConfigEditor.vue:167 +#: src/views/config/ConfigEditor.vue:169 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 -#: src/views/site/site_edit/SiteEdit.vue:140 src/views/site/SiteAdd.vue:37 +#: src/views/site/site_edit/SiteEdit.vue:152 src/views/site/SiteAdd.vue:37 #: src/views/stream/StreamEdit.vue:138 #, fuzzy msgid "Saved successfully" msgstr "Başarıyla Kaydedildi" -#: src/views/preference/components/TOTP.vue:94 +#: src/views/preference/components/TOTP.vue:93 #, fuzzy msgid "Scan the QR code with your mobile phone to add the account to the app." msgstr "Hesabı uygulamaya eklemek için QR kodunu cep telefonunuzla tarayın." @@ -2212,54 +2271,54 @@ msgstr "Hesabı uygulamaya eklemek için QR kodunu cep telefonunuzla tarayın." msgid "SDK" msgstr "SDK" -#: src/views/preference/components/TOTP.vue:150 +#: src/views/preference/components/TOTP.vue:149 #, fuzzy msgid "Secret has been copied" msgstr "Sır kopyalandı" -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:184 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 #, fuzzy msgid "Selector" msgstr "Selektör" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:337 +#: src/views/dashboard/ServerAnalytic.vue:348 +#: src/views/dashboard/ServerAnalytic.vue:35 #, fuzzy msgid "Send" msgstr "Gönder" #: src/components/NginxControl/NginxControl.vue:32 #: src/components/NginxControl/NginxControl.vue:48 -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:44 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:124 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:53 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:207 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:249 -#: src/views/config/components/Mkdir.vue:36 -#: src/views/config/components/Rename.vue:44 -#: src/views/config/ConfigEditor.vue:108 -#: src/views/environment/BatchUpgrader.vue:58 -#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:66 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:70 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:194 +#: src/views/config/components/Mkdir.vue:38 +#: src/views/config/components/Rename.vue:45 +#: src/views/config/ConfigEditor.vue:111 +#: src/views/environment/BatchUpgrader.vue:59 +#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:70 #: src/views/preference/AuthSettings.vue:49 #: src/views/preference/components/Passkey.vue:26 #: src/views/preference/components/Passkey.vue:43 #: src/views/preference/components/Passkey.vue:56 -#: src/views/preference/components/TOTP.vue:45 -#: src/views/preference/components/TOTP.vue:58 -#: src/views/preference/Preference.vue:114 -#: src/views/site/site_list/SiteList.vue:39 -#: src/views/site/site_list/SiteList.vue:71 src/views/stream/StreamList.vue:113 -#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:41 +#: src/views/preference/components/TOTP.vue:44 +#: src/views/preference/components/TOTP.vue:57 +#: src/views/preference/Preference.vue:116 +#: src/views/site/site_list/SiteList.vue:40 +#: src/views/site/site_list/SiteList.vue:72 src/views/stream/StreamList.vue:113 +#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:42 #, fuzzy msgid "Server error" msgstr "Server hatası" -#: src/views/dashboard/ServerAnalytic.vue:168 +#: src/views/dashboard/ServerAnalytic.vue:179 #, fuzzy msgid "Server Info" msgstr "Sunucu Bilgisi" -#: src/views/site/cert/components/ObtainCert.vue:102 +#: src/views/site/cert/components/ObtainCert.vue:107 #, fuzzy msgid "server_name not found in directives" msgstr "server_name yönergelerde bulunamadı" @@ -2293,12 +2352,12 @@ msgstr "Ortam değişkenlerini ayarlama" msgid "Setting HTTP01 challenge provider" msgstr "HTTP01 meydan okuma sağlayıcısını ayarlama" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 #, fuzzy msgid "Show" msgstr "Göster" -#: src/views/other/Login.vue:263 +#: src/views/other/Login.vue:264 #, fuzzy msgid "Sign in with a passkey" msgstr "Bir geçiş anahtarı ile oturum açın" @@ -2322,34 +2381,34 @@ msgstr "Site Günlükleri" msgid "Sites List" msgstr "Site Listesi" -#: src/views/certificate/CertificateEditor.vue:205 +#: src/views/certificate/CertificateEditor.vue:212 #, fuzzy msgid "SSL Certificate Content" msgstr "SSL Sertifika İçeriği" -#: src/views/certificate/CertificateEditor.vue:218 +#: src/views/certificate/CertificateEditor.vue:225 #, fuzzy msgid "SSL Certificate Key Content" msgstr "SSL Sertifika Anahtarı İçeriği" -#: src/views/certificate/CertificateEditor.vue:184 +#: src/views/certificate/CertificateEditor.vue:191 #, fuzzy msgid "SSL Certificate Key Path" msgstr "SSL Sertifikası Anahtar Yolu" -#: src/views/certificate/CertificateEditor.vue:169 +#: src/views/certificate/CertificateEditor.vue:176 #, fuzzy msgid "SSL Certificate Path" msgstr "SSL Sertifika Yolu" -#: src/views/other/Login.vue:221 +#: src/views/other/Login.vue:222 #, fuzzy msgid "SSO Login" msgstr "SSO Girişi" -#: src/views/environment/BatchUpgrader.vue:166 -#: src/views/environment/BatchUpgrader.vue:216 src/views/system/Upgrade.vue:192 -#: src/views/system/Upgrade.vue:240 +#: src/views/environment/BatchUpgrader.vue:167 +#: src/views/environment/BatchUpgrader.vue:217 src/views/system/Upgrade.vue:193 +#: src/views/system/Upgrade.vue:241 #, fuzzy msgid "Stable" msgstr "Stabil" @@ -2357,7 +2416,7 @@ msgstr "Stabil" #: src/views/certificate/ACMEUser.vue:65 #: src/views/certificate/CertificateList/certColumns.tsx:68 #: src/views/environment/envColumns.tsx:75 -#: src/views/site/site_list/columns.tsx:38 src/views/stream/StreamList.vue:22 +#: src/views/site/site_list/columns.tsx:40 src/views/stream/StreamList.vue:22 #, fuzzy msgid "Status" msgstr "Durum" @@ -2367,8 +2426,8 @@ msgstr "Durum" msgid "Stopped" msgstr "Durduruldu" -#: src/views/dashboard/ServerAnalytic.vue:243 -#: src/views/dashboard/ServerAnalytic.vue:244 +#: src/views/dashboard/ServerAnalytic.vue:254 +#: src/views/dashboard/ServerAnalytic.vue:255 #, fuzzy msgid "Storage" msgstr "Depolama" @@ -2378,8 +2437,8 @@ msgstr "Depolama" msgid "Success" msgstr "Başarılı" -#: src/views/dashboard/ServerAnalytic.vue:229 -#: src/views/dashboard/ServerAnalytic.vue:230 +#: src/views/dashboard/ServerAnalytic.vue:240 +#: src/views/dashboard/ServerAnalytic.vue:241 #, fuzzy msgid "Swap" msgstr "Değiştir" @@ -2394,7 +2453,7 @@ msgstr "Koyu temaya geçme" msgid "Switch to light theme" msgstr "Işık temasına geçin" -#: src/views/config/components/Rename.vue:80 +#: src/views/config/components/Rename.vue:81 #, fuzzy msgid "Sync" msgstr "Eşitle" @@ -2468,7 +2527,7 @@ msgstr "Şununla senkronize et" msgid "Sync strategy" msgstr "Senkronizasyon Sertifikası" -#: src/views/certificate/CertificateEditor.vue:198 +#: src/views/certificate/CertificateEditor.vue:205 #, fuzzy msgid "Sync to" msgstr "Şununla senkronize et" @@ -2492,7 +2551,7 @@ msgstr "Sistem İlk Kullanıcısı" msgid "Target" msgstr "Hedef" -#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:113 +#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:114 #, fuzzy msgid "Terminal" msgstr "terminal" @@ -2502,7 +2561,7 @@ msgstr "terminal" msgid "Terminal Start Command" msgstr "Terminal Başlatma Komutu" -#: src/views/site/cert/components/AutoCertStepOne.vue:50 +#: src/views/site/cert/components/AutoCertStepOne.vue:49 #, fuzzy msgid "" "The certificate for the domain will be checked 30 minutes, and will be " @@ -2513,17 +2572,25 @@ msgstr "" "verilmesinden bu yana 1 haftadan veya ayarlarda belirlediğiniz süreden fazla " "zaman geçtiyse yenilenecektir." -#: src/views/other/Install.vue:50 +#: src/views/other/Install.vue:54 #, fuzzy msgid "The filename cannot contain the following characters: %{c}" msgstr "Dosya adı aşağıdaki karakterleri içeremez: %{c}" -#: src/views/certificate/CertificateEditor.vue:208 +#: src/views/preference/BasicSettings.vue:54 +#, fuzzy +msgid "" +"The ICP Number should only contain letters, unicode, numbers, hyphens, " +"dashes, colons, and dots." +msgstr "" +"Model adı yalnızca harf, unicode, sayı, tire, çizgi ve nokta içermelidir." + +#: src/views/certificate/CertificateEditor.vue:215 #, fuzzy msgid "The input is not a SSL Certificate" msgstr "Giriş bir SSL Sertifikası değil" -#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:228 #, fuzzy msgid "The input is not a SSL Certificate Key" msgstr "Girdi bir SSL Sertifika Anahtarı değil" @@ -2532,29 +2599,38 @@ msgstr "Girdi bir SSL Sertifika Anahtarı değil" #, fuzzy msgid "" "The model name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." +"dashes, colons, and dots." msgstr "" "Model adı yalnızca harf, unicode, sayı, tire, çizgi ve nokta içermelidir." -#: src/views/preference/BasicSettings.vue:45 +#: src/views/preference/BasicSettings.vue:33 #, fuzzy msgid "" "The node name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." +"dashes, colons, and dots." msgstr "" "Model adı yalnızca harf, unicode, sayı, tire, çizgi ve nokta içermelidir." -#: src/views/certificate/CertificateEditor.vue:173 +#: src/views/certificate/CertificateEditor.vue:180 #, fuzzy msgid "The path exists, but the file is not a certificate" msgstr "Yol var, ancak dosya bir sertifika değil" -#: src/views/certificate/CertificateEditor.vue:188 +#: src/views/certificate/CertificateEditor.vue:195 #, fuzzy msgid "The path exists, but the file is not a private key" msgstr "Yol var, ancak dosya bir özel anahtar değil" -#: src/views/preference/components/TOTP.vue:112 +#: src/views/preference/BasicSettings.vue:66 +#, fuzzy +msgid "" +"The Public Security Number should only contain letters, unicode, numbers, " +"hyphens, dashes, colons, and dots." +msgstr "" +"Sunucu adı yalnızca harf, unicode, sayı, kısa çizgi, tire ve nokta " +"içermelidir." + +#: src/views/preference/components/TOTP.vue:111 #, fuzzy msgid "" "The recovery code is only displayed once, please save it in a safe place." @@ -2573,7 +2649,7 @@ msgstr "" "önlemek için lütfen uzak Nginx kullanıcı arayüzünü yerel sürümle eşleşecek " "şekilde yükseltin." -#: src/views/site/cert/components/AutoCertStepOne.vue:45 +#: src/views/site/cert/components/AutoCertStepOne.vue:44 #, fuzzy msgid "" "The server_name in the current configuration must be the domain name you " @@ -2582,7 +2658,7 @@ msgstr "" "Geçerli yapılandırmadaki sunucu_adı, sertifika almak için ihtiyacınız olan " "alan adı olmalıdır, birden çok alan adını destekler." -#: src/views/preference/BasicSettings.vue:33 +#: src/views/preference/BasicSettings.vue:42 #: src/views/preference/CertSettings.vue:19 #, fuzzy msgid "The url is invalid" @@ -2599,19 +2675,19 @@ msgstr "URL geçersiz." msgid "The username or password is incorrect" msgstr "Kullanıcı adı veya şifre yanlış" -#: src/views/certificate/CertificateEditor.vue:96 +#: src/views/certificate/CertificateEditor.vue:103 #, fuzzy msgid "This Auto Cert item is invalid, please remove it." msgstr "Bu Otomatik Sertifika öğesi geçersizdir, lütfen kaldırın." -#: src/views/certificate/CertificateEditor.vue:86 +#: src/views/certificate/CertificateEditor.vue:93 #, fuzzy msgid "This certificate is managed by Nginx UI" msgstr "Bu sertifika Nginx UI tarafından yönetilir" -#: src/views/certificate/CertificateEditor.vue:157 -#: src/views/certificate/CertificateEditor.vue:171 -#: src/views/certificate/CertificateEditor.vue:186 +#: src/views/certificate/CertificateEditor.vue:164 +#: src/views/certificate/CertificateEditor.vue:178 +#: src/views/certificate/CertificateEditor.vue:193 #, fuzzy msgid "This field is required" msgstr "Bu alan gereklidir" @@ -2643,7 +2719,7 @@ msgstr "" msgid "This value is already taken" msgstr "" -#: src/views/environment/BatchUpgrader.vue:184 +#: src/views/environment/BatchUpgrader.vue:185 #, fuzzy msgid "" "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}." @@ -2667,7 +2743,7 @@ msgstr "İpuçları" msgid "Title" msgstr "Başlık" -#: src/views/preference/components/TOTP.vue:93 +#: src/views/preference/components/TOTP.vue:92 #, fuzzy msgid "" "To enable it, you need to install the Google or Microsoft Authenticator app " @@ -2703,8 +2779,9 @@ msgstr "" #: src/views/preference/OpenAISettings.vue:48 #, fuzzy msgid "" -"To use a local large model, deploy it with vllm or imdeploy. They provide an " -"OpenAI-compatible API endpoint, so just set the baseUrl to your local API." +"To use a local large model, deploy it with ollama, vllm or imdeploy. They " +"provide an OpenAI-compatible API endpoint, so just set the baseUrl to your " +"local API." msgstr "" "Yerel bir büyük model kullanmak için, vllm veya imdeploy ile dağıtın. OpenAI " "uyumlu bir API uç noktası sağlarlar, bu nedenle baseUrl'yi yerel API'nize " @@ -2715,19 +2792,25 @@ msgstr "" msgid "Token is not valid" msgstr "Belirteç geçerli değil" -#: src/views/other/Login.vue:80 +#: src/views/other/Login.vue:81 #, fuzzy msgid "Too many login failed attempts, please try again later" msgstr "" "Çok fazla oturum açma denemesi başarısız oldu, lütfen daha sonra tekrar " "deneyin" -#: src/views/preference/components/TOTP.vue:91 +#: src/components/StdDesign/StdDataDisplay/StdPagination.vue:40 +msgid "Total %{total} item" +msgid_plural "Total %{total} items" +msgstr[0] "" +msgstr[1] "" + +#: src/views/preference/components/TOTP.vue:90 #, fuzzy msgid "TOTP" msgstr "TOTP" -#: src/views/preference/components/TOTP.vue:92 +#: src/views/preference/components/TOTP.vue:91 #, fuzzy msgid "" "TOTP is a two-factor authentication method that uses a time-based one-time " @@ -2736,12 +2819,12 @@ msgstr "" "TOTP, zamana dayalı tek seferlik parola algoritması kullanan iki faktörlü " "bir kimlik doğrulama yöntemidir." -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:202 #, fuzzy msgid "Trash" msgstr "Çöp" -#: src/components/TwoFA/use2FAModal.ts:66 +#: src/components/TwoFA/use2FAModal.ts:67 #, fuzzy msgid "Two-factor authentication required" msgstr "İki faktörlü kimlik doğrulama gerekiyor" @@ -2760,29 +2843,29 @@ msgstr "Güncellendi" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:275 +#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:278 #: src/views/environment/envColumns.tsx:119 #: src/views/site/site_category/columns.ts:20 #: src/views/site/site_edit/RightSettings.vue:100 -#: src/views/site/site_list/columns.tsx:64 +#: src/views/site/site_list/columns.tsx:67 #: src/views/stream/components/RightSettings.vue:85 #: src/views/stream/StreamList.vue:41 src/views/user/userColumns.tsx:54 #, fuzzy msgid "Updated at" msgstr "Güncelleme" -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:123 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:121 #, fuzzy msgid "Updated successfully" msgstr "Başarıyla güncellendi" #: src/routes/index.ts:290 src/views/environment/Environment.vue:55 -#: src/views/system/Upgrade.vue:144 src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228 #, fuzzy msgid "Upgrade" msgstr "Yükselt" -#: src/views/environment/BatchUpgrader.vue:139 +#: src/views/environment/BatchUpgrader.vue:140 #, fuzzy msgid "Upgraded Nginx UI on %{node} successfully 🎉" msgstr "Nginx kullanıcı arayüzü %{node} üzerinde başarıyla yükseltildi 🎉" @@ -2792,17 +2875,17 @@ msgstr "Nginx kullanıcı arayüzü %{node} üzerinde başarıyla yükseltildi msgid "Upgraded successfully" msgstr "Başarıyla yükseltildi" -#: src/views/environment/BatchUpgrader.vue:90 src/views/system/Upgrade.vue:78 +#: src/views/environment/BatchUpgrader.vue:91 src/views/system/Upgrade.vue:79 #, fuzzy msgid "Upgrading Nginx UI, please wait..." msgstr "Nginx kullanıcı arayüzü yükseltiliyor, lütfen bekleyin..." -#: src/views/site/ngx_conf/NgxUpstream.vue:170 +#: src/views/site/ngx_conf/NgxUpstream.vue:172 #, fuzzy msgid "Upstream Name" msgstr "Yukarı Akış Adı" -#: src/views/dashboard/ServerAnalytic.vue:172 +#: src/views/dashboard/ServerAnalytic.vue:183 #, fuzzy msgid "Uptime:" msgstr "Çalışma süresi:" @@ -2827,17 +2910,17 @@ msgstr "Kurtarma kodunu kullanın" msgid "User" msgstr "Kullanıcı" -#: src/views/other/Login.vue:83 +#: src/views/other/Login.vue:84 #, fuzzy msgid "User is banned" msgstr "Kullanıcı yasaklandı" -#: src/views/other/Login.vue:196 src/views/user/userColumns.tsx:9 +#: src/views/other/Login.vue:197 src/views/user/userColumns.tsx:9 #, fuzzy msgid "Username" msgstr "Kullanıcı Adı" -#: src/views/other/Install.vue:96 +#: src/views/other/Install.vue:100 #, fuzzy msgid "Username (*)" msgstr "Kullanıcı adı (*)" @@ -2854,23 +2937,23 @@ msgstr "Geçerli" msgid "Version" msgstr "Versiyon" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:506 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:494 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:103 #, fuzzy msgid "View" msgstr "Görünüm" -#: src/components/Notification/Notification.vue:143 +#: src/components/Notification/Notification.vue:192 #, fuzzy msgid "View all notifications" msgstr "Tüm bildirimleri görüntüle" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 #, fuzzy msgid "View Details" msgstr "Detayları göster" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 #, fuzzy msgid "View Mode" msgstr "Görünüm Modu" @@ -2892,7 +2975,7 @@ msgstr "" "Sahiplik doğrulaması için alan adınızın DNS kayıtlarına bir veya daha fazla " "TXT kaydı ekleyeceğiz." -#: src/views/site/cert/components/ObtainCert.vue:134 +#: src/views/site/cert/components/ObtainCert.vue:137 #, fuzzy msgid "" "We will remove the HTTPChallenge configuration from this file and reload the " @@ -2922,8 +3005,8 @@ msgid "" "site category and the nodes selected below will be synchronized." msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:366 +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:377 #, fuzzy msgid "Writes" msgstr "Yazıyor" @@ -2946,12 +3029,12 @@ msgstr "Sertifikayı diske yazma" msgid "Yes" msgstr "Evet" -#: src/views/system/Upgrade.vue:203 +#: src/views/system/Upgrade.vue:204 #, fuzzy msgid "You are using the latest version" msgstr "En son sürümü kullanıyorsunuz" -#: src/views/system/Upgrade.vue:165 +#: src/views/system/Upgrade.vue:166 #, fuzzy msgid "You can check Nginx UI upgrade at this page." msgstr "Nginx UI yükseltmesini bu sayfadan kontrol edebilirsiniz." @@ -2986,14 +3069,6 @@ msgstr "Geçiş anahtarlarınız" #~ msgid "Server Name" #~ msgstr "Sunucu Adı" -#, fuzzy -#~ msgid "" -#~ "The server name should only contain letters, unicode, numbers, hyphens, " -#~ "dashes, and dots." -#~ msgstr "" -#~ "Sunucu adı yalnızca harf, unicode, sayı, kısa çizgi, tire ve nokta " -#~ "içermelidir." - #~ msgid "" #~ "Customize the name of local server to be displayed in the environment " #~ "indicator." diff --git a/app/src/language/vi_VN/app.po b/app/src/language/vi_VN/app.po index d1f894ef..3ae463f6 100644 --- a/app/src/language/vi_VN/app.po +++ b/app/src/language/vi_VN/app.po @@ -21,7 +21,7 @@ msgstr "" msgid "About" msgstr "Tác giả" -#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:76 +#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:75 msgid "Access Logs" msgstr "Log truy cập" @@ -39,17 +39,17 @@ msgstr "Người dùng" #: src/views/notification/notificationColumns.tsx:62 #: src/views/preference/AuthSettings.vue:26 #: src/views/site/site_category/columns.ts:26 -#: src/views/site/site_list/columns.tsx:70 src/views/stream/StreamList.vue:47 +#: src/views/site/site_list/columns.tsx:74 src/views/stream/StreamList.vue:47 #: src/views/user/userColumns.tsx:60 msgid "Action" msgstr "Hành động" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:177 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:209 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:191 #: src/views/preference/CertSettings.vue:42 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:117 #: src/views/site/ngx_conf/NgxServer.vue:162 -#: src/views/site/ngx_conf/NgxUpstream.vue:152 +#: src/views/site/ngx_conf/NgxUpstream.vue:154 #: src/views/stream/StreamList.vue:121 msgid "Add" msgstr "Thêm" @@ -59,8 +59,8 @@ msgstr "Thêm" msgid "Add a passkey" msgstr "" -#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:143 -#: src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:146 +#: src/views/config/ConfigEditor.vue:206 #, fuzzy msgid "Add Configuration" msgstr "Sửa cấu hình" @@ -93,7 +93,7 @@ msgstr "Cập nhật thành công" msgid "Additional" msgstr "Tùy chọn bổ sung" -#: src/views/site/site_edit/SiteEdit.vue:191 +#: src/views/site/site_edit/SiteEdit.vue:205 #: src/views/stream/StreamEdit.vue:189 msgid "Advance Mode" msgstr "Nâng cao" @@ -102,7 +102,8 @@ msgstr "Nâng cao" msgid "Afterwards, refresh this page and click add passkey again." msgstr "" -#: src/views/site/site_list/SiteList.vue:101 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:425 +#: src/views/site/site_list/SiteList.vue:102 msgid "All" msgstr "" @@ -122,7 +123,21 @@ msgstr "" msgid "API Token" msgstr "" -#: src/views/system/Upgrade.vue:177 +#: src/views/preference/OpenAISettings.vue:78 +#, fuzzy +msgid "API Type" +msgstr "Loại" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:105 +msgid "Apply" +msgstr "" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:67 +#, fuzzy +msgid "Apply bulk action successfully" +msgstr "Nhân bản thành công" + +#: src/views/system/Upgrade.vue:178 msgid "Arch" msgstr "" @@ -136,7 +151,12 @@ msgstr "Bạn chắc chắn muốn xóa nó " msgid "Are you sure to delete this passkey immediately?" msgstr "Bạn chắc chắn muốn xóa nó " -#: src/components/Notification/Notification.vue:86 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:98 +#, fuzzy +msgid "Are you sure you want to apply to all selected?" +msgstr "Bạn chắc chắn muốn xóa nó " + +#: src/components/Notification/Notification.vue:135 #: src/views/notification/Notification.vue:40 #, fuzzy msgid "Are you sure you want to clear all notifications?" @@ -147,23 +167,23 @@ msgstr "Bạn có chắc chắn muốn xóa tất cả thông báo không ?" msgid "Are you sure you want to clear the record of chat?" msgstr "Bạn có chắc chắn muốn xóa lịch sử trò chuyện không ?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:564 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:552 #, fuzzy msgid "Are you sure you want to delete this item permanently?" msgstr "Bạn chắc chắn muốn xóa nó " -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:523 #, fuzzy msgid "Are you sure you want to delete this item?" msgstr "Bạn chắc chắn muốn xóa nó " -#: src/views/site/site_list/SiteList.vue:149 +#: src/views/site/site_list/SiteList.vue:150 #: src/views/stream/StreamList.vue:166 #, fuzzy msgid "Are you sure you want to delete?" msgstr "Bạn chắc chắn muốn xóa nó " -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:549 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:537 #, fuzzy msgid "Are you sure you want to recover this item?" msgstr "Bạn chắc chắn muốn xoá directive này ?" @@ -194,7 +214,7 @@ msgstr "Trợ lý" msgid "Attempts" msgstr "" -#: src/views/preference/Preference.vue:152 +#: src/views/preference/Preference.vue:154 #, fuzzy msgid "Auth" msgstr "Tác giả" @@ -212,22 +232,22 @@ msgstr "" msgid "Author" msgstr "Tác giả" -#: src/views/nginx_log/NginxLog.vue:151 +#: src/views/nginx_log/NginxLog.vue:152 msgid "Auto Refresh" msgstr "Tự động làm mới" -#: src/views/site/cert/components/ObtainCert.vue:75 +#: src/views/site/cert/components/ObtainCert.vue:80 msgid "Auto-renewal disabled for %{name}" msgstr "Đã tắt tự động gia hạn SSL cho %{name}" -#: src/views/site/cert/components/ObtainCert.vue:68 +#: src/views/site/cert/components/ObtainCert.vue:73 msgid "Auto-renewal enabled for %{name}" msgstr "Đã bật tự động gia hạn SSL cho %{name}" -#: src/views/certificate/CertificateEditor.vue:249 -#: src/views/config/ConfigEditor.vue:213 src/views/config/ConfigList.vue:107 -#: src/views/config/ConfigList.vue:181 src/views/nginx_log/NginxLog.vue:172 -#: src/views/site/site_edit/SiteEdit.vue:249 +#: src/views/certificate/CertificateEditor.vue:256 +#: src/views/config/ConfigEditor.vue:215 src/views/config/ConfigList.vue:106 +#: src/views/config/ConfigList.vue:180 src/views/nginx_log/NginxLog.vue:173 +#: src/views/site/site_edit/SiteEdit.vue:264 #: src/views/stream/StreamEdit.vue:245 msgid "Back" msgstr "Quay lại" @@ -237,7 +257,7 @@ msgstr "Quay lại" msgid "Back Home" msgstr "Quay lại" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:222 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211 msgid "Back to list" msgstr "" @@ -257,26 +277,31 @@ msgstr "" msgid "Base information" msgstr "Thông tin" -#: src/views/config/ConfigEditor.vue:241 -#: src/views/preference/Preference.vue:146 +#: src/views/config/ConfigEditor.vue:243 +#: src/views/preference/Preference.vue:148 #: src/views/site/site_edit/RightSettings.vue:79 #: src/views/stream/components/RightSettings.vue:74 #, fuzzy msgid "Basic" msgstr "Cơ bản" -#: src/views/site/site_edit/SiteEdit.vue:194 +#: src/views/site/site_edit/SiteEdit.vue:208 #: src/views/stream/StreamEdit.vue:192 msgid "Basic Mode" msgstr "Cơ bản" +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:85 +#, fuzzy +msgid "Batch Actions" +msgstr "Hành động" + #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:66 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:474 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:454 #, fuzzy msgid "Batch Modify" msgstr "Sửa đổi cấu hình" -#: src/views/environment/BatchUpgrader.vue:154 +#: src/views/environment/BatchUpgrader.vue:155 #, fuzzy msgid "Batch Upgrade" msgstr "Cập nhật" @@ -297,18 +322,19 @@ msgstr "" msgid "CADir" msgstr "" -#: src/views/preference/components/TOTP.vue:151 +#: src/views/preference/components/TOTP.vue:150 msgid "Can't scan? Use text key binding" msgstr "" #: src/components/ChatGPT/ChatGPT.vue:260 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:261 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:251 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:180 +#: src/components/StdDesign/StdDetail/StdDetail.vue:101 #: src/views/preference/components/Passkey.vue:147 -#: src/views/site/cert/components/ObtainCert.vue:137 +#: src/views/site/cert/components/ObtainCert.vue:140 #: src/views/site/ngx_conf/NgxConfigEditor.vue:51 #: src/views/site/ngx_conf/NgxServer.vue:80 -#: src/views/site/ngx_conf/NgxUpstream.vue:33 +#: src/views/site/ngx_conf/NgxUpstream.vue:34 #: src/views/site/site_edit/RightSettings.vue:55 #: src/views/stream/components/Deploy.vue:20 #: src/views/stream/components/RightSettings.vue:51 @@ -316,11 +342,11 @@ msgid "Cancel" msgstr "Huỷ" #: src/views/site/site_edit/RightSettings.vue:91 -#: src/views/site/site_list/columns.tsx:22 +#: src/views/site/site_list/columns.tsx:23 msgid "Category" msgstr "" -#: src/views/preference/Preference.vue:158 +#: src/views/preference/Preference.vue:160 #, fuzzy msgid "Cert" msgstr "Tự động ký chứng chỉ SSL" @@ -330,7 +356,7 @@ msgstr "Tự động ký chứng chỉ SSL" msgid "Certificate Renewal Interval" msgstr "Chứng chỉ SSL hợp lệ" -#: src/views/certificate/CertificateEditor.vue:122 +#: src/views/certificate/CertificateEditor.vue:129 #: src/views/site/cert/Cert.vue:32 #, fuzzy msgid "Certificate Status" @@ -349,7 +375,7 @@ msgstr "Chứng chỉ" msgid "Certificates List" msgstr "Danh sách chứng chỉ" -#: src/views/site/cert/components/AutoCertStepOne.vue:67 +#: src/views/site/cert/components/AutoCertStepOne.vue:66 msgid "Challenge Method" msgstr "Phương pháp xác thực" @@ -366,16 +392,16 @@ msgid_plural "Changed Certificates" msgstr[0] "Thay đổi chứng chỉ" msgstr[1] "Thay đổi chứng chỉ" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 #, fuzzy msgid "Changed Path" msgstr "Thay đổi chứng chỉ" -#: src/views/environment/BatchUpgrader.vue:161 src/views/system/Upgrade.vue:189 +#: src/views/environment/BatchUpgrader.vue:162 src/views/system/Upgrade.vue:190 msgid "Channel" msgstr "Kênh" -#: src/views/system/Upgrade.vue:186 +#: src/views/system/Upgrade.vue:187 msgid "Check again" msgstr "Kiểm tra lại" @@ -384,12 +410,12 @@ msgid "Cleaning environment variables" msgstr "Xoá các biến môi trường" #: src/components/ChatGPT/ChatGPT.vue:283 -#: src/components/Notification/Notification.vue:91 +#: src/components/Notification/Notification.vue:140 #: src/views/notification/Notification.vue:45 msgid "Clear" msgstr "Xoá" -#: src/components/Notification/Notification.vue:42 +#: src/components/Notification/Notification.vue:90 #: src/views/notification/Notification.vue:13 #, fuzzy msgid "Cleared successfully" @@ -420,7 +446,7 @@ msgstr "Tệp cấu hình được kiểm tra thành công" msgid "Configuration Name" msgstr "Tên cấu hình" -#: src/views/config/ConfigList.vue:99 +#: src/views/config/ConfigList.vue:98 msgid "Configurations" msgstr "Cấu hình" @@ -432,7 +458,7 @@ msgstr "Cấu hình SSL" msgid "Connected" msgstr "Đã kết nối" -#: src/views/terminal/Terminal.vue:119 +#: src/views/terminal/Terminal.vue:120 msgid "Connection lost, please refresh the page." msgstr "" @@ -442,27 +468,28 @@ msgstr "" msgid "Content" msgstr "Nội dung" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 +#: src/components/StdDesign/StdDataDisplay/StdTableTransformer.tsx:150 msgid "Copied" msgstr "" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 msgid "Copy" msgstr "" -#: src/views/system/Upgrade.vue:147 +#: src/views/system/Upgrade.vue:148 msgid "Core Upgrade" msgstr "Cập nhật core" -#: src/views/dashboard/ServerAnalytic.vue:294 +#: src/views/dashboard/ServerAnalytic.vue:305 msgid "CPU Status" msgstr "Trạng thái CPU" -#: src/views/dashboard/ServerAnalytic.vue:188 +#: src/views/dashboard/ServerAnalytic.vue:199 msgid "CPU:" msgstr "CPU:" -#: src/views/site/ngx_conf/NgxUpstream.vue:163 +#: src/views/site/ngx_conf/NgxUpstream.vue:165 #, fuzzy msgid "Create" msgstr "Ngày tạo" @@ -471,12 +498,12 @@ msgstr "Ngày tạo" msgid "Create Another" msgstr "Tạo thêm" -#: src/views/config/ConfigList.vue:117 +#: src/views/config/ConfigList.vue:116 #, fuzzy msgid "Create File" msgstr "Ngày tạo" -#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:124 +#: src/views/config/components/Mkdir.vue:49 src/views/config/ConfigList.vue:123 #, fuzzy msgid "Create Folder" msgstr "Tạo thêm" @@ -487,7 +514,7 @@ msgstr "Tạo thêm" msgid "Created at" msgstr "Ngày tạo" -#: src/views/config/components/Mkdir.vue:33 +#: src/views/config/components/Mkdir.vue:35 #, fuzzy msgid "Created successfully" msgstr "Đã xóa thành công" @@ -504,15 +531,15 @@ msgstr "Chứng chỉ" msgid "Credentials" msgstr "Chứng chỉ" -#: src/views/preference/components/TOTP.vue:99 +#: src/views/preference/components/TOTP.vue:98 msgid "Current account is enabled TOTP." msgstr "" -#: src/views/preference/components/TOTP.vue:96 +#: src/views/preference/components/TOTP.vue:95 msgid "Current account is not enabled TOTP." msgstr "" -#: src/views/system/Upgrade.vue:166 +#: src/views/system/Upgrade.vue:167 msgid "Current Version" msgstr "Phiên bản hiện tại" @@ -521,18 +548,18 @@ msgstr "Phiên bản hiện tại" msgid "Custom" msgstr "Tuỳ chỉnh" -#: src/views/preference/BasicSettings.vue:46 +#: src/views/preference/BasicSettings.vue:34 msgid "" "Customize the name of local node to be displayed in the environment " "indicator." msgstr "" -#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:133 -#: src/views/config/ConfigEditor.vue:94 src/views/config/ConfigList.vue:65 +#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:136 +#: src/views/config/ConfigEditor.vue:97 src/views/config/ConfigList.vue:64 msgid "Dashboard" msgstr "Bảng điều khiển" -#: src/views/other/Install.vue:117 +#: src/views/other/Install.vue:121 msgid "Database (Optional, default: database)" msgstr "Tên cơ sở dữ liệu (Tuỳ chọn, Mặc định là: database)" @@ -540,15 +567,17 @@ msgstr "Tên cơ sở dữ liệu (Tuỳ chọn, Mặc định là: database)" msgid "Days" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:542 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:530 #: src/views/site/ngx_conf/NgxServer.vue:110 -#: src/views/site/ngx_conf/NgxUpstream.vue:126 -#: src/views/site/site_list/SiteList.vue:158 +#: src/views/site/ngx_conf/NgxUpstream.vue:128 +#: src/views/site/site_list/SiteList.vue:159 #: src/views/stream/StreamList.vue:175 msgid "Delete" msgstr "Xoá" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:571 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:35 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:559 msgid "Delete Permanently" msgstr "" @@ -562,7 +591,7 @@ msgstr "Gia hạn chứng chỉ SSL thất bại" msgid "Delete Remote Site Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/views/site/site_list/SiteList.vue:68 +#: src/views/site/site_list/SiteList.vue:69 msgid "Delete site: %{site_name}" msgstr "Xoá trang web: %{site_name}" @@ -571,12 +600,12 @@ msgstr "Xoá trang web: %{site_name}" msgid "Delete stream: %{stream_name}" msgstr "Xoá trang web: %{site_name}" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:196 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:183 #, fuzzy msgid "Deleted successfully" msgstr "Đã xoá thành công" -#: src/views/config/ConfigEditor.vue:284 +#: src/views/config/ConfigEditor.vue:287 #: src/views/stream/components/Deploy.vue:100 #: src/views/stream/components/RightSettings.vue:92 msgid "Deploy" @@ -621,13 +650,13 @@ msgstr "Directives" msgid "Directory" msgstr "Thư mục" -#: src/views/site/site_list/SiteList.vue:127 +#: src/views/site/site_list/SiteList.vue:128 #: src/views/stream/StreamList.vue:144 #, fuzzy msgid "Disable" msgstr "Tắt" -#: src/views/site/cert/components/ObtainCert.vue:77 +#: src/views/site/cert/components/ObtainCert.vue:82 msgid "Disable auto-renewal failed for %{name}" msgstr "Tắt tự động gia hạn SSL cho %{name} thất bại" @@ -653,21 +682,21 @@ msgstr "Đã bật %{conf_name} trên %{node_name}" #: src/views/environment/envColumns.tsx:109 #: src/views/environment/envColumns.tsx:92 -#: src/views/site/site_edit/SiteEdit.vue:177 -#: src/views/site/site_list/columns.tsx:49 -#: src/views/site/site_list/columns.tsx:58 src/views/stream/StreamEdit.vue:175 +#: src/views/site/site_edit/SiteEdit.vue:190 +#: src/views/site/site_list/columns.tsx:51 +#: src/views/site/site_list/columns.tsx:60 src/views/stream/StreamEdit.vue:175 #: src/views/stream/StreamList.vue:33 src/views/user/userColumns.tsx:41 msgid "Disabled" msgstr "Đã tắt" #: src/views/site/site_edit/RightSettings.vue:42 -#: src/views/site/site_list/SiteList.vue:57 +#: src/views/site/site_list/SiteList.vue:58 #: src/views/stream/components/RightSettings.vue:38 #: src/views/stream/StreamList.vue:67 msgid "Disabled successfully" msgstr "Đã tắt thành công" -#: src/views/dashboard/ServerAnalytic.vue:359 +#: src/views/dashboard/ServerAnalytic.vue:370 msgid "Disk IO" msgstr "Disk IO" @@ -680,11 +709,11 @@ msgstr "Xác thực DNS" msgid "DNS Provider" msgstr "Nhà cung cấp DNS" -#: src/views/site/cert/components/AutoCertStepOne.vue:74 +#: src/views/site/cert/components/AutoCertStepOne.vue:73 msgid "DNS01" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:99 +#: src/views/site/cert/components/AutoCertStepOne.vue:98 msgid "Do not enable this option unless you are sure that you need it." msgstr "" @@ -695,7 +724,7 @@ msgid_plural "Do you want to deploy this file to remote servers?" msgstr[0] "Bạn có muốn triển khai tệp này đến máy chủ từ xa không?" msgstr[1] "Bạn có muốn triển khai tệp này đến máy chủ từ xa không?" -#: src/views/site/cert/components/ObtainCert.vue:133 +#: src/views/site/cert/components/ObtainCert.vue:136 msgid "Do you want to disable auto-cert renewal?" msgstr "Bạn muốn tắt tự động gia hạn chứng chỉ SSL ?" @@ -729,7 +758,7 @@ msgstr "Bạn muốn bật TLS ?" msgid "Do you want to remove this server?" msgstr "Bạn muốn xóa máy chủ này ?" -#: src/views/site/ngx_conf/NgxUpstream.vue:29 +#: src/views/site/ngx_conf/NgxUpstream.vue:30 #, fuzzy msgid "Do you want to remove this upstream?" msgstr "Bạn muốn xóa máy chủ này ?" @@ -742,11 +771,11 @@ msgstr "" msgid "Domain Config Created Successfully" msgstr "Tên miền đã được tạo" -#: src/views/certificate/CertificateEditor.vue:106 +#: src/views/certificate/CertificateEditor.vue:113 msgid "Domains list is empty, try to reopen Auto Cert for %{config}" msgstr "" -"Danh sách tên miền rỗng, hãy thử mở lại chức năng Tạo chứng chỉ tự động cho " -"%{config}" +"Danh sách tên miền rỗng, hãy thử mở lại chức năng Tạo chứng chỉ tự động cho %" +"{config}" #: src/language/constants.ts:26 msgid "Download latest release error" @@ -756,7 +785,7 @@ msgstr "Đã có lỗi xảy ra khi tải về phiên bản mới nhất" msgid "Downloading latest release" msgstr "Đang tải phiên bản mới nhất" -#: src/views/environment/BatchUpgrader.vue:190 src/views/system/Upgrade.vue:216 +#: src/views/environment/BatchUpgrader.vue:191 src/views/system/Upgrade.vue:217 msgid "Dry run mode enabled" msgstr "Đã bật chế độ Dry run" @@ -767,7 +796,7 @@ msgid "" msgstr "" #: src/views/site/site_list/SiteDuplicate.vue:74 -#: src/views/site/site_list/SiteList.vue:143 +#: src/views/site/site_list/SiteList.vue:144 #: src/views/stream/components/StreamDuplicate.vue:121 #: src/views/stream/StreamList.vue:160 msgid "Duplicate" @@ -794,12 +823,17 @@ msgstr "Nhân bản thành công" msgid "Duplicate to local successfully" msgstr "Đã sao chép thành công vào máy cục bộ" -#: src/views/site/site_edit/SiteEdit.vue:166 +#: src/components/StdDesign/StdDetail/StdDetail.vue:110 +#, fuzzy +msgid "Edit" +msgstr "Sửa %{n}" + +#: src/views/site/site_edit/SiteEdit.vue:179 #: src/views/stream/StreamEdit.vue:164 msgid "Edit %{n}" msgstr "Sửa %{n}" -#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:206 msgid "Edit Configuration" msgstr "Sửa cấu hình" @@ -817,11 +851,11 @@ msgstr "Sửa trang web" msgid "Email" msgstr "Email (*)" -#: src/views/other/Install.vue:86 +#: src/views/other/Install.vue:90 msgid "Email (*)" msgstr "Email (*)" -#: src/views/site/site_list/SiteList.vue:135 +#: src/views/site/site_list/SiteList.vue:136 #: src/views/stream/components/Deploy.vue:80 #: src/views/stream/StreamList.vue:152 #, fuzzy @@ -836,12 +870,12 @@ msgstr "Không thể bật %{conf_name} trên %{node_name}" msgid "Enable %{conf_name} in %{node_name} successfully" msgstr "Đã bật %{conf_name} trên %{node_name}" -#: src/views/preference/components/TOTP.vue:55 +#: src/views/preference/components/TOTP.vue:54 #, fuzzy msgid "Enable 2FA successfully" msgstr "Đã bật" -#: src/views/site/cert/components/ObtainCert.vue:70 +#: src/views/site/cert/components/ObtainCert.vue:75 msgid "Enable auto-renewal failed for %{name}" msgstr "Không thể bật tự động gia hạn SSL cho %{name}" @@ -878,7 +912,7 @@ msgstr "Đã bật" msgid "Enable TLS" msgstr "Bật TLS" -#: src/views/preference/components/TOTP.vue:125 +#: src/views/preference/components/TOTP.vue:124 #, fuzzy msgid "Enable TOTP" msgstr "Bật TLS" @@ -887,9 +921,9 @@ msgstr "Bật TLS" #: src/views/environment/envColumns.tsx:106 #: src/views/preference/LogrotateSettings.vue:19 #: src/views/site/site_edit/RightSettings.vue:82 -#: src/views/site/site_edit/SiteEdit.vue:171 -#: src/views/site/site_list/columns.tsx:45 -#: src/views/site/site_list/columns.tsx:57 +#: src/views/site/site_edit/SiteEdit.vue:184 +#: src/views/site/site_list/columns.tsx:47 +#: src/views/site/site_list/columns.tsx:59 #: src/views/stream/components/RightSettings.vue:76 #: src/views/stream/StreamEdit.vue:169 src/views/stream/StreamList.vue:29 #: src/views/user/userColumns.tsx:38 @@ -897,14 +931,14 @@ msgid "Enabled" msgstr "Đã bật" #: src/views/site/site_edit/RightSettings.vue:33 -#: src/views/site/site_list/SiteList.vue:47 src/views/site/SiteAdd.vue:40 +#: src/views/site/site_list/SiteList.vue:48 src/views/site/SiteAdd.vue:40 #: src/views/stream/components/RightSettings.vue:29 #: src/views/stream/components/StreamDuplicate.vue:93 #: src/views/stream/StreamList.vue:57 msgid "Enabled successfully" msgstr "Đã bật" -#: src/views/site/cert/IssueCert.vue:49 +#: src/views/site/cert/IssueCert.vue:48 msgid "Encrypt website with Let's Encrypt" msgstr "Bảo mật trang web với Let's Encrypt" @@ -927,11 +961,11 @@ msgstr "Environments" msgid "Error" msgstr "Lỗi" -#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:84 +#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:83 msgid "Error Logs" msgstr "Log lỗi" -#: src/views/system/Upgrade.vue:178 +#: src/views/system/Upgrade.vue:179 msgid "Executable Path" msgstr "Đường dẫn thực thi" @@ -945,7 +979,7 @@ msgstr "Đã hết hạn" msgid "Expired At: %{date}" msgstr "Ngày hết hạn: %{date}" -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:66 msgid "Export" msgstr "Xuất" @@ -955,14 +989,14 @@ msgid "Fail to obtain certificate" msgstr "Nhận chứng chỉ" #: src/views/site/site_edit/RightSettings.vue:45 -#: src/views/site/site_list/SiteList.vue:61 +#: src/views/site/site_list/SiteList.vue:62 #: src/views/stream/components/RightSettings.vue:41 #: src/views/stream/StreamList.vue:71 msgid "Failed to disable %{msg}" msgstr "Không thể tắt %{msg}" #: src/views/site/site_edit/RightSettings.vue:36 -#: src/views/site/site_list/SiteList.vue:51 +#: src/views/site/site_list/SiteList.vue:52 #: src/views/stream/components/RightSettings.vue:32 #: src/views/stream/StreamList.vue:61 msgid "Failed to enable %{msg}" @@ -972,7 +1006,7 @@ msgstr "Không thể bật %{msg}" msgid "Failed to get certificate information" msgstr "Không thể truy xuất thông tin chứng chỉ" -#: src/views/site/site_edit/SiteEdit.vue:123 +#: src/views/site/site_edit/SiteEdit.vue:135 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." msgstr "Không lưu được, đã phát hiện thấy (các) lỗi cú pháp trong cấu hình." @@ -989,7 +1023,7 @@ msgstr "Tệp tin đã tồn tại" msgid "File Not Found" msgstr "Không tìm thấy tệp tin" -#: src/views/nginx_log/NginxLog.vue:154 +#: src/views/nginx_log/NginxLog.vue:155 msgid "Filter" msgstr "Lọc" @@ -1003,21 +1037,26 @@ msgid "" "process." msgstr "" -#: src/views/preference/BasicSettings.vue:38 +#: src/views/preference/BasicSettings.vue:59 +#: src/views/preference/BasicSettings.vue:71 +msgid "For Chinese user" +msgstr "" + +#: src/views/preference/BasicSettings.vue:47 #, fuzzy msgid "For Chinese user: https://mirror.ghproxy.com/" msgstr "Người dùng Trung Quốc: https://mirror.ghproxy.com/" -#: src/views/config/ConfigEditor.vue:216 +#: src/views/config/ConfigEditor.vue:218 msgid "Format Code" msgstr "Định dạng code" -#: src/views/config/ConfigEditor.vue:183 +#: src/views/config/ConfigEditor.vue:185 #, fuzzy msgid "Format error %{msg}" msgstr "Lưu lỗi %{msg}" -#: src/views/config/ConfigEditor.vue:181 +#: src/views/config/ConfigEditor.vue:183 #, fuzzy msgid "Format successfully" msgstr "Định dạng thành công" @@ -1027,7 +1066,7 @@ msgstr "Định dạng thành công" msgid "General Certificate" msgstr "Chứng chỉ chung" -#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:52 +#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:55 msgid "Generate" msgstr "Tạo" @@ -1035,7 +1074,7 @@ msgstr "Tạo" msgid "Generating private key for registering account" msgstr "Tạo khóa riêng để đăng ký tài khoản" -#: src/views/environment/BatchUpgrader.vue:179 src/views/system/Upgrade.vue:170 +#: src/views/environment/BatchUpgrader.vue:180 src/views/system/Upgrade.vue:171 #, fuzzy msgid "Get release information error" msgstr "Nhận lỗi thông tin phát hành" @@ -1044,11 +1083,11 @@ msgstr "Nhận lỗi thông tin phát hành" msgid "Getting the certificate, please wait..." msgstr "Đang lấy chứng chỉ, vui lòng đợi..." -#: src/views/preference/BasicSettings.vue:30 +#: src/views/preference/BasicSettings.vue:39 msgid "Github Proxy" msgstr "" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Hide" msgstr "" @@ -1068,10 +1107,14 @@ msgstr "" msgid "HTTP Port" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:71 +#: src/views/site/cert/components/AutoCertStepOne.vue:70 msgid "HTTP01" msgstr "" +#: src/views/preference/BasicSettings.vue:51 +msgid "ICP Number" +msgstr "" + #: src/views/certificate/ACMEUser.vue:45 msgid "If left blank, the default CA Dir will be used." msgstr "" @@ -1082,7 +1125,7 @@ msgid "" "ban threshold minutes, the ip will be banned for a period of time." msgstr "" -#: src/views/preference/components/TOTP.vue:111 +#: src/views/preference/components/TOTP.vue:110 msgid "" "If you lose your mobile phone, you can use the recovery code to reset your " "2FA." @@ -1092,7 +1135,7 @@ msgstr "" msgid "If your browser supports WebAuthn Passkey, a dialog box will appear." msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:109 +#: src/views/site/cert/components/AutoCertStepOne.vue:108 msgid "" "If your domain has CNAME records and you cannot obtain certificates, you " "need to enable this option." @@ -1103,16 +1146,17 @@ msgstr "" msgid "Import" msgstr "Xuất" -#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:86 #, fuzzy msgid "Import Certificate" msgstr "Chứng chỉ" -#: src/views/other/Login.vue:77 +#: src/views/other/Login.vue:78 #, 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" +#: src/components/StdDesign/StdDetail/StdDetail.vue:81 #: src/constants/index.ts:18 src/views/notification/notificationColumns.tsx:29 msgid "Info" msgstr "Thông tin" @@ -1125,20 +1169,20 @@ msgstr "Không thể khởi tạo trình nâng cấp" msgid "Initialing core upgrader" msgstr "Đang khởi tạo trình nâng cấp" -#: src/views/preference/components/TOTP.vue:158 +#: src/views/preference/components/TOTP.vue:157 msgid "Input the code from the app:" msgstr "" #: src/components/TwoFA/Authorization.vue:87 -#: src/views/preference/components/TOTP.vue:171 +#: src/views/preference/components/TOTP.vue:170 msgid "Input the recovery code:" msgstr "" -#: src/routes/index.ts:305 src/views/other/Install.vue:132 +#: src/routes/index.ts:305 src/views/other/Install.vue:136 msgid "Install" msgstr "Cài đặt" -#: src/views/other/Install.vue:63 +#: src/views/other/Install.vue:67 #, fuzzy msgid "Install successfully" msgstr "Cài đặt thành công" @@ -1152,21 +1196,21 @@ msgstr "" msgid "Invalid" msgstr "Hợp lệ" -#: src/views/other/Login.vue:87 +#: src/views/other/Login.vue:88 msgid "Invalid 2FA or recovery code" msgstr "" -#: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:250 +#: src/views/config/components/Rename.vue:66 +#: src/views/config/ConfigEditor.vue:252 #, fuzzy msgid "Invalid filename" msgstr "E-mail không chính xác!" -#: src/views/config/components/Mkdir.vue:57 +#: src/views/config/components/Mkdir.vue:59 msgid "Invalid folder name" msgstr "" -#: src/components/TwoFA/use2FAModal.ts:60 +#: src/components/TwoFA/use2FAModal.ts:61 msgid "Invalid passcode or recovery code" msgstr "" @@ -1198,12 +1242,12 @@ msgid "Jwt Secret" msgstr "" #: src/views/certificate/CertificateList/certColumns.tsx:62 -#: src/views/site/cert/components/AutoCertStepOne.vue:78 +#: src/views/site/cert/components/AutoCertStepOne.vue:77 #, fuzzy msgid "Key Type" msgstr "Loại" -#: src/views/system/Upgrade.vue:180 +#: src/views/system/Upgrade.vue:181 msgid "Last checked at" msgstr "Kiểm tra lần cuối lúc" @@ -1230,13 +1274,13 @@ msgstr "Bỏ trống nếu không thay đổi" msgid "Leave blank if you don't need this." msgstr "Bỏ trống nếu không thay đổi" -#: src/views/certificate/CertificateEditor.vue:214 -#: src/views/certificate/CertificateEditor.vue:227 +#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:234 #, fuzzy msgid "Leave blank will not change anything" msgstr "Bỏ trống nếu không thay đổi" -#: src/views/site/cert/components/AutoCertStepOne.vue:106 +#: src/views/site/cert/components/AutoCertStepOne.vue:105 msgid "Lego disable CNAME Support" msgstr "" @@ -1250,11 +1294,11 @@ msgstr "Giấy phép" msgid "Link Start" msgstr "Liên kết bắt đầu" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:199 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:178 msgid "List" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:176 +#: src/views/dashboard/ServerAnalytic.vue:187 #, fuzzy msgid "Load Average:" msgstr "Tải trung bình:" @@ -1269,7 +1313,7 @@ msgid "Load successfully" msgstr "Lưu thành công" #: src/components/EnvIndicator/EnvIndicator.vue:39 -#: src/components/NodeSelector/NodeSelector.vue:70 +#: src/components/NodeSelector/NodeSelector.vue:80 #, fuzzy msgid "Local" msgstr "Location" @@ -1282,24 +1326,24 @@ msgstr "Location" msgid "Locations" msgstr "Locations" -#: src/views/certificate/CertificateEditor.vue:237 +#: src/views/certificate/CertificateEditor.vue:244 #, fuzzy msgid "Log" msgstr "Log" -#: src/routes/index.ts:311 src/views/other/Login.vue:245 +#: src/routes/index.ts:311 src/views/other/Login.vue:246 msgid "Login" msgstr "Đăng nhập" -#: src/views/other/Login.vue:131 src/views/other/Login.vue:64 +#: src/views/other/Login.vue:132 src/views/other/Login.vue:65 msgid "Login successful" msgstr "Đăng nhập thành công" -#: src/layouts/HeaderLayout.vue:19 +#: src/layouts/HeaderLayout.vue:20 msgid "Logout successful" msgstr "Đã đăng xuất" -#: src/views/preference/Preference.vue:176 +#: src/views/preference/Preference.vue:178 msgid "Logrotate" msgstr "" @@ -1313,7 +1357,7 @@ msgid "" "minutes." msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:54 +#: src/views/site/cert/components/AutoCertStepOne.vue:53 #, fuzzy msgid "" "Make sure you have configured a reverse proxy for .well-known directory to " @@ -1322,12 +1366,12 @@ msgstr "" "Đảm bảo rằng bạn đã định cấu hình proxy ngược (reverse proxy) thư mục .well-" "known tới HTTPChallengePort (default: 9180) trước khi ký chứng chỉ SSL." -#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:138 -#: src/views/config/ConfigEditor.vue:99 src/views/config/ConfigList.vue:70 +#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:102 +#: src/views/config/ConfigEditor.vue:141 src/views/config/ConfigList.vue:69 msgid "Manage Configs" msgstr "Quản lý cấu hình" -#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:97 +#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:98 msgid "Manage Sites" msgstr "Quản lý Website" @@ -1348,12 +1392,12 @@ msgstr "" msgid "Max Attempts" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:215 -#: src/views/dashboard/ServerAnalytic.vue:216 +#: src/views/dashboard/ServerAnalytic.vue:226 +#: src/views/dashboard/ServerAnalytic.vue:227 msgid "Memory" msgstr "Memory" -#: src/views/dashboard/ServerAnalytic.vue:205 +#: src/views/dashboard/ServerAnalytic.vue:216 msgid "Memory and Storage" msgstr "Memory và Storage" @@ -1367,14 +1411,14 @@ msgid "Model" msgstr "Run Mode" #: src/components/ChatGPT/ChatGPT.vue:256 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:520 -#: src/views/config/ConfigList.vue:159 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:508 +#: src/views/config/ConfigList.vue:158 #, fuzzy msgid "Modify" msgstr "Sửa" -#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:86 #, fuzzy msgid "Modify Certificate" msgstr "Sửa chứng chỉ" @@ -1383,7 +1427,7 @@ msgstr "Sửa chứng chỉ" msgid "Modify Config" msgstr "Sửa cấu hình" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 #, fuzzy msgid "Modify Mode" msgstr "Sửa" @@ -1394,13 +1438,13 @@ msgid "Multi-line Directive" msgstr "Single Directive" #: src/views/certificate/ACMEUser.vue:13 -#: src/views/certificate/CertificateEditor.vue:154 +#: src/views/certificate/CertificateEditor.vue:161 #: src/views/certificate/CertificateList/certColumns.tsx:10 #: src/views/certificate/DNSCredential.vue:11 -#: src/views/config/components/Mkdir.vue:64 src/views/config/configColumns.ts:8 -#: src/views/config/ConfigEditor.vue:256 src/views/environment/envColumns.tsx:9 +#: src/views/config/components/Mkdir.vue:66 src/views/config/configColumns.ts:8 +#: src/views/config/ConfigEditor.vue:258 src/views/environment/envColumns.tsx:9 #: src/views/preference/components/AddPasskey.vue:81 -#: src/views/site/ngx_conf/NgxUpstream.vue:175 +#: src/views/site/ngx_conf/NgxUpstream.vue:177 #: src/views/site/site_category/columns.ts:7 #: src/views/site/site_edit/RightSettings.vue:88 #: src/views/site/site_list/columns.tsx:13 @@ -1411,43 +1455,43 @@ msgstr "Single Directive" msgid "Name" msgstr "Tên" -#: src/views/dashboard/ServerAnalytic.vue:320 +#: src/views/dashboard/ServerAnalytic.vue:331 msgid "Network" msgstr "Mạng" -#: src/views/dashboard/ServerAnalytic.vue:262 +#: src/views/dashboard/ServerAnalytic.vue:273 msgid "Network Statistics" msgstr "Thống kê mạng" -#: src/views/dashboard/ServerAnalytic.vue:269 +#: src/views/dashboard/ServerAnalytic.vue:280 msgid "Network Total Receive" msgstr "Tổng lưu lượng mạng đã nhận" -#: src/views/dashboard/ServerAnalytic.vue:275 +#: src/views/dashboard/ServerAnalytic.vue:286 msgid "Network Total Send" msgstr "Tổng lưu lượng mạng đã gửi" -#: src/views/config/components/Rename.vue:73 +#: src/views/config/components/Rename.vue:74 #, fuzzy msgid "New name" msgstr "Username" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 #, fuzzy msgid "New Path" msgstr "Đường dẫn" -#: src/views/system/Upgrade.vue:209 +#: src/views/system/Upgrade.vue:210 msgid "New version released" msgstr "Đã có phiên bản mới" #: src/views/certificate/WildcardCertificate.vue:91 -#: src/views/site/cert/components/ObtainCert.vue:208 +#: src/views/site/cert/components/ObtainCert.vue:211 #: src/views/site/SiteAdd.vue:141 msgid "Next" msgstr "Tiếp theo" -#: src/views/preference/Preference.vue:164 +#: src/views/preference/Preference.vue:166 msgid "Nginx" msgstr "" @@ -1455,7 +1499,7 @@ msgstr "" msgid "Nginx Access Log Path" msgstr "Vị trí lưu log truy cập (Access log) của Nginx" -#: src/views/site/site_edit/SiteEdit.vue:209 +#: src/views/site/site_edit/SiteEdit.vue:223 #: src/views/stream/StreamEdit.vue:207 #, fuzzy msgid "Nginx Configuration Parse Error" @@ -1478,7 +1522,7 @@ msgstr "Vị trí lưu log lỗi (Error log) của Nginx" msgid "Nginx is not running" msgstr "" -#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:147 +#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:148 msgid "Nginx Log" msgstr "" @@ -1510,22 +1554,23 @@ msgid "Nginx restarted successfully" msgstr "Restart Nginx thành công" #: src/components/ChatGPT/ChatGPT.vue:277 -#: src/components/Notification/Notification.vue:84 +#: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:67 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:533 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:547 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:562 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:96 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:521 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:550 #: src/views/notification/Notification.vue:38 #: src/views/preference/AuthSettings.vue:138 #: src/views/preference/CertSettings.vue:70 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:90 #: src/views/site/ngx_conf/LocationEditor.vue:90 -#: src/views/site/site_list/SiteList.vue:147 +#: src/views/site/site_list/SiteList.vue:148 #: src/views/stream/StreamList.vue:164 msgid "No" msgstr "Không" -#: src/views/preference/BasicSettings.vue:42 +#: src/views/preference/BasicSettings.vue:30 #, fuzzy msgid "Node name" msgstr "Username" @@ -1547,7 +1592,7 @@ msgid "Not Valid Before: %{date}" msgstr "Không hợp lệ trước: %{date}" #: src/views/certificate/DNSCredential.vue:49 -#: src/views/site/cert/components/AutoCertStepOne.vue:40 +#: src/views/site/cert/components/AutoCertStepOne.vue:39 msgid "Note" msgstr "Ghi chú" @@ -1562,12 +1607,12 @@ msgstr "" msgid "Notification" msgstr "Thông báo" -#: src/components/Notification/Notification.vue:82 src/routes/index.ts:248 +#: src/components/Notification/Notification.vue:131 src/routes/index.ts:248 #, fuzzy msgid "Notifications" msgstr "Thông báo" -#: src/views/site/cert/components/ObtainCert.vue:179 +#: src/views/site/cert/components/ObtainCert.vue:182 #, fuzzy msgid "Obtain certificate" msgstr "Nhận chứng chỉ" @@ -1576,39 +1621,40 @@ msgstr "Nhận chứng chỉ" msgid "Obtaining certificate" msgstr "Đang nhận chứng chỉ" -#: src/views/site/cert/components/AutoCertStepOne.vue:96 +#: src/views/site/cert/components/AutoCertStepOne.vue:95 msgid "OCSP Must Staple" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:100 +#: src/views/site/cert/components/AutoCertStepOne.vue:99 msgid "" "OCSP Must Staple may cause errors for some users on first access using " "Firefox." msgstr "" -#: src/components/NodeSelector/NodeSelector.vue:93 +#: src/components/NodeSelector/NodeSelector.vue:103 #: src/views/dashboard/Environments.vue:107 #: src/views/environment/envColumns.tsx:87 msgid "Offline" msgstr "Ngoại tuyến" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:262 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:183 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:252 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:522 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:536 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:551 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:181 msgid "Ok" msgstr "" #: src/components/ChatGPT/ChatGPT.vue:278 -#: src/components/Notification/Notification.vue:85 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:534 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:548 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:563 +#: src/components/Notification/Notification.vue:134 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:97 #: src/views/notification/Notification.vue:39 -#: src/views/site/cert/components/ObtainCert.vue:136 +#: src/views/site/cert/components/ObtainCert.vue:139 #: src/views/site/ngx_conf/NgxConfigEditor.vue:50 #: src/views/site/ngx_conf/NgxServer.vue:79 -#: src/views/site/ngx_conf/NgxUpstream.vue:32 +#: src/views/site/ngx_conf/NgxUpstream.vue:33 #: src/views/site/site_edit/RightSettings.vue:54 -#: src/views/site/site_list/SiteList.vue:148 +#: src/views/site/site_list/SiteList.vue:149 #: src/views/stream/components/Deploy.vue:19 #: src/views/stream/components/RightSettings.vue:50 #: src/views/stream/StreamList.vue:165 @@ -1619,40 +1665,40 @@ msgstr "" msgid "Once the verification is complete, the records will be removed." msgstr "Sau khi quá trình xác minh hoàn tất, bản ghi sẽ bị xóa." -#: src/components/NodeSelector/NodeSelector.vue:73 -#: src/components/NodeSelector/NodeSelector.vue:87 +#: src/components/NodeSelector/NodeSelector.vue:83 +#: src/components/NodeSelector/NodeSelector.vue:97 #: src/views/dashboard/Environments.vue:100 #: src/views/environment/envColumns.tsx:83 msgid "Online" msgstr "Trực tuyến" -#: src/views/preference/Preference.vue:170 +#: src/views/preference/Preference.vue:172 msgid "OpenAI" msgstr "" -#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:254 +#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:255 msgid "Or" msgstr "" -#: src/views/config/components/Rename.vue:69 +#: src/views/config/components/Rename.vue:70 msgid "Original name" msgstr "" -#: src/views/system/Upgrade.vue:176 +#: src/views/system/Upgrade.vue:177 #, fuzzy msgid "OS" msgstr "Hệ điều hành" -#: src/views/dashboard/ServerAnalytic.vue:182 +#: src/views/dashboard/ServerAnalytic.vue:193 msgid "OS:" msgstr "Hệ điều hành:" -#: src/views/config/ConfigEditor.vue:293 +#: src/views/config/ConfigEditor.vue:296 #: src/views/stream/components/Deploy.vue:84 msgid "Overwrite" msgstr "Ghi đè" -#: src/views/config/ConfigEditor.vue:297 +#: src/views/config/ConfigEditor.vue:300 #: src/views/stream/components/Deploy.vue:88 msgid "Overwrite exist file" msgstr "Ghi đè tập tin đã tồn tại" @@ -1672,21 +1718,25 @@ msgid "" "password replacement or as a 2FA method." msgstr "" -#: src/views/other/Login.vue:206 src/views/user/userColumns.tsx:18 +#: src/views/other/Login.vue:207 src/views/user/userColumns.tsx:18 msgid "Password" msgstr "Mật khẩu" -#: src/views/other/Install.vue:106 +#: src/views/other/Install.vue:110 msgid "Password (*)" msgstr "Mật khẩu (*)" -#: src/views/config/ConfigEditor.vue:262 +#: src/views/other/Install.vue:48 +msgid "Password length cannot exceed 20 characters" +msgstr "" + +#: src/views/config/ConfigEditor.vue:265 #: src/views/site/ngx_conf/LocationEditor.vue:111 #: src/views/site/ngx_conf/LocationEditor.vue:139 msgid "Path" msgstr "Đường dẫn" -#: src/views/environment/BatchUpgrader.vue:234 +#: src/views/environment/BatchUpgrader.vue:235 msgid "Perform" msgstr "" @@ -1715,11 +1765,11 @@ msgid "" msgstr "" "Vui lòng điền thông tin xác thực API do nhà cung cấp DNS của bạn cung cấp" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:127 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:107 msgid "Please fill in the required fields" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:58 +#: src/views/site/cert/components/AutoCertStepOne.vue:57 msgid "" "Please first add credentials in Certification > DNS Credentials, and then " "select one of the credentialsbelow to request the API of the DNS provider." @@ -1727,13 +1777,13 @@ msgstr "" "Trước tiên, vui lòng thêm thông tin xác thực trong Chứng chỉ > Thông tin xác " "thực DNS, sau đó chọn nhà cung cấp DNS" -#: src/views/config/components/Rename.vue:64 -#: src/views/config/ConfigEditor.vue:249 +#: src/views/config/components/Rename.vue:65 +#: src/views/config/ConfigEditor.vue:251 #, fuzzy msgid "Please input a filename" msgstr "Vui lòng nhập username!" -#: src/views/config/components/Mkdir.vue:56 +#: src/views/config/components/Mkdir.vue:58 #, fuzzy msgid "Please input a folder name" msgstr "Vui lòng nhập username!" @@ -1757,11 +1807,11 @@ msgstr "" msgid "Please input your E-mail!" msgstr "Vui lòng nhập E-mail của bạn!" -#: src/views/other/Install.vue:44 src/views/other/Login.vue:46 +#: src/views/other/Install.vue:44 src/views/other/Login.vue:47 msgid "Please input your password!" msgstr "Vui lòng nhập mật khẩu!" -#: src/views/other/Install.vue:38 src/views/other/Login.vue:40 +#: src/views/other/Install.vue:38 src/views/other/Login.vue:41 msgid "Please input your username!" msgstr "Vui lòng nhập username!" @@ -1789,13 +1839,13 @@ msgstr "" msgid "Please upgrade the remote Nginx UI to the latest version" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" -#: src/views/environment/BatchUpgrader.vue:169 -#: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195 -#: src/views/system/Upgrade.vue:246 +#: src/views/environment/BatchUpgrader.vue:170 +#: src/views/environment/BatchUpgrader.vue:223 src/views/system/Upgrade.vue:196 +#: src/views/system/Upgrade.vue:247 msgid "Pre-release" msgstr "" -#: src/routes/index.ts:266 src/views/preference/Preference.vue:141 +#: src/routes/index.ts:266 src/views/preference/Preference.vue:143 msgid "Preference" msgstr "Cài đặt" @@ -1824,35 +1874,40 @@ msgstr "Nhà cung cấp" msgid "Proxy" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:376 +#: src/views/preference/BasicSettings.vue:63 +msgid "Public Security Number" +msgstr "" + +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:387 msgid "Reads" msgstr "Đọc" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:327 +#: src/views/dashboard/ServerAnalytic.vue:338 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Receive" msgstr "Nhận" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:556 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:43 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:544 msgid "Recover" msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:204 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:191 #, fuzzy msgid "Recovered Successfully" msgstr "Xoá thành công" #: src/components/TwoFA/Authorization.vue:94 -#: src/views/preference/components/TOTP.vue:178 +#: src/views/preference/components/TOTP.vue:177 msgid "Recovery" msgstr "" -#: src/views/preference/components/TOTP.vue:104 +#: src/views/preference/components/TOTP.vue:103 msgid "Recovery Code" msgstr "" -#: src/views/preference/components/TOTP.vue:113 +#: src/views/preference/components/TOTP.vue:112 msgid "Recovery Code:" msgstr "" @@ -1904,12 +1959,12 @@ msgstr "Đăng ký người dùng" msgid "Registration Status" msgstr "Đăng ký người dùng" -#: src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:228 #, fuzzy msgid "Reinstall" msgstr "Cài lại" -#: src/views/system/Upgrade.vue:250 +#: src/views/system/Upgrade.vue:251 msgid "Release Note" msgstr "Ghi chú phát hành" @@ -1946,14 +2001,15 @@ msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" msgid "Remove successfully" msgstr "Xoá thành công" -#: src/components/Notification/Notification.vue:52 +#: src/components/Notification/Notification.vue:100 #, fuzzy msgid "Removed successfully" msgstr "Xoá thành công" -#: src/views/config/components/Rename.vue:55 -#: src/views/config/ConfigList.vue:167 -#: src/views/site/ngx_conf/NgxUpstream.vue:123 +#: src/views/config/components/ConfigName.vue:50 +#: src/views/config/components/Rename.vue:56 +#: src/views/config/ConfigList.vue:166 +#: src/views/site/ngx_conf/NgxUpstream.vue:125 #: src/views/site/site_edit/components/ConfigName.vue:46 #, fuzzy msgid "Rename" @@ -2000,18 +2056,19 @@ msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" msgid "Rename Site %{site} to %{new_site} on %{node} successfully" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" -#: src/views/config/components/Rename.vue:41 +#: src/views/config/components/Rename.vue:42 #, fuzzy msgid "Rename successfully" msgstr "Gia hạn chứng chỉ SSL" +#: src/views/config/components/ConfigName.vue:30 #: src/views/site/site_edit/components/ConfigName.vue:27 #, fuzzy msgid "Renamed successfully" msgstr "Gia hạn chứng chỉ SSL" -#: src/views/certificate/RenewCert.vue:43 -#: src/views/certificate/RenewCert.vue:47 +#: src/views/certificate/RenewCert.vue:45 +#: src/views/certificate/RenewCert.vue:49 #, fuzzy msgid "Renew Certificate" msgstr "Gia hạn chứng chỉ SSL" @@ -2026,7 +2083,7 @@ msgstr "Gia hạn chứng chỉ SSL thất bại" msgid "Renew Certificate Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/views/certificate/RenewCert.vue:25 +#: src/views/certificate/RenewCert.vue:27 #: src/views/certificate/WildcardCertificate.vue:48 #, fuzzy msgid "Renew successfully" @@ -2036,11 +2093,11 @@ msgstr "Gia hạn chứng chỉ SSL" msgid "Requested with wrong parameters" msgstr "Yêu cầu có chứa tham số sai" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:468 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:448 msgid "Reset" msgstr "Đặt lại" -#: src/views/preference/components/TOTP.vue:133 +#: src/views/preference/components/TOTP.vue:132 #, fuzzy msgid "Reset 2FA" msgstr "Đặt lại" @@ -2076,13 +2133,15 @@ msgstr "Running" #: src/components/ChatGPT/ChatGPT.vue:259 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:68 -#: src/views/certificate/CertificateEditor.vue:256 -#: src/views/config/ConfigEditor.vue:222 +#: src/components/StdDesign/StdDetail/StdDetail.vue:93 +#: src/views/certificate/CertificateEditor.vue:263 +#: src/views/config/components/ConfigName.vue:58 +#: src/views/config/ConfigEditor.vue:224 #: src/views/preference/components/Passkey.vue:136 -#: src/views/preference/Preference.vue:187 +#: src/views/preference/Preference.vue:189 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:120 #: src/views/site/site_edit/components/ConfigName.vue:54 -#: src/views/site/site_edit/SiteEdit.vue:256 +#: src/views/site/site_edit/SiteEdit.vue:271 #: src/views/stream/StreamEdit.vue:252 msgid "Save" msgstr "Lưu" @@ -2091,7 +2150,7 @@ msgstr "Lưu" msgid "Save Directive" msgstr "Lưu Directive" -#: src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:173 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:41 #: src/views/site/SiteAdd.vue:46 msgid "Save error %{msg}" @@ -2118,21 +2177,21 @@ msgid "Save Site %{site} to %{node} successfully" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117 -#: src/views/certificate/CertificateEditor.vue:46 -#: src/views/preference/Preference.vue:110 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:97 +#: src/views/certificate/CertificateEditor.vue:49 +#: src/views/preference/Preference.vue:112 #, fuzzy msgid "Save successfully" msgstr "Lưu thành công" -#: src/views/config/ConfigEditor.vue:167 +#: src/views/config/ConfigEditor.vue:169 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 -#: src/views/site/site_edit/SiteEdit.vue:140 src/views/site/SiteAdd.vue:37 +#: src/views/site/site_edit/SiteEdit.vue:152 src/views/site/SiteAdd.vue:37 #: src/views/stream/StreamEdit.vue:138 msgid "Saved successfully" msgstr "Lưu thành công" -#: src/views/preference/components/TOTP.vue:94 +#: src/views/preference/components/TOTP.vue:93 msgid "Scan the QR code with your mobile phone to add the account to the app." msgstr "" @@ -2140,49 +2199,49 @@ msgstr "" msgid "SDK" msgstr "" -#: src/views/preference/components/TOTP.vue:150 +#: src/views/preference/components/TOTP.vue:149 msgid "Secret has been copied" msgstr "" -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:184 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 msgid "Selector" msgstr "Bộ chọn" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:337 +#: src/views/dashboard/ServerAnalytic.vue:348 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Send" msgstr "Gửi" #: src/components/NginxControl/NginxControl.vue:32 #: src/components/NginxControl/NginxControl.vue:48 -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:44 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:124 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:53 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:207 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:249 -#: src/views/config/components/Mkdir.vue:36 -#: src/views/config/components/Rename.vue:44 -#: src/views/config/ConfigEditor.vue:108 -#: src/views/environment/BatchUpgrader.vue:58 -#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:66 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:70 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:194 +#: src/views/config/components/Mkdir.vue:38 +#: src/views/config/components/Rename.vue:45 +#: src/views/config/ConfigEditor.vue:111 +#: src/views/environment/BatchUpgrader.vue:59 +#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:70 #: src/views/preference/AuthSettings.vue:49 #: src/views/preference/components/Passkey.vue:26 #: src/views/preference/components/Passkey.vue:43 #: src/views/preference/components/Passkey.vue:56 -#: src/views/preference/components/TOTP.vue:45 -#: src/views/preference/components/TOTP.vue:58 -#: src/views/preference/Preference.vue:114 -#: src/views/site/site_list/SiteList.vue:39 -#: src/views/site/site_list/SiteList.vue:71 src/views/stream/StreamList.vue:113 -#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:41 +#: src/views/preference/components/TOTP.vue:44 +#: src/views/preference/components/TOTP.vue:57 +#: src/views/preference/Preference.vue:116 +#: src/views/site/site_list/SiteList.vue:40 +#: src/views/site/site_list/SiteList.vue:72 src/views/stream/StreamList.vue:113 +#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:42 msgid "Server error" msgstr "Lỗi máy chủ" -#: src/views/dashboard/ServerAnalytic.vue:168 +#: src/views/dashboard/ServerAnalytic.vue:179 msgid "Server Info" msgstr "Thông tin máy chủ" -#: src/views/site/cert/components/ObtainCert.vue:102 +#: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "không tìm thấy server_name trong directives" @@ -2209,11 +2268,11 @@ msgstr "Đặt biến môi trường" msgid "Setting HTTP01 challenge provider" msgstr "Sử dụng HTTP01 để xác thực SSL" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "" -#: src/views/other/Login.vue:263 +#: src/views/other/Login.vue:264 msgid "Sign in with a passkey" msgstr "" @@ -2234,29 +2293,29 @@ msgstr "Logs" msgid "Sites List" msgstr "Danh sách Website" -#: src/views/certificate/CertificateEditor.vue:205 +#: src/views/certificate/CertificateEditor.vue:212 msgid "SSL Certificate Content" msgstr "" -#: src/views/certificate/CertificateEditor.vue:218 +#: src/views/certificate/CertificateEditor.vue:225 msgid "SSL Certificate Key Content" msgstr "" -#: src/views/certificate/CertificateEditor.vue:184 +#: src/views/certificate/CertificateEditor.vue:191 msgid "SSL Certificate Key Path" msgstr "" -#: src/views/certificate/CertificateEditor.vue:169 +#: src/views/certificate/CertificateEditor.vue:176 msgid "SSL Certificate Path" msgstr "" -#: src/views/other/Login.vue:221 +#: src/views/other/Login.vue:222 msgid "SSO Login" msgstr "" -#: src/views/environment/BatchUpgrader.vue:166 -#: src/views/environment/BatchUpgrader.vue:216 src/views/system/Upgrade.vue:192 -#: src/views/system/Upgrade.vue:240 +#: src/views/environment/BatchUpgrader.vue:167 +#: src/views/environment/BatchUpgrader.vue:217 src/views/system/Upgrade.vue:193 +#: src/views/system/Upgrade.vue:241 #, fuzzy msgid "Stable" msgstr "Ổn định" @@ -2264,7 +2323,7 @@ msgstr "Ổn định" #: src/views/certificate/ACMEUser.vue:65 #: src/views/certificate/CertificateList/certColumns.tsx:68 #: src/views/environment/envColumns.tsx:75 -#: src/views/site/site_list/columns.tsx:38 src/views/stream/StreamList.vue:22 +#: src/views/site/site_list/columns.tsx:40 src/views/stream/StreamList.vue:22 msgid "Status" msgstr "Trạng thái" @@ -2272,8 +2331,8 @@ msgstr "Trạng thái" msgid "Stopped" msgstr "Đã dừng" -#: src/views/dashboard/ServerAnalytic.vue:243 -#: src/views/dashboard/ServerAnalytic.vue:244 +#: src/views/dashboard/ServerAnalytic.vue:254 +#: src/views/dashboard/ServerAnalytic.vue:255 msgid "Storage" msgstr "Storage" @@ -2281,8 +2340,8 @@ msgstr "Storage" msgid "Success" msgstr "Thành công" -#: src/views/dashboard/ServerAnalytic.vue:229 -#: src/views/dashboard/ServerAnalytic.vue:230 +#: src/views/dashboard/ServerAnalytic.vue:240 +#: src/views/dashboard/ServerAnalytic.vue:241 msgid "Swap" msgstr "Swap" @@ -2294,7 +2353,7 @@ msgstr "Sử dụng Dark theme" msgid "Switch to light theme" msgstr "Sử dụng Light theme" -#: src/views/config/components/Rename.vue:80 +#: src/views/config/components/Rename.vue:81 msgid "Sync" msgstr "" @@ -2360,7 +2419,7 @@ msgstr "" msgid "Sync strategy" msgstr "Gia hạn chứng chỉ SSL" -#: src/views/certificate/CertificateEditor.vue:198 +#: src/views/certificate/CertificateEditor.vue:205 msgid "Sync to" msgstr "" @@ -2380,7 +2439,7 @@ msgstr "" msgid "Target" msgstr "Mục tiêu" -#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:113 +#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:114 msgid "Terminal" msgstr "Terminal" @@ -2388,7 +2447,7 @@ msgstr "Terminal" msgid "Terminal Start Command" msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:50 +#: src/views/site/cert/components/AutoCertStepOne.vue:49 #, fuzzy msgid "" "The certificate for the domain will be checked 30 minutes, and will be " @@ -2398,39 +2457,51 @@ msgstr "" "Chứng chỉ cho miền sẽ được kiểm tra 5 phút / lần và sẽ được gia hạn nếu đã " "hơn 1 tuần kể từ lần cuối nó được cấp." -#: src/views/other/Install.vue:50 +#: src/views/other/Install.vue:54 msgid "The filename cannot contain the following characters: %{c}" msgstr "Tên tệp không thể chứa các ký tự sau: %{c}" -#: src/views/certificate/CertificateEditor.vue:208 +#: src/views/preference/BasicSettings.vue:54 +msgid "" +"The ICP Number should only contain letters, unicode, numbers, hyphens, " +"dashes, colons, and dots." +msgstr "" + +#: src/views/certificate/CertificateEditor.vue:215 msgid "The input is not a SSL Certificate" msgstr "" -#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:228 msgid "The input is not a SSL Certificate Key" msgstr "" #: src/views/preference/OpenAISettings.vue:35 msgid "" "The model name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." +"dashes, colons, and dots." msgstr "" -#: src/views/preference/BasicSettings.vue:45 +#: src/views/preference/BasicSettings.vue:33 msgid "" "The node name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." +"dashes, colons, and dots." msgstr "" -#: src/views/certificate/CertificateEditor.vue:173 +#: src/views/certificate/CertificateEditor.vue:180 msgid "The path exists, but the file is not a certificate" msgstr "" -#: src/views/certificate/CertificateEditor.vue:188 +#: src/views/certificate/CertificateEditor.vue:195 msgid "The path exists, but the file is not a private key" msgstr "" -#: src/views/preference/components/TOTP.vue:112 +#: src/views/preference/BasicSettings.vue:66 +msgid "" +"The Public Security Number should only contain letters, unicode, numbers, " +"hyphens, dashes, colons, and dots." +msgstr "" + +#: src/views/preference/components/TOTP.vue:111 msgid "" "The recovery code is only displayed once, please save it in a safe place." msgstr "" @@ -2442,7 +2513,7 @@ msgid "" "match the local version." msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:45 +#: src/views/site/cert/components/AutoCertStepOne.vue:44 #, fuzzy msgid "" "The server_name in the current configuration must be the domain name you " @@ -2450,7 +2521,7 @@ msgid "" msgstr "" "Lưu ý: server_name trong cấu hình hiện tại phải là tên miền bạn muốn ký SSL." -#: src/views/preference/BasicSettings.vue:33 +#: src/views/preference/BasicSettings.vue:42 #: src/views/preference/CertSettings.vue:19 msgid "The url is invalid" msgstr "" @@ -2464,17 +2535,17 @@ msgstr "" msgid "The username or password is incorrect" msgstr "Tên người dùng hoặc mật khẩu không chính xác" -#: src/views/certificate/CertificateEditor.vue:96 +#: src/views/certificate/CertificateEditor.vue:103 msgid "This Auto Cert item is invalid, please remove it." msgstr "Mục Chứng chỉ tự động này không hợp lệ, vui lòng xóa nó" -#: src/views/certificate/CertificateEditor.vue:86 +#: src/views/certificate/CertificateEditor.vue:93 msgid "This certificate is managed by Nginx UI" msgstr "Chứng chỉ này được quản lý bởi Nginx UI" -#: src/views/certificate/CertificateEditor.vue:157 -#: src/views/certificate/CertificateEditor.vue:171 -#: src/views/certificate/CertificateEditor.vue:186 +#: src/views/certificate/CertificateEditor.vue:164 +#: src/views/certificate/CertificateEditor.vue:178 +#: src/views/certificate/CertificateEditor.vue:193 msgid "This field is required" msgstr "" @@ -2502,7 +2573,7 @@ msgstr "" msgid "This value is already taken" msgstr "" -#: src/views/environment/BatchUpgrader.vue:184 +#: src/views/environment/BatchUpgrader.vue:185 msgid "" "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}." msgstr "" @@ -2521,7 +2592,7 @@ msgstr "" msgid "Title" msgstr "Tiêu đề" -#: src/views/preference/components/TOTP.vue:93 +#: src/views/preference/components/TOTP.vue:92 msgid "" "To enable it, you need to install the Google or Microsoft Authenticator app " "on your mobile phone." @@ -2548,33 +2619,40 @@ msgstr "" #: src/views/preference/OpenAISettings.vue:48 msgid "" -"To use a local large model, deploy it with vllm or imdeploy. They provide an " -"OpenAI-compatible API endpoint, so just set the baseUrl to your local API." +"To use a local large model, deploy it with ollama, vllm or imdeploy. They " +"provide an OpenAI-compatible API endpoint, so just set the baseUrl to your " +"local API." msgstr "" #: src/views/preference/OpenAISettings.vue:72 msgid "Token is not valid" msgstr "" -#: src/views/other/Login.vue:80 +#: src/views/other/Login.vue:81 msgid "Too many login failed attempts, please try again later" msgstr "" -#: src/views/preference/components/TOTP.vue:91 +#: src/components/StdDesign/StdDataDisplay/StdPagination.vue:40 +msgid "Total %{total} item" +msgid_plural "Total %{total} items" +msgstr[0] "" +msgstr[1] "" + +#: src/views/preference/components/TOTP.vue:90 msgid "TOTP" msgstr "" -#: src/views/preference/components/TOTP.vue:92 +#: src/views/preference/components/TOTP.vue:91 msgid "" "TOTP is a two-factor authentication method that uses a time-based one-time " "password algorithm." msgstr "" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:202 msgid "Trash" msgstr "" -#: src/components/TwoFA/use2FAModal.ts:66 +#: src/components/TwoFA/use2FAModal.ts:67 msgid "Two-factor authentication required" msgstr "" @@ -2591,27 +2669,27 @@ msgstr "Cập nhật thành công" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:275 +#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:278 #: src/views/environment/envColumns.tsx:119 #: src/views/site/site_category/columns.ts:20 #: src/views/site/site_edit/RightSettings.vue:100 -#: src/views/site/site_list/columns.tsx:64 +#: src/views/site/site_list/columns.tsx:67 #: src/views/stream/components/RightSettings.vue:85 #: src/views/stream/StreamList.vue:41 src/views/user/userColumns.tsx:54 msgid "Updated at" msgstr "Ngày cập nhật" -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:123 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:121 #, fuzzy msgid "Updated successfully" msgstr "Cập nhật thành công" #: src/routes/index.ts:290 src/views/environment/Environment.vue:55 -#: src/views/system/Upgrade.vue:144 src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228 msgid "Upgrade" msgstr "Cập nhật" -#: src/views/environment/BatchUpgrader.vue:139 +#: src/views/environment/BatchUpgrader.vue:140 #, fuzzy msgid "Upgraded Nginx UI on %{node} successfully 🎉" msgstr "Cập nhật thành công" @@ -2621,15 +2699,15 @@ msgstr "Cập nhật thành công" msgid "Upgraded successfully" msgstr "Cập nhật thành công" -#: src/views/environment/BatchUpgrader.vue:90 src/views/system/Upgrade.vue:78 +#: src/views/environment/BatchUpgrader.vue:91 src/views/system/Upgrade.vue:79 msgid "Upgrading Nginx UI, please wait..." msgstr "Đang cập nhật Nginx UI, vui lòng đợi..." -#: src/views/site/ngx_conf/NgxUpstream.vue:170 +#: src/views/site/ngx_conf/NgxUpstream.vue:172 msgid "Upstream Name" msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:172 +#: src/views/dashboard/ServerAnalytic.vue:183 msgid "Uptime:" msgstr "Thời gian hoạt động:" @@ -2650,15 +2728,15 @@ msgstr "" msgid "User" msgstr "Người dùng" -#: src/views/other/Login.vue:83 +#: src/views/other/Login.vue:84 msgid "User is banned" msgstr "" -#: src/views/other/Login.vue:196 src/views/user/userColumns.tsx:9 +#: src/views/other/Login.vue:197 src/views/user/userColumns.tsx:9 msgid "Username" msgstr "Username" -#: src/views/other/Install.vue:96 +#: src/views/other/Install.vue:100 msgid "Username (*)" msgstr "Username (*)" @@ -2673,22 +2751,22 @@ msgstr "Hợp lệ" msgid "Version" msgstr "Phiên bản hiện tại" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:506 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:494 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:103 msgid "View" msgstr "Xem" -#: src/components/Notification/Notification.vue:143 +#: src/components/Notification/Notification.vue:192 #, fuzzy msgid "View all notifications" msgstr "Xem tất cả thông báo" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 #, fuzzy msgid "View Details" msgstr "Chi tiết" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 #, fuzzy msgid "View Mode" msgstr "Cơ bản" @@ -2708,7 +2786,7 @@ msgstr "" "Chúng tôi sẽ thêm một hoặc nhiều bản ghi TXT để xác minh quyền sở hữu tên " "miền của bạn." -#: src/views/site/cert/components/ObtainCert.vue:134 +#: src/views/site/cert/components/ObtainCert.vue:137 msgid "" "We will remove the HTTPChallenge configuration from this file and reload the " "Nginx. Are you sure you want to continue?" @@ -2733,8 +2811,8 @@ msgid "" "site category and the nodes selected below will be synchronized." msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:366 +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:377 msgid "Writes" msgstr "Ghi" @@ -2753,11 +2831,11 @@ msgstr "Ghi chứng chỉ vào disk" msgid "Yes" msgstr "Có" -#: src/views/system/Upgrade.vue:203 +#: src/views/system/Upgrade.vue:204 msgid "You are using the latest version" msgstr "Bạn đang sử dụng phiên bản mới nhất" -#: src/views/system/Upgrade.vue:165 +#: src/views/system/Upgrade.vue:166 msgid "You can check Nginx UI upgrade at this page." msgstr "Bạn có thể kiểm tra nâng cấp Nginx UI tại trang này" diff --git a/app/src/language/zh_CN/app.po b/app/src/language/zh_CN/app.po index d63e8374..e8195330 100644 --- a/app/src/language/zh_CN/app.po +++ b/app/src/language/zh_CN/app.po @@ -25,7 +25,7 @@ msgstr "2FA 设置" msgid "About" msgstr "关于" -#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:76 +#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:75 msgid "Access Logs" msgstr "访问日志" @@ -42,17 +42,17 @@ msgstr "ACME 用户" #: src/views/notification/notificationColumns.tsx:62 #: src/views/preference/AuthSettings.vue:26 #: src/views/site/site_category/columns.ts:26 -#: src/views/site/site_list/columns.tsx:70 src/views/stream/StreamList.vue:47 +#: src/views/site/site_list/columns.tsx:74 src/views/stream/StreamList.vue:47 #: src/views/user/userColumns.tsx:60 msgid "Action" msgstr "操作" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:177 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:209 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:191 #: src/views/preference/CertSettings.vue:42 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:117 #: src/views/site/ngx_conf/NgxServer.vue:162 -#: src/views/site/ngx_conf/NgxUpstream.vue:152 +#: src/views/site/ngx_conf/NgxUpstream.vue:154 #: src/views/stream/StreamList.vue:121 msgid "Add" msgstr "添加" @@ -62,8 +62,8 @@ msgstr "添加" msgid "Add a passkey" msgstr "添加 Passkey" -#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:143 -#: src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:146 +#: src/views/config/ConfigEditor.vue:206 msgid "Add Configuration" msgstr "添加配置" @@ -92,7 +92,7 @@ msgstr "添加成功" msgid "Additional" msgstr "额外选项" -#: src/views/site/site_edit/SiteEdit.vue:191 +#: src/views/site/site_edit/SiteEdit.vue:205 #: src/views/stream/StreamEdit.vue:189 msgid "Advance Mode" msgstr "高级模式" @@ -101,7 +101,8 @@ msgstr "高级模式" msgid "Afterwards, refresh this page and click add passkey again." msgstr "然后,刷新此页面并再次点击添加 Passkey。" -#: src/views/site/site_list/SiteList.vue:101 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:425 +#: src/views/site/site_list/SiteList.vue:102 msgid "All" msgstr "全部" @@ -121,7 +122,19 @@ msgstr "API 代理" msgid "API Token" msgstr "API Token" -#: src/views/system/Upgrade.vue:177 +#: src/views/preference/OpenAISettings.vue:78 +msgid "API Type" +msgstr "API 类型" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:105 +msgid "Apply" +msgstr "应用" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:67 +msgid "Apply bulk action successfully" +msgstr "批量操作应用成功" + +#: src/views/system/Upgrade.vue:178 msgid "Arch" msgstr "架构" @@ -133,7 +146,11 @@ msgstr "您确定要立即删除这个被禁用的 IP 吗?" msgid "Are you sure to delete this passkey immediately?" msgstr "您确定要立即删除这个 Passkey 吗?" -#: src/components/Notification/Notification.vue:86 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:98 +msgid "Are you sure you want to apply to all selected?" +msgstr "您确定要应用于所有选定的对象吗?" + +#: src/components/Notification/Notification.vue:135 #: src/views/notification/Notification.vue:40 msgid "Are you sure you want to clear all notifications?" msgstr "您确定要清除所有通知吗?" @@ -142,20 +159,20 @@ msgstr "您确定要清除所有通知吗?" msgid "Are you sure you want to clear the record of chat?" msgstr "你确定你要清除聊天记录吗?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:564 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:552 msgid "Are you sure you want to delete this item permanently?" msgstr "您确定要永久删除此项目吗?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:523 msgid "Are you sure you want to delete this item?" msgstr "你确定要删除这个项目吗?" -#: src/views/site/site_list/SiteList.vue:149 +#: src/views/site/site_list/SiteList.vue:150 #: src/views/stream/StreamList.vue:166 msgid "Are you sure you want to delete?" msgstr "您确定要删除吗?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:549 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:537 msgid "Are you sure you want to recover this item?" msgstr "您确定要恢复这个项目吗?" @@ -183,7 +200,7 @@ msgstr "助手" msgid "Attempts" msgstr "尝试次数" -#: src/views/preference/Preference.vue:152 +#: src/views/preference/Preference.vue:154 msgid "Auth" msgstr "认证" @@ -200,22 +217,22 @@ msgstr "认证设置" msgid "Author" msgstr "作者" -#: src/views/nginx_log/NginxLog.vue:151 +#: src/views/nginx_log/NginxLog.vue:152 msgid "Auto Refresh" msgstr "自动刷新" -#: src/views/site/cert/components/ObtainCert.vue:75 +#: src/views/site/cert/components/ObtainCert.vue:80 msgid "Auto-renewal disabled for %{name}" msgstr "成功关闭 %{name} 自动续签" -#: src/views/site/cert/components/ObtainCert.vue:68 +#: src/views/site/cert/components/ObtainCert.vue:73 msgid "Auto-renewal enabled for %{name}" msgstr "成功启用 %{name} 自动续签" -#: src/views/certificate/CertificateEditor.vue:249 -#: src/views/config/ConfigEditor.vue:213 src/views/config/ConfigList.vue:107 -#: src/views/config/ConfigList.vue:181 src/views/nginx_log/NginxLog.vue:172 -#: src/views/site/site_edit/SiteEdit.vue:249 +#: src/views/certificate/CertificateEditor.vue:256 +#: src/views/config/ConfigEditor.vue:215 src/views/config/ConfigList.vue:106 +#: src/views/config/ConfigList.vue:180 src/views/nginx_log/NginxLog.vue:173 +#: src/views/site/site_edit/SiteEdit.vue:264 #: src/views/stream/StreamEdit.vue:245 msgid "Back" msgstr "返回" @@ -224,7 +241,7 @@ msgstr "返回" msgid "Back Home" msgstr "返回首页" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:222 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211 msgid "Back to list" msgstr "返回列表" @@ -244,24 +261,28 @@ msgstr "禁用至" msgid "Base information" msgstr "基本信息" -#: src/views/config/ConfigEditor.vue:241 -#: src/views/preference/Preference.vue:146 +#: src/views/config/ConfigEditor.vue:243 +#: src/views/preference/Preference.vue:148 #: src/views/site/site_edit/RightSettings.vue:79 #: src/views/stream/components/RightSettings.vue:74 msgid "Basic" msgstr "基本" -#: src/views/site/site_edit/SiteEdit.vue:194 +#: src/views/site/site_edit/SiteEdit.vue:208 #: src/views/stream/StreamEdit.vue:192 msgid "Basic Mode" msgstr "基本模式" +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:85 +msgid "Batch Actions" +msgstr "批量操作" + #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:66 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:474 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:454 msgid "Batch Modify" msgstr "批量修改" -#: src/views/environment/BatchUpgrader.vue:154 +#: src/views/environment/BatchUpgrader.vue:155 msgid "Batch Upgrade" msgstr "批量升级" @@ -281,18 +302,19 @@ msgstr "CA Dir" msgid "CADir" msgstr "CADir" -#: src/views/preference/components/TOTP.vue:151 +#: src/views/preference/components/TOTP.vue:150 msgid "Can't scan? Use text key binding" msgstr "无法扫描?使用文本密钥绑定" #: src/components/ChatGPT/ChatGPT.vue:260 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:261 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:251 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:180 +#: src/components/StdDesign/StdDetail/StdDetail.vue:101 #: src/views/preference/components/Passkey.vue:147 -#: src/views/site/cert/components/ObtainCert.vue:137 +#: src/views/site/cert/components/ObtainCert.vue:140 #: src/views/site/ngx_conf/NgxConfigEditor.vue:51 #: src/views/site/ngx_conf/NgxServer.vue:80 -#: src/views/site/ngx_conf/NgxUpstream.vue:33 +#: src/views/site/ngx_conf/NgxUpstream.vue:34 #: src/views/site/site_edit/RightSettings.vue:55 #: src/views/stream/components/Deploy.vue:20 #: src/views/stream/components/RightSettings.vue:51 @@ -300,11 +322,11 @@ msgid "Cancel" msgstr "取消" #: src/views/site/site_edit/RightSettings.vue:91 -#: src/views/site/site_list/columns.tsx:22 +#: src/views/site/site_list/columns.tsx:23 msgid "Category" msgstr "分类" -#: src/views/preference/Preference.vue:158 +#: src/views/preference/Preference.vue:160 msgid "Cert" msgstr "证书" @@ -312,7 +334,7 @@ msgstr "证书" msgid "Certificate Renewal Interval" msgstr "证书续期间隔" -#: src/views/certificate/CertificateEditor.vue:122 +#: src/views/certificate/CertificateEditor.vue:129 #: src/views/site/cert/Cert.vue:32 msgid "Certificate Status" msgid_plural "Certificates Status" @@ -327,7 +349,7 @@ msgstr "证书" msgid "Certificates List" msgstr "证书列表" -#: src/views/site/cert/components/AutoCertStepOne.vue:67 +#: src/views/site/cert/components/AutoCertStepOne.vue:66 msgid "Challenge Method" msgstr "挑战方法" @@ -341,15 +363,15 @@ msgid "Changed Certificate" msgid_plural "Changed Certificates" msgstr[0] "变更证书" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 msgid "Changed Path" msgstr "变更后的路径" -#: src/views/environment/BatchUpgrader.vue:161 src/views/system/Upgrade.vue:189 +#: src/views/environment/BatchUpgrader.vue:162 src/views/system/Upgrade.vue:190 msgid "Channel" msgstr "通道" -#: src/views/system/Upgrade.vue:186 +#: src/views/system/Upgrade.vue:187 msgid "Check again" msgstr "重新检查" @@ -358,12 +380,12 @@ msgid "Cleaning environment variables" msgstr "正在清理环境变量" #: src/components/ChatGPT/ChatGPT.vue:283 -#: src/components/Notification/Notification.vue:91 +#: src/components/Notification/Notification.vue:140 #: src/views/notification/Notification.vue:45 msgid "Clear" msgstr "清空" -#: src/components/Notification/Notification.vue:42 +#: src/components/Notification/Notification.vue:90 #: src/views/notification/Notification.vue:13 msgid "Cleared successfully" msgstr "清除成功" @@ -391,7 +413,7 @@ msgstr "配置文件测试成功" msgid "Configuration Name" msgstr "配置名称" -#: src/views/config/ConfigList.vue:99 +#: src/views/config/ConfigList.vue:98 msgid "Configurations" msgstr "配置" @@ -403,7 +425,7 @@ msgstr "配置 SSL" msgid "Connected" msgstr "已连接" -#: src/views/terminal/Terminal.vue:119 +#: src/views/terminal/Terminal.vue:120 msgid "Connection lost, please refresh the page." msgstr "连接中断,请刷新页面。" @@ -413,27 +435,28 @@ msgstr "连接中断,请刷新页面。" msgid "Content" msgstr "内容" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 +#: src/components/StdDesign/StdDataDisplay/StdTableTransformer.tsx:150 msgid "Copied" msgstr "已拷贝" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 msgid "Copy" msgstr "拷贝" -#: src/views/system/Upgrade.vue:147 +#: src/views/system/Upgrade.vue:148 msgid "Core Upgrade" msgstr "核心升级" -#: src/views/dashboard/ServerAnalytic.vue:294 +#: src/views/dashboard/ServerAnalytic.vue:305 msgid "CPU Status" msgstr "CPU 状态" -#: src/views/dashboard/ServerAnalytic.vue:188 +#: src/views/dashboard/ServerAnalytic.vue:199 msgid "CPU:" msgstr "CPU:" -#: src/views/site/ngx_conf/NgxUpstream.vue:163 +#: src/views/site/ngx_conf/NgxUpstream.vue:165 msgid "Create" msgstr "创建" @@ -441,11 +464,11 @@ msgstr "创建" msgid "Create Another" msgstr "再创建一个" -#: src/views/config/ConfigList.vue:117 +#: src/views/config/ConfigList.vue:116 msgid "Create File" msgstr "创建文件" -#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:124 +#: src/views/config/components/Mkdir.vue:49 src/views/config/ConfigList.vue:123 msgid "Create Folder" msgstr "创建文件夹" @@ -455,7 +478,7 @@ msgstr "创建文件夹" msgid "Created at" msgstr "创建时间" -#: src/views/config/components/Mkdir.vue:33 +#: src/views/config/components/Mkdir.vue:35 msgid "Created successfully" msgstr "创建成功" @@ -471,15 +494,15 @@ msgstr "DNS 凭证" msgid "Credentials" msgstr "凭证" -#: src/views/preference/components/TOTP.vue:99 +#: src/views/preference/components/TOTP.vue:98 msgid "Current account is enabled TOTP." msgstr "当前账户已启用 TOTP 验证。" -#: src/views/preference/components/TOTP.vue:96 +#: src/views/preference/components/TOTP.vue:95 msgid "Current account is not enabled TOTP." msgstr "当前用户未启用 TOTP 验证。" -#: src/views/system/Upgrade.vue:166 +#: src/views/system/Upgrade.vue:167 msgid "Current Version" msgstr "当前版本" @@ -488,18 +511,18 @@ msgstr "当前版本" msgid "Custom" msgstr "自定义" -#: src/views/preference/BasicSettings.vue:46 +#: src/views/preference/BasicSettings.vue:34 msgid "" "Customize the name of local node to be displayed in the environment " "indicator." msgstr "自定义显示在环境指示器中的本地服务器名称。" -#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:133 -#: src/views/config/ConfigEditor.vue:94 src/views/config/ConfigList.vue:65 +#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:136 +#: src/views/config/ConfigEditor.vue:97 src/views/config/ConfigList.vue:64 msgid "Dashboard" msgstr "仪表盘" -#: src/views/other/Install.vue:117 +#: src/views/other/Install.vue:121 msgid "Database (Optional, default: database)" msgstr "数据库 (可选,默认: database)" @@ -507,15 +530,17 @@ msgstr "数据库 (可选,默认: database)" msgid "Days" msgstr "天" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:542 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:530 #: src/views/site/ngx_conf/NgxServer.vue:110 -#: src/views/site/ngx_conf/NgxUpstream.vue:126 -#: src/views/site/site_list/SiteList.vue:158 +#: src/views/site/ngx_conf/NgxUpstream.vue:128 +#: src/views/site/site_list/SiteList.vue:159 #: src/views/stream/StreamList.vue:175 msgid "Delete" msgstr "删除" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:571 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:35 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:559 msgid "Delete Permanently" msgstr "彻底删除" @@ -527,7 +552,7 @@ msgstr "删除远程站点错误" msgid "Delete Remote Site Success" msgstr "删除远程站点成功" -#: src/views/site/site_list/SiteList.vue:68 +#: src/views/site/site_list/SiteList.vue:69 msgid "Delete site: %{site_name}" msgstr "删除站点: %{site_name}" @@ -535,11 +560,11 @@ msgstr "删除站点: %{site_name}" msgid "Delete stream: %{stream_name}" msgstr "删除 Stream: %{stream_name}" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:196 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:183 msgid "Deleted successfully" msgstr "删除成功" -#: src/views/config/ConfigEditor.vue:284 +#: src/views/config/ConfigEditor.vue:287 #: src/views/stream/components/Deploy.vue:100 #: src/views/stream/components/RightSettings.vue:92 msgid "Deploy" @@ -582,12 +607,12 @@ msgstr "指令" msgid "Directory" msgstr "目录" -#: src/views/site/site_list/SiteList.vue:127 +#: src/views/site/site_list/SiteList.vue:128 #: src/views/stream/StreamList.vue:144 msgid "Disable" msgstr "禁用" -#: src/views/site/cert/components/ObtainCert.vue:77 +#: src/views/site/cert/components/ObtainCert.vue:82 msgid "Disable auto-renewal failed for %{name}" msgstr "关闭 %{name} 自动续签失败" @@ -609,21 +634,21 @@ msgstr "在 %{node} 上禁用 %{site} 成功" #: src/views/environment/envColumns.tsx:109 #: src/views/environment/envColumns.tsx:92 -#: src/views/site/site_edit/SiteEdit.vue:177 -#: src/views/site/site_list/columns.tsx:49 -#: src/views/site/site_list/columns.tsx:58 src/views/stream/StreamEdit.vue:175 +#: src/views/site/site_edit/SiteEdit.vue:190 +#: src/views/site/site_list/columns.tsx:51 +#: src/views/site/site_list/columns.tsx:60 src/views/stream/StreamEdit.vue:175 #: src/views/stream/StreamList.vue:33 src/views/user/userColumns.tsx:41 msgid "Disabled" msgstr "禁用" #: src/views/site/site_edit/RightSettings.vue:42 -#: src/views/site/site_list/SiteList.vue:57 +#: src/views/site/site_list/SiteList.vue:58 #: src/views/stream/components/RightSettings.vue:38 #: src/views/stream/StreamList.vue:67 msgid "Disabled successfully" msgstr "禁用成功" -#: src/views/dashboard/ServerAnalytic.vue:359 +#: src/views/dashboard/ServerAnalytic.vue:370 msgid "Disk IO" msgstr "磁盘 IO" @@ -636,11 +661,11 @@ msgstr "DNS 凭证" msgid "DNS Provider" msgstr "DNS 提供商" -#: src/views/site/cert/components/AutoCertStepOne.vue:74 +#: src/views/site/cert/components/AutoCertStepOne.vue:73 msgid "DNS01" msgstr "DNS01" -#: src/views/site/cert/components/AutoCertStepOne.vue:99 +#: src/views/site/cert/components/AutoCertStepOne.vue:98 msgid "Do not enable this option unless you are sure that you need it." msgstr "除非确定需要,否则不要启用该选项。" @@ -649,7 +674,7 @@ msgid "Do you want to deploy this file to remote server?" msgid_plural "Do you want to deploy this file to remote servers?" msgstr[0] "你想把这个文件部署到远程服务器上吗?" -#: src/views/site/cert/components/ObtainCert.vue:133 +#: src/views/site/cert/components/ObtainCert.vue:136 msgid "Do you want to disable auto-cert renewal?" msgstr "你想禁用自动更新证书吗?" @@ -677,7 +702,7 @@ msgstr "你想启用TLS吗?" msgid "Do you want to remove this server?" msgstr "你想删除这个服务器吗?" -#: src/views/site/ngx_conf/NgxUpstream.vue:29 +#: src/views/site/ngx_conf/NgxUpstream.vue:30 msgid "Do you want to remove this upstream?" msgstr "你想删除这个 Upstream 吗?" @@ -689,7 +714,7 @@ msgstr "域名" msgid "Domain Config Created Successfully" msgstr "域名配置文件创建成功" -#: src/views/certificate/CertificateEditor.vue:106 +#: src/views/certificate/CertificateEditor.vue:113 msgid "Domains list is empty, try to reopen Auto Cert for %{config}" msgstr "域名列表为空,请尝试为 %{config} 重新打开证书自动续期。" @@ -701,7 +726,7 @@ msgstr "下载最新版本错误" msgid "Downloading latest release" msgstr "下载最新版本" -#: src/views/environment/BatchUpgrader.vue:190 src/views/system/Upgrade.vue:216 +#: src/views/environment/BatchUpgrader.vue:191 src/views/system/Upgrade.vue:217 msgid "Dry run mode enabled" msgstr "试运行模式已启动" @@ -714,7 +739,7 @@ msgstr "" "使用 Passkey。" #: src/views/site/site_list/SiteDuplicate.vue:74 -#: src/views/site/site_list/SiteList.vue:143 +#: src/views/site/site_list/SiteList.vue:144 #: src/views/stream/components/StreamDuplicate.vue:121 #: src/views/stream/StreamList.vue:160 msgid "Duplicate" @@ -737,12 +762,16 @@ msgstr "复制成功" msgid "Duplicate to local successfully" msgstr "成功复制到本地" -#: src/views/site/site_edit/SiteEdit.vue:166 +#: src/components/StdDesign/StdDetail/StdDetail.vue:110 +msgid "Edit" +msgstr "编辑" + +#: src/views/site/site_edit/SiteEdit.vue:179 #: src/views/stream/StreamEdit.vue:164 msgid "Edit %{n}" msgstr "编辑 %{n}" -#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:206 msgid "Edit Configuration" msgstr "编辑配置" @@ -758,11 +787,11 @@ msgstr "编辑 Stream" msgid "Email" msgstr "邮箱" -#: src/views/other/Install.vue:86 +#: src/views/other/Install.vue:90 msgid "Email (*)" msgstr "邮箱 (*)" -#: src/views/site/site_list/SiteList.vue:135 +#: src/views/site/site_list/SiteList.vue:136 #: src/views/stream/components/Deploy.vue:80 #: src/views/stream/StreamList.vue:152 msgid "Enable" @@ -776,11 +805,11 @@ msgstr "在%{node_name}中启用%{conf_name}失败" msgid "Enable %{conf_name} in %{node_name} successfully" msgstr "成功启用%{node_name}中的%{conf_name}" -#: src/views/preference/components/TOTP.vue:55 +#: src/views/preference/components/TOTP.vue:54 msgid "Enable 2FA successfully" msgstr "二步验证启用成功" -#: src/views/site/cert/components/ObtainCert.vue:70 +#: src/views/site/cert/components/ObtainCert.vue:75 msgid "Enable auto-renewal failed for %{name}" msgstr "启用 %{name} 自动续签失败" @@ -812,7 +841,7 @@ msgstr "启用成功" msgid "Enable TLS" msgstr "启用 TLS" -#: src/views/preference/components/TOTP.vue:125 +#: src/views/preference/components/TOTP.vue:124 msgid "Enable TOTP" msgstr "启用 TOTP" @@ -820,9 +849,9 @@ msgstr "启用 TOTP" #: src/views/environment/envColumns.tsx:106 #: src/views/preference/LogrotateSettings.vue:19 #: src/views/site/site_edit/RightSettings.vue:82 -#: src/views/site/site_edit/SiteEdit.vue:171 -#: src/views/site/site_list/columns.tsx:45 -#: src/views/site/site_list/columns.tsx:57 +#: src/views/site/site_edit/SiteEdit.vue:184 +#: src/views/site/site_list/columns.tsx:47 +#: src/views/site/site_list/columns.tsx:59 #: src/views/stream/components/RightSettings.vue:76 #: src/views/stream/StreamEdit.vue:169 src/views/stream/StreamList.vue:29 #: src/views/user/userColumns.tsx:38 @@ -830,14 +859,14 @@ msgid "Enabled" msgstr "启用" #: src/views/site/site_edit/RightSettings.vue:33 -#: src/views/site/site_list/SiteList.vue:47 src/views/site/SiteAdd.vue:40 +#: src/views/site/site_list/SiteList.vue:48 src/views/site/SiteAdd.vue:40 #: src/views/stream/components/RightSettings.vue:29 #: src/views/stream/components/StreamDuplicate.vue:93 #: src/views/stream/StreamList.vue:57 msgid "Enabled successfully" msgstr "启用成功" -#: src/views/site/cert/IssueCert.vue:49 +#: src/views/site/cert/IssueCert.vue:48 msgid "Encrypt website with Let's Encrypt" msgstr "用 Let's Encrypt 对网站进行加密" @@ -858,11 +887,11 @@ msgstr "环境" msgid "Error" msgstr "错误" -#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:84 +#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:83 msgid "Error Logs" msgstr "错误日志" -#: src/views/system/Upgrade.vue:178 +#: src/views/system/Upgrade.vue:179 msgid "Executable Path" msgstr "可执行文件路径" @@ -875,7 +904,7 @@ msgstr "已过期" msgid "Expired At: %{date}" msgstr "过期时间: %{date}" -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:66 msgid "Export" msgstr "导出" @@ -884,14 +913,14 @@ msgid "Fail to obtain certificate" msgstr "获取证书失败" #: src/views/site/site_edit/RightSettings.vue:45 -#: src/views/site/site_list/SiteList.vue:61 +#: src/views/site/site_list/SiteList.vue:62 #: src/views/stream/components/RightSettings.vue:41 #: src/views/stream/StreamList.vue:71 msgid "Failed to disable %{msg}" msgstr "禁用失败 %{msg}" #: src/views/site/site_edit/RightSettings.vue:36 -#: src/views/site/site_list/SiteList.vue:51 +#: src/views/site/site_list/SiteList.vue:52 #: src/views/stream/components/RightSettings.vue:32 #: src/views/stream/StreamList.vue:61 msgid "Failed to enable %{msg}" @@ -901,7 +930,7 @@ msgstr "启用失败 %{msg}" msgid "Failed to get certificate information" msgstr "获取证书信息失败" -#: src/views/site/site_edit/SiteEdit.vue:123 +#: src/views/site/site_edit/SiteEdit.vue:135 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." msgstr "保存失败,在配置中检测到语法错误。" @@ -918,7 +947,7 @@ msgstr "文件已存在" msgid "File Not Found" msgstr "未找到文件" -#: src/views/nginx_log/NginxLog.vue:154 +#: src/views/nginx_log/NginxLog.vue:155 msgid "Filter" msgstr "过滤" @@ -932,19 +961,24 @@ msgid "" "process." msgstr "按照对话框中的指示完成 Passkey 的注册过程。" -#: src/views/preference/BasicSettings.vue:38 +#: src/views/preference/BasicSettings.vue:59 +#: src/views/preference/BasicSettings.vue:71 +msgid "For Chinese user" +msgstr "中国用户" + +#: src/views/preference/BasicSettings.vue:47 msgid "For Chinese user: https://mirror.ghproxy.com/" msgstr "中国用户:https://mirror.ghproxy.com/" -#: src/views/config/ConfigEditor.vue:216 +#: src/views/config/ConfigEditor.vue:218 msgid "Format Code" msgstr "代码格式化" -#: src/views/config/ConfigEditor.vue:183 +#: src/views/config/ConfigEditor.vue:185 msgid "Format error %{msg}" msgstr "保存错误 %{msg}" -#: src/views/config/ConfigEditor.vue:181 +#: src/views/config/ConfigEditor.vue:183 msgid "Format successfully" msgstr "格式化成功" @@ -952,7 +986,7 @@ msgstr "格式化成功" msgid "General Certificate" msgstr "普通证书" -#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:52 +#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:55 msgid "Generate" msgstr "生成" @@ -960,7 +994,7 @@ msgstr "生成" msgid "Generating private key for registering account" msgstr "正在生成私钥用于注册账户" -#: src/views/environment/BatchUpgrader.vue:179 src/views/system/Upgrade.vue:170 +#: src/views/environment/BatchUpgrader.vue:180 src/views/system/Upgrade.vue:171 msgid "Get release information error" msgstr "获取发布信息错误" @@ -968,11 +1002,11 @@ msgstr "获取发布信息错误" msgid "Getting the certificate, please wait..." msgstr "正在获取证书,请稍等..." -#: src/views/preference/BasicSettings.vue:30 +#: src/views/preference/BasicSettings.vue:39 msgid "Github Proxy" msgstr "Github代理" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Hide" msgstr "隐藏" @@ -992,10 +1026,14 @@ msgstr "HTTP 监听主机" msgid "HTTP Port" msgstr "HTTP 监听端口" -#: src/views/site/cert/components/AutoCertStepOne.vue:71 +#: src/views/site/cert/components/AutoCertStepOne.vue:70 msgid "HTTP01" msgstr "HTTP01" +#: src/views/preference/BasicSettings.vue:51 +msgid "ICP Number" +msgstr "ICP备案号" + #: src/views/certificate/ACMEUser.vue:45 msgid "If left blank, the default CA Dir will be used." msgstr "如果留空,则使用默认 CA Dir。" @@ -1008,7 +1046,7 @@ msgstr "" "如果某个 IP 的登录失败次数达到禁用阈值分钟内的最大尝试次数,该 IP 将被禁止登" "录一段时间。" -#: src/views/preference/components/TOTP.vue:111 +#: src/views/preference/components/TOTP.vue:110 msgid "" "If you lose your mobile phone, you can use the recovery code to reset your " "2FA." @@ -1018,7 +1056,7 @@ msgstr "如果丢失了手机,可以使用恢复代码重置二步验证。" msgid "If your browser supports WebAuthn Passkey, a dialog box will appear." msgstr "如果您的浏览器支持 WebAuthn Passkey,则会出现一个对话框。" -#: src/views/site/cert/components/AutoCertStepOne.vue:109 +#: src/views/site/cert/components/AutoCertStepOne.vue:108 msgid "" "If your domain has CNAME records and you cannot obtain certificates, you " "need to enable this option." @@ -1028,14 +1066,15 @@ msgstr "如果您的域名有 CNAME 记录且无法获取证书,则需要启 msgid "Import" msgstr "导入" -#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:86 msgid "Import Certificate" msgstr "导入证书" -#: src/views/other/Login.vue:77 +#: src/views/other/Login.vue:78 msgid "Incorrect username or password" msgstr "用户名或密码错误" +#: src/components/StdDesign/StdDetail/StdDetail.vue:81 #: src/constants/index.ts:18 src/views/notification/notificationColumns.tsx:29 msgid "Info" msgstr "信息" @@ -1048,20 +1087,20 @@ msgstr "初始化核心升级程序错误" msgid "Initialing core upgrader" msgstr "初始化核心升级器" -#: src/views/preference/components/TOTP.vue:158 +#: src/views/preference/components/TOTP.vue:157 msgid "Input the code from the app:" msgstr "输入应用程序中的代码:" #: src/components/TwoFA/Authorization.vue:87 -#: src/views/preference/components/TOTP.vue:171 +#: src/views/preference/components/TOTP.vue:170 msgid "Input the recovery code:" msgstr "输入恢复代码:" -#: src/routes/index.ts:305 src/views/other/Install.vue:132 +#: src/routes/index.ts:305 src/views/other/Install.vue:136 msgid "Install" msgstr "安装" -#: src/views/other/Install.vue:63 +#: src/views/other/Install.vue:67 msgid "Install successfully" msgstr "安装成功" @@ -1073,20 +1112,20 @@ msgstr "间隔" msgid "Invalid" msgstr "无效的" -#: src/views/other/Login.vue:87 +#: src/views/other/Login.vue:88 msgid "Invalid 2FA or recovery code" msgstr "无效的二步验证码或恢复密码" -#: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:250 +#: src/views/config/components/Rename.vue:66 +#: src/views/config/ConfigEditor.vue:252 msgid "Invalid filename" msgstr "文件名无效" -#: src/views/config/components/Mkdir.vue:57 +#: src/views/config/components/Mkdir.vue:59 msgid "Invalid folder name" msgstr "无效文件夹名" -#: src/components/TwoFA/use2FAModal.ts:60 +#: src/components/TwoFA/use2FAModal.ts:61 msgid "Invalid passcode or recovery code" msgstr "二次验证码或恢复代码无效" @@ -1115,11 +1154,11 @@ msgid "Jwt Secret" msgstr "Jwt 密钥" #: src/views/certificate/CertificateList/certColumns.tsx:62 -#: src/views/site/cert/components/AutoCertStepOne.vue:78 +#: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" msgstr "密钥类型" -#: src/views/system/Upgrade.vue:180 +#: src/views/system/Upgrade.vue:181 msgid "Last checked at" msgstr "最后检查时间" @@ -1143,12 +1182,12 @@ msgstr "如果不想修改,请留空" msgid "Leave blank if you don't need this." msgstr "如果不需要,请留空。" -#: src/views/certificate/CertificateEditor.vue:214 -#: src/views/certificate/CertificateEditor.vue:227 +#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:234 msgid "Leave blank will not change anything" msgstr "留空不做任何更改" -#: src/views/site/cert/components/AutoCertStepOne.vue:106 +#: src/views/site/cert/components/AutoCertStepOne.vue:105 msgid "Lego disable CNAME Support" msgstr "Lego 禁用 CNAME 支持" @@ -1161,11 +1200,11 @@ msgstr "开源许可" msgid "Link Start" msgstr "链接" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:199 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:178 msgid "List" msgstr "列表" -#: src/views/dashboard/ServerAnalytic.vue:176 +#: src/views/dashboard/ServerAnalytic.vue:187 msgid "Load Average:" msgstr "系统负载:" @@ -1178,7 +1217,7 @@ msgid "Load successfully" msgstr "加载成功" #: src/components/EnvIndicator/EnvIndicator.vue:39 -#: src/components/NodeSelector/NodeSelector.vue:70 +#: src/components/NodeSelector/NodeSelector.vue:80 msgid "Local" msgstr "本地" @@ -1190,23 +1229,23 @@ msgstr "Location" msgid "Locations" msgstr "Locations" -#: src/views/certificate/CertificateEditor.vue:237 +#: src/views/certificate/CertificateEditor.vue:244 msgid "Log" msgstr "日志" -#: src/routes/index.ts:311 src/views/other/Login.vue:245 +#: src/routes/index.ts:311 src/views/other/Login.vue:246 msgid "Login" msgstr "登录" -#: src/views/other/Login.vue:131 src/views/other/Login.vue:64 +#: src/views/other/Login.vue:132 src/views/other/Login.vue:65 msgid "Login successful" msgstr "登录成功" -#: src/layouts/HeaderLayout.vue:19 +#: src/layouts/HeaderLayout.vue:20 msgid "Logout successful" msgstr "登出成功" -#: src/views/preference/Preference.vue:176 +#: src/views/preference/Preference.vue:178 msgid "Logrotate" msgstr "Logrotate" @@ -1224,7 +1263,7 @@ msgstr "" "Nginx 用户界面的用户,您可以手动启用该选项。Nginx UI 的定时任务任务调度器将按" "照您设置的时间间隔(以分钟为单位)执行 logrotate 命令。" -#: src/views/site/cert/components/AutoCertStepOne.vue:54 +#: src/views/site/cert/components/AutoCertStepOne.vue:53 msgid "" "Make sure you have configured a reverse proxy for .well-known directory to " "HTTPChallengePort before obtaining the certificate." @@ -1232,12 +1271,12 @@ msgstr "" "在获取签发证书前,请确保配置文件中已将 .well-known 目录反向代理到 " "HTTPChallengePort。" -#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:138 -#: src/views/config/ConfigEditor.vue:99 src/views/config/ConfigList.vue:70 +#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:102 +#: src/views/config/ConfigEditor.vue:141 src/views/config/ConfigList.vue:69 msgid "Manage Configs" msgstr "配置管理" -#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:97 +#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:98 msgid "Manage Sites" msgstr "网站管理" @@ -1257,12 +1296,12 @@ msgstr "托管证书" msgid "Max Attempts" msgstr "最大尝试次数" -#: src/views/dashboard/ServerAnalytic.vue:215 -#: src/views/dashboard/ServerAnalytic.vue:216 +#: src/views/dashboard/ServerAnalytic.vue:226 +#: src/views/dashboard/ServerAnalytic.vue:227 msgid "Memory" msgstr "内存" -#: src/views/dashboard/ServerAnalytic.vue:205 +#: src/views/dashboard/ServerAnalytic.vue:216 msgid "Memory and Storage" msgstr "内存与存储" @@ -1275,13 +1314,13 @@ msgid "Model" msgstr "模型" #: src/components/ChatGPT/ChatGPT.vue:256 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:520 -#: src/views/config/ConfigList.vue:159 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:508 +#: src/views/config/ConfigList.vue:158 msgid "Modify" msgstr "修改" -#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:86 msgid "Modify Certificate" msgstr "修改证书" @@ -1289,7 +1328,7 @@ msgstr "修改证书" msgid "Modify Config" msgstr "修改配置文件" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 msgid "Modify Mode" msgstr "修改模式" @@ -1298,13 +1337,13 @@ msgid "Multi-line Directive" msgstr "多行指令" #: src/views/certificate/ACMEUser.vue:13 -#: src/views/certificate/CertificateEditor.vue:154 +#: src/views/certificate/CertificateEditor.vue:161 #: src/views/certificate/CertificateList/certColumns.tsx:10 #: src/views/certificate/DNSCredential.vue:11 -#: src/views/config/components/Mkdir.vue:64 src/views/config/configColumns.ts:8 -#: src/views/config/ConfigEditor.vue:256 src/views/environment/envColumns.tsx:9 +#: src/views/config/components/Mkdir.vue:66 src/views/config/configColumns.ts:8 +#: src/views/config/ConfigEditor.vue:258 src/views/environment/envColumns.tsx:9 #: src/views/preference/components/AddPasskey.vue:81 -#: src/views/site/ngx_conf/NgxUpstream.vue:175 +#: src/views/site/ngx_conf/NgxUpstream.vue:177 #: src/views/site/site_category/columns.ts:7 #: src/views/site/site_edit/RightSettings.vue:88 #: src/views/site/site_list/columns.tsx:13 @@ -1315,41 +1354,41 @@ msgstr "多行指令" msgid "Name" msgstr "名称" -#: src/views/dashboard/ServerAnalytic.vue:320 +#: src/views/dashboard/ServerAnalytic.vue:331 msgid "Network" msgstr "网络" -#: src/views/dashboard/ServerAnalytic.vue:262 +#: src/views/dashboard/ServerAnalytic.vue:273 msgid "Network Statistics" msgstr "流量统计" -#: src/views/dashboard/ServerAnalytic.vue:269 +#: src/views/dashboard/ServerAnalytic.vue:280 msgid "Network Total Receive" msgstr "下载流量" -#: src/views/dashboard/ServerAnalytic.vue:275 +#: src/views/dashboard/ServerAnalytic.vue:286 msgid "Network Total Send" msgstr "上传流量" -#: src/views/config/components/Rename.vue:73 +#: src/views/config/components/Rename.vue:74 msgid "New name" msgstr "新名称" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 msgid "New Path" msgstr "新路径" -#: src/views/system/Upgrade.vue:209 +#: src/views/system/Upgrade.vue:210 msgid "New version released" msgstr "新版本发布" #: src/views/certificate/WildcardCertificate.vue:91 -#: src/views/site/cert/components/ObtainCert.vue:208 +#: src/views/site/cert/components/ObtainCert.vue:211 #: src/views/site/SiteAdd.vue:141 msgid "Next" msgstr "下一步" -#: src/views/preference/Preference.vue:164 +#: src/views/preference/Preference.vue:166 msgid "Nginx" msgstr "Nginx" @@ -1357,7 +1396,7 @@ msgstr "Nginx" msgid "Nginx Access Log Path" msgstr "Nginx 访问日志路径" -#: src/views/site/site_edit/SiteEdit.vue:209 +#: src/views/site/site_edit/SiteEdit.vue:223 #: src/views/stream/StreamEdit.vue:207 msgid "Nginx Configuration Parse Error" msgstr "Nginx 配置解析错误" @@ -1378,7 +1417,7 @@ msgstr "Nginx 错误日志路径" msgid "Nginx is not running" msgstr "Nginx 未启动" -#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:147 +#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:148 msgid "Nginx Log" msgstr "Nginx 日志" @@ -1407,22 +1446,23 @@ msgid "Nginx restarted successfully" msgstr "Nginx 重启成功" #: src/components/ChatGPT/ChatGPT.vue:277 -#: src/components/Notification/Notification.vue:84 +#: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:67 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:533 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:547 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:562 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:96 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:521 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:550 #: src/views/notification/Notification.vue:38 #: src/views/preference/AuthSettings.vue:138 #: src/views/preference/CertSettings.vue:70 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:90 #: src/views/site/ngx_conf/LocationEditor.vue:90 -#: src/views/site/site_list/SiteList.vue:147 +#: src/views/site/site_list/SiteList.vue:148 #: src/views/stream/StreamList.vue:164 msgid "No" msgstr "取消" -#: src/views/preference/BasicSettings.vue:42 +#: src/views/preference/BasicSettings.vue:30 msgid "Node name" msgstr "节点名称" @@ -1443,7 +1483,7 @@ msgid "Not Valid Before: %{date}" msgstr "此前无效: %{date}" #: src/views/certificate/DNSCredential.vue:49 -#: src/views/site/cert/components/AutoCertStepOne.vue:40 +#: src/views/site/cert/components/AutoCertStepOne.vue:39 msgid "Note" msgstr "注意" @@ -1457,11 +1497,11 @@ msgstr "注意,如果配置文件中包含其他配置或证书,请提前将 msgid "Notification" msgstr "通知" -#: src/components/Notification/Notification.vue:82 src/routes/index.ts:248 +#: src/components/Notification/Notification.vue:131 src/routes/index.ts:248 msgid "Notifications" msgstr "通知" -#: src/views/site/cert/components/ObtainCert.vue:179 +#: src/views/site/cert/components/ObtainCert.vue:182 msgid "Obtain certificate" msgstr "获取证书" @@ -1469,39 +1509,40 @@ msgstr "获取证书" msgid "Obtaining certificate" msgstr "正在获取证书" -#: src/views/site/cert/components/AutoCertStepOne.vue:96 +#: src/views/site/cert/components/AutoCertStepOne.vue:95 msgid "OCSP Must Staple" msgstr "OCSP 必须装订" -#: src/views/site/cert/components/AutoCertStepOne.vue:100 +#: src/views/site/cert/components/AutoCertStepOne.vue:99 msgid "" "OCSP Must Staple may cause errors for some users on first access using " "Firefox." msgstr "某些用户在使用 Firefox 首次访问时,OCSP Must Staple 可能会导致错误。" -#: src/components/NodeSelector/NodeSelector.vue:93 +#: src/components/NodeSelector/NodeSelector.vue:103 #: src/views/dashboard/Environments.vue:107 #: src/views/environment/envColumns.tsx:87 msgid "Offline" msgstr "离线" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:262 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:183 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:252 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:522 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:536 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:551 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:181 msgid "Ok" msgstr "确定" #: src/components/ChatGPT/ChatGPT.vue:278 -#: src/components/Notification/Notification.vue:85 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:534 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:548 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:563 +#: src/components/Notification/Notification.vue:134 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:97 #: src/views/notification/Notification.vue:39 -#: src/views/site/cert/components/ObtainCert.vue:136 +#: src/views/site/cert/components/ObtainCert.vue:139 #: src/views/site/ngx_conf/NgxConfigEditor.vue:50 #: src/views/site/ngx_conf/NgxServer.vue:79 -#: src/views/site/ngx_conf/NgxUpstream.vue:32 +#: src/views/site/ngx_conf/NgxUpstream.vue:33 #: src/views/site/site_edit/RightSettings.vue:54 -#: src/views/site/site_list/SiteList.vue:148 +#: src/views/site/site_list/SiteList.vue:149 #: src/views/stream/components/Deploy.vue:19 #: src/views/stream/components/RightSettings.vue:50 #: src/views/stream/StreamList.vue:165 @@ -1512,39 +1553,39 @@ msgstr "确定" msgid "Once the verification is complete, the records will be removed." msgstr "一旦验证完成,这些记录将被删除。" -#: src/components/NodeSelector/NodeSelector.vue:73 -#: src/components/NodeSelector/NodeSelector.vue:87 +#: src/components/NodeSelector/NodeSelector.vue:83 +#: src/components/NodeSelector/NodeSelector.vue:97 #: src/views/dashboard/Environments.vue:100 #: src/views/environment/envColumns.tsx:83 msgid "Online" msgstr "在线" -#: src/views/preference/Preference.vue:170 +#: src/views/preference/Preference.vue:172 msgid "OpenAI" msgstr "OpenAI" -#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:254 +#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:255 msgid "Or" msgstr "或" -#: src/views/config/components/Rename.vue:69 +#: src/views/config/components/Rename.vue:70 msgid "Original name" msgstr "原名" -#: src/views/system/Upgrade.vue:176 +#: src/views/system/Upgrade.vue:177 msgid "OS" msgstr "OS" -#: src/views/dashboard/ServerAnalytic.vue:182 +#: src/views/dashboard/ServerAnalytic.vue:193 msgid "OS:" msgstr "OS:" -#: src/views/config/ConfigEditor.vue:293 +#: src/views/config/ConfigEditor.vue:296 #: src/views/stream/components/Deploy.vue:84 msgid "Overwrite" msgstr "覆盖" -#: src/views/config/ConfigEditor.vue:297 +#: src/views/config/ConfigEditor.vue:300 #: src/views/stream/components/Deploy.vue:88 msgid "Overwrite exist file" msgstr "覆盖现有文件" @@ -1566,21 +1607,25 @@ msgstr "" "Passkey 是一种网络认证凭据,可通过指纹、面部识别、设备密码或 PIN 码验证身份。" "它们可用作密码替代品或二步验证方法。" -#: src/views/other/Login.vue:206 src/views/user/userColumns.tsx:18 +#: src/views/other/Login.vue:207 src/views/user/userColumns.tsx:18 msgid "Password" msgstr "密码" -#: src/views/other/Install.vue:106 +#: src/views/other/Install.vue:110 msgid "Password (*)" msgstr "密码 (*)" -#: src/views/config/ConfigEditor.vue:262 +#: src/views/other/Install.vue:48 +msgid "Password length cannot exceed 20 characters" +msgstr "密码长度不能超过 20 个字符" + +#: src/views/config/ConfigEditor.vue:265 #: src/views/site/ngx_conf/LocationEditor.vue:111 #: src/views/site/ngx_conf/LocationEditor.vue:139 msgid "Path" msgstr "路径" -#: src/views/environment/BatchUpgrader.vue:234 +#: src/views/environment/BatchUpgrader.vue:235 msgid "Perform" msgstr "执行" @@ -1608,11 +1653,11 @@ msgid "" "provider." msgstr "请填写 DNS 提供商提供的 API 验证凭据。" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:127 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:107 msgid "Please fill in the required fields" msgstr "请填写必填字段" -#: src/views/site/cert/components/AutoCertStepOne.vue:58 +#: src/views/site/cert/components/AutoCertStepOne.vue:57 msgid "" "Please first add credentials in Certification > DNS Credentials, and then " "select one of the credentialsbelow to request the API of the DNS provider." @@ -1620,12 +1665,12 @@ msgstr "" "请首先在 “证书”> “DNS 凭证” 中添加凭证,然后在下方选择一个凭证,请求 DNS 提供" "商的 API。" -#: src/views/config/components/Rename.vue:64 -#: src/views/config/ConfigEditor.vue:249 +#: src/views/config/components/Rename.vue:65 +#: src/views/config/ConfigEditor.vue:251 msgid "Please input a filename" msgstr "请输入文件名" -#: src/views/config/components/Mkdir.vue:56 +#: src/views/config/components/Mkdir.vue:58 msgid "Please input a folder name" msgstr "请输入文件夹名称" @@ -1645,11 +1690,11 @@ msgstr "请输入名称,这将作为新配置的文件名。" msgid "Please input your E-mail!" msgstr "请输入您的邮箱!" -#: src/views/other/Install.vue:44 src/views/other/Login.vue:46 +#: src/views/other/Install.vue:44 src/views/other/Login.vue:47 msgid "Please input your password!" msgstr "请输入您的密码!" -#: src/views/other/Install.vue:38 src/views/other/Login.vue:40 +#: src/views/other/Install.vue:38 src/views/other/Login.vue:41 msgid "Please input your username!" msgstr "请输入您的用户名!" @@ -1676,13 +1721,13 @@ msgstr "请至少选择一个节点!" msgid "Please upgrade the remote Nginx UI to the latest version" msgstr "请将远程 Nginx UI 升级到最新版本" -#: src/views/environment/BatchUpgrader.vue:169 -#: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195 -#: src/views/system/Upgrade.vue:246 +#: src/views/environment/BatchUpgrader.vue:170 +#: src/views/environment/BatchUpgrader.vue:223 src/views/system/Upgrade.vue:196 +#: src/views/system/Upgrade.vue:247 msgid "Pre-release" msgstr "预发布" -#: src/routes/index.ts:266 src/views/preference/Preference.vue:141 +#: src/routes/index.ts:266 src/views/preference/Preference.vue:143 msgid "Preference" msgstr "偏好设置" @@ -1710,34 +1755,39 @@ msgstr "提供商" msgid "Proxy" msgstr "代理" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:376 +#: src/views/preference/BasicSettings.vue:63 +msgid "Public Security Number" +msgstr "公安备案号" + +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:387 msgid "Reads" msgstr "读" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:327 +#: src/views/dashboard/ServerAnalytic.vue:338 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Receive" msgstr "下载" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:556 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:43 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:544 msgid "Recover" msgstr "恢复" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:204 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:191 msgid "Recovered Successfully" msgstr "恢复成功" #: src/components/TwoFA/Authorization.vue:94 -#: src/views/preference/components/TOTP.vue:178 +#: src/views/preference/components/TOTP.vue:177 msgid "Recovery" msgstr "恢复" -#: src/views/preference/components/TOTP.vue:104 +#: src/views/preference/components/TOTP.vue:103 msgid "Recovery Code" msgstr "恢复代码" -#: src/views/preference/components/TOTP.vue:113 +#: src/views/preference/components/TOTP.vue:112 msgid "Recovery Code:" msgstr "恢复代码:" @@ -1783,11 +1833,11 @@ msgstr "正在注册用户" msgid "Registration Status" msgstr "注册状态" -#: src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:228 msgid "Reinstall" msgstr "重新安装" -#: src/views/system/Upgrade.vue:250 +#: src/views/system/Upgrade.vue:251 msgid "Release Note" msgstr "发行日志" @@ -1821,13 +1871,14 @@ msgstr "成功从 %{node} 中删除站点 %{site}" msgid "Remove successfully" msgstr "移除成功" -#: src/components/Notification/Notification.vue:52 +#: src/components/Notification/Notification.vue:100 msgid "Removed successfully" msgstr "删除成功" -#: src/views/config/components/Rename.vue:55 -#: src/views/config/ConfigList.vue:167 -#: src/views/site/ngx_conf/NgxUpstream.vue:123 +#: src/views/config/components/ConfigName.vue:50 +#: src/views/config/components/Rename.vue:56 +#: src/views/config/ConfigList.vue:166 +#: src/views/site/ngx_conf/NgxUpstream.vue:125 #: src/views/site/site_edit/components/ConfigName.vue:46 msgid "Rename" msgstr "重命名" @@ -1866,16 +1917,17 @@ msgstr "在 %{node} 上将站点 %{site} 重命名为 %{new_site} 失败,响 msgid "Rename Site %{site} to %{new_site} on %{node} successfully" msgstr "在 %{node} 上将站点 %{site} 重命名为 %{new_site} 成功" -#: src/views/config/components/Rename.vue:41 +#: src/views/config/components/Rename.vue:42 msgid "Rename successfully" msgstr "重命名成功" +#: src/views/config/components/ConfigName.vue:30 #: src/views/site/site_edit/components/ConfigName.vue:27 msgid "Renamed successfully" msgstr "重命名成功" -#: src/views/certificate/RenewCert.vue:43 -#: src/views/certificate/RenewCert.vue:47 +#: src/views/certificate/RenewCert.vue:45 +#: src/views/certificate/RenewCert.vue:49 msgid "Renew Certificate" msgstr "更新证书" @@ -1887,7 +1939,7 @@ msgstr "证书续期错误" msgid "Renew Certificate Success" msgstr "证书续期成功" -#: src/views/certificate/RenewCert.vue:25 +#: src/views/certificate/RenewCert.vue:27 #: src/views/certificate/WildcardCertificate.vue:48 msgid "Renew successfully" msgstr "更新成功" @@ -1896,11 +1948,11 @@ msgstr "更新成功" msgid "Requested with wrong parameters" msgstr "请求参数错误" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:468 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:448 msgid "Reset" msgstr "重置" -#: src/views/preference/components/TOTP.vue:133 +#: src/views/preference/components/TOTP.vue:132 msgid "Reset 2FA" msgstr "重置二步验证" @@ -1934,13 +1986,15 @@ msgstr "运行中" #: src/components/ChatGPT/ChatGPT.vue:259 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:68 -#: src/views/certificate/CertificateEditor.vue:256 -#: src/views/config/ConfigEditor.vue:222 +#: src/components/StdDesign/StdDetail/StdDetail.vue:93 +#: src/views/certificate/CertificateEditor.vue:263 +#: src/views/config/components/ConfigName.vue:58 +#: src/views/config/ConfigEditor.vue:224 #: src/views/preference/components/Passkey.vue:136 -#: src/views/preference/Preference.vue:187 +#: src/views/preference/Preference.vue:189 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:120 #: src/views/site/site_edit/components/ConfigName.vue:54 -#: src/views/site/site_edit/SiteEdit.vue:256 +#: src/views/site/site_edit/SiteEdit.vue:271 #: src/views/stream/StreamEdit.vue:252 msgid "Save" msgstr "保存" @@ -1949,7 +2003,7 @@ msgstr "保存" msgid "Save Directive" msgstr "保存指令" -#: src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:173 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:41 #: src/views/site/SiteAdd.vue:46 msgid "Save error %{msg}" @@ -1972,20 +2026,20 @@ msgid "Save Site %{site} to %{node} successfully" msgstr "成功将站点 %{site} 保存到 %{node} 中" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117 -#: src/views/certificate/CertificateEditor.vue:46 -#: src/views/preference/Preference.vue:110 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:97 +#: src/views/certificate/CertificateEditor.vue:49 +#: src/views/preference/Preference.vue:112 msgid "Save successfully" msgstr "保存成功" -#: src/views/config/ConfigEditor.vue:167 +#: src/views/config/ConfigEditor.vue:169 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 -#: src/views/site/site_edit/SiteEdit.vue:140 src/views/site/SiteAdd.vue:37 +#: src/views/site/site_edit/SiteEdit.vue:152 src/views/site/SiteAdd.vue:37 #: src/views/stream/StreamEdit.vue:138 msgid "Saved successfully" msgstr "保存成功" -#: src/views/preference/components/TOTP.vue:94 +#: src/views/preference/components/TOTP.vue:93 msgid "Scan the QR code with your mobile phone to add the account to the app." msgstr "用手机扫描二维码,将账户添加到应用程序中。" @@ -1993,49 +2047,49 @@ msgstr "用手机扫描二维码,将账户添加到应用程序中。" msgid "SDK" msgstr "SDK" -#: src/views/preference/components/TOTP.vue:150 +#: src/views/preference/components/TOTP.vue:149 msgid "Secret has been copied" msgstr "密钥已复制" -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:184 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 msgid "Selector" msgstr "选择器" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:337 +#: src/views/dashboard/ServerAnalytic.vue:348 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Send" msgstr "上传" #: src/components/NginxControl/NginxControl.vue:32 #: src/components/NginxControl/NginxControl.vue:48 -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:44 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:124 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:53 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:207 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:249 -#: src/views/config/components/Mkdir.vue:36 -#: src/views/config/components/Rename.vue:44 -#: src/views/config/ConfigEditor.vue:108 -#: src/views/environment/BatchUpgrader.vue:58 -#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:66 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:70 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:194 +#: src/views/config/components/Mkdir.vue:38 +#: src/views/config/components/Rename.vue:45 +#: src/views/config/ConfigEditor.vue:111 +#: src/views/environment/BatchUpgrader.vue:59 +#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:70 #: src/views/preference/AuthSettings.vue:49 #: src/views/preference/components/Passkey.vue:26 #: src/views/preference/components/Passkey.vue:43 #: src/views/preference/components/Passkey.vue:56 -#: src/views/preference/components/TOTP.vue:45 -#: src/views/preference/components/TOTP.vue:58 -#: src/views/preference/Preference.vue:114 -#: src/views/site/site_list/SiteList.vue:39 -#: src/views/site/site_list/SiteList.vue:71 src/views/stream/StreamList.vue:113 -#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:41 +#: src/views/preference/components/TOTP.vue:44 +#: src/views/preference/components/TOTP.vue:57 +#: src/views/preference/Preference.vue:116 +#: src/views/site/site_list/SiteList.vue:40 +#: src/views/site/site_list/SiteList.vue:72 src/views/stream/StreamList.vue:113 +#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:42 msgid "Server error" msgstr "服务器错误" -#: src/views/dashboard/ServerAnalytic.vue:168 +#: src/views/dashboard/ServerAnalytic.vue:179 msgid "Server Info" msgstr "服务器信息" -#: src/views/site/cert/components/ObtainCert.vue:102 +#: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "未在指令集合中找到 server_name" @@ -2061,11 +2115,11 @@ msgstr "正在设置环境变量" msgid "Setting HTTP01 challenge provider" msgstr "使用 HTTP01 challenge provider" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "显示" -#: src/views/other/Login.vue:263 +#: src/views/other/Login.vue:264 msgid "Sign in with a passkey" msgstr "使用 Passkey 登录" @@ -2085,36 +2139,36 @@ msgstr "站点列表" msgid "Sites List" msgstr "站点列表" -#: src/views/certificate/CertificateEditor.vue:205 +#: src/views/certificate/CertificateEditor.vue:212 msgid "SSL Certificate Content" msgstr "SSL 证书内容" -#: src/views/certificate/CertificateEditor.vue:218 +#: src/views/certificate/CertificateEditor.vue:225 msgid "SSL Certificate Key Content" msgstr "SSL 证书密钥内容" -#: src/views/certificate/CertificateEditor.vue:184 +#: src/views/certificate/CertificateEditor.vue:191 msgid "SSL Certificate Key Path" msgstr "SSL证书密钥路径" -#: src/views/certificate/CertificateEditor.vue:169 +#: src/views/certificate/CertificateEditor.vue:176 msgid "SSL Certificate Path" msgstr "SSL证书路径" -#: src/views/other/Login.vue:221 +#: src/views/other/Login.vue:222 msgid "SSO Login" msgstr "SSO 登录" -#: src/views/environment/BatchUpgrader.vue:166 -#: src/views/environment/BatchUpgrader.vue:216 src/views/system/Upgrade.vue:192 -#: src/views/system/Upgrade.vue:240 +#: src/views/environment/BatchUpgrader.vue:167 +#: src/views/environment/BatchUpgrader.vue:217 src/views/system/Upgrade.vue:193 +#: src/views/system/Upgrade.vue:241 msgid "Stable" msgstr "稳定" #: src/views/certificate/ACMEUser.vue:65 #: src/views/certificate/CertificateList/certColumns.tsx:68 #: src/views/environment/envColumns.tsx:75 -#: src/views/site/site_list/columns.tsx:38 src/views/stream/StreamList.vue:22 +#: src/views/site/site_list/columns.tsx:40 src/views/stream/StreamList.vue:22 msgid "Status" msgstr "状态" @@ -2122,8 +2176,8 @@ msgstr "状态" msgid "Stopped" msgstr "已停止" -#: src/views/dashboard/ServerAnalytic.vue:243 -#: src/views/dashboard/ServerAnalytic.vue:244 +#: src/views/dashboard/ServerAnalytic.vue:254 +#: src/views/dashboard/ServerAnalytic.vue:255 msgid "Storage" msgstr "存储" @@ -2131,8 +2185,8 @@ msgstr "存储" msgid "Success" msgstr "成功" -#: src/views/dashboard/ServerAnalytic.vue:229 -#: src/views/dashboard/ServerAnalytic.vue:230 +#: src/views/dashboard/ServerAnalytic.vue:240 +#: src/views/dashboard/ServerAnalytic.vue:241 msgid "Swap" msgstr "Swap" @@ -2144,7 +2198,7 @@ msgstr "切换到深色主题" msgid "Switch to light theme" msgstr "切换到浅色" -#: src/views/config/components/Rename.vue:80 +#: src/views/config/components/Rename.vue:81 msgid "Sync" msgstr "同步" @@ -2201,7 +2255,7 @@ msgstr "同步节点" msgid "Sync strategy" msgstr "同步策略" -#: src/views/certificate/CertificateEditor.vue:198 +#: src/views/certificate/CertificateEditor.vue:205 msgid "Sync to" msgstr "同步到" @@ -2221,7 +2275,7 @@ msgstr "系统初始用户" msgid "Target" msgstr "目标" -#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:113 +#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:114 msgid "Terminal" msgstr "终端" @@ -2229,7 +2283,7 @@ msgstr "终端" msgid "Terminal Start Command" msgstr "终端启动命令" -#: src/views/site/cert/components/AutoCertStepOne.vue:50 +#: src/views/site/cert/components/AutoCertStepOne.vue:49 msgid "" "The certificate for the domain will be checked 30 minutes, and will be " "renewed if it has been more than 1 week or the period you set in settings " @@ -2238,39 +2292,51 @@ msgstr "" "域名证书将在 30 分钟内接受检查,如果距离上次签发证书的时间超过 1 周或您在设置" "中设定的时间,证书将被更新。" -#: src/views/other/Install.vue:50 +#: src/views/other/Install.vue:54 msgid "The filename cannot contain the following characters: %{c}" msgstr "文件名不能包含以下字符: %{c}" -#: src/views/certificate/CertificateEditor.vue:208 +#: src/views/preference/BasicSettings.vue:54 +msgid "" +"The ICP Number should only contain letters, unicode, numbers, hyphens, " +"dashes, colons, and dots." +msgstr "ICP 备案号只能包含字母、单码、数字、连字符、破折号、冒号和点。" + +#: src/views/certificate/CertificateEditor.vue:215 msgid "The input is not a SSL Certificate" msgstr "输入的内容不是 SSL 证书" -#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:228 msgid "The input is not a SSL Certificate Key" msgstr "输入的内容不是 SSL 证书密钥" #: src/views/preference/OpenAISettings.vue:35 msgid "" "The model name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." -msgstr "模型只能包含字母、Unicode、数字、连词符、破折号和点。" +"dashes, colons, and dots." +msgstr "模型名称只能包含字母、单码、数字、连字符、破折号、冒号和点。" -#: src/views/preference/BasicSettings.vue:45 +#: src/views/preference/BasicSettings.vue:33 msgid "" "The node name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." -msgstr "节点名称只能包含字母、统一码、数字、连字符、破折号和点。" +"dashes, colons, and dots." +msgstr "节点名称只能包含字母、统一码、数字、连字符、破折号、冒号和点。" -#: src/views/certificate/CertificateEditor.vue:173 +#: src/views/certificate/CertificateEditor.vue:180 msgid "The path exists, but the file is not a certificate" msgstr "路径存在,但文件不是证书" -#: src/views/certificate/CertificateEditor.vue:188 +#: src/views/certificate/CertificateEditor.vue:195 msgid "The path exists, but the file is not a private key" msgstr "路径存在,但文件不是私钥" -#: src/views/preference/components/TOTP.vue:112 +#: src/views/preference/BasicSettings.vue:66 +msgid "" +"The Public Security Number should only contain letters, unicode, numbers, " +"hyphens, dashes, colons, and dots." +msgstr "公安备案号只能包含字母、单码、数字、连字符、破折号、冒号和点。" + +#: src/views/preference/components/TOTP.vue:111 msgid "" "The recovery code is only displayed once, please save it in a safe place." msgstr "恢复密码只会显示一次,请妥善保存。" @@ -2284,13 +2350,13 @@ msgstr "" "远程 Nginx UI 版本与本地 Nginx UI版本不兼容。为避免意料之外的错误,请升级远" "程 Nginx UI,使其与本地版本一致。" -#: src/views/site/cert/components/AutoCertStepOne.vue:45 +#: src/views/site/cert/components/AutoCertStepOne.vue:44 msgid "" "The server_name in the current configuration must be the domain name you " "need to get the certificate, supportmultiple domains." msgstr "当前配置中的 server_name 必须是获取证书所需的域名,支持多个域名。" -#: src/views/preference/BasicSettings.vue:33 +#: src/views/preference/BasicSettings.vue:42 #: src/views/preference/CertSettings.vue:19 msgid "The url is invalid" msgstr "URL无效" @@ -2304,17 +2370,17 @@ msgstr "URL 无效." msgid "The username or password is incorrect" msgstr "用户名或密码错误" -#: src/views/certificate/CertificateEditor.vue:96 +#: src/views/certificate/CertificateEditor.vue:103 msgid "This Auto Cert item is invalid, please remove it." msgstr "这个证书自动续期项目是无效的,请删除。" -#: src/views/certificate/CertificateEditor.vue:86 +#: src/views/certificate/CertificateEditor.vue:93 msgid "This certificate is managed by Nginx UI" msgstr "该证书由 Nginx UI 托管" -#: src/views/certificate/CertificateEditor.vue:157 -#: src/views/certificate/CertificateEditor.vue:171 -#: src/views/certificate/CertificateEditor.vue:186 +#: src/views/certificate/CertificateEditor.vue:164 +#: src/views/certificate/CertificateEditor.vue:178 +#: src/views/certificate/CertificateEditor.vue:193 msgid "This field is required" msgstr "此字段必填" @@ -2340,7 +2406,7 @@ msgstr "该字段只能包含字母、unicode 字符、数字和 -_。" msgid "This value is already taken" msgstr "该字段的值已经存在" -#: src/views/environment/BatchUpgrader.vue:184 +#: src/views/environment/BatchUpgrader.vue:185 msgid "" "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}." msgstr "将 %{nodeNames} 上的 Nginx UI 升级或重新安装到 %{version} 版本。" @@ -2359,7 +2425,7 @@ msgstr "提示" msgid "Title" msgstr "标题" -#: src/views/preference/components/TOTP.vue:93 +#: src/views/preference/components/TOTP.vue:92 msgid "" "To enable it, you need to install the Google or Microsoft Authenticator app " "on your mobile phone." @@ -2387,35 +2453,41 @@ msgstr "" #: src/views/preference/OpenAISettings.vue:48 msgid "" -"To use a local large model, deploy it with vllm or imdeploy. They provide an " -"OpenAI-compatible API endpoint, so just set the baseUrl to your local API." +"To use a local large model, deploy it with ollama, vllm or imdeploy. They " +"provide an OpenAI-compatible API endpoint, so just set the baseUrl to your " +"local API." msgstr "" -"如需使用本地大语言模型,可使用 vllm 或 imdeploy 进行部署。它们提供了与 " -"OpenAI 兼容的 API EndPoint,因此只需将 baseUrl 设置为本地 API 即可。" +"要使用本地大型模型,可使用 ollama、vllm 或 imdeploy 进行部署。它们提供了与 " +"OpenAI 兼容的 API 端点,因此只需将 baseUrl 设置为本地 API 即可。" #: src/views/preference/OpenAISettings.vue:72 msgid "Token is not valid" msgstr "Token 无效" -#: src/views/other/Login.vue:80 +#: src/views/other/Login.vue:81 msgid "Too many login failed attempts, please try again later" msgstr "登录失败次数过多,请稍后再试" -#: src/views/preference/components/TOTP.vue:91 +#: src/components/StdDesign/StdDataDisplay/StdPagination.vue:40 +msgid "Total %{total} item" +msgid_plural "Total %{total} items" +msgstr[0] "共 %{total} 个项目" + +#: src/views/preference/components/TOTP.vue:90 msgid "TOTP" msgstr "TOTP" -#: src/views/preference/components/TOTP.vue:92 +#: src/views/preference/components/TOTP.vue:91 msgid "" "TOTP is a two-factor authentication method that uses a time-based one-time " "password algorithm." msgstr "TOTP 是一种使用基于时间的一次性密码算法的双因素身份验证方法。" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:202 msgid "Trash" msgstr "回收站" -#: src/components/TwoFA/use2FAModal.ts:66 +#: src/components/TwoFA/use2FAModal.ts:67 msgid "Two-factor authentication required" msgstr "需要两步验证" @@ -2431,26 +2503,26 @@ msgstr "更新成功" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:275 +#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:278 #: src/views/environment/envColumns.tsx:119 #: src/views/site/site_category/columns.ts:20 #: src/views/site/site_edit/RightSettings.vue:100 -#: src/views/site/site_list/columns.tsx:64 +#: src/views/site/site_list/columns.tsx:67 #: src/views/stream/components/RightSettings.vue:85 #: src/views/stream/StreamList.vue:41 src/views/user/userColumns.tsx:54 msgid "Updated at" msgstr "修改时间" -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:123 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:121 msgid "Updated successfully" msgstr "更新成功" #: src/routes/index.ts:290 src/views/environment/Environment.vue:55 -#: src/views/system/Upgrade.vue:144 src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228 msgid "Upgrade" msgstr "升级" -#: src/views/environment/BatchUpgrader.vue:139 +#: src/views/environment/BatchUpgrader.vue:140 msgid "Upgraded Nginx UI on %{node} successfully 🎉" msgstr "成功升级 %{node} 上的 Nginx UI 🎉" @@ -2458,15 +2530,15 @@ msgstr "成功升级 %{node} 上的 Nginx UI 🎉" msgid "Upgraded successfully" msgstr "升级成功" -#: src/views/environment/BatchUpgrader.vue:90 src/views/system/Upgrade.vue:78 +#: src/views/environment/BatchUpgrader.vue:91 src/views/system/Upgrade.vue:79 msgid "Upgrading Nginx UI, please wait..." msgstr "正在升级 Nginx UI,请等待..." -#: src/views/site/ngx_conf/NgxUpstream.vue:170 +#: src/views/site/ngx_conf/NgxUpstream.vue:172 msgid "Upstream Name" msgstr "Upstream 名称" -#: src/views/dashboard/ServerAnalytic.vue:172 +#: src/views/dashboard/ServerAnalytic.vue:183 msgid "Uptime:" msgstr "运行时间:" @@ -2486,15 +2558,15 @@ msgstr "使用恢复代码" msgid "User" msgstr "用户" -#: src/views/other/Login.vue:83 +#: src/views/other/Login.vue:84 msgid "User is banned" msgstr "用户被禁止" -#: src/views/other/Login.vue:196 src/views/user/userColumns.tsx:9 +#: src/views/other/Login.vue:197 src/views/user/userColumns.tsx:9 msgid "Username" msgstr "用户名" -#: src/views/other/Install.vue:96 +#: src/views/other/Install.vue:100 msgid "Username (*)" msgstr "用户名 (*)" @@ -2508,20 +2580,20 @@ msgstr "有效的" msgid "Version" msgstr "版本" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:506 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:494 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:103 msgid "View" msgstr "查看" -#: src/components/Notification/Notification.vue:143 +#: src/components/Notification/Notification.vue:192 msgid "View all notifications" msgstr "查看全部通知" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 msgid "View Details" msgstr "查看详情" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 msgid "View Mode" msgstr "预览模式" @@ -2538,7 +2610,7 @@ msgid "" "ownership verification." msgstr "我们将在您域名的 DNS 记录中添加一个或多个 TXT 记录,以核实域名所有权。" -#: src/views/site/cert/components/ObtainCert.vue:134 +#: src/views/site/cert/components/ObtainCert.vue:137 msgid "" "We will remove the HTTPChallenge configuration from this file and reload the " "Nginx. Are you sure you want to continue?" @@ -2566,8 +2638,8 @@ msgstr "" "启用/禁用、删除或保存此站点时,网站分类中设置的节点和下面选择的节点将同步执行" "操作。" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:366 +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:377 msgid "Writes" msgstr "写" @@ -2586,11 +2658,11 @@ msgstr "正在将证书写入磁盘" msgid "Yes" msgstr "是的" -#: src/views/system/Upgrade.vue:203 +#: src/views/system/Upgrade.vue:204 msgid "You are using the latest version" msgstr "您使用的是最新版本" -#: src/views/system/Upgrade.vue:165 +#: src/views/system/Upgrade.vue:166 msgid "You can check Nginx UI upgrade at this page." msgstr "你可以在这个页面检查Nginx UI的升级。" @@ -2617,11 +2689,6 @@ msgstr "你的 Passkeys" #~ msgid "Server Name" #~ msgstr "服务器名称" -#~ msgid "" -#~ "The server name should only contain letters, unicode, numbers, hyphens, " -#~ "dashes, and dots." -#~ msgstr "服务器名称只能包含字母、Unicode、数字、连词符、破折号和点。" - #~ msgid "Enable 2FA" #~ msgstr "启用二步验证" @@ -2787,9 +2854,6 @@ msgstr "你的 Passkeys" #~ msgid "Detected version update, this page will refresh." #~ msgstr "检测到版本更新,页面将会刷新。" -#~ msgid "Edit" -#~ msgstr "编辑" - #~ msgid "No, I'm rethink" #~ msgstr "再想想" diff --git a/app/src/language/zh_TW/app.po b/app/src/language/zh_TW/app.po index c4b69fb8..f4679cde 100644 --- a/app/src/language/zh_TW/app.po +++ b/app/src/language/zh_TW/app.po @@ -29,7 +29,7 @@ msgstr "多重要素驗證設定" msgid "About" msgstr "關於" -#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:76 +#: src/routes/index.ts:210 src/views/site/ngx_conf/LogEntry.vue:75 msgid "Access Logs" msgstr "存取日誌" @@ -46,17 +46,17 @@ msgstr "ACME 用戶" #: src/views/notification/notificationColumns.tsx:62 #: src/views/preference/AuthSettings.vue:26 #: src/views/site/site_category/columns.ts:26 -#: src/views/site/site_list/columns.tsx:70 src/views/stream/StreamList.vue:47 +#: src/views/site/site_list/columns.tsx:74 src/views/stream/StreamList.vue:47 #: src/views/user/userColumns.tsx:60 msgid "Action" msgstr "操作" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:177 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:209 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:191 #: src/views/preference/CertSettings.vue:42 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:117 #: src/views/site/ngx_conf/NgxServer.vue:162 -#: src/views/site/ngx_conf/NgxUpstream.vue:152 +#: src/views/site/ngx_conf/NgxUpstream.vue:154 #: src/views/stream/StreamList.vue:121 msgid "Add" msgstr "新增" @@ -66,8 +66,8 @@ msgstr "新增" msgid "Add a passkey" msgstr "" -#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:143 -#: src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:118 src/views/config/ConfigEditor.vue:146 +#: src/views/config/ConfigEditor.vue:206 msgid "Add Configuration" msgstr "添加配置" @@ -96,7 +96,7 @@ msgstr "添加成功" msgid "Additional" msgstr "其他設定" -#: src/views/site/site_edit/SiteEdit.vue:191 +#: src/views/site/site_edit/SiteEdit.vue:205 #: src/views/stream/StreamEdit.vue:189 msgid "Advance Mode" msgstr "進階模式" @@ -105,7 +105,8 @@ msgstr "進階模式" msgid "Afterwards, refresh this page and click add passkey again." msgstr "" -#: src/views/site/site_list/SiteList.vue:101 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:425 +#: src/views/site/site_list/SiteList.vue:102 msgid "All" msgstr "" @@ -125,7 +126,21 @@ msgstr "API 代理" msgid "API Token" msgstr "API Token" -#: src/views/system/Upgrade.vue:177 +#: src/views/preference/OpenAISettings.vue:78 +#, fuzzy +msgid "API Type" +msgstr "API Token" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:105 +msgid "Apply" +msgstr "" + +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:67 +#, fuzzy +msgid "Apply bulk action successfully" +msgstr "複製成功" + +#: src/views/system/Upgrade.vue:178 msgid "Arch" msgstr "架構" @@ -138,7 +153,12 @@ msgstr "您確定要刪除這個被禁用的 IP 嗎?" msgid "Are you sure to delete this passkey immediately?" msgstr "您確定要刪除這個被禁用的 IP 嗎?" -#: src/components/Notification/Notification.vue:86 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:98 +#, fuzzy +msgid "Are you sure you want to apply to all selected?" +msgstr "您確定要刪除嗎?" + +#: src/components/Notification/Notification.vue:135 #: src/views/notification/Notification.vue:40 msgid "Are you sure you want to clear all notifications?" msgstr "您確定要清除所有通知嗎?" @@ -147,20 +167,20 @@ msgstr "您確定要清除所有通知嗎?" msgid "Are you sure you want to clear the record of chat?" msgstr "您確定要清除聊天記錄嗎?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:564 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:552 msgid "Are you sure you want to delete this item permanently?" msgstr "您確定要永久刪除此項目嗎?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:523 msgid "Are you sure you want to delete this item?" msgstr "您確定要刪除此項目嗎?" -#: src/views/site/site_list/SiteList.vue:149 +#: src/views/site/site_list/SiteList.vue:150 #: src/views/stream/StreamList.vue:166 msgid "Are you sure you want to delete?" msgstr "您確定要刪除嗎?" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:549 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:537 msgid "Are you sure you want to recover this item?" msgstr "您確定要恢復此項目嗎?" @@ -188,7 +208,7 @@ msgstr "助理" msgid "Attempts" msgstr "嘗試次數" -#: src/views/preference/Preference.vue:152 +#: src/views/preference/Preference.vue:154 msgid "Auth" msgstr "身份驗證" @@ -205,22 +225,22 @@ msgstr "" msgid "Author" msgstr "作者" -#: src/views/nginx_log/NginxLog.vue:151 +#: src/views/nginx_log/NginxLog.vue:152 msgid "Auto Refresh" msgstr "自動重新整理" -#: src/views/site/cert/components/ObtainCert.vue:75 +#: src/views/site/cert/components/ObtainCert.vue:80 msgid "Auto-renewal disabled for %{name}" msgstr "已關閉 %{name} 的自動續簽" -#: src/views/site/cert/components/ObtainCert.vue:68 +#: src/views/site/cert/components/ObtainCert.vue:73 msgid "Auto-renewal enabled for %{name}" msgstr "已啟用 %{name} 的自動續簽" -#: src/views/certificate/CertificateEditor.vue:249 -#: src/views/config/ConfigEditor.vue:213 src/views/config/ConfigList.vue:107 -#: src/views/config/ConfigList.vue:181 src/views/nginx_log/NginxLog.vue:172 -#: src/views/site/site_edit/SiteEdit.vue:249 +#: src/views/certificate/CertificateEditor.vue:256 +#: src/views/config/ConfigEditor.vue:215 src/views/config/ConfigList.vue:106 +#: src/views/config/ConfigList.vue:180 src/views/nginx_log/NginxLog.vue:173 +#: src/views/site/site_edit/SiteEdit.vue:264 #: src/views/stream/StreamEdit.vue:245 msgid "Back" msgstr "返回" @@ -229,7 +249,7 @@ msgstr "返回" msgid "Back Home" msgstr "返回首頁" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:222 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211 msgid "Back to list" msgstr "返回列表" @@ -249,24 +269,29 @@ msgstr "禁止至" msgid "Base information" msgstr "基本資訊" -#: src/views/config/ConfigEditor.vue:241 -#: src/views/preference/Preference.vue:146 +#: src/views/config/ConfigEditor.vue:243 +#: src/views/preference/Preference.vue:148 #: src/views/site/site_edit/RightSettings.vue:79 #: src/views/stream/components/RightSettings.vue:74 msgid "Basic" msgstr "基本" -#: src/views/site/site_edit/SiteEdit.vue:194 +#: src/views/site/site_edit/SiteEdit.vue:208 #: src/views/stream/StreamEdit.vue:192 msgid "Basic Mode" msgstr "基本模式" +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:85 +#, fuzzy +msgid "Batch Actions" +msgstr "操作" + #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:66 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:474 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:454 msgid "Batch Modify" msgstr "批次修改" -#: src/views/environment/BatchUpgrader.vue:154 +#: src/views/environment/BatchUpgrader.vue:155 msgid "Batch Upgrade" msgstr "批次升級" @@ -286,18 +311,19 @@ msgstr "CA Dir" msgid "CADir" msgstr "CADir" -#: src/views/preference/components/TOTP.vue:151 +#: src/views/preference/components/TOTP.vue:150 msgid "Can't scan? Use text key binding" msgstr "" #: src/components/ChatGPT/ChatGPT.vue:260 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:261 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:251 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:180 +#: src/components/StdDesign/StdDetail/StdDetail.vue:101 #: src/views/preference/components/Passkey.vue:147 -#: src/views/site/cert/components/ObtainCert.vue:137 +#: src/views/site/cert/components/ObtainCert.vue:140 #: src/views/site/ngx_conf/NgxConfigEditor.vue:51 #: src/views/site/ngx_conf/NgxServer.vue:80 -#: src/views/site/ngx_conf/NgxUpstream.vue:33 +#: src/views/site/ngx_conf/NgxUpstream.vue:34 #: src/views/site/site_edit/RightSettings.vue:55 #: src/views/stream/components/Deploy.vue:20 #: src/views/stream/components/RightSettings.vue:51 @@ -305,11 +331,11 @@ msgid "Cancel" msgstr "取消" #: src/views/site/site_edit/RightSettings.vue:91 -#: src/views/site/site_list/columns.tsx:22 +#: src/views/site/site_list/columns.tsx:23 msgid "Category" msgstr "" -#: src/views/preference/Preference.vue:158 +#: src/views/preference/Preference.vue:160 #, fuzzy msgid "Cert" msgstr "自動憑證" @@ -318,7 +344,7 @@ msgstr "自動憑證" msgid "Certificate Renewal Interval" msgstr "憑證更新間隔" -#: src/views/certificate/CertificateEditor.vue:122 +#: src/views/certificate/CertificateEditor.vue:129 #: src/views/site/cert/Cert.vue:32 msgid "Certificate Status" msgid_plural "Certificates Status" @@ -333,7 +359,7 @@ msgstr "憑證" msgid "Certificates List" msgstr "憑證清單" -#: src/views/site/cert/components/AutoCertStepOne.vue:67 +#: src/views/site/cert/components/AutoCertStepOne.vue:66 msgid "Challenge Method" msgstr "驗證方式" @@ -347,15 +373,15 @@ msgid "Changed Certificate" msgid_plural "Changed Certificates" msgstr[0] "變更後憑證" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 msgid "Changed Path" msgstr "變更後路徑" -#: src/views/environment/BatchUpgrader.vue:161 src/views/system/Upgrade.vue:189 +#: src/views/environment/BatchUpgrader.vue:162 src/views/system/Upgrade.vue:190 msgid "Channel" msgstr "通道" -#: src/views/system/Upgrade.vue:186 +#: src/views/system/Upgrade.vue:187 msgid "Check again" msgstr "再次檢查" @@ -364,12 +390,12 @@ msgid "Cleaning environment variables" msgstr "清理環境變數" #: src/components/ChatGPT/ChatGPT.vue:283 -#: src/components/Notification/Notification.vue:91 +#: src/components/Notification/Notification.vue:140 #: src/views/notification/Notification.vue:45 msgid "Clear" msgstr "清除" -#: src/components/Notification/Notification.vue:42 +#: src/components/Notification/Notification.vue:90 #: src/views/notification/Notification.vue:13 msgid "Cleared successfully" msgstr "清除成功" @@ -397,7 +423,7 @@ msgstr "設定檔案測試成功" msgid "Configuration Name" msgstr "設定名稱" -#: src/views/config/ConfigList.vue:99 +#: src/views/config/ConfigList.vue:98 msgid "Configurations" msgstr "設定" @@ -409,7 +435,7 @@ msgstr "設定 SSL" msgid "Connected" msgstr "已連結" -#: src/views/terminal/Terminal.vue:119 +#: src/views/terminal/Terminal.vue:120 msgid "Connection lost, please refresh the page." msgstr "連接丟失,請重新整理。" @@ -419,27 +445,28 @@ msgstr "連接丟失,請重新整理。" msgid "Content" msgstr "內容" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 +#: src/components/StdDesign/StdDataDisplay/StdTableTransformer.tsx:150 msgid "Copied" msgstr "已複製" -#: src/components/SensitiveString/SensitiveString.vue:38 +#: src/components/SensitiveString/SensitiveString.vue:37 msgid "Copy" msgstr "複製" -#: src/views/system/Upgrade.vue:147 +#: src/views/system/Upgrade.vue:148 msgid "Core Upgrade" msgstr "核心升級" -#: src/views/dashboard/ServerAnalytic.vue:294 +#: src/views/dashboard/ServerAnalytic.vue:305 msgid "CPU Status" msgstr "中央處理器狀態" -#: src/views/dashboard/ServerAnalytic.vue:188 +#: src/views/dashboard/ServerAnalytic.vue:199 msgid "CPU:" msgstr "中央處理器:" -#: src/views/site/ngx_conf/NgxUpstream.vue:163 +#: src/views/site/ngx_conf/NgxUpstream.vue:165 msgid "Create" msgstr "創建" @@ -447,11 +474,11 @@ msgstr "創建" msgid "Create Another" msgstr "再建立一個" -#: src/views/config/ConfigList.vue:117 +#: src/views/config/ConfigList.vue:116 msgid "Create File" msgstr "創建檔案" -#: src/views/config/components/Mkdir.vue:47 src/views/config/ConfigList.vue:124 +#: src/views/config/components/Mkdir.vue:49 src/views/config/ConfigList.vue:123 msgid "Create Folder" msgstr "創建資料夾" @@ -461,7 +488,7 @@ msgstr "創建資料夾" msgid "Created at" msgstr "建立時間" -#: src/views/config/components/Mkdir.vue:33 +#: src/views/config/components/Mkdir.vue:35 msgid "Created successfully" msgstr "創建成功" @@ -477,17 +504,17 @@ msgstr "認證" msgid "Credentials" msgstr "認證資訊" -#: src/views/preference/components/TOTP.vue:99 +#: src/views/preference/components/TOTP.vue:98 #, fuzzy msgid "Current account is enabled TOTP." msgstr "當前帳戶已啟用多因素身份驗證。" -#: src/views/preference/components/TOTP.vue:96 +#: src/views/preference/components/TOTP.vue:95 #, fuzzy msgid "Current account is not enabled TOTP." msgstr "當前帳戶未啟用多因素身份驗證。" -#: src/views/system/Upgrade.vue:166 +#: src/views/system/Upgrade.vue:167 msgid "Current Version" msgstr "目前版本" @@ -496,19 +523,19 @@ msgstr "目前版本" msgid "Custom" msgstr "自訂" -#: src/views/preference/BasicSettings.vue:46 +#: src/views/preference/BasicSettings.vue:34 #, fuzzy msgid "" "Customize the name of local node to be displayed in the environment " "indicator." msgstr "自訂本地伺服器名稱以顯示在環境指示器中。" -#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:133 -#: src/views/config/ConfigEditor.vue:94 src/views/config/ConfigList.vue:65 +#: src/routes/index.ts:38 src/views/config/ConfigEditor.vue:136 +#: src/views/config/ConfigEditor.vue:97 src/views/config/ConfigList.vue:64 msgid "Dashboard" msgstr "儀表板" -#: src/views/other/Install.vue:117 +#: src/views/other/Install.vue:121 msgid "Database (Optional, default: database)" msgstr "資料庫 (可選,預設: database)" @@ -516,15 +543,17 @@ msgstr "資料庫 (可選,預設: database)" msgid "Days" msgstr "天" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:542 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:21 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:530 #: src/views/site/ngx_conf/NgxServer.vue:110 -#: src/views/site/ngx_conf/NgxUpstream.vue:126 -#: src/views/site/site_list/SiteList.vue:158 +#: src/views/site/ngx_conf/NgxUpstream.vue:128 +#: src/views/site/site_list/SiteList.vue:159 #: src/views/stream/StreamList.vue:175 msgid "Delete" msgstr "刪除" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:571 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:35 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:559 msgid "Delete Permanently" msgstr "永久刪除" @@ -538,7 +567,7 @@ msgstr "重命名遠端配置錯誤" msgid "Delete Remote Site Success" msgstr "重新命名遠端配置成功" -#: src/views/site/site_list/SiteList.vue:68 +#: src/views/site/site_list/SiteList.vue:69 msgid "Delete site: %{site_name}" msgstr "刪除網站:%{site_name}" @@ -546,11 +575,11 @@ msgstr "刪除網站:%{site_name}" msgid "Delete stream: %{stream_name}" msgstr "刪除 Stream:%{stream_name}" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:196 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:183 msgid "Deleted successfully" msgstr "刪除成功" -#: src/views/config/ConfigEditor.vue:284 +#: src/views/config/ConfigEditor.vue:287 #: src/views/stream/components/Deploy.vue:100 #: src/views/stream/components/RightSettings.vue:92 msgid "Deploy" @@ -593,12 +622,12 @@ msgstr "指令" msgid "Directory" msgstr "目錄" -#: src/views/site/site_list/SiteList.vue:127 +#: src/views/site/site_list/SiteList.vue:128 #: src/views/stream/StreamList.vue:144 msgid "Disable" msgstr "停用" -#: src/views/site/cert/components/ObtainCert.vue:77 +#: src/views/site/cert/components/ObtainCert.vue:82 msgid "Disable auto-renewal failed for %{name}" msgstr "關閉 %{name} 自動續簽失敗" @@ -624,21 +653,21 @@ msgstr "成功在 %{node_name} 啟用 %{conf_name}" #: src/views/environment/envColumns.tsx:109 #: src/views/environment/envColumns.tsx:92 -#: src/views/site/site_edit/SiteEdit.vue:177 -#: src/views/site/site_list/columns.tsx:49 -#: src/views/site/site_list/columns.tsx:58 src/views/stream/StreamEdit.vue:175 +#: src/views/site/site_edit/SiteEdit.vue:190 +#: src/views/site/site_list/columns.tsx:51 +#: src/views/site/site_list/columns.tsx:60 src/views/stream/StreamEdit.vue:175 #: src/views/stream/StreamList.vue:33 src/views/user/userColumns.tsx:41 msgid "Disabled" msgstr "停用" #: src/views/site/site_edit/RightSettings.vue:42 -#: src/views/site/site_list/SiteList.vue:57 +#: src/views/site/site_list/SiteList.vue:58 #: src/views/stream/components/RightSettings.vue:38 #: src/views/stream/StreamList.vue:67 msgid "Disabled successfully" msgstr "成功停用" -#: src/views/dashboard/ServerAnalytic.vue:359 +#: src/views/dashboard/ServerAnalytic.vue:370 msgid "Disk IO" msgstr "磁碟 IO" @@ -651,11 +680,11 @@ msgstr "DNS 認證" msgid "DNS Provider" msgstr "DNS 供應商" -#: src/views/site/cert/components/AutoCertStepOne.vue:74 +#: src/views/site/cert/components/AutoCertStepOne.vue:73 msgid "DNS01" msgstr "DNS01" -#: src/views/site/cert/components/AutoCertStepOne.vue:99 +#: src/views/site/cert/components/AutoCertStepOne.vue:98 msgid "Do not enable this option unless you are sure that you need it." msgstr "除非您確定需要,否則不要啟用此選項。" @@ -664,7 +693,7 @@ msgid "Do you want to deploy this file to remote server?" msgid_plural "Do you want to deploy this file to remote servers?" msgstr[0] "您要將此檔案部署至遠端伺服器嗎?" -#: src/views/site/cert/components/ObtainCert.vue:133 +#: src/views/site/cert/components/ObtainCert.vue:136 msgid "Do you want to disable auto-cert renewal?" msgstr "您要停用自動憑證續訂嗎?" @@ -692,7 +721,7 @@ msgstr "您想啟用 TLS 嗎?" msgid "Do you want to remove this server?" msgstr "您要移除此伺服器嗎?" -#: src/views/site/ngx_conf/NgxUpstream.vue:29 +#: src/views/site/ngx_conf/NgxUpstream.vue:30 msgid "Do you want to remove this upstream?" msgstr "您要移除這個 Upstream 嗎?" @@ -704,7 +733,7 @@ msgstr "網域" msgid "Domain Config Created Successfully" msgstr "網域設定檔成功建立" -#: src/views/certificate/CertificateEditor.vue:106 +#: src/views/certificate/CertificateEditor.vue:113 msgid "Domains list is empty, try to reopen Auto Cert for %{config}" msgstr "網域列表為空,請嘗試重新開啟 %{config} 的自動憑證" @@ -716,7 +745,7 @@ msgstr "下載最新版本錯誤" msgid "Downloading latest release" msgstr "正在下載最新版本" -#: src/views/environment/BatchUpgrader.vue:190 src/views/system/Upgrade.vue:216 +#: src/views/environment/BatchUpgrader.vue:191 src/views/system/Upgrade.vue:217 msgid "Dry run mode enabled" msgstr "試運轉模式已啟用" @@ -727,7 +756,7 @@ msgid "" msgstr "" #: src/views/site/site_list/SiteDuplicate.vue:74 -#: src/views/site/site_list/SiteList.vue:143 +#: src/views/site/site_list/SiteList.vue:144 #: src/views/stream/components/StreamDuplicate.vue:121 #: src/views/stream/StreamList.vue:160 msgid "Duplicate" @@ -750,12 +779,16 @@ msgstr "複製成功" msgid "Duplicate to local successfully" msgstr "成功複製至本機" -#: src/views/site/site_edit/SiteEdit.vue:166 +#: src/components/StdDesign/StdDetail/StdDetail.vue:110 +msgid "Edit" +msgstr "編輯" + +#: src/views/site/site_edit/SiteEdit.vue:179 #: src/views/stream/StreamEdit.vue:164 msgid "Edit %{n}" msgstr "編輯 %{n}" -#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:204 +#: src/routes/index.ts:128 src/views/config/ConfigEditor.vue:206 msgid "Edit Configuration" msgstr "編輯設定" @@ -771,11 +804,11 @@ msgstr "編輯 Stream" msgid "Email" msgstr "電子郵件" -#: src/views/other/Install.vue:86 +#: src/views/other/Install.vue:90 msgid "Email (*)" msgstr "電子郵件 (*)" -#: src/views/site/site_list/SiteList.vue:135 +#: src/views/site/site_list/SiteList.vue:136 #: src/views/stream/components/Deploy.vue:80 #: src/views/stream/StreamList.vue:152 msgid "Enable" @@ -789,11 +822,11 @@ msgstr "在 %{node_name} 啟用 %{conf_name} 失敗" msgid "Enable %{conf_name} in %{node_name} successfully" msgstr "成功在 %{node_name} 啟用 %{conf_name}" -#: src/views/preference/components/TOTP.vue:55 +#: src/views/preference/components/TOTP.vue:54 msgid "Enable 2FA successfully" msgstr "啟用多因素身份驗證成功" -#: src/views/site/cert/components/ObtainCert.vue:70 +#: src/views/site/cert/components/ObtainCert.vue:75 msgid "Enable auto-renewal failed for %{name}" msgstr "啟用 %{name} 自動續簽失敗" @@ -829,7 +862,7 @@ msgstr "啟用成功" msgid "Enable TLS" msgstr "啟用 TLS" -#: src/views/preference/components/TOTP.vue:125 +#: src/views/preference/components/TOTP.vue:124 #, fuzzy msgid "Enable TOTP" msgstr "啟用 TLS" @@ -838,9 +871,9 @@ msgstr "啟用 TLS" #: src/views/environment/envColumns.tsx:106 #: src/views/preference/LogrotateSettings.vue:19 #: src/views/site/site_edit/RightSettings.vue:82 -#: src/views/site/site_edit/SiteEdit.vue:171 -#: src/views/site/site_list/columns.tsx:45 -#: src/views/site/site_list/columns.tsx:57 +#: src/views/site/site_edit/SiteEdit.vue:184 +#: src/views/site/site_list/columns.tsx:47 +#: src/views/site/site_list/columns.tsx:59 #: src/views/stream/components/RightSettings.vue:76 #: src/views/stream/StreamEdit.vue:169 src/views/stream/StreamList.vue:29 #: src/views/user/userColumns.tsx:38 @@ -848,14 +881,14 @@ msgid "Enabled" msgstr "已啟用" #: src/views/site/site_edit/RightSettings.vue:33 -#: src/views/site/site_list/SiteList.vue:47 src/views/site/SiteAdd.vue:40 +#: src/views/site/site_list/SiteList.vue:48 src/views/site/SiteAdd.vue:40 #: src/views/stream/components/RightSettings.vue:29 #: src/views/stream/components/StreamDuplicate.vue:93 #: src/views/stream/StreamList.vue:57 msgid "Enabled successfully" msgstr "成功啟用" -#: src/views/site/cert/IssueCert.vue:49 +#: src/views/site/cert/IssueCert.vue:48 msgid "Encrypt website with Let's Encrypt" msgstr "用 Let's Encrypt 對網站進行加密" @@ -876,11 +909,11 @@ msgstr "環境" msgid "Error" msgstr "錯誤" -#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:84 +#: src/routes/index.ts:217 src/views/site/ngx_conf/LogEntry.vue:83 msgid "Error Logs" msgstr "錯誤日誌" -#: src/views/system/Upgrade.vue:178 +#: src/views/system/Upgrade.vue:179 msgid "Executable Path" msgstr "可執行檔路徑" @@ -893,7 +926,7 @@ msgstr "已過期" msgid "Expired At: %{date}" msgstr "過期時間:%{date}" -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:68 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:66 msgid "Export" msgstr "匯出" @@ -902,14 +935,14 @@ msgid "Fail to obtain certificate" msgstr "獲取憑證失敗" #: src/views/site/site_edit/RightSettings.vue:45 -#: src/views/site/site_list/SiteList.vue:61 +#: src/views/site/site_list/SiteList.vue:62 #: src/views/stream/components/RightSettings.vue:41 #: src/views/stream/StreamList.vue:71 msgid "Failed to disable %{msg}" msgstr "停用 %{msg} 失敗" #: src/views/site/site_edit/RightSettings.vue:36 -#: src/views/site/site_list/SiteList.vue:51 +#: src/views/site/site_list/SiteList.vue:52 #: src/views/stream/components/RightSettings.vue:32 #: src/views/stream/StreamList.vue:61 msgid "Failed to enable %{msg}" @@ -919,7 +952,7 @@ msgstr "啟用 %{msg} 失敗" msgid "Failed to get certificate information" msgstr "取得憑證資訊失敗" -#: src/views/site/site_edit/SiteEdit.vue:123 +#: src/views/site/site_edit/SiteEdit.vue:135 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." msgstr "儲存失敗,在設定中檢測到語法錯誤。" @@ -936,7 +969,7 @@ msgstr "檔案已存在" msgid "File Not Found" msgstr "找不到檔案" -#: src/views/nginx_log/NginxLog.vue:154 +#: src/views/nginx_log/NginxLog.vue:155 msgid "Filter" msgstr "篩選" @@ -950,19 +983,24 @@ msgid "" "process." msgstr "" -#: src/views/preference/BasicSettings.vue:38 +#: src/views/preference/BasicSettings.vue:59 +#: src/views/preference/BasicSettings.vue:71 +msgid "For Chinese user" +msgstr "" + +#: src/views/preference/BasicSettings.vue:47 msgid "For Chinese user: https://mirror.ghproxy.com/" msgstr "中國使用者:https://mirror.ghproxy.com/" -#: src/views/config/ConfigEditor.vue:216 +#: src/views/config/ConfigEditor.vue:218 msgid "Format Code" msgstr "格式化程式碼" -#: src/views/config/ConfigEditor.vue:183 +#: src/views/config/ConfigEditor.vue:185 msgid "Format error %{msg}" msgstr "格式錯誤 %{msg}" -#: src/views/config/ConfigEditor.vue:181 +#: src/views/config/ConfigEditor.vue:183 msgid "Format successfully" msgstr "成功格式化" @@ -970,7 +1008,7 @@ msgstr "成功格式化" msgid "General Certificate" msgstr "普通憑證" -#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:52 +#: src/components/StdDesign/StdDataEntry/components/StdPassword.vue:55 msgid "Generate" msgstr "產生" @@ -978,7 +1016,7 @@ msgstr "產生" msgid "Generating private key for registering account" msgstr "產生註冊帳號的私鑰" -#: src/views/environment/BatchUpgrader.vue:179 src/views/system/Upgrade.vue:170 +#: src/views/environment/BatchUpgrader.vue:180 src/views/system/Upgrade.vue:171 msgid "Get release information error" msgstr "取得發布資訊錯誤" @@ -986,11 +1024,11 @@ msgstr "取得發布資訊錯誤" msgid "Getting the certificate, please wait..." msgstr "正在取得憑證,請稍候..." -#: src/views/preference/BasicSettings.vue:30 +#: src/views/preference/BasicSettings.vue:39 msgid "Github Proxy" msgstr "Github 代理" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Hide" msgstr "隱藏" @@ -1010,10 +1048,14 @@ msgstr "HTTP 監聽主機" msgid "HTTP Port" msgstr "HTTP 監聽埠" -#: src/views/site/cert/components/AutoCertStepOne.vue:71 +#: src/views/site/cert/components/AutoCertStepOne.vue:70 msgid "HTTP01" msgstr "HTTP01" +#: src/views/preference/BasicSettings.vue:51 +msgid "ICP Number" +msgstr "" + #: src/views/certificate/ACMEUser.vue:45 msgid "If left blank, the default CA Dir will be used." msgstr "如果留空,將使用默認的 CA Dir。" @@ -1026,7 +1068,7 @@ msgstr "" "如果來自某個 IP 的登錄失敗次數在禁止閾值分鐘內達到最大嘗試次數,該 IP 將被禁" "止一段時間。" -#: src/views/preference/components/TOTP.vue:111 +#: src/views/preference/components/TOTP.vue:110 msgid "" "If you lose your mobile phone, you can use the recovery code to reset your " "2FA." @@ -1036,7 +1078,7 @@ msgstr "如果您丟失了手機,可以使用恢復碼重置您的多重因素 msgid "If your browser supports WebAuthn Passkey, a dialog box will appear." msgstr "" -#: src/views/site/cert/components/AutoCertStepOne.vue:109 +#: src/views/site/cert/components/AutoCertStepOne.vue:108 msgid "" "If your domain has CNAME records and you cannot obtain certificates, you " "need to enable this option." @@ -1046,14 +1088,15 @@ msgstr "如果您的域名有 CNAME 記錄且無法獲取證書,您需要啟 msgid "Import" msgstr "導入" -#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:174 src/views/certificate/CertificateEditor.vue:86 msgid "Import Certificate" msgstr "導入憑證" -#: src/views/other/Login.vue:77 +#: src/views/other/Login.vue:78 msgid "Incorrect username or password" msgstr "使用者名稱或密碼不正確" +#: src/components/StdDesign/StdDetail/StdDetail.vue:81 #: src/constants/index.ts:18 src/views/notification/notificationColumns.tsx:29 msgid "Info" msgstr "信息" @@ -1066,20 +1109,20 @@ msgstr "初始化核心升級程式錯誤" msgid "Initialing core upgrader" msgstr "正在初始化核心升級程式" -#: src/views/preference/components/TOTP.vue:158 +#: src/views/preference/components/TOTP.vue:157 msgid "Input the code from the app:" msgstr "請輸入應用程式中的代碼:" #: src/components/TwoFA/Authorization.vue:87 -#: src/views/preference/components/TOTP.vue:171 +#: src/views/preference/components/TOTP.vue:170 msgid "Input the recovery code:" msgstr "輸入恢復碼:" -#: src/routes/index.ts:305 src/views/other/Install.vue:132 +#: src/routes/index.ts:305 src/views/other/Install.vue:136 msgid "Install" msgstr "安裝" -#: src/views/other/Install.vue:63 +#: src/views/other/Install.vue:67 msgid "Install successfully" msgstr "安裝成功" @@ -1091,20 +1134,20 @@ msgstr "間隔" msgid "Invalid" msgstr "無效" -#: src/views/other/Login.vue:87 +#: src/views/other/Login.vue:88 msgid "Invalid 2FA or recovery code" msgstr "無效的多重因素驗證或恢復碼" -#: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:250 +#: src/views/config/components/Rename.vue:66 +#: src/views/config/ConfigEditor.vue:252 msgid "Invalid filename" msgstr "無效的檔案名" -#: src/views/config/components/Mkdir.vue:57 +#: src/views/config/components/Mkdir.vue:59 msgid "Invalid folder name" msgstr "無效的資料夾名稱" -#: src/components/TwoFA/use2FAModal.ts:60 +#: src/components/TwoFA/use2FAModal.ts:61 msgid "Invalid passcode or recovery code" msgstr "無效的密碼或恢復碼" @@ -1133,11 +1176,11 @@ msgid "Jwt Secret" msgstr "Jwt Secret" #: src/views/certificate/CertificateList/certColumns.tsx:62 -#: src/views/site/cert/components/AutoCertStepOne.vue:78 +#: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" msgstr "密鑰類型" -#: src/views/system/Upgrade.vue:180 +#: src/views/system/Upgrade.vue:181 msgid "Last checked at" msgstr "上次檢查時間" @@ -1164,12 +1207,12 @@ msgstr "留空表示不修改" msgid "Leave blank if you don't need this." msgstr "留空表示不修改" -#: src/views/certificate/CertificateEditor.vue:214 -#: src/views/certificate/CertificateEditor.vue:227 +#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:234 msgid "Leave blank will not change anything" msgstr "留空將不會改變任何內容" -#: src/views/site/cert/components/AutoCertStepOne.vue:106 +#: src/views/site/cert/components/AutoCertStepOne.vue:105 msgid "Lego disable CNAME Support" msgstr "Lego 停用 CNAME 支援" @@ -1182,11 +1225,11 @@ msgstr "開源授權" msgid "Link Start" msgstr "連結開始" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:199 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:178 msgid "List" msgstr "列表" -#: src/views/dashboard/ServerAnalytic.vue:176 +#: src/views/dashboard/ServerAnalytic.vue:187 msgid "Load Average:" msgstr "負載平均值:" @@ -1199,7 +1242,7 @@ msgid "Load successfully" msgstr "加載成功" #: src/components/EnvIndicator/EnvIndicator.vue:39 -#: src/components/NodeSelector/NodeSelector.vue:70 +#: src/components/NodeSelector/NodeSelector.vue:80 msgid "Local" msgstr "本機" @@ -1211,23 +1254,23 @@ msgstr "Location" msgid "Locations" msgstr "Locations" -#: src/views/certificate/CertificateEditor.vue:237 +#: src/views/certificate/CertificateEditor.vue:244 msgid "Log" msgstr "日誌" -#: src/routes/index.ts:311 src/views/other/Login.vue:245 +#: src/routes/index.ts:311 src/views/other/Login.vue:246 msgid "Login" msgstr "登入" -#: src/views/other/Login.vue:131 src/views/other/Login.vue:64 +#: src/views/other/Login.vue:132 src/views/other/Login.vue:65 msgid "Login successful" msgstr "登入成功" -#: src/layouts/HeaderLayout.vue:19 +#: src/layouts/HeaderLayout.vue:20 msgid "Logout successful" msgstr "登出成功" -#: src/views/preference/Preference.vue:176 +#: src/views/preference/Preference.vue:178 msgid "Logrotate" msgstr "Logrotate" @@ -1245,19 +1288,19 @@ msgstr "" "的用戶,您可以手動啟用此選項。Nginx UI 的 crontab 任務調度器將按照您設定的分" "鐘間隔執行 logrotate 命令。" -#: src/views/site/cert/components/AutoCertStepOne.vue:54 +#: src/views/site/cert/components/AutoCertStepOne.vue:53 msgid "" "Make sure you have configured a reverse proxy for .well-known directory to " "HTTPChallengePort before obtaining the certificate." msgstr "" "在取得憑證前,請確保您已將 .well-known 目錄反向代理到 HTTPChallengePort。" -#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:138 -#: src/views/config/ConfigEditor.vue:99 src/views/config/ConfigList.vue:70 +#: src/routes/index.ts:108 src/views/config/ConfigEditor.vue:102 +#: src/views/config/ConfigEditor.vue:141 src/views/config/ConfigList.vue:69 msgid "Manage Configs" msgstr "管理設定" -#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:97 +#: src/routes/index.ts:47 src/views/site/site_list/SiteList.vue:98 msgid "Manage Sites" msgstr "管理網站" @@ -1277,12 +1320,12 @@ msgstr "受管理的憑證" msgid "Max Attempts" msgstr "最大嘗試次數" -#: src/views/dashboard/ServerAnalytic.vue:215 -#: src/views/dashboard/ServerAnalytic.vue:216 +#: src/views/dashboard/ServerAnalytic.vue:226 +#: src/views/dashboard/ServerAnalytic.vue:227 msgid "Memory" msgstr "記憶體" -#: src/views/dashboard/ServerAnalytic.vue:205 +#: src/views/dashboard/ServerAnalytic.vue:216 msgid "Memory and Storage" msgstr "記憶體與儲存" @@ -1295,13 +1338,13 @@ msgid "Model" msgstr "模型" #: src/components/ChatGPT/ChatGPT.vue:256 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:520 -#: src/views/config/ConfigList.vue:159 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:508 +#: src/views/config/ConfigList.vue:158 msgid "Modify" msgstr "修改" -#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:79 +#: src/routes/index.ts:164 src/views/certificate/CertificateEditor.vue:86 msgid "Modify Certificate" msgstr "修改憑證" @@ -1309,7 +1352,7 @@ msgstr "修改憑證" msgid "Modify Config" msgstr "修改設定" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 msgid "Modify Mode" msgstr "修改模式" @@ -1318,13 +1361,13 @@ msgid "Multi-line Directive" msgstr "多行指令" #: src/views/certificate/ACMEUser.vue:13 -#: src/views/certificate/CertificateEditor.vue:154 +#: src/views/certificate/CertificateEditor.vue:161 #: src/views/certificate/CertificateList/certColumns.tsx:10 #: src/views/certificate/DNSCredential.vue:11 -#: src/views/config/components/Mkdir.vue:64 src/views/config/configColumns.ts:8 -#: src/views/config/ConfigEditor.vue:256 src/views/environment/envColumns.tsx:9 +#: src/views/config/components/Mkdir.vue:66 src/views/config/configColumns.ts:8 +#: src/views/config/ConfigEditor.vue:258 src/views/environment/envColumns.tsx:9 #: src/views/preference/components/AddPasskey.vue:81 -#: src/views/site/ngx_conf/NgxUpstream.vue:175 +#: src/views/site/ngx_conf/NgxUpstream.vue:177 #: src/views/site/site_category/columns.ts:7 #: src/views/site/site_edit/RightSettings.vue:88 #: src/views/site/site_list/columns.tsx:13 @@ -1335,41 +1378,41 @@ msgstr "多行指令" msgid "Name" msgstr "名稱" -#: src/views/dashboard/ServerAnalytic.vue:320 +#: src/views/dashboard/ServerAnalytic.vue:331 msgid "Network" msgstr "網路" -#: src/views/dashboard/ServerAnalytic.vue:262 +#: src/views/dashboard/ServerAnalytic.vue:273 msgid "Network Statistics" msgstr "網路統計" -#: src/views/dashboard/ServerAnalytic.vue:269 +#: src/views/dashboard/ServerAnalytic.vue:280 msgid "Network Total Receive" msgstr "下載流量" -#: src/views/dashboard/ServerAnalytic.vue:275 +#: src/views/dashboard/ServerAnalytic.vue:286 msgid "Network Total Send" msgstr "上傳流量" -#: src/views/config/components/Rename.vue:73 +#: src/views/config/components/Rename.vue:74 msgid "New name" msgstr "新名稱" -#: src/views/config/ConfigEditor.vue:268 +#: src/views/config/ConfigEditor.vue:271 msgid "New Path" msgstr "新路徑" -#: src/views/system/Upgrade.vue:209 +#: src/views/system/Upgrade.vue:210 msgid "New version released" msgstr "新版本發布" #: src/views/certificate/WildcardCertificate.vue:91 -#: src/views/site/cert/components/ObtainCert.vue:208 +#: src/views/site/cert/components/ObtainCert.vue:211 #: src/views/site/SiteAdd.vue:141 msgid "Next" msgstr "下一步" -#: src/views/preference/Preference.vue:164 +#: src/views/preference/Preference.vue:166 msgid "Nginx" msgstr "Nginx" @@ -1377,7 +1420,7 @@ msgstr "Nginx" msgid "Nginx Access Log Path" msgstr "Nginx 存取日誌路徑" -#: src/views/site/site_edit/SiteEdit.vue:209 +#: src/views/site/site_edit/SiteEdit.vue:223 #: src/views/stream/StreamEdit.vue:207 msgid "Nginx Configuration Parse Error" msgstr "Nginx 設定解析錯誤" @@ -1399,7 +1442,7 @@ msgstr "Nginx 錯誤日誌路徑" msgid "Nginx is not running" msgstr "" -#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:147 +#: src/routes/index.ts:202 src/views/nginx_log/NginxLog.vue:148 msgid "Nginx Log" msgstr "Nginx 日誌" @@ -1430,22 +1473,23 @@ msgid "Nginx restarted successfully" msgstr "Nginx 重啟成功" #: src/components/ChatGPT/ChatGPT.vue:277 -#: src/components/Notification/Notification.vue:84 +#: src/components/Notification/Notification.vue:133 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:67 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:533 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:547 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:562 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:96 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:521 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:535 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:550 #: src/views/notification/Notification.vue:38 #: src/views/preference/AuthSettings.vue:138 #: src/views/preference/CertSettings.vue:70 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:90 #: src/views/site/ngx_conf/LocationEditor.vue:90 -#: src/views/site/site_list/SiteList.vue:147 +#: src/views/site/site_list/SiteList.vue:148 #: src/views/stream/StreamList.vue:164 msgid "No" msgstr "取消" -#: src/views/preference/BasicSettings.vue:42 +#: src/views/preference/BasicSettings.vue:30 #, fuzzy msgid "Node name" msgstr "新名稱" @@ -1467,7 +1511,7 @@ msgid "Not Valid Before: %{date}" msgstr "此前無效: %{date}" #: src/views/certificate/DNSCredential.vue:49 -#: src/views/site/cert/components/AutoCertStepOne.vue:40 +#: src/views/site/cert/components/AutoCertStepOne.vue:39 msgid "Note" msgstr "備註" @@ -1481,11 +1525,11 @@ msgstr "" msgid "Notification" msgstr "通知" -#: src/components/Notification/Notification.vue:82 src/routes/index.ts:248 +#: src/components/Notification/Notification.vue:131 src/routes/index.ts:248 msgid "Notifications" msgstr "通知" -#: src/views/site/cert/components/ObtainCert.vue:179 +#: src/views/site/cert/components/ObtainCert.vue:182 msgid "Obtain certificate" msgstr "取得憑證" @@ -1493,39 +1537,40 @@ msgstr "取得憑證" msgid "Obtaining certificate" msgstr "正在取得憑證" -#: src/views/site/cert/components/AutoCertStepOne.vue:96 +#: src/views/site/cert/components/AutoCertStepOne.vue:95 msgid "OCSP Must Staple" msgstr "OCSP 必須裝訂" -#: src/views/site/cert/components/AutoCertStepOne.vue:100 +#: src/views/site/cert/components/AutoCertStepOne.vue:99 msgid "" "OCSP Must Staple may cause errors for some users on first access using " "Firefox." msgstr "OCSP 必須裝訂可能會導致某些用戶在首次使用 Firefox 訪問時出現錯誤。" -#: src/components/NodeSelector/NodeSelector.vue:93 +#: src/components/NodeSelector/NodeSelector.vue:103 #: src/views/dashboard/Environments.vue:107 #: src/views/environment/envColumns.tsx:87 msgid "Offline" msgstr "離線" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:262 -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:183 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:252 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:522 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:536 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:551 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:181 msgid "Ok" msgstr "確定" #: src/components/ChatGPT/ChatGPT.vue:278 -#: src/components/Notification/Notification.vue:85 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:534 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:548 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:563 +#: src/components/Notification/Notification.vue:134 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:97 #: src/views/notification/Notification.vue:39 -#: src/views/site/cert/components/ObtainCert.vue:136 +#: src/views/site/cert/components/ObtainCert.vue:139 #: src/views/site/ngx_conf/NgxConfigEditor.vue:50 #: src/views/site/ngx_conf/NgxServer.vue:79 -#: src/views/site/ngx_conf/NgxUpstream.vue:32 +#: src/views/site/ngx_conf/NgxUpstream.vue:33 #: src/views/site/site_edit/RightSettings.vue:54 -#: src/views/site/site_list/SiteList.vue:148 +#: src/views/site/site_list/SiteList.vue:149 #: src/views/stream/components/Deploy.vue:19 #: src/views/stream/components/RightSettings.vue:50 #: src/views/stream/StreamList.vue:165 @@ -1536,39 +1581,39 @@ msgstr "確定" msgid "Once the verification is complete, the records will be removed." msgstr "驗證完成後,記錄將被刪除。" -#: src/components/NodeSelector/NodeSelector.vue:73 -#: src/components/NodeSelector/NodeSelector.vue:87 +#: src/components/NodeSelector/NodeSelector.vue:83 +#: src/components/NodeSelector/NodeSelector.vue:97 #: src/views/dashboard/Environments.vue:100 #: src/views/environment/envColumns.tsx:83 msgid "Online" msgstr "線上" -#: src/views/preference/Preference.vue:170 +#: src/views/preference/Preference.vue:172 msgid "OpenAI" msgstr "OpenAI" -#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:254 +#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:255 msgid "Or" msgstr "" -#: src/views/config/components/Rename.vue:69 +#: src/views/config/components/Rename.vue:70 msgid "Original name" msgstr "原始名稱" -#: src/views/system/Upgrade.vue:176 +#: src/views/system/Upgrade.vue:177 msgid "OS" msgstr "作業系統" -#: src/views/dashboard/ServerAnalytic.vue:182 +#: src/views/dashboard/ServerAnalytic.vue:193 msgid "OS:" msgstr "作業系統:" -#: src/views/config/ConfigEditor.vue:293 +#: src/views/config/ConfigEditor.vue:296 #: src/views/stream/components/Deploy.vue:84 msgid "Overwrite" msgstr "覆蓋" -#: src/views/config/ConfigEditor.vue:297 +#: src/views/config/ConfigEditor.vue:300 #: src/views/stream/components/Deploy.vue:88 msgid "Overwrite exist file" msgstr "覆蓋現有檔案" @@ -1588,21 +1633,25 @@ msgid "" "password replacement or as a 2FA method." msgstr "" -#: src/views/other/Login.vue:206 src/views/user/userColumns.tsx:18 +#: src/views/other/Login.vue:207 src/views/user/userColumns.tsx:18 msgid "Password" msgstr "密碼" -#: src/views/other/Install.vue:106 +#: src/views/other/Install.vue:110 msgid "Password (*)" msgstr "密碼 (*)" -#: src/views/config/ConfigEditor.vue:262 +#: src/views/other/Install.vue:48 +msgid "Password length cannot exceed 20 characters" +msgstr "" + +#: src/views/config/ConfigEditor.vue:265 #: src/views/site/ngx_conf/LocationEditor.vue:111 #: src/views/site/ngx_conf/LocationEditor.vue:139 msgid "Path" msgstr "路徑" -#: src/views/environment/BatchUpgrader.vue:234 +#: src/views/environment/BatchUpgrader.vue:235 msgid "Perform" msgstr "執行" @@ -1631,11 +1680,11 @@ msgid "" "provider." msgstr "請填寫您的 DNS 提供商提供的 API 認證憑據。" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:127 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:107 msgid "Please fill in the required fields" msgstr "請填寫必填欄位" -#: src/views/site/cert/components/AutoCertStepOne.vue:58 +#: src/views/site/cert/components/AutoCertStepOne.vue:57 msgid "" "Please first add credentials in Certification > DNS Credentials, and then " "select one of the credentialsbelow to request the API of the DNS provider." @@ -1643,12 +1692,12 @@ msgstr "" "請先在「憑證」 > 「DNS 認證」中新增認證,然後選擇以下認證之一以請求 DNS 供應" "商的 API。" -#: src/views/config/components/Rename.vue:64 -#: src/views/config/ConfigEditor.vue:249 +#: src/views/config/components/Rename.vue:65 +#: src/views/config/ConfigEditor.vue:251 msgid "Please input a filename" msgstr "請輸入檔案名稱" -#: src/views/config/components/Mkdir.vue:56 +#: src/views/config/components/Mkdir.vue:58 msgid "Please input a folder name" msgstr "請輸入資料夾名稱" @@ -1669,11 +1718,11 @@ msgstr "請輸入名稱,這將作為新設定的檔名!" msgid "Please input your E-mail!" msgstr "請輸入您的電子郵件!" -#: src/views/other/Install.vue:44 src/views/other/Login.vue:46 +#: src/views/other/Install.vue:44 src/views/other/Login.vue:47 msgid "Please input your password!" msgstr "請輸入您的密碼!" -#: src/views/other/Install.vue:38 src/views/other/Login.vue:40 +#: src/views/other/Install.vue:38 src/views/other/Login.vue:41 msgid "Please input your username!" msgstr "請輸入您的使用者名稱!" @@ -1703,13 +1752,13 @@ msgid "Please upgrade the remote Nginx UI to the latest version" msgstr "" "同步配置 %{cert_name} 到 %{env_name} 失敗,請將遠程 Nginx UI 升級到最新版本" -#: src/views/environment/BatchUpgrader.vue:169 -#: src/views/environment/BatchUpgrader.vue:222 src/views/system/Upgrade.vue:195 -#: src/views/system/Upgrade.vue:246 +#: src/views/environment/BatchUpgrader.vue:170 +#: src/views/environment/BatchUpgrader.vue:223 src/views/system/Upgrade.vue:196 +#: src/views/system/Upgrade.vue:247 msgid "Pre-release" msgstr "預先發布" -#: src/routes/index.ts:266 src/views/preference/Preference.vue:141 +#: src/routes/index.ts:266 src/views/preference/Preference.vue:143 msgid "Preference" msgstr "偏好設定" @@ -1738,34 +1787,39 @@ msgstr "供應商" msgid "Proxy" msgstr "API 代理" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:376 +#: src/views/preference/BasicSettings.vue:63 +msgid "Public Security Number" +msgstr "" + +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:387 msgid "Reads" msgstr "讀取" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:327 +#: src/views/dashboard/ServerAnalytic.vue:338 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Receive" msgstr "接收" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:556 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:43 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:544 msgid "Recover" msgstr "恢復" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:204 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:191 msgid "Recovered Successfully" msgstr "恢復成功" #: src/components/TwoFA/Authorization.vue:94 -#: src/views/preference/components/TOTP.vue:178 +#: src/views/preference/components/TOTP.vue:177 msgid "Recovery" msgstr "恢復" -#: src/views/preference/components/TOTP.vue:104 +#: src/views/preference/components/TOTP.vue:103 msgid "Recovery Code" msgstr "恢復碼" -#: src/views/preference/components/TOTP.vue:113 +#: src/views/preference/components/TOTP.vue:112 msgid "Recovery Code:" msgstr "恢復碼:" @@ -1813,11 +1867,11 @@ msgstr "註冊使用者中" msgid "Registration Status" msgstr "註冊狀態" -#: src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:228 msgid "Reinstall" msgstr "重新安裝" -#: src/views/system/Upgrade.vue:250 +#: src/views/system/Upgrade.vue:251 msgid "Release Note" msgstr "發行公告" @@ -1853,13 +1907,14 @@ msgstr "成功複製 %{conf_name} 到 %{node_name}" msgid "Remove successfully" msgstr "移除成功" -#: src/components/Notification/Notification.vue:52 +#: src/components/Notification/Notification.vue:100 msgid "Removed successfully" msgstr "移除成功" -#: src/views/config/components/Rename.vue:55 -#: src/views/config/ConfigList.vue:167 -#: src/views/site/ngx_conf/NgxUpstream.vue:123 +#: src/views/config/components/ConfigName.vue:50 +#: src/views/config/components/Rename.vue:56 +#: src/views/config/ConfigList.vue:166 +#: src/views/site/ngx_conf/NgxUpstream.vue:125 #: src/views/site/site_edit/components/ConfigName.vue:46 msgid "Rename" msgstr "重命名" @@ -1902,17 +1957,18 @@ msgstr "成功將 %{env_name} 上的 %{orig_path} 重命名為 %{new_path}" msgid "Rename Site %{site} to %{new_site} on %{node} successfully" msgstr "成功將 %{env_name} 上的 %{orig_path} 重命名為 %{new_path}" -#: src/views/config/components/Rename.vue:41 +#: src/views/config/components/Rename.vue:42 msgid "Rename successfully" msgstr "重命名成功" +#: src/views/config/components/ConfigName.vue:30 #: src/views/site/site_edit/components/ConfigName.vue:27 #, fuzzy msgid "Renamed successfully" msgstr "重命名成功" -#: src/views/certificate/RenewCert.vue:43 -#: src/views/certificate/RenewCert.vue:47 +#: src/views/certificate/RenewCert.vue:45 +#: src/views/certificate/RenewCert.vue:49 msgid "Renew Certificate" msgstr "更換憑證" @@ -1924,7 +1980,7 @@ msgstr "更新憑證錯誤" msgid "Renew Certificate Success" msgstr "更新憑證成功" -#: src/views/certificate/RenewCert.vue:25 +#: src/views/certificate/RenewCert.vue:27 #: src/views/certificate/WildcardCertificate.vue:48 msgid "Renew successfully" msgstr "更新成功" @@ -1933,11 +1989,11 @@ msgstr "更新成功" msgid "Requested with wrong parameters" msgstr "請求參數錯誤" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:468 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:448 msgid "Reset" msgstr "重設" -#: src/views/preference/components/TOTP.vue:133 +#: src/views/preference/components/TOTP.vue:132 msgid "Reset 2FA" msgstr "重置多重因素驗證" @@ -1971,13 +2027,15 @@ msgstr "執行中" #: src/components/ChatGPT/ChatGPT.vue:259 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:68 -#: src/views/certificate/CertificateEditor.vue:256 -#: src/views/config/ConfigEditor.vue:222 +#: src/components/StdDesign/StdDetail/StdDetail.vue:93 +#: src/views/certificate/CertificateEditor.vue:263 +#: src/views/config/components/ConfigName.vue:58 +#: src/views/config/ConfigEditor.vue:224 #: src/views/preference/components/Passkey.vue:136 -#: src/views/preference/Preference.vue:187 +#: src/views/preference/Preference.vue:189 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:120 #: src/views/site/site_edit/components/ConfigName.vue:54 -#: src/views/site/site_edit/SiteEdit.vue:256 +#: src/views/site/site_edit/SiteEdit.vue:271 #: src/views/stream/StreamEdit.vue:252 msgid "Save" msgstr "儲存" @@ -1986,7 +2044,7 @@ msgstr "儲存" msgid "Save Directive" msgstr "儲存指令" -#: src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:173 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:41 #: src/views/site/SiteAdd.vue:46 msgid "Save error %{msg}" @@ -2013,20 +2071,20 @@ msgid "Save Site %{site} to %{node} successfully" msgstr "成功複製 %{conf_name} 到 %{node_name}" #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:47 -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:117 -#: src/views/certificate/CertificateEditor.vue:46 -#: src/views/preference/Preference.vue:110 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:97 +#: src/views/certificate/CertificateEditor.vue:49 +#: src/views/preference/Preference.vue:112 msgid "Save successfully" msgstr "儲存成功" -#: src/views/config/ConfigEditor.vue:167 +#: src/views/config/ConfigEditor.vue:169 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 -#: src/views/site/site_edit/SiteEdit.vue:140 src/views/site/SiteAdd.vue:37 +#: src/views/site/site_edit/SiteEdit.vue:152 src/views/site/SiteAdd.vue:37 #: src/views/stream/StreamEdit.vue:138 msgid "Saved successfully" msgstr "儲存成功" -#: src/views/preference/components/TOTP.vue:94 +#: src/views/preference/components/TOTP.vue:93 msgid "Scan the QR code with your mobile phone to add the account to the app." msgstr "用手機掃描二維碼將賬戶添加到應用程序中。" @@ -2034,49 +2092,49 @@ msgstr "用手機掃描二維碼將賬戶添加到應用程序中。" msgid "SDK" msgstr "SDK" -#: src/views/preference/components/TOTP.vue:150 +#: src/views/preference/components/TOTP.vue:149 msgid "Secret has been copied" msgstr "" -#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:184 +#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:182 msgid "Selector" msgstr "選擇器" -#: src/views/dashboard/ServerAnalytic.vue:24 -#: src/views/dashboard/ServerAnalytic.vue:337 +#: src/views/dashboard/ServerAnalytic.vue:348 +#: src/views/dashboard/ServerAnalytic.vue:35 msgid "Send" msgstr "傳送" #: src/components/NginxControl/NginxControl.vue:32 #: src/components/NginxControl/NginxControl.vue:48 -#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46 -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126 +#: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:44 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:124 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:53 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:207 -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:249 -#: src/views/config/components/Mkdir.vue:36 -#: src/views/config/components/Rename.vue:44 -#: src/views/config/ConfigEditor.vue:108 -#: src/views/environment/BatchUpgrader.vue:58 -#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:66 +#: src/components/StdDesign/StdDataDisplay/StdBulkActions.vue:70 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:194 +#: src/views/config/components/Mkdir.vue:38 +#: src/views/config/components/Rename.vue:45 +#: src/views/config/ConfigEditor.vue:111 +#: src/views/environment/BatchUpgrader.vue:59 +#: src/views/environment/Environment.vue:15 src/views/other/Install.vue:70 #: src/views/preference/AuthSettings.vue:49 #: src/views/preference/components/Passkey.vue:26 #: src/views/preference/components/Passkey.vue:43 #: src/views/preference/components/Passkey.vue:56 -#: src/views/preference/components/TOTP.vue:45 -#: src/views/preference/components/TOTP.vue:58 -#: src/views/preference/Preference.vue:114 -#: src/views/site/site_list/SiteList.vue:39 -#: src/views/site/site_list/SiteList.vue:71 src/views/stream/StreamList.vue:113 -#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:41 +#: src/views/preference/components/TOTP.vue:44 +#: src/views/preference/components/TOTP.vue:57 +#: src/views/preference/Preference.vue:116 +#: src/views/site/site_list/SiteList.vue:40 +#: src/views/site/site_list/SiteList.vue:72 src/views/stream/StreamList.vue:113 +#: src/views/stream/StreamList.vue:81 src/views/system/Upgrade.vue:42 msgid "Server error" msgstr "伺服器錯誤" -#: src/views/dashboard/ServerAnalytic.vue:168 +#: src/views/dashboard/ServerAnalytic.vue:179 msgid "Server Info" msgstr "伺服器資訊" -#: src/views/site/cert/components/ObtainCert.vue:102 +#: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "在指令中未找到 server_name" @@ -2102,11 +2160,11 @@ msgstr "設定環境變數中" msgid "Setting HTTP01 challenge provider" msgstr "使用 HTTP01 挑戰提供者" -#: src/components/SensitiveString/SensitiveString.vue:41 +#: src/components/SensitiveString/SensitiveString.vue:40 msgid "Show" msgstr "顯示" -#: src/views/other/Login.vue:263 +#: src/views/other/Login.vue:264 msgid "Sign in with a passkey" msgstr "" @@ -2126,36 +2184,36 @@ msgstr "網站日誌" msgid "Sites List" msgstr "網站列表" -#: src/views/certificate/CertificateEditor.vue:205 +#: src/views/certificate/CertificateEditor.vue:212 msgid "SSL Certificate Content" msgstr "SSL 憑證內容" -#: src/views/certificate/CertificateEditor.vue:218 +#: src/views/certificate/CertificateEditor.vue:225 msgid "SSL Certificate Key Content" msgstr "SSL 憑證金鑰內容" -#: src/views/certificate/CertificateEditor.vue:184 +#: src/views/certificate/CertificateEditor.vue:191 msgid "SSL Certificate Key Path" msgstr "SSL 憑證金鑰路徑" -#: src/views/certificate/CertificateEditor.vue:169 +#: src/views/certificate/CertificateEditor.vue:176 msgid "SSL Certificate Path" msgstr "SSL 憑證路徑" -#: src/views/other/Login.vue:221 +#: src/views/other/Login.vue:222 msgid "SSO Login" msgstr "SSO 登錄" -#: src/views/environment/BatchUpgrader.vue:166 -#: src/views/environment/BatchUpgrader.vue:216 src/views/system/Upgrade.vue:192 -#: src/views/system/Upgrade.vue:240 +#: src/views/environment/BatchUpgrader.vue:167 +#: src/views/environment/BatchUpgrader.vue:217 src/views/system/Upgrade.vue:193 +#: src/views/system/Upgrade.vue:241 msgid "Stable" msgstr "穩定" #: src/views/certificate/ACMEUser.vue:65 #: src/views/certificate/CertificateList/certColumns.tsx:68 #: src/views/environment/envColumns.tsx:75 -#: src/views/site/site_list/columns.tsx:38 src/views/stream/StreamList.vue:22 +#: src/views/site/site_list/columns.tsx:40 src/views/stream/StreamList.vue:22 msgid "Status" msgstr "狀態" @@ -2163,8 +2221,8 @@ msgstr "狀態" msgid "Stopped" msgstr "已停止" -#: src/views/dashboard/ServerAnalytic.vue:243 -#: src/views/dashboard/ServerAnalytic.vue:244 +#: src/views/dashboard/ServerAnalytic.vue:254 +#: src/views/dashboard/ServerAnalytic.vue:255 msgid "Storage" msgstr "儲存空間" @@ -2172,8 +2230,8 @@ msgstr "儲存空間" msgid "Success" msgstr "成功" -#: src/views/dashboard/ServerAnalytic.vue:229 -#: src/views/dashboard/ServerAnalytic.vue:230 +#: src/views/dashboard/ServerAnalytic.vue:240 +#: src/views/dashboard/ServerAnalytic.vue:241 msgid "Swap" msgstr "交換空間" @@ -2185,7 +2243,7 @@ msgstr "切換到深色主題" msgid "Switch to light theme" msgstr "切換到淺色主題" -#: src/views/config/components/Rename.vue:80 +#: src/views/config/components/Rename.vue:81 msgid "Sync" msgstr "同步" @@ -2243,7 +2301,7 @@ msgstr "同步到" msgid "Sync strategy" msgstr "同步憑證" -#: src/views/certificate/CertificateEditor.vue:198 +#: src/views/certificate/CertificateEditor.vue:205 msgid "Sync to" msgstr "同步到" @@ -2263,7 +2321,7 @@ msgstr "系統初始使用者" msgid "Target" msgstr "目標" -#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:113 +#: src/routes/index.ts:194 src/views/terminal/Terminal.vue:114 msgid "Terminal" msgstr "終端機" @@ -2271,7 +2329,7 @@ msgstr "終端機" msgid "Terminal Start Command" msgstr "終端機啟動指令" -#: src/views/site/cert/components/AutoCertStepOne.vue:50 +#: src/views/site/cert/components/AutoCertStepOne.vue:49 msgid "" "The certificate for the domain will be checked 30 minutes, and will be " "renewed if it has been more than 1 week or the period you set in settings " @@ -2280,40 +2338,55 @@ msgstr "" "網域憑證將在 30 分鐘內接受檢查,如果自上次簽發以來已超過 1 週或您在設置中設定" "的時間,憑證將會自動更新。" -#: src/views/other/Install.vue:50 +#: src/views/other/Install.vue:54 msgid "The filename cannot contain the following characters: %{c}" msgstr "檔名不能包含以下字元: %{c}" -#: src/views/certificate/CertificateEditor.vue:208 +#: src/views/preference/BasicSettings.vue:54 +#, fuzzy +msgid "" +"The ICP Number should only contain letters, unicode, numbers, hyphens, " +"dashes, colons, and dots." +msgstr "模型名稱應僅包含字母、Unicode、數字、連字號、破折號和點。" + +#: src/views/certificate/CertificateEditor.vue:215 msgid "The input is not a SSL Certificate" msgstr "輸入的不是 SSL 憑證" -#: src/views/certificate/CertificateEditor.vue:221 +#: src/views/certificate/CertificateEditor.vue:228 msgid "The input is not a SSL Certificate Key" msgstr "輸入的不是 SSL 憑證金鑰" #: src/views/preference/OpenAISettings.vue:35 +#, fuzzy msgid "" "The model name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." +"dashes, colons, and dots." msgstr "模型名稱應僅包含字母、Unicode、數字、連字號、破折號和點。" -#: src/views/preference/BasicSettings.vue:45 +#: src/views/preference/BasicSettings.vue:33 #, fuzzy msgid "" "The node name should only contain letters, unicode, numbers, hyphens, " -"dashes, and dots." +"dashes, colons, and dots." msgstr "模型名稱應僅包含字母、Unicode、數字、連字號、破折號和點。" -#: src/views/certificate/CertificateEditor.vue:173 +#: src/views/certificate/CertificateEditor.vue:180 msgid "The path exists, but the file is not a certificate" msgstr "路徑存在,但檔案不是憑證" -#: src/views/certificate/CertificateEditor.vue:188 +#: src/views/certificate/CertificateEditor.vue:195 msgid "The path exists, but the file is not a private key" msgstr "路徑存在,但檔案不是金鑰" -#: src/views/preference/components/TOTP.vue:112 +#: src/views/preference/BasicSettings.vue:66 +#, fuzzy +msgid "" +"The Public Security Number should only contain letters, unicode, numbers, " +"hyphens, dashes, colons, and dots." +msgstr "伺服器名稱應僅包含字母、Unicode、數字、連字符、破折號和點。" + +#: src/views/preference/components/TOTP.vue:111 msgid "" "The recovery code is only displayed once, please save it in a safe place." msgstr "恢復碼僅顯示一次,請將其保存在安全的地方。" @@ -2327,13 +2400,13 @@ msgstr "" "遠端 Nginx UI 版本與本地 Nginx UI 版本不兼容。為避免潛在錯誤,請升級遠端 " "Nginx UI 以匹配本地版本。" -#: src/views/site/cert/components/AutoCertStepOne.vue:45 +#: src/views/site/cert/components/AutoCertStepOne.vue:44 msgid "" "The server_name in the current configuration must be the domain name you " "need to get the certificate, supportmultiple domains." msgstr "當前配置中的 server_name 必須是您需要獲取憑證的網域,支持多個網域。" -#: src/views/preference/BasicSettings.vue:33 +#: src/views/preference/BasicSettings.vue:42 #: src/views/preference/CertSettings.vue:19 msgid "The url is invalid" msgstr "網址無效" @@ -2347,17 +2420,17 @@ msgstr "網址無效。" msgid "The username or password is incorrect" msgstr "使用者名稱或密碼不正確" -#: src/views/certificate/CertificateEditor.vue:96 +#: src/views/certificate/CertificateEditor.vue:103 msgid "This Auto Cert item is invalid, please remove it." msgstr "此自動憑證項目無效,請將其移除。" -#: src/views/certificate/CertificateEditor.vue:86 +#: src/views/certificate/CertificateEditor.vue:93 msgid "This certificate is managed by Nginx UI" msgstr "此憑證由 Nginx UI 管理" -#: src/views/certificate/CertificateEditor.vue:157 -#: src/views/certificate/CertificateEditor.vue:171 -#: src/views/certificate/CertificateEditor.vue:186 +#: src/views/certificate/CertificateEditor.vue:164 +#: src/views/certificate/CertificateEditor.vue:178 +#: src/views/certificate/CertificateEditor.vue:193 msgid "This field is required" msgstr "此字段為必填項" @@ -2386,7 +2459,7 @@ msgstr "模型名稱應僅包含字母、Unicode、數字、連字號、破折 msgid "This value is already taken" msgstr "" -#: src/views/environment/BatchUpgrader.vue:184 +#: src/views/environment/BatchUpgrader.vue:185 msgid "" "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}." msgstr "這將在 %{nodeNames} 上升級或重新安裝 Nginx UI 到 %{version}。" @@ -2405,7 +2478,7 @@ msgstr "提示" msgid "Title" msgstr "標題" -#: src/views/preference/components/TOTP.vue:93 +#: src/views/preference/components/TOTP.vue:92 msgid "" "To enable it, you need to install the Google or Microsoft Authenticator app " "on your mobile phone." @@ -2431,33 +2504,39 @@ msgstr "" #: src/views/preference/OpenAISettings.vue:48 msgid "" -"To use a local large model, deploy it with vllm or imdeploy. They provide an " -"OpenAI-compatible API endpoint, so just set the baseUrl to your local API." +"To use a local large model, deploy it with ollama, vllm or imdeploy. They " +"provide an OpenAI-compatible API endpoint, so just set the baseUrl to your " +"local API." msgstr "" #: src/views/preference/OpenAISettings.vue:72 msgid "Token is not valid" msgstr "令牌無效" -#: src/views/other/Login.vue:80 +#: src/views/other/Login.vue:81 msgid "Too many login failed attempts, please try again later" msgstr "登錄失敗次數過多,請稍後再試" -#: src/views/preference/components/TOTP.vue:91 +#: src/components/StdDesign/StdDataDisplay/StdPagination.vue:40 +msgid "Total %{total} item" +msgid_plural "Total %{total} items" +msgstr[0] "" + +#: src/views/preference/components/TOTP.vue:90 msgid "TOTP" msgstr "" -#: src/views/preference/components/TOTP.vue:92 +#: src/views/preference/components/TOTP.vue:91 msgid "" "TOTP is a two-factor authentication method that uses a time-based one-time " "password algorithm." msgstr "TOTP 是一種使用基於時間的一次性密碼算法的多重因素驗證方法。" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:202 msgid "Trash" msgstr "垃圾桶" -#: src/components/TwoFA/use2FAModal.ts:66 +#: src/components/TwoFA/use2FAModal.ts:67 msgid "Two-factor authentication required" msgstr "需要多重因素驗證" @@ -2474,26 +2553,26 @@ msgstr "更新成功" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:275 +#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:278 #: src/views/environment/envColumns.tsx:119 #: src/views/site/site_category/columns.ts:20 #: src/views/site/site_edit/RightSettings.vue:100 -#: src/views/site/site_list/columns.tsx:64 +#: src/views/site/site_list/columns.tsx:67 #: src/views/stream/components/RightSettings.vue:85 #: src/views/stream/StreamList.vue:41 src/views/user/userColumns.tsx:54 msgid "Updated at" msgstr "更新時間" -#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:123 +#: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:121 msgid "Updated successfully" msgstr "更新成功" #: src/routes/index.ts:290 src/views/environment/Environment.vue:55 -#: src/views/system/Upgrade.vue:144 src/views/system/Upgrade.vue:227 +#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228 msgid "Upgrade" msgstr "升級" -#: src/views/environment/BatchUpgrader.vue:139 +#: src/views/environment/BatchUpgrader.vue:140 msgid "Upgraded Nginx UI on %{node} successfully 🎉" msgstr "成功升級 %{node} 上的 Nginx UI 🎉" @@ -2501,15 +2580,15 @@ msgstr "成功升級 %{node} 上的 Nginx UI 🎉" msgid "Upgraded successfully" msgstr "升級成功" -#: src/views/environment/BatchUpgrader.vue:90 src/views/system/Upgrade.vue:78 +#: src/views/environment/BatchUpgrader.vue:91 src/views/system/Upgrade.vue:79 msgid "Upgrading Nginx UI, please wait..." msgstr "正在升級 Nginx UI,請稍候..." -#: src/views/site/ngx_conf/NgxUpstream.vue:170 +#: src/views/site/ngx_conf/NgxUpstream.vue:172 msgid "Upstream Name" msgstr "Upstream 名稱" -#: src/views/dashboard/ServerAnalytic.vue:172 +#: src/views/dashboard/ServerAnalytic.vue:183 msgid "Uptime:" msgstr "運作時間:" @@ -2529,15 +2608,15 @@ msgstr "使用恢復碼" msgid "User" msgstr "使用者名稱" -#: src/views/other/Login.vue:83 +#: src/views/other/Login.vue:84 msgid "User is banned" msgstr "用戶被禁止" -#: src/views/other/Login.vue:196 src/views/user/userColumns.tsx:9 +#: src/views/other/Login.vue:197 src/views/user/userColumns.tsx:9 msgid "Username" msgstr "使用者名稱" -#: src/views/other/Install.vue:96 +#: src/views/other/Install.vue:100 msgid "Username (*)" msgstr "使用者名稱 (*)" @@ -2551,20 +2630,20 @@ msgstr "有效" msgid "Version" msgstr "版本" -#: src/components/StdDesign/StdDataDisplay/StdTable.vue:506 +#: src/components/StdDesign/StdDataDisplay/StdTable.vue:494 #: src/views/site/ngx_conf/config_template/ConfigTemplate.vue:103 msgid "View" msgstr "檢視" -#: src/components/Notification/Notification.vue:143 +#: src/components/Notification/Notification.vue:192 msgid "View all notifications" msgstr "查看所有通知" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:176 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:156 msgid "View Details" msgstr "查看詳情" -#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:277 +#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:267 msgid "View Mode" msgstr "查看模式" @@ -2581,7 +2660,7 @@ msgid "" "ownership verification." msgstr "我們將在您的網域的 DNS 記錄中添加一個或多個 TXT 記錄以進行所有權驗證。" -#: src/views/site/cert/components/ObtainCert.vue:134 +#: src/views/site/cert/components/ObtainCert.vue:137 msgid "" "We will remove the HTTPChallenge configuration from this file and reload the " "Nginx. Are you sure you want to continue?" @@ -2606,8 +2685,8 @@ msgid "" "site category and the nodes selected below will be synchronized." msgstr "" -#: src/views/dashboard/ServerAnalytic.vue:26 -#: src/views/dashboard/ServerAnalytic.vue:366 +#: src/views/dashboard/ServerAnalytic.vue:37 +#: src/views/dashboard/ServerAnalytic.vue:377 msgid "Writes" msgstr "寫" @@ -2626,11 +2705,11 @@ msgstr "將憑證寫入磁碟" msgid "Yes" msgstr "是的" -#: src/views/system/Upgrade.vue:203 +#: src/views/system/Upgrade.vue:204 msgid "You are using the latest version" msgstr "您正在使用最新版本" -#: src/views/system/Upgrade.vue:165 +#: src/views/system/Upgrade.vue:166 msgid "You can check Nginx UI upgrade at this page." msgstr "您可以在此頁面檢查 Nginx UI 的升級。" @@ -2657,11 +2736,6 @@ msgstr "" #~ msgid "Server Name" #~ msgstr "伺服器名稱" -#~ msgid "" -#~ "The server name should only contain letters, unicode, numbers, hyphens, " -#~ "dashes, and dots." -#~ msgstr "伺服器名稱應僅包含字母、Unicode、數字、連字符、破折號和點。" - #~ msgid "Enable 2FA" #~ msgstr "啟用多因素身份驗證" @@ -2789,9 +2863,6 @@ msgstr "" #~ msgid "Detected version update, this page will refresh." #~ msgstr "檢測到版本更新,頁面將會重新整理。" -#~ msgid "Edit" -#~ msgstr "編輯" - #~ msgid "No, I'm rethink" #~ msgstr "再想想" diff --git a/app/src/views/preference/BasicSettings.vue b/app/src/views/preference/BasicSettings.vue index fd693805..86e760f4 100644 --- a/app/src/views/preference/BasicSettings.vue +++ b/app/src/views/preference/BasicSettings.vue @@ -30,7 +30,7 @@ const errors: Record> = inject('errors') as Recor :label="$gettext('Node name')" :validate-status="errors?.node?.name ? 'error' : ''" :help="errors?.node?.name.includes('safety_text') - ? $gettext('The node name should only contain letters, unicode, numbers, hyphens, dashes, and dots.') + ? $gettext('The node name should only contain letters, unicode, numbers, hyphens, dashes, colons, and dots.') : $gettext('Customize the name of local node to be displayed in the environment indicator.')" > @@ -51,7 +51,7 @@ const errors: Record> = inject('errors') as Recor :label="$gettext('ICP Number')" :validate-status="errors?.node?.icp_number ? 'error' : ''" :help="errors?.node?.icp_number.includes('safety_text') - ? $gettext('The ICP Number should only contain letters, unicode, numbers, hyphens, dashes, and dots.') + ? $gettext('The ICP Number should only contain letters, unicode, numbers, hyphens, dashes, colons, and dots.') : ''" > > = inject('errors') as Recor :label="$gettext('Public Security Number')" :validate-status="errors?.node?.public_security_number ? 'error' : ''" :help="errors?.node?.public_security_number.includes('safety_text') - ? $gettext('The Public Security Number should only contain letters, unicode, numbers, hyphens, dashes, and dots.') + ? $gettext('The Public Security Number should only contain letters, unicode, numbers, hyphens, dashes, colons, and dots.') : ''" > + + + + OpenAI + + + Azure + + + diff --git a/app/src/views/preference/Preference.vue b/app/src/views/preference/Preference.vue index 8e72a20f..da53b627 100644 --- a/app/src/views/preference/Preference.vue +++ b/app/src/views/preference/Preference.vue @@ -77,6 +77,7 @@ const data = ref({ base_url: '', proxy: '', token: '', + api_type: 'OPEN_AI', }, terminal: { start_cmd: '', diff --git a/go.mod b/go.mod index 12104cef..591e92ef 100644 --- a/go.mod +++ b/go.mod @@ -35,7 +35,7 @@ require ( github.com/spf13/cast v1.7.0 github.com/stretchr/testify v1.10.0 github.com/tufanbarisyildirim/gonginx v0.0.0-20241205102811-323481085fb4 - github.com/uozi-tech/cosy v1.12.3 + github.com/uozi-tech/cosy v1.12.5 github.com/uozi-tech/cosy-driver-sqlite v0.2.0 go.uber.org/zap v1.27.0 golang.org/x/crypto v0.31.0 @@ -106,7 +106,6 @@ require ( github.com/dimchansky/utfbom v1.1.1 // indirect github.com/dnsimple/dnsimple-go v1.7.0 // indirect github.com/ebitengine/purego v0.8.1 // indirect - github.com/elliotchance/orderedmap/v2 v2.5.0 // indirect github.com/exoscale/egoscale/v3 v3.1.7 // indirect github.com/fatih/structs v1.1.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect diff --git a/go.sum b/go.sum index 801d5d7f..87269e6d 100644 --- a/go.sum +++ b/go.sum @@ -856,8 +856,6 @@ github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFP github.com/ebitengine/purego v0.8.1 h1:sdRKd6plj7KYW33EH5As6YKfe8m9zbN9JMrOjNVF/BE= github.com/ebitengine/purego v0.8.1/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/elliotchance/orderedmap/v2 v2.5.0 h1:WRPmWGChucaZ09eEd3UkU8XfVajv6ZZ6eg3+x0cLWPM= -github.com/elliotchance/orderedmap/v2 v2.5.0/go.mod h1:85lZyVbpGaGvHvnKa7Qhx7zncAdBIBq6u56Hb1PRU5Q= github.com/elliotchance/orderedmap/v3 v3.0.0 h1:Yay/tDjX+vzza+Drcoo8VEbuBnOYGpgenCXWcpQSFDg= github.com/elliotchance/orderedmap/v3 v3.0.0/go.mod h1:G+Hc2RwaZvJMcS4JpGCOyViCnGeKf0bTYCGTO4uhjSo= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -1771,8 +1769,8 @@ github.com/ugorji/go/codec v1.2.12 h1:9LC83zGrHhuUA9l16C9AHXAqEV/2wBQ4nkvumAE65E github.com/ugorji/go/codec v1.2.12/go.mod h1:UNopzCgEMSXjBc6AOMqYvWC1ktqTAfzJZUZgYf6w6lg= github.com/ultradns/ultradns-go-sdk v1.8.0-20241010134910-243eeec h1:2s/ghQ8wKE+UzD/hf3P4Gd1j0JI9ncbxv+nsypPoUYI= github.com/ultradns/ultradns-go-sdk v1.8.0-20241010134910-243eeec/go.mod h1:BZr7Qs3ku1ckpqed8tCRSqTlp8NAeZfAVpfx4OzXMss= -github.com/uozi-tech/cosy v1.12.3 h1:0Nii/OYKOsXOy/x6l8f0g0RuHj7t1vkqQQv6xmitZsU= -github.com/uozi-tech/cosy v1.12.3/go.mod h1:zRYGFp//aDvrS6mOA91qWQSGPrSfVjuomnhdEhcdP8Y= +github.com/uozi-tech/cosy v1.12.5 h1:rX7mVj4KKuI+xnpNor3BuFsnX6f8nUzeEFgA//gjywo= +github.com/uozi-tech/cosy v1.12.5/go.mod h1:Q597nSDM8yAnW8yKfcWBcPU+fRfEpxXA0ZjsSse88Tc= github.com/uozi-tech/cosy-driver-mysql v0.2.2 h1:22S/XNIvuaKGqxQPsYPXN8TZ8hHjCQdcJKVQ83Vzxoo= github.com/uozi-tech/cosy-driver-mysql v0.2.2/go.mod h1:EZnRIbSj1V5U0gEeTobrXai/d1SV11lkl4zP9NFEmyE= github.com/uozi-tech/cosy-driver-postgres v0.2.1 h1:OICakGuT+omva6QOJCxTJ5Lfr7CGXLmk/zD+aS51Z2o= diff --git a/internal/chatbot/client.go b/internal/chatbot/client.go new file mode 100644 index 00000000..8c8065ab --- /dev/null +++ b/internal/chatbot/client.go @@ -0,0 +1,33 @@ +package chatbot + +import ( + "github.com/0xJacky/Nginx-UI/internal/transport" + "github.com/0xJacky/Nginx-UI/settings" + "github.com/sashabaranov/go-openai" + "net/http" +) + +func GetClient() (*openai.Client, error) { + var config openai.ClientConfig + if openai.APIType(settings.OpenAISettings.APIType) == openai.APITypeAzure { + config = openai.DefaultAzureConfig(settings.OpenAISettings.Token, settings.OpenAISettings.BaseUrl) + } else { + config = openai.DefaultConfig(settings.OpenAISettings.Token) + } + + if settings.OpenAISettings.Proxy != "" { + t, err := transport.NewTransport(transport.WithProxy(settings.OpenAISettings.Proxy)) + if err != nil { + return nil, err + } + config.HTTPClient = &http.Client{ + Transport: t, + } + } + + if settings.OpenAISettings.BaseUrl != "" { + config.BaseURL = settings.OpenAISettings.BaseUrl + } + + return openai.NewClientWithConfig(config), nil +} diff --git a/internal/chatbot/messages.go b/internal/chatbot/messages.go index 929dffa3..b020b126 100644 --- a/internal/chatbot/messages.go +++ b/internal/chatbot/messages.go @@ -1,22 +1,21 @@ package chatbot import ( - "github.com/sashabaranov/go-openai" + "github.com/sashabaranov/go-openai" ) func ChatCompletionWithContext(filename string, messages []openai.ChatCompletionMessage) []openai.ChatCompletionMessage { - - for i := len(messages) - 1; i >= 0; i-- { - if messages[i].Role == openai.ChatMessageRoleUser { - // openai.ChatCompletionMessage: can't use both Content and MultiContent properties simultaneously - multiContent := getConfigIncludeContext(filename) - multiContent = append(multiContent, openai.ChatMessagePart{ - Type: openai.ChatMessagePartTypeText, - Text: messages[i].Content, - }) - messages[i].Content = "" - messages[i].MultiContent = multiContent - } - } - return messages + for i := len(messages) - 1; i >= 0; i-- { + if messages[i].Role == openai.ChatMessageRoleUser { + // openai.ChatCompletionMessage: can't use both Content and MultiContent properties simultaneously + multiContent := getConfigIncludeContext(filename) + multiContent = append(multiContent, openai.ChatMessagePart{ + Type: openai.ChatMessagePartTypeText, + Text: messages[i].Content, + }) + messages[i].Content = "" + messages[i].MultiContent = multiContent + } + } + return messages } diff --git a/internal/validation/validation.go b/internal/validation/validation.go index 176d6d33..fb3f4678 100644 --- a/internal/validation/validation.go +++ b/internal/validation/validation.go @@ -12,12 +12,7 @@ func Init() { logger.Fatal("failed to initialize binding validator engine") } - err := v.RegisterValidation("safety_text", safetyText) - if err != nil { - logger.Fatal(err) - } - - err = v.RegisterValidation("certificate", isCertificate) + err := v.RegisterValidation("certificate", isCertificate) if err != nil { logger.Fatal(err) } diff --git a/settings/openai.go b/settings/openai.go index c5a119a9..fc755978 100644 --- a/settings/openai.go +++ b/settings/openai.go @@ -1,10 +1,15 @@ package settings +import "github.com/sashabaranov/go-openai" + type OpenAI struct { BaseUrl string `json:"base_url" binding:"omitempty,url"` Token string `json:"token" binding:"omitempty,safety_text"` Proxy string `json:"proxy" binding:"omitempty,url"` Model string `json:"model" binding:"omitempty,safety_text"` + APIType string `json:"api_type" binding:"omitempty,oneof=OPEN_AI AZURE"` } -var OpenAISettings = &OpenAI{} +var OpenAISettings = &OpenAI{ + APIType: string(openai.APITypeOpenAI), +}