From 9d4070a211413b9891e149a3890fabfad2f69e73 Mon Sep 17 00:00:00 2001 From: Jacky Date: Fri, 11 Apr 2025 12:27:18 +0000 Subject: [PATCH] feat(nginx): performance optimization #850 --- .cursor/rules/backend.mdc | 4 +- .cursor/rules/frontend.mdc | 4 +- api/nginx/performance.go | 36 ++ api/nginx/router.go | 4 + app/components.d.ts | 1 - app/src/api/ngx.ts | 35 ++ .../components/Notification/notifications.ts | 132 +++--- app/src/constants/errors/self_check.ts | 1 + app/src/language/ar/app.po | 445 +++++++++++------ app/src/language/de_DE/app.po | 445 +++++++++++------ app/src/language/en/app.po | 444 +++++++++++------ app/src/language/es/app.po | 448 ++++++++++++------ app/src/language/fr_FR/app.po | 447 +++++++++++------ app/src/language/ko_KR/app.po | 445 +++++++++++------ app/src/language/messages.pot | 428 +++++++++++------ app/src/language/ru_RU/app.po | 445 +++++++++++------ app/src/language/tr_TR/app.po | 445 +++++++++++------ app/src/language/vi_VN/app.po | 445 +++++++++++------ app/src/language/zh_CN/app.po | 443 ++++++++++------- app/src/language/zh_TW/app.po | 448 ++++++++++++------ app/src/views/config/ConfigEditor.vue | 6 + app/src/views/dashboard/NginxDashBoard.vue | 4 + .../components/ConnectionMetricsCard.vue | 1 - .../components/PerformanceOptimization.vue | 327 +++++++++++++ .../components/PerformanceStatisticsCard.vue | 149 +++--- .../components/PerformanceTablesCard.vue | 1 - app/src/views/system/About.vue | 2 +- internal/nginx/config_info.go | 98 +++- internal/nginx/perf_opt.go | 148 ++++++ 29 files changed, 4250 insertions(+), 2031 deletions(-) create mode 100644 api/nginx/performance.go create mode 100644 app/src/views/dashboard/components/PerformanceOptimization.vue create mode 100644 internal/nginx/perf_opt.go diff --git a/.cursor/rules/backend.mdc b/.cursor/rules/backend.mdc index bbd27ba7..27a215ad 100644 --- a/.cursor/rules/backend.mdc +++ b/.cursor/rules/backend.mdc @@ -1,6 +1,6 @@ --- -description: backend -globs: +description: +globs: **/**/*.go alwaysApply: false --- # Cursor Rules diff --git a/.cursor/rules/frontend.mdc b/.cursor/rules/frontend.mdc index 836353dd..df21b35d 100644 --- a/.cursor/rules/frontend.mdc +++ b/.cursor/rules/frontend.mdc @@ -1,6 +1,6 @@ --- -description: frontend -globs: +description: +globs: app/**/*.tsx,app/**/*.vue,app/**/*.ts,app/**/*.js,app/**/*.json alwaysApply: false --- You are an expert in TypeScript, Node.js, Vite, Vue.js, Vue Router, Pinia, VueUse, Ant Design Vue, and UnoCSS, with a deep understanding of best practices and performance optimization techniques in these technologies. diff --git a/api/nginx/performance.go b/api/nginx/performance.go new file mode 100644 index 00000000..b976beec --- /dev/null +++ b/api/nginx/performance.go @@ -0,0 +1,36 @@ +package nginx + +import ( + "net/http" + + "github.com/0xJacky/Nginx-UI/internal/nginx" + "github.com/gin-gonic/gin" + "github.com/uozi-tech/cosy" +) + +// GetPerformanceSettings retrieves current Nginx performance settings +func GetPerformanceSettings(c *gin.Context) { + // Get Nginx worker configuration info + perfInfo, err := nginx.GetNginxWorkerConfigInfo() + if err != nil { + cosy.ErrHandler(c, err) + return + } + c.JSON(http.StatusOK, perfInfo) +} + +// UpdatePerformanceSettings updates Nginx performance settings +func UpdatePerformanceSettings(c *gin.Context) { + var perfOpt nginx.PerfOpt + if !cosy.BindAndValid(c, &perfOpt) { + return + } + + err := nginx.UpdatePerfOpt(&perfOpt) + if err != nil { + cosy.ErrHandler(c, err) + return + } + + GetPerformanceSettings(c) +} diff --git a/api/nginx/router.go b/api/nginx/router.go index f4440e92..4d67f68f 100644 --- a/api/nginx/router.go +++ b/api/nginx/router.go @@ -23,4 +23,8 @@ func InitRouter(r *gin.RouterGroup) { r.POST("nginx/stub_status", ToggleStubStatus) r.POST("nginx_log", nginx_log.GetNginxLogPage) r.GET("nginx/directives", GetDirectives) + + // Performance optimization endpoints + r.GET("nginx/performance", GetPerformanceSettings) + r.POST("nginx/performance", UpdatePerformanceSettings) } diff --git a/app/components.d.ts b/app/components.d.ts index ebd20dba..5d9de480 100644 --- a/app/components.d.ts +++ b/app/components.d.ts @@ -71,7 +71,6 @@ declare module 'vue' { ATag: typeof import('ant-design-vue/es')['Tag'] ATextarea: typeof import('ant-design-vue/es')['Textarea'] ATooltip: typeof import('ant-design-vue/es')['Tooltip'] - AUploadDragger: typeof import('ant-design-vue/es')['UploadDragger'] BreadcrumbBreadcrumb: typeof import('./src/components/Breadcrumb/Breadcrumb.vue')['default'] ChartAreaChart: typeof import('./src/components/Chart/AreaChart.vue')['default'] ChartRadialBarChart: typeof import('./src/components/Chart/RadialBarChart.vue')['default'] diff --git a/app/src/api/ngx.ts b/app/src/api/ngx.ts index 6f90d9d6..188d9be9 100644 --- a/app/src/api/ngx.ts +++ b/app/src/api/ngx.ts @@ -54,6 +54,33 @@ export interface NginxPerformanceInfo { process_mode: string // worker进程配置模式:'auto'或'manual' } +export interface NginxConfigInfo { + worker_processes: number + worker_connections: number + process_mode: string + keepalive_timeout: number + gzip: string + gzip_min_length: number + gzip_comp_level: number + client_max_body_size: string + server_names_hash_bucket_size: number + client_header_buffer_size: string + client_body_buffer_size: string +} + +export interface NginxPerfOpt { + worker_processes: string + worker_connections: string + keepalive_timeout: string + gzip: string + gzip_min_length: string + gzip_comp_level: string + client_max_body_size: string + server_names_hash_bucket_size: string + client_header_buffer_size: string + client_body_buffer_size: string +} + const ngx = { build_config(ngxConfig: NgxConfig) { return http.post('/ngx/build_config', ngxConfig) @@ -94,6 +121,14 @@ const ngx = { get_directives(): Promise { return http.get('/nginx/directives') }, + + get_performance(): Promise { + return http.get('/nginx/performance') + }, + + update_performance(params: NginxPerfOpt): Promise { + return http.post('/nginx/performance', params) + }, } export default ngx diff --git a/app/src/components/Notification/notifications.ts b/app/src/components/Notification/notifications.ts index 01f6486d..f04bc68f 100644 --- a/app/src/components/Notification/notifications.ts +++ b/app/src/components/Notification/notifications.ts @@ -4,72 +4,6 @@ const notifications: Record string, content: (args: any) => string }> = { - // cluster module notifications - 'Reload Remote Nginx Error': { - title: () => $gettext('Reload Remote Nginx Error'), - content: (args: any) => $gettext('Reload Nginx on %{node} failed, response: %{resp}', args), - }, - 'Reload Remote Nginx Success': { - title: () => $gettext('Reload Remote Nginx Success'), - content: (args: any) => $gettext('Reload Nginx on %{node} successfully', args), - }, - 'Restart Remote Nginx Error': { - title: () => $gettext('Restart Remote Nginx Error'), - content: (args: any) => $gettext('Restart Nginx on %{node} failed, response: %{resp}', args), - }, - 'Restart Remote Nginx Success': { - title: () => $gettext('Restart Remote Nginx Success'), - content: (args: any) => $gettext('Restart Nginx on %{node} successfully', args), - }, - - // cert module notifications - 'Certificate Expired': { - title: () => $gettext('Certificate Expired'), - content: (args: any) => $gettext('Certificate %{name} has expired', args), - }, - 'Certificate Expiration Notice': { - title: () => $gettext('Certificate Expiration Notice'), - content: (args: any) => $gettext('Certificate %{name} will expire in %{days} days', args), - }, - 'Certificate Expiring Soon': { - title: () => $gettext('Certificate Expiring Soon'), - content: (args: any) => $gettext('Certificate %{name} will expire in %{days} days', args), - }, - 'Certificate Expiring Soon_1': { - title: () => $gettext('Certificate Expiring Soon'), - content: (args: any) => $gettext('Certificate %{name} will expire in %{days} days', args), - }, - 'Certificate Expiring Soon_2': { - title: () => $gettext('Certificate Expiring Soon'), - content: (args: any) => $gettext('Certificate %{name} will expire in 1 day', args), - }, - 'Sync Certificate Error': { - title: () => $gettext('Sync Certificate Error'), - content: (args: any) => $gettext('Sync Certificate %{cert_name} to %{env_name} failed', args), - }, - 'Sync Certificate Success': { - title: () => $gettext('Sync Certificate Success'), - content: (args: any) => $gettext('Sync Certificate %{cert_name} to %{env_name} successfully', args), - }, - - // config module notifications - 'Sync Config Error': { - title: () => $gettext('Sync Config Error'), - content: (args: any) => $gettext('Sync config %{config_name} to %{env_name} failed', args), - }, - 'Sync Config Success': { - title: () => $gettext('Sync Config Success'), - content: (args: any) => $gettext('Sync config %{config_name} to %{env_name} successfully', args), - }, - 'Rename Remote Config Error': { - title: () => $gettext('Rename Remote Config Error'), - content: (args: any) => $gettext('Rename %{orig_path} to %{new_path} on %{env_name} failed', args), - }, - 'Rename Remote Config Success': { - title: () => $gettext('Rename Remote Config Success'), - content: (args: any) => $gettext('Rename %{orig_path} to %{new_path} on %{env_name} successfully', args), - }, - // site module notifications 'Delete Remote Site Error': { title: () => $gettext('Delete Remote Site Error'), @@ -175,6 +109,72 @@ const notifications: Record string, content: (args: any) title: () => $gettext('All Recovery Codes Have Been Used'), content: (args: any) => $gettext('Please generate new recovery codes in the preferences immediately to prevent lockout.', args), }, + + // cluster module notifications + 'Reload Remote Nginx Error': { + title: () => $gettext('Reload Remote Nginx Error'), + content: (args: any) => $gettext('Reload Nginx on %{node} failed, response: %{resp}', args), + }, + 'Reload Remote Nginx Success': { + title: () => $gettext('Reload Remote Nginx Success'), + content: (args: any) => $gettext('Reload Nginx on %{node} successfully', args), + }, + 'Restart Remote Nginx Error': { + title: () => $gettext('Restart Remote Nginx Error'), + content: (args: any) => $gettext('Restart Nginx on %{node} failed, response: %{resp}', args), + }, + 'Restart Remote Nginx Success': { + title: () => $gettext('Restart Remote Nginx Success'), + content: (args: any) => $gettext('Restart Nginx on %{node} successfully', args), + }, + + // cert module notifications + 'Certificate Expired': { + title: () => $gettext('Certificate Expired'), + content: (args: any) => $gettext('Certificate %{name} has expired', args), + }, + 'Certificate Expiration Notice': { + title: () => $gettext('Certificate Expiration Notice'), + content: (args: any) => $gettext('Certificate %{name} will expire in %{days} days', args), + }, + 'Certificate Expiring Soon': { + title: () => $gettext('Certificate Expiring Soon'), + content: (args: any) => $gettext('Certificate %{name} will expire in %{days} days', args), + }, + 'Certificate Expiring Soon_1': { + title: () => $gettext('Certificate Expiring Soon'), + content: (args: any) => $gettext('Certificate %{name} will expire in %{days} days', args), + }, + 'Certificate Expiring Soon_2': { + title: () => $gettext('Certificate Expiring Soon'), + content: (args: any) => $gettext('Certificate %{name} will expire in 1 day', args), + }, + 'Sync Certificate Error': { + title: () => $gettext('Sync Certificate Error'), + content: (args: any) => $gettext('Sync Certificate %{cert_name} to %{env_name} failed', args), + }, + 'Sync Certificate Success': { + title: () => $gettext('Sync Certificate Success'), + content: (args: any) => $gettext('Sync Certificate %{cert_name} to %{env_name} successfully', args), + }, + + // config module notifications + 'Sync Config Error': { + title: () => $gettext('Sync Config Error'), + content: (args: any) => $gettext('Sync config %{config_name} to %{env_name} failed', args), + }, + 'Sync Config Success': { + title: () => $gettext('Sync Config Success'), + content: (args: any) => $gettext('Sync config %{config_name} to %{env_name} successfully', args), + }, + 'Rename Remote Config Error': { + title: () => $gettext('Rename Remote Config Error'), + content: (args: any) => $gettext('Rename %{orig_path} to %{new_path} on %{env_name} failed', args), + }, + 'Rename Remote Config Success': { + title: () => $gettext('Rename Remote Config Success'), + content: (args: any) => $gettext('Rename %{orig_path} to %{new_path} on %{env_name} successfully', args), + }, } export default notifications diff --git a/app/src/constants/errors/self_check.ts b/app/src/constants/errors/self_check.ts index 6f563f86..00f6b969 100644 --- a/app/src/constants/errors/self_check.ts +++ b/app/src/constants/errors/self_check.ts @@ -11,4 +11,5 @@ export default { 4047: () => $gettext('Sites-enabled directory not exist'), 4048: () => $gettext('Streams-available directory not exist'), 4049: () => $gettext('Streams-enabled directory not exist'), + 4050: () => $gettext('Nginx conf not include conf.d directory'), } diff --git a/app/src/language/ar/app.po b/app/src/language/ar/app.po index 7ef5fe64..ceb8845b 100644 --- a/app/src/language/ar/app.po +++ b/app/src/language/ar/app.po @@ -55,7 +55,7 @@ msgid "Action" msgstr "إجراء" #: src/composables/usePerformanceMetrics.ts:86 -#: src/views/dashboard/components/PerformanceTablesCard.vue:44 +#: src/views/dashboard/components/PerformanceTablesCard.vue:43 msgid "Active connections" msgstr "" @@ -78,8 +78,8 @@ msgstr "إضافة" msgid "Add a passkey" msgstr "أضف مفتاح مرور" -#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:168 -#: src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:246 msgid "Add Configuration" msgstr "إضافة تكوين" @@ -122,7 +122,7 @@ msgstr "بعد ذلك، قم بتحديث هذه الصفحة وانقر فوق msgid "All" msgstr "الكل" -#: src/components/Notification/notifications.ts:175 +#: src/components/Notification/notifications.ts:109 #: src/language/constants.ts:58 msgid "All Recovery Codes Have Been Used" msgstr "" @@ -270,7 +270,12 @@ msgstr "إعدادات المصادقة" msgid "Author" msgstr "الكاتب" -#: src/views/dashboard/components/PerformanceTablesCard.vue:201 +#: src/views/dashboard/components/PerformanceOptimization.vue:178 +#: src/views/dashboard/components/PerformanceOptimization.vue:189 +msgid "Auto" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:200 msgid "auto = CPU cores" msgstr "" @@ -295,7 +300,7 @@ msgid "Automatically indexed from site and stream configurations." msgstr "" #: src/views/certificate/components/CertificateEditor.vue:257 -#: src/views/config/ConfigEditor.vue:262 src/views/config/ConfigList.vue:112 +#: src/views/config/ConfigEditor.vue:268 src/views/config/ConfigList.vue:112 #: src/views/config/ConfigList.vue:195 src/views/nginx_log/NginxLog.vue:173 #: src/views/site/site_edit/SiteEdit.vue:285 #: src/views/stream/StreamEdit.vue:264 @@ -349,7 +354,7 @@ msgstr "" msgid "Base information" msgstr "المعلومات الأساسية" -#: src/views/config/ConfigEditor.vue:290 +#: src/views/config/ConfigEditor.vue:296 #: src/views/site/site_edit/RightSettings.vue:52 #: src/views/stream/components/RightSettings.vue:79 msgid "Basic" @@ -391,7 +396,7 @@ msgid "CA Dir" msgstr "مجلد سلطة التصديق" #: src/composables/usePerformanceMetrics.ts:141 -#: src/views/dashboard/components/PerformanceTablesCard.vue:95 +#: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" @@ -405,7 +410,7 @@ msgid "CADir" msgstr "مجلد سلطة التصديق" #: src/views/dashboard/components/PerformanceStatisticsCard.vue:43 -#: src/views/dashboard/components/PerformanceTablesCard.vue:191 +#: src/views/dashboard/components/PerformanceTablesCard.vue:190 msgid "" "Calculated based on worker_processes * worker_connections. Actual " "performance depends on hardware, configuration, and workload" @@ -435,7 +440,7 @@ msgstr "حظر تغيير كلمة مرور root في العرض التوضيح msgid "Cannot compare: Missing content" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:132 msgid "Cannot get performance data in this state" msgstr "" @@ -452,18 +457,18 @@ msgstr "شهادة" msgid "Cert path is not under the nginx conf dir" msgstr "" -#: src/components/Notification/notifications.ts:28 +#: src/components/Notification/notifications.ts:134 #, fuzzy msgid "Certificate %{name} has expired" msgstr "نماذج التكوين" -#: src/components/Notification/notifications.ts:32 -#: src/components/Notification/notifications.ts:36 -#: src/components/Notification/notifications.ts:40 +#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:146 msgid "Certificate %{name} will expire in %{days} days" msgstr "" -#: src/components/Notification/notifications.ts:44 +#: src/components/Notification/notifications.ts:150 msgid "Certificate %{name} will expire in 1 day" msgstr "" @@ -472,19 +477,19 @@ msgstr "" msgid "Certificate decode error" msgstr "خطأ في مزامنة الشهادة" -#: src/components/Notification/notifications.ts:31 +#: src/components/Notification/notifications.ts:137 #, fuzzy msgid "Certificate Expiration Notice" msgstr "نماذج التكوين" -#: src/components/Notification/notifications.ts:27 +#: src/components/Notification/notifications.ts:133 #, fuzzy msgid "Certificate Expired" msgstr "قائمة الشهادات" -#: src/components/Notification/notifications.ts:35 -#: src/components/Notification/notifications.ts:39 -#: src/components/Notification/notifications.ts:43 +#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:149 #, fuzzy msgid "Certificate Expiring Soon" msgstr "خطأ في مزامنة الشهادة" @@ -553,7 +558,7 @@ msgstr[3] "الشهادات المعدلة" msgstr[4] "الشهادات المعدلة" msgstr[5] "الشهادات المعدلة" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 msgid "Changed Path" msgstr "المسار المتغير" @@ -624,6 +629,26 @@ msgstr "" msgid "Click to copy" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:307 +msgid "Client Body Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:289 +msgid "Client Header Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:259 +msgid "Client Max Body Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:308 +msgid "Client request body buffer size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:290 +msgid "Client request header buffer size" +msgstr "" + #: src/components/ConfigHistory/ConfigHistory.vue:169 msgid "Close" msgstr "" @@ -656,6 +681,10 @@ msgstr "" msgid "Compare with Current" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:248 +msgid "Compression level, 1 is lowest, 9 is highest" +msgstr "" + #: src/constants/errors/backup.ts:14 #, fuzzy msgid "Config path is empty" @@ -674,7 +703,7 @@ msgstr "تم اختبار ملف التكوين بنجاح" msgid "Configuration History" msgstr "التكوينات" -#: src/views/dashboard/components/PerformanceTablesCard.vue:168 +#: src/views/dashboard/components/PerformanceTablesCard.vue:167 #, fuzzy msgid "Configuration information" msgstr "التكوينات" @@ -695,7 +724,7 @@ msgstr "تكوين SSL" msgid "Connected" msgstr "متصل" -#: src/views/dashboard/NginxDashBoard.vue:84 +#: src/views/dashboard/NginxDashBoard.vue:85 msgid "Connection error, trying to reconnect..." msgstr "" @@ -703,6 +732,10 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "تم فقدان الاتصال، يرجى تحديث الصفحة." +#: src/views/dashboard/components/PerformanceOptimization.vue:207 +msgid "Connection timeout period" +msgstr "" + #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:118 #: src/views/site/ngx_conf/LocationEditor.vue:115 #: src/views/site/ngx_conf/LocationEditor.vue:143 @@ -809,7 +842,7 @@ msgstr "TOTP مفعل للحساب الحالي." msgid "Current account is not enabled TOTP." msgstr "TOTP معطل للحساب الحالي." -#: src/views/dashboard/components/ConnectionMetricsCard.vue:28 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:27 msgid "Current active connections" msgstr "" @@ -838,8 +871,8 @@ msgid "" "indicator." msgstr "قم بتخصيص اسم العقدة المحلية ليتم عرضها في مؤشر البيئة." -#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:107 -#: src/views/config/ConfigEditor.vue:158 src/views/config/ConfigList.vue:67 +#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:110 +#: src/views/config/ConfigEditor.vue:161 src/views/config/ConfigList.vue:67 msgid "Dashboard" msgstr "لوحة المعلومات" @@ -876,30 +909,30 @@ msgstr "تجديد الشهادة" msgid "Delete Permanently" msgstr "حذف نهائي" -#: src/components/Notification/notifications.ts:75 src/language/constants.ts:50 +#: src/components/Notification/notifications.ts:9 src/language/constants.ts:50 msgid "Delete Remote Site Error" msgstr "خطأ حذف الموقع البعيد" -#: src/components/Notification/notifications.ts:79 src/language/constants.ts:49 +#: src/components/Notification/notifications.ts:13 src/language/constants.ts:49 msgid "Delete Remote Site Success" msgstr "نجح حذف الموقع البعيد" -#: src/components/Notification/notifications.ts:133 +#: src/components/Notification/notifications.ts:67 #, fuzzy msgid "Delete Remote Stream Error" msgstr "خطأ حذف الموقع البعيد" -#: src/components/Notification/notifications.ts:137 +#: src/components/Notification/notifications.ts:71 #, fuzzy msgid "Delete Remote Stream Success" msgstr "نجح حذف الموقع البعيد" -#: src/components/Notification/notifications.ts:76 +#: src/components/Notification/notifications.ts:10 #, fuzzy msgid "Delete site %{name} from %{node} failed" msgstr "فشل نشر {conf_name}% إلى {node_name}%" -#: src/components/Notification/notifications.ts:80 +#: src/components/Notification/notifications.ts:14 #, fuzzy msgid "Delete site %{name} from %{node} successfully" msgstr "تمت إزالة الموقع %{site} من %{node} بنجاح" @@ -908,12 +941,12 @@ msgstr "تمت إزالة الموقع %{site} من %{node} بنجاح" msgid "Delete site: %{site_name}" msgstr "حذف الموقع: ‎%{site_name}" -#: src/components/Notification/notifications.ts:134 +#: src/components/Notification/notifications.ts:68 #, fuzzy msgid "Delete stream %{name} from %{node} failed" msgstr "فشل نشر {conf_name}% إلى {node_name}%" -#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:72 #, fuzzy msgid "Delete stream %{name} from %{node} successfully" msgstr "تمت إزالة الموقع %{site} من %{node} بنجاح" @@ -930,7 +963,7 @@ msgstr "تم الحذف بنجاح" msgid "Demo" msgstr "" -#: src/views/config/ConfigEditor.vue:334 +#: src/views/config/ConfigEditor.vue:340 msgid "Deploy" msgstr "نشر" @@ -988,60 +1021,60 @@ msgstr "تعطيل" msgid "Disable auto-renewal failed for %{name}" msgstr "فشل تعطيل التجديد التلقائي لـ {name}%" -#: src/components/Notification/notifications.ts:83 src/language/constants.ts:52 +#: src/components/Notification/notifications.ts:17 src/language/constants.ts:52 msgid "Disable Remote Site Error" msgstr "خطأ في تعطيل الموقع البعيد" -#: src/components/Notification/notifications.ts:107 +#: src/components/Notification/notifications.ts:41 #, fuzzy msgid "Disable Remote Site Maintenance Error" msgstr "خطأ في تعطيل الموقع البعيد" -#: src/components/Notification/notifications.ts:111 +#: src/components/Notification/notifications.ts:45 #, fuzzy msgid "Disable Remote Site Maintenance Success" msgstr "تعطيل الموقع البعيد بنجاح" -#: src/components/Notification/notifications.ts:87 src/language/constants.ts:51 +#: src/components/Notification/notifications.ts:21 src/language/constants.ts:51 msgid "Disable Remote Site Success" msgstr "تعطيل الموقع البعيد بنجاح" -#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:75 #, fuzzy msgid "Disable Remote Stream Error" msgstr "خطأ في تعطيل الموقع البعيد" -#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:79 #, fuzzy msgid "Disable Remote Stream Success" msgstr "تعطيل الموقع البعيد بنجاح" -#: src/components/Notification/notifications.ts:84 +#: src/components/Notification/notifications.ts:18 #, fuzzy msgid "Disable site %{name} from %{node} failed" msgstr "تم تعطيل الموقع %{site} على %{node} بنجاح" -#: src/components/Notification/notifications.ts:88 +#: src/components/Notification/notifications.ts:22 #, fuzzy msgid "Disable site %{name} from %{node} successfully" msgstr "تم تعطيل الموقع %{site} على %{node} بنجاح" -#: src/components/Notification/notifications.ts:108 +#: src/components/Notification/notifications.ts:42 #, fuzzy msgid "Disable site %{name} maintenance on %{node} failed" msgstr "تم تعطيل الموقع %{site} على %{node} بنجاح" -#: src/components/Notification/notifications.ts:112 +#: src/components/Notification/notifications.ts:46 #, fuzzy msgid "Disable site %{name} maintenance on %{node} successfully" msgstr "تم تعطيل الموقع %{site} على %{node} بنجاح" -#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:76 #, fuzzy msgid "Disable stream %{name} from %{node} failed" msgstr "فشل تفعيل %{conf_name} في %{node_name}" -#: src/components/Notification/notifications.ts:146 +#: src/components/Notification/notifications.ts:80 #, fuzzy msgid "Disable stream %{name} from %{node} successfully" msgstr "تم تعطيل الموقع %{site} على %{node} بنجاح" @@ -1178,7 +1211,7 @@ msgstr "تعديل %{n}" msgid "Edit %{n}" msgstr "تعديل %{n}" -#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:246 msgid "Edit Configuration" msgstr "تعديل التكوين" @@ -1216,6 +1249,10 @@ msgstr "تم تفعيل المصادقة الثنائية بنجاح" msgid "Enable auto-renewal failed for %{name}" msgstr "فشل تفعيل التجديد التلقائي لـ %{name}" +#: src/views/dashboard/components/PerformanceOptimization.vue:222 +msgid "Enable compression for content transfer" +msgstr "" + #: src/views/site/site_add/SiteAdd.vue:43 msgid "Enable failed" msgstr "فشل التفعيل" @@ -1225,65 +1262,65 @@ msgstr "فشل التفعيل" msgid "Enable HTTPS" msgstr "تفعيل TOTP" -#: src/components/Notification/notifications.ts:91 src/language/constants.ts:54 +#: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 msgid "Enable Remote Site Error" msgstr "خطأ في تفعيل الموقع البعيد" -#: src/components/Notification/notifications.ts:99 +#: src/components/Notification/notifications.ts:33 #, fuzzy msgid "Enable Remote Site Maintenance Error" msgstr "خطأ في تفعيل الموقع البعيد" -#: src/components/Notification/notifications.ts:103 +#: src/components/Notification/notifications.ts:37 #, fuzzy msgid "Enable Remote Site Maintenance Success" msgstr "نجح تفعيل الموقع البعيد" -#: src/components/Notification/notifications.ts:95 src/language/constants.ts:53 +#: src/components/Notification/notifications.ts:29 src/language/constants.ts:53 msgid "Enable Remote Site Success" msgstr "نجح تفعيل الموقع البعيد" -#: src/components/Notification/notifications.ts:149 +#: src/components/Notification/notifications.ts:83 #, fuzzy msgid "Enable Remote Stream Error" msgstr "خطأ في تفعيل الموقع البعيد" -#: src/components/Notification/notifications.ts:153 +#: src/components/Notification/notifications.ts:87 #, fuzzy msgid "Enable Remote Stream Success" msgstr "نجح تفعيل الموقع البعيد" -#: src/components/Notification/notifications.ts:100 +#: src/components/Notification/notifications.ts:34 #, fuzzy msgid "Enable site %{name} maintenance on %{node} failed" msgstr "فشل تفعيل %{conf_name} في %{node_name}" -#: src/components/Notification/notifications.ts:104 +#: src/components/Notification/notifications.ts:38 #, fuzzy msgid "Enable site %{name} maintenance on %{node} successfully" msgstr "تم تفعيل الموقع %{site} على %{node} بنجاح" -#: src/components/Notification/notifications.ts:92 +#: src/components/Notification/notifications.ts:26 #, fuzzy msgid "Enable site %{name} on %{node} failed" msgstr "فشل تفعيل %{conf_name} في %{node_name}" -#: src/components/Notification/notifications.ts:96 +#: src/components/Notification/notifications.ts:30 #, fuzzy msgid "Enable site %{name} on %{node} successfully" msgstr "تم تفعيل الموقع %{site} على %{node} بنجاح" -#: src/components/Notification/notifications.ts:150 +#: src/components/Notification/notifications.ts:84 #, fuzzy msgid "Enable stream %{name} on %{node} failed" msgstr "فشل تفعيل %{conf_name} في %{node_name}" -#: src/components/Notification/notifications.ts:154 +#: src/components/Notification/notifications.ts:88 #, fuzzy msgid "Enable stream %{name} on %{node} successfully" msgstr "تم تفعيل الموقع %{site} على %{node} بنجاح" -#: src/views/dashboard/NginxDashBoard.vue:149 +#: src/views/dashboard/NginxDashBoard.vue:150 msgid "Enable stub_status module" msgstr "" @@ -1583,6 +1620,11 @@ msgstr "فشل في الحصول على معلومات الشهادة" msgid "Failed to get certificate information" msgstr "فشل في الحصول على معلومات الشهادة" +#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#, fuzzy +msgid "Failed to get Nginx performance settings" +msgstr "فشل في الحصول على معلومات الشهادة" + #: src/composables/useNginxPerformance.ts:49 #, fuzzy msgid "Failed to get performance data" @@ -1651,6 +1693,11 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "فشل في الحصول على الشهادة" +#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#, fuzzy +msgid "Failed to save Nginx performance settings" +msgstr "فشل في الحصول على معلومات الشهادة" + #: src/views/site/site_edit/SiteEdit.vue:139 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." @@ -1717,15 +1764,15 @@ msgstr "للمستخدمين الصين: /https://mirror.ghproxy.com" msgid "Form parse failed" msgstr "فشل التكرار" -#: src/views/config/ConfigEditor.vue:265 +#: src/views/config/ConfigEditor.vue:271 msgid "Format Code" msgstr "تنسيق الكود" -#: src/views/config/ConfigEditor.vue:213 +#: src/views/config/ConfigEditor.vue:218 msgid "Format error %{msg}" msgstr "خطأ في التنسيق %{msg}" -#: src/views/config/ConfigEditor.vue:211 +#: src/views/config/ConfigEditor.vue:216 msgid "Format successfully" msgstr "تم التنسيق بنجاح" @@ -1757,7 +1804,7 @@ msgstr "تم الاسترداد بنجاح" msgid "Generating private key for registering account" msgstr "توليد مفتاح خاص لتسجيل الحساب" -#: src/views/dashboard/NginxDashBoard.vue:140 +#: src/views/dashboard/NginxDashBoard.vue:141 #, fuzzy msgid "Get data failed" msgstr "فشل التسجيل" @@ -1775,6 +1822,18 @@ msgstr "جارٍ الحصول على الشهادة، يرجى الانتظار. msgid "Github Proxy" msgstr "وكيل Github" +#: src/views/dashboard/components/PerformanceOptimization.vue:221 +msgid "GZIP Compression" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:247 +msgid "GZIP Compression Level" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:233 +msgid "GZIP Min Length" +msgstr "" + #: src/constants/errors/backup.ts:59 msgid "Hash verification failed: file integrity compromised" msgstr "" @@ -1787,7 +1846,7 @@ msgstr "إخفاء" msgid "Higher value means better connection reuse" msgstr "" -#: src/views/config/ConfigEditor.vue:251 +#: src/views/config/ConfigEditor.vue:256 #: src/views/site/site_edit/SiteEdit.vue:212 #: src/views/stream/StreamEdit.vue:195 #, fuzzy @@ -1888,7 +1947,7 @@ msgstr "" msgid "Indexing..." msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:16 +#: src/views/dashboard/components/PerformanceTablesCard.vue:15 msgid "Indicator" msgstr "" @@ -1964,7 +2023,7 @@ msgid "Invalid file path: {0}" msgstr "رمز 2FA أو الاسترداد غير صالح" #: src/views/config/components/Rename.vue:66 -#: src/views/config/ConfigEditor.vue:299 +#: src/views/config/ConfigEditor.vue:305 msgid "Invalid filename" msgstr "اسم ملف غير صالح" @@ -2029,12 +2088,20 @@ msgstr "المُصدر: %{issuer}" msgid "Jwt Secret" msgstr "سر JWT" +#: src/views/dashboard/components/PerformanceOptimization.vue:242 +msgid "KB" +msgstr "" + #: src/views/preference/components/RecoveryCodes.vue:74 msgid "" "Keep your recovery codes as safe as your password. We recommend saving them " "with a password manager." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:206 +msgid "Keepalive Timeout" +msgstr "" + #: src/views/certificate/CertificateList/certColumns.tsx:59 #: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" @@ -2057,7 +2124,7 @@ msgstr "مخصص" msgid "Last checked at" msgstr "آخر فحص في" -#: src/views/dashboard/NginxDashBoard.vue:115 +#: src/views/dashboard/NginxDashBoard.vue:116 #, fuzzy msgid "Last update" msgstr "آخر استخدام في" @@ -2120,7 +2187,7 @@ msgstr "تحميل من الإعدادات" msgid "Load successfully" msgstr "تم التحميل بنجاح" -#: src/views/dashboard/NginxDashBoard.vue:177 +#: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2201,8 +2268,8 @@ msgstr "" "تأكد من تكوين وكيل عكسي لدليل .well-known إلى HTTPChallengePort قبل الحصول " "على الشهادة." -#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:112 -#: src/views/config/ConfigEditor.vue:163 src/views/config/ConfigList.vue:72 +#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:115 +#: src/views/config/ConfigEditor.vue:166 src/views/config/ConfigList.vue:72 msgid "Manage Configs" msgstr "إدارة التكوينات" @@ -2222,7 +2289,11 @@ msgstr "إدارة المستخدمين" msgid "Managed Certificate" msgstr "شهادة مُدارة" -#: src/views/dashboard/components/PerformanceTablesCard.vue:202 +#: src/views/dashboard/components/PerformanceOptimization.vue:179 +msgid "Manual" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:201 msgid "manually set" msgstr "" @@ -2231,7 +2302,7 @@ msgid "Master" msgstr "" #: src/composables/usePerformanceMetrics.ts:136 -#: src/views/dashboard/components/PerformanceTablesCard.vue:90 +#: src/views/dashboard/components/PerformanceTablesCard.vue:89 msgid "Master process" msgstr "" @@ -2253,12 +2324,21 @@ msgstr "الإصدار الحالي" msgid "Max Requests Per Second" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:260 +msgid "Maximum client request body size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#, fuzzy +msgid "Maximum number of concurrent connections" +msgstr "الإصدار الحالي" + #: src/composables/usePerformanceMetrics.ts:176 -#: src/views/dashboard/components/PerformanceTablesCard.vue:126 +#: src/views/dashboard/components/PerformanceTablesCard.vue:125 msgid "Maximum number of connections per worker process" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:196 +#: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2275,6 +2355,10 @@ msgstr "الذاكرة والتخزين" msgid "Memory Usage (RSS)" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:234 +msgid "Minimum file size for compression" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "دقائق" @@ -2316,7 +2400,7 @@ msgstr "توجيه متعدد الأسطر" #: src/views/certificate/components/CertificateEditor.vue:162 #: src/views/certificate/DNSCredential.vue:11 #: src/views/config/components/Mkdir.vue:64 -#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:305 +#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:311 #: src/views/environments/group/columns.ts:8 #: src/views/environments/list/envColumns.tsx:9 #: src/views/nginx_log/NginxLogList.vue:37 @@ -2331,7 +2415,7 @@ msgstr "توجيه متعدد الأسطر" msgid "Name" msgstr "اسم" -#: src/views/dashboard/NginxDashBoard.vue:172 +#: src/views/dashboard/NginxDashBoard.vue:173 msgid "Need to enable the stub_status module" msgstr "" @@ -2360,7 +2444,7 @@ msgstr "تثبيت" msgid "New name" msgstr "اسم جديد" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 msgid "New Path" msgstr "مسار جديد" @@ -2403,6 +2487,11 @@ msgstr "" msgid "Nginx conf no stream block" msgstr "" +#: src/constants/errors/self_check.ts:14 +#, fuzzy +msgid "Nginx conf not include conf.d directory" +msgstr "أمر إعادة تشغيل Nginx" + #: src/constants/errors/self_check.ts:6 msgid "Nginx conf not include sites-enabled" msgstr "" @@ -2440,7 +2529,7 @@ msgid "Nginx Control" msgstr "التحكم في Nginx" #: src/composables/usePerformanceMetrics.ts:151 -#: src/views/dashboard/components/PerformanceTablesCard.vue:105 +#: src/views/dashboard/components/PerformanceTablesCard.vue:104 msgid "Nginx CPU usage rate" msgstr "" @@ -2449,14 +2538,14 @@ msgid "Nginx Error Log Path" msgstr "مسار سجل أخطاء Nginx" #: src/composables/useNginxPerformance.ts:43 -#: src/views/dashboard/NginxDashBoard.vue:111 -#: src/views/dashboard/NginxDashBoard.vue:130 -#: src/views/dashboard/NginxDashBoard.vue:79 +#: src/views/dashboard/NginxDashBoard.vue:112 +#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:80 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15 msgid "Nginx is not running" msgstr "Nginx لا يعمل" -#: src/views/dashboard/NginxDashBoard.vue:111 +#: src/views/dashboard/NginxDashBoard.vue:112 #, fuzzy msgid "Nginx is running" msgstr "Nginx لا يعمل" @@ -2470,7 +2559,7 @@ msgid "Nginx Log Directory Whitelist" msgstr "قائمة السماح لمجلد سجلات Nginx" #: src/composables/usePerformanceMetrics.ts:156 -#: src/views/dashboard/components/PerformanceTablesCard.vue:110 +#: src/views/dashboard/components/PerformanceTablesCard.vue:109 msgid "Nginx Memory usage" msgstr "" @@ -2507,7 +2596,7 @@ msgstr "تم إعادة تشغيل Nginx بنجاح" msgid "Nginx Test Config Command" msgstr "أمر إعادة تشغيل Nginx" -#: src/views/dashboard/components/PerformanceTablesCard.vue:181 +#: src/views/dashboard/components/PerformanceTablesCard.vue:180 msgid "Nginx theoretical maximum performance" msgstr "" @@ -2553,7 +2642,7 @@ msgstr "لا" msgid "No Action" msgstr "إجراء" -#: src/views/dashboard/NginxDashBoard.vue:179 +#: src/views/dashboard/NginxDashBoard.vue:180 msgid "No data" msgstr "" @@ -2633,10 +2722,14 @@ msgstr "الإشعارات" msgid "Notifier not found" msgstr "لم يتم العثور على الملف" +#: src/views/dashboard/components/PerformanceOptimization.vue:173 +msgid "Number of concurrent worker processes, auto sets to CPU core count" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:131 #: src/composables/usePerformanceMetrics.ts:171 -#: src/views/dashboard/components/PerformanceTablesCard.vue:121 -#: src/views/dashboard/components/PerformanceTablesCard.vue:85 +#: src/views/dashboard/components/PerformanceTablesCard.vue:120 +#: src/views/dashboard/components/PerformanceTablesCard.vue:84 msgid "Number of worker processes" msgstr "" @@ -2660,6 +2753,11 @@ msgstr "" "قد يتسبب وجوب تثبيت OCSP في حدوث أخطاء لبعض المستخدمين عند الوصول لأول مرة " "باستخدام Firefox." +#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#, fuzzy +msgid "Off" +msgstr "غير متصل" + #: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 @@ -2691,6 +2789,10 @@ msgstr "حسنًا" msgid "OK" msgstr "حسنًا" +#: src/views/dashboard/components/PerformanceOptimization.vue:226 +msgid "On" +msgstr "" + #: src/views/certificate/DNSCredential.vue:59 msgid "Once the verification is complete, the records will be removed." msgstr "بمجرد اكتمال التحقق، سيتم إزالة السجلات." @@ -2711,6 +2813,14 @@ msgstr "" msgid "OpenAI" msgstr "أوبن أي آي" +#: src/views/dashboard/components/PerformanceOptimization.vue:164 +msgid "Optimize Nginx Performance" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:158 +msgid "Optimize Performance" +msgstr "" + #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "أو" @@ -2732,7 +2842,7 @@ msgid "OS:" msgstr "نظام التشغيل:" #: src/composables/usePerformanceMetrics.ts:146 -#: src/views/dashboard/components/PerformanceTablesCard.vue:100 +#: src/views/dashboard/components/PerformanceTablesCard.vue:99 msgid "Other Nginx processes" msgstr "" @@ -2750,11 +2860,11 @@ msgstr "" msgid "Otp or recovery code empty" msgstr "استخدم رمز الاسترداد" -#: src/views/config/ConfigEditor.vue:343 +#: src/views/config/ConfigEditor.vue:349 msgid "Overwrite" msgstr "الكتابة فوق" -#: src/views/config/ConfigEditor.vue:347 +#: src/views/config/ConfigEditor.vue:353 msgid "Overwrite exist file" msgstr "الكتابة فوق الملف الموجود" @@ -2798,7 +2908,7 @@ msgstr "اسم المستخدم أو كلمة المرور غير صحيحة" msgid "Password length cannot exceed 20 characters" msgstr "" -#: src/views/config/ConfigEditor.vue:312 +#: src/views/config/ConfigEditor.vue:318 #: src/views/nginx_log/NginxLogList.vue:45 #: src/views/site/ngx_conf/LocationEditor.vue:109 #: src/views/site/ngx_conf/LocationEditor.vue:137 @@ -2821,10 +2931,15 @@ msgstr "نفذ" msgid "Perform core upgrade error" msgstr "خطأ في تنفيذ ترقية النواة" -#: src/views/dashboard/NginxDashBoard.vue:184 +#: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#, fuzzy +msgid "Performance settings saved successfully" +msgstr "تم التعطيل بنجاح" + #: src/language/constants.ts:28 msgid "Performing core upgrade" msgstr "تنفيذ ترقية النواة" @@ -2833,7 +2948,7 @@ msgstr "تنفيذ ترقية النواة" msgid "Plain text is empty" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:173 +#: src/views/dashboard/NginxDashBoard.vue:174 msgid "" "Please enable the stub_status module to get request statistics, connection " "count, etc." @@ -2878,7 +2993,7 @@ msgstr "" "يرجى أولاً إضافة بيانات الاعتماد في الشهادات > بيانات اعتماد DNS، ثم اختيار " "أحد بيانات الاعتماد أدناه لطلب API لمزود DNS." -#: src/components/Notification/notifications.ts:176 +#: src/components/Notification/notifications.ts:110 #: src/language/constants.ts:59 msgid "" "Please generate new recovery codes in the preferences immediately to prevent " @@ -2886,7 +3001,7 @@ msgid "" msgstr "" #: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:298 +#: src/views/config/ConfigEditor.vue:304 msgid "Please input a filename" msgstr "يرجى إدخال اسم الملف" @@ -2985,7 +3100,7 @@ msgstr "تحضير تكوينات Lego" msgid "Process Distribution" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:155 +#: src/views/dashboard/components/PerformanceTablesCard.vue:154 #, fuzzy msgid "Process information" msgstr "المعلومات الأساسية" @@ -3015,7 +3130,7 @@ msgid "Public Security Number" msgstr "" #: src/composables/usePerformanceMetrics.ts:106 -#: src/views/dashboard/components/PerformanceTablesCard.vue:64 +#: src/views/dashboard/components/PerformanceTablesCard.vue:63 msgid "Read requests" msgstr "" @@ -3121,22 +3236,22 @@ msgstr "إعادة تحميل" msgid "Reload Nginx" msgstr "إعادة تحميل nginx" -#: src/components/Notification/notifications.ts:10 +#: src/components/Notification/notifications.ts:116 #, fuzzy msgid "Reload Nginx on %{node} failed, response: %{resp}" msgstr "خطأ في إزالة الموقع %{site} من %{node}، الاستجابة: %{resp}" -#: src/components/Notification/notifications.ts:14 +#: src/components/Notification/notifications.ts:120 #, fuzzy msgid "Reload Nginx on %{node} successfully" msgstr "تمت ترقية Nginx UI على %{node} بنجاح 🎉" -#: src/components/Notification/notifications.ts:9 +#: src/components/Notification/notifications.ts:115 #, fuzzy msgid "Reload Remote Nginx Error" msgstr "خطأ في إعادة تسمية الموقع البعيد" -#: src/components/Notification/notifications.ts:13 +#: src/components/Notification/notifications.ts:119 #, fuzzy msgid "Reload Remote Nginx Success" msgstr "تم إعادة تسمية الموقع البعيد بنجاح" @@ -3175,59 +3290,59 @@ msgstr "تمت الإزالة بنجاح" msgid "Rename" msgstr "إعادة تسمية" -#: src/components/Notification/notifications.ts:66 +#: src/components/Notification/notifications.ts:172 #, fuzzy msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed" msgstr "تم إعادة تسمية %{orig_path} إلى %{new_path} على %{env_name} بنجاح" -#: src/components/Notification/notifications.ts:70 +#: src/components/Notification/notifications.ts:176 msgid "Rename %{orig_path} to %{new_path} on %{env_name} successfully" msgstr "تم إعادة تسمية %{orig_path} إلى %{new_path} على %{env_name} بنجاح" -#: src/components/Notification/notifications.ts:65 src/language/constants.ts:42 +#: src/components/Notification/notifications.ts:171 +#: src/language/constants.ts:42 msgid "Rename Remote Config Error" msgstr "خطأ في إعادة تسمية التكوين البعيد" -#: src/components/Notification/notifications.ts:69 src/language/constants.ts:41 +#: src/components/Notification/notifications.ts:175 +#: src/language/constants.ts:41 msgid "Rename Remote Config Success" msgstr "إعادة تسمية تكوين البعيد بنجاح" -#: src/components/Notification/notifications.ts:115 -#: src/language/constants.ts:56 +#: src/components/Notification/notifications.ts:49 src/language/constants.ts:56 msgid "Rename Remote Site Error" msgstr "خطأ في إعادة تسمية الموقع البعيد" -#: src/components/Notification/notifications.ts:119 -#: src/language/constants.ts:55 +#: src/components/Notification/notifications.ts:53 src/language/constants.ts:55 msgid "Rename Remote Site Success" msgstr "تم إعادة تسمية الموقع البعيد بنجاح" -#: src/components/Notification/notifications.ts:157 +#: src/components/Notification/notifications.ts:91 #, fuzzy msgid "Rename Remote Stream Error" msgstr "خطأ في إعادة تسمية الموقع البعيد" -#: src/components/Notification/notifications.ts:161 +#: src/components/Notification/notifications.ts:95 #, fuzzy msgid "Rename Remote Stream Success" msgstr "تم إعادة تسمية الموقع البعيد بنجاح" -#: src/components/Notification/notifications.ts:116 +#: src/components/Notification/notifications.ts:50 #, fuzzy msgid "Rename site %{name} to %{new_name} on %{node} failed" msgstr "إعادة تسمية الموقع %{site} إلى %{new_site} على %{node} بنجاح" -#: src/components/Notification/notifications.ts:120 +#: src/components/Notification/notifications.ts:54 #, fuzzy msgid "Rename site %{name} to %{new_name} on %{node} successfully" msgstr "إعادة تسمية الموقع %{site} إلى %{new_site} على %{node} بنجاح" -#: src/components/Notification/notifications.ts:158 +#: src/components/Notification/notifications.ts:92 #, fuzzy msgid "Rename stream %{name} to %{new_name} on %{node} failed" msgstr "إعادة تسمية الموقع %{site} إلى %{new_site} على %{node} بنجاح" -#: src/components/Notification/notifications.ts:162 +#: src/components/Notification/notifications.ts:96 #, fuzzy msgid "Rename stream %{name} to %{new_name} on %{node} successfully" msgstr "إعادة تسمية الموقع %{site} إلى %{new_site} على %{node} بنجاح" @@ -3260,7 +3375,7 @@ msgstr "تجديد الشهادة بنجاح" msgid "Renew successfully" msgstr "تم التجديد بنجاح" -#: src/views/dashboard/components/PerformanceTablesCard.vue:142 +#: src/views/dashboard/components/PerformanceTablesCard.vue:141 #, fuzzy msgid "Request statistics" msgstr "إحصائيات الشبكة" @@ -3293,7 +3408,7 @@ msgid "" msgstr "" #: src/composables/usePerformanceMetrics.ts:111 -#: src/views/dashboard/components/PerformanceTablesCard.vue:69 +#: src/views/dashboard/components/PerformanceTablesCard.vue:68 msgid "Responses" msgstr "" @@ -3308,22 +3423,22 @@ msgstr "إعادة تشغيل" msgid "Restart Nginx" msgstr "إعادة التشغيل" -#: src/components/Notification/notifications.ts:18 +#: src/components/Notification/notifications.ts:124 #, fuzzy msgid "Restart Nginx on %{node} failed, response: %{resp}" msgstr "خطأ في تفعيل الموقع %{site} على %{node}، الاستجابة: %{resp}" -#: src/components/Notification/notifications.ts:22 +#: src/components/Notification/notifications.ts:128 #, fuzzy msgid "Restart Nginx on %{node} successfully" msgstr "تمت ترقية Nginx UI على %{node} بنجاح 🎉" -#: src/components/Notification/notifications.ts:17 +#: src/components/Notification/notifications.ts:123 #, fuzzy msgid "Restart Remote Nginx Error" msgstr "خطأ في إعادة تسمية الموقع البعيد" -#: src/components/Notification/notifications.ts:21 +#: src/components/Notification/notifications.ts:127 #, fuzzy msgid "Restart Remote Nginx Success" msgstr "تم إعادة تسمية الموقع البعيد بنجاح" @@ -3409,7 +3524,7 @@ msgstr "يعمل" #: src/components/StdDesign/StdDetail/StdDetail.vue:93 #: src/views/certificate/components/CertificateEditor.vue:264 #: src/views/config/components/ConfigName.vue:59 -#: src/views/config/ConfigEditor.vue:271 +#: src/views/config/ConfigEditor.vue:277 #: src/views/preference/components/Passkey.vue:130 #: src/views/preference/Preference.vue:229 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:127 @@ -3429,42 +3544,40 @@ msgstr "حفظ التوجيه" msgid "Save error %{msg}" msgstr "خطأ في الحفظ %{msg}" -#: src/components/Notification/notifications.ts:123 -#: src/language/constants.ts:48 +#: src/components/Notification/notifications.ts:57 src/language/constants.ts:48 msgid "Save Remote Site Error" msgstr "خطأ في حفظ الموقع البعيد" -#: src/components/Notification/notifications.ts:127 -#: src/language/constants.ts:47 +#: src/components/Notification/notifications.ts:61 src/language/constants.ts:47 msgid "Save Remote Site Success" msgstr "حفظ الموقع البعيد بنجاح" -#: src/components/Notification/notifications.ts:165 +#: src/components/Notification/notifications.ts:99 #, fuzzy msgid "Save Remote Stream Error" msgstr "خطأ في حفظ الموقع البعيد" -#: src/components/Notification/notifications.ts:169 +#: src/components/Notification/notifications.ts:103 #, fuzzy msgid "Save Remote Stream Success" msgstr "حفظ الموقع البعيد بنجاح" -#: src/components/Notification/notifications.ts:124 +#: src/components/Notification/notifications.ts:58 #, fuzzy msgid "Save site %{name} to %{node} failed" msgstr "تم حفظ الموقع %{site} إلى %{node} بنجاح" -#: src/components/Notification/notifications.ts:128 +#: src/components/Notification/notifications.ts:62 #, fuzzy msgid "Save site %{name} to %{node} successfully" msgstr "تم حفظ الموقع %{site} إلى %{node} بنجاح" -#: src/components/Notification/notifications.ts:166 +#: src/components/Notification/notifications.ts:100 #, fuzzy msgid "Save stream %{name} to %{node} failed" msgstr "فشل نشر {conf_name}% إلى {node_name}%" -#: src/components/Notification/notifications.ts:170 +#: src/components/Notification/notifications.ts:104 #, fuzzy msgid "Save stream %{name} to %{node} successfully" msgstr "تم حفظ الموقع %{site} إلى %{node} بنجاح" @@ -3476,7 +3589,7 @@ msgstr "تم حفظ الموقع %{site} إلى %{node} بنجاح" msgid "Save successfully" msgstr "تم الحفظ بنجاح" -#: src/views/config/ConfigEditor.vue:191 +#: src/views/config/ConfigEditor.vue:194 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/site/site_add/SiteAdd.vue:37 #: src/views/site/site_edit/SiteEdit.vue:157 @@ -3492,6 +3605,10 @@ msgstr "امسح رمز الاستجابة السريعة بهاتفك المح msgid "SDK" msgstr "حزمة تطوير البرمجيات SDK" +#: src/views/dashboard/components/PerformanceOptimization.vue:216 +msgid "seconds" +msgstr "" + #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "تم نسخ السر" @@ -3532,6 +3649,14 @@ msgstr "معلومات الخادم" msgid "Server Info" msgstr "معلومات الخادم" +#: src/views/dashboard/components/PerformanceOptimization.vue:277 +msgid "Server Names Hash Bucket Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:278 +msgid "Server names hash table size" +msgstr "" + #: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "اسم_الخادم غير موجود في التوجيهات" @@ -3789,38 +3914,42 @@ msgstr "مزامنة" msgid "Sync Certificate" msgstr "مزامنة الشهادة" -#: src/components/Notification/notifications.ts:48 +#: src/components/Notification/notifications.ts:154 #, fuzzy msgid "Sync Certificate %{cert_name} to %{env_name} failed" msgstr "نجح مزامنة الشهادة %{cert_name} إلى %{env_name}" -#: src/components/Notification/notifications.ts:52 +#: src/components/Notification/notifications.ts:158 msgid "Sync Certificate %{cert_name} to %{env_name} successfully" msgstr "نجح مزامنة الشهادة %{cert_name} إلى %{env_name}" -#: src/components/Notification/notifications.ts:47 src/language/constants.ts:39 +#: src/components/Notification/notifications.ts:153 +#: src/language/constants.ts:39 msgid "Sync Certificate Error" msgstr "خطأ في مزامنة الشهادة" -#: src/components/Notification/notifications.ts:51 src/language/constants.ts:38 +#: src/components/Notification/notifications.ts:157 +#: src/language/constants.ts:38 msgid "Sync Certificate Success" msgstr "تمت مزامنة الشهادة بنجاح" -#: src/components/Notification/notifications.ts:58 +#: src/components/Notification/notifications.ts:164 #, fuzzy msgid "Sync config %{config_name} to %{env_name} failed" msgstr "تمت مزامنة التكوين %{config_name} إلى %{env_name} بنجاح" -#: src/components/Notification/notifications.ts:62 +#: src/components/Notification/notifications.ts:168 #, fuzzy msgid "Sync config %{config_name} to %{env_name} successfully" msgstr "تمت مزامنة التكوين %{config_name} إلى %{env_name} بنجاح" -#: src/components/Notification/notifications.ts:57 src/language/constants.ts:45 +#: src/components/Notification/notifications.ts:163 +#: src/language/constants.ts:45 msgid "Sync Config Error" msgstr "خطأ في تزامن التكوين" -#: src/components/Notification/notifications.ts:61 src/language/constants.ts:44 +#: src/components/Notification/notifications.ts:167 +#: src/language/constants.ts:44 msgid "Sync Config Success" msgstr "تمت مزامنة التكوين بنجاح" @@ -3990,11 +4119,11 @@ msgstr "عنوان URL غير صالح." msgid "The username or password is incorrect" msgstr "اسم المستخدم أو كلمة المرور غير صحيحة" -#: src/views/dashboard/components/PerformanceTablesCard.vue:185 +#: src/views/dashboard/components/PerformanceTablesCard.vue:184 msgid "Theoretical maximum concurrent connections:" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:189 +#: src/views/dashboard/components/PerformanceTablesCard.vue:188 msgid "Theoretical maximum RPS (Requests Per Second):" msgstr "" @@ -4037,7 +4166,7 @@ msgid "" "This field should only contain letters, unicode characters, numbers, and -_." msgstr "يجب أن يحتوي هذا الحقل على حروف وأحرف يونيكود وأرقام و-_. فقط." -#: src/views/dashboard/NginxDashBoard.vue:152 +#: src/views/dashboard/NginxDashBoard.vue:153 msgid "" "This module provides Nginx request statistics, connection count, etc. data. " "After enabling it, you can view performance statistics" @@ -4088,7 +4217,7 @@ msgstr "كبح" msgid "Tips" msgstr "نصائح" -#: src/views/dashboard/components/PerformanceTablesCard.vue:207 +#: src/views/dashboard/components/PerformanceTablesCard.vue:206 msgid "" "Tips: You can increase the concurrency processing capacity by increasing " "worker_processes or worker_connections" @@ -4141,7 +4270,7 @@ msgstr "" "نهاية API متوافقة مع OpenAI، لذا قم فقط بتعيين baseUrl إلىAPI المحلية الخاصة " "بك." -#: src/views/dashboard/NginxDashBoard.vue:56 +#: src/views/dashboard/NginxDashBoard.vue:57 #, fuzzy msgid "Toggle failed" msgstr "فشل التفعيل" @@ -4161,12 +4290,12 @@ msgstr[4] "" msgstr[5] "" #: src/composables/usePerformanceMetrics.ts:96 -#: src/views/dashboard/components/PerformanceTablesCard.vue:54 +#: src/views/dashboard/components/PerformanceTablesCard.vue:53 msgid "Total connections" msgstr "" #: src/composables/usePerformanceMetrics.ts:91 -#: src/views/dashboard/components/PerformanceTablesCard.vue:49 +#: src/views/dashboard/components/PerformanceTablesCard.vue:48 msgid "Total handshakes" msgstr "" @@ -4179,7 +4308,7 @@ msgid "Total Nginx Processes" msgstr "" #: src/composables/usePerformanceMetrics.ts:101 -#: src/views/dashboard/components/PerformanceTablesCard.vue:59 +#: src/views/dashboard/components/PerformanceTablesCard.vue:58 msgid "Total requests" msgstr "" @@ -4228,7 +4357,7 @@ msgstr "تم التحديث بنجاح" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:325 +#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:331 #: src/views/environments/group/columns.ts:37 #: src/views/environments/list/envColumns.tsx:90 #: src/views/site/site_edit/RightSettings.vue:75 @@ -4309,7 +4438,7 @@ msgstr "اسم المستخدم (*)" msgid "Valid" msgstr "صالح" -#: src/views/dashboard/components/PerformanceTablesCard.vue:22 +#: src/views/dashboard/components/PerformanceTablesCard.vue:21 msgid "Value" msgstr "" @@ -4351,7 +4480,7 @@ msgid "Viewed" msgstr "عرض" #: src/composables/usePerformanceMetrics.ts:116 -#: src/views/dashboard/components/PerformanceTablesCard.vue:74 +#: src/views/dashboard/components/PerformanceTablesCard.vue:73 msgid "Waiting processes" msgstr "" @@ -4431,8 +4560,14 @@ msgid "" "codes." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#, fuzzy +msgid "Worker Connections" +msgstr "الإصدار الحالي" + #: src/composables/usePerformanceMetrics.ts:57 -#: src/views/dashboard/components/ConnectionMetricsCard.vue:49 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:48 +#: src/views/dashboard/components/PerformanceOptimization.vue:172 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" diff --git a/app/src/language/de_DE/app.po b/app/src/language/de_DE/app.po index 8b644dff..f72f80da 100644 --- a/app/src/language/de_DE/app.po +++ b/app/src/language/de_DE/app.po @@ -52,7 +52,7 @@ msgid "Action" msgstr "Aktion" #: src/composables/usePerformanceMetrics.ts:86 -#: src/views/dashboard/components/PerformanceTablesCard.vue:44 +#: src/views/dashboard/components/PerformanceTablesCard.vue:43 msgid "Active connections" msgstr "" @@ -75,8 +75,8 @@ msgstr "Hinzufügen" msgid "Add a passkey" msgstr "Passkey hinzufügen" -#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:168 -#: src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:246 #, fuzzy msgid "Add Configuration" msgstr "Konfiguration bearbeiten" @@ -125,7 +125,7 @@ msgstr "" msgid "All" msgstr "Alle" -#: src/components/Notification/notifications.ts:175 +#: src/components/Notification/notifications.ts:109 #: src/language/constants.ts:58 msgid "All Recovery Codes Have Been Used" msgstr "" @@ -284,7 +284,12 @@ msgstr "Authentifizierungseinstellungen" msgid "Author" msgstr "Autor" -#: src/views/dashboard/components/PerformanceTablesCard.vue:201 +#: src/views/dashboard/components/PerformanceOptimization.vue:178 +#: src/views/dashboard/components/PerformanceOptimization.vue:189 +msgid "Auto" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:200 msgid "auto = CPU cores" msgstr "" @@ -309,7 +314,7 @@ msgid "Automatically indexed from site and stream configurations." msgstr "" #: src/views/certificate/components/CertificateEditor.vue:257 -#: src/views/config/ConfigEditor.vue:262 src/views/config/ConfigList.vue:112 +#: src/views/config/ConfigEditor.vue:268 src/views/config/ConfigList.vue:112 #: src/views/config/ConfigList.vue:195 src/views/nginx_log/NginxLog.vue:173 #: src/views/site/site_edit/SiteEdit.vue:285 #: src/views/stream/StreamEdit.vue:264 @@ -364,7 +369,7 @@ msgstr "" msgid "Base information" msgstr "Basisinformationen" -#: src/views/config/ConfigEditor.vue:290 +#: src/views/config/ConfigEditor.vue:296 #: src/views/site/site_edit/RightSettings.vue:52 #: src/views/stream/components/RightSettings.vue:79 #, fuzzy @@ -409,7 +414,7 @@ msgid "CA Dir" msgstr "CA-Verzeichnis" #: src/composables/usePerformanceMetrics.ts:141 -#: src/views/dashboard/components/PerformanceTablesCard.vue:95 +#: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" @@ -423,7 +428,7 @@ msgid "CADir" msgstr "CA-Verzeichnis" #: src/views/dashboard/components/PerformanceStatisticsCard.vue:43 -#: src/views/dashboard/components/PerformanceTablesCard.vue:191 +#: src/views/dashboard/components/PerformanceTablesCard.vue:190 msgid "" "Calculated based on worker_processes * worker_connections. Actual " "performance depends on hardware, configuration, and workload" @@ -453,7 +458,7 @@ msgstr "Verhindere das Ändern des Root-Passworts in der Demo" msgid "Cannot compare: Missing content" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:132 msgid "Cannot get performance data in this state" msgstr "" @@ -470,18 +475,18 @@ msgstr "Zertifikat" msgid "Cert path is not under the nginx conf dir" msgstr "" -#: src/components/Notification/notifications.ts:28 +#: src/components/Notification/notifications.ts:134 #, fuzzy msgid "Certificate %{name} has expired" msgstr "Konfigurationen" -#: src/components/Notification/notifications.ts:32 -#: src/components/Notification/notifications.ts:36 -#: src/components/Notification/notifications.ts:40 +#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:146 msgid "Certificate %{name} will expire in %{days} days" msgstr "" -#: src/components/Notification/notifications.ts:44 +#: src/components/Notification/notifications.ts:150 msgid "Certificate %{name} will expire in 1 day" msgstr "" @@ -490,19 +495,19 @@ msgstr "" msgid "Certificate decode error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:31 +#: src/components/Notification/notifications.ts:137 #, fuzzy msgid "Certificate Expiration Notice" msgstr "Konfigurationen" -#: src/components/Notification/notifications.ts:27 +#: src/components/Notification/notifications.ts:133 #, fuzzy msgid "Certificate Expired" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:35 -#: src/components/Notification/notifications.ts:39 -#: src/components/Notification/notifications.ts:43 +#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:149 #, fuzzy msgid "Certificate Expiring Soon" msgstr "Certificate has expired" @@ -569,7 +574,7 @@ msgid_plural "Changed Certificates" msgstr[0] "Zertifikat ist gültig" msgstr[1] "Zertifikat ist gültig" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 #, fuzzy msgid "Changed Path" msgstr "Zertifikat ist gültig" @@ -642,6 +647,26 @@ msgstr "" msgid "Click to copy" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:307 +msgid "Client Body Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:289 +msgid "Client Header Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:259 +msgid "Client Max Body Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:308 +msgid "Client request body buffer size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:290 +msgid "Client request header buffer size" +msgstr "" + #: src/components/ConfigHistory/ConfigHistory.vue:169 msgid "Close" msgstr "" @@ -675,6 +700,10 @@ msgstr "" msgid "Compare with Current" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:248 +msgid "Compression level, 1 is lowest, 9 is highest" +msgstr "" + #: src/constants/errors/backup.ts:14 #, fuzzy msgid "Config path is empty" @@ -694,7 +723,7 @@ msgstr "Konfigurationsdatei erfolgreich getestet" msgid "Configuration History" msgstr "Konfigurationen" -#: src/views/dashboard/components/PerformanceTablesCard.vue:168 +#: src/views/dashboard/components/PerformanceTablesCard.vue:167 #, fuzzy msgid "Configuration information" msgstr "Konfigurationen" @@ -715,7 +744,7 @@ msgstr "SSL konfigurieren" msgid "Connected" msgstr "Verbunden" -#: src/views/dashboard/NginxDashBoard.vue:84 +#: src/views/dashboard/NginxDashBoard.vue:85 msgid "Connection error, trying to reconnect..." msgstr "" @@ -723,6 +752,10 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "Ver" +#: src/views/dashboard/components/PerformanceOptimization.vue:207 +msgid "Connection timeout period" +msgstr "" + #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:118 #: src/views/site/ngx_conf/LocationEditor.vue:115 #: src/views/site/ngx_conf/LocationEditor.vue:143 @@ -833,7 +866,7 @@ msgstr "Aktuelles Konto ist TOTP aktiviert." msgid "Current account is not enabled TOTP." msgstr "Aktuelles Konto ist nicht TOTP aktiviert." -#: src/views/dashboard/components/ConnectionMetricsCard.vue:28 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:27 msgid "Current active connections" msgstr "" @@ -863,8 +896,8 @@ msgid "" msgstr "" "Name des lokalen Knotens anpassen, der im Umgebungsindikator angezeigt wird." -#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:107 -#: src/views/config/ConfigEditor.vue:158 src/views/config/ConfigList.vue:67 +#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:110 +#: src/views/config/ConfigEditor.vue:161 src/views/config/ConfigList.vue:67 msgid "Dashboard" msgstr "Übersicht" @@ -901,32 +934,32 @@ msgstr "Zertifikat ist gültig" msgid "Delete Permanently" msgstr "Permanent löschen" -#: src/components/Notification/notifications.ts:75 src/language/constants.ts:50 +#: src/components/Notification/notifications.ts:9 src/language/constants.ts:50 #, fuzzy msgid "Delete Remote Site Error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:79 src/language/constants.ts:49 +#: src/components/Notification/notifications.ts:13 src/language/constants.ts:49 #, fuzzy msgid "Delete Remote Site Success" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:133 +#: src/components/Notification/notifications.ts:67 #, fuzzy msgid "Delete Remote Stream Error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:137 +#: src/components/Notification/notifications.ts:71 #, fuzzy msgid "Delete Remote Stream Success" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:76 +#: src/components/Notification/notifications.ts:10 #, fuzzy msgid "Delete site %{name} from %{node} failed" msgstr "Ausführen von %{conf_name} auf %{node_name} fehlgeschlagen" -#: src/components/Notification/notifications.ts:80 +#: src/components/Notification/notifications.ts:14 #, fuzzy msgid "Delete site %{name} from %{node} successfully" msgstr "Speichern erfolgreich" @@ -935,12 +968,12 @@ msgstr "Speichern erfolgreich" msgid "Delete site: %{site_name}" msgstr "Seite löschen: %{site_name}" -#: src/components/Notification/notifications.ts:134 +#: src/components/Notification/notifications.ts:68 #, fuzzy msgid "Delete stream %{name} from %{node} failed" msgstr "Ausführen von %{conf_name} auf %{node_name} fehlgeschlagen" -#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:72 #, fuzzy msgid "Delete stream %{name} from %{node} successfully" msgstr "Speichern erfolgreich" @@ -958,7 +991,7 @@ msgstr "Erfolgreich deaktiviert" msgid "Demo" msgstr "" -#: src/views/config/ConfigEditor.vue:334 +#: src/views/config/ConfigEditor.vue:340 msgid "Deploy" msgstr "Ausführen" @@ -1017,62 +1050,62 @@ msgstr "Deaktiviert" msgid "Disable auto-renewal failed for %{name}" msgstr "Automatische Verlängerung deaktiviert für %{name}" -#: src/components/Notification/notifications.ts:83 src/language/constants.ts:52 +#: src/components/Notification/notifications.ts:17 src/language/constants.ts:52 #, fuzzy msgid "Disable Remote Site Error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:107 +#: src/components/Notification/notifications.ts:41 #, fuzzy msgid "Disable Remote Site Maintenance Error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:111 +#: src/components/Notification/notifications.ts:45 #, fuzzy msgid "Disable Remote Site Maintenance Success" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:87 src/language/constants.ts:51 +#: src/components/Notification/notifications.ts:21 src/language/constants.ts:51 #, fuzzy msgid "Disable Remote Site Success" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:75 #, fuzzy msgid "Disable Remote Stream Error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:79 #, fuzzy msgid "Disable Remote Stream Success" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:84 +#: src/components/Notification/notifications.ts:18 #, fuzzy msgid "Disable site %{name} from %{node} failed" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:88 +#: src/components/Notification/notifications.ts:22 #, fuzzy msgid "Disable site %{name} from %{node} successfully" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:108 +#: src/components/Notification/notifications.ts:42 #, fuzzy msgid "Disable site %{name} maintenance on %{node} failed" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:112 +#: src/components/Notification/notifications.ts:46 #, fuzzy msgid "Disable site %{name} maintenance on %{node} successfully" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:76 #, fuzzy msgid "Disable stream %{name} from %{node} failed" msgstr "Aktivieren von %{conf_name} in %{node_name} fehlgeschlagen" -#: src/components/Notification/notifications.ts:146 +#: src/components/Notification/notifications.ts:80 #, fuzzy msgid "Disable stream %{name} from %{node} successfully" msgstr "Speichern erfolgreich" @@ -1216,7 +1249,7 @@ msgstr "Bearbeiten %{n}" msgid "Edit %{n}" msgstr "Bearbeiten %{n}" -#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:246 msgid "Edit Configuration" msgstr "Konfiguration bearbeiten" @@ -1258,6 +1291,10 @@ msgstr "Aktivieren erfolgreich" msgid "Enable auto-renewal failed for %{name}" msgstr "Aktiviere automatische Verlängerung fehlgeschlagen für %{name}" +#: src/views/dashboard/components/PerformanceOptimization.vue:222 +msgid "Enable compression for content transfer" +msgstr "" + #: src/views/site/site_add/SiteAdd.vue:43 msgid "Enable failed" msgstr "Aktivieren fehlgeschlagen" @@ -1267,67 +1304,67 @@ msgstr "Aktivieren fehlgeschlagen" msgid "Enable HTTPS" msgstr "Aktiviere TLS" -#: src/components/Notification/notifications.ts:91 src/language/constants.ts:54 +#: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 #, fuzzy msgid "Enable Remote Site Error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:99 +#: src/components/Notification/notifications.ts:33 #, fuzzy msgid "Enable Remote Site Maintenance Error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:103 +#: src/components/Notification/notifications.ts:37 #, fuzzy msgid "Enable Remote Site Maintenance Success" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:95 src/language/constants.ts:53 +#: src/components/Notification/notifications.ts:29 src/language/constants.ts:53 #, fuzzy msgid "Enable Remote Site Success" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:149 +#: src/components/Notification/notifications.ts:83 #, fuzzy msgid "Enable Remote Stream Error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:153 +#: src/components/Notification/notifications.ts:87 #, fuzzy msgid "Enable Remote Stream Success" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:100 +#: src/components/Notification/notifications.ts:34 #, fuzzy msgid "Enable site %{name} maintenance on %{node} failed" msgstr "Aktivieren von %{conf_name} in %{node_name} fehlgeschlagen" -#: src/components/Notification/notifications.ts:104 +#: src/components/Notification/notifications.ts:38 #, fuzzy msgid "Enable site %{name} maintenance on %{node} successfully" msgstr "Erfolgreich gespeichert" -#: src/components/Notification/notifications.ts:92 +#: src/components/Notification/notifications.ts:26 #, fuzzy msgid "Enable site %{name} on %{node} failed" msgstr "Aktivieren von %{conf_name} in %{node_name} fehlgeschlagen" -#: src/components/Notification/notifications.ts:96 +#: src/components/Notification/notifications.ts:30 #, fuzzy msgid "Enable site %{name} on %{node} successfully" msgstr "Erfolgreich gespeichert" -#: src/components/Notification/notifications.ts:150 +#: src/components/Notification/notifications.ts:84 #, fuzzy msgid "Enable stream %{name} on %{node} failed" msgstr "Aktivieren von %{conf_name} in %{node_name} fehlgeschlagen" -#: src/components/Notification/notifications.ts:154 +#: src/components/Notification/notifications.ts:88 #, fuzzy msgid "Enable stream %{name} on %{node} successfully" msgstr "Erfolgreich gespeichert" -#: src/views/dashboard/NginxDashBoard.vue:149 +#: src/views/dashboard/NginxDashBoard.vue:150 msgid "Enable stub_status module" msgstr "" @@ -1630,6 +1667,11 @@ msgstr "Fehler beim Abrufen von Zertifikatsinformationen" msgid "Failed to get certificate information" msgstr "Fehler beim Abrufen von Zertifikatsinformationen" +#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#, fuzzy +msgid "Failed to get Nginx performance settings" +msgstr "Fehler beim Abrufen von Zertifikatsinformationen" + #: src/composables/useNginxPerformance.ts:49 #, fuzzy msgid "Failed to get performance data" @@ -1694,6 +1736,11 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "Zertifikat ist gültig" +#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#, fuzzy +msgid "Failed to save Nginx performance settings" +msgstr "Fehler beim Abrufen von Zertifikatsinformationen" + #: src/views/site/site_edit/SiteEdit.vue:139 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." @@ -1763,16 +1810,16 @@ msgstr "Für chinesische Benutzer: https://mirror.ghproxy.com/" msgid "Form parse failed" msgstr "Anlegen fehlgeschlagen" -#: src/views/config/ConfigEditor.vue:265 +#: src/views/config/ConfigEditor.vue:271 msgid "Format Code" msgstr "Formatcode" -#: src/views/config/ConfigEditor.vue:213 +#: src/views/config/ConfigEditor.vue:218 #, fuzzy msgid "Format error %{msg}" msgstr "Fehler beim Speichern %{msg}" -#: src/views/config/ConfigEditor.vue:211 +#: src/views/config/ConfigEditor.vue:216 #, fuzzy msgid "Format successfully" msgstr "Speichern erfolgreich" @@ -1806,7 +1853,7 @@ msgstr "Speichern erfolgreich" msgid "Generating private key for registering account" msgstr "Generiere privaten Schlüssel zur Registrierung des Kontos" -#: src/views/dashboard/NginxDashBoard.vue:140 +#: src/views/dashboard/NginxDashBoard.vue:141 #, fuzzy msgid "Get data failed" msgstr "Aktivieren fehlgeschlagen" @@ -1825,6 +1872,18 @@ msgstr "Hole das Zertifikat, bitte warten..." msgid "Github Proxy" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:221 +msgid "GZIP Compression" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:247 +msgid "GZIP Compression Level" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:233 +msgid "GZIP Min Length" +msgstr "" + #: src/constants/errors/backup.ts:59 msgid "Hash verification failed: file integrity compromised" msgstr "" @@ -1837,7 +1896,7 @@ msgstr "Verstecken" msgid "Higher value means better connection reuse" msgstr "" -#: src/views/config/ConfigEditor.vue:251 +#: src/views/config/ConfigEditor.vue:256 #: src/views/site/site_edit/SiteEdit.vue:212 #: src/views/stream/StreamEdit.vue:195 msgid "History" @@ -1939,7 +1998,7 @@ msgstr "" msgid "Indexing..." msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:16 +#: src/views/dashboard/components/PerformanceTablesCard.vue:15 msgid "Indicator" msgstr "" @@ -2015,7 +2074,7 @@ msgid "Invalid file path: {0}" msgstr "Ungültige E-Mail!" #: src/views/config/components/Rename.vue:66 -#: src/views/config/ConfigEditor.vue:299 +#: src/views/config/ConfigEditor.vue:305 #, fuzzy msgid "Invalid filename" msgstr "Ungültige E-Mail!" @@ -2083,12 +2142,20 @@ msgstr "Aussteller: %{issuer}" msgid "Jwt Secret" msgstr "Jwt-Secret" +#: src/views/dashboard/components/PerformanceOptimization.vue:242 +msgid "KB" +msgstr "" + #: src/views/preference/components/RecoveryCodes.vue:74 msgid "" "Keep your recovery codes as safe as your password. We recommend saving them " "with a password manager." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:206 +msgid "Keepalive Timeout" +msgstr "" + #: src/views/certificate/CertificateList/certColumns.tsx:59 #: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" @@ -2111,7 +2178,7 @@ msgstr "Benutzerdefiniert" msgid "Last checked at" msgstr "Zuletzt überprüft am" -#: src/views/dashboard/NginxDashBoard.vue:115 +#: src/views/dashboard/NginxDashBoard.vue:116 #, fuzzy msgid "Last update" msgstr "Erstellt am" @@ -2181,7 +2248,7 @@ msgstr "Aus Einstellungen laden" msgid "Load successfully" msgstr "Speichern erfolgreich" -#: src/views/dashboard/NginxDashBoard.vue:177 +#: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2266,8 +2333,8 @@ msgstr "" "zum HTTPChallengePort (Standard: 9180) konfiguriert hast, bevor du das " "Zertifikat erhältst." -#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:112 -#: src/views/config/ConfigEditor.vue:163 src/views/config/ConfigList.vue:72 +#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:115 +#: src/views/config/ConfigEditor.vue:166 src/views/config/ConfigList.vue:72 msgid "Manage Configs" msgstr "Verwalte Konfigurationen" @@ -2289,7 +2356,11 @@ msgstr "Verwalte Benutzer" msgid "Managed Certificate" msgstr "Zertifikat ist gültig" -#: src/views/dashboard/components/PerformanceTablesCard.vue:202 +#: src/views/dashboard/components/PerformanceOptimization.vue:179 +msgid "Manual" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:201 msgid "manually set" msgstr "" @@ -2298,7 +2369,7 @@ msgid "Master" msgstr "" #: src/composables/usePerformanceMetrics.ts:136 -#: src/views/dashboard/components/PerformanceTablesCard.vue:90 +#: src/views/dashboard/components/PerformanceTablesCard.vue:89 msgid "Master process" msgstr "" @@ -2320,12 +2391,21 @@ msgstr "Aktuelle Version" msgid "Max Requests Per Second" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:260 +msgid "Maximum client request body size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#, fuzzy +msgid "Maximum number of concurrent connections" +msgstr "Aktuelle Version" + #: src/composables/usePerformanceMetrics.ts:176 -#: src/views/dashboard/components/PerformanceTablesCard.vue:126 +#: src/views/dashboard/components/PerformanceTablesCard.vue:125 msgid "Maximum number of connections per worker process" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:196 +#: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2342,6 +2422,10 @@ msgstr "Arbeitsspeicher und Speicher" msgid "Memory Usage (RSS)" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:234 +msgid "Minimum file size for compression" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "Minuten" @@ -2388,7 +2472,7 @@ msgstr "Einzelne Anweisung" #: src/views/certificate/components/CertificateEditor.vue:162 #: src/views/certificate/DNSCredential.vue:11 #: src/views/config/components/Mkdir.vue:64 -#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:305 +#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:311 #: src/views/environments/group/columns.ts:8 #: src/views/environments/list/envColumns.tsx:9 #: src/views/nginx_log/NginxLogList.vue:37 @@ -2403,7 +2487,7 @@ msgstr "Einzelne Anweisung" msgid "Name" msgstr "Name" -#: src/views/dashboard/NginxDashBoard.vue:172 +#: src/views/dashboard/NginxDashBoard.vue:173 msgid "Need to enable the stub_status module" msgstr "" @@ -2433,7 +2517,7 @@ msgstr "Installieren" msgid "New name" msgstr "Benutzername" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 #, fuzzy msgid "New Path" msgstr "Pfad" @@ -2477,6 +2561,11 @@ msgstr "" msgid "Nginx conf no stream block" msgstr "" +#: src/constants/errors/self_check.ts:14 +#, fuzzy +msgid "Nginx conf not include conf.d directory" +msgstr "Beffehl zum Neustarten von Nginx" + #: src/constants/errors/self_check.ts:6 msgid "Nginx conf not include sites-enabled" msgstr "" @@ -2516,7 +2605,7 @@ msgid "Nginx Control" msgstr "Nginx-Steuerung" #: src/composables/usePerformanceMetrics.ts:151 -#: src/views/dashboard/components/PerformanceTablesCard.vue:105 +#: src/views/dashboard/components/PerformanceTablesCard.vue:104 msgid "Nginx CPU usage rate" msgstr "" @@ -2525,14 +2614,14 @@ msgid "Nginx Error Log Path" msgstr "Nginx Fehlerlog-Pfad" #: src/composables/useNginxPerformance.ts:43 -#: src/views/dashboard/NginxDashBoard.vue:111 -#: src/views/dashboard/NginxDashBoard.vue:130 -#: src/views/dashboard/NginxDashBoard.vue:79 +#: src/views/dashboard/NginxDashBoard.vue:112 +#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:80 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15 msgid "Nginx is not running" msgstr "Nginx läuft nicht" -#: src/views/dashboard/NginxDashBoard.vue:111 +#: src/views/dashboard/NginxDashBoard.vue:112 #, fuzzy msgid "Nginx is running" msgstr "Nginx läuft nicht" @@ -2546,7 +2635,7 @@ msgid "Nginx Log Directory Whitelist" msgstr "Nginx-Log-Verzeichnis-Whitelist" #: src/composables/usePerformanceMetrics.ts:156 -#: src/views/dashboard/components/PerformanceTablesCard.vue:110 +#: src/views/dashboard/components/PerformanceTablesCard.vue:109 msgid "Nginx Memory usage" msgstr "" @@ -2585,7 +2674,7 @@ msgstr "Speichern erfolgreich" msgid "Nginx Test Config Command" msgstr "Beffehl zum Neustarten von Nginx" -#: src/views/dashboard/components/PerformanceTablesCard.vue:181 +#: src/views/dashboard/components/PerformanceTablesCard.vue:180 msgid "Nginx theoretical maximum performance" msgstr "" @@ -2631,7 +2720,7 @@ msgstr "Nein" msgid "No Action" msgstr "Aktion" -#: src/views/dashboard/NginxDashBoard.vue:179 +#: src/views/dashboard/NginxDashBoard.vue:180 msgid "No data" msgstr "" @@ -2715,10 +2804,14 @@ msgstr "Zertifikat ist gültig" msgid "Notifier not found" msgstr "File Not Found" +#: src/views/dashboard/components/PerformanceOptimization.vue:173 +msgid "Number of concurrent worker processes, auto sets to CPU core count" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:131 #: src/composables/usePerformanceMetrics.ts:171 -#: src/views/dashboard/components/PerformanceTablesCard.vue:121 -#: src/views/dashboard/components/PerformanceTablesCard.vue:85 +#: src/views/dashboard/components/PerformanceTablesCard.vue:120 +#: src/views/dashboard/components/PerformanceTablesCard.vue:84 msgid "Number of worker processes" msgstr "" @@ -2743,6 +2836,11 @@ msgstr "" "OCSP Must Staple kann bei einigen Benutzern beim ersten Zugriff mit Firefox " "Fehler verursachen." +#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#, fuzzy +msgid "Off" +msgstr "Offline" + #: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 @@ -2774,6 +2872,10 @@ msgstr "OK" msgid "OK" msgstr "OK" +#: src/views/dashboard/components/PerformanceOptimization.vue:226 +msgid "On" +msgstr "" + #: src/views/certificate/DNSCredential.vue:59 msgid "Once the verification is complete, the records will be removed." msgstr "" @@ -2795,6 +2897,14 @@ msgstr "" msgid "OpenAI" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:164 +msgid "Optimize Nginx Performance" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:158 +msgid "Optimize Performance" +msgstr "" + #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "Oder" @@ -2817,7 +2927,7 @@ msgid "OS:" msgstr "OS:" #: src/composables/usePerformanceMetrics.ts:146 -#: src/views/dashboard/components/PerformanceTablesCard.vue:100 +#: src/views/dashboard/components/PerformanceTablesCard.vue:99 msgid "Other Nginx processes" msgstr "" @@ -2835,11 +2945,11 @@ msgstr "" msgid "Otp or recovery code empty" msgstr "Benuzte Wiederherstellungscode" -#: src/views/config/ConfigEditor.vue:343 +#: src/views/config/ConfigEditor.vue:349 msgid "Overwrite" msgstr "Überschreiben" -#: src/views/config/ConfigEditor.vue:347 +#: src/views/config/ConfigEditor.vue:353 msgid "Overwrite exist file" msgstr "Zu überschreibende Datei existiert" @@ -2883,7 +2993,7 @@ msgstr "Benuztername oder Passwort ist falsch" msgid "Password length cannot exceed 20 characters" msgstr "Passwort darf nicht länger als 20 Zeichen sein" -#: src/views/config/ConfigEditor.vue:312 +#: src/views/config/ConfigEditor.vue:318 #: src/views/nginx_log/NginxLogList.vue:45 #: src/views/site/ngx_conf/LocationEditor.vue:109 #: src/views/site/ngx_conf/LocationEditor.vue:137 @@ -2906,10 +3016,15 @@ msgstr "Ausführen" msgid "Perform core upgrade error" msgstr "Führe Core-Upgrade-Fehler aus" -#: src/views/dashboard/NginxDashBoard.vue:184 +#: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#, fuzzy +msgid "Performance settings saved successfully" +msgstr "Erfolgreich deaktiviert" + #: src/language/constants.ts:28 msgid "Performing core upgrade" msgstr "Führe Core-Upgrade aus" @@ -2918,7 +3033,7 @@ msgstr "Führe Core-Upgrade aus" msgid "Plain text is empty" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:173 +#: src/views/dashboard/NginxDashBoard.vue:174 msgid "" "Please enable the stub_status module to get request statistics, connection " "count, etc." @@ -2967,7 +3082,7 @@ msgstr "" "Anmeldeinformationen hinzu und wähle dann eine der unten aufgeführten " "Anmeldeinformationen aus, um die API des DNS-Anbieters anzufordern." -#: src/components/Notification/notifications.ts:176 +#: src/components/Notification/notifications.ts:110 #: src/language/constants.ts:59 msgid "" "Please generate new recovery codes in the preferences immediately to prevent " @@ -2975,7 +3090,7 @@ msgid "" msgstr "" #: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:298 +#: src/views/config/ConfigEditor.vue:304 #, fuzzy msgid "Please input a filename" msgstr "Bitte Benutzernamen eingeben!" @@ -3082,7 +3197,7 @@ msgstr "Konfigurationen" msgid "Process Distribution" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:155 +#: src/views/dashboard/components/PerformanceTablesCard.vue:154 #, fuzzy msgid "Process information" msgstr "Basisinformationen" @@ -3112,7 +3227,7 @@ msgid "Public Security Number" msgstr "Öffentliche Sicherheitsnummer" #: src/composables/usePerformanceMetrics.ts:106 -#: src/views/dashboard/components/PerformanceTablesCard.vue:64 +#: src/views/dashboard/components/PerformanceTablesCard.vue:63 msgid "Read requests" msgstr "" @@ -3225,22 +3340,22 @@ msgstr "Neu laden" msgid "Reload Nginx" msgstr "Lade Nginx neu" -#: src/components/Notification/notifications.ts:10 +#: src/components/Notification/notifications.ts:116 #, fuzzy msgid "Reload Nginx on %{node} failed, response: %{resp}" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:14 +#: src/components/Notification/notifications.ts:120 #, fuzzy msgid "Reload Nginx on %{node} successfully" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:9 +#: src/components/Notification/notifications.ts:115 #, fuzzy msgid "Reload Remote Nginx Error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:13 +#: src/components/Notification/notifications.ts:119 #, fuzzy msgid "Reload Remote Nginx Success" msgstr "Zertifikat ist gültig" @@ -3282,64 +3397,64 @@ msgstr "Speichern erfolgreich" msgid "Rename" msgstr "Benuztername" -#: src/components/Notification/notifications.ts:66 +#: src/components/Notification/notifications.ts:172 #, fuzzy msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:70 +#: src/components/Notification/notifications.ts:176 #, fuzzy msgid "Rename %{orig_path} to %{new_path} on %{env_name} successfully" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:65 src/language/constants.ts:42 +#: src/components/Notification/notifications.ts:171 +#: src/language/constants.ts:42 #, fuzzy msgid "Rename Remote Config Error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:69 src/language/constants.ts:41 +#: src/components/Notification/notifications.ts:175 +#: src/language/constants.ts:41 #, fuzzy msgid "Rename Remote Config Success" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:115 -#: src/language/constants.ts:56 +#: src/components/Notification/notifications.ts:49 src/language/constants.ts:56 #, fuzzy msgid "Rename Remote Site Error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:119 -#: src/language/constants.ts:55 +#: src/components/Notification/notifications.ts:53 src/language/constants.ts:55 #, fuzzy msgid "Rename Remote Site Success" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:157 +#: src/components/Notification/notifications.ts:91 #, fuzzy msgid "Rename Remote Stream Error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:161 +#: src/components/Notification/notifications.ts:95 #, fuzzy msgid "Rename Remote Stream Success" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:116 +#: src/components/Notification/notifications.ts:50 #, fuzzy msgid "Rename site %{name} to %{new_name} on %{node} failed" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:120 +#: src/components/Notification/notifications.ts:54 #, fuzzy msgid "Rename site %{name} to %{new_name} on %{node} successfully" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:158 +#: src/components/Notification/notifications.ts:92 #, fuzzy msgid "Rename stream %{name} to %{new_name} on %{node} failed" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:162 +#: src/components/Notification/notifications.ts:96 #, fuzzy msgid "Rename stream %{name} to %{new_name} on %{node} successfully" msgstr "Speichern erfolgreich" @@ -3378,7 +3493,7 @@ msgstr "Zertifikat ist gültig" msgid "Renew successfully" msgstr "Aktivierung erfolgreich" -#: src/views/dashboard/components/PerformanceTablesCard.vue:142 +#: src/views/dashboard/components/PerformanceTablesCard.vue:141 #, fuzzy msgid "Request statistics" msgstr "Netzwerkstatistiken" @@ -3411,7 +3526,7 @@ msgid "" msgstr "" #: src/composables/usePerformanceMetrics.ts:111 -#: src/views/dashboard/components/PerformanceTablesCard.vue:69 +#: src/views/dashboard/components/PerformanceTablesCard.vue:68 msgid "Responses" msgstr "" @@ -3426,22 +3541,22 @@ msgstr "Neustart" msgid "Restart Nginx" msgstr "Starte neu" -#: src/components/Notification/notifications.ts:18 +#: src/components/Notification/notifications.ts:124 #, fuzzy msgid "Restart Nginx on %{node} failed, response: %{resp}" msgstr "Erfolgreich gespeichert" -#: src/components/Notification/notifications.ts:22 +#: src/components/Notification/notifications.ts:128 #, fuzzy msgid "Restart Nginx on %{node} successfully" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:17 +#: src/components/Notification/notifications.ts:123 #, fuzzy msgid "Restart Remote Nginx Error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:21 +#: src/components/Notification/notifications.ts:127 #, fuzzy msgid "Restart Remote Nginx Success" msgstr "Zertifikat ist gültig" @@ -3528,7 +3643,7 @@ msgstr "Arbeite" #: src/components/StdDesign/StdDetail/StdDetail.vue:93 #: src/views/certificate/components/CertificateEditor.vue:264 #: src/views/config/components/ConfigName.vue:59 -#: src/views/config/ConfigEditor.vue:271 +#: src/views/config/ConfigEditor.vue:277 #: src/views/preference/components/Passkey.vue:130 #: src/views/preference/Preference.vue:229 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:127 @@ -3548,44 +3663,42 @@ msgstr "Anweisung speichern" msgid "Save error %{msg}" msgstr "Fehler beim Speichern %{msg}" -#: src/components/Notification/notifications.ts:123 -#: src/language/constants.ts:48 +#: src/components/Notification/notifications.ts:57 src/language/constants.ts:48 #, fuzzy msgid "Save Remote Site Error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:127 -#: src/language/constants.ts:47 +#: src/components/Notification/notifications.ts:61 src/language/constants.ts:47 #, fuzzy msgid "Save Remote Site Success" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:165 +#: src/components/Notification/notifications.ts:99 #, fuzzy msgid "Save Remote Stream Error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:169 +#: src/components/Notification/notifications.ts:103 #, fuzzy msgid "Save Remote Stream Success" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:124 +#: src/components/Notification/notifications.ts:58 #, fuzzy msgid "Save site %{name} to %{node} failed" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:128 +#: src/components/Notification/notifications.ts:62 #, fuzzy msgid "Save site %{name} to %{node} successfully" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:166 +#: src/components/Notification/notifications.ts:100 #, fuzzy msgid "Save stream %{name} to %{node} failed" msgstr "Ausführen von %{conf_name} auf %{node_name} fehlgeschlagen" -#: src/components/Notification/notifications.ts:170 +#: src/components/Notification/notifications.ts:104 #, fuzzy msgid "Save stream %{name} to %{node} successfully" msgstr "Speichern erfolgreich" @@ -3598,7 +3711,7 @@ msgstr "Speichern erfolgreich" msgid "Save successfully" msgstr "Speichern erfolgreich" -#: src/views/config/ConfigEditor.vue:191 +#: src/views/config/ConfigEditor.vue:194 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/site/site_add/SiteAdd.vue:37 #: src/views/site/site_edit/SiteEdit.vue:157 @@ -3615,6 +3728,10 @@ msgstr "" msgid "SDK" msgstr "SDK" +#: src/views/dashboard/components/PerformanceOptimization.vue:216 +msgid "seconds" +msgstr "" + #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "Schlüssel wurde kopiert" @@ -3655,6 +3772,14 @@ msgstr "Serverinformationen" msgid "Server Info" msgstr "Serverinformationen" +#: src/views/dashboard/components/PerformanceOptimization.vue:277 +msgid "Server Names Hash Bucket Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:278 +msgid "Server names hash table size" +msgstr "" + #: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "server_name wurde in den Anweisungen nicht gefunden" @@ -3916,42 +4041,46 @@ msgstr "Synchronisieren" msgid "Sync Certificate" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:48 +#: src/components/Notification/notifications.ts:154 #, fuzzy msgid "Sync Certificate %{cert_name} to %{env_name} failed" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:52 +#: src/components/Notification/notifications.ts:158 #, fuzzy msgid "Sync Certificate %{cert_name} to %{env_name} successfully" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:47 src/language/constants.ts:39 +#: src/components/Notification/notifications.ts:153 +#: src/language/constants.ts:39 #, fuzzy msgid "Sync Certificate Error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:51 src/language/constants.ts:38 +#: src/components/Notification/notifications.ts:157 +#: src/language/constants.ts:38 #, fuzzy msgid "Sync Certificate Success" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:58 +#: src/components/Notification/notifications.ts:164 #, fuzzy msgid "Sync config %{config_name} to %{env_name} failed" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:62 +#: src/components/Notification/notifications.ts:168 #, fuzzy msgid "Sync config %{config_name} to %{env_name} successfully" msgstr "Speichern erfolgreich" -#: src/components/Notification/notifications.ts:57 src/language/constants.ts:45 +#: src/components/Notification/notifications.ts:163 +#: src/language/constants.ts:45 #, fuzzy msgid "Sync Config Error" msgstr "Zertifikat ist gültig" -#: src/components/Notification/notifications.ts:61 src/language/constants.ts:44 +#: src/components/Notification/notifications.ts:167 +#: src/language/constants.ts:44 #, fuzzy msgid "Sync Config Success" msgstr "Zertifikat ist gültig" @@ -4126,11 +4255,11 @@ msgstr "Die URL ist ungültig." msgid "The username or password is incorrect" msgstr "Benuztername oder Passwort ist falsch" -#: src/views/dashboard/components/PerformanceTablesCard.vue:185 +#: src/views/dashboard/components/PerformanceTablesCard.vue:184 msgid "Theoretical maximum concurrent connections:" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:189 +#: src/views/dashboard/components/PerformanceTablesCard.vue:188 msgid "Theoretical maximum RPS (Requests Per Second):" msgstr "" @@ -4174,7 +4303,7 @@ msgid "" msgstr "" "Dieses Feld sollte nur Buchstaben, Unicode-Zeichen, Zahlen und -_ enthalten." -#: src/views/dashboard/NginxDashBoard.vue:152 +#: src/views/dashboard/NginxDashBoard.vue:153 msgid "" "This module provides Nginx request statistics, connection count, etc. data. " "After enabling it, you can view performance statistics" @@ -4227,7 +4356,7 @@ msgstr "Begrenzung" msgid "Tips" msgstr "Tipps" -#: src/views/dashboard/components/PerformanceTablesCard.vue:207 +#: src/views/dashboard/components/PerformanceTablesCard.vue:206 msgid "" "Tips: You can increase the concurrency processing capacity by increasing " "worker_processes or worker_connections" @@ -4280,7 +4409,7 @@ msgstr "" "oder lmdeploy. Sie bieten einen OpenAI-kompatiblen API-Endpunkt, also setze " "die baseUrl auf deine lokale API." -#: src/views/dashboard/NginxDashBoard.vue:56 +#: src/views/dashboard/NginxDashBoard.vue:57 #, fuzzy msgid "Toggle failed" msgstr "Aktivieren fehlgeschlagen" @@ -4296,12 +4425,12 @@ msgstr[0] "Gesamt %{total} Element" msgstr[1] "Gesamt %{total} Elemente" #: src/composables/usePerformanceMetrics.ts:96 -#: src/views/dashboard/components/PerformanceTablesCard.vue:54 +#: src/views/dashboard/components/PerformanceTablesCard.vue:53 msgid "Total connections" msgstr "" #: src/composables/usePerformanceMetrics.ts:91 -#: src/views/dashboard/components/PerformanceTablesCard.vue:49 +#: src/views/dashboard/components/PerformanceTablesCard.vue:48 msgid "Total handshakes" msgstr "" @@ -4314,7 +4443,7 @@ msgid "Total Nginx Processes" msgstr "" #: src/composables/usePerformanceMetrics.ts:101 -#: src/views/dashboard/components/PerformanceTablesCard.vue:59 +#: src/views/dashboard/components/PerformanceTablesCard.vue:58 msgid "Total requests" msgstr "" @@ -4364,7 +4493,7 @@ msgstr "Speichern erfolgreich" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:325 +#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:331 #: src/views/environments/group/columns.ts:37 #: src/views/environments/list/envColumns.tsx:90 #: src/views/site/site_edit/RightSettings.vue:75 @@ -4449,7 +4578,7 @@ msgstr "Benutzername (*)" msgid "Valid" msgstr "Gültig" -#: src/views/dashboard/components/PerformanceTablesCard.vue:22 +#: src/views/dashboard/components/PerformanceTablesCard.vue:21 msgid "Value" msgstr "" @@ -4493,7 +4622,7 @@ msgid "Viewed" msgstr "Anzeigen" #: src/composables/usePerformanceMetrics.ts:116 -#: src/views/dashboard/components/PerformanceTablesCard.vue:74 +#: src/views/dashboard/components/PerformanceTablesCard.vue:73 msgid "Waiting processes" msgstr "" @@ -4576,8 +4705,14 @@ msgid "" "codes." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#, fuzzy +msgid "Worker Connections" +msgstr "Aktuelle Version" + #: src/composables/usePerformanceMetrics.ts:57 -#: src/views/dashboard/components/ConnectionMetricsCard.vue:49 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:48 +#: src/views/dashboard/components/PerformanceOptimization.vue:172 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" diff --git a/app/src/language/en/app.po b/app/src/language/en/app.po index affd543a..c81ad116 100644 --- a/app/src/language/en/app.po +++ b/app/src/language/en/app.po @@ -53,7 +53,7 @@ msgid "Action" msgstr "Action" #: src/composables/usePerformanceMetrics.ts:86 -#: src/views/dashboard/components/PerformanceTablesCard.vue:44 +#: src/views/dashboard/components/PerformanceTablesCard.vue:43 msgid "Active connections" msgstr "" @@ -76,8 +76,8 @@ msgstr "" msgid "Add a passkey" msgstr "" -#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:168 -#: src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:246 #, fuzzy msgid "Add Configuration" msgstr "Edit Configuration" @@ -124,7 +124,7 @@ msgstr "" msgid "All" msgstr "" -#: src/components/Notification/notifications.ts:175 +#: src/components/Notification/notifications.ts:109 #: src/language/constants.ts:58 msgid "All Recovery Codes Have Been Used" msgstr "" @@ -281,7 +281,12 @@ msgstr "" msgid "Author" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:201 +#: src/views/dashboard/components/PerformanceOptimization.vue:178 +#: src/views/dashboard/components/PerformanceOptimization.vue:189 +msgid "Auto" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:200 msgid "auto = CPU cores" msgstr "" @@ -306,7 +311,7 @@ msgid "Automatically indexed from site and stream configurations." msgstr "" #: src/views/certificate/components/CertificateEditor.vue:257 -#: src/views/config/ConfigEditor.vue:262 src/views/config/ConfigList.vue:112 +#: src/views/config/ConfigEditor.vue:268 src/views/config/ConfigList.vue:112 #: src/views/config/ConfigList.vue:195 src/views/nginx_log/NginxLog.vue:173 #: src/views/site/site_edit/SiteEdit.vue:285 #: src/views/stream/StreamEdit.vue:264 @@ -361,7 +366,7 @@ msgstr "" msgid "Base information" msgstr "Base information" -#: src/views/config/ConfigEditor.vue:290 +#: src/views/config/ConfigEditor.vue:296 #: src/views/site/site_edit/RightSettings.vue:52 #: src/views/stream/components/RightSettings.vue:79 #, fuzzy @@ -405,7 +410,7 @@ msgid "CA Dir" msgstr "" #: src/composables/usePerformanceMetrics.ts:141 -#: src/views/dashboard/components/PerformanceTablesCard.vue:95 +#: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" @@ -419,7 +424,7 @@ msgid "CADir" msgstr "" #: src/views/dashboard/components/PerformanceStatisticsCard.vue:43 -#: src/views/dashboard/components/PerformanceTablesCard.vue:191 +#: src/views/dashboard/components/PerformanceTablesCard.vue:190 msgid "" "Calculated based on worker_processes * worker_connections. Actual " "performance depends on hardware, configuration, and workload" @@ -448,7 +453,7 @@ msgstr "" msgid "Cannot compare: Missing content" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:132 msgid "Cannot get performance data in this state" msgstr "" @@ -464,18 +469,18 @@ msgstr "" msgid "Cert path is not under the nginx conf dir" msgstr "" -#: src/components/Notification/notifications.ts:28 +#: src/components/Notification/notifications.ts:134 #, fuzzy msgid "Certificate %{name} has expired" msgstr "Configurations" -#: src/components/Notification/notifications.ts:32 -#: src/components/Notification/notifications.ts:36 -#: src/components/Notification/notifications.ts:40 +#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:146 msgid "Certificate %{name} will expire in %{days} days" msgstr "" -#: src/components/Notification/notifications.ts:44 +#: src/components/Notification/notifications.ts:150 msgid "Certificate %{name} will expire in 1 day" msgstr "" @@ -484,19 +489,19 @@ msgstr "" msgid "Certificate decode error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:31 +#: src/components/Notification/notifications.ts:137 #, fuzzy msgid "Certificate Expiration Notice" msgstr "Configurations" -#: src/components/Notification/notifications.ts:27 +#: src/components/Notification/notifications.ts:133 #, fuzzy msgid "Certificate Expired" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:35 -#: src/components/Notification/notifications.ts:39 -#: src/components/Notification/notifications.ts:43 +#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:149 #, fuzzy msgid "Certificate Expiring Soon" msgstr "Certificate has expired" @@ -563,7 +568,7 @@ msgid_plural "Changed Certificates" msgstr[0] "Certificate is valid" msgstr[1] "Certificate is valid" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 #, fuzzy msgid "Changed Path" msgstr "Certificate is valid" @@ -636,6 +641,26 @@ msgstr "" msgid "Click to copy" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:307 +msgid "Client Body Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:289 +msgid "Client Header Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:259 +msgid "Client Max Body Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:308 +msgid "Client request body buffer size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:290 +msgid "Client request header buffer size" +msgstr "" + #: src/components/ConfigHistory/ConfigHistory.vue:169 msgid "Close" msgstr "" @@ -669,6 +694,10 @@ msgstr "" msgid "Compare with Current" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:248 +msgid "Compression level, 1 is lowest, 9 is highest" +msgstr "" + #: src/constants/errors/backup.ts:14 #, fuzzy msgid "Config path is empty" @@ -688,7 +717,7 @@ msgstr "" msgid "Configuration History" msgstr "Configurations" -#: src/views/dashboard/components/PerformanceTablesCard.vue:168 +#: src/views/dashboard/components/PerformanceTablesCard.vue:167 #, fuzzy msgid "Configuration information" msgstr "Configurations" @@ -709,7 +738,7 @@ msgstr "Configure SSL" msgid "Connected" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:84 +#: src/views/dashboard/NginxDashBoard.vue:85 msgid "Connection error, trying to reconnect..." msgstr "" @@ -717,6 +746,10 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:207 +msgid "Connection timeout period" +msgstr "" + #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:118 #: src/views/site/ngx_conf/LocationEditor.vue:115 #: src/views/site/ngx_conf/LocationEditor.vue:143 @@ -825,7 +858,7 @@ msgstr "" msgid "Current account is not enabled TOTP." msgstr "" -#: src/views/dashboard/components/ConnectionMetricsCard.vue:28 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:27 msgid "Current active connections" msgstr "" @@ -854,8 +887,8 @@ msgid "" "indicator." msgstr "" -#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:107 -#: src/views/config/ConfigEditor.vue:158 src/views/config/ConfigList.vue:67 +#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:110 +#: src/views/config/ConfigEditor.vue:161 src/views/config/ConfigList.vue:67 msgid "Dashboard" msgstr "Dashboard" @@ -892,32 +925,32 @@ msgstr "Certificate is valid" msgid "Delete Permanently" msgstr "" -#: src/components/Notification/notifications.ts:75 src/language/constants.ts:50 +#: src/components/Notification/notifications.ts:9 src/language/constants.ts:50 #, fuzzy msgid "Delete Remote Site Error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:79 src/language/constants.ts:49 +#: src/components/Notification/notifications.ts:13 src/language/constants.ts:49 #, fuzzy msgid "Delete Remote Site Success" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:133 +#: src/components/Notification/notifications.ts:67 #, fuzzy msgid "Delete Remote Stream Error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:137 +#: src/components/Notification/notifications.ts:71 #, fuzzy msgid "Delete Remote Stream Success" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:76 +#: src/components/Notification/notifications.ts:10 #, fuzzy msgid "Delete site %{name} from %{node} failed" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:80 +#: src/components/Notification/notifications.ts:14 #, fuzzy msgid "Delete site %{name} from %{node} successfully" msgstr "Saved successfully" @@ -926,12 +959,12 @@ msgstr "Saved successfully" msgid "Delete site: %{site_name}" msgstr "" -#: src/components/Notification/notifications.ts:134 +#: src/components/Notification/notifications.ts:68 #, fuzzy msgid "Delete stream %{name} from %{node} failed" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:72 #, fuzzy msgid "Delete stream %{name} from %{node} successfully" msgstr "Saved successfully" @@ -949,7 +982,7 @@ msgstr "Disabled successfully" msgid "Demo" msgstr "" -#: src/views/config/ConfigEditor.vue:334 +#: src/views/config/ConfigEditor.vue:340 msgid "Deploy" msgstr "" @@ -1008,62 +1041,62 @@ msgstr "Disabled" msgid "Disable auto-renewal failed for %{name}" msgstr "Disable auto-renewal failed for %{name}" -#: src/components/Notification/notifications.ts:83 src/language/constants.ts:52 +#: src/components/Notification/notifications.ts:17 src/language/constants.ts:52 #, fuzzy msgid "Disable Remote Site Error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:107 +#: src/components/Notification/notifications.ts:41 #, fuzzy msgid "Disable Remote Site Maintenance Error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:111 +#: src/components/Notification/notifications.ts:45 #, fuzzy msgid "Disable Remote Site Maintenance Success" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:87 src/language/constants.ts:51 +#: src/components/Notification/notifications.ts:21 src/language/constants.ts:51 #, fuzzy msgid "Disable Remote Site Success" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:75 #, fuzzy msgid "Disable Remote Stream Error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:79 #, fuzzy msgid "Disable Remote Stream Success" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:84 +#: src/components/Notification/notifications.ts:18 #, fuzzy msgid "Disable site %{name} from %{node} failed" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:88 +#: src/components/Notification/notifications.ts:22 #, fuzzy msgid "Disable site %{name} from %{node} successfully" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:108 +#: src/components/Notification/notifications.ts:42 #, fuzzy msgid "Disable site %{name} maintenance on %{node} failed" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:112 +#: src/components/Notification/notifications.ts:46 #, fuzzy msgid "Disable site %{name} maintenance on %{node} successfully" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:76 #, fuzzy msgid "Disable stream %{name} from %{node} failed" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:146 +#: src/components/Notification/notifications.ts:80 #, fuzzy msgid "Disable stream %{name} from %{node} successfully" msgstr "Saved successfully" @@ -1202,7 +1235,7 @@ msgstr "Edit %{n}" msgid "Edit %{n}" msgstr "Edit %{n}" -#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:246 msgid "Edit Configuration" msgstr "Edit Configuration" @@ -1244,6 +1277,10 @@ msgstr "Enabled successfully" msgid "Enable auto-renewal failed for %{name}" msgstr "Enable auto-renewal failed for %{name}" +#: src/views/dashboard/components/PerformanceOptimization.vue:222 +msgid "Enable compression for content transfer" +msgstr "" + #: src/views/site/site_add/SiteAdd.vue:43 msgid "Enable failed" msgstr "Enable failed" @@ -1253,67 +1290,67 @@ msgstr "Enable failed" msgid "Enable HTTPS" msgstr "Enable TLS" -#: src/components/Notification/notifications.ts:91 src/language/constants.ts:54 +#: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 #, fuzzy msgid "Enable Remote Site Error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:99 +#: src/components/Notification/notifications.ts:33 #, fuzzy msgid "Enable Remote Site Maintenance Error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:103 +#: src/components/Notification/notifications.ts:37 #, fuzzy msgid "Enable Remote Site Maintenance Success" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:95 src/language/constants.ts:53 +#: src/components/Notification/notifications.ts:29 src/language/constants.ts:53 #, fuzzy msgid "Enable Remote Site Success" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:149 +#: src/components/Notification/notifications.ts:83 #, fuzzy msgid "Enable Remote Stream Error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:153 +#: src/components/Notification/notifications.ts:87 #, fuzzy msgid "Enable Remote Stream Success" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:100 +#: src/components/Notification/notifications.ts:34 #, fuzzy msgid "Enable site %{name} maintenance on %{node} failed" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:104 +#: src/components/Notification/notifications.ts:38 #, fuzzy msgid "Enable site %{name} maintenance on %{node} successfully" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:92 +#: src/components/Notification/notifications.ts:26 #, fuzzy msgid "Enable site %{name} on %{node} failed" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:96 +#: src/components/Notification/notifications.ts:30 #, fuzzy msgid "Enable site %{name} on %{node} successfully" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:150 +#: src/components/Notification/notifications.ts:84 #, fuzzy msgid "Enable stream %{name} on %{node} failed" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:154 +#: src/components/Notification/notifications.ts:88 #, fuzzy msgid "Enable stream %{name} on %{node} successfully" msgstr "Saved successfully" -#: src/views/dashboard/NginxDashBoard.vue:149 +#: src/views/dashboard/NginxDashBoard.vue:150 msgid "Enable stub_status module" msgstr "" @@ -1617,6 +1654,11 @@ msgstr "Certificate is valid" msgid "Failed to get certificate information" msgstr "Certificate is valid" +#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#, fuzzy +msgid "Failed to get Nginx performance settings" +msgstr "Certificate is valid" + #: src/composables/useNginxPerformance.ts:49 #, fuzzy msgid "Failed to get performance data" @@ -1685,6 +1727,11 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "Certificate is valid" +#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#, fuzzy +msgid "Failed to save Nginx performance settings" +msgstr "Certificate is valid" + #: src/views/site/site_edit/SiteEdit.vue:139 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." @@ -1751,16 +1798,16 @@ msgstr "" msgid "Form parse failed" msgstr "Enable failed" -#: src/views/config/ConfigEditor.vue:265 +#: src/views/config/ConfigEditor.vue:271 msgid "Format Code" msgstr "" -#: src/views/config/ConfigEditor.vue:213 +#: src/views/config/ConfigEditor.vue:218 #, fuzzy msgid "Format error %{msg}" msgstr "Save error %{msg}" -#: src/views/config/ConfigEditor.vue:211 +#: src/views/config/ConfigEditor.vue:216 #, fuzzy msgid "Format successfully" msgstr "Saved successfully" @@ -1793,7 +1840,7 @@ msgstr "Saved successfully" msgid "Generating private key for registering account" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:140 +#: src/views/dashboard/NginxDashBoard.vue:141 #, fuzzy msgid "Get data failed" msgstr "Enable failed" @@ -1812,6 +1859,18 @@ msgstr "Getting the certificate, please wait..." msgid "Github Proxy" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:221 +msgid "GZIP Compression" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:247 +msgid "GZIP Compression Level" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:233 +msgid "GZIP Min Length" +msgstr "" + #: src/constants/errors/backup.ts:59 msgid "Hash verification failed: file integrity compromised" msgstr "" @@ -1824,7 +1883,7 @@ msgstr "" msgid "Higher value means better connection reuse" msgstr "" -#: src/views/config/ConfigEditor.vue:251 +#: src/views/config/ConfigEditor.vue:256 #: src/views/site/site_edit/SiteEdit.vue:212 #: src/views/stream/StreamEdit.vue:195 #, fuzzy @@ -1917,7 +1976,7 @@ msgstr "" msgid "Indexing..." msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:16 +#: src/views/dashboard/components/PerformanceTablesCard.vue:15 msgid "Indicator" msgstr "" @@ -1995,7 +2054,7 @@ msgid "Invalid file path: {0}" msgstr "Invalid E-mail!" #: src/views/config/components/Rename.vue:66 -#: src/views/config/ConfigEditor.vue:299 +#: src/views/config/ConfigEditor.vue:305 #, fuzzy msgid "Invalid filename" msgstr "Invalid E-mail!" @@ -2065,12 +2124,20 @@ msgstr "" msgid "Jwt Secret" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:242 +msgid "KB" +msgstr "" + #: src/views/preference/components/RecoveryCodes.vue:74 msgid "" "Keep your recovery codes as safe as your password. We recommend saving them " "with a password manager." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:206 +msgid "Keepalive Timeout" +msgstr "" + #: src/views/certificate/CertificateList/certColumns.tsx:59 #: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" @@ -2093,7 +2160,7 @@ msgstr "" msgid "Last checked at" msgstr "Created at" -#: src/views/dashboard/NginxDashBoard.vue:115 +#: src/views/dashboard/NginxDashBoard.vue:116 #, fuzzy msgid "Last update" msgstr "Created at" @@ -2163,7 +2230,7 @@ msgstr "" msgid "Load successfully" msgstr "Saved successfully" -#: src/views/dashboard/NginxDashBoard.vue:177 +#: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2240,8 +2307,8 @@ msgstr "" "Make sure you have configured a reverse proxy for .well-known directory to " "HTTPChallengePort (default: 9180) before getting the certificate." -#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:112 -#: src/views/config/ConfigEditor.vue:163 src/views/config/ConfigList.vue:72 +#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:115 +#: src/views/config/ConfigEditor.vue:166 src/views/config/ConfigList.vue:72 msgid "Manage Configs" msgstr "Manage Configs" @@ -2263,7 +2330,11 @@ msgstr "Manage Users" msgid "Managed Certificate" msgstr "Certificate is valid" -#: src/views/dashboard/components/PerformanceTablesCard.vue:202 +#: src/views/dashboard/components/PerformanceOptimization.vue:179 +msgid "Manual" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:201 msgid "manually set" msgstr "" @@ -2272,7 +2343,7 @@ msgid "Master" msgstr "" #: src/composables/usePerformanceMetrics.ts:136 -#: src/views/dashboard/components/PerformanceTablesCard.vue:90 +#: src/views/dashboard/components/PerformanceTablesCard.vue:89 msgid "Master process" msgstr "" @@ -2294,12 +2365,21 @@ msgstr "Content" msgid "Max Requests Per Second" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:260 +msgid "Maximum client request body size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#, fuzzy +msgid "Maximum number of concurrent connections" +msgstr "Content" + #: src/composables/usePerformanceMetrics.ts:176 -#: src/views/dashboard/components/PerformanceTablesCard.vue:126 +#: src/views/dashboard/components/PerformanceTablesCard.vue:125 msgid "Maximum number of connections per worker process" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:196 +#: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2316,6 +2396,10 @@ msgstr "Memory and Storage" msgid "Memory Usage (RSS)" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:234 +msgid "Minimum file size for compression" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "" @@ -2362,7 +2446,7 @@ msgstr "Single Directive" #: src/views/certificate/components/CertificateEditor.vue:162 #: src/views/certificate/DNSCredential.vue:11 #: src/views/config/components/Mkdir.vue:64 -#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:305 +#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:311 #: src/views/environments/group/columns.ts:8 #: src/views/environments/list/envColumns.tsx:9 #: src/views/nginx_log/NginxLogList.vue:37 @@ -2377,7 +2461,7 @@ msgstr "Single Directive" msgid "Name" msgstr "Name" -#: src/views/dashboard/NginxDashBoard.vue:172 +#: src/views/dashboard/NginxDashBoard.vue:173 msgid "Need to enable the stub_status module" msgstr "" @@ -2407,7 +2491,7 @@ msgstr "Install" msgid "New name" msgstr "Username" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 #, fuzzy msgid "New Path" msgstr "Path" @@ -2450,6 +2534,11 @@ msgstr "" msgid "Nginx conf no stream block" msgstr "" +#: src/constants/errors/self_check.ts:14 +#, fuzzy +msgid "Nginx conf not include conf.d directory" +msgstr "Configuration Name" + #: src/constants/errors/self_check.ts:6 msgid "Nginx conf not include sites-enabled" msgstr "" @@ -2489,7 +2578,7 @@ msgid "Nginx Control" msgstr "" #: src/composables/usePerformanceMetrics.ts:151 -#: src/views/dashboard/components/PerformanceTablesCard.vue:105 +#: src/views/dashboard/components/PerformanceTablesCard.vue:104 msgid "Nginx CPU usage rate" msgstr "" @@ -2498,14 +2587,14 @@ msgid "Nginx Error Log Path" msgstr "" #: src/composables/useNginxPerformance.ts:43 -#: src/views/dashboard/NginxDashBoard.vue:111 -#: src/views/dashboard/NginxDashBoard.vue:130 -#: src/views/dashboard/NginxDashBoard.vue:79 +#: src/views/dashboard/NginxDashBoard.vue:112 +#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:80 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15 msgid "Nginx is not running" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:111 +#: src/views/dashboard/NginxDashBoard.vue:112 msgid "Nginx is running" msgstr "" @@ -2519,7 +2608,7 @@ msgid "Nginx Log Directory Whitelist" msgstr "Configuration Name" #: src/composables/usePerformanceMetrics.ts:156 -#: src/views/dashboard/components/PerformanceTablesCard.vue:110 +#: src/views/dashboard/components/PerformanceTablesCard.vue:109 msgid "Nginx Memory usage" msgstr "" @@ -2557,7 +2646,7 @@ msgstr "Saved successfully" msgid "Nginx Test Config Command" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:181 +#: src/views/dashboard/components/PerformanceTablesCard.vue:180 msgid "Nginx theoretical maximum performance" msgstr "" @@ -2602,7 +2691,7 @@ msgstr "No" msgid "No Action" msgstr "Action" -#: src/views/dashboard/NginxDashBoard.vue:179 +#: src/views/dashboard/NginxDashBoard.vue:180 msgid "No data" msgstr "" @@ -2684,10 +2773,14 @@ msgstr "Certificate is valid" msgid "Notifier not found" msgstr "File Not Found" +#: src/views/dashboard/components/PerformanceOptimization.vue:173 +msgid "Number of concurrent worker processes, auto sets to CPU core count" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:131 #: src/composables/usePerformanceMetrics.ts:171 -#: src/views/dashboard/components/PerformanceTablesCard.vue:121 -#: src/views/dashboard/components/PerformanceTablesCard.vue:85 +#: src/views/dashboard/components/PerformanceTablesCard.vue:120 +#: src/views/dashboard/components/PerformanceTablesCard.vue:84 msgid "Number of worker processes" msgstr "" @@ -2711,6 +2804,10 @@ msgid "" "Firefox." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:227 +msgid "Off" +msgstr "" + #: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 @@ -2742,6 +2839,10 @@ msgstr "" msgid "OK" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:226 +msgid "On" +msgstr "" + #: src/views/certificate/DNSCredential.vue:59 msgid "Once the verification is complete, the records will be removed." msgstr "" @@ -2762,6 +2863,14 @@ msgstr "" msgid "OpenAI" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:164 +msgid "Optimize Nginx Performance" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:158 +msgid "Optimize Performance" +msgstr "" + #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "" @@ -2784,7 +2893,7 @@ msgid "OS:" msgstr "OS:" #: src/composables/usePerformanceMetrics.ts:146 -#: src/views/dashboard/components/PerformanceTablesCard.vue:100 +#: src/views/dashboard/components/PerformanceTablesCard.vue:99 msgid "Other Nginx processes" msgstr "" @@ -2801,11 +2910,11 @@ msgstr "" msgid "Otp or recovery code empty" msgstr "" -#: src/views/config/ConfigEditor.vue:343 +#: src/views/config/ConfigEditor.vue:349 msgid "Overwrite" msgstr "" -#: src/views/config/ConfigEditor.vue:347 +#: src/views/config/ConfigEditor.vue:353 msgid "Overwrite exist file" msgstr "" @@ -2846,7 +2955,7 @@ msgstr "Password" msgid "Password length cannot exceed 20 characters" msgstr "" -#: src/views/config/ConfigEditor.vue:312 +#: src/views/config/ConfigEditor.vue:318 #: src/views/nginx_log/NginxLogList.vue:45 #: src/views/site/ngx_conf/LocationEditor.vue:109 #: src/views/site/ngx_conf/LocationEditor.vue:137 @@ -2870,10 +2979,15 @@ msgstr "" msgid "Perform core upgrade error" msgstr "Certificate has expired" -#: src/views/dashboard/NginxDashBoard.vue:184 +#: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#, fuzzy +msgid "Performance settings saved successfully" +msgstr "Disabled successfully" + #: src/language/constants.ts:28 msgid "Performing core upgrade" msgstr "" @@ -2882,7 +2996,7 @@ msgstr "" msgid "Plain text is empty" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:173 +#: src/views/dashboard/NginxDashBoard.vue:174 msgid "" "Please enable the stub_status module to get request statistics, connection " "count, etc." @@ -2923,7 +3037,7 @@ msgid "" "select one of the credentialsbelow to request the API of the DNS provider." msgstr "" -#: src/components/Notification/notifications.ts:176 +#: src/components/Notification/notifications.ts:110 #: src/language/constants.ts:59 msgid "" "Please generate new recovery codes in the preferences immediately to prevent " @@ -2931,7 +3045,7 @@ msgid "" msgstr "" #: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:298 +#: src/views/config/ConfigEditor.vue:304 #, fuzzy msgid "Please input a filename" msgstr "Please input your username!" @@ -3030,7 +3144,7 @@ msgstr "Configurations" msgid "Process Distribution" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:155 +#: src/views/dashboard/components/PerformanceTablesCard.vue:154 #, fuzzy msgid "Process information" msgstr "Base information" @@ -3060,7 +3174,7 @@ msgid "Public Security Number" msgstr "" #: src/composables/usePerformanceMetrics.ts:106 -#: src/views/dashboard/components/PerformanceTablesCard.vue:64 +#: src/views/dashboard/components/PerformanceTablesCard.vue:63 msgid "Read requests" msgstr "" @@ -3172,22 +3286,22 @@ msgstr "" msgid "Reload Nginx" msgstr "" -#: src/components/Notification/notifications.ts:10 +#: src/components/Notification/notifications.ts:116 #, fuzzy msgid "Reload Nginx on %{node} failed, response: %{resp}" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:14 +#: src/components/Notification/notifications.ts:120 #, fuzzy msgid "Reload Nginx on %{node} successfully" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:9 +#: src/components/Notification/notifications.ts:115 #, fuzzy msgid "Reload Remote Nginx Error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:13 +#: src/components/Notification/notifications.ts:119 #, fuzzy msgid "Reload Remote Nginx Success" msgstr "Certificate is valid" @@ -3229,64 +3343,64 @@ msgstr "Saved successfully" msgid "Rename" msgstr "Username" -#: src/components/Notification/notifications.ts:66 +#: src/components/Notification/notifications.ts:172 #, fuzzy msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:70 +#: src/components/Notification/notifications.ts:176 #, fuzzy msgid "Rename %{orig_path} to %{new_path} on %{env_name} successfully" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:65 src/language/constants.ts:42 +#: src/components/Notification/notifications.ts:171 +#: src/language/constants.ts:42 #, fuzzy msgid "Rename Remote Config Error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:69 src/language/constants.ts:41 +#: src/components/Notification/notifications.ts:175 +#: src/language/constants.ts:41 #, fuzzy msgid "Rename Remote Config Success" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:115 -#: src/language/constants.ts:56 +#: src/components/Notification/notifications.ts:49 src/language/constants.ts:56 #, fuzzy msgid "Rename Remote Site Error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:119 -#: src/language/constants.ts:55 +#: src/components/Notification/notifications.ts:53 src/language/constants.ts:55 #, fuzzy msgid "Rename Remote Site Success" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:157 +#: src/components/Notification/notifications.ts:91 #, fuzzy msgid "Rename Remote Stream Error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:161 +#: src/components/Notification/notifications.ts:95 #, fuzzy msgid "Rename Remote Stream Success" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:116 +#: src/components/Notification/notifications.ts:50 #, fuzzy msgid "Rename site %{name} to %{new_name} on %{node} failed" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:120 +#: src/components/Notification/notifications.ts:54 #, fuzzy msgid "Rename site %{name} to %{new_name} on %{node} successfully" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:158 +#: src/components/Notification/notifications.ts:92 #, fuzzy msgid "Rename stream %{name} to %{new_name} on %{node} failed" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:162 +#: src/components/Notification/notifications.ts:96 #, fuzzy msgid "Rename stream %{name} to %{new_name} on %{node} successfully" msgstr "Saved successfully" @@ -3325,7 +3439,7 @@ msgstr "Certificate is valid" msgid "Renew successfully" msgstr "Enabled successfully" -#: src/views/dashboard/components/PerformanceTablesCard.vue:142 +#: src/views/dashboard/components/PerformanceTablesCard.vue:141 #, fuzzy msgid "Request statistics" msgstr "Network Statistics" @@ -3358,7 +3472,7 @@ msgid "" msgstr "" #: src/composables/usePerformanceMetrics.ts:111 -#: src/views/dashboard/components/PerformanceTablesCard.vue:69 +#: src/views/dashboard/components/PerformanceTablesCard.vue:68 msgid "Responses" msgstr "" @@ -3372,22 +3486,22 @@ msgstr "" msgid "Restart Nginx" msgstr "" -#: src/components/Notification/notifications.ts:18 +#: src/components/Notification/notifications.ts:124 #, fuzzy msgid "Restart Nginx on %{node} failed, response: %{resp}" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:22 +#: src/components/Notification/notifications.ts:128 #, fuzzy msgid "Restart Nginx on %{node} successfully" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:17 +#: src/components/Notification/notifications.ts:123 #, fuzzy msgid "Restart Remote Nginx Error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:21 +#: src/components/Notification/notifications.ts:127 #, fuzzy msgid "Restart Remote Nginx Success" msgstr "Certificate is valid" @@ -3474,7 +3588,7 @@ msgstr "" #: src/components/StdDesign/StdDetail/StdDetail.vue:93 #: src/views/certificate/components/CertificateEditor.vue:264 #: src/views/config/components/ConfigName.vue:59 -#: src/views/config/ConfigEditor.vue:271 +#: src/views/config/ConfigEditor.vue:277 #: src/views/preference/components/Passkey.vue:130 #: src/views/preference/Preference.vue:229 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:127 @@ -3494,44 +3608,42 @@ msgstr "Save Directive" msgid "Save error %{msg}" msgstr "Save error %{msg}" -#: src/components/Notification/notifications.ts:123 -#: src/language/constants.ts:48 +#: src/components/Notification/notifications.ts:57 src/language/constants.ts:48 #, fuzzy msgid "Save Remote Site Error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:127 -#: src/language/constants.ts:47 +#: src/components/Notification/notifications.ts:61 src/language/constants.ts:47 #, fuzzy msgid "Save Remote Site Success" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:165 +#: src/components/Notification/notifications.ts:99 #, fuzzy msgid "Save Remote Stream Error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:169 +#: src/components/Notification/notifications.ts:103 #, fuzzy msgid "Save Remote Stream Success" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:124 +#: src/components/Notification/notifications.ts:58 #, fuzzy msgid "Save site %{name} to %{node} failed" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:128 +#: src/components/Notification/notifications.ts:62 #, fuzzy msgid "Save site %{name} to %{node} successfully" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:166 +#: src/components/Notification/notifications.ts:100 #, fuzzy msgid "Save stream %{name} to %{node} failed" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:170 +#: src/components/Notification/notifications.ts:104 #, fuzzy msgid "Save stream %{name} to %{node} successfully" msgstr "Saved successfully" @@ -3544,7 +3656,7 @@ msgstr "Saved successfully" msgid "Save successfully" msgstr "Saved successfully" -#: src/views/config/ConfigEditor.vue:191 +#: src/views/config/ConfigEditor.vue:194 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/site/site_add/SiteAdd.vue:37 #: src/views/site/site_edit/SiteEdit.vue:157 @@ -3560,6 +3672,10 @@ msgstr "" msgid "SDK" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:216 +msgid "seconds" +msgstr "" + #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "" @@ -3601,6 +3717,14 @@ msgstr "Server Info" msgid "Server Info" msgstr "Server Info" +#: src/views/dashboard/components/PerformanceOptimization.vue:277 +msgid "Server Names Hash Bucket Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:278 +msgid "Server names hash table size" +msgstr "" + #: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "server_name not found in directives" @@ -3864,42 +3988,46 @@ msgstr "" msgid "Sync Certificate" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:48 +#: src/components/Notification/notifications.ts:154 #, fuzzy msgid "Sync Certificate %{cert_name} to %{env_name} failed" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:52 +#: src/components/Notification/notifications.ts:158 #, fuzzy msgid "Sync Certificate %{cert_name} to %{env_name} successfully" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:47 src/language/constants.ts:39 +#: src/components/Notification/notifications.ts:153 +#: src/language/constants.ts:39 #, fuzzy msgid "Sync Certificate Error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:51 src/language/constants.ts:38 +#: src/components/Notification/notifications.ts:157 +#: src/language/constants.ts:38 #, fuzzy msgid "Sync Certificate Success" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:58 +#: src/components/Notification/notifications.ts:164 #, fuzzy msgid "Sync config %{config_name} to %{env_name} failed" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:62 +#: src/components/Notification/notifications.ts:168 #, fuzzy msgid "Sync config %{config_name} to %{env_name} successfully" msgstr "Saved successfully" -#: src/components/Notification/notifications.ts:57 src/language/constants.ts:45 +#: src/components/Notification/notifications.ts:163 +#: src/language/constants.ts:45 #, fuzzy msgid "Sync Config Error" msgstr "Certificate is valid" -#: src/components/Notification/notifications.ts:61 src/language/constants.ts:44 +#: src/components/Notification/notifications.ts:167 +#: src/language/constants.ts:44 #, fuzzy msgid "Sync Config Success" msgstr "Certificate is valid" @@ -4065,11 +4193,11 @@ msgstr "" msgid "The username or password is incorrect" msgstr "Password" -#: src/views/dashboard/components/PerformanceTablesCard.vue:185 +#: src/views/dashboard/components/PerformanceTablesCard.vue:184 msgid "Theoretical maximum concurrent connections:" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:189 +#: src/views/dashboard/components/PerformanceTablesCard.vue:188 msgid "Theoretical maximum RPS (Requests Per Second):" msgstr "" @@ -4112,7 +4240,7 @@ msgid "" "This field should only contain letters, unicode characters, numbers, and -_." msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:152 +#: src/views/dashboard/NginxDashBoard.vue:153 msgid "" "This module provides Nginx request statistics, connection count, etc. data. " "After enabling it, you can view performance statistics" @@ -4164,7 +4292,7 @@ msgstr "" msgid "Tips" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:207 +#: src/views/dashboard/components/PerformanceTablesCard.vue:206 msgid "" "Tips: You can increase the concurrency processing capacity by increasing " "worker_processes or worker_connections" @@ -4206,7 +4334,7 @@ msgid "" "local API." msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:56 +#: src/views/dashboard/NginxDashBoard.vue:57 #, fuzzy msgid "Toggle failed" msgstr "Enable failed" @@ -4222,12 +4350,12 @@ msgstr[0] "" msgstr[1] "" #: src/composables/usePerformanceMetrics.ts:96 -#: src/views/dashboard/components/PerformanceTablesCard.vue:54 +#: src/views/dashboard/components/PerformanceTablesCard.vue:53 msgid "Total connections" msgstr "" #: src/composables/usePerformanceMetrics.ts:91 -#: src/views/dashboard/components/PerformanceTablesCard.vue:49 +#: src/views/dashboard/components/PerformanceTablesCard.vue:48 msgid "Total handshakes" msgstr "" @@ -4240,7 +4368,7 @@ msgid "Total Nginx Processes" msgstr "" #: src/composables/usePerformanceMetrics.ts:101 -#: src/views/dashboard/components/PerformanceTablesCard.vue:59 +#: src/views/dashboard/components/PerformanceTablesCard.vue:58 msgid "Total requests" msgstr "" @@ -4288,7 +4416,7 @@ msgstr "Saved successfully" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:325 +#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:331 #: src/views/environments/group/columns.ts:37 #: src/views/environments/list/envColumns.tsx:90 #: src/views/site/site_edit/RightSettings.vue:75 @@ -4374,7 +4502,7 @@ msgstr "Username (*)" msgid "Valid" msgstr "Invalid E-mail!" -#: src/views/dashboard/components/PerformanceTablesCard.vue:22 +#: src/views/dashboard/components/PerformanceTablesCard.vue:21 msgid "Value" msgstr "" @@ -4419,7 +4547,7 @@ msgid "Viewed" msgstr "Basic Mode" #: src/composables/usePerformanceMetrics.ts:116 -#: src/views/dashboard/components/PerformanceTablesCard.vue:74 +#: src/views/dashboard/components/PerformanceTablesCard.vue:73 msgid "Waiting processes" msgstr "" @@ -4488,8 +4616,14 @@ msgid "" "codes." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#, fuzzy +msgid "Worker Connections" +msgstr "Content" + #: src/composables/usePerformanceMetrics.ts:57 -#: src/views/dashboard/components/ConnectionMetricsCard.vue:49 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:48 +#: src/views/dashboard/components/PerformanceOptimization.vue:172 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" diff --git a/app/src/language/es/app.po b/app/src/language/es/app.po index 82f29876..32673fc7 100644 --- a/app/src/language/es/app.po +++ b/app/src/language/es/app.po @@ -58,7 +58,7 @@ msgid "Action" msgstr "Acción" #: src/composables/usePerformanceMetrics.ts:86 -#: src/views/dashboard/components/PerformanceTablesCard.vue:44 +#: src/views/dashboard/components/PerformanceTablesCard.vue:43 msgid "Active connections" msgstr "" @@ -81,8 +81,8 @@ msgstr "Agregar" msgid "Add a passkey" msgstr "Agregar una llave de acceso" -#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:168 -#: src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:246 msgid "Add Configuration" msgstr "Agregar configuración" @@ -127,7 +127,7 @@ msgstr "" msgid "All" msgstr "Todo" -#: src/components/Notification/notifications.ts:175 +#: src/components/Notification/notifications.ts:109 #: src/language/constants.ts:58 msgid "All Recovery Codes Have Been Used" msgstr "" @@ -275,7 +275,12 @@ msgstr "Configuración de autenticación" msgid "Author" msgstr "Autor" -#: src/views/dashboard/components/PerformanceTablesCard.vue:201 +#: src/views/dashboard/components/PerformanceOptimization.vue:178 +#: src/views/dashboard/components/PerformanceOptimization.vue:189 +msgid "Auto" +msgstr "Automático" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:200 msgid "auto = CPU cores" msgstr "" @@ -300,7 +305,7 @@ msgid "Automatically indexed from site and stream configurations." msgstr "" #: src/views/certificate/components/CertificateEditor.vue:257 -#: src/views/config/ConfigEditor.vue:262 src/views/config/ConfigList.vue:112 +#: src/views/config/ConfigEditor.vue:268 src/views/config/ConfigList.vue:112 #: src/views/config/ConfigList.vue:195 src/views/nginx_log/NginxLog.vue:173 #: src/views/site/site_edit/SiteEdit.vue:285 #: src/views/stream/StreamEdit.vue:264 @@ -354,7 +359,7 @@ msgstr "" msgid "Base information" msgstr "Información general" -#: src/views/config/ConfigEditor.vue:290 +#: src/views/config/ConfigEditor.vue:296 #: src/views/site/site_edit/RightSettings.vue:52 #: src/views/stream/components/RightSettings.vue:79 msgid "Basic" @@ -398,7 +403,7 @@ msgid "CA Dir" msgstr "Dir CA" #: src/composables/usePerformanceMetrics.ts:141 -#: src/views/dashboard/components/PerformanceTablesCard.vue:95 +#: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" @@ -412,7 +417,7 @@ msgid "CADir" msgstr "Directorio CA" #: src/views/dashboard/components/PerformanceStatisticsCard.vue:43 -#: src/views/dashboard/components/PerformanceTablesCard.vue:191 +#: src/views/dashboard/components/PerformanceTablesCard.vue:190 msgid "" "Calculated based on worker_processes * worker_connections. Actual " "performance depends on hardware, configuration, and workload" @@ -442,7 +447,7 @@ msgstr "Prohibir cambiar la contraseña de root en la demostración" msgid "Cannot compare: Missing content" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:132 msgid "Cannot get performance data in this state" msgstr "" @@ -459,18 +464,18 @@ msgstr "Certificado" msgid "Cert path is not under the nginx conf dir" msgstr "" -#: src/components/Notification/notifications.ts:28 +#: src/components/Notification/notifications.ts:134 #, fuzzy msgid "Certificate %{name} has expired" msgstr "Plantillas de configuración" -#: src/components/Notification/notifications.ts:32 -#: src/components/Notification/notifications.ts:36 -#: src/components/Notification/notifications.ts:40 +#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:146 msgid "Certificate %{name} will expire in %{days} days" msgstr "" -#: src/components/Notification/notifications.ts:44 +#: src/components/Notification/notifications.ts:150 msgid "Certificate %{name} will expire in 1 day" msgstr "" @@ -479,19 +484,19 @@ msgstr "" msgid "Certificate decode error" msgstr "Error de Certificado de Sincronización" -#: src/components/Notification/notifications.ts:31 +#: src/components/Notification/notifications.ts:137 #, fuzzy msgid "Certificate Expiration Notice" msgstr "Plantillas de configuración" -#: src/components/Notification/notifications.ts:27 +#: src/components/Notification/notifications.ts:133 #, fuzzy msgid "Certificate Expired" msgstr "Lista de Certificados" -#: src/components/Notification/notifications.ts:35 -#: src/components/Notification/notifications.ts:39 -#: src/components/Notification/notifications.ts:43 +#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:149 #, fuzzy msgid "Certificate Expiring Soon" msgstr "El certificado expiró" @@ -552,7 +557,7 @@ msgid_plural "Changed Certificates" msgstr[0] "Cambiar Certificado" msgstr[1] "Cambiar Certificados" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 msgid "Changed Path" msgstr "Ruta cambiada" @@ -623,6 +628,26 @@ msgstr "" msgid "Click to copy" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:307 +msgid "Client Body Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:289 +msgid "Client Header Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:259 +msgid "Client Max Body Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:308 +msgid "Client request body buffer size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:290 +msgid "Client request header buffer size" +msgstr "" + #: src/components/ConfigHistory/ConfigHistory.vue:169 msgid "Close" msgstr "" @@ -655,6 +680,10 @@ msgstr "" msgid "Compare with Current" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:248 +msgid "Compression level, 1 is lowest, 9 is highest" +msgstr "" + #: src/constants/errors/backup.ts:14 #, fuzzy msgid "Config path is empty" @@ -673,7 +702,7 @@ msgstr "El archivo de configuración se probó exitosamente" msgid "Configuration History" msgstr "Configuraciones" -#: src/views/dashboard/components/PerformanceTablesCard.vue:168 +#: src/views/dashboard/components/PerformanceTablesCard.vue:167 #, fuzzy msgid "Configuration information" msgstr "Configuraciones" @@ -694,7 +723,7 @@ msgstr "Configurar SSL" msgid "Connected" msgstr "Conectado" -#: src/views/dashboard/NginxDashBoard.vue:84 +#: src/views/dashboard/NginxDashBoard.vue:85 msgid "Connection error, trying to reconnect..." msgstr "" @@ -702,6 +731,10 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "Conexión perdida, por favor actualice la página." +#: src/views/dashboard/components/PerformanceOptimization.vue:207 +msgid "Connection timeout period" +msgstr "" + #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:118 #: src/views/site/ngx_conf/LocationEditor.vue:115 #: src/views/site/ngx_conf/LocationEditor.vue:143 @@ -808,7 +841,7 @@ msgstr "La cuenta actual tiene habilitada TOTP." msgid "Current account is not enabled TOTP." msgstr "La cuenta actual no tiene habilitada TOTP." -#: src/views/dashboard/components/ConnectionMetricsCard.vue:28 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:27 msgid "Current active connections" msgstr "" @@ -839,8 +872,8 @@ msgstr "" "Personalice el nombre del servidor local para mostrarlo en el indicador de " "entorno." -#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:107 -#: src/views/config/ConfigEditor.vue:158 src/views/config/ConfigList.vue:67 +#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:110 +#: src/views/config/ConfigEditor.vue:161 src/views/config/ConfigList.vue:67 msgid "Dashboard" msgstr "Panel" @@ -877,30 +910,30 @@ msgstr "Renovar Certificado" msgid "Delete Permanently" msgstr "Eliminar Permanentemente" -#: src/components/Notification/notifications.ts:75 src/language/constants.ts:50 +#: src/components/Notification/notifications.ts:9 src/language/constants.ts:50 msgid "Delete Remote Site Error" msgstr "Error al eliminar sitio remoto" -#: src/components/Notification/notifications.ts:79 src/language/constants.ts:49 +#: src/components/Notification/notifications.ts:13 src/language/constants.ts:49 msgid "Delete Remote Site Success" msgstr "Borrado del sitio remoto correcto" -#: src/components/Notification/notifications.ts:133 +#: src/components/Notification/notifications.ts:67 #, fuzzy msgid "Delete Remote Stream Error" msgstr "Error al eliminar sitio remoto" -#: src/components/Notification/notifications.ts:137 +#: src/components/Notification/notifications.ts:71 #, fuzzy msgid "Delete Remote Stream Success" msgstr "Borrado del sitio remoto correcto" -#: src/components/Notification/notifications.ts:76 +#: src/components/Notification/notifications.ts:10 #, fuzzy msgid "Delete site %{name} from %{node} failed" msgstr "Falló el desplegado de %{conf_name} a %{node_name}" -#: src/components/Notification/notifications.ts:80 +#: src/components/Notification/notifications.ts:14 #, fuzzy msgid "Delete site %{name} from %{node} successfully" msgstr "Duplicado con éxito de %{conf_name} a %{node_name}" @@ -909,12 +942,12 @@ msgstr "Duplicado con éxito de %{conf_name} a %{node_name}" msgid "Delete site: %{site_name}" msgstr "Eliminar sitio: %{site_name}" -#: src/components/Notification/notifications.ts:134 +#: src/components/Notification/notifications.ts:68 #, fuzzy msgid "Delete stream %{name} from %{node} failed" msgstr "Falló el desplegado de %{conf_name} a %{node_name}" -#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:72 #, fuzzy msgid "Delete stream %{name} from %{node} successfully" msgstr "Duplicado con éxito de %{conf_name} a %{node_name}" @@ -931,7 +964,7 @@ msgstr "Borrado exitoso" msgid "Demo" msgstr "" -#: src/views/config/ConfigEditor.vue:334 +#: src/views/config/ConfigEditor.vue:340 msgid "Deploy" msgstr "Desplegar" @@ -989,60 +1022,60 @@ msgstr "Desactivar" msgid "Disable auto-renewal failed for %{name}" msgstr "No se pudo desactivar la renovación automática por %{name}" -#: src/components/Notification/notifications.ts:83 src/language/constants.ts:52 +#: src/components/Notification/notifications.ts:17 src/language/constants.ts:52 msgid "Disable Remote Site Error" msgstr "Error al deshabilitar el sitio remoto" -#: src/components/Notification/notifications.ts:107 +#: src/components/Notification/notifications.ts:41 #, fuzzy msgid "Disable Remote Site Maintenance Error" msgstr "Error al deshabilitar el sitio remoto" -#: src/components/Notification/notifications.ts:111 +#: src/components/Notification/notifications.ts:45 #, fuzzy msgid "Disable Remote Site Maintenance Success" msgstr "Deshabilitado de sitio remoto exitoso" -#: src/components/Notification/notifications.ts:87 src/language/constants.ts:51 +#: src/components/Notification/notifications.ts:21 src/language/constants.ts:51 msgid "Disable Remote Site Success" msgstr "Deshabilitado de sitio remoto exitoso" -#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:75 #, fuzzy msgid "Disable Remote Stream Error" msgstr "Error al deshabilitar el sitio remoto" -#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:79 #, fuzzy msgid "Disable Remote Stream Success" msgstr "Deshabilitado de sitio remoto exitoso" -#: src/components/Notification/notifications.ts:84 +#: src/components/Notification/notifications.ts:18 #, fuzzy msgid "Disable site %{name} from %{node} failed" msgstr "Habilitado exitoso de %{conf_name} en %{node_name}" -#: src/components/Notification/notifications.ts:88 +#: src/components/Notification/notifications.ts:22 #, fuzzy msgid "Disable site %{name} from %{node} successfully" msgstr "Habilitado exitoso de %{conf_name} en %{node_name}" -#: src/components/Notification/notifications.ts:108 +#: src/components/Notification/notifications.ts:42 #, fuzzy msgid "Disable site %{name} maintenance on %{node} failed" msgstr "Habilitado exitoso de %{conf_name} en %{node_name}" -#: src/components/Notification/notifications.ts:112 +#: src/components/Notification/notifications.ts:46 #, fuzzy msgid "Disable site %{name} maintenance on %{node} successfully" msgstr "Habilitado exitoso de %{conf_name} en %{node_name}" -#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:76 #, fuzzy msgid "Disable stream %{name} from %{node} failed" msgstr "Falló el habilitado de %{conf_name} en %{node_name}" -#: src/components/Notification/notifications.ts:146 +#: src/components/Notification/notifications.ts:80 #, fuzzy msgid "Disable stream %{name} from %{node} successfully" msgstr "Habilitado exitoso de %{conf_name} en %{node_name}" @@ -1178,7 +1211,7 @@ msgstr "Editar %{n}" msgid "Edit %{n}" msgstr "Editar %{n}" -#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:246 msgid "Edit Configuration" msgstr "Editar Configuración" @@ -1216,6 +1249,10 @@ msgstr "Habilitar 2FA exitoso" msgid "Enable auto-renewal failed for %{name}" msgstr "No se pudo activar la renovación automática por %{name}" +#: src/views/dashboard/components/PerformanceOptimization.vue:222 +msgid "Enable compression for content transfer" +msgstr "" + #: src/views/site/site_add/SiteAdd.vue:43 msgid "Enable failed" msgstr "Falló la habilitación" @@ -1225,67 +1262,67 @@ msgstr "Falló la habilitación" msgid "Enable HTTPS" msgstr "Habilitar TLS" -#: src/components/Notification/notifications.ts:91 src/language/constants.ts:54 +#: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 #, fuzzy msgid "Enable Remote Site Error" msgstr "Error al renombrar la configuración remota" -#: src/components/Notification/notifications.ts:99 +#: src/components/Notification/notifications.ts:33 #, fuzzy msgid "Enable Remote Site Maintenance Error" msgstr "Error al renombrar la configuración remota" -#: src/components/Notification/notifications.ts:103 +#: src/components/Notification/notifications.ts:37 #, fuzzy msgid "Enable Remote Site Maintenance Success" msgstr "Renombrar Configuración Remota Exitosa" -#: src/components/Notification/notifications.ts:95 src/language/constants.ts:53 +#: src/components/Notification/notifications.ts:29 src/language/constants.ts:53 #, fuzzy msgid "Enable Remote Site Success" msgstr "Renombrar Configuración Remota Exitosa" -#: src/components/Notification/notifications.ts:149 +#: src/components/Notification/notifications.ts:83 #, fuzzy msgid "Enable Remote Stream Error" msgstr "Error al renombrar la configuración remota" -#: src/components/Notification/notifications.ts:153 +#: src/components/Notification/notifications.ts:87 #, fuzzy msgid "Enable Remote Stream Success" msgstr "Renombrar Configuración Remota Exitosa" -#: src/components/Notification/notifications.ts:100 +#: src/components/Notification/notifications.ts:34 #, fuzzy msgid "Enable site %{name} maintenance on %{node} failed" msgstr "Falló el habilitado de %{conf_name} en %{node_name}" -#: src/components/Notification/notifications.ts:104 +#: src/components/Notification/notifications.ts:38 #, fuzzy msgid "Enable site %{name} maintenance on %{node} successfully" msgstr "Habilitado exitoso de %{conf_name} en %{node_name}" -#: src/components/Notification/notifications.ts:92 +#: src/components/Notification/notifications.ts:26 #, fuzzy msgid "Enable site %{name} on %{node} failed" msgstr "Falló el habilitado de %{conf_name} en %{node_name}" -#: src/components/Notification/notifications.ts:96 +#: src/components/Notification/notifications.ts:30 #, fuzzy msgid "Enable site %{name} on %{node} successfully" msgstr "Habilitado exitoso de %{conf_name} en %{node_name}" -#: src/components/Notification/notifications.ts:150 +#: src/components/Notification/notifications.ts:84 #, fuzzy msgid "Enable stream %{name} on %{node} failed" msgstr "Falló el habilitado de %{conf_name} en %{node_name}" -#: src/components/Notification/notifications.ts:154 +#: src/components/Notification/notifications.ts:88 #, fuzzy msgid "Enable stream %{name} on %{node} successfully" msgstr "Habilitado exitoso de %{conf_name} en %{node_name}" -#: src/views/dashboard/NginxDashBoard.vue:149 +#: src/views/dashboard/NginxDashBoard.vue:150 msgid "Enable stub_status module" msgstr "" @@ -1585,6 +1622,11 @@ msgstr "No se pudo obtener la información del certificado" msgid "Failed to get certificate information" msgstr "No se pudo obtener la información del certificado" +#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#, fuzzy +msgid "Failed to get Nginx performance settings" +msgstr "No se pudo obtener la información del certificado" + #: src/composables/useNginxPerformance.ts:49 #, fuzzy msgid "Failed to get performance data" @@ -1649,6 +1691,11 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "Falla al obtener el certificado" +#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#, fuzzy +msgid "Failed to save Nginx performance settings" +msgstr "No se pudo obtener la información del certificado" + #: src/views/site/site_edit/SiteEdit.vue:139 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." @@ -1718,15 +1765,15 @@ msgstr "Para usuario chino: https://mirror.ghproxy.com/" msgid "Form parse failed" msgstr "Duplicado fallido" -#: src/views/config/ConfigEditor.vue:265 +#: src/views/config/ConfigEditor.vue:271 msgid "Format Code" msgstr "Código de formato" -#: src/views/config/ConfigEditor.vue:213 +#: src/views/config/ConfigEditor.vue:218 msgid "Format error %{msg}" msgstr "Error de formato %{msg}" -#: src/views/config/ConfigEditor.vue:211 +#: src/views/config/ConfigEditor.vue:216 msgid "Format successfully" msgstr "Formateado correctamente" @@ -1758,7 +1805,7 @@ msgstr "Recuperado con éxito" msgid "Generating private key for registering account" msgstr "Generando clave privada para registrar cuenta" -#: src/views/dashboard/NginxDashBoard.vue:140 +#: src/views/dashboard/NginxDashBoard.vue:141 #, fuzzy msgid "Get data failed" msgstr "Fallo en el registro" @@ -1776,6 +1823,18 @@ msgstr "Obteniendo el certificado, por favor espere..." msgid "Github Proxy" msgstr "Proxy Github" +#: src/views/dashboard/components/PerformanceOptimization.vue:221 +msgid "GZIP Compression" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:247 +msgid "GZIP Compression Level" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:233 +msgid "GZIP Min Length" +msgstr "" + #: src/constants/errors/backup.ts:59 msgid "Hash verification failed: file integrity compromised" msgstr "" @@ -1788,7 +1847,7 @@ msgstr "Ocultar" msgid "Higher value means better connection reuse" msgstr "" -#: src/views/config/ConfigEditor.vue:251 +#: src/views/config/ConfigEditor.vue:256 #: src/views/site/site_edit/SiteEdit.vue:212 #: src/views/stream/StreamEdit.vue:195 #, fuzzy @@ -1891,7 +1950,7 @@ msgstr "" msgid "Indexing..." msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:16 +#: src/views/dashboard/components/PerformanceTablesCard.vue:15 msgid "Indicator" msgstr "" @@ -1965,7 +2024,7 @@ msgid "Invalid file path: {0}" msgstr "Nombre de archivo inválido" #: src/views/config/components/Rename.vue:66 -#: src/views/config/ConfigEditor.vue:299 +#: src/views/config/ConfigEditor.vue:305 msgid "Invalid filename" msgstr "Nombre de archivo inválido" @@ -2029,12 +2088,20 @@ msgstr "Emisor: %{issuer}" msgid "Jwt Secret" msgstr "Secreto Jwt" +#: src/views/dashboard/components/PerformanceOptimization.vue:242 +msgid "KB" +msgstr "" + #: src/views/preference/components/RecoveryCodes.vue:74 msgid "" "Keep your recovery codes as safe as your password. We recommend saving them " "with a password manager." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:206 +msgid "Keepalive Timeout" +msgstr "" + #: src/views/certificate/CertificateList/certColumns.tsx:59 #: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" @@ -2057,7 +2124,7 @@ msgstr "Personalizado" msgid "Last checked at" msgstr "Comprobado por última vez el" -#: src/views/dashboard/NginxDashBoard.vue:115 +#: src/views/dashboard/NginxDashBoard.vue:116 #, fuzzy msgid "Last update" msgstr "Comprobado por última vez el" @@ -2122,7 +2189,7 @@ msgstr "Cargar desde configuraciones" msgid "Load successfully" msgstr "Cargado con éxito" -#: src/views/dashboard/NginxDashBoard.vue:177 +#: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2204,8 +2271,8 @@ msgstr "" "Asegúrese de haber configurado un proxy reverso para el directorio .well-" "known en HTTPChallengePort antes de obtener el certificado." -#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:112 -#: src/views/config/ConfigEditor.vue:163 src/views/config/ConfigList.vue:72 +#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:115 +#: src/views/config/ConfigEditor.vue:166 src/views/config/ConfigList.vue:72 msgid "Manage Configs" msgstr "Administrar configuraciones" @@ -2225,7 +2292,11 @@ msgstr "Administrar usuarios" msgid "Managed Certificate" msgstr "Certificado Administrado" -#: src/views/dashboard/components/PerformanceTablesCard.vue:202 +#: src/views/dashboard/components/PerformanceOptimization.vue:179 +msgid "Manual" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:201 msgid "manually set" msgstr "" @@ -2234,7 +2305,7 @@ msgid "Master" msgstr "" #: src/composables/usePerformanceMetrics.ts:136 -#: src/views/dashboard/components/PerformanceTablesCard.vue:90 +#: src/views/dashboard/components/PerformanceTablesCard.vue:89 msgid "Master process" msgstr "" @@ -2256,12 +2327,21 @@ msgstr "Versión actual" msgid "Max Requests Per Second" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:260 +msgid "Maximum client request body size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#, fuzzy +msgid "Maximum number of concurrent connections" +msgstr "Versión actual" + #: src/composables/usePerformanceMetrics.ts:176 -#: src/views/dashboard/components/PerformanceTablesCard.vue:126 +#: src/views/dashboard/components/PerformanceTablesCard.vue:125 msgid "Maximum number of connections per worker process" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:196 +#: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2278,6 +2358,10 @@ msgstr "Memoria y almacenamiento" msgid "Memory Usage (RSS)" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:234 +msgid "Minimum file size for compression" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "Minutos" @@ -2319,7 +2403,7 @@ msgstr "Directiva multilínea" #: src/views/certificate/components/CertificateEditor.vue:162 #: src/views/certificate/DNSCredential.vue:11 #: src/views/config/components/Mkdir.vue:64 -#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:305 +#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:311 #: src/views/environments/group/columns.ts:8 #: src/views/environments/list/envColumns.tsx:9 #: src/views/nginx_log/NginxLogList.vue:37 @@ -2334,7 +2418,7 @@ msgstr "Directiva multilínea" msgid "Name" msgstr "Nombre" -#: src/views/dashboard/NginxDashBoard.vue:172 +#: src/views/dashboard/NginxDashBoard.vue:173 msgid "Need to enable the stub_status module" msgstr "" @@ -2363,7 +2447,7 @@ msgstr "Instalar" msgid "New name" msgstr "Nuevo nombre" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 msgid "New Path" msgstr "Nueva ruta" @@ -2406,6 +2490,11 @@ msgstr "" msgid "Nginx conf no stream block" msgstr "" +#: src/constants/errors/self_check.ts:14 +#, fuzzy +msgid "Nginx conf not include conf.d directory" +msgstr "Comando de inicio de terminal" + #: src/constants/errors/self_check.ts:6 msgid "Nginx conf not include sites-enabled" msgstr "" @@ -2444,7 +2533,7 @@ msgid "Nginx Control" msgstr "Control de Nginx" #: src/composables/usePerformanceMetrics.ts:151 -#: src/views/dashboard/components/PerformanceTablesCard.vue:105 +#: src/views/dashboard/components/PerformanceTablesCard.vue:104 msgid "Nginx CPU usage rate" msgstr "" @@ -2453,14 +2542,14 @@ msgid "Nginx Error Log Path" msgstr "Ruta de registro de errores de Nginx" #: src/composables/useNginxPerformance.ts:43 -#: src/views/dashboard/NginxDashBoard.vue:111 -#: src/views/dashboard/NginxDashBoard.vue:130 -#: src/views/dashboard/NginxDashBoard.vue:79 +#: src/views/dashboard/NginxDashBoard.vue:112 +#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:80 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15 msgid "Nginx is not running" msgstr "Nginx no se está ejecutando" -#: src/views/dashboard/NginxDashBoard.vue:111 +#: src/views/dashboard/NginxDashBoard.vue:112 #, fuzzy msgid "Nginx is running" msgstr "Nginx no se está ejecutando" @@ -2474,7 +2563,7 @@ msgid "Nginx Log Directory Whitelist" msgstr "Lista blanca de directorios de registro de Nginx" #: src/composables/usePerformanceMetrics.ts:156 -#: src/views/dashboard/components/PerformanceTablesCard.vue:110 +#: src/views/dashboard/components/PerformanceTablesCard.vue:109 msgid "Nginx Memory usage" msgstr "" @@ -2513,7 +2602,7 @@ msgstr "Nginx reiniciado con éxito" msgid "Nginx Test Config Command" msgstr "Comando de inicio de terminal" -#: src/views/dashboard/components/PerformanceTablesCard.vue:181 +#: src/views/dashboard/components/PerformanceTablesCard.vue:180 msgid "Nginx theoretical maximum performance" msgstr "" @@ -2559,7 +2648,7 @@ msgstr "No" msgid "No Action" msgstr "Acción" -#: src/views/dashboard/NginxDashBoard.vue:179 +#: src/views/dashboard/NginxDashBoard.vue:180 msgid "No data" msgstr "" @@ -2641,10 +2730,14 @@ msgstr "Notificaciones" msgid "Notifier not found" msgstr "Archivo no Encontrado" +#: src/views/dashboard/components/PerformanceOptimization.vue:173 +msgid "Number of concurrent worker processes, auto sets to CPU core count" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:131 #: src/composables/usePerformanceMetrics.ts:171 -#: src/views/dashboard/components/PerformanceTablesCard.vue:121 -#: src/views/dashboard/components/PerformanceTablesCard.vue:85 +#: src/views/dashboard/components/PerformanceTablesCard.vue:120 +#: src/views/dashboard/components/PerformanceTablesCard.vue:84 msgid "Number of worker processes" msgstr "" @@ -2668,6 +2761,11 @@ msgstr "" "OCSP Must Staple puede causar errores para algunos usuarios en el primer " "acceso usando Firefox." +#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#, fuzzy +msgid "Off" +msgstr "Desconectado" + #: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 @@ -2699,6 +2797,10 @@ msgstr "Ok" msgid "OK" msgstr "OK" +#: src/views/dashboard/components/PerformanceOptimization.vue:226 +msgid "On" +msgstr "" + #: src/views/certificate/DNSCredential.vue:59 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." @@ -2719,6 +2821,14 @@ msgstr "" msgid "OpenAI" msgstr "OpenAI" +#: src/views/dashboard/components/PerformanceOptimization.vue:164 +msgid "Optimize Nginx Performance" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:158 +msgid "Optimize Performance" +msgstr "" + #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "O" @@ -2740,7 +2850,7 @@ msgid "OS:" msgstr "SO:" #: src/composables/usePerformanceMetrics.ts:146 -#: src/views/dashboard/components/PerformanceTablesCard.vue:100 +#: src/views/dashboard/components/PerformanceTablesCard.vue:99 msgid "Other Nginx processes" msgstr "" @@ -2758,11 +2868,11 @@ msgstr "" msgid "Otp or recovery code empty" msgstr "Usar código de recuperación" -#: src/views/config/ConfigEditor.vue:343 +#: src/views/config/ConfigEditor.vue:349 msgid "Overwrite" msgstr "Sobrescribir" -#: src/views/config/ConfigEditor.vue:347 +#: src/views/config/ConfigEditor.vue:353 msgid "Overwrite exist file" msgstr "Sobrescribir archivo existente" @@ -2807,7 +2917,7 @@ msgstr "El nombre de usuario o contraseña son incorrectos" msgid "Password length cannot exceed 20 characters" msgstr "" -#: src/views/config/ConfigEditor.vue:312 +#: src/views/config/ConfigEditor.vue:318 #: src/views/nginx_log/NginxLogList.vue:45 #: src/views/site/ngx_conf/LocationEditor.vue:109 #: src/views/site/ngx_conf/LocationEditor.vue:137 @@ -2830,10 +2940,15 @@ msgstr "Realizar" msgid "Perform core upgrade error" msgstr "Error al ejecutar la actualización del kernel" -#: src/views/dashboard/NginxDashBoard.vue:184 +#: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#, fuzzy +msgid "Performance settings saved successfully" +msgstr "Desactivado con éxito" + #: src/language/constants.ts:28 msgid "Performing core upgrade" msgstr "Realizando la actualizaciónd el kernel" @@ -2842,7 +2957,7 @@ msgstr "Realizando la actualizaciónd el kernel" msgid "Plain text is empty" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:173 +#: src/views/dashboard/NginxDashBoard.vue:174 msgid "" "Please enable the stub_status module to get request statistics, connection " "count, etc." @@ -2892,7 +3007,7 @@ msgstr "" "luego seleccione una de las credenciales de aquí debajo para llamar a la API " "del proveedor de DNS." -#: src/components/Notification/notifications.ts:176 +#: src/components/Notification/notifications.ts:110 #: src/language/constants.ts:59 msgid "" "Please generate new recovery codes in the preferences immediately to prevent " @@ -2900,7 +3015,7 @@ msgid "" msgstr "" #: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:298 +#: src/views/config/ConfigEditor.vue:304 msgid "Please input a filename" msgstr "Por favor, ingrese un nombre de archivo" @@ -3005,7 +3120,7 @@ msgstr "Preparar la configuración de LEGO" msgid "Process Distribution" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:155 +#: src/views/dashboard/components/PerformanceTablesCard.vue:154 #, fuzzy msgid "Process information" msgstr "Información general" @@ -3036,7 +3151,7 @@ msgid "Public Security Number" msgstr "" #: src/composables/usePerformanceMetrics.ts:106 -#: src/views/dashboard/components/PerformanceTablesCard.vue:64 +#: src/views/dashboard/components/PerformanceTablesCard.vue:63 msgid "Read requests" msgstr "" @@ -3146,22 +3261,22 @@ msgstr "Recargar" msgid "Reload Nginx" msgstr "Recargando Nginx" -#: src/components/Notification/notifications.ts:10 +#: src/components/Notification/notifications.ts:116 #, fuzzy msgid "Reload Nginx on %{node} failed, response: %{resp}" msgstr "Eliminar sitio: %{site_name}" -#: src/components/Notification/notifications.ts:14 +#: src/components/Notification/notifications.ts:120 #, fuzzy msgid "Reload Nginx on %{node} successfully" msgstr "Interfaz de usuario de Nginx actualizada en %{node} con éxito 🎉" -#: src/components/Notification/notifications.ts:9 +#: src/components/Notification/notifications.ts:115 #, fuzzy msgid "Reload Remote Nginx Error" msgstr "Error al renombrar la configuración remota" -#: src/components/Notification/notifications.ts:13 +#: src/components/Notification/notifications.ts:119 #, fuzzy msgid "Reload Remote Nginx Success" msgstr "Renombrar Configuración Remota Exitosa" @@ -3200,61 +3315,61 @@ msgstr "Eliminado con éxito" msgid "Rename" msgstr "Renombrar" -#: src/components/Notification/notifications.ts:66 +#: src/components/Notification/notifications.ts:172 #, fuzzy msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed" msgstr "Renombrar %{orig_path} a %{new_path} en %{env_name} con éxito" -#: src/components/Notification/notifications.ts:70 +#: src/components/Notification/notifications.ts:176 msgid "Rename %{orig_path} to %{new_path} on %{env_name} successfully" msgstr "Renombrar %{orig_path} a %{new_path} en %{env_name} con éxito" -#: src/components/Notification/notifications.ts:65 src/language/constants.ts:42 +#: src/components/Notification/notifications.ts:171 +#: src/language/constants.ts:42 msgid "Rename Remote Config Error" msgstr "Error al renombrar la configuración remota" -#: src/components/Notification/notifications.ts:69 src/language/constants.ts:41 +#: src/components/Notification/notifications.ts:175 +#: src/language/constants.ts:41 msgid "Rename Remote Config Success" msgstr "Renombrar Configuración Remota Exitosa" -#: src/components/Notification/notifications.ts:115 -#: src/language/constants.ts:56 +#: src/components/Notification/notifications.ts:49 src/language/constants.ts:56 #, fuzzy msgid "Rename Remote Site Error" msgstr "Error al renombrar la configuración remota" -#: src/components/Notification/notifications.ts:119 -#: src/language/constants.ts:55 +#: src/components/Notification/notifications.ts:53 src/language/constants.ts:55 #, fuzzy msgid "Rename Remote Site Success" msgstr "Renombrar Configuración Remota Exitosa" -#: src/components/Notification/notifications.ts:157 +#: src/components/Notification/notifications.ts:91 #, fuzzy msgid "Rename Remote Stream Error" msgstr "Error al renombrar la configuración remota" -#: src/components/Notification/notifications.ts:161 +#: src/components/Notification/notifications.ts:95 #, fuzzy msgid "Rename Remote Stream Success" msgstr "Renombrar Configuración Remota Exitosa" -#: src/components/Notification/notifications.ts:116 +#: src/components/Notification/notifications.ts:50 #, fuzzy msgid "Rename site %{name} to %{new_name} on %{node} failed" msgstr "Renombrar %{orig_path} a %{new_path} en %{env_name} con éxito" -#: src/components/Notification/notifications.ts:120 +#: src/components/Notification/notifications.ts:54 #, fuzzy msgid "Rename site %{name} to %{new_name} on %{node} successfully" msgstr "Renombrar %{orig_path} a %{new_path} en %{env_name} con éxito" -#: src/components/Notification/notifications.ts:158 +#: src/components/Notification/notifications.ts:92 #, fuzzy msgid "Rename stream %{name} to %{new_name} on %{node} failed" msgstr "Renombrar %{orig_path} a %{new_path} en %{env_name} con éxito" -#: src/components/Notification/notifications.ts:162 +#: src/components/Notification/notifications.ts:96 #, fuzzy msgid "Rename stream %{name} to %{new_name} on %{node} successfully" msgstr "Renombrar %{orig_path} a %{new_path} en %{env_name} con éxito" @@ -3288,7 +3403,7 @@ msgstr "Renovado de Certificado exitoso" msgid "Renew successfully" msgstr "Renovado con éxito" -#: src/views/dashboard/components/PerformanceTablesCard.vue:142 +#: src/views/dashboard/components/PerformanceTablesCard.vue:141 #, fuzzy msgid "Request statistics" msgstr "Estadísticas de red" @@ -3321,7 +3436,7 @@ msgid "" msgstr "" #: src/composables/usePerformanceMetrics.ts:111 -#: src/views/dashboard/components/PerformanceTablesCard.vue:69 +#: src/views/dashboard/components/PerformanceTablesCard.vue:68 msgid "Responses" msgstr "" @@ -3336,22 +3451,22 @@ msgstr "Reiniciar" msgid "Restart Nginx" msgstr "Reiniciando" -#: src/components/Notification/notifications.ts:18 +#: src/components/Notification/notifications.ts:124 #, fuzzy msgid "Restart Nginx on %{node} failed, response: %{resp}" msgstr "Habilitado exitoso de %{conf_name} en %{node_name}" -#: src/components/Notification/notifications.ts:22 +#: src/components/Notification/notifications.ts:128 #, fuzzy msgid "Restart Nginx on %{node} successfully" msgstr "Interfaz de usuario de Nginx actualizada en %{node} con éxito 🎉" -#: src/components/Notification/notifications.ts:17 +#: src/components/Notification/notifications.ts:123 #, fuzzy msgid "Restart Remote Nginx Error" msgstr "Error al renombrar la configuración remota" -#: src/components/Notification/notifications.ts:21 +#: src/components/Notification/notifications.ts:127 #, fuzzy msgid "Restart Remote Nginx Success" msgstr "Renombrar Configuración Remota Exitosa" @@ -3437,7 +3552,7 @@ msgstr "Corriendo" #: src/components/StdDesign/StdDetail/StdDetail.vue:93 #: src/views/certificate/components/CertificateEditor.vue:264 #: src/views/config/components/ConfigName.vue:59 -#: src/views/config/ConfigEditor.vue:271 +#: src/views/config/ConfigEditor.vue:277 #: src/views/preference/components/Passkey.vue:130 #: src/views/preference/Preference.vue:229 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:127 @@ -3457,44 +3572,42 @@ msgstr "Guardar Directiva" msgid "Save error %{msg}" msgstr "Error al guardar %{msg}" -#: src/components/Notification/notifications.ts:123 -#: src/language/constants.ts:48 +#: src/components/Notification/notifications.ts:57 src/language/constants.ts:48 #, fuzzy msgid "Save Remote Site Error" msgstr "Error al renombrar la configuración remota" -#: src/components/Notification/notifications.ts:127 -#: src/language/constants.ts:47 +#: src/components/Notification/notifications.ts:61 src/language/constants.ts:47 #, fuzzy msgid "Save Remote Site Success" msgstr "Renombrar Configuración Remota Exitosa" -#: src/components/Notification/notifications.ts:165 +#: src/components/Notification/notifications.ts:99 #, fuzzy msgid "Save Remote Stream Error" msgstr "Error al renombrar la configuración remota" -#: src/components/Notification/notifications.ts:169 +#: src/components/Notification/notifications.ts:103 #, fuzzy msgid "Save Remote Stream Success" msgstr "Renombrar Configuración Remota Exitosa" -#: src/components/Notification/notifications.ts:124 +#: src/components/Notification/notifications.ts:58 #, fuzzy msgid "Save site %{name} to %{node} failed" msgstr "Duplicado con éxito de %{conf_name} a %{node_name}" -#: src/components/Notification/notifications.ts:128 +#: src/components/Notification/notifications.ts:62 #, fuzzy msgid "Save site %{name} to %{node} successfully" msgstr "Duplicado con éxito de %{conf_name} a %{node_name}" -#: src/components/Notification/notifications.ts:166 +#: src/components/Notification/notifications.ts:100 #, fuzzy msgid "Save stream %{name} to %{node} failed" msgstr "Falló el desplegado de %{conf_name} a %{node_name}" -#: src/components/Notification/notifications.ts:170 +#: src/components/Notification/notifications.ts:104 #, fuzzy msgid "Save stream %{name} to %{node} successfully" msgstr "Duplicado con éxito de %{conf_name} a %{node_name}" @@ -3506,7 +3619,7 @@ msgstr "Duplicado con éxito de %{conf_name} a %{node_name}" msgid "Save successfully" msgstr "Guardado con éxito" -#: src/views/config/ConfigEditor.vue:191 +#: src/views/config/ConfigEditor.vue:194 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/site/site_add/SiteAdd.vue:37 #: src/views/site/site_edit/SiteEdit.vue:157 @@ -3524,6 +3637,10 @@ msgstr "" msgid "SDK" msgstr "SDK" +#: src/views/dashboard/components/PerformanceOptimization.vue:216 +msgid "seconds" +msgstr "" + #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "El secreto ha sido copiado" @@ -3564,6 +3681,14 @@ msgstr "Información del servidor" msgid "Server Info" msgstr "Información del servidor" +#: src/views/dashboard/components/PerformanceOptimization.vue:277 +msgid "Server Names Hash Bucket Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:278 +msgid "Server names hash table size" +msgstr "" + #: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "No se encuentra server_name en las directivas" @@ -3818,38 +3943,42 @@ msgstr "Sincronizar" msgid "Sync Certificate" msgstr "Sincronizar Certificado" -#: src/components/Notification/notifications.ts:48 +#: src/components/Notification/notifications.ts:154 #, fuzzy msgid "Sync Certificate %{cert_name} to %{env_name} failed" msgstr "Sincronización del Certificado %{cert_name} a %{env_name} exitosa" -#: src/components/Notification/notifications.ts:52 +#: src/components/Notification/notifications.ts:158 msgid "Sync Certificate %{cert_name} to %{env_name} successfully" msgstr "Sincronización del Certificado %{cert_name} a %{env_name} exitosa" -#: src/components/Notification/notifications.ts:47 src/language/constants.ts:39 +#: src/components/Notification/notifications.ts:153 +#: src/language/constants.ts:39 msgid "Sync Certificate Error" msgstr "Error de Certificado de Sincronización" -#: src/components/Notification/notifications.ts:51 src/language/constants.ts:38 +#: src/components/Notification/notifications.ts:157 +#: src/language/constants.ts:38 msgid "Sync Certificate Success" msgstr "Sincronización del Certificado exitosa" -#: src/components/Notification/notifications.ts:58 +#: src/components/Notification/notifications.ts:164 #, fuzzy msgid "Sync config %{config_name} to %{env_name} failed" msgstr "Sincronizar configuración %{config_name} con %{env_name} exitosamente" -#: src/components/Notification/notifications.ts:62 +#: src/components/Notification/notifications.ts:168 #, fuzzy msgid "Sync config %{config_name} to %{env_name} successfully" msgstr "Sincronizar configuración %{config_name} con %{env_name} exitosamente" -#: src/components/Notification/notifications.ts:57 src/language/constants.ts:45 +#: src/components/Notification/notifications.ts:163 +#: src/language/constants.ts:45 msgid "Sync Config Error" msgstr "Error de Configuración de Sincronización" -#: src/components/Notification/notifications.ts:61 src/language/constants.ts:44 +#: src/components/Notification/notifications.ts:167 +#: src/language/constants.ts:44 msgid "Sync Config Success" msgstr "Configuración de sincronización exitosa" @@ -4026,11 +4155,11 @@ 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/dashboard/components/PerformanceTablesCard.vue:185 +#: src/views/dashboard/components/PerformanceTablesCard.vue:184 msgid "Theoretical maximum concurrent connections:" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:189 +#: src/views/dashboard/components/PerformanceTablesCard.vue:188 msgid "Theoretical maximum RPS (Requests Per Second):" msgstr "" @@ -4078,7 +4207,7 @@ msgstr "" "El nombre del modelo solo debe contener letras, unicode, números, guiones, " "rayas y puntos." -#: src/views/dashboard/NginxDashBoard.vue:152 +#: src/views/dashboard/NginxDashBoard.vue:153 msgid "" "This module provides Nginx request statistics, connection count, etc. data. " "After enabling it, you can view performance statistics" @@ -4131,7 +4260,7 @@ msgstr "Acelerador" msgid "Tips" msgstr "Consejos" -#: src/views/dashboard/components/PerformanceTablesCard.vue:207 +#: src/views/dashboard/components/PerformanceTablesCard.vue:206 msgid "" "Tips: You can increase the concurrency processing capacity by increasing " "worker_processes or worker_connections" @@ -4186,7 +4315,7 @@ msgstr "" "Estos proporcionan un API endpoint compatible con OpenAI, por lo que solo " "debe configurar la baseUrl en su API local." -#: src/views/dashboard/NginxDashBoard.vue:56 +#: src/views/dashboard/NginxDashBoard.vue:57 #, fuzzy msgid "Toggle failed" msgstr "Falló la habilitación" @@ -4202,12 +4331,12 @@ msgstr[0] "" msgstr[1] "" #: src/composables/usePerformanceMetrics.ts:96 -#: src/views/dashboard/components/PerformanceTablesCard.vue:54 +#: src/views/dashboard/components/PerformanceTablesCard.vue:53 msgid "Total connections" msgstr "" #: src/composables/usePerformanceMetrics.ts:91 -#: src/views/dashboard/components/PerformanceTablesCard.vue:49 +#: src/views/dashboard/components/PerformanceTablesCard.vue:48 msgid "Total handshakes" msgstr "" @@ -4220,7 +4349,7 @@ msgid "Total Nginx Processes" msgstr "" #: src/composables/usePerformanceMetrics.ts:101 -#: src/views/dashboard/components/PerformanceTablesCard.vue:59 +#: src/views/dashboard/components/PerformanceTablesCard.vue:58 msgid "Total requests" msgstr "" @@ -4270,7 +4399,7 @@ msgstr "Actualización exitosa" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:325 +#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:331 #: src/views/environments/group/columns.ts:37 #: src/views/environments/list/envColumns.tsx:90 #: src/views/site/site_edit/RightSettings.vue:75 @@ -4351,7 +4480,7 @@ msgstr "Nombre de usuario (*)" msgid "Valid" msgstr "Válido" -#: src/views/dashboard/components/PerformanceTablesCard.vue:22 +#: src/views/dashboard/components/PerformanceTablesCard.vue:21 msgid "Value" msgstr "" @@ -4393,7 +4522,7 @@ msgid "Viewed" msgstr "Ver" #: src/composables/usePerformanceMetrics.ts:116 -#: src/views/dashboard/components/PerformanceTablesCard.vue:74 +#: src/views/dashboard/components/PerformanceTablesCard.vue:73 msgid "Waiting processes" msgstr "" @@ -4477,8 +4606,14 @@ msgid "" "codes." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#, fuzzy +msgid "Worker Connections" +msgstr "Versión actual" + #: src/composables/usePerformanceMetrics.ts:57 -#: src/views/dashboard/components/ConnectionMetricsCard.vue:49 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:48 +#: src/views/dashboard/components/PerformanceOptimization.vue:172 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" @@ -4784,9 +4919,6 @@ msgstr "Sus llaves de acceso" #~ msgid "Dir" #~ msgstr "Dir" -#~ msgid "Auto" -#~ msgstr "Automático" - #~ msgid "Dark" #~ msgstr "Oscuro" diff --git a/app/src/language/fr_FR/app.po b/app/src/language/fr_FR/app.po index f181433f..2731c670 100644 --- a/app/src/language/fr_FR/app.po +++ b/app/src/language/fr_FR/app.po @@ -57,7 +57,7 @@ msgid "Action" msgstr "Action" #: src/composables/usePerformanceMetrics.ts:86 -#: src/views/dashboard/components/PerformanceTablesCard.vue:44 +#: src/views/dashboard/components/PerformanceTablesCard.vue:43 msgid "Active connections" msgstr "" @@ -80,8 +80,8 @@ msgstr "Ajouter" msgid "Add a passkey" msgstr "Ajouter une clé d'accès" -#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:168 -#: src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:246 #, fuzzy msgid "Add Configuration" msgstr "Modifier la configuration" @@ -129,7 +129,7 @@ msgstr "" msgid "All" msgstr "Tous" -#: src/components/Notification/notifications.ts:175 +#: src/components/Notification/notifications.ts:109 #: src/language/constants.ts:58 msgid "All Recovery Codes Have Been Used" msgstr "Tous les codes de récupération ont été utilisés" @@ -288,7 +288,12 @@ msgstr "Options d'authentification" msgid "Author" msgstr "Autheur" -#: src/views/dashboard/components/PerformanceTablesCard.vue:201 +#: src/views/dashboard/components/PerformanceOptimization.vue:178 +#: src/views/dashboard/components/PerformanceOptimization.vue:189 +msgid "Auto" +msgstr "Auto" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:200 msgid "auto = CPU cores" msgstr "" @@ -313,7 +318,7 @@ msgid "Automatically indexed from site and stream configurations." msgstr "" #: src/views/certificate/components/CertificateEditor.vue:257 -#: src/views/config/ConfigEditor.vue:262 src/views/config/ConfigList.vue:112 +#: src/views/config/ConfigEditor.vue:268 src/views/config/ConfigList.vue:112 #: src/views/config/ConfigList.vue:195 src/views/nginx_log/NginxLog.vue:173 #: src/views/site/site_edit/SiteEdit.vue:285 #: src/views/stream/StreamEdit.vue:264 @@ -367,7 +372,7 @@ msgstr "" msgid "Base information" msgstr "Information générale" -#: src/views/config/ConfigEditor.vue:290 +#: src/views/config/ConfigEditor.vue:296 #: src/views/site/site_edit/RightSettings.vue:52 #: src/views/stream/components/RightSettings.vue:79 msgid "Basic" @@ -412,7 +417,7 @@ msgid "CA Dir" msgstr "" #: src/composables/usePerformanceMetrics.ts:141 -#: src/views/dashboard/components/PerformanceTablesCard.vue:95 +#: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" @@ -426,7 +431,7 @@ msgid "CADir" msgstr "" #: src/views/dashboard/components/PerformanceStatisticsCard.vue:43 -#: src/views/dashboard/components/PerformanceTablesCard.vue:191 +#: src/views/dashboard/components/PerformanceTablesCard.vue:190 msgid "" "Calculated based on worker_processes * worker_connections. Actual " "performance depends on hardware, configuration, and workload" @@ -456,7 +461,7 @@ msgstr "Interdire la modification du mot de passe root dans la démo" msgid "Cannot compare: Missing content" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:132 msgid "Cannot get performance data in this state" msgstr "" @@ -473,18 +478,18 @@ msgstr "Auto Cert" msgid "Cert path is not under the nginx conf dir" msgstr "Le chemin du certificat n'est pas dans le dossier conf de nginx" -#: src/components/Notification/notifications.ts:28 +#: src/components/Notification/notifications.ts:134 #, fuzzy msgid "Certificate %{name} has expired" msgstr "Modèles de configuration" -#: src/components/Notification/notifications.ts:32 -#: src/components/Notification/notifications.ts:36 -#: src/components/Notification/notifications.ts:40 +#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:146 msgid "Certificate %{name} will expire in %{days} days" msgstr "" -#: src/components/Notification/notifications.ts:44 +#: src/components/Notification/notifications.ts:150 msgid "Certificate %{name} will expire in 1 day" msgstr "" @@ -493,19 +498,19 @@ msgstr "" msgid "Certificate decode error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:31 +#: src/components/Notification/notifications.ts:137 #, fuzzy msgid "Certificate Expiration Notice" msgstr "Modèles de configuration" -#: src/components/Notification/notifications.ts:27 +#: src/components/Notification/notifications.ts:133 #, fuzzy msgid "Certificate Expired" msgstr "Liste des certifications" -#: src/components/Notification/notifications.ts:35 -#: src/components/Notification/notifications.ts:39 -#: src/components/Notification/notifications.ts:43 +#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:149 #, fuzzy msgid "Certificate Expiring Soon" msgstr "Le certificat a expiré" @@ -571,7 +576,7 @@ msgid_plural "Changed Certificates" msgstr[0] "Changer de certificat" msgstr[1] "Changer de certificat" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 #, fuzzy msgid "Changed Path" msgstr "Changer de certificat" @@ -649,6 +654,26 @@ msgstr "" msgid "Click to copy" msgstr "Clique pour copier" +#: src/views/dashboard/components/PerformanceOptimization.vue:307 +msgid "Client Body Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:289 +msgid "Client Header Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:259 +msgid "Client Max Body Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:308 +msgid "Client request body buffer size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:290 +msgid "Client request header buffer size" +msgstr "" + #: src/components/ConfigHistory/ConfigHistory.vue:169 msgid "Close" msgstr "" @@ -682,6 +707,10 @@ msgstr "" msgid "Compare with Current" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:248 +msgid "Compression level, 1 is lowest, 9 is highest" +msgstr "" + #: src/constants/errors/backup.ts:14 #, fuzzy msgid "Config path is empty" @@ -700,7 +729,7 @@ msgstr "Le fichier de configuration est testé avec succès" msgid "Configuration History" msgstr "Configurations" -#: src/views/dashboard/components/PerformanceTablesCard.vue:168 +#: src/views/dashboard/components/PerformanceTablesCard.vue:167 #, fuzzy msgid "Configuration information" msgstr "Configurations" @@ -721,7 +750,7 @@ msgstr "Configurer SSL" msgid "Connected" msgstr "Connecté" -#: src/views/dashboard/NginxDashBoard.vue:84 +#: src/views/dashboard/NginxDashBoard.vue:85 msgid "Connection error, trying to reconnect..." msgstr "" @@ -729,6 +758,10 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "Connexion perdue, merci de recharger la page." +#: src/views/dashboard/components/PerformanceOptimization.vue:207 +msgid "Connection timeout period" +msgstr "" + #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:118 #: src/views/site/ngx_conf/LocationEditor.vue:115 #: src/views/site/ngx_conf/LocationEditor.vue:143 @@ -838,7 +871,7 @@ msgstr "Le compte actuel a le TOTP d'activé." msgid "Current account is not enabled TOTP." msgstr "Le compte actuel n'a pas le TOTP d'activé." -#: src/views/dashboard/components/ConnectionMetricsCard.vue:28 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:27 msgid "Current active connections" msgstr "" @@ -869,8 +902,8 @@ msgid "" msgstr "" "Personnaliser le nom du nœud local affiché dans l'indicateur d'environnement" -#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:107 -#: src/views/config/ConfigEditor.vue:158 src/views/config/ConfigList.vue:67 +#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:110 +#: src/views/config/ConfigEditor.vue:161 src/views/config/ConfigList.vue:67 msgid "Dashboard" msgstr "Dashboard" @@ -907,32 +940,32 @@ msgstr "Changer de certificat" msgid "Delete Permanently" msgstr "Supprimer définitivement" -#: src/components/Notification/notifications.ts:75 src/language/constants.ts:50 +#: src/components/Notification/notifications.ts:9 src/language/constants.ts:50 #, fuzzy msgid "Delete Remote Site Error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:79 src/language/constants.ts:49 +#: src/components/Notification/notifications.ts:13 src/language/constants.ts:49 #, fuzzy msgid "Delete Remote Site Success" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:133 +#: src/components/Notification/notifications.ts:67 #, fuzzy msgid "Delete Remote Stream Error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:137 +#: src/components/Notification/notifications.ts:71 #, fuzzy msgid "Delete Remote Stream Success" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:76 +#: src/components/Notification/notifications.ts:10 #, fuzzy msgid "Delete site %{name} from %{node} failed" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:80 +#: src/components/Notification/notifications.ts:14 #, fuzzy msgid "Delete site %{name} from %{node} successfully" msgstr "Dupliqué avec succès" @@ -941,12 +974,12 @@ msgstr "Dupliqué avec succès" msgid "Delete site: %{site_name}" msgstr "Supprimer le site : %{site_name}" -#: src/components/Notification/notifications.ts:134 +#: src/components/Notification/notifications.ts:68 #, fuzzy msgid "Delete stream %{name} from %{node} failed" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:72 #, fuzzy msgid "Delete stream %{name} from %{node} successfully" msgstr "Dupliqué avec succès" @@ -965,7 +998,7 @@ msgstr "Désactivé avec succès" msgid "Demo" msgstr "" -#: src/views/config/ConfigEditor.vue:334 +#: src/views/config/ConfigEditor.vue:340 msgid "Deploy" msgstr "Déployer" @@ -1025,62 +1058,62 @@ msgstr "Désactivé" msgid "Disable auto-renewal failed for %{name}" msgstr "La désactivation du renouvellement automatique a échoué pour %{name}" -#: src/components/Notification/notifications.ts:83 src/language/constants.ts:52 +#: src/components/Notification/notifications.ts:17 src/language/constants.ts:52 #, fuzzy msgid "Disable Remote Site Error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:107 +#: src/components/Notification/notifications.ts:41 #, fuzzy msgid "Disable Remote Site Maintenance Error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:111 +#: src/components/Notification/notifications.ts:45 #, fuzzy msgid "Disable Remote Site Maintenance Success" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:87 src/language/constants.ts:51 +#: src/components/Notification/notifications.ts:21 src/language/constants.ts:51 #, fuzzy msgid "Disable Remote Site Success" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:75 #, fuzzy msgid "Disable Remote Stream Error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:79 #, fuzzy msgid "Disable Remote Stream Success" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:84 +#: src/components/Notification/notifications.ts:18 #, fuzzy msgid "Disable site %{name} from %{node} failed" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:88 +#: src/components/Notification/notifications.ts:22 #, fuzzy msgid "Disable site %{name} from %{node} successfully" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:108 +#: src/components/Notification/notifications.ts:42 #, fuzzy msgid "Disable site %{name} maintenance on %{node} failed" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:112 +#: src/components/Notification/notifications.ts:46 #, fuzzy msgid "Disable site %{name} maintenance on %{node} successfully" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:76 #, fuzzy msgid "Disable stream %{name} from %{node} failed" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:146 +#: src/components/Notification/notifications.ts:80 #, fuzzy msgid "Disable stream %{name} from %{node} successfully" msgstr "Dupliqué avec succès" @@ -1223,7 +1256,7 @@ msgstr "Modifier %{n}" msgid "Edit %{n}" msgstr "Modifier %{n}" -#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:246 msgid "Edit Configuration" msgstr "Modifier la configuration" @@ -1265,6 +1298,10 @@ msgstr "Activé avec succès" msgid "Enable auto-renewal failed for %{name}" msgstr "Échec de l'activation du renouvellement automatique pour %{name}" +#: src/views/dashboard/components/PerformanceOptimization.vue:222 +msgid "Enable compression for content transfer" +msgstr "" + #: src/views/site/site_add/SiteAdd.vue:43 msgid "Enable failed" msgstr "Échec de l'activation" @@ -1274,67 +1311,67 @@ msgstr "Échec de l'activation" msgid "Enable HTTPS" msgstr "Activer TLS" -#: src/components/Notification/notifications.ts:91 src/language/constants.ts:54 +#: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 #, fuzzy msgid "Enable Remote Site Error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:99 +#: src/components/Notification/notifications.ts:33 #, fuzzy msgid "Enable Remote Site Maintenance Error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:103 +#: src/components/Notification/notifications.ts:37 #, fuzzy msgid "Enable Remote Site Maintenance Success" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:95 src/language/constants.ts:53 +#: src/components/Notification/notifications.ts:29 src/language/constants.ts:53 #, fuzzy msgid "Enable Remote Site Success" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:149 +#: src/components/Notification/notifications.ts:83 #, fuzzy msgid "Enable Remote Stream Error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:153 +#: src/components/Notification/notifications.ts:87 #, fuzzy msgid "Enable Remote Stream Success" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:100 +#: src/components/Notification/notifications.ts:34 #, fuzzy msgid "Enable site %{name} maintenance on %{node} failed" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:104 +#: src/components/Notification/notifications.ts:38 #, fuzzy msgid "Enable site %{name} maintenance on %{node} successfully" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:92 +#: src/components/Notification/notifications.ts:26 #, fuzzy msgid "Enable site %{name} on %{node} failed" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:96 +#: src/components/Notification/notifications.ts:30 #, fuzzy msgid "Enable site %{name} on %{node} successfully" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:150 +#: src/components/Notification/notifications.ts:84 #, fuzzy msgid "Enable stream %{name} on %{node} failed" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:154 +#: src/components/Notification/notifications.ts:88 #, fuzzy msgid "Enable stream %{name} on %{node} successfully" msgstr "Dupliqué avec succès" -#: src/views/dashboard/NginxDashBoard.vue:149 +#: src/views/dashboard/NginxDashBoard.vue:150 msgid "Enable stub_status module" msgstr "" @@ -1639,6 +1676,11 @@ msgstr "Échec de l'obtention des informations sur le certificat" msgid "Failed to get certificate information" msgstr "Échec de l'obtention des informations sur le certificat" +#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#, fuzzy +msgid "Failed to get Nginx performance settings" +msgstr "Échec de l'obtention des informations sur le certificat" + #: src/composables/useNginxPerformance.ts:49 #, fuzzy msgid "Failed to get performance data" @@ -1709,6 +1751,11 @@ msgstr "Erreur lecture nginx.conf" msgid "Failed to revoke certificate" msgstr "Obtenir un certificat" +#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#, fuzzy +msgid "Failed to save Nginx performance settings" +msgstr "Échec de l'obtention des informations sur le certificat" + #: src/views/site/site_edit/SiteEdit.vue:139 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." @@ -1781,15 +1828,15 @@ msgstr "Utilisateur chinois : https://mirror.ghproxy.com/" msgid "Form parse failed" msgstr "Dupliquer" -#: src/views/config/ConfigEditor.vue:265 +#: src/views/config/ConfigEditor.vue:271 msgid "Format Code" msgstr "Code de formatage" -#: src/views/config/ConfigEditor.vue:213 +#: src/views/config/ConfigEditor.vue:218 msgid "Format error %{msg}" msgstr "Erreur de format %{msg}" -#: src/views/config/ConfigEditor.vue:211 +#: src/views/config/ConfigEditor.vue:216 msgid "Format successfully" msgstr "Formaté avec succès" @@ -1820,7 +1867,7 @@ msgstr "Enregistré avec succès" msgid "Generating private key for registering account" msgstr "Génération de clé privée pour l'enregistrement du compte" -#: src/views/dashboard/NginxDashBoard.vue:140 +#: src/views/dashboard/NginxDashBoard.vue:141 #, fuzzy msgid "Get data failed" msgstr "Enregistrement de l'utilisateur" @@ -1838,6 +1885,18 @@ msgstr "Obtention du certificat, veuillez patienter..." msgid "Github Proxy" msgstr "Proxy Github" +#: src/views/dashboard/components/PerformanceOptimization.vue:221 +msgid "GZIP Compression" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:247 +msgid "GZIP Compression Level" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:233 +msgid "GZIP Min Length" +msgstr "" + #: src/constants/errors/backup.ts:59 msgid "Hash verification failed: file integrity compromised" msgstr "" @@ -1850,7 +1909,7 @@ msgstr "Cacher" msgid "Higher value means better connection reuse" msgstr "" -#: src/views/config/ConfigEditor.vue:251 +#: src/views/config/ConfigEditor.vue:256 #: src/views/site/site_edit/SiteEdit.vue:212 #: src/views/stream/StreamEdit.vue:195 #, fuzzy @@ -1958,7 +2017,7 @@ msgstr "" msgid "Indexing..." msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:16 +#: src/views/dashboard/components/PerformanceTablesCard.vue:15 msgid "Indicator" msgstr "" @@ -2034,7 +2093,7 @@ msgid "Invalid file path: {0}" msgstr "Format de la requête invalide" #: src/views/config/components/Rename.vue:66 -#: src/views/config/ConfigEditor.vue:299 +#: src/views/config/ConfigEditor.vue:305 msgid "Invalid filename" msgstr "Nom de fichier invalide" @@ -2099,6 +2158,10 @@ msgstr "Auteur : %{issuer}" msgid "Jwt Secret" msgstr "Secret Jwt" +#: src/views/dashboard/components/PerformanceOptimization.vue:242 +msgid "KB" +msgstr "" + #: src/views/preference/components/RecoveryCodes.vue:74 msgid "" "Keep your recovery codes as safe as your password. We recommend saving them " @@ -2107,6 +2170,10 @@ msgstr "" "Garder vos codes de récupération sécurisés autant que votre mot de passe. " "Nous recommandons de les enregistrer avec un gestionnaire de mots de passe." +#: src/views/dashboard/components/PerformanceOptimization.vue:206 +msgid "Keepalive Timeout" +msgstr "" + #: src/views/certificate/CertificateList/certColumns.tsx:59 #: src/views/site/cert/components/AutoCertStepOne.vue:77 #, fuzzy @@ -2130,7 +2197,7 @@ msgstr "Custom" msgid "Last checked at" msgstr "Dernière vérification le" -#: src/views/dashboard/NginxDashBoard.vue:115 +#: src/views/dashboard/NginxDashBoard.vue:116 #, fuzzy msgid "Last update" msgstr "Dernière vérification le" @@ -2200,7 +2267,7 @@ msgstr "Charger à partir des options" msgid "Load successfully" msgstr "Enregistré avec succès" -#: src/views/dashboard/NginxDashBoard.vue:177 +#: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2280,8 +2347,8 @@ msgstr "" "Assurez vous d'avoir configuré un reverse proxy pour le répertoire .well-" "known vers HTTPChallengePort avant d'obtenir le certificat." -#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:112 -#: src/views/config/ConfigEditor.vue:163 src/views/config/ConfigList.vue:72 +#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:115 +#: src/views/config/ConfigEditor.vue:166 src/views/config/ConfigList.vue:72 msgid "Manage Configs" msgstr "Gérer les configurations" @@ -2303,7 +2370,11 @@ msgstr "Gérer les utilisateurs" msgid "Managed Certificate" msgstr "Changer de certificat" -#: src/views/dashboard/components/PerformanceTablesCard.vue:202 +#: src/views/dashboard/components/PerformanceOptimization.vue:179 +msgid "Manual" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:201 msgid "manually set" msgstr "" @@ -2312,7 +2383,7 @@ msgid "Master" msgstr "" #: src/composables/usePerformanceMetrics.ts:136 -#: src/views/dashboard/components/PerformanceTablesCard.vue:90 +#: src/views/dashboard/components/PerformanceTablesCard.vue:89 msgid "Master process" msgstr "" @@ -2334,12 +2405,21 @@ msgstr "Version actuelle" msgid "Max Requests Per Second" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:260 +msgid "Maximum client request body size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#, fuzzy +msgid "Maximum number of concurrent connections" +msgstr "Version actuelle" + #: src/composables/usePerformanceMetrics.ts:176 -#: src/views/dashboard/components/PerformanceTablesCard.vue:126 +#: src/views/dashboard/components/PerformanceTablesCard.vue:125 msgid "Maximum number of connections per worker process" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:196 +#: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2356,6 +2436,10 @@ msgstr "Mémoire et stockage" msgid "Memory Usage (RSS)" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:234 +msgid "Minimum file size for compression" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "" @@ -2400,7 +2484,7 @@ msgstr "Directive multiligne" #: src/views/certificate/components/CertificateEditor.vue:162 #: src/views/certificate/DNSCredential.vue:11 #: src/views/config/components/Mkdir.vue:64 -#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:305 +#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:311 #: src/views/environments/group/columns.ts:8 #: src/views/environments/list/envColumns.tsx:9 #: src/views/nginx_log/NginxLogList.vue:37 @@ -2415,7 +2499,7 @@ msgstr "Directive multiligne" msgid "Name" msgstr "Nom" -#: src/views/dashboard/NginxDashBoard.vue:172 +#: src/views/dashboard/NginxDashBoard.vue:173 msgid "Need to enable the stub_status module" msgstr "" @@ -2445,7 +2529,7 @@ msgstr "Installer" msgid "New name" msgstr "Nom d'utilisateur" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 #, fuzzy msgid "New Path" msgstr "Chemin" @@ -2490,6 +2574,11 @@ msgstr "" msgid "Nginx conf no stream block" msgstr "" +#: src/constants/errors/self_check.ts:14 +#, fuzzy +msgid "Nginx conf not include conf.d directory" +msgstr "Vérifie si le nginx.conf inclus le répertoire sites-enabled." + #: src/constants/errors/self_check.ts:6 msgid "Nginx conf not include sites-enabled" msgstr "" @@ -2528,7 +2617,7 @@ msgid "Nginx Control" msgstr "Contrôle Nginx" #: src/composables/usePerformanceMetrics.ts:151 -#: src/views/dashboard/components/PerformanceTablesCard.vue:105 +#: src/views/dashboard/components/PerformanceTablesCard.vue:104 msgid "Nginx CPU usage rate" msgstr "" @@ -2537,14 +2626,14 @@ msgid "Nginx Error Log Path" msgstr "Chemin du journal des erreurs Nginx" #: src/composables/useNginxPerformance.ts:43 -#: src/views/dashboard/NginxDashBoard.vue:111 -#: src/views/dashboard/NginxDashBoard.vue:130 -#: src/views/dashboard/NginxDashBoard.vue:79 +#: src/views/dashboard/NginxDashBoard.vue:112 +#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:80 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15 msgid "Nginx is not running" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:111 +#: src/views/dashboard/NginxDashBoard.vue:112 msgid "Nginx is running" msgstr "" @@ -2558,7 +2647,7 @@ msgid "Nginx Log Directory Whitelist" msgstr "Erreur d'analyse de configuration Nginx" #: src/composables/usePerformanceMetrics.ts:156 -#: src/views/dashboard/components/PerformanceTablesCard.vue:110 +#: src/views/dashboard/components/PerformanceTablesCard.vue:109 msgid "Nginx Memory usage" msgstr "" @@ -2598,7 +2687,7 @@ msgstr "Nginx a redémarré avec succès" msgid "Nginx Test Config Command" msgstr "Commande de démarrage du terminal" -#: src/views/dashboard/components/PerformanceTablesCard.vue:181 +#: src/views/dashboard/components/PerformanceTablesCard.vue:180 msgid "Nginx theoretical maximum performance" msgstr "" @@ -2643,7 +2732,7 @@ msgstr "Non" msgid "No Action" msgstr "Action" -#: src/views/dashboard/NginxDashBoard.vue:179 +#: src/views/dashboard/NginxDashBoard.vue:180 msgid "No data" msgstr "" @@ -2725,10 +2814,14 @@ msgstr "Certification" msgid "Notifier not found" msgstr "Fichier introuvable" +#: src/views/dashboard/components/PerformanceOptimization.vue:173 +msgid "Number of concurrent worker processes, auto sets to CPU core count" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:131 #: src/composables/usePerformanceMetrics.ts:171 -#: src/views/dashboard/components/PerformanceTablesCard.vue:121 -#: src/views/dashboard/components/PerformanceTablesCard.vue:85 +#: src/views/dashboard/components/PerformanceTablesCard.vue:120 +#: src/views/dashboard/components/PerformanceTablesCard.vue:84 msgid "Number of worker processes" msgstr "" @@ -2750,6 +2843,10 @@ msgid "" "Firefox." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:227 +msgid "Off" +msgstr "" + #: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 @@ -2781,6 +2878,10 @@ msgstr "" msgid "OK" msgstr "OK" +#: src/views/dashboard/components/PerformanceOptimization.vue:226 +msgid "On" +msgstr "" + #: src/views/certificate/DNSCredential.vue:59 msgid "Once the verification is complete, the records will be removed." msgstr "" @@ -2801,6 +2902,14 @@ msgstr "" msgid "OpenAI" msgstr "OpenAI" +#: src/views/dashboard/components/PerformanceOptimization.vue:164 +msgid "Optimize Nginx Performance" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:158 +msgid "Optimize Performance" +msgstr "" + #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "" @@ -2822,7 +2931,7 @@ msgid "OS:" msgstr "OS :" #: src/composables/usePerformanceMetrics.ts:146 -#: src/views/dashboard/components/PerformanceTablesCard.vue:100 +#: src/views/dashboard/components/PerformanceTablesCard.vue:99 msgid "Other Nginx processes" msgstr "" @@ -2839,11 +2948,11 @@ msgstr "" msgid "Otp or recovery code empty" msgstr "" -#: src/views/config/ConfigEditor.vue:343 +#: src/views/config/ConfigEditor.vue:349 msgid "Overwrite" msgstr "" -#: src/views/config/ConfigEditor.vue:347 +#: src/views/config/ConfigEditor.vue:353 msgid "Overwrite exist file" msgstr "" @@ -2884,7 +2993,7 @@ msgstr "Le pseudo ou mot de passe est incorect" msgid "Password length cannot exceed 20 characters" msgstr "" -#: src/views/config/ConfigEditor.vue:312 +#: src/views/config/ConfigEditor.vue:318 #: src/views/nginx_log/NginxLogList.vue:45 #: src/views/site/ngx_conf/LocationEditor.vue:109 #: src/views/site/ngx_conf/LocationEditor.vue:137 @@ -2907,10 +3016,15 @@ msgstr "" msgid "Perform core upgrade error" msgstr "Erreur lors de la mise a niveau du core" -#: src/views/dashboard/NginxDashBoard.vue:184 +#: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#, fuzzy +msgid "Performance settings saved successfully" +msgstr "Désactivé avec succès" + #: src/language/constants.ts:28 msgid "Performing core upgrade" msgstr "Exécution de la mise à niveau du core" @@ -2919,7 +3033,7 @@ msgstr "Exécution de la mise à niveau du core" msgid "Plain text is empty" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:173 +#: src/views/dashboard/NginxDashBoard.vue:174 msgid "" "Please enable the stub_status module to get request statistics, connection " "count, etc." @@ -2965,7 +3079,7 @@ msgstr "" "des informations d'identification ci-dessous pour demander l'API du " "fournisseur DNS." -#: src/components/Notification/notifications.ts:176 +#: src/components/Notification/notifications.ts:110 #: src/language/constants.ts:59 msgid "" "Please generate new recovery codes in the preferences immediately to prevent " @@ -2973,7 +3087,7 @@ msgid "" msgstr "" #: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:298 +#: src/views/config/ConfigEditor.vue:304 msgid "Please input a filename" msgstr "Veuillez renseigner un nom de fichier" @@ -3075,7 +3189,7 @@ msgstr "Préparation des configurations de lego" msgid "Process Distribution" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:155 +#: src/views/dashboard/components/PerformanceTablesCard.vue:154 #, fuzzy msgid "Process information" msgstr "Information générale" @@ -3106,7 +3220,7 @@ msgid "Public Security Number" msgstr "" #: src/composables/usePerformanceMetrics.ts:106 -#: src/views/dashboard/components/PerformanceTablesCard.vue:64 +#: src/views/dashboard/components/PerformanceTablesCard.vue:63 msgid "Read requests" msgstr "" @@ -3220,22 +3334,22 @@ msgstr "Recharger" msgid "Reload Nginx" msgstr "Rechargement de nginx" -#: src/components/Notification/notifications.ts:10 +#: src/components/Notification/notifications.ts:116 #, fuzzy msgid "Reload Nginx on %{node} failed, response: %{resp}" msgstr "Supprimer le site : %{site_name}" -#: src/components/Notification/notifications.ts:14 +#: src/components/Notification/notifications.ts:120 #, fuzzy msgid "Reload Nginx on %{node} successfully" msgstr "Mise à niveau réussie" -#: src/components/Notification/notifications.ts:9 +#: src/components/Notification/notifications.ts:115 #, fuzzy msgid "Reload Remote Nginx Error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:13 +#: src/components/Notification/notifications.ts:119 #, fuzzy msgid "Reload Remote Nginx Success" msgstr "Changer de certificat" @@ -3277,64 +3391,64 @@ msgstr "Enregistré avec succès" msgid "Rename" msgstr "Nom d'utilisateur" -#: src/components/Notification/notifications.ts:66 +#: src/components/Notification/notifications.ts:172 #, fuzzy msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:70 +#: src/components/Notification/notifications.ts:176 #, fuzzy msgid "Rename %{orig_path} to %{new_path} on %{env_name} successfully" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:65 src/language/constants.ts:42 +#: src/components/Notification/notifications.ts:171 +#: src/language/constants.ts:42 #, fuzzy msgid "Rename Remote Config Error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:69 src/language/constants.ts:41 +#: src/components/Notification/notifications.ts:175 +#: src/language/constants.ts:41 #, fuzzy msgid "Rename Remote Config Success" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:115 -#: src/language/constants.ts:56 +#: src/components/Notification/notifications.ts:49 src/language/constants.ts:56 #, fuzzy msgid "Rename Remote Site Error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:119 -#: src/language/constants.ts:55 +#: src/components/Notification/notifications.ts:53 src/language/constants.ts:55 #, fuzzy msgid "Rename Remote Site Success" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:157 +#: src/components/Notification/notifications.ts:91 #, fuzzy msgid "Rename Remote Stream Error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:161 +#: src/components/Notification/notifications.ts:95 #, fuzzy msgid "Rename Remote Stream Success" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:116 +#: src/components/Notification/notifications.ts:50 #, fuzzy msgid "Rename site %{name} to %{new_name} on %{node} failed" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:120 +#: src/components/Notification/notifications.ts:54 #, fuzzy msgid "Rename site %{name} to %{new_name} on %{node} successfully" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:158 +#: src/components/Notification/notifications.ts:92 #, fuzzy msgid "Rename stream %{name} to %{new_name} on %{node} failed" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:162 +#: src/components/Notification/notifications.ts:96 #, fuzzy msgid "Rename stream %{name} to %{new_name} on %{node} successfully" msgstr "Dupliqué avec succès" @@ -3373,7 +3487,7 @@ msgstr "Changer de certificat" msgid "Renew successfully" msgstr "Activé avec succès" -#: src/views/dashboard/components/PerformanceTablesCard.vue:142 +#: src/views/dashboard/components/PerformanceTablesCard.vue:141 #, fuzzy msgid "Request statistics" msgstr "Statistiques du réseau" @@ -3407,7 +3521,7 @@ msgid "" msgstr "" #: src/composables/usePerformanceMetrics.ts:111 -#: src/views/dashboard/components/PerformanceTablesCard.vue:69 +#: src/views/dashboard/components/PerformanceTablesCard.vue:68 msgid "Responses" msgstr "" @@ -3422,22 +3536,22 @@ msgstr "Redémarrer" msgid "Restart Nginx" msgstr "Redémarrage" -#: src/components/Notification/notifications.ts:18 +#: src/components/Notification/notifications.ts:124 #, fuzzy msgid "Restart Nginx on %{node} failed, response: %{resp}" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:22 +#: src/components/Notification/notifications.ts:128 #, fuzzy msgid "Restart Nginx on %{node} successfully" msgstr "Mise à niveau réussie" -#: src/components/Notification/notifications.ts:17 +#: src/components/Notification/notifications.ts:123 #, fuzzy msgid "Restart Remote Nginx Error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:21 +#: src/components/Notification/notifications.ts:127 #, fuzzy msgid "Restart Remote Nginx Success" msgstr "Changer de certificat" @@ -3523,7 +3637,7 @@ msgstr "En cours d'éxécution" #: src/components/StdDesign/StdDetail/StdDetail.vue:93 #: src/views/certificate/components/CertificateEditor.vue:264 #: src/views/config/components/ConfigName.vue:59 -#: src/views/config/ConfigEditor.vue:271 +#: src/views/config/ConfigEditor.vue:277 #: src/views/preference/components/Passkey.vue:130 #: src/views/preference/Preference.vue:229 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:127 @@ -3543,44 +3657,42 @@ msgstr "Enregistrer la directive" msgid "Save error %{msg}" msgstr "Enregistrer l'erreur %{msg}" -#: src/components/Notification/notifications.ts:123 -#: src/language/constants.ts:48 +#: src/components/Notification/notifications.ts:57 src/language/constants.ts:48 #, fuzzy msgid "Save Remote Site Error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:127 -#: src/language/constants.ts:47 +#: src/components/Notification/notifications.ts:61 src/language/constants.ts:47 #, fuzzy msgid "Save Remote Site Success" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:165 +#: src/components/Notification/notifications.ts:99 #, fuzzy msgid "Save Remote Stream Error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:169 +#: src/components/Notification/notifications.ts:103 #, fuzzy msgid "Save Remote Stream Success" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:124 +#: src/components/Notification/notifications.ts:58 #, fuzzy msgid "Save site %{name} to %{node} failed" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:128 +#: src/components/Notification/notifications.ts:62 #, fuzzy msgid "Save site %{name} to %{node} successfully" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:166 +#: src/components/Notification/notifications.ts:100 #, fuzzy msgid "Save stream %{name} to %{node} failed" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:170 +#: src/components/Notification/notifications.ts:104 #, fuzzy msgid "Save stream %{name} to %{node} successfully" msgstr "Dupliqué avec succès" @@ -3592,7 +3704,7 @@ msgstr "Dupliqué avec succès" msgid "Save successfully" msgstr "Sauvegarde réussie" -#: src/views/config/ConfigEditor.vue:191 +#: src/views/config/ConfigEditor.vue:194 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/site/site_add/SiteAdd.vue:37 #: src/views/site/site_edit/SiteEdit.vue:157 @@ -3608,6 +3720,10 @@ msgstr "" msgid "SDK" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:216 +msgid "seconds" +msgstr "" + #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "" @@ -3648,6 +3764,14 @@ msgstr "Informations sur le serveur" msgid "Server Info" msgstr "Informations sur le serveur" +#: src/views/dashboard/components/PerformanceOptimization.vue:277 +msgid "Server Names Hash Bucket Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:278 +msgid "Server names hash table size" +msgstr "" + #: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "server_name introuvable dans les directives" @@ -3911,42 +4035,46 @@ msgstr "" msgid "Sync Certificate" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:48 +#: src/components/Notification/notifications.ts:154 #, fuzzy msgid "Sync Certificate %{cert_name} to %{env_name} failed" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:52 +#: src/components/Notification/notifications.ts:158 #, fuzzy msgid "Sync Certificate %{cert_name} to %{env_name} successfully" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:47 src/language/constants.ts:39 +#: src/components/Notification/notifications.ts:153 +#: src/language/constants.ts:39 #, fuzzy msgid "Sync Certificate Error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:51 src/language/constants.ts:38 +#: src/components/Notification/notifications.ts:157 +#: src/language/constants.ts:38 #, fuzzy msgid "Sync Certificate Success" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:58 +#: src/components/Notification/notifications.ts:164 #, fuzzy msgid "Sync config %{config_name} to %{env_name} failed" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:62 +#: src/components/Notification/notifications.ts:168 #, fuzzy msgid "Sync config %{config_name} to %{env_name} successfully" msgstr "Dupliqué avec succès" -#: src/components/Notification/notifications.ts:57 src/language/constants.ts:45 +#: src/components/Notification/notifications.ts:163 +#: src/language/constants.ts:45 #, fuzzy msgid "Sync Config Error" msgstr "Changer de certificat" -#: src/components/Notification/notifications.ts:61 src/language/constants.ts:44 +#: src/components/Notification/notifications.ts:167 +#: src/language/constants.ts:44 #, fuzzy msgid "Sync Config Success" msgstr "Changer de certificat" @@ -4114,11 +4242,11 @@ msgstr "" msgid "The username or password is incorrect" msgstr "Le pseudo ou mot de passe est incorect" -#: src/views/dashboard/components/PerformanceTablesCard.vue:185 +#: src/views/dashboard/components/PerformanceTablesCard.vue:184 msgid "Theoretical maximum concurrent connections:" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:189 +#: src/views/dashboard/components/PerformanceTablesCard.vue:188 msgid "Theoretical maximum RPS (Requests Per Second):" msgstr "" @@ -4164,7 +4292,7 @@ msgid "" "This field should only contain letters, unicode characters, numbers, and -_." msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:152 +#: src/views/dashboard/NginxDashBoard.vue:153 msgid "" "This module provides Nginx request statistics, connection count, etc. data. " "After enabling it, you can view performance statistics" @@ -4216,7 +4344,7 @@ msgstr "" msgid "Tips" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:207 +#: src/views/dashboard/components/PerformanceTablesCard.vue:206 msgid "" "Tips: You can increase the concurrency processing capacity by increasing " "worker_processes or worker_connections" @@ -4262,7 +4390,7 @@ msgid "" "local API." msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:56 +#: src/views/dashboard/NginxDashBoard.vue:57 #, fuzzy msgid "Toggle failed" msgstr "Échec de l'activation" @@ -4278,12 +4406,12 @@ msgstr[0] "" msgstr[1] "" #: src/composables/usePerformanceMetrics.ts:96 -#: src/views/dashboard/components/PerformanceTablesCard.vue:54 +#: src/views/dashboard/components/PerformanceTablesCard.vue:53 msgid "Total connections" msgstr "" #: src/composables/usePerformanceMetrics.ts:91 -#: src/views/dashboard/components/PerformanceTablesCard.vue:49 +#: src/views/dashboard/components/PerformanceTablesCard.vue:48 msgid "Total handshakes" msgstr "" @@ -4296,7 +4424,7 @@ msgid "Total Nginx Processes" msgstr "" #: src/composables/usePerformanceMetrics.ts:101 -#: src/views/dashboard/components/PerformanceTablesCard.vue:59 +#: src/views/dashboard/components/PerformanceTablesCard.vue:58 msgid "Total requests" msgstr "" @@ -4344,7 +4472,7 @@ msgstr "Mis à jour avec succés" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:325 +#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:331 #: src/views/environments/group/columns.ts:37 #: src/views/environments/list/envColumns.tsx:90 #: src/views/site/site_edit/RightSettings.vue:75 @@ -4427,7 +4555,7 @@ msgstr "Nom d'utilisateur (*)" msgid "Valid" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:22 +#: src/views/dashboard/components/PerformanceTablesCard.vue:21 msgid "Value" msgstr "" @@ -4471,7 +4599,7 @@ msgid "Viewed" msgstr "Voir" #: src/composables/usePerformanceMetrics.ts:116 -#: src/views/dashboard/components/PerformanceTablesCard.vue:74 +#: src/views/dashboard/components/PerformanceTablesCard.vue:73 msgid "Waiting processes" msgstr "" @@ -4542,8 +4670,14 @@ msgid "" "codes." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#, fuzzy +msgid "Worker Connections" +msgstr "Version actuelle" + #: src/composables/usePerformanceMetrics.ts:57 -#: src/views/dashboard/components/ConnectionMetricsCard.vue:49 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:48 +#: src/views/dashboard/components/PerformanceOptimization.vue:172 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" @@ -4814,9 +4948,6 @@ msgstr "" #~ msgid "Dir" #~ msgstr "Répertoire" -#~ msgid "Auto" -#~ msgstr "Auto" - #~ msgid "Dark" #~ msgstr "Sombre" diff --git a/app/src/language/ko_KR/app.po b/app/src/language/ko_KR/app.po index 9a59538f..c9d5f29f 100644 --- a/app/src/language/ko_KR/app.po +++ b/app/src/language/ko_KR/app.po @@ -56,7 +56,7 @@ msgid "Action" msgstr "작업" #: src/composables/usePerformanceMetrics.ts:86 -#: src/views/dashboard/components/PerformanceTablesCard.vue:44 +#: src/views/dashboard/components/PerformanceTablesCard.vue:43 msgid "Active connections" msgstr "" @@ -79,8 +79,8 @@ msgstr "추가" msgid "Add a passkey" msgstr "" -#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:168 -#: src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:246 msgid "Add Configuration" msgstr "구성 추가" @@ -123,7 +123,7 @@ msgstr "" msgid "All" msgstr "" -#: src/components/Notification/notifications.ts:175 +#: src/components/Notification/notifications.ts:109 #: src/language/constants.ts:58 msgid "All Recovery Codes Have Been Used" msgstr "" @@ -265,7 +265,12 @@ msgstr "인증 설정" msgid "Author" msgstr "저자" -#: src/views/dashboard/components/PerformanceTablesCard.vue:201 +#: src/views/dashboard/components/PerformanceOptimization.vue:178 +#: src/views/dashboard/components/PerformanceOptimization.vue:189 +msgid "Auto" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:200 msgid "auto = CPU cores" msgstr "" @@ -290,7 +295,7 @@ msgid "Automatically indexed from site and stream configurations." msgstr "사이트 및 스트림 구성에서 자동으로 색인됩니다." #: src/views/certificate/components/CertificateEditor.vue:257 -#: src/views/config/ConfigEditor.vue:262 src/views/config/ConfigList.vue:112 +#: src/views/config/ConfigEditor.vue:268 src/views/config/ConfigList.vue:112 #: src/views/config/ConfigList.vue:195 src/views/nginx_log/NginxLog.vue:173 #: src/views/site/site_edit/SiteEdit.vue:285 #: src/views/stream/StreamEdit.vue:264 @@ -344,7 +349,7 @@ msgstr "" msgid "Base information" msgstr "기본 정보" -#: src/views/config/ConfigEditor.vue:290 +#: src/views/config/ConfigEditor.vue:296 #: src/views/site/site_edit/RightSettings.vue:52 #: src/views/stream/components/RightSettings.vue:79 msgid "Basic" @@ -386,7 +391,7 @@ msgid "CA Dir" msgstr "CA 디렉토리" #: src/composables/usePerformanceMetrics.ts:141 -#: src/views/dashboard/components/PerformanceTablesCard.vue:95 +#: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" @@ -400,7 +405,7 @@ msgid "CADir" msgstr "CA 디렉토리" #: src/views/dashboard/components/PerformanceStatisticsCard.vue:43 -#: src/views/dashboard/components/PerformanceTablesCard.vue:191 +#: src/views/dashboard/components/PerformanceTablesCard.vue:190 msgid "" "Calculated based on worker_processes * worker_connections. Actual " "performance depends on hardware, configuration, and workload" @@ -430,7 +435,7 @@ msgstr "데모에서 루트 비밀번호 변경 금지" msgid "Cannot compare: Missing content" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:132 msgid "Cannot get performance data in this state" msgstr "" @@ -447,18 +452,18 @@ msgstr "자동 인증" msgid "Cert path is not under the nginx conf dir" msgstr "" -#: src/components/Notification/notifications.ts:28 +#: src/components/Notification/notifications.ts:134 #, fuzzy msgid "Certificate %{name} has expired" msgstr "구성 템플릿" -#: src/components/Notification/notifications.ts:32 -#: src/components/Notification/notifications.ts:36 -#: src/components/Notification/notifications.ts:40 +#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:146 msgid "Certificate %{name} will expire in %{days} days" msgstr "" -#: src/components/Notification/notifications.ts:44 +#: src/components/Notification/notifications.ts:150 msgid "Certificate %{name} will expire in 1 day" msgstr "" @@ -467,19 +472,19 @@ msgstr "" msgid "Certificate decode error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:31 +#: src/components/Notification/notifications.ts:137 #, fuzzy msgid "Certificate Expiration Notice" msgstr "구성 템플릿" -#: src/components/Notification/notifications.ts:27 +#: src/components/Notification/notifications.ts:133 #, fuzzy msgid "Certificate Expired" msgstr "인증서 목록" -#: src/components/Notification/notifications.ts:35 -#: src/components/Notification/notifications.ts:39 -#: src/components/Notification/notifications.ts:43 +#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:149 #, fuzzy msgid "Certificate Expiring Soon" msgstr "인증서가 만료되었습니다" @@ -541,7 +546,7 @@ msgid_plural "Changed Certificates" msgstr[0] "인증서 변경" msgstr[1] "인증서 변경" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 #, fuzzy msgid "Changed Path" msgstr "인증서 변경" @@ -613,6 +618,26 @@ msgstr "" msgid "Click to copy" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:307 +msgid "Client Body Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:289 +msgid "Client Header Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:259 +msgid "Client Max Body Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:308 +msgid "Client request body buffer size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:290 +msgid "Client request header buffer size" +msgstr "" + #: src/components/ConfigHistory/ConfigHistory.vue:169 msgid "Close" msgstr "" @@ -645,6 +670,10 @@ msgstr "" msgid "Compare with Current" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:248 +msgid "Compression level, 1 is lowest, 9 is highest" +msgstr "" + #: src/constants/errors/backup.ts:14 #, fuzzy msgid "Config path is empty" @@ -663,7 +692,7 @@ msgstr "구성 파일 테스트 성공" msgid "Configuration History" msgstr "구성들" -#: src/views/dashboard/components/PerformanceTablesCard.vue:168 +#: src/views/dashboard/components/PerformanceTablesCard.vue:167 #, fuzzy msgid "Configuration information" msgstr "구성들" @@ -684,7 +713,7 @@ msgstr "SSL 구성하기" msgid "Connected" msgstr "연결됨" -#: src/views/dashboard/NginxDashBoard.vue:84 +#: src/views/dashboard/NginxDashBoard.vue:85 msgid "Connection error, trying to reconnect..." msgstr "" @@ -692,6 +721,10 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "연결이 끊어졌습니다. 페이지를 새로 고침하세요." +#: src/views/dashboard/components/PerformanceOptimization.vue:207 +msgid "Connection timeout period" +msgstr "" + #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:118 #: src/views/site/ngx_conf/LocationEditor.vue:115 #: src/views/site/ngx_conf/LocationEditor.vue:143 @@ -799,7 +832,7 @@ msgstr "" msgid "Current account is not enabled TOTP." msgstr "" -#: src/views/dashboard/components/ConnectionMetricsCard.vue:28 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:27 msgid "Current active connections" msgstr "" @@ -828,8 +861,8 @@ msgid "" "indicator." msgstr "" -#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:107 -#: src/views/config/ConfigEditor.vue:158 src/views/config/ConfigList.vue:67 +#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:110 +#: src/views/config/ConfigEditor.vue:161 src/views/config/ConfigList.vue:67 msgid "Dashboard" msgstr "대시보드" @@ -866,32 +899,32 @@ msgstr "인증서 갱신" msgid "Delete Permanently" msgstr "" -#: src/components/Notification/notifications.ts:75 src/language/constants.ts:50 +#: src/components/Notification/notifications.ts:9 src/language/constants.ts:50 #, fuzzy msgid "Delete Remote Site Error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:79 src/language/constants.ts:49 +#: src/components/Notification/notifications.ts:13 src/language/constants.ts:49 #, fuzzy msgid "Delete Remote Site Success" msgstr "인증서 갱신 성공" -#: src/components/Notification/notifications.ts:133 +#: src/components/Notification/notifications.ts:67 #, fuzzy msgid "Delete Remote Stream Error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:137 +#: src/components/Notification/notifications.ts:71 #, fuzzy msgid "Delete Remote Stream Success" msgstr "인증서 갱신 성공" -#: src/components/Notification/notifications.ts:76 +#: src/components/Notification/notifications.ts:10 #, fuzzy msgid "Delete site %{name} from %{node} failed" msgstr "%{conf_name}을(를) %{node_name}(으)로 배포 실패" -#: src/components/Notification/notifications.ts:80 +#: src/components/Notification/notifications.ts:14 #, fuzzy msgid "Delete site %{name} from %{node} successfully" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" @@ -900,12 +933,12 @@ msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" msgid "Delete site: %{site_name}" msgstr "사이트 삭제: %{site_name}" -#: src/components/Notification/notifications.ts:134 +#: src/components/Notification/notifications.ts:68 #, fuzzy msgid "Delete stream %{name} from %{node} failed" msgstr "%{conf_name}을(를) %{node_name}(으)로 배포 실패" -#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:72 #, fuzzy msgid "Delete stream %{name} from %{node} successfully" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" @@ -922,7 +955,7 @@ msgstr "성공적으로 삭제됨" msgid "Demo" msgstr "" -#: src/views/config/ConfigEditor.vue:334 +#: src/views/config/ConfigEditor.vue:340 msgid "Deploy" msgstr "배포" @@ -980,62 +1013,62 @@ msgstr "비활성화" msgid "Disable auto-renewal failed for %{name}" msgstr "%{name}의 자동 갱신 비활성화 실패" -#: src/components/Notification/notifications.ts:83 src/language/constants.ts:52 +#: src/components/Notification/notifications.ts:17 src/language/constants.ts:52 #, fuzzy msgid "Disable Remote Site Error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:107 +#: src/components/Notification/notifications.ts:41 #, fuzzy msgid "Disable Remote Site Maintenance Error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:111 +#: src/components/Notification/notifications.ts:45 #, fuzzy msgid "Disable Remote Site Maintenance Success" msgstr "인증서 갱신 성공" -#: src/components/Notification/notifications.ts:87 src/language/constants.ts:51 +#: src/components/Notification/notifications.ts:21 src/language/constants.ts:51 #, fuzzy msgid "Disable Remote Site Success" msgstr "인증서 갱신 성공" -#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:75 #, fuzzy msgid "Disable Remote Stream Error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:79 #, fuzzy msgid "Disable Remote Stream Success" msgstr "인증서 갱신 성공" -#: src/components/Notification/notifications.ts:84 +#: src/components/Notification/notifications.ts:18 #, fuzzy msgid "Disable site %{name} from %{node} failed" msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨" -#: src/components/Notification/notifications.ts:88 +#: src/components/Notification/notifications.ts:22 #, fuzzy msgid "Disable site %{name} from %{node} successfully" msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨" -#: src/components/Notification/notifications.ts:108 +#: src/components/Notification/notifications.ts:42 #, fuzzy msgid "Disable site %{name} maintenance on %{node} failed" msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨" -#: src/components/Notification/notifications.ts:112 +#: src/components/Notification/notifications.ts:46 #, fuzzy msgid "Disable site %{name} maintenance on %{node} successfully" msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨" -#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:76 #, fuzzy msgid "Disable stream %{name} from %{node} failed" msgstr "%{node_name}에서 %{conf_name} 활성화 실패" -#: src/components/Notification/notifications.ts:146 +#: src/components/Notification/notifications.ts:80 #, fuzzy msgid "Disable stream %{name} from %{node} successfully" msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨" @@ -1167,7 +1200,7 @@ msgstr "%{n} 편집" msgid "Edit %{n}" msgstr "%{n} 편집" -#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:246 msgid "Edit Configuration" msgstr "구성 편집" @@ -1207,6 +1240,10 @@ msgstr "성공적으로 활성화" msgid "Enable auto-renewal failed for %{name}" msgstr "%{name}에 대한 자동 갱신 활성화 실패" +#: src/views/dashboard/components/PerformanceOptimization.vue:222 +msgid "Enable compression for content transfer" +msgstr "" + #: src/views/site/site_add/SiteAdd.vue:43 msgid "Enable failed" msgstr "활성화 실패" @@ -1216,67 +1253,67 @@ msgstr "활성화 실패" msgid "Enable HTTPS" msgstr "TLS 활성화" -#: src/components/Notification/notifications.ts:91 src/language/constants.ts:54 +#: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 #, fuzzy msgid "Enable Remote Site Error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:99 +#: src/components/Notification/notifications.ts:33 #, fuzzy msgid "Enable Remote Site Maintenance Error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:103 +#: src/components/Notification/notifications.ts:37 #, fuzzy msgid "Enable Remote Site Maintenance Success" msgstr "인증서 갱신 성공" -#: src/components/Notification/notifications.ts:95 src/language/constants.ts:53 +#: src/components/Notification/notifications.ts:29 src/language/constants.ts:53 #, fuzzy msgid "Enable Remote Site Success" msgstr "인증서 갱신 성공" -#: src/components/Notification/notifications.ts:149 +#: src/components/Notification/notifications.ts:83 #, fuzzy msgid "Enable Remote Stream Error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:153 +#: src/components/Notification/notifications.ts:87 #, fuzzy msgid "Enable Remote Stream Success" msgstr "인증서 갱신 성공" -#: src/components/Notification/notifications.ts:100 +#: src/components/Notification/notifications.ts:34 #, fuzzy msgid "Enable site %{name} maintenance on %{node} failed" msgstr "%{node_name}에서 %{conf_name} 활성화 실패" -#: src/components/Notification/notifications.ts:104 +#: src/components/Notification/notifications.ts:38 #, fuzzy msgid "Enable site %{name} maintenance on %{node} successfully" msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨" -#: src/components/Notification/notifications.ts:92 +#: src/components/Notification/notifications.ts:26 #, fuzzy msgid "Enable site %{name} on %{node} failed" msgstr "%{node_name}에서 %{conf_name} 활성화 실패" -#: src/components/Notification/notifications.ts:96 +#: src/components/Notification/notifications.ts:30 #, fuzzy msgid "Enable site %{name} on %{node} successfully" msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨" -#: src/components/Notification/notifications.ts:150 +#: src/components/Notification/notifications.ts:84 #, fuzzy msgid "Enable stream %{name} on %{node} failed" msgstr "%{node_name}에서 %{conf_name} 활성화 실패" -#: src/components/Notification/notifications.ts:154 +#: src/components/Notification/notifications.ts:88 #, fuzzy msgid "Enable stream %{name} on %{node} successfully" msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨" -#: src/views/dashboard/NginxDashBoard.vue:149 +#: src/views/dashboard/NginxDashBoard.vue:150 msgid "Enable stub_status module" msgstr "" @@ -1579,6 +1616,11 @@ msgstr "인증서 정보 가져오기 실패" msgid "Failed to get certificate information" msgstr "인증서 정보 가져오기 실패" +#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#, fuzzy +msgid "Failed to get Nginx performance settings" +msgstr "인증서 정보 가져오기 실패" + #: src/composables/useNginxPerformance.ts:49 #, fuzzy msgid "Failed to get performance data" @@ -1643,6 +1685,11 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "인증서 획득 실패" +#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#, fuzzy +msgid "Failed to save Nginx performance settings" +msgstr "인증서 정보 가져오기 실패" + #: src/views/site/site_edit/SiteEdit.vue:139 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." @@ -1709,16 +1756,16 @@ msgstr "중국 사용자를 위해: https://mirror.ghproxy.com/" msgid "Form parse failed" msgstr "복제 실패" -#: src/views/config/ConfigEditor.vue:265 +#: src/views/config/ConfigEditor.vue:271 msgid "Format Code" msgstr "코드 형식" -#: src/views/config/ConfigEditor.vue:213 +#: src/views/config/ConfigEditor.vue:218 #, fuzzy msgid "Format error %{msg}" msgstr "형식 오류 %{msg}" -#: src/views/config/ConfigEditor.vue:211 +#: src/views/config/ConfigEditor.vue:216 #, fuzzy msgid "Format successfully" msgstr "성공적으로 형식 지정됨" @@ -1750,7 +1797,7 @@ msgstr "성공적으로 제거됨" msgid "Generating private key for registering account" msgstr "계정 등록을 위한 개인 키 생성 중" -#: src/views/dashboard/NginxDashBoard.vue:140 +#: src/views/dashboard/NginxDashBoard.vue:141 #, fuzzy msgid "Get data failed" msgstr "사용자 등록 중" @@ -1769,6 +1816,18 @@ msgstr "인증서를 가져오는 중입니다. 잠시 기다려 주세요..." msgid "Github Proxy" msgstr "Github 프록시" +#: src/views/dashboard/components/PerformanceOptimization.vue:221 +msgid "GZIP Compression" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:247 +msgid "GZIP Compression Level" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:233 +msgid "GZIP Min Length" +msgstr "" + #: src/constants/errors/backup.ts:59 msgid "Hash verification failed: file integrity compromised" msgstr "" @@ -1781,7 +1840,7 @@ msgstr "" msgid "Higher value means better connection reuse" msgstr "" -#: src/views/config/ConfigEditor.vue:251 +#: src/views/config/ConfigEditor.vue:256 #: src/views/site/site_edit/SiteEdit.vue:212 #: src/views/stream/StreamEdit.vue:195 #, fuzzy @@ -1876,7 +1935,7 @@ msgstr "" msgid "Indexing..." msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:16 +#: src/views/dashboard/components/PerformanceTablesCard.vue:15 msgid "Indicator" msgstr "" @@ -1952,7 +2011,7 @@ msgid "Invalid file path: {0}" msgstr "Invalid E-mail!" #: src/views/config/components/Rename.vue:66 -#: src/views/config/ConfigEditor.vue:299 +#: src/views/config/ConfigEditor.vue:305 #, fuzzy msgid "Invalid filename" msgstr "Invalid E-mail!" @@ -2018,12 +2077,20 @@ msgstr "" msgid "Jwt Secret" msgstr "Jwt 토큰" +#: src/views/dashboard/components/PerformanceOptimization.vue:242 +msgid "KB" +msgstr "" + #: src/views/preference/components/RecoveryCodes.vue:74 msgid "" "Keep your recovery codes as safe as your password. We recommend saving them " "with a password manager." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:206 +msgid "Keepalive Timeout" +msgstr "" + #: src/views/certificate/CertificateList/certColumns.tsx:59 #: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" @@ -2046,7 +2113,7 @@ msgstr "사용자 정의" msgid "Last checked at" msgstr "마지막 확인 시간" -#: src/views/dashboard/NginxDashBoard.vue:115 +#: src/views/dashboard/NginxDashBoard.vue:116 #, fuzzy msgid "Last update" msgstr "마지막 확인 시간" @@ -2116,7 +2183,7 @@ msgstr "" msgid "Load successfully" msgstr "성공적으로 저장됨" -#: src/views/dashboard/NginxDashBoard.vue:177 +#: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2198,8 +2265,8 @@ msgstr "" "인증서를 획득하기 전에 .well-known 디렉토리에 대한역방향 프록시를 " "HTTPChallengePort(기본값: 9180)로 구성했는지 확인하세요." -#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:112 -#: src/views/config/ConfigEditor.vue:163 src/views/config/ConfigList.vue:72 +#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:115 +#: src/views/config/ConfigEditor.vue:166 src/views/config/ConfigList.vue:72 msgid "Manage Configs" msgstr "구성 관리" @@ -2221,7 +2288,11 @@ msgstr "사용자 관리" msgid "Managed Certificate" msgstr "인증서 유효" -#: src/views/dashboard/components/PerformanceTablesCard.vue:202 +#: src/views/dashboard/components/PerformanceOptimization.vue:179 +msgid "Manual" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:201 msgid "manually set" msgstr "" @@ -2230,7 +2301,7 @@ msgid "Master" msgstr "" #: src/composables/usePerformanceMetrics.ts:136 -#: src/views/dashboard/components/PerformanceTablesCard.vue:90 +#: src/views/dashboard/components/PerformanceTablesCard.vue:89 msgid "Master process" msgstr "" @@ -2252,12 +2323,21 @@ msgstr "현재 버전" msgid "Max Requests Per Second" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:260 +msgid "Maximum client request body size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#, fuzzy +msgid "Maximum number of concurrent connections" +msgstr "현재 버전" + #: src/composables/usePerformanceMetrics.ts:176 -#: src/views/dashboard/components/PerformanceTablesCard.vue:126 +#: src/views/dashboard/components/PerformanceTablesCard.vue:125 msgid "Maximum number of connections per worker process" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:196 +#: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2274,6 +2354,10 @@ msgstr "메모리 및 저장소" msgid "Memory Usage (RSS)" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:234 +msgid "Minimum file size for compression" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "분" @@ -2320,7 +2404,7 @@ msgstr "단일 지시문" #: src/views/certificate/components/CertificateEditor.vue:162 #: src/views/certificate/DNSCredential.vue:11 #: src/views/config/components/Mkdir.vue:64 -#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:305 +#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:311 #: src/views/environments/group/columns.ts:8 #: src/views/environments/list/envColumns.tsx:9 #: src/views/nginx_log/NginxLogList.vue:37 @@ -2335,7 +2419,7 @@ msgstr "단일 지시문" msgid "Name" msgstr "이름" -#: src/views/dashboard/NginxDashBoard.vue:172 +#: src/views/dashboard/NginxDashBoard.vue:173 msgid "Need to enable the stub_status module" msgstr "" @@ -2365,7 +2449,7 @@ msgstr "설치" msgid "New name" msgstr "이름 변경" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 #, fuzzy msgid "New Path" msgstr "경로" @@ -2409,6 +2493,11 @@ msgstr "" msgid "Nginx conf no stream block" msgstr "" +#: src/constants/errors/self_check.ts:14 +#, fuzzy +msgid "Nginx conf not include conf.d directory" +msgstr "터미널 시작 명령" + #: src/constants/errors/self_check.ts:6 msgid "Nginx conf not include sites-enabled" msgstr "" @@ -2448,7 +2537,7 @@ msgid "Nginx Control" msgstr "Nginx 제어" #: src/composables/usePerformanceMetrics.ts:151 -#: src/views/dashboard/components/PerformanceTablesCard.vue:105 +#: src/views/dashboard/components/PerformanceTablesCard.vue:104 msgid "Nginx CPU usage rate" msgstr "" @@ -2457,14 +2546,14 @@ msgid "Nginx Error Log Path" msgstr "Nginx 오류 로그 경로" #: src/composables/useNginxPerformance.ts:43 -#: src/views/dashboard/NginxDashBoard.vue:111 -#: src/views/dashboard/NginxDashBoard.vue:130 -#: src/views/dashboard/NginxDashBoard.vue:79 +#: src/views/dashboard/NginxDashBoard.vue:112 +#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:80 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15 msgid "Nginx is not running" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:111 +#: src/views/dashboard/NginxDashBoard.vue:112 msgid "Nginx is running" msgstr "" @@ -2477,7 +2566,7 @@ msgid "Nginx Log Directory Whitelist" msgstr "" #: src/composables/usePerformanceMetrics.ts:156 -#: src/views/dashboard/components/PerformanceTablesCard.vue:110 +#: src/views/dashboard/components/PerformanceTablesCard.vue:109 msgid "Nginx Memory usage" msgstr "" @@ -2518,7 +2607,7 @@ msgstr "Nginx가 성공적으로 재시작됨" msgid "Nginx Test Config Command" msgstr "터미널 시작 명령" -#: src/views/dashboard/components/PerformanceTablesCard.vue:181 +#: src/views/dashboard/components/PerformanceTablesCard.vue:180 msgid "Nginx theoretical maximum performance" msgstr "" @@ -2563,7 +2652,7 @@ msgstr "아니요" msgid "No Action" msgstr "작업" -#: src/views/dashboard/NginxDashBoard.vue:179 +#: src/views/dashboard/NginxDashBoard.vue:180 msgid "No data" msgstr "" @@ -2644,10 +2733,14 @@ msgstr "알림" msgid "Notifier not found" msgstr "파일을 찾을 수 없음" +#: src/views/dashboard/components/PerformanceOptimization.vue:173 +msgid "Number of concurrent worker processes, auto sets to CPU core count" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:131 #: src/composables/usePerformanceMetrics.ts:171 -#: src/views/dashboard/components/PerformanceTablesCard.vue:121 -#: src/views/dashboard/components/PerformanceTablesCard.vue:85 +#: src/views/dashboard/components/PerformanceTablesCard.vue:120 +#: src/views/dashboard/components/PerformanceTablesCard.vue:84 msgid "Number of worker processes" msgstr "" @@ -2670,6 +2763,11 @@ msgid "" "Firefox." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#, fuzzy +msgid "Off" +msgstr "오프라인" + #: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 @@ -2701,6 +2799,10 @@ msgstr "" msgid "OK" msgstr "확인" +#: src/views/dashboard/components/PerformanceOptimization.vue:226 +msgid "On" +msgstr "" + #: src/views/certificate/DNSCredential.vue:59 msgid "Once the verification is complete, the records will be removed." msgstr "검증이 완료되면, 레코드는 제거됩니다." @@ -2721,6 +2823,14 @@ msgstr "" msgid "OpenAI" msgstr "오픈AI" +#: src/views/dashboard/components/PerformanceOptimization.vue:164 +msgid "Optimize Nginx Performance" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:158 +msgid "Optimize Performance" +msgstr "" + #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "" @@ -2743,7 +2853,7 @@ msgid "OS:" msgstr "OS:" #: src/composables/usePerformanceMetrics.ts:146 -#: src/views/dashboard/components/PerformanceTablesCard.vue:100 +#: src/views/dashboard/components/PerformanceTablesCard.vue:99 msgid "Other Nginx processes" msgstr "" @@ -2760,11 +2870,11 @@ msgstr "" msgid "Otp or recovery code empty" msgstr "" -#: src/views/config/ConfigEditor.vue:343 +#: src/views/config/ConfigEditor.vue:349 msgid "Overwrite" msgstr "덮어쓰기" -#: src/views/config/ConfigEditor.vue:347 +#: src/views/config/ConfigEditor.vue:353 msgid "Overwrite exist file" msgstr "기존 파일 덮어쓰기" @@ -2805,7 +2915,7 @@ msgstr "사용자 이름 또는 비밀번호가 올바르지 않습니다" msgid "Password length cannot exceed 20 characters" msgstr "" -#: src/views/config/ConfigEditor.vue:312 +#: src/views/config/ConfigEditor.vue:318 #: src/views/nginx_log/NginxLogList.vue:45 #: src/views/site/ngx_conf/LocationEditor.vue:109 #: src/views/site/ngx_conf/LocationEditor.vue:137 @@ -2828,10 +2938,15 @@ msgstr "" msgid "Perform core upgrade error" msgstr "핵심 업그레이드 오류 수행" -#: src/views/dashboard/NginxDashBoard.vue:184 +#: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#, fuzzy +msgid "Performance settings saved successfully" +msgstr "성공적으로 비활성화됨" + #: src/language/constants.ts:28 msgid "Performing core upgrade" msgstr "핵심 업그레이드 수행 중" @@ -2840,7 +2955,7 @@ msgstr "핵심 업그레이드 수행 중" msgid "Plain text is empty" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:173 +#: src/views/dashboard/NginxDashBoard.vue:174 msgid "" "Please enable the stub_status module to get request statistics, connection " "count, etc." @@ -2883,7 +2998,7 @@ msgstr "" "먼저 인증서 > DNS 자격 증명에 자격 증명을 추가한 다음,DNS 제공자의 API를 요청" "하려면 아래 자격 증명 중 하나를 선택해주세요." -#: src/components/Notification/notifications.ts:176 +#: src/components/Notification/notifications.ts:110 #: src/language/constants.ts:59 msgid "" "Please generate new recovery codes in the preferences immediately to prevent " @@ -2891,7 +3006,7 @@ msgid "" msgstr "" #: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:298 +#: src/views/config/ConfigEditor.vue:304 #, fuzzy msgid "Please input a filename" msgstr "사용자 이름을 입력해주세요!" @@ -2995,7 +3110,7 @@ msgstr "lego 구성 준비 중" msgid "Process Distribution" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:155 +#: src/views/dashboard/components/PerformanceTablesCard.vue:154 #, fuzzy msgid "Process information" msgstr "기본 정보" @@ -3026,7 +3141,7 @@ msgid "Public Security Number" msgstr "" #: src/composables/usePerformanceMetrics.ts:106 -#: src/views/dashboard/components/PerformanceTablesCard.vue:64 +#: src/views/dashboard/components/PerformanceTablesCard.vue:63 msgid "Read requests" msgstr "" @@ -3139,22 +3254,22 @@ msgstr "리로드" msgid "Reload Nginx" msgstr "Nginx 리로딩 중" -#: src/components/Notification/notifications.ts:10 +#: src/components/Notification/notifications.ts:116 #, fuzzy msgid "Reload Nginx on %{node} failed, response: %{resp}" msgstr "사이트 삭제: %{site_name}" -#: src/components/Notification/notifications.ts:14 +#: src/components/Notification/notifications.ts:120 #, fuzzy msgid "Reload Nginx on %{node} successfully" msgstr "성공적으로 저장되었습니다" -#: src/components/Notification/notifications.ts:9 +#: src/components/Notification/notifications.ts:115 #, fuzzy msgid "Reload Remote Nginx Error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:13 +#: src/components/Notification/notifications.ts:119 #, fuzzy msgid "Reload Remote Nginx Success" msgstr "인증서 갱신 성공" @@ -3196,64 +3311,64 @@ msgstr "성공적으로 제거됨" msgid "Rename" msgstr "이름 변경" -#: src/components/Notification/notifications.ts:66 +#: src/components/Notification/notifications.ts:172 #, fuzzy msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" -#: src/components/Notification/notifications.ts:70 +#: src/components/Notification/notifications.ts:176 #, fuzzy msgid "Rename %{orig_path} to %{new_path} on %{env_name} successfully" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" -#: src/components/Notification/notifications.ts:65 src/language/constants.ts:42 +#: src/components/Notification/notifications.ts:171 +#: src/language/constants.ts:42 #, fuzzy msgid "Rename Remote Config Error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:69 src/language/constants.ts:41 +#: src/components/Notification/notifications.ts:175 +#: src/language/constants.ts:41 #, fuzzy msgid "Rename Remote Config Success" msgstr "인증서 갱신 성공" -#: src/components/Notification/notifications.ts:115 -#: src/language/constants.ts:56 +#: src/components/Notification/notifications.ts:49 src/language/constants.ts:56 #, fuzzy msgid "Rename Remote Site Error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:119 -#: src/language/constants.ts:55 +#: src/components/Notification/notifications.ts:53 src/language/constants.ts:55 #, fuzzy msgid "Rename Remote Site Success" msgstr "인증서 갱신 성공" -#: src/components/Notification/notifications.ts:157 +#: src/components/Notification/notifications.ts:91 #, fuzzy msgid "Rename Remote Stream Error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:161 +#: src/components/Notification/notifications.ts:95 #, fuzzy msgid "Rename Remote Stream Success" msgstr "인증서 갱신 성공" -#: src/components/Notification/notifications.ts:116 +#: src/components/Notification/notifications.ts:50 #, fuzzy msgid "Rename site %{name} to %{new_name} on %{node} failed" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" -#: src/components/Notification/notifications.ts:120 +#: src/components/Notification/notifications.ts:54 #, fuzzy msgid "Rename site %{name} to %{new_name} on %{node} successfully" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" -#: src/components/Notification/notifications.ts:158 +#: src/components/Notification/notifications.ts:92 #, fuzzy msgid "Rename stream %{name} to %{new_name} on %{node} failed" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" -#: src/components/Notification/notifications.ts:162 +#: src/components/Notification/notifications.ts:96 #, fuzzy msgid "Rename stream %{name} to %{new_name} on %{node} successfully" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" @@ -3292,7 +3407,7 @@ msgstr "인증서 갱신 성공" msgid "Renew successfully" msgstr "성공적으로 갱신됨" -#: src/views/dashboard/components/PerformanceTablesCard.vue:142 +#: src/views/dashboard/components/PerformanceTablesCard.vue:141 #, fuzzy msgid "Request statistics" msgstr "네트워크 통계" @@ -3326,7 +3441,7 @@ msgid "" msgstr "" #: src/composables/usePerformanceMetrics.ts:111 -#: src/views/dashboard/components/PerformanceTablesCard.vue:69 +#: src/views/dashboard/components/PerformanceTablesCard.vue:68 msgid "Responses" msgstr "" @@ -3341,22 +3456,22 @@ msgstr "재시작" msgid "Restart Nginx" msgstr "재시작 중" -#: src/components/Notification/notifications.ts:18 +#: src/components/Notification/notifications.ts:124 #, fuzzy msgid "Restart Nginx on %{node} failed, response: %{resp}" msgstr "%{node_name}에서 %{conf_name} 성공적으로 활성화됨" -#: src/components/Notification/notifications.ts:22 +#: src/components/Notification/notifications.ts:128 #, fuzzy msgid "Restart Nginx on %{node} successfully" msgstr "성공적으로 저장되었습니다" -#: src/components/Notification/notifications.ts:17 +#: src/components/Notification/notifications.ts:123 #, fuzzy msgid "Restart Remote Nginx Error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:21 +#: src/components/Notification/notifications.ts:127 #, fuzzy msgid "Restart Remote Nginx Success" msgstr "인증서 갱신 성공" @@ -3443,7 +3558,7 @@ msgstr "실행 중" #: src/components/StdDesign/StdDetail/StdDetail.vue:93 #: src/views/certificate/components/CertificateEditor.vue:264 #: src/views/config/components/ConfigName.vue:59 -#: src/views/config/ConfigEditor.vue:271 +#: src/views/config/ConfigEditor.vue:277 #: src/views/preference/components/Passkey.vue:130 #: src/views/preference/Preference.vue:229 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:127 @@ -3463,44 +3578,42 @@ msgstr "지시문 저장" msgid "Save error %{msg}" msgstr "저장 오류 %{msg}" -#: src/components/Notification/notifications.ts:123 -#: src/language/constants.ts:48 +#: src/components/Notification/notifications.ts:57 src/language/constants.ts:48 #, fuzzy msgid "Save Remote Site Error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:127 -#: src/language/constants.ts:47 +#: src/components/Notification/notifications.ts:61 src/language/constants.ts:47 #, fuzzy msgid "Save Remote Site Success" msgstr "인증서 갱신 성공" -#: src/components/Notification/notifications.ts:165 +#: src/components/Notification/notifications.ts:99 #, fuzzy msgid "Save Remote Stream Error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:169 +#: src/components/Notification/notifications.ts:103 #, fuzzy msgid "Save Remote Stream Success" msgstr "인증서 갱신 성공" -#: src/components/Notification/notifications.ts:124 +#: src/components/Notification/notifications.ts:58 #, fuzzy msgid "Save site %{name} to %{node} failed" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" -#: src/components/Notification/notifications.ts:128 +#: src/components/Notification/notifications.ts:62 #, fuzzy msgid "Save site %{name} to %{node} successfully" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" -#: src/components/Notification/notifications.ts:166 +#: src/components/Notification/notifications.ts:100 #, fuzzy msgid "Save stream %{name} to %{node} failed" msgstr "%{conf_name}을(를) %{node_name}(으)로 배포 실패" -#: src/components/Notification/notifications.ts:170 +#: src/components/Notification/notifications.ts:104 #, fuzzy msgid "Save stream %{name} to %{node} successfully" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" @@ -3513,7 +3626,7 @@ msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" msgid "Save successfully" msgstr "성공적으로 저장됨" -#: src/views/config/ConfigEditor.vue:191 +#: src/views/config/ConfigEditor.vue:194 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/site/site_add/SiteAdd.vue:37 #: src/views/site/site_edit/SiteEdit.vue:157 @@ -3529,6 +3642,10 @@ msgstr "" msgid "SDK" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:216 +msgid "seconds" +msgstr "" + #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "" @@ -3568,6 +3685,14 @@ msgstr "서버 정보" msgid "Server Info" msgstr "서버 정보" +#: src/views/dashboard/components/PerformanceOptimization.vue:277 +msgid "Server Names Hash Bucket Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:278 +msgid "Server names hash table size" +msgstr "" + #: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "directives에서 server_name을 찾을 수 없습니다" @@ -3827,42 +3952,46 @@ msgstr "" msgid "Sync Certificate" msgstr "인증서 갱신" -#: src/components/Notification/notifications.ts:48 +#: src/components/Notification/notifications.ts:154 #, fuzzy msgid "Sync Certificate %{cert_name} to %{env_name} failed" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" -#: src/components/Notification/notifications.ts:52 +#: src/components/Notification/notifications.ts:158 #, fuzzy msgid "Sync Certificate %{cert_name} to %{env_name} successfully" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" -#: src/components/Notification/notifications.ts:47 src/language/constants.ts:39 +#: src/components/Notification/notifications.ts:153 +#: src/language/constants.ts:39 #, fuzzy msgid "Sync Certificate Error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:51 src/language/constants.ts:38 +#: src/components/Notification/notifications.ts:157 +#: src/language/constants.ts:38 #, fuzzy msgid "Sync Certificate Success" msgstr "인증서 갱신 성공" -#: src/components/Notification/notifications.ts:58 +#: src/components/Notification/notifications.ts:164 #, fuzzy msgid "Sync config %{config_name} to %{env_name} failed" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" -#: src/components/Notification/notifications.ts:62 +#: src/components/Notification/notifications.ts:168 #, fuzzy msgid "Sync config %{config_name} to %{env_name} successfully" msgstr "%{conf_name}을(를) %{node_name}(으)로 성공적으로 복제함" -#: src/components/Notification/notifications.ts:57 src/language/constants.ts:45 +#: src/components/Notification/notifications.ts:163 +#: src/language/constants.ts:45 #, fuzzy msgid "Sync Config Error" msgstr "인증서 갱신 오류" -#: src/components/Notification/notifications.ts:61 src/language/constants.ts:44 +#: src/components/Notification/notifications.ts:167 +#: src/language/constants.ts:44 #, fuzzy msgid "Sync Config Success" msgstr "인증서 갱신 성공" @@ -4028,11 +4157,11 @@ msgstr "유효한 URL이 아닙니다" msgid "The username or password is incorrect" msgstr "사용자 이름 또는 비밀번호가 올바르지 않습니다" -#: src/views/dashboard/components/PerformanceTablesCard.vue:185 +#: src/views/dashboard/components/PerformanceTablesCard.vue:184 msgid "Theoretical maximum concurrent connections:" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:189 +#: src/views/dashboard/components/PerformanceTablesCard.vue:188 msgid "Theoretical maximum RPS (Requests Per Second):" msgstr "" @@ -4077,7 +4206,7 @@ msgid "" "This field should only contain letters, unicode characters, numbers, and -_." msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:152 +#: src/views/dashboard/NginxDashBoard.vue:153 msgid "" "This module provides Nginx request statistics, connection count, etc. data. " "After enabling it, you can view performance statistics" @@ -4128,7 +4257,7 @@ msgstr "" msgid "Tips" msgstr "팁" -#: src/views/dashboard/components/PerformanceTablesCard.vue:207 +#: src/views/dashboard/components/PerformanceTablesCard.vue:206 msgid "" "Tips: You can increase the concurrency processing capacity by increasing " "worker_processes or worker_connections" @@ -4173,7 +4302,7 @@ msgid "" "local API." msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:56 +#: src/views/dashboard/NginxDashBoard.vue:57 #, fuzzy msgid "Toggle failed" msgstr "활성화 실패" @@ -4189,12 +4318,12 @@ msgstr[0] "" msgstr[1] "" #: src/composables/usePerformanceMetrics.ts:96 -#: src/views/dashboard/components/PerformanceTablesCard.vue:54 +#: src/views/dashboard/components/PerformanceTablesCard.vue:53 msgid "Total connections" msgstr "" #: src/composables/usePerformanceMetrics.ts:91 -#: src/views/dashboard/components/PerformanceTablesCard.vue:49 +#: src/views/dashboard/components/PerformanceTablesCard.vue:48 msgid "Total handshakes" msgstr "" @@ -4207,7 +4336,7 @@ msgid "Total Nginx Processes" msgstr "" #: src/composables/usePerformanceMetrics.ts:101 -#: src/views/dashboard/components/PerformanceTablesCard.vue:59 +#: src/views/dashboard/components/PerformanceTablesCard.vue:58 msgid "Total requests" msgstr "" @@ -4255,7 +4384,7 @@ msgstr "성공적으로 저장되었습니다" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:325 +#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:331 #: src/views/environments/group/columns.ts:37 #: src/views/environments/list/envColumns.tsx:90 #: src/views/site/site_edit/RightSettings.vue:75 @@ -4340,7 +4469,7 @@ msgstr "사용자 이름 (*)" msgid "Valid" msgstr "유효함" -#: src/views/dashboard/components/PerformanceTablesCard.vue:22 +#: src/views/dashboard/components/PerformanceTablesCard.vue:21 msgid "Value" msgstr "" @@ -4385,7 +4514,7 @@ msgid "Viewed" msgstr "보기" #: src/composables/usePerformanceMetrics.ts:116 -#: src/views/dashboard/components/PerformanceTablesCard.vue:74 +#: src/views/dashboard/components/PerformanceTablesCard.vue:73 msgid "Waiting processes" msgstr "" @@ -4458,8 +4587,14 @@ msgid "" "codes." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#, fuzzy +msgid "Worker Connections" +msgstr "현재 버전" + #: src/composables/usePerformanceMetrics.ts:57 -#: src/views/dashboard/components/ConnectionMetricsCard.vue:49 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:48 +#: src/views/dashboard/components/PerformanceOptimization.vue:172 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" diff --git a/app/src/language/messages.pot b/app/src/language/messages.pot index 14f5a414..033810ae 100644 --- a/app/src/language/messages.pot +++ b/app/src/language/messages.pot @@ -46,7 +46,7 @@ msgid "Action" msgstr "" #: src/composables/usePerformanceMetrics.ts:86 -#: src/views/dashboard/components/PerformanceTablesCard.vue:44 +#: src/views/dashboard/components/PerformanceTablesCard.vue:43 msgid "Active connections" msgstr "" @@ -70,8 +70,8 @@ msgid "Add a passkey" msgstr "" #: src/routes/modules/config.ts:20 -#: src/views/config/ConfigEditor.vue:168 -#: src/views/config/ConfigEditor.vue:241 +#: src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:246 msgid "Add Configuration" msgstr "" @@ -115,7 +115,7 @@ msgstr "" msgid "All" msgstr "" -#: src/components/Notification/notifications.ts:175 +#: src/components/Notification/notifications.ts:109 #: src/language/constants.ts:58 msgid "All Recovery Codes Have Been Used" msgstr "" @@ -255,7 +255,12 @@ msgstr "" msgid "Author" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:201 +#: src/views/dashboard/components/PerformanceOptimization.vue:178 +#: src/views/dashboard/components/PerformanceOptimization.vue:189 +msgid "Auto" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:200 msgid "auto = CPU cores" msgstr "" @@ -280,7 +285,7 @@ msgid "Automatically indexed from site and stream configurations." msgstr "" #: src/views/certificate/components/CertificateEditor.vue:257 -#: src/views/config/ConfigEditor.vue:262 +#: src/views/config/ConfigEditor.vue:268 #: src/views/config/ConfigList.vue:112 #: src/views/config/ConfigList.vue:195 #: src/views/nginx_log/NginxLog.vue:173 @@ -333,7 +338,7 @@ msgstr "" msgid "Base information" msgstr "" -#: src/views/config/ConfigEditor.vue:290 +#: src/views/config/ConfigEditor.vue:296 #: src/views/site/site_edit/RightSettings.vue:52 #: src/views/stream/components/RightSettings.vue:79 msgid "Basic" @@ -374,7 +379,7 @@ msgid "CA Dir" msgstr "" #: src/composables/usePerformanceMetrics.ts:141 -#: src/views/dashboard/components/PerformanceTablesCard.vue:95 +#: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" @@ -388,7 +393,7 @@ msgid "CADir" msgstr "" #: src/views/dashboard/components/PerformanceStatisticsCard.vue:43 -#: src/views/dashboard/components/PerformanceTablesCard.vue:191 +#: src/views/dashboard/components/PerformanceTablesCard.vue:190 msgid "Calculated based on worker_processes * worker_connections. Actual performance depends on hardware, configuration, and workload" msgstr "" @@ -415,7 +420,7 @@ msgstr "" msgid "Cannot compare: Missing content" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:132 msgid "Cannot get performance data in this state" msgstr "" @@ -431,17 +436,17 @@ msgstr "" msgid "Cert path is not under the nginx conf dir" msgstr "" -#: src/components/Notification/notifications.ts:28 +#: src/components/Notification/notifications.ts:134 msgid "Certificate %{name} has expired" msgstr "" -#: src/components/Notification/notifications.ts:32 -#: src/components/Notification/notifications.ts:36 -#: src/components/Notification/notifications.ts:40 +#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:146 msgid "Certificate %{name} will expire in %{days} days" msgstr "" -#: src/components/Notification/notifications.ts:44 +#: src/components/Notification/notifications.ts:150 msgid "Certificate %{name} will expire in 1 day" msgstr "" @@ -449,17 +454,17 @@ msgstr "" msgid "Certificate decode error" msgstr "" -#: src/components/Notification/notifications.ts:31 +#: src/components/Notification/notifications.ts:137 msgid "Certificate Expiration Notice" msgstr "" -#: src/components/Notification/notifications.ts:27 +#: src/components/Notification/notifications.ts:133 msgid "Certificate Expired" msgstr "" -#: src/components/Notification/notifications.ts:35 -#: src/components/Notification/notifications.ts:39 -#: src/components/Notification/notifications.ts:43 +#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:149 msgid "Certificate Expiring Soon" msgstr "" @@ -515,7 +520,7 @@ msgid_plural "Changed Certificates" msgstr[0] "" msgstr[1] "" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 msgid "Changed Path" msgstr "" @@ -580,6 +585,26 @@ msgstr "" msgid "Click to copy" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:307 +msgid "Client Body Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:289 +msgid "Client Header Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:259 +msgid "Client Max Body Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:308 +msgid "Client request body buffer size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:290 +msgid "Client request header buffer size" +msgstr "" + #: src/components/ConfigHistory/ConfigHistory.vue:169 msgid "Close" msgstr "" @@ -611,6 +636,10 @@ msgstr "" msgid "Compare with Current" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:248 +msgid "Compression level, 1 is lowest, 9 is highest" +msgstr "" + #: src/constants/errors/backup.ts:14 msgid "Config path is empty" msgstr "" @@ -627,7 +656,7 @@ msgstr "" msgid "Configuration History" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:168 +#: src/views/dashboard/components/PerformanceTablesCard.vue:167 msgid "Configuration information" msgstr "" @@ -647,7 +676,7 @@ msgstr "" msgid "Connected" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:84 +#: src/views/dashboard/NginxDashBoard.vue:85 msgid "Connection error, trying to reconnect..." msgstr "" @@ -655,6 +684,10 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:207 +msgid "Connection timeout period" +msgstr "" + #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:118 #: src/views/site/ngx_conf/LocationEditor.vue:115 #: src/views/site/ngx_conf/LocationEditor.vue:143 @@ -757,7 +790,7 @@ msgstr "" msgid "Current account is not enabled TOTP." msgstr "" -#: src/views/dashboard/components/ConnectionMetricsCard.vue:28 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:27 msgid "Current active connections" msgstr "" @@ -783,8 +816,8 @@ msgid "Customize the name of local node to be displayed in the environment indic msgstr "" #: src/routes/modules/dashboard.ts:10 -#: src/views/config/ConfigEditor.vue:107 -#: src/views/config/ConfigEditor.vue:158 +#: src/views/config/ConfigEditor.vue:110 +#: src/views/config/ConfigEditor.vue:161 #: src/views/config/ConfigList.vue:67 msgid "Dashboard" msgstr "" @@ -820,29 +853,29 @@ msgstr "" msgid "Delete Permanently" msgstr "" -#: src/components/Notification/notifications.ts:75 +#: src/components/Notification/notifications.ts:9 #: src/language/constants.ts:50 msgid "Delete Remote Site Error" msgstr "" -#: src/components/Notification/notifications.ts:79 +#: src/components/Notification/notifications.ts:13 #: src/language/constants.ts:49 msgid "Delete Remote Site Success" msgstr "" -#: src/components/Notification/notifications.ts:133 +#: src/components/Notification/notifications.ts:67 msgid "Delete Remote Stream Error" msgstr "" -#: src/components/Notification/notifications.ts:137 +#: src/components/Notification/notifications.ts:71 msgid "Delete Remote Stream Success" msgstr "" -#: src/components/Notification/notifications.ts:76 +#: src/components/Notification/notifications.ts:10 msgid "Delete site %{name} from %{node} failed" msgstr "" -#: src/components/Notification/notifications.ts:80 +#: src/components/Notification/notifications.ts:14 msgid "Delete site %{name} from %{node} successfully" msgstr "" @@ -850,11 +883,11 @@ msgstr "" msgid "Delete site: %{site_name}" msgstr "" -#: src/components/Notification/notifications.ts:134 +#: src/components/Notification/notifications.ts:68 msgid "Delete stream %{name} from %{node} failed" msgstr "" -#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:72 msgid "Delete stream %{name} from %{node} successfully" msgstr "" @@ -870,7 +903,7 @@ msgstr "" msgid "Demo" msgstr "" -#: src/views/config/ConfigEditor.vue:334 +#: src/views/config/ConfigEditor.vue:340 msgid "Deploy" msgstr "" @@ -928,53 +961,53 @@ msgstr "" msgid "Disable auto-renewal failed for %{name}" msgstr "" -#: src/components/Notification/notifications.ts:83 +#: src/components/Notification/notifications.ts:17 #: src/language/constants.ts:52 msgid "Disable Remote Site Error" msgstr "" -#: src/components/Notification/notifications.ts:107 +#: src/components/Notification/notifications.ts:41 msgid "Disable Remote Site Maintenance Error" msgstr "" -#: src/components/Notification/notifications.ts:111 +#: src/components/Notification/notifications.ts:45 msgid "Disable Remote Site Maintenance Success" msgstr "" -#: src/components/Notification/notifications.ts:87 +#: src/components/Notification/notifications.ts:21 #: src/language/constants.ts:51 msgid "Disable Remote Site Success" msgstr "" -#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:75 msgid "Disable Remote Stream Error" msgstr "" -#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:79 msgid "Disable Remote Stream Success" msgstr "" -#: src/components/Notification/notifications.ts:84 +#: src/components/Notification/notifications.ts:18 msgid "Disable site %{name} from %{node} failed" msgstr "" -#: src/components/Notification/notifications.ts:88 +#: src/components/Notification/notifications.ts:22 msgid "Disable site %{name} from %{node} successfully" msgstr "" -#: src/components/Notification/notifications.ts:108 +#: src/components/Notification/notifications.ts:42 msgid "Disable site %{name} maintenance on %{node} failed" msgstr "" -#: src/components/Notification/notifications.ts:112 +#: src/components/Notification/notifications.ts:46 msgid "Disable site %{name} maintenance on %{node} successfully" msgstr "" -#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:76 msgid "Disable stream %{name} from %{node} failed" msgstr "" -#: src/components/Notification/notifications.ts:146 +#: src/components/Notification/notifications.ts:80 msgid "Disable stream %{name} from %{node} successfully" msgstr "" @@ -1102,7 +1135,7 @@ msgid "Edit %{n}" msgstr "" #: src/routes/modules/config.ts:30 -#: src/views/config/ConfigEditor.vue:241 +#: src/views/config/ConfigEditor.vue:246 msgid "Edit Configuration" msgstr "" @@ -1139,6 +1172,10 @@ msgstr "" msgid "Enable auto-renewal failed for %{name}" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:222 +msgid "Enable compression for content transfer" +msgstr "" + #: src/views/site/site_add/SiteAdd.vue:43 msgid "Enable failed" msgstr "" @@ -1147,57 +1184,57 @@ msgstr "" msgid "Enable HTTPS" msgstr "" -#: src/components/Notification/notifications.ts:91 +#: src/components/Notification/notifications.ts:25 #: src/language/constants.ts:54 msgid "Enable Remote Site Error" msgstr "" -#: src/components/Notification/notifications.ts:99 +#: src/components/Notification/notifications.ts:33 msgid "Enable Remote Site Maintenance Error" msgstr "" -#: src/components/Notification/notifications.ts:103 +#: src/components/Notification/notifications.ts:37 msgid "Enable Remote Site Maintenance Success" msgstr "" -#: src/components/Notification/notifications.ts:95 +#: src/components/Notification/notifications.ts:29 #: src/language/constants.ts:53 msgid "Enable Remote Site Success" msgstr "" -#: src/components/Notification/notifications.ts:149 +#: src/components/Notification/notifications.ts:83 msgid "Enable Remote Stream Error" msgstr "" -#: src/components/Notification/notifications.ts:153 +#: src/components/Notification/notifications.ts:87 msgid "Enable Remote Stream Success" msgstr "" -#: src/components/Notification/notifications.ts:100 +#: src/components/Notification/notifications.ts:34 msgid "Enable site %{name} maintenance on %{node} failed" msgstr "" -#: src/components/Notification/notifications.ts:104 +#: src/components/Notification/notifications.ts:38 msgid "Enable site %{name} maintenance on %{node} successfully" msgstr "" -#: src/components/Notification/notifications.ts:92 +#: src/components/Notification/notifications.ts:26 msgid "Enable site %{name} on %{node} failed" msgstr "" -#: src/components/Notification/notifications.ts:96 +#: src/components/Notification/notifications.ts:30 msgid "Enable site %{name} on %{node} successfully" msgstr "" -#: src/components/Notification/notifications.ts:150 +#: src/components/Notification/notifications.ts:84 msgid "Enable stream %{name} on %{node} failed" msgstr "" -#: src/components/Notification/notifications.ts:154 +#: src/components/Notification/notifications.ts:88 msgid "Enable stream %{name} on %{node} successfully" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:149 +#: src/views/dashboard/NginxDashBoard.vue:150 msgid "Enable stub_status module" msgstr "" @@ -1471,6 +1508,10 @@ msgstr "" msgid "Failed to get certificate information" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:56 +msgid "Failed to get Nginx performance settings" +msgstr "" + #: src/composables/useNginxPerformance.ts:49 msgid "Failed to get performance data" msgstr "" @@ -1527,6 +1568,10 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:126 +msgid "Failed to save Nginx performance settings" +msgstr "" + #: src/views/site/site_edit/SiteEdit.vue:139 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." @@ -1590,15 +1635,15 @@ msgstr "" msgid "Form parse failed" msgstr "" -#: src/views/config/ConfigEditor.vue:265 +#: src/views/config/ConfigEditor.vue:271 msgid "Format Code" msgstr "" -#: src/views/config/ConfigEditor.vue:213 +#: src/views/config/ConfigEditor.vue:218 msgid "Format error %{msg}" msgstr "" -#: src/views/config/ConfigEditor.vue:211 +#: src/views/config/ConfigEditor.vue:216 msgid "Format successfully" msgstr "" @@ -1627,7 +1672,7 @@ msgstr "" msgid "Generating private key for registering account" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:140 +#: src/views/dashboard/NginxDashBoard.vue:141 msgid "Get data failed" msgstr "" @@ -1644,6 +1689,18 @@ msgstr "" msgid "Github Proxy" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:221 +msgid "GZIP Compression" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:247 +msgid "GZIP Compression Level" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:233 +msgid "GZIP Min Length" +msgstr "" + #: src/constants/errors/backup.ts:59 msgid "Hash verification failed: file integrity compromised" msgstr "" @@ -1656,7 +1713,7 @@ msgstr "" msgid "Higher value means better connection reuse" msgstr "" -#: src/views/config/ConfigEditor.vue:251 +#: src/views/config/ConfigEditor.vue:256 #: src/views/site/site_edit/SiteEdit.vue:212 #: src/views/stream/StreamEdit.vue:195 msgid "History" @@ -1737,7 +1794,7 @@ msgstr "" msgid "Indexing..." msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:16 +#: src/views/dashboard/components/PerformanceTablesCard.vue:15 msgid "Indicator" msgstr "" @@ -1809,7 +1866,7 @@ msgid "Invalid file path: {0}" msgstr "" #: src/views/config/components/Rename.vue:66 -#: src/views/config/ConfigEditor.vue:299 +#: src/views/config/ConfigEditor.vue:305 msgid "Invalid filename" msgstr "" @@ -1869,10 +1926,18 @@ msgstr "" msgid "Jwt Secret" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:242 +msgid "KB" +msgstr "" + #: src/views/preference/components/RecoveryCodes.vue:74 msgid "Keep your recovery codes as safe as your password. We recommend saving them with a password manager." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:206 +msgid "Keepalive Timeout" +msgstr "" + #: src/views/certificate/CertificateList/certColumns.tsx:59 #: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" @@ -1894,7 +1959,7 @@ msgstr "" msgid "Last checked at" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:115 +#: src/views/dashboard/NginxDashBoard.vue:116 msgid "Last update" msgstr "" @@ -1956,7 +2021,7 @@ msgstr "" msgid "Load successfully" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:177 +#: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2022,8 +2087,8 @@ msgid "Make sure you have configured a reverse proxy for .well-known directory t msgstr "" #: src/routes/modules/config.ts:10 -#: src/views/config/ConfigEditor.vue:112 -#: src/views/config/ConfigEditor.vue:163 +#: src/views/config/ConfigEditor.vue:115 +#: src/views/config/ConfigEditor.vue:166 #: src/views/config/ConfigList.vue:72 msgid "Manage Configs" msgstr "" @@ -2047,7 +2112,11 @@ msgstr "" msgid "Managed Certificate" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:202 +#: src/views/dashboard/components/PerformanceOptimization.vue:179 +msgid "Manual" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:201 msgid "manually set" msgstr "" @@ -2056,7 +2125,7 @@ msgid "Master" msgstr "" #: src/composables/usePerformanceMetrics.ts:136 -#: src/views/dashboard/components/PerformanceTablesCard.vue:90 +#: src/views/dashboard/components/PerformanceTablesCard.vue:89 msgid "Master process" msgstr "" @@ -2077,12 +2146,20 @@ msgstr "" msgid "Max Requests Per Second" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:260 +msgid "Maximum client request body size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:195 +msgid "Maximum number of concurrent connections" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:176 -#: src/views/dashboard/components/PerformanceTablesCard.vue:126 +#: src/views/dashboard/components/PerformanceTablesCard.vue:125 msgid "Maximum number of connections per worker process" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:196 +#: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2099,6 +2176,10 @@ msgstr "" msgid "Memory Usage (RSS)" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:234 +msgid "Minimum file size for compression" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "" @@ -2141,7 +2222,7 @@ msgstr "" #: src/views/certificate/DNSCredential.vue:11 #: src/views/config/components/Mkdir.vue:64 #: src/views/config/configColumns.tsx:7 -#: src/views/config/ConfigEditor.vue:305 +#: src/views/config/ConfigEditor.vue:311 #: src/views/environments/group/columns.ts:8 #: src/views/environments/list/envColumns.tsx:9 #: src/views/nginx_log/NginxLogList.vue:37 @@ -2157,7 +2238,7 @@ msgstr "" msgid "Name" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:172 +#: src/views/dashboard/NginxDashBoard.vue:173 msgid "Need to enable the stub_status module" msgstr "" @@ -2185,7 +2266,7 @@ msgstr "" msgid "New name" msgstr "" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 msgid "New Path" msgstr "" @@ -2228,6 +2309,10 @@ msgstr "" msgid "Nginx conf no stream block" msgstr "" +#: src/constants/errors/self_check.ts:14 +msgid "Nginx conf not include conf.d directory" +msgstr "" + #: src/constants/errors/self_check.ts:6 msgid "Nginx conf not include sites-enabled" msgstr "" @@ -2262,7 +2347,7 @@ msgid "Nginx Control" msgstr "" #: src/composables/usePerformanceMetrics.ts:151 -#: src/views/dashboard/components/PerformanceTablesCard.vue:105 +#: src/views/dashboard/components/PerformanceTablesCard.vue:104 msgid "Nginx CPU usage rate" msgstr "" @@ -2271,14 +2356,14 @@ msgid "Nginx Error Log Path" msgstr "" #: src/composables/useNginxPerformance.ts:43 -#: src/views/dashboard/NginxDashBoard.vue:111 -#: src/views/dashboard/NginxDashBoard.vue:130 -#: src/views/dashboard/NginxDashBoard.vue:79 +#: src/views/dashboard/NginxDashBoard.vue:112 +#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:80 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15 msgid "Nginx is not running" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:111 +#: src/views/dashboard/NginxDashBoard.vue:112 msgid "Nginx is running" msgstr "" @@ -2292,7 +2377,7 @@ msgid "Nginx Log Directory Whitelist" msgstr "" #: src/composables/usePerformanceMetrics.ts:156 -#: src/views/dashboard/components/PerformanceTablesCard.vue:110 +#: src/views/dashboard/components/PerformanceTablesCard.vue:109 msgid "Nginx Memory usage" msgstr "" @@ -2328,7 +2413,7 @@ msgstr "" msgid "Nginx Test Config Command" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:181 +#: src/views/dashboard/components/PerformanceTablesCard.vue:180 msgid "Nginx theoretical maximum performance" msgstr "" @@ -2368,7 +2453,7 @@ msgstr "" msgid "No Action" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:179 +#: src/views/dashboard/NginxDashBoard.vue:180 msgid "No data" msgstr "" @@ -2439,10 +2524,14 @@ msgstr "" msgid "Notifier not found" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:173 +msgid "Number of concurrent worker processes, auto sets to CPU core count" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:131 #: src/composables/usePerformanceMetrics.ts:171 -#: src/views/dashboard/components/PerformanceTablesCard.vue:121 -#: src/views/dashboard/components/PerformanceTablesCard.vue:85 +#: src/views/dashboard/components/PerformanceTablesCard.vue:120 +#: src/views/dashboard/components/PerformanceTablesCard.vue:84 msgid "Number of worker processes" msgstr "" @@ -2462,6 +2551,10 @@ msgstr "" msgid "OCSP Must Staple may cause errors for some users on first access using Firefox." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:227 +msgid "Off" +msgstr "" + #: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 @@ -2493,6 +2586,10 @@ msgstr "" msgid "OK" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:226 +msgid "On" +msgstr "" + #: src/views/certificate/DNSCredential.vue:59 msgid "Once the verification is complete, the records will be removed." msgstr "" @@ -2513,6 +2610,14 @@ msgstr "" msgid "OpenAI" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:164 +msgid "Optimize Nginx Performance" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:158 +msgid "Optimize Performance" +msgstr "" + #: src/components/TwoFA/Authorization.vue:100 #: src/views/other/Login.vue:231 msgid "Or" @@ -2535,7 +2640,7 @@ msgid "OS:" msgstr "" #: src/composables/usePerformanceMetrics.ts:146 -#: src/views/dashboard/components/PerformanceTablesCard.vue:100 +#: src/views/dashboard/components/PerformanceTablesCard.vue:99 msgid "Other Nginx processes" msgstr "" @@ -2552,11 +2657,11 @@ msgstr "" msgid "Otp or recovery code empty" msgstr "" -#: src/views/config/ConfigEditor.vue:343 +#: src/views/config/ConfigEditor.vue:349 msgid "Overwrite" msgstr "" -#: src/views/config/ConfigEditor.vue:347 +#: src/views/config/ConfigEditor.vue:353 msgid "Overwrite exist file" msgstr "" @@ -2593,7 +2698,7 @@ msgstr "" msgid "Password length cannot exceed 20 characters" msgstr "" -#: src/views/config/ConfigEditor.vue:312 +#: src/views/config/ConfigEditor.vue:318 #: src/views/nginx_log/NginxLogList.vue:45 #: src/views/site/ngx_conf/LocationEditor.vue:109 #: src/views/site/ngx_conf/LocationEditor.vue:137 @@ -2617,10 +2722,14 @@ msgstr "" msgid "Perform core upgrade error" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:184 +#: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:122 +msgid "Performance settings saved successfully" +msgstr "" + #: src/language/constants.ts:28 msgid "Performing core upgrade" msgstr "" @@ -2629,7 +2738,7 @@ msgstr "" msgid "Plain text is empty" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:173 +#: src/views/dashboard/NginxDashBoard.vue:174 msgid "Please enable the stub_status module to get request statistics, connection count, etc." msgstr "" @@ -2662,13 +2771,13 @@ msgstr "" 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/components/Notification/notifications.ts:176 +#: src/components/Notification/notifications.ts:110 #: src/language/constants.ts:59 msgid "Please generate new recovery codes in the preferences immediately to prevent lockout." msgstr "" #: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:298 +#: src/views/config/ConfigEditor.vue:304 msgid "Please input a filename" msgstr "" @@ -2762,7 +2871,7 @@ msgstr "" msgid "Process Distribution" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:155 +#: src/views/dashboard/components/PerformanceTablesCard.vue:154 msgid "Process information" msgstr "" @@ -2791,7 +2900,7 @@ msgid "Public Security Number" msgstr "" #: src/composables/usePerformanceMetrics.ts:106 -#: src/views/dashboard/components/PerformanceTablesCard.vue:64 +#: src/views/dashboard/components/PerformanceTablesCard.vue:63 msgid "Read requests" msgstr "" @@ -2891,19 +3000,19 @@ msgstr "" msgid "Reload Nginx" msgstr "" -#: src/components/Notification/notifications.ts:10 +#: src/components/Notification/notifications.ts:116 msgid "Reload Nginx on %{node} failed, response: %{resp}" msgstr "" -#: src/components/Notification/notifications.ts:14 +#: src/components/Notification/notifications.ts:120 msgid "Reload Nginx on %{node} successfully" msgstr "" -#: src/components/Notification/notifications.ts:9 +#: src/components/Notification/notifications.ts:115 msgid "Reload Remote Nginx Error" msgstr "" -#: src/components/Notification/notifications.ts:13 +#: src/components/Notification/notifications.ts:119 msgid "Reload Remote Nginx Success" msgstr "" @@ -2941,55 +3050,55 @@ msgstr "" msgid "Rename" msgstr "" -#: src/components/Notification/notifications.ts:66 +#: src/components/Notification/notifications.ts:172 msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed" msgstr "" -#: src/components/Notification/notifications.ts:70 +#: src/components/Notification/notifications.ts:176 msgid "Rename %{orig_path} to %{new_path} on %{env_name} successfully" msgstr "" -#: src/components/Notification/notifications.ts:65 +#: src/components/Notification/notifications.ts:171 #: src/language/constants.ts:42 msgid "Rename Remote Config Error" msgstr "" -#: src/components/Notification/notifications.ts:69 +#: src/components/Notification/notifications.ts:175 #: src/language/constants.ts:41 msgid "Rename Remote Config Success" msgstr "" -#: src/components/Notification/notifications.ts:115 +#: src/components/Notification/notifications.ts:49 #: src/language/constants.ts:56 msgid "Rename Remote Site Error" msgstr "" -#: src/components/Notification/notifications.ts:119 +#: src/components/Notification/notifications.ts:53 #: src/language/constants.ts:55 msgid "Rename Remote Site Success" msgstr "" -#: src/components/Notification/notifications.ts:157 +#: src/components/Notification/notifications.ts:91 msgid "Rename Remote Stream Error" msgstr "" -#: src/components/Notification/notifications.ts:161 +#: src/components/Notification/notifications.ts:95 msgid "Rename Remote Stream Success" msgstr "" -#: src/components/Notification/notifications.ts:116 +#: src/components/Notification/notifications.ts:50 msgid "Rename site %{name} to %{new_name} on %{node} failed" msgstr "" -#: src/components/Notification/notifications.ts:120 +#: src/components/Notification/notifications.ts:54 msgid "Rename site %{name} to %{new_name} on %{node} successfully" msgstr "" -#: src/components/Notification/notifications.ts:158 +#: src/components/Notification/notifications.ts:92 msgid "Rename stream %{name} to %{new_name} on %{node} failed" msgstr "" -#: src/components/Notification/notifications.ts:162 +#: src/components/Notification/notifications.ts:96 msgid "Rename stream %{name} to %{new_name} on %{node} successfully" msgstr "" @@ -3021,7 +3130,7 @@ msgstr "" msgid "Renew successfully" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:142 +#: src/views/dashboard/components/PerformanceTablesCard.vue:141 msgid "Request statistics" msgstr "" @@ -3050,7 +3159,7 @@ msgid "Resident Set Size: Actual memory resident in physical memory, including a msgstr "" #: src/composables/usePerformanceMetrics.ts:111 -#: src/views/dashboard/components/PerformanceTablesCard.vue:69 +#: src/views/dashboard/components/PerformanceTablesCard.vue:68 msgid "Responses" msgstr "" @@ -3064,19 +3173,19 @@ msgstr "" msgid "Restart Nginx" msgstr "" -#: src/components/Notification/notifications.ts:18 +#: src/components/Notification/notifications.ts:124 msgid "Restart Nginx on %{node} failed, response: %{resp}" msgstr "" -#: src/components/Notification/notifications.ts:22 +#: src/components/Notification/notifications.ts:128 msgid "Restart Nginx on %{node} successfully" msgstr "" -#: src/components/Notification/notifications.ts:17 +#: src/components/Notification/notifications.ts:123 msgid "Restart Remote Nginx Error" msgstr "" -#: src/components/Notification/notifications.ts:21 +#: src/components/Notification/notifications.ts:127 msgid "Restart Remote Nginx Success" msgstr "" @@ -3153,7 +3262,7 @@ msgstr "" #: src/components/StdDesign/StdDetail/StdDetail.vue:93 #: src/views/certificate/components/CertificateEditor.vue:264 #: src/views/config/components/ConfigName.vue:59 -#: src/views/config/ConfigEditor.vue:271 +#: src/views/config/ConfigEditor.vue:277 #: src/views/preference/components/Passkey.vue:130 #: src/views/preference/Preference.vue:229 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:127 @@ -3173,37 +3282,37 @@ msgstr "" msgid "Save error %{msg}" msgstr "" -#: src/components/Notification/notifications.ts:123 +#: src/components/Notification/notifications.ts:57 #: src/language/constants.ts:48 msgid "Save Remote Site Error" msgstr "" -#: src/components/Notification/notifications.ts:127 +#: src/components/Notification/notifications.ts:61 #: src/language/constants.ts:47 msgid "Save Remote Site Success" msgstr "" -#: src/components/Notification/notifications.ts:165 +#: src/components/Notification/notifications.ts:99 msgid "Save Remote Stream Error" msgstr "" -#: src/components/Notification/notifications.ts:169 +#: src/components/Notification/notifications.ts:103 msgid "Save Remote Stream Success" msgstr "" -#: src/components/Notification/notifications.ts:124 +#: src/components/Notification/notifications.ts:58 msgid "Save site %{name} to %{node} failed" msgstr "" -#: src/components/Notification/notifications.ts:128 +#: src/components/Notification/notifications.ts:62 msgid "Save site %{name} to %{node} successfully" msgstr "" -#: src/components/Notification/notifications.ts:166 +#: src/components/Notification/notifications.ts:100 msgid "Save stream %{name} to %{node} failed" msgstr "" -#: src/components/Notification/notifications.ts:170 +#: src/components/Notification/notifications.ts:104 msgid "Save stream %{name} to %{node} successfully" msgstr "" @@ -3214,7 +3323,7 @@ msgstr "" msgid "Save successfully" msgstr "" -#: src/views/config/ConfigEditor.vue:191 +#: src/views/config/ConfigEditor.vue:194 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/site/site_add/SiteAdd.vue:37 #: src/views/site/site_edit/SiteEdit.vue:157 @@ -3230,6 +3339,10 @@ msgstr "" msgid "SDK" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:216 +msgid "seconds" +msgstr "" + #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "" @@ -3270,6 +3383,14 @@ msgstr "" msgid "Server Info" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:277 +msgid "Server Names Hash Bucket Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:278 +msgid "Server names hash table size" +msgstr "" + #: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "" @@ -3500,38 +3621,38 @@ msgstr "" msgid "Sync Certificate" msgstr "" -#: src/components/Notification/notifications.ts:48 +#: src/components/Notification/notifications.ts:154 msgid "Sync Certificate %{cert_name} to %{env_name} failed" msgstr "" -#: src/components/Notification/notifications.ts:52 +#: src/components/Notification/notifications.ts:158 msgid "Sync Certificate %{cert_name} to %{env_name} successfully" msgstr "" -#: src/components/Notification/notifications.ts:47 +#: src/components/Notification/notifications.ts:153 #: src/language/constants.ts:39 msgid "Sync Certificate Error" msgstr "" -#: src/components/Notification/notifications.ts:51 +#: src/components/Notification/notifications.ts:157 #: src/language/constants.ts:38 msgid "Sync Certificate Success" msgstr "" -#: src/components/Notification/notifications.ts:58 +#: src/components/Notification/notifications.ts:164 msgid "Sync config %{config_name} to %{env_name} failed" msgstr "" -#: src/components/Notification/notifications.ts:62 +#: src/components/Notification/notifications.ts:168 msgid "Sync config %{config_name} to %{env_name} successfully" msgstr "" -#: src/components/Notification/notifications.ts:57 +#: src/components/Notification/notifications.ts:163 #: src/language/constants.ts:45 msgid "Sync Config Error" msgstr "" -#: src/components/Notification/notifications.ts:61 +#: src/components/Notification/notifications.ts:167 #: src/language/constants.ts:44 msgid "Sync Config Success" msgstr "" @@ -3666,11 +3787,11 @@ msgstr "" msgid "The username or password is incorrect" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:185 +#: src/views/dashboard/components/PerformanceTablesCard.vue:184 msgid "Theoretical maximum concurrent connections:" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:189 +#: src/views/dashboard/components/PerformanceTablesCard.vue:188 msgid "Theoretical maximum RPS (Requests Per Second):" msgstr "" @@ -3709,7 +3830,7 @@ msgstr "" msgid "This field should only contain letters, unicode characters, numbers, and -_." msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:152 +#: src/views/dashboard/NginxDashBoard.vue:153 msgid "This module provides Nginx request statistics, connection count, etc. data. After enabling it, you can view performance statistics" msgstr "" @@ -3749,7 +3870,7 @@ msgstr "" msgid "Tips" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:207 +#: src/views/dashboard/components/PerformanceTablesCard.vue:206 msgid "Tips: You can increase the concurrency processing capacity by increasing worker_processes or worker_connections" msgstr "" @@ -3777,7 +3898,7 @@ msgstr "" msgid "To use a local large model, deploy it with ollama, vllm or lmdeploy. They provide an OpenAI-compatible API endpoint, so just set the baseUrl to your local API." msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:56 +#: src/views/dashboard/NginxDashBoard.vue:57 msgid "Toggle failed" msgstr "" @@ -3792,12 +3913,12 @@ msgstr[0] "" msgstr[1] "" #: src/composables/usePerformanceMetrics.ts:96 -#: src/views/dashboard/components/PerformanceTablesCard.vue:54 +#: src/views/dashboard/components/PerformanceTablesCard.vue:53 msgid "Total connections" msgstr "" #: src/composables/usePerformanceMetrics.ts:91 -#: src/views/dashboard/components/PerformanceTablesCard.vue:49 +#: src/views/dashboard/components/PerformanceTablesCard.vue:48 msgid "Total handshakes" msgstr "" @@ -3810,7 +3931,7 @@ msgid "Total Nginx Processes" msgstr "" #: src/composables/usePerformanceMetrics.ts:101 -#: src/views/dashboard/components/PerformanceTablesCard.vue:59 +#: src/views/dashboard/components/PerformanceTablesCard.vue:58 msgid "Total requests" msgstr "" @@ -3856,7 +3977,7 @@ msgstr "" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 #: src/views/config/configColumns.tsx:36 -#: src/views/config/ConfigEditor.vue:325 +#: src/views/config/ConfigEditor.vue:331 #: src/views/environments/group/columns.ts:37 #: src/views/environments/list/envColumns.tsx:90 #: src/views/site/site_edit/RightSettings.vue:75 @@ -3939,7 +4060,7 @@ msgstr "" msgid "Valid" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:22 +#: src/views/dashboard/components/PerformanceTablesCard.vue:21 msgid "Value" msgstr "" @@ -3979,7 +4100,7 @@ msgid "Viewed" msgstr "" #: src/composables/usePerformanceMetrics.ts:116 -#: src/views/dashboard/components/PerformanceTablesCard.vue:74 +#: src/views/dashboard/components/PerformanceTablesCard.vue:73 msgid "Waiting processes" msgstr "" @@ -4033,8 +4154,13 @@ msgstr "" msgid "When you generate new recovery codes, you must download or print the new codes." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:194 +msgid "Worker Connections" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:57 -#: src/views/dashboard/components/ConnectionMetricsCard.vue:49 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:48 +#: src/views/dashboard/components/PerformanceOptimization.vue:172 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" diff --git a/app/src/language/ru_RU/app.po b/app/src/language/ru_RU/app.po index 1192a30c..55258746 100644 --- a/app/src/language/ru_RU/app.po +++ b/app/src/language/ru_RU/app.po @@ -58,7 +58,7 @@ msgid "Action" msgstr "Действие" #: src/composables/usePerformanceMetrics.ts:86 -#: src/views/dashboard/components/PerformanceTablesCard.vue:44 +#: src/views/dashboard/components/PerformanceTablesCard.vue:43 msgid "Active connections" msgstr "" @@ -81,8 +81,8 @@ msgstr "Добавить" msgid "Add a passkey" msgstr "Добавить ключ доступа" -#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:168 -#: src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:246 msgid "Add Configuration" msgstr "Добавить конфигурацию" @@ -125,7 +125,7 @@ msgstr "Затем, обновите эту страницу и снова на msgid "All" msgstr "Все" -#: src/components/Notification/notifications.ts:175 +#: src/components/Notification/notifications.ts:109 #: src/language/constants.ts:58 msgid "All Recovery Codes Have Been Used" msgstr "Все коды восстановления были использованы" @@ -269,7 +269,12 @@ msgstr "Настройки аутентификации" msgid "Author" msgstr "Автор" -#: src/views/dashboard/components/PerformanceTablesCard.vue:201 +#: src/views/dashboard/components/PerformanceOptimization.vue:178 +#: src/views/dashboard/components/PerformanceOptimization.vue:189 +msgid "Auto" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:200 msgid "auto = CPU cores" msgstr "" @@ -294,7 +299,7 @@ msgid "Automatically indexed from site and stream configurations." msgstr "" #: src/views/certificate/components/CertificateEditor.vue:257 -#: src/views/config/ConfigEditor.vue:262 src/views/config/ConfigList.vue:112 +#: src/views/config/ConfigEditor.vue:268 src/views/config/ConfigList.vue:112 #: src/views/config/ConfigList.vue:195 src/views/nginx_log/NginxLog.vue:173 #: src/views/site/site_edit/SiteEdit.vue:285 #: src/views/stream/StreamEdit.vue:264 @@ -348,7 +353,7 @@ msgstr "" msgid "Base information" msgstr "Основная информация" -#: src/views/config/ConfigEditor.vue:290 +#: src/views/config/ConfigEditor.vue:296 #: src/views/site/site_edit/RightSettings.vue:52 #: src/views/stream/components/RightSettings.vue:79 msgid "Basic" @@ -390,7 +395,7 @@ msgid "CA Dir" msgstr "Директория корневого сертификата" #: src/composables/usePerformanceMetrics.ts:141 -#: src/views/dashboard/components/PerformanceTablesCard.vue:95 +#: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" @@ -404,7 +409,7 @@ msgid "CADir" msgstr "" #: src/views/dashboard/components/PerformanceStatisticsCard.vue:43 -#: src/views/dashboard/components/PerformanceTablesCard.vue:191 +#: src/views/dashboard/components/PerformanceTablesCard.vue:190 msgid "" "Calculated based on worker_processes * worker_connections. Actual " "performance depends on hardware, configuration, and workload" @@ -433,7 +438,7 @@ msgstr "Невозможно изменить пароль начального msgid "Cannot compare: Missing content" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:132 msgid "Cannot get performance data in this state" msgstr "" @@ -450,18 +455,18 @@ msgstr "Авто Сертификат" msgid "Cert path is not under the nginx conf dir" msgstr "" -#: src/components/Notification/notifications.ts:28 +#: src/components/Notification/notifications.ts:134 #, fuzzy msgid "Certificate %{name} has expired" msgstr "Шаблоны конфигурации" -#: src/components/Notification/notifications.ts:32 -#: src/components/Notification/notifications.ts:36 -#: src/components/Notification/notifications.ts:40 +#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:146 msgid "Certificate %{name} will expire in %{days} days" msgstr "" -#: src/components/Notification/notifications.ts:44 +#: src/components/Notification/notifications.ts:150 msgid "Certificate %{name} will expire in 1 day" msgstr "" @@ -469,19 +474,19 @@ msgstr "" msgid "Certificate decode error" msgstr "Ошибка декодирования сертификата" -#: src/components/Notification/notifications.ts:31 +#: src/components/Notification/notifications.ts:137 #, fuzzy msgid "Certificate Expiration Notice" msgstr "Шаблоны конфигурации" -#: src/components/Notification/notifications.ts:27 +#: src/components/Notification/notifications.ts:133 #, fuzzy msgid "Certificate Expired" msgstr "Список сертификатов" -#: src/components/Notification/notifications.ts:35 -#: src/components/Notification/notifications.ts:39 -#: src/components/Notification/notifications.ts:43 +#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:149 #, fuzzy msgid "Certificate Expiring Soon" msgstr "Ошибка анализа сертификата" @@ -540,7 +545,7 @@ msgid_plural "Changed Certificates" msgstr[0] "Сертификат изменен" msgstr[1] "Сертификаты изменены" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 msgid "Changed Path" msgstr "Путь изменён" @@ -611,6 +616,26 @@ msgstr "" msgid "Click to copy" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:307 +msgid "Client Body Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:289 +msgid "Client Header Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:259 +msgid "Client Max Body Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:308 +msgid "Client request body buffer size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:290 +msgid "Client request header buffer size" +msgstr "" + #: src/components/ConfigHistory/ConfigHistory.vue:169 msgid "Close" msgstr "" @@ -643,6 +668,10 @@ msgstr "" msgid "Compare with Current" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:248 +msgid "Compression level, 1 is lowest, 9 is highest" +msgstr "" + #: src/constants/errors/backup.ts:14 #, fuzzy msgid "Config path is empty" @@ -661,7 +690,7 @@ msgstr "Проверка конфигурации успешна" msgid "Configuration History" msgstr "Конфигурации" -#: src/views/dashboard/components/PerformanceTablesCard.vue:168 +#: src/views/dashboard/components/PerformanceTablesCard.vue:167 #, fuzzy msgid "Configuration information" msgstr "Конфигурации" @@ -682,7 +711,7 @@ msgstr "Настроить SSL" msgid "Connected" msgstr "Подключено" -#: src/views/dashboard/NginxDashBoard.vue:84 +#: src/views/dashboard/NginxDashBoard.vue:85 msgid "Connection error, trying to reconnect..." msgstr "" @@ -690,6 +719,10 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "Соединение потеряно, пожалуйста, обновите страницу." +#: src/views/dashboard/components/PerformanceOptimization.vue:207 +msgid "Connection timeout period" +msgstr "" + #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:118 #: src/views/site/ngx_conf/LocationEditor.vue:115 #: src/views/site/ngx_conf/LocationEditor.vue:143 @@ -795,7 +828,7 @@ msgstr "Текущая учетная запись имеет включенну msgid "Current account is not enabled TOTP." msgstr "Для текущей учетной записи TOTP не включен." -#: src/views/dashboard/components/ConnectionMetricsCard.vue:28 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:27 msgid "Current active connections" msgstr "" @@ -825,8 +858,8 @@ msgid "" "indicator." msgstr "Настройте имя локального сервера для отображения в индикаторе среды." -#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:107 -#: src/views/config/ConfigEditor.vue:158 src/views/config/ConfigList.vue:67 +#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:110 +#: src/views/config/ConfigEditor.vue:161 src/views/config/ConfigList.vue:67 msgid "Dashboard" msgstr "Доска" @@ -862,32 +895,32 @@ msgstr "Обновить сертификат" msgid "Delete Permanently" msgstr "Удалить навсегда" -#: src/components/Notification/notifications.ts:75 src/language/constants.ts:50 +#: src/components/Notification/notifications.ts:9 src/language/constants.ts:50 #, fuzzy msgid "Delete Remote Site Error" msgstr "Ошибка переименования удаленной конфигурации" -#: src/components/Notification/notifications.ts:79 src/language/constants.ts:49 +#: src/components/Notification/notifications.ts:13 src/language/constants.ts:49 #, fuzzy msgid "Delete Remote Site Success" msgstr "Переименование удаленной конфигурации прошло успешно" -#: src/components/Notification/notifications.ts:133 +#: src/components/Notification/notifications.ts:67 #, fuzzy msgid "Delete Remote Stream Error" msgstr "Ошибка переименования удаленной конфигурации" -#: src/components/Notification/notifications.ts:137 +#: src/components/Notification/notifications.ts:71 #, fuzzy msgid "Delete Remote Stream Success" msgstr "Переименование удаленной конфигурации прошло успешно" -#: src/components/Notification/notifications.ts:76 +#: src/components/Notification/notifications.ts:10 #, fuzzy msgid "Delete site %{name} from %{node} failed" msgstr "Не удалось развернуть %{conf_name} на %{node_name}" -#: src/components/Notification/notifications.ts:80 +#: src/components/Notification/notifications.ts:14 msgid "Delete site %{name} from %{node} successfully" msgstr "Сайт %{name} успешно удалён с %{node}" @@ -895,12 +928,12 @@ msgstr "Сайт %{name} успешно удалён с %{node}" msgid "Delete site: %{site_name}" msgstr "Удалить сайт: %{site_name}" -#: src/components/Notification/notifications.ts:134 +#: src/components/Notification/notifications.ts:68 #, fuzzy msgid "Delete stream %{name} from %{node} failed" msgstr "Не удалось развернуть %{conf_name} на %{node_name}" -#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:72 msgid "Delete stream %{name} from %{node} successfully" msgstr "Поток %{name} успешно удалён с %{node}" @@ -916,7 +949,7 @@ msgstr "Удалено успешно" msgid "Demo" msgstr "" -#: src/views/config/ConfigEditor.vue:334 +#: src/views/config/ConfigEditor.vue:340 msgid "Deploy" msgstr "Развернуть" @@ -974,62 +1007,62 @@ msgstr "Отключить" msgid "Disable auto-renewal failed for %{name}" msgstr "Не удалось отключить автоматическое продление для %{name}" -#: src/components/Notification/notifications.ts:83 src/language/constants.ts:52 +#: src/components/Notification/notifications.ts:17 src/language/constants.ts:52 #, fuzzy msgid "Disable Remote Site Error" msgstr "Ошибка переименования удаленной конфигурации" -#: src/components/Notification/notifications.ts:107 +#: src/components/Notification/notifications.ts:41 #, fuzzy msgid "Disable Remote Site Maintenance Error" msgstr "Ошибка переименования удаленной конфигурации" -#: src/components/Notification/notifications.ts:111 +#: src/components/Notification/notifications.ts:45 #, fuzzy msgid "Disable Remote Site Maintenance Success" msgstr "Переименование удаленной конфигурации прошло успешно" -#: src/components/Notification/notifications.ts:87 src/language/constants.ts:51 +#: src/components/Notification/notifications.ts:21 src/language/constants.ts:51 #, fuzzy msgid "Disable Remote Site Success" msgstr "Переименование удаленной конфигурации прошло успешно" -#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:75 #, fuzzy msgid "Disable Remote Stream Error" msgstr "Ошибка переименования удаленной конфигурации" -#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:79 #, fuzzy msgid "Disable Remote Stream Success" msgstr "Переименование удаленной конфигурации прошло успешно" -#: src/components/Notification/notifications.ts:84 +#: src/components/Notification/notifications.ts:18 #, fuzzy msgid "Disable site %{name} from %{node} failed" msgstr "Включение %{conf_name} in %{node_name} успешно" -#: src/components/Notification/notifications.ts:88 +#: src/components/Notification/notifications.ts:22 #, fuzzy msgid "Disable site %{name} from %{node} successfully" msgstr "Включение %{conf_name} in %{node_name} успешно" -#: src/components/Notification/notifications.ts:108 +#: src/components/Notification/notifications.ts:42 #, fuzzy msgid "Disable site %{name} maintenance on %{node} failed" msgstr "Включение %{conf_name} in %{node_name} успешно" -#: src/components/Notification/notifications.ts:112 +#: src/components/Notification/notifications.ts:46 #, fuzzy msgid "Disable site %{name} maintenance on %{node} successfully" msgstr "Включение %{conf_name} in %{node_name} успешно" -#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:76 #, fuzzy msgid "Disable stream %{name} from %{node} failed" msgstr "Включение %{conf_name} in %{node_name} нипалучилася" -#: src/components/Notification/notifications.ts:146 +#: src/components/Notification/notifications.ts:80 #, fuzzy msgid "Disable stream %{name} from %{node} successfully" msgstr "Включение %{conf_name} in %{node_name} успешно" @@ -1165,7 +1198,7 @@ msgstr "Редактировать %{n}" msgid "Edit %{n}" msgstr "Редактировать %{n}" -#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:246 msgid "Edit Configuration" msgstr "Редактировать Конфигурацию" @@ -1203,6 +1236,10 @@ msgstr "Двухфакторная аутентификация успешно msgid "Enable auto-renewal failed for %{name}" msgstr "Не удалось включить автоматическое продление для %{name}" +#: src/views/dashboard/components/PerformanceOptimization.vue:222 +msgid "Enable compression for content transfer" +msgstr "" + #: src/views/site/site_add/SiteAdd.vue:43 msgid "Enable failed" msgstr "Не удалось включить" @@ -1212,65 +1249,65 @@ msgstr "Не удалось включить" msgid "Enable HTTPS" msgstr "Включить TOTP" -#: src/components/Notification/notifications.ts:91 src/language/constants.ts:54 +#: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 #, fuzzy msgid "Enable Remote Site Error" msgstr "Ошибка переименования удаленной конфигурации" -#: src/components/Notification/notifications.ts:99 +#: src/components/Notification/notifications.ts:33 #, fuzzy msgid "Enable Remote Site Maintenance Error" msgstr "Ошибка переименования удаленной конфигурации" -#: src/components/Notification/notifications.ts:103 +#: src/components/Notification/notifications.ts:37 #, fuzzy msgid "Enable Remote Site Maintenance Success" msgstr "Переименование удаленной конфигурации прошло успешно" -#: src/components/Notification/notifications.ts:95 src/language/constants.ts:53 +#: src/components/Notification/notifications.ts:29 src/language/constants.ts:53 #, fuzzy msgid "Enable Remote Site Success" msgstr "Переименование удаленной конфигурации прошло успешно" -#: src/components/Notification/notifications.ts:149 +#: src/components/Notification/notifications.ts:83 #, fuzzy msgid "Enable Remote Stream Error" msgstr "Ошибка переименования удаленной конфигурации" -#: src/components/Notification/notifications.ts:153 +#: src/components/Notification/notifications.ts:87 #, fuzzy msgid "Enable Remote Stream Success" msgstr "Переименование удаленной конфигурации прошло успешно" -#: src/components/Notification/notifications.ts:100 +#: src/components/Notification/notifications.ts:34 #, fuzzy msgid "Enable site %{name} maintenance on %{node} failed" msgstr "Включение %{conf_name} in %{node_name} нипалучилася" -#: src/components/Notification/notifications.ts:104 +#: src/components/Notification/notifications.ts:38 #, fuzzy msgid "Enable site %{name} maintenance on %{node} successfully" msgstr "Сайт %{name} успешно включён на %{node}" -#: src/components/Notification/notifications.ts:92 +#: src/components/Notification/notifications.ts:26 #, fuzzy msgid "Enable site %{name} on %{node} failed" msgstr "Включение %{conf_name} in %{node_name} нипалучилася" -#: src/components/Notification/notifications.ts:96 +#: src/components/Notification/notifications.ts:30 msgid "Enable site %{name} on %{node} successfully" msgstr "Сайт %{name} успешно включён на %{node}" -#: src/components/Notification/notifications.ts:150 +#: src/components/Notification/notifications.ts:84 #, fuzzy msgid "Enable stream %{name} on %{node} failed" msgstr "Включение %{conf_name} in %{node_name} нипалучилася" -#: src/components/Notification/notifications.ts:154 +#: src/components/Notification/notifications.ts:88 msgid "Enable stream %{name} on %{node} successfully" msgstr "Поток %{name} успешно включён на %{node}" -#: src/views/dashboard/NginxDashBoard.vue:149 +#: src/views/dashboard/NginxDashBoard.vue:150 msgid "Enable stub_status module" msgstr "" @@ -1569,6 +1606,11 @@ msgstr "Не удалось получить информацию о серти msgid "Failed to get certificate information" msgstr "Не удалось получить информацию о сертификате" +#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#, fuzzy +msgid "Failed to get Nginx performance settings" +msgstr "Не удалось получить информацию о сертификате" + #: src/composables/useNginxPerformance.ts:49 #, fuzzy msgid "Failed to get performance data" @@ -1633,6 +1675,11 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "Не удалось получить сертификат" +#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#, fuzzy +msgid "Failed to save Nginx performance settings" +msgstr "Не удалось получить информацию о сертификате" + #: src/views/site/site_edit/SiteEdit.vue:139 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." @@ -1701,15 +1748,15 @@ msgstr "Для китайских пользователей: https://mirror.ghp msgid "Form parse failed" msgstr "Дублирование не удалось" -#: src/views/config/ConfigEditor.vue:265 +#: src/views/config/ConfigEditor.vue:271 msgid "Format Code" msgstr "Форматировать код" -#: src/views/config/ConfigEditor.vue:213 +#: src/views/config/ConfigEditor.vue:218 msgid "Format error %{msg}" msgstr "Ошибка формата %{msg}" -#: src/views/config/ConfigEditor.vue:211 +#: src/views/config/ConfigEditor.vue:216 msgid "Format successfully" msgstr "Форматирование успешно" @@ -1741,7 +1788,7 @@ msgstr "Коды восстановления успешно сгенериро msgid "Generating private key for registering account" msgstr "Генерация приватного ключа для регистрации учетной записи" -#: src/views/dashboard/NginxDashBoard.vue:140 +#: src/views/dashboard/NginxDashBoard.vue:141 #, fuzzy msgid "Get data failed" msgstr "Регистрация не удалась" @@ -1759,6 +1806,18 @@ msgstr "Получение сертификата, пожалуйста, под msgid "Github Proxy" msgstr "Прокси Github" +#: src/views/dashboard/components/PerformanceOptimization.vue:221 +msgid "GZIP Compression" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:247 +msgid "GZIP Compression Level" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:233 +msgid "GZIP Min Length" +msgstr "" + #: src/constants/errors/backup.ts:59 msgid "Hash verification failed: file integrity compromised" msgstr "" @@ -1771,7 +1830,7 @@ msgstr "Скрыть" msgid "Higher value means better connection reuse" msgstr "" -#: src/views/config/ConfigEditor.vue:251 +#: src/views/config/ConfigEditor.vue:256 #: src/views/site/site_edit/SiteEdit.vue:212 #: src/views/stream/StreamEdit.vue:195 #, fuzzy @@ -1874,7 +1933,7 @@ msgstr "" msgid "Indexing..." msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:16 +#: src/views/dashboard/components/PerformanceTablesCard.vue:15 msgid "Indicator" msgstr "" @@ -1948,7 +2007,7 @@ msgid "Invalid file path: {0}" msgstr "Неверное имя файла" #: src/views/config/components/Rename.vue:66 -#: src/views/config/ConfigEditor.vue:299 +#: src/views/config/ConfigEditor.vue:305 msgid "Invalid filename" msgstr "Неверное имя файла" @@ -2010,12 +2069,20 @@ msgstr "Издатель: %{issuer}" msgid "Jwt Secret" msgstr "Jwt секрет" +#: src/views/dashboard/components/PerformanceOptimization.vue:242 +msgid "KB" +msgstr "" + #: src/views/preference/components/RecoveryCodes.vue:74 msgid "" "Keep your recovery codes as safe as your password. We recommend saving them " "with a password manager." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:206 +msgid "Keepalive Timeout" +msgstr "" + #: src/views/certificate/CertificateList/certColumns.tsx:59 #: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" @@ -2038,7 +2105,7 @@ msgstr "Пользовательский" msgid "Last checked at" msgstr "Последняя проверка в" -#: src/views/dashboard/NginxDashBoard.vue:115 +#: src/views/dashboard/NginxDashBoard.vue:116 #, fuzzy msgid "Last update" msgstr "Последняя проверка в" @@ -2103,7 +2170,7 @@ msgstr "Загрузить из настроек" msgid "Load successfully" msgstr "Загружено успешно" -#: src/views/dashboard/NginxDashBoard.vue:177 +#: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2184,8 +2251,8 @@ msgstr "" "Убедитесь, что вы настроили обратный прокси для каталога .well-known на " "HTTPChallengePort перед получением сертификата." -#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:112 -#: src/views/config/ConfigEditor.vue:163 src/views/config/ConfigList.vue:72 +#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:115 +#: src/views/config/ConfigEditor.vue:166 src/views/config/ConfigList.vue:72 msgid "Manage Configs" msgstr "Конфигурации" @@ -2205,7 +2272,11 @@ msgstr "Пользователи" msgid "Managed Certificate" msgstr "Управление сертификатом" -#: src/views/dashboard/components/PerformanceTablesCard.vue:202 +#: src/views/dashboard/components/PerformanceOptimization.vue:179 +msgid "Manual" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:201 msgid "manually set" msgstr "" @@ -2214,7 +2285,7 @@ msgid "Master" msgstr "" #: src/composables/usePerformanceMetrics.ts:136 -#: src/views/dashboard/components/PerformanceTablesCard.vue:90 +#: src/views/dashboard/components/PerformanceTablesCard.vue:89 msgid "Master process" msgstr "" @@ -2236,12 +2307,21 @@ msgstr "Текущяя версия" msgid "Max Requests Per Second" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:260 +msgid "Maximum client request body size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#, fuzzy +msgid "Maximum number of concurrent connections" +msgstr "Текущяя версия" + #: src/composables/usePerformanceMetrics.ts:176 -#: src/views/dashboard/components/PerformanceTablesCard.vue:126 +#: src/views/dashboard/components/PerformanceTablesCard.vue:125 msgid "Maximum number of connections per worker process" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:196 +#: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2258,6 +2338,10 @@ msgstr "Память и хранилище" msgid "Memory Usage (RSS)" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:234 +msgid "Minimum file size for compression" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "Минуты" @@ -2299,7 +2383,7 @@ msgstr "Многострочная директива" #: src/views/certificate/components/CertificateEditor.vue:162 #: src/views/certificate/DNSCredential.vue:11 #: src/views/config/components/Mkdir.vue:64 -#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:305 +#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:311 #: src/views/environments/group/columns.ts:8 #: src/views/environments/list/envColumns.tsx:9 #: src/views/nginx_log/NginxLogList.vue:37 @@ -2314,7 +2398,7 @@ msgstr "Многострочная директива" msgid "Name" msgstr "Имя" -#: src/views/dashboard/NginxDashBoard.vue:172 +#: src/views/dashboard/NginxDashBoard.vue:173 msgid "Need to enable the stub_status module" msgstr "" @@ -2343,7 +2427,7 @@ msgstr "Установить" msgid "New name" msgstr "Новое имя" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 msgid "New Path" msgstr "Новый путь" @@ -2386,6 +2470,11 @@ msgstr "" msgid "Nginx conf no stream block" msgstr "" +#: src/constants/errors/self_check.ts:14 +#, fuzzy +msgid "Nginx conf not include conf.d directory" +msgstr "Терминальная команда запуска" + #: src/constants/errors/self_check.ts:6 msgid "Nginx conf not include sites-enabled" msgstr "" @@ -2424,7 +2513,7 @@ msgid "Nginx Control" msgstr "Управление Nginx" #: src/composables/usePerformanceMetrics.ts:151 -#: src/views/dashboard/components/PerformanceTablesCard.vue:105 +#: src/views/dashboard/components/PerformanceTablesCard.vue:104 msgid "Nginx CPU usage rate" msgstr "" @@ -2433,14 +2522,14 @@ msgid "Nginx Error Log Path" msgstr "Путь для Nginx Error Log" #: src/composables/useNginxPerformance.ts:43 -#: src/views/dashboard/NginxDashBoard.vue:111 -#: src/views/dashboard/NginxDashBoard.vue:130 -#: src/views/dashboard/NginxDashBoard.vue:79 +#: src/views/dashboard/NginxDashBoard.vue:112 +#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:80 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15 msgid "Nginx is not running" msgstr "Nginx не работает" -#: src/views/dashboard/NginxDashBoard.vue:111 +#: src/views/dashboard/NginxDashBoard.vue:112 #, fuzzy msgid "Nginx is running" msgstr "Nginx не работает" @@ -2454,7 +2543,7 @@ msgid "Nginx Log Directory Whitelist" msgstr "Белый список директорий для логов Nginx" #: src/composables/usePerformanceMetrics.ts:156 -#: src/views/dashboard/components/PerformanceTablesCard.vue:110 +#: src/views/dashboard/components/PerformanceTablesCard.vue:109 msgid "Nginx Memory usage" msgstr "" @@ -2493,7 +2582,7 @@ msgstr "Nginx успешно перезапущен" msgid "Nginx Test Config Command" msgstr "Терминальная команда запуска" -#: src/views/dashboard/components/PerformanceTablesCard.vue:181 +#: src/views/dashboard/components/PerformanceTablesCard.vue:180 msgid "Nginx theoretical maximum performance" msgstr "" @@ -2538,7 +2627,7 @@ msgstr "Нет" msgid "No Action" msgstr "Действие" -#: src/views/dashboard/NginxDashBoard.vue:179 +#: src/views/dashboard/NginxDashBoard.vue:180 msgid "No data" msgstr "" @@ -2618,10 +2707,14 @@ msgstr "Уведомления" msgid "Notifier not found" msgstr "Файл не найден" +#: src/views/dashboard/components/PerformanceOptimization.vue:173 +msgid "Number of concurrent worker processes, auto sets to CPU core count" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:131 #: src/composables/usePerformanceMetrics.ts:171 -#: src/views/dashboard/components/PerformanceTablesCard.vue:121 -#: src/views/dashboard/components/PerformanceTablesCard.vue:85 +#: src/views/dashboard/components/PerformanceTablesCard.vue:120 +#: src/views/dashboard/components/PerformanceTablesCard.vue:84 msgid "Number of worker processes" msgstr "" @@ -2645,6 +2738,11 @@ msgstr "" "OCSP Must Staple может вызвать ошибки у некоторых пользователей при первом " "доступе через Firefox." +#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#, fuzzy +msgid "Off" +msgstr "Оффлайн" + #: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 @@ -2676,6 +2774,10 @@ msgstr "Ок" msgid "OK" msgstr "ОК" +#: src/views/dashboard/components/PerformanceOptimization.vue:226 +msgid "On" +msgstr "" + #: src/views/certificate/DNSCredential.vue:59 msgid "Once the verification is complete, the records will be removed." msgstr "После завершения проверки записи будут удалены." @@ -2696,6 +2798,14 @@ msgstr "" msgid "OpenAI" msgstr "OpenAI" +#: src/views/dashboard/components/PerformanceOptimization.vue:164 +msgid "Optimize Nginx Performance" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:158 +msgid "Optimize Performance" +msgstr "" + #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "" @@ -2717,7 +2827,7 @@ msgid "OS:" msgstr "OS:" #: src/composables/usePerformanceMetrics.ts:146 -#: src/views/dashboard/components/PerformanceTablesCard.vue:100 +#: src/views/dashboard/components/PerformanceTablesCard.vue:99 msgid "Other Nginx processes" msgstr "" @@ -2734,11 +2844,11 @@ msgstr "" msgid "Otp or recovery code empty" msgstr "Код OTP или восстановления пуст" -#: src/views/config/ConfigEditor.vue:343 +#: src/views/config/ConfigEditor.vue:349 msgid "Overwrite" msgstr "Перезаписать" -#: src/views/config/ConfigEditor.vue:347 +#: src/views/config/ConfigEditor.vue:353 msgid "Overwrite exist file" msgstr "Перезаписать существующий файл" @@ -2779,7 +2889,7 @@ msgstr "Имя пользователя или пароль неверны" msgid "Password length cannot exceed 20 characters" msgstr "" -#: src/views/config/ConfigEditor.vue:312 +#: src/views/config/ConfigEditor.vue:318 #: src/views/nginx_log/NginxLogList.vue:45 #: src/views/site/ngx_conf/LocationEditor.vue:109 #: src/views/site/ngx_conf/LocationEditor.vue:137 @@ -2802,10 +2912,15 @@ msgstr "Выполнить" msgid "Perform core upgrade error" msgstr "Ошибка обновления ядра" -#: src/views/dashboard/NginxDashBoard.vue:184 +#: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#, fuzzy +msgid "Performance settings saved successfully" +msgstr "Отключено успешно" + #: src/language/constants.ts:28 msgid "Performing core upgrade" msgstr "Выполнение обновления ядра" @@ -2814,7 +2929,7 @@ msgstr "Выполнение обновления ядра" msgid "Plain text is empty" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:173 +#: src/views/dashboard/NginxDashBoard.vue:174 msgid "" "Please enable the stub_status module to get request statistics, connection " "count, etc." @@ -2862,7 +2977,7 @@ msgstr "" "Credentials, а затем выберите одну из учетных данных ниже, чтобы запросить " "API провайдера DNS." -#: src/components/Notification/notifications.ts:176 +#: src/components/Notification/notifications.ts:110 #: src/language/constants.ts:59 msgid "" "Please generate new recovery codes in the preferences immediately to prevent " @@ -2870,7 +2985,7 @@ msgid "" msgstr "" #: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:298 +#: src/views/config/ConfigEditor.vue:304 msgid "Please input a filename" msgstr "Пожалуйста, введите имя файла" @@ -2975,7 +3090,7 @@ msgstr "Подготовка конфигураций Lego" msgid "Process Distribution" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:155 +#: src/views/dashboard/components/PerformanceTablesCard.vue:154 #, fuzzy msgid "Process information" msgstr "Основная информация" @@ -3005,7 +3120,7 @@ msgid "Public Security Number" msgstr "" #: src/composables/usePerformanceMetrics.ts:106 -#: src/views/dashboard/components/PerformanceTablesCard.vue:64 +#: src/views/dashboard/components/PerformanceTablesCard.vue:63 msgid "Read requests" msgstr "" @@ -3115,22 +3230,22 @@ msgstr "Перегрузить" msgid "Reload Nginx" msgstr "Перезагружается nginx" -#: src/components/Notification/notifications.ts:10 +#: src/components/Notification/notifications.ts:116 #, fuzzy msgid "Reload Nginx on %{node} failed, response: %{resp}" msgstr "Удалить сайт: %{site_name}" -#: src/components/Notification/notifications.ts:14 +#: src/components/Notification/notifications.ts:120 #, fuzzy msgid "Reload Nginx on %{node} successfully" msgstr "Интерфейс Nginx на %{node} успешно обновлен 🎉" -#: src/components/Notification/notifications.ts:9 +#: src/components/Notification/notifications.ts:115 #, fuzzy msgid "Reload Remote Nginx Error" msgstr "Ошибка переименования удаленной конфигурации" -#: src/components/Notification/notifications.ts:13 +#: src/components/Notification/notifications.ts:119 #, fuzzy msgid "Reload Remote Nginx Success" msgstr "Переименование удаленной конфигурации прошло успешно" @@ -3169,60 +3284,60 @@ msgstr "Успешно удалено" msgid "Rename" msgstr "Переименовать" -#: src/components/Notification/notifications.ts:66 +#: src/components/Notification/notifications.ts:172 #, fuzzy msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed" msgstr "Переименование %{orig_path} в %{new_path} на %{env_name} успешно" -#: src/components/Notification/notifications.ts:70 +#: src/components/Notification/notifications.ts:176 msgid "Rename %{orig_path} to %{new_path} on %{env_name} successfully" msgstr "%{orig_path} успешно переименован в %{new_path} на %{env_name}" -#: src/components/Notification/notifications.ts:65 src/language/constants.ts:42 +#: src/components/Notification/notifications.ts:171 +#: src/language/constants.ts:42 msgid "Rename Remote Config Error" msgstr "Ошибка переименования удаленной конфигурации" -#: src/components/Notification/notifications.ts:69 src/language/constants.ts:41 +#: src/components/Notification/notifications.ts:175 +#: src/language/constants.ts:41 msgid "Rename Remote Config Success" msgstr "Переименование удаленной конфигурации прошло успешно" -#: src/components/Notification/notifications.ts:115 -#: src/language/constants.ts:56 +#: src/components/Notification/notifications.ts:49 src/language/constants.ts:56 #, fuzzy msgid "Rename Remote Site Error" msgstr "Ошибка переименования удаленной конфигурации" -#: src/components/Notification/notifications.ts:119 -#: src/language/constants.ts:55 +#: src/components/Notification/notifications.ts:53 src/language/constants.ts:55 #, fuzzy msgid "Rename Remote Site Success" msgstr "Переименование удаленной конфигурации прошло успешно" -#: src/components/Notification/notifications.ts:157 +#: src/components/Notification/notifications.ts:91 #, fuzzy msgid "Rename Remote Stream Error" msgstr "Ошибка переименования удаленной конфигурации" -#: src/components/Notification/notifications.ts:161 +#: src/components/Notification/notifications.ts:95 #, fuzzy msgid "Rename Remote Stream Success" msgstr "Переименование удаленной конфигурации прошло успешно" -#: src/components/Notification/notifications.ts:116 +#: src/components/Notification/notifications.ts:50 #, fuzzy msgid "Rename site %{name} to %{new_name} on %{node} failed" msgstr "Переименование %{orig_path} в %{new_path} на %{env_name} успешно" -#: src/components/Notification/notifications.ts:120 +#: src/components/Notification/notifications.ts:54 msgid "Rename site %{name} to %{new_name} on %{node} successfully" msgstr "Сайт %{name} успешно переименован в %{new_name} на %{node}" -#: src/components/Notification/notifications.ts:158 +#: src/components/Notification/notifications.ts:92 #, fuzzy msgid "Rename stream %{name} to %{new_name} on %{node} failed" msgstr "Переименование %{orig_path} в %{new_path} на %{env_name} успешно" -#: src/components/Notification/notifications.ts:162 +#: src/components/Notification/notifications.ts:96 msgid "Rename stream %{name} to %{new_name} on %{node} successfully" msgstr "Поток %{name} успешно переименован в %{new_name} на %{node}" @@ -3255,7 +3370,7 @@ msgstr "Успешное обновление сертификата" msgid "Renew successfully" msgstr "Успешно обновлено" -#: src/views/dashboard/components/PerformanceTablesCard.vue:142 +#: src/views/dashboard/components/PerformanceTablesCard.vue:141 #, fuzzy msgid "Request statistics" msgstr "Статистика сети" @@ -3288,7 +3403,7 @@ msgid "" msgstr "" #: src/composables/usePerformanceMetrics.ts:111 -#: src/views/dashboard/components/PerformanceTablesCard.vue:69 +#: src/views/dashboard/components/PerformanceTablesCard.vue:68 msgid "Responses" msgstr "" @@ -3303,22 +3418,22 @@ msgstr "Перезапуск" msgid "Restart Nginx" msgstr "Перезапускается" -#: src/components/Notification/notifications.ts:18 +#: src/components/Notification/notifications.ts:124 #, fuzzy msgid "Restart Nginx on %{node} failed, response: %{resp}" msgstr "Включение %{conf_name} in %{node_name} успешно" -#: src/components/Notification/notifications.ts:22 +#: src/components/Notification/notifications.ts:128 #, fuzzy msgid "Restart Nginx on %{node} successfully" msgstr "Интерфейс Nginx на %{node} успешно обновлен 🎉" -#: src/components/Notification/notifications.ts:17 +#: src/components/Notification/notifications.ts:123 #, fuzzy msgid "Restart Remote Nginx Error" msgstr "Ошибка переименования удаленной конфигурации" -#: src/components/Notification/notifications.ts:21 +#: src/components/Notification/notifications.ts:127 #, fuzzy msgid "Restart Remote Nginx Success" msgstr "Переименование удаленной конфигурации прошло успешно" @@ -3404,7 +3519,7 @@ msgstr "Выполняется" #: src/components/StdDesign/StdDetail/StdDetail.vue:93 #: src/views/certificate/components/CertificateEditor.vue:264 #: src/views/config/components/ConfigName.vue:59 -#: src/views/config/ConfigEditor.vue:271 +#: src/views/config/ConfigEditor.vue:277 #: src/views/preference/components/Passkey.vue:130 #: src/views/preference/Preference.vue:229 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:127 @@ -3424,43 +3539,41 @@ msgstr "Сохранить директиву" msgid "Save error %{msg}" msgstr "Ошибка сохранения %{msg}" -#: src/components/Notification/notifications.ts:123 -#: src/language/constants.ts:48 +#: src/components/Notification/notifications.ts:57 src/language/constants.ts:48 #, fuzzy msgid "Save Remote Site Error" msgstr "Ошибка переименования удаленной конфигурации" -#: src/components/Notification/notifications.ts:127 -#: src/language/constants.ts:47 +#: src/components/Notification/notifications.ts:61 src/language/constants.ts:47 #, fuzzy msgid "Save Remote Site Success" msgstr "Переименование удаленной конфигурации прошло успешно" -#: src/components/Notification/notifications.ts:165 +#: src/components/Notification/notifications.ts:99 #, fuzzy msgid "Save Remote Stream Error" msgstr "Ошибка переименования удаленной конфигурации" -#: src/components/Notification/notifications.ts:169 +#: src/components/Notification/notifications.ts:103 #, fuzzy msgid "Save Remote Stream Success" msgstr "Переименование удаленной конфигурации прошло успешно" -#: src/components/Notification/notifications.ts:124 +#: src/components/Notification/notifications.ts:58 #, fuzzy msgid "Save site %{name} to %{node} failed" msgstr "Продублированно %{conf_name} в %{node_name}" -#: src/components/Notification/notifications.ts:128 +#: src/components/Notification/notifications.ts:62 msgid "Save site %{name} to %{node} successfully" msgstr "Сайт %{name} успешно сохранён на %{node}" -#: src/components/Notification/notifications.ts:166 +#: src/components/Notification/notifications.ts:100 #, fuzzy msgid "Save stream %{name} to %{node} failed" msgstr "Не удалось развернуть %{conf_name} на %{node_name}" -#: src/components/Notification/notifications.ts:170 +#: src/components/Notification/notifications.ts:104 msgid "Save stream %{name} to %{node} successfully" msgstr "Поток %{name} успешно сохранён на %{node}" @@ -3471,7 +3584,7 @@ msgstr "Поток %{name} успешно сохранён на %{node}" msgid "Save successfully" msgstr "Сохранено успешно" -#: src/views/config/ConfigEditor.vue:191 +#: src/views/config/ConfigEditor.vue:194 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/site/site_add/SiteAdd.vue:37 #: src/views/site/site_edit/SiteEdit.vue:157 @@ -3489,6 +3602,10 @@ msgstr "" msgid "SDK" msgstr "SDK" +#: src/views/dashboard/components/PerformanceOptimization.vue:216 +msgid "seconds" +msgstr "" + #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "" @@ -3529,6 +3646,14 @@ msgstr "Информация о сервере" msgid "Server Info" msgstr "Информация о сервере" +#: src/views/dashboard/components/PerformanceOptimization.vue:277 +msgid "Server Names Hash Bucket Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:278 +msgid "Server names hash table size" +msgstr "" + #: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "server_name не нашел в директивах" @@ -3782,38 +3907,42 @@ msgstr "Синхронизация" msgid "Sync Certificate" msgstr "Синхронизировать сертификат" -#: src/components/Notification/notifications.ts:48 +#: src/components/Notification/notifications.ts:154 #, fuzzy msgid "Sync Certificate %{cert_name} to %{env_name} failed" msgstr "Сертификат %{cert_name} успешно синхронизирован с %{env_name}" -#: src/components/Notification/notifications.ts:52 +#: src/components/Notification/notifications.ts:158 msgid "Sync Certificate %{cert_name} to %{env_name} successfully" msgstr "Сертификат %{cert_name} успешно синхронизирован с %{env_name}" -#: src/components/Notification/notifications.ts:47 src/language/constants.ts:39 +#: src/components/Notification/notifications.ts:153 +#: src/language/constants.ts:39 msgid "Sync Certificate Error" msgstr "Ошибка синхронизации сертификата" -#: src/components/Notification/notifications.ts:51 src/language/constants.ts:38 +#: src/components/Notification/notifications.ts:157 +#: src/language/constants.ts:38 msgid "Sync Certificate Success" msgstr "Сертификат успешно синхронизирован" -#: src/components/Notification/notifications.ts:58 +#: src/components/Notification/notifications.ts:164 #, fuzzy msgid "Sync config %{config_name} to %{env_name} failed" msgstr "Конфигурация синхронизирована %{config_name} с %{env_name} успешно" -#: src/components/Notification/notifications.ts:62 +#: src/components/Notification/notifications.ts:168 #, fuzzy msgid "Sync config %{config_name} to %{env_name} successfully" msgstr "Конфигурация синхронизирована %{config_name} с %{env_name} успешно" -#: src/components/Notification/notifications.ts:57 src/language/constants.ts:45 +#: src/components/Notification/notifications.ts:163 +#: src/language/constants.ts:45 msgid "Sync Config Error" msgstr "Ошибка синхронизации конфигурации" -#: src/components/Notification/notifications.ts:61 src/language/constants.ts:44 +#: src/components/Notification/notifications.ts:167 +#: src/language/constants.ts:44 msgid "Sync Config Success" msgstr "Синхронизация конфигурации успешна" @@ -3989,11 +4118,11 @@ msgstr "URL недействителен." msgid "The username or password is incorrect" msgstr "Имя пользователя или пароль неверны" -#: src/views/dashboard/components/PerformanceTablesCard.vue:185 +#: src/views/dashboard/components/PerformanceTablesCard.vue:184 msgid "Theoretical maximum concurrent connections:" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:189 +#: src/views/dashboard/components/PerformanceTablesCard.vue:188 msgid "Theoretical maximum RPS (Requests Per Second):" msgstr "" @@ -4041,7 +4170,7 @@ msgstr "" "Имя модели должно содержать только буквы, юникод, цифры, дефисы, тире и " "точки." -#: src/views/dashboard/NginxDashBoard.vue:152 +#: src/views/dashboard/NginxDashBoard.vue:153 msgid "" "This module provides Nginx request statistics, connection count, etc. data. " "After enabling it, you can view performance statistics" @@ -4094,7 +4223,7 @@ msgstr "" msgid "Tips" msgstr "Советы" -#: src/views/dashboard/components/PerformanceTablesCard.vue:207 +#: src/views/dashboard/components/PerformanceTablesCard.vue:206 msgid "" "Tips: You can increase the concurrency processing capacity by increasing " "worker_processes or worker_connections" @@ -4142,7 +4271,7 @@ msgid "" "local API." msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:56 +#: src/views/dashboard/NginxDashBoard.vue:57 #, fuzzy msgid "Toggle failed" msgstr "Не удалось включить" @@ -4158,12 +4287,12 @@ msgstr[0] "" msgstr[1] "" #: src/composables/usePerformanceMetrics.ts:96 -#: src/views/dashboard/components/PerformanceTablesCard.vue:54 +#: src/views/dashboard/components/PerformanceTablesCard.vue:53 msgid "Total connections" msgstr "" #: src/composables/usePerformanceMetrics.ts:91 -#: src/views/dashboard/components/PerformanceTablesCard.vue:49 +#: src/views/dashboard/components/PerformanceTablesCard.vue:48 msgid "Total handshakes" msgstr "" @@ -4176,7 +4305,7 @@ msgid "Total Nginx Processes" msgstr "" #: src/composables/usePerformanceMetrics.ts:101 -#: src/views/dashboard/components/PerformanceTablesCard.vue:59 +#: src/views/dashboard/components/PerformanceTablesCard.vue:58 msgid "Total requests" msgstr "" @@ -4226,7 +4355,7 @@ msgstr "Успешно обновлено" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:325 +#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:331 #: src/views/environments/group/columns.ts:37 #: src/views/environments/list/envColumns.tsx:90 #: src/views/site/site_edit/RightSettings.vue:75 @@ -4307,7 +4436,7 @@ msgstr "Имя пользователя (*)" msgid "Valid" msgstr "Действительный" -#: src/views/dashboard/components/PerformanceTablesCard.vue:22 +#: src/views/dashboard/components/PerformanceTablesCard.vue:21 msgid "Value" msgstr "" @@ -4350,7 +4479,7 @@ msgid "Viewed" msgstr "Просмотр" #: src/composables/usePerformanceMetrics.ts:116 -#: src/views/dashboard/components/PerformanceTablesCard.vue:74 +#: src/views/dashboard/components/PerformanceTablesCard.vue:73 msgid "Waiting processes" msgstr "" @@ -4423,8 +4552,14 @@ msgid "" "codes." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#, fuzzy +msgid "Worker Connections" +msgstr "Текущяя версия" + #: src/composables/usePerformanceMetrics.ts:57 -#: src/views/dashboard/components/ConnectionMetricsCard.vue:49 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:48 +#: src/views/dashboard/components/PerformanceOptimization.vue:172 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" diff --git a/app/src/language/tr_TR/app.po b/app/src/language/tr_TR/app.po index 89f95e6b..51c74c3b 100644 --- a/app/src/language/tr_TR/app.po +++ b/app/src/language/tr_TR/app.po @@ -55,7 +55,7 @@ msgid "Action" msgstr "Eylem" #: src/composables/usePerformanceMetrics.ts:86 -#: src/views/dashboard/components/PerformanceTablesCard.vue:44 +#: src/views/dashboard/components/PerformanceTablesCard.vue:43 msgid "Active connections" msgstr "" @@ -78,8 +78,8 @@ msgstr "Ekle" msgid "Add a passkey" msgstr "Geçiş anahtarı ekleme" -#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:168 -#: src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:246 msgid "Add Configuration" msgstr "Yapılandırma Ekle" @@ -123,7 +123,7 @@ msgstr "" msgid "All" msgstr "Hepsi" -#: src/components/Notification/notifications.ts:175 +#: src/components/Notification/notifications.ts:109 #: src/language/constants.ts:58 msgid "All Recovery Codes Have Been Used" msgstr "Tüm Kurtarma Kodları Kullanılmıştır" @@ -266,7 +266,12 @@ msgstr "Kimlik Doğrulama Ayarları" msgid "Author" msgstr "Yazar" -#: src/views/dashboard/components/PerformanceTablesCard.vue:201 +#: src/views/dashboard/components/PerformanceOptimization.vue:178 +#: src/views/dashboard/components/PerformanceOptimization.vue:189 +msgid "Auto" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:200 msgid "auto = CPU cores" msgstr "" @@ -291,7 +296,7 @@ msgid "Automatically indexed from site and stream configurations." msgstr "" #: src/views/certificate/components/CertificateEditor.vue:257 -#: src/views/config/ConfigEditor.vue:262 src/views/config/ConfigList.vue:112 +#: src/views/config/ConfigEditor.vue:268 src/views/config/ConfigList.vue:112 #: src/views/config/ConfigList.vue:195 src/views/nginx_log/NginxLog.vue:173 #: src/views/site/site_edit/SiteEdit.vue:285 #: src/views/stream/StreamEdit.vue:264 @@ -345,7 +350,7 @@ msgstr "" msgid "Base information" msgstr "Temel bilgiler" -#: src/views/config/ConfigEditor.vue:290 +#: src/views/config/ConfigEditor.vue:296 #: src/views/site/site_edit/RightSettings.vue:52 #: src/views/stream/components/RightSettings.vue:79 msgid "Basic" @@ -387,7 +392,7 @@ msgid "CA Dir" msgstr "CA Dizini" #: src/composables/usePerformanceMetrics.ts:141 -#: src/views/dashboard/components/PerformanceTablesCard.vue:95 +#: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" @@ -401,7 +406,7 @@ msgid "CADir" msgstr "CADizini" #: src/views/dashboard/components/PerformanceStatisticsCard.vue:43 -#: src/views/dashboard/components/PerformanceTablesCard.vue:191 +#: src/views/dashboard/components/PerformanceTablesCard.vue:190 msgid "" "Calculated based on worker_processes * worker_connections. Actual " "performance depends on hardware, configuration, and workload" @@ -431,7 +436,7 @@ msgstr "Demoda kök parolasını değiştirmeyi yasakla" msgid "Cannot compare: Missing content" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:132 msgid "Cannot get performance data in this state" msgstr "" @@ -448,18 +453,18 @@ msgstr "" msgid "Cert path is not under the nginx conf dir" msgstr "" -#: src/components/Notification/notifications.ts:28 +#: src/components/Notification/notifications.ts:134 #, fuzzy msgid "Certificate %{name} has expired" msgstr "Yapılandırma Şablonları" -#: src/components/Notification/notifications.ts:32 -#: src/components/Notification/notifications.ts:36 -#: src/components/Notification/notifications.ts:40 +#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:146 msgid "Certificate %{name} will expire in %{days} days" msgstr "" -#: src/components/Notification/notifications.ts:44 +#: src/components/Notification/notifications.ts:150 msgid "Certificate %{name} will expire in 1 day" msgstr "" @@ -468,19 +473,19 @@ msgstr "" msgid "Certificate decode error" msgstr "Senkronizasyon Sertifikası Hatası" -#: src/components/Notification/notifications.ts:31 +#: src/components/Notification/notifications.ts:137 #, fuzzy msgid "Certificate Expiration Notice" msgstr "Yapılandırma Şablonları" -#: src/components/Notification/notifications.ts:27 +#: src/components/Notification/notifications.ts:133 #, fuzzy msgid "Certificate Expired" msgstr "Sertifika Listesi" -#: src/components/Notification/notifications.ts:35 -#: src/components/Notification/notifications.ts:39 -#: src/components/Notification/notifications.ts:43 +#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:149 #, fuzzy msgid "Certificate Expiring Soon" msgstr "Senkronizasyon Sertifikası Hatası" @@ -541,7 +546,7 @@ msgid_plural "Changed Certificates" msgstr[0] "Değişen Sertifika" msgstr[1] "Değişen Sertifikalar" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 msgid "Changed Path" msgstr "Değişen Dosya Yolu" @@ -612,6 +617,26 @@ msgstr "" msgid "Click to copy" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:307 +msgid "Client Body Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:289 +msgid "Client Header Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:259 +msgid "Client Max Body Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:308 +msgid "Client request body buffer size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:290 +msgid "Client request header buffer size" +msgstr "" + #: src/components/ConfigHistory/ConfigHistory.vue:169 msgid "Close" msgstr "" @@ -644,6 +669,10 @@ msgstr "" msgid "Compare with Current" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:248 +msgid "Compression level, 1 is lowest, 9 is highest" +msgstr "" + #: src/constants/errors/backup.ts:14 #, fuzzy msgid "Config path is empty" @@ -662,7 +691,7 @@ msgstr "Yapılandırma dosyası başarıyla test edildi" msgid "Configuration History" msgstr "Yapılandırmalar" -#: src/views/dashboard/components/PerformanceTablesCard.vue:168 +#: src/views/dashboard/components/PerformanceTablesCard.vue:167 #, fuzzy msgid "Configuration information" msgstr "Yapılandırmalar" @@ -683,7 +712,7 @@ msgstr "SSL'yi Yapılandırma" msgid "Connected" msgstr "Bağlandı" -#: src/views/dashboard/NginxDashBoard.vue:84 +#: src/views/dashboard/NginxDashBoard.vue:85 msgid "Connection error, trying to reconnect..." msgstr "" @@ -691,6 +720,10 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "Bağlantı kesildi, lütfen sayfayı yenileyin." +#: src/views/dashboard/components/PerformanceOptimization.vue:207 +msgid "Connection timeout period" +msgstr "" + #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:118 #: src/views/site/ngx_conf/LocationEditor.vue:115 #: src/views/site/ngx_conf/LocationEditor.vue:143 @@ -797,7 +830,7 @@ msgstr "Mevcut hesap için TOTP etkinleştirildi." msgid "Current account is not enabled TOTP." msgstr "Mevcut hesap için TOTP etkin değil." -#: src/views/dashboard/components/ConnectionMetricsCard.vue:28 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:27 msgid "Current active connections" msgstr "" @@ -827,8 +860,8 @@ msgid "" "indicator." msgstr "Ortam göstergesinde görüntülenecek yerel sunucu adını özelleştirin." -#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:107 -#: src/views/config/ConfigEditor.vue:158 src/views/config/ConfigList.vue:67 +#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:110 +#: src/views/config/ConfigEditor.vue:161 src/views/config/ConfigList.vue:67 msgid "Dashboard" msgstr "Kontrol Paneli" @@ -865,33 +898,33 @@ msgstr "Sertifika Yenileme" msgid "Delete Permanently" msgstr "Kalıcı Olarak Sil" -#: src/components/Notification/notifications.ts:75 src/language/constants.ts:50 +#: src/components/Notification/notifications.ts:9 src/language/constants.ts:50 #, fuzzy msgid "Delete Remote Site Error" msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" -#: src/components/Notification/notifications.ts:79 src/language/constants.ts:49 +#: src/components/Notification/notifications.ts:13 src/language/constants.ts:49 #, fuzzy msgid "Delete Remote Site Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" -#: src/components/Notification/notifications.ts:133 +#: src/components/Notification/notifications.ts:67 #, fuzzy msgid "Delete Remote Stream Error" msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" -#: src/components/Notification/notifications.ts:137 +#: src/components/Notification/notifications.ts:71 #, fuzzy msgid "Delete Remote Stream Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" -#: src/components/Notification/notifications.ts:76 +#: src/components/Notification/notifications.ts:10 #, fuzzy msgid "Delete site %{name} from %{node} failed" msgstr "" "%{conf_name} yapılandırmasını %{node_name} düğümüne dağıtma başarısız oldu" -#: src/components/Notification/notifications.ts:80 +#: src/components/Notification/notifications.ts:14 #, fuzzy msgid "Delete site %{name} from %{node} successfully" msgstr "%{conf_name} başarıyla %{node_name} düğümüne kopyalandı" @@ -900,13 +933,13 @@ msgstr "%{conf_name} başarıyla %{node_name} düğümüne kopyalandı" msgid "Delete site: %{site_name}" msgstr "Siteyi sil: %{site_name}" -#: src/components/Notification/notifications.ts:134 +#: src/components/Notification/notifications.ts:68 #, fuzzy msgid "Delete stream %{name} from %{node} failed" msgstr "" "%{conf_name} yapılandırmasını %{node_name} düğümüne dağıtma başarısız oldu" -#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:72 #, fuzzy msgid "Delete stream %{name} from %{node} successfully" msgstr "%{conf_name} başarıyla %{node_name} düğümüne kopyalandı" @@ -923,7 +956,7 @@ msgstr "Başarıyla silindi" msgid "Demo" msgstr "" -#: src/views/config/ConfigEditor.vue:334 +#: src/views/config/ConfigEditor.vue:340 msgid "Deploy" msgstr "Yayınla" @@ -981,72 +1014,72 @@ msgstr "Devre Dışı" msgid "Disable auto-renewal failed for %{name}" msgstr "%{name} için otomatik yenilemeyi devre dışı bırakma başarısız oldu" -#: src/components/Notification/notifications.ts:83 src/language/constants.ts:52 +#: src/components/Notification/notifications.ts:17 src/language/constants.ts:52 #, fuzzy msgid "Disable Remote Site Error" msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" -#: src/components/Notification/notifications.ts:107 +#: src/components/Notification/notifications.ts:41 #, fuzzy msgid "Disable Remote Site Maintenance Error" msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" -#: src/components/Notification/notifications.ts:111 +#: src/components/Notification/notifications.ts:45 #, fuzzy msgid "Disable Remote Site Maintenance Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" -#: src/components/Notification/notifications.ts:87 src/language/constants.ts:51 +#: src/components/Notification/notifications.ts:21 src/language/constants.ts:51 #, fuzzy msgid "Disable Remote Site Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" -#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:75 #, fuzzy msgid "Disable Remote Stream Error" msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" -#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:79 #, fuzzy msgid "Disable Remote Stream Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" -#: src/components/Notification/notifications.ts:84 +#: src/components/Notification/notifications.ts:18 #, fuzzy msgid "Disable site %{name} from %{node} failed" msgstr "" "%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarılı " "oldu" -#: src/components/Notification/notifications.ts:88 +#: src/components/Notification/notifications.ts:22 #, fuzzy msgid "Disable site %{name} from %{node} successfully" msgstr "" "%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarılı " "oldu" -#: src/components/Notification/notifications.ts:108 +#: src/components/Notification/notifications.ts:42 #, fuzzy msgid "Disable site %{name} maintenance on %{node} failed" msgstr "" "%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarılı " "oldu" -#: src/components/Notification/notifications.ts:112 +#: src/components/Notification/notifications.ts:46 #, fuzzy msgid "Disable site %{name} maintenance on %{node} successfully" msgstr "" "%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarılı " "oldu" -#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:76 #, fuzzy msgid "Disable stream %{name} from %{node} failed" msgstr "" "%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarısız " "oldu" -#: src/components/Notification/notifications.ts:146 +#: src/components/Notification/notifications.ts:80 #, fuzzy msgid "Disable stream %{name} from %{node} successfully" msgstr "" @@ -1184,7 +1217,7 @@ msgstr "Düzenle %{n}" msgid "Edit %{n}" msgstr "Düzenle %{n}" -#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:246 msgid "Edit Configuration" msgstr "Yapılandırmayı Düzenle" @@ -1222,6 +1255,10 @@ msgstr "2FA'yı başarıyla etkinleştirildi" msgid "Enable auto-renewal failed for %{name}" msgstr "%{name} için otomatik yenilemeyi etkinleştirme başarısız oldu" +#: src/views/dashboard/components/PerformanceOptimization.vue:222 +msgid "Enable compression for content transfer" +msgstr "" + #: src/views/site/site_add/SiteAdd.vue:43 msgid "Enable failed" msgstr "Etkinleştirme başarısız" @@ -1231,79 +1268,79 @@ msgstr "Etkinleştirme başarısız" msgid "Enable HTTPS" msgstr "TOTP'yi Etkinleştir" -#: src/components/Notification/notifications.ts:91 src/language/constants.ts:54 +#: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 #, fuzzy msgid "Enable Remote Site Error" msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" -#: src/components/Notification/notifications.ts:99 +#: src/components/Notification/notifications.ts:33 #, fuzzy msgid "Enable Remote Site Maintenance Error" msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" -#: src/components/Notification/notifications.ts:103 +#: src/components/Notification/notifications.ts:37 #, fuzzy msgid "Enable Remote Site Maintenance Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" -#: src/components/Notification/notifications.ts:95 src/language/constants.ts:53 +#: src/components/Notification/notifications.ts:29 src/language/constants.ts:53 #, fuzzy msgid "Enable Remote Site Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" -#: src/components/Notification/notifications.ts:149 +#: src/components/Notification/notifications.ts:83 #, fuzzy msgid "Enable Remote Stream Error" msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" -#: src/components/Notification/notifications.ts:153 +#: src/components/Notification/notifications.ts:87 #, fuzzy msgid "Enable Remote Stream Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" -#: src/components/Notification/notifications.ts:100 +#: src/components/Notification/notifications.ts:34 #, fuzzy msgid "Enable site %{name} maintenance on %{node} failed" msgstr "" "%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarısız " "oldu" -#: src/components/Notification/notifications.ts:104 +#: src/components/Notification/notifications.ts:38 #, fuzzy msgid "Enable site %{name} maintenance on %{node} successfully" msgstr "" "%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarılı " "oldu" -#: src/components/Notification/notifications.ts:92 +#: src/components/Notification/notifications.ts:26 #, fuzzy msgid "Enable site %{name} on %{node} failed" msgstr "" "%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarısız " "oldu" -#: src/components/Notification/notifications.ts:96 +#: src/components/Notification/notifications.ts:30 #, fuzzy msgid "Enable site %{name} on %{node} successfully" msgstr "" "%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarılı " "oldu" -#: src/components/Notification/notifications.ts:150 +#: src/components/Notification/notifications.ts:84 #, fuzzy msgid "Enable stream %{name} on %{node} failed" msgstr "" "%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarısız " "oldu" -#: src/components/Notification/notifications.ts:154 +#: src/components/Notification/notifications.ts:88 #, fuzzy msgid "Enable stream %{name} on %{node} successfully" msgstr "" "%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarılı " "oldu" -#: src/views/dashboard/NginxDashBoard.vue:149 +#: src/views/dashboard/NginxDashBoard.vue:150 msgid "Enable stub_status module" msgstr "" @@ -1602,6 +1639,11 @@ msgstr "Sertifika bilgileri alınamadı" msgid "Failed to get certificate information" msgstr "Sertifika bilgileri alınamadı" +#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#, fuzzy +msgid "Failed to get Nginx performance settings" +msgstr "Sertifika bilgileri alınamadı" + #: src/composables/useNginxPerformance.ts:49 #, fuzzy msgid "Failed to get performance data" @@ -1666,6 +1708,11 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "Sertifika alınamadı" +#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#, fuzzy +msgid "Failed to save Nginx performance settings" +msgstr "Sertifika bilgileri alınamadı" + #: src/views/site/site_edit/SiteEdit.vue:139 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." @@ -1734,15 +1781,15 @@ msgstr "Çinli kullanıcılar için: https://mirror.ghproxy.com/" msgid "Form parse failed" msgstr "Kopyalama başarısız oldu" -#: src/views/config/ConfigEditor.vue:265 +#: src/views/config/ConfigEditor.vue:271 msgid "Format Code" msgstr "Kodu Biçimlendir" -#: src/views/config/ConfigEditor.vue:213 +#: src/views/config/ConfigEditor.vue:218 msgid "Format error %{msg}" msgstr "Biçimlendirme hatası %{msg}" -#: src/views/config/ConfigEditor.vue:211 +#: src/views/config/ConfigEditor.vue:216 msgid "Format successfully" msgstr "Başarıyla biçimlendirildi" @@ -1774,7 +1821,7 @@ msgstr "Başarıyla Kurtarıldı" msgid "Generating private key for registering account" msgstr "Hesap kaydı için özel anahtar oluşturuluyor" -#: src/views/dashboard/NginxDashBoard.vue:140 +#: src/views/dashboard/NginxDashBoard.vue:141 #, fuzzy msgid "Get data failed" msgstr "Kayıt başarısız" @@ -1792,6 +1839,18 @@ msgstr "Sertifika alınıyor, lütfen bekleyin..." msgid "Github Proxy" msgstr "Github Proxy" +#: src/views/dashboard/components/PerformanceOptimization.vue:221 +msgid "GZIP Compression" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:247 +msgid "GZIP Compression Level" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:233 +msgid "GZIP Min Length" +msgstr "" + #: src/constants/errors/backup.ts:59 msgid "Hash verification failed: file integrity compromised" msgstr "" @@ -1804,7 +1863,7 @@ msgstr "Gizle" msgid "Higher value means better connection reuse" msgstr "" -#: src/views/config/ConfigEditor.vue:251 +#: src/views/config/ConfigEditor.vue:256 #: src/views/site/site_edit/SiteEdit.vue:212 #: src/views/stream/StreamEdit.vue:195 #, fuzzy @@ -1908,7 +1967,7 @@ msgstr "" msgid "Indexing..." msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:16 +#: src/views/dashboard/components/PerformanceTablesCard.vue:15 msgid "Indicator" msgstr "" @@ -1982,7 +2041,7 @@ msgid "Invalid file path: {0}" msgstr "Geçersiz dosya adı" #: src/views/config/components/Rename.vue:66 -#: src/views/config/ConfigEditor.vue:299 +#: src/views/config/ConfigEditor.vue:305 msgid "Invalid filename" msgstr "Geçersiz dosya adı" @@ -2046,12 +2105,20 @@ msgstr "Düzenleyen: %{issuer}" msgid "Jwt Secret" msgstr "Jwt Secret" +#: src/views/dashboard/components/PerformanceOptimization.vue:242 +msgid "KB" +msgstr "" + #: src/views/preference/components/RecoveryCodes.vue:74 msgid "" "Keep your recovery codes as safe as your password. We recommend saving them " "with a password manager." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:206 +msgid "Keepalive Timeout" +msgstr "" + #: src/views/certificate/CertificateList/certColumns.tsx:59 #: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" @@ -2074,7 +2141,7 @@ msgstr "Özelleştirilmiş" msgid "Last checked at" msgstr "En son şu tarihte kontrol edildi" -#: src/views/dashboard/NginxDashBoard.vue:115 +#: src/views/dashboard/NginxDashBoard.vue:116 #, fuzzy msgid "Last update" msgstr "En son kullanıldığı zaman" @@ -2138,7 +2205,7 @@ msgstr "Ayarlar'dan yükle" msgid "Load successfully" msgstr "Başarıyla yüklendi" -#: src/views/dashboard/NginxDashBoard.vue:177 +#: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2220,8 +2287,8 @@ msgstr "" "Sertifikayı almadan önce .well-known dizini için HTTPChallengePort'a bir " "ters proxy yapılandırdığınızdan emin olun." -#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:112 -#: src/views/config/ConfigEditor.vue:163 src/views/config/ConfigList.vue:72 +#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:115 +#: src/views/config/ConfigEditor.vue:166 src/views/config/ConfigList.vue:72 #, fuzzy msgid "Manage Configs" msgstr "Yapılandırmaları Yönet" @@ -2246,7 +2313,11 @@ msgstr "Kullanıcıları Yönet" msgid "Managed Certificate" msgstr "Yönetilen Sertifika" -#: src/views/dashboard/components/PerformanceTablesCard.vue:202 +#: src/views/dashboard/components/PerformanceOptimization.vue:179 +msgid "Manual" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:201 msgid "manually set" msgstr "" @@ -2255,7 +2326,7 @@ msgid "Master" msgstr "" #: src/composables/usePerformanceMetrics.ts:136 -#: src/views/dashboard/components/PerformanceTablesCard.vue:90 +#: src/views/dashboard/components/PerformanceTablesCard.vue:89 msgid "Master process" msgstr "" @@ -2278,12 +2349,21 @@ msgstr "Mevcut sürüm" msgid "Max Requests Per Second" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:260 +msgid "Maximum client request body size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#, fuzzy +msgid "Maximum number of concurrent connections" +msgstr "Mevcut sürüm" + #: src/composables/usePerformanceMetrics.ts:176 -#: src/views/dashboard/components/PerformanceTablesCard.vue:126 +#: src/views/dashboard/components/PerformanceTablesCard.vue:125 msgid "Maximum number of connections per worker process" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:196 +#: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2302,6 +2382,10 @@ msgstr "Bellek ve Depolama" msgid "Memory Usage (RSS)" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:234 +msgid "Minimum file size for compression" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 #, fuzzy msgid "Minutes" @@ -2350,7 +2434,7 @@ msgstr "Çok Hatlı Direktif" #: src/views/certificate/components/CertificateEditor.vue:162 #: src/views/certificate/DNSCredential.vue:11 #: src/views/config/components/Mkdir.vue:64 -#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:305 +#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:311 #: src/views/environments/group/columns.ts:8 #: src/views/environments/list/envColumns.tsx:9 #: src/views/nginx_log/NginxLogList.vue:37 @@ -2366,7 +2450,7 @@ msgstr "Çok Hatlı Direktif" msgid "Name" msgstr "İsim" -#: src/views/dashboard/NginxDashBoard.vue:172 +#: src/views/dashboard/NginxDashBoard.vue:173 msgid "Need to enable the stub_status module" msgstr "" @@ -2400,7 +2484,7 @@ msgstr "Yükle" msgid "New name" msgstr "Yeni Ad" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 #, fuzzy msgid "New Path" msgstr "Yeni Yol" @@ -2448,6 +2532,11 @@ msgstr "" msgid "Nginx conf no stream block" msgstr "" +#: src/constants/errors/self_check.ts:14 +#, fuzzy +msgid "Nginx conf not include conf.d directory" +msgstr "Terminal Başlatma Komutu" + #: src/constants/errors/self_check.ts:6 msgid "Nginx conf not include sites-enabled" msgstr "" @@ -2488,7 +2577,7 @@ msgid "Nginx Control" msgstr "Nginx Kontrolü" #: src/composables/usePerformanceMetrics.ts:151 -#: src/views/dashboard/components/PerformanceTablesCard.vue:105 +#: src/views/dashboard/components/PerformanceTablesCard.vue:104 msgid "Nginx CPU usage rate" msgstr "" @@ -2498,15 +2587,15 @@ msgid "Nginx Error Log Path" msgstr "Nginx Hata Günlüğü Yolu" #: src/composables/useNginxPerformance.ts:43 -#: src/views/dashboard/NginxDashBoard.vue:111 -#: src/views/dashboard/NginxDashBoard.vue:130 -#: src/views/dashboard/NginxDashBoard.vue:79 +#: src/views/dashboard/NginxDashBoard.vue:112 +#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:80 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15 #, fuzzy msgid "Nginx is not running" msgstr "Nginx çalışmıyor" -#: src/views/dashboard/NginxDashBoard.vue:111 +#: src/views/dashboard/NginxDashBoard.vue:112 #, fuzzy msgid "Nginx is running" msgstr "Nginx çalışmıyor" @@ -2521,7 +2610,7 @@ msgid "Nginx Log Directory Whitelist" msgstr "" #: src/composables/usePerformanceMetrics.ts:156 -#: src/views/dashboard/components/PerformanceTablesCard.vue:110 +#: src/views/dashboard/components/PerformanceTablesCard.vue:109 msgid "Nginx Memory usage" msgstr "" @@ -2562,7 +2651,7 @@ msgstr "Nginx başarıyla yeniden başlatıldı" msgid "Nginx Test Config Command" msgstr "Terminal Başlatma Komutu" -#: src/views/dashboard/components/PerformanceTablesCard.vue:181 +#: src/views/dashboard/components/PerformanceTablesCard.vue:180 msgid "Nginx theoretical maximum performance" msgstr "" @@ -2608,7 +2697,7 @@ msgstr "Hayır" msgid "No Action" msgstr "Eylem" -#: src/views/dashboard/NginxDashBoard.vue:179 +#: src/views/dashboard/NginxDashBoard.vue:180 msgid "No data" msgstr "" @@ -2694,10 +2783,14 @@ msgstr "Bildirimler" msgid "Notifier not found" msgstr "Dosya bulunamadı" +#: src/views/dashboard/components/PerformanceOptimization.vue:173 +msgid "Number of concurrent worker processes, auto sets to CPU core count" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:131 #: src/composables/usePerformanceMetrics.ts:171 -#: src/views/dashboard/components/PerformanceTablesCard.vue:121 -#: src/views/dashboard/components/PerformanceTablesCard.vue:85 +#: src/views/dashboard/components/PerformanceTablesCard.vue:120 +#: src/views/dashboard/components/PerformanceTablesCard.vue:84 msgid "Number of worker processes" msgstr "" @@ -2725,6 +2818,11 @@ msgstr "" "OCSP Must Staple, Firefox kullanarak ilk erişimde bazı kullanıcılar için " "hatalara neden olabilir." +#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#, fuzzy +msgid "Off" +msgstr "Çevrimdışı" + #: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 @@ -2759,6 +2857,10 @@ msgstr "Tamam" msgid "OK" msgstr "Tamam" +#: src/views/dashboard/components/PerformanceOptimization.vue:226 +msgid "On" +msgstr "" + #: src/views/certificate/DNSCredential.vue:59 #, fuzzy msgid "Once the verification is complete, the records will be removed." @@ -2782,6 +2884,14 @@ msgstr "" msgid "OpenAI" msgstr "OpenAI" +#: src/views/dashboard/components/PerformanceOptimization.vue:164 +msgid "Optimize Nginx Performance" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:158 +msgid "Optimize Performance" +msgstr "" + #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 #, fuzzy msgid "Or" @@ -2807,7 +2917,7 @@ msgid "OS:" msgstr "İŞLETIM SISTEMI:" #: src/composables/usePerformanceMetrics.ts:146 -#: src/views/dashboard/components/PerformanceTablesCard.vue:100 +#: src/views/dashboard/components/PerformanceTablesCard.vue:99 msgid "Other Nginx processes" msgstr "" @@ -2825,12 +2935,12 @@ msgstr "" msgid "Otp or recovery code empty" msgstr "Kurtarma kodunu kullanın" -#: src/views/config/ConfigEditor.vue:343 +#: src/views/config/ConfigEditor.vue:349 #, fuzzy msgid "Overwrite" msgstr "Üzerine yaz" -#: src/views/config/ConfigEditor.vue:347 +#: src/views/config/ConfigEditor.vue:353 #, fuzzy msgid "Overwrite exist file" msgstr "Mevcut dosyanın üzerine yaz" @@ -2880,7 +2990,7 @@ msgstr "Kullanıcı adı veya şifre yanlış" msgid "Password length cannot exceed 20 characters" msgstr "" -#: src/views/config/ConfigEditor.vue:312 +#: src/views/config/ConfigEditor.vue:318 #: src/views/nginx_log/NginxLogList.vue:45 #: src/views/site/ngx_conf/LocationEditor.vue:109 #: src/views/site/ngx_conf/LocationEditor.vue:137 @@ -2906,10 +3016,15 @@ msgstr "Uygula" msgid "Perform core upgrade error" msgstr "Çekirdek yükseltme hatası gerçekleştirin" -#: src/views/dashboard/NginxDashBoard.vue:184 +#: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#, fuzzy +msgid "Performance settings saved successfully" +msgstr "Başarıyla devre dışı bırakıldı" + #: src/language/constants.ts:28 #, fuzzy msgid "Performing core upgrade" @@ -2919,7 +3034,7 @@ msgstr "Çekirdek yükseltme gerçekleştirme" msgid "Plain text is empty" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:173 +#: src/views/dashboard/NginxDashBoard.vue:174 msgid "" "Please enable the stub_status module to get request statistics, connection " "count, etc." @@ -2973,7 +3088,7 @@ 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/components/Notification/notifications.ts:176 +#: src/components/Notification/notifications.ts:110 #: src/language/constants.ts:59 msgid "" "Please generate new recovery codes in the preferences immediately to prevent " @@ -2981,7 +3096,7 @@ msgid "" msgstr "" #: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:298 +#: src/views/config/ConfigEditor.vue:304 #, fuzzy msgid "Please input a filename" msgstr "Lütfen bir dosya adı girin" @@ -3096,7 +3211,7 @@ msgstr "Lego konfigürasyonlarının hazırlanması" msgid "Process Distribution" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:155 +#: src/views/dashboard/components/PerformanceTablesCard.vue:154 #, fuzzy msgid "Process information" msgstr "Temel bilgiler" @@ -3131,7 +3246,7 @@ msgid "Public Security Number" msgstr "" #: src/composables/usePerformanceMetrics.ts:106 -#: src/views/dashboard/components/PerformanceTablesCard.vue:64 +#: src/views/dashboard/components/PerformanceTablesCard.vue:63 msgid "Read requests" msgstr "" @@ -3257,22 +3372,22 @@ msgstr "Tekrar yükle" msgid "Reload Nginx" msgstr "Nginx'i yeniden yükleme" -#: src/components/Notification/notifications.ts:10 +#: src/components/Notification/notifications.ts:116 #, fuzzy msgid "Reload Nginx on %{node} failed, response: %{resp}" msgstr "Siteyi sil: %{site_name}" -#: src/components/Notification/notifications.ts:14 +#: src/components/Notification/notifications.ts:120 #, fuzzy msgid "Reload Nginx on %{node} successfully" msgstr "Nginx kullanıcı arayüzü %{node} üzerinde başarıyla yükseltildi 🎉" -#: src/components/Notification/notifications.ts:9 +#: src/components/Notification/notifications.ts:115 #, fuzzy msgid "Reload Remote Nginx Error" msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" -#: src/components/Notification/notifications.ts:13 +#: src/components/Notification/notifications.ts:119 #, fuzzy msgid "Reload Remote Nginx Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" @@ -3317,69 +3432,69 @@ msgstr "Başarıyla kaldırıldı" msgid "Rename" msgstr "Yeniden Adlandır" -#: src/components/Notification/notifications.ts:66 +#: src/components/Notification/notifications.ts:172 #, fuzzy msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed" msgstr "" "2] üzerinde %{orig_path}'ı %{new_path} olarak başarıyla yeniden adlandırın" -#: src/components/Notification/notifications.ts:70 +#: src/components/Notification/notifications.ts:176 #, fuzzy msgid "Rename %{orig_path} to %{new_path} on %{env_name} successfully" msgstr "" "2] üzerinde %{orig_path}'ı %{new_path} olarak başarıyla yeniden adlandırın" -#: src/components/Notification/notifications.ts:65 src/language/constants.ts:42 +#: src/components/Notification/notifications.ts:171 +#: src/language/constants.ts:42 #, fuzzy msgid "Rename Remote Config Error" msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" -#: src/components/Notification/notifications.ts:69 src/language/constants.ts:41 +#: src/components/Notification/notifications.ts:175 +#: src/language/constants.ts:41 #, fuzzy msgid "Rename Remote Config Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" -#: src/components/Notification/notifications.ts:115 -#: src/language/constants.ts:56 +#: src/components/Notification/notifications.ts:49 src/language/constants.ts:56 #, fuzzy msgid "Rename Remote Site Error" msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" -#: src/components/Notification/notifications.ts:119 -#: src/language/constants.ts:55 +#: src/components/Notification/notifications.ts:53 src/language/constants.ts:55 #, fuzzy msgid "Rename Remote Site Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" -#: src/components/Notification/notifications.ts:157 +#: src/components/Notification/notifications.ts:91 #, fuzzy msgid "Rename Remote Stream Error" msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" -#: src/components/Notification/notifications.ts:161 +#: src/components/Notification/notifications.ts:95 #, fuzzy msgid "Rename Remote Stream Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" -#: src/components/Notification/notifications.ts:116 +#: src/components/Notification/notifications.ts:50 #, fuzzy msgid "Rename site %{name} to %{new_name} on %{node} failed" msgstr "" "2] üzerinde %{orig_path}'ı %{new_path} olarak başarıyla yeniden adlandırın" -#: src/components/Notification/notifications.ts:120 +#: src/components/Notification/notifications.ts:54 #, fuzzy msgid "Rename site %{name} to %{new_name} on %{node} successfully" msgstr "" "2] üzerinde %{orig_path}'ı %{new_path} olarak başarıyla yeniden adlandırın" -#: src/components/Notification/notifications.ts:158 +#: src/components/Notification/notifications.ts:92 #, fuzzy msgid "Rename stream %{name} to %{new_name} on %{node} failed" msgstr "" "2] üzerinde %{orig_path}'ı %{new_path} olarak başarıyla yeniden adlandırın" -#: src/components/Notification/notifications.ts:162 +#: src/components/Notification/notifications.ts:96 #, fuzzy msgid "Rename stream %{name} to %{new_name} on %{node} successfully" msgstr "" @@ -3419,7 +3534,7 @@ msgstr "Sertifika Yenileme Başarısı" msgid "Renew successfully" msgstr "Başarıyla yenileyin" -#: src/views/dashboard/components/PerformanceTablesCard.vue:142 +#: src/views/dashboard/components/PerformanceTablesCard.vue:141 #, fuzzy msgid "Request statistics" msgstr "Ağ İstatistikleri" @@ -3455,7 +3570,7 @@ msgid "" msgstr "" #: src/composables/usePerformanceMetrics.ts:111 -#: src/views/dashboard/components/PerformanceTablesCard.vue:69 +#: src/views/dashboard/components/PerformanceTablesCard.vue:68 msgid "Responses" msgstr "" @@ -3471,24 +3586,24 @@ msgstr "Yeniden başlat" msgid "Restart Nginx" msgstr "Yeniden Başlatma" -#: src/components/Notification/notifications.ts:18 +#: src/components/Notification/notifications.ts:124 #, fuzzy msgid "Restart Nginx on %{node} failed, response: %{resp}" msgstr "" "%{conf_name} yapılandırmasını %{node_name} düğümünde etkinleştirme başarılı " "oldu" -#: src/components/Notification/notifications.ts:22 +#: src/components/Notification/notifications.ts:128 #, fuzzy msgid "Restart Nginx on %{node} successfully" msgstr "Nginx kullanıcı arayüzü %{node} üzerinde başarıyla yükseltildi 🎉" -#: src/components/Notification/notifications.ts:17 +#: src/components/Notification/notifications.ts:123 #, fuzzy msgid "Restart Remote Nginx Error" msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" -#: src/components/Notification/notifications.ts:21 +#: src/components/Notification/notifications.ts:127 #, fuzzy msgid "Restart Remote Nginx Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" @@ -3577,7 +3692,7 @@ msgstr "Çalışıyor" #: src/components/StdDesign/StdDetail/StdDetail.vue:93 #: src/views/certificate/components/CertificateEditor.vue:264 #: src/views/config/components/ConfigName.vue:59 -#: src/views/config/ConfigEditor.vue:271 +#: src/views/config/ConfigEditor.vue:277 #: src/views/preference/components/Passkey.vue:130 #: src/views/preference/Preference.vue:229 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:127 @@ -3600,45 +3715,43 @@ msgstr "Direktifi Kaydet" msgid "Save error %{msg}" msgstr "Hatayı kaydet %{msg}" -#: src/components/Notification/notifications.ts:123 -#: src/language/constants.ts:48 +#: src/components/Notification/notifications.ts:57 src/language/constants.ts:48 #, fuzzy msgid "Save Remote Site Error" msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" -#: src/components/Notification/notifications.ts:127 -#: src/language/constants.ts:47 +#: src/components/Notification/notifications.ts:61 src/language/constants.ts:47 #, fuzzy msgid "Save Remote Site Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" -#: src/components/Notification/notifications.ts:165 +#: src/components/Notification/notifications.ts:99 #, fuzzy msgid "Save Remote Stream Error" msgstr "Uzak Yapılandırmayı Yeniden Adlandır Hatası" -#: src/components/Notification/notifications.ts:169 +#: src/components/Notification/notifications.ts:103 #, fuzzy msgid "Save Remote Stream Success" msgstr "Uzak Yapılandırmayı Yeniden Adlandırma Başarılı" -#: src/components/Notification/notifications.ts:124 +#: src/components/Notification/notifications.ts:58 #, fuzzy msgid "Save site %{name} to %{node} failed" msgstr "%{conf_name} başarıyla %{node_name} düğümüne kopyalandı" -#: src/components/Notification/notifications.ts:128 +#: src/components/Notification/notifications.ts:62 #, fuzzy msgid "Save site %{name} to %{node} successfully" msgstr "%{conf_name} başarıyla %{node_name} düğümüne kopyalandı" -#: src/components/Notification/notifications.ts:166 +#: src/components/Notification/notifications.ts:100 #, fuzzy msgid "Save stream %{name} to %{node} failed" msgstr "" "%{conf_name} yapılandırmasını %{node_name} düğümüne dağıtma başarısız oldu" -#: src/components/Notification/notifications.ts:170 +#: src/components/Notification/notifications.ts:104 #, fuzzy msgid "Save stream %{name} to %{node} successfully" msgstr "%{conf_name} başarıyla %{node_name} düğümüne kopyalandı" @@ -3651,7 +3764,7 @@ msgstr "%{conf_name} başarıyla %{node_name} düğümüne kopyalandı" msgid "Save successfully" msgstr "Başarıyla kaydedin" -#: src/views/config/ConfigEditor.vue:191 +#: src/views/config/ConfigEditor.vue:194 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/site/site_add/SiteAdd.vue:37 #: src/views/site/site_edit/SiteEdit.vue:157 @@ -3670,6 +3783,10 @@ msgstr "Hesabı uygulamaya eklemek için QR kodunu cep telefonunuzla tarayın." msgid "SDK" msgstr "SDK" +#: src/views/dashboard/components/PerformanceOptimization.vue:216 +msgid "seconds" +msgstr "" + #: src/views/preference/components/TOTP.vue:109 #, fuzzy msgid "Secret has been copied" @@ -3714,6 +3831,14 @@ msgstr "Sunucu Bilgisi" msgid "Server Info" msgstr "Sunucu Bilgisi" +#: src/views/dashboard/components/PerformanceOptimization.vue:277 +msgid "Server Names Hash Bucket Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:278 +msgid "Server names hash table size" +msgstr "" + #: src/views/site/cert/components/ObtainCert.vue:107 #, fuzzy msgid "server_name not found in directives" @@ -3993,42 +4118,46 @@ msgstr "Eşitle" msgid "Sync Certificate" msgstr "Senkronizasyon Sertifikası" -#: src/components/Notification/notifications.ts:48 +#: src/components/Notification/notifications.ts:154 #, fuzzy msgid "Sync Certificate %{cert_name} to %{env_name} failed" msgstr "Sertifika %{cert_name}'ı %{env_name} ile başarıyla senkronize edin" -#: src/components/Notification/notifications.ts:52 +#: src/components/Notification/notifications.ts:158 #, fuzzy msgid "Sync Certificate %{cert_name} to %{env_name} successfully" msgstr "Sertifika %{cert_name}'ı %{env_name} ile başarıyla senkronize edin" -#: src/components/Notification/notifications.ts:47 src/language/constants.ts:39 +#: src/components/Notification/notifications.ts:153 +#: src/language/constants.ts:39 #, fuzzy msgid "Sync Certificate Error" msgstr "Senkronizasyon Sertifikası Hatası" -#: src/components/Notification/notifications.ts:51 src/language/constants.ts:38 +#: src/components/Notification/notifications.ts:157 +#: src/language/constants.ts:38 #, fuzzy msgid "Sync Certificate Success" msgstr "Senkronizasyon Sertifikası Başarısı" -#: src/components/Notification/notifications.ts:58 +#: src/components/Notification/notifications.ts:164 #, fuzzy msgid "Sync config %{config_name} to %{env_name} failed" msgstr "Config %{config_name} ile %{env_name}'i başarıyla senkronize edin" -#: src/components/Notification/notifications.ts:62 +#: src/components/Notification/notifications.ts:168 #, fuzzy msgid "Sync config %{config_name} to %{env_name} successfully" msgstr "Config %{config_name} ile %{env_name}'i başarıyla senkronize edin" -#: src/components/Notification/notifications.ts:57 src/language/constants.ts:45 +#: src/components/Notification/notifications.ts:163 +#: src/language/constants.ts:45 #, fuzzy msgid "Sync Config Error" msgstr "Senkronizasyon Yapılandırma Hatası" -#: src/components/Notification/notifications.ts:61 src/language/constants.ts:44 +#: src/components/Notification/notifications.ts:167 +#: src/language/constants.ts:44 #, fuzzy msgid "Sync Config Success" msgstr "Senkronizasyon Yapılandırması Başarılı" @@ -4218,11 +4347,11 @@ msgstr "URL geçersiz." msgid "The username or password is incorrect" msgstr "Kullanıcı adı veya şifre yanlış" -#: src/views/dashboard/components/PerformanceTablesCard.vue:185 +#: src/views/dashboard/components/PerformanceTablesCard.vue:184 msgid "Theoretical maximum concurrent connections:" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:189 +#: src/views/dashboard/components/PerformanceTablesCard.vue:188 msgid "Theoretical maximum RPS (Requests Per Second):" msgstr "" @@ -4273,7 +4402,7 @@ msgid "" msgstr "" "Model adı yalnızca harf, unicode, sayı, tire, çizgi ve nokta içermelidir." -#: src/views/dashboard/NginxDashBoard.vue:152 +#: src/views/dashboard/NginxDashBoard.vue:153 msgid "" "This module provides Nginx request statistics, connection count, etc. data. " "After enabling it, you can view performance statistics" @@ -4328,7 +4457,7 @@ msgstr "" msgid "Tips" msgstr "İpuçları" -#: src/views/dashboard/components/PerformanceTablesCard.vue:207 +#: src/views/dashboard/components/PerformanceTablesCard.vue:206 msgid "" "Tips: You can increase the concurrency processing capacity by increasing " "worker_processes or worker_connections" @@ -4387,7 +4516,7 @@ msgstr "" "uyumlu bir API uç noktası sağlarlar, bu nedenle baseUrl'yi yerel API'nize " "ayarlamanız yeterlidir." -#: src/views/dashboard/NginxDashBoard.vue:56 +#: src/views/dashboard/NginxDashBoard.vue:57 #, fuzzy msgid "Toggle failed" msgstr "Etkinleştirme başarısız" @@ -4404,12 +4533,12 @@ msgstr[0] "" msgstr[1] "" #: src/composables/usePerformanceMetrics.ts:96 -#: src/views/dashboard/components/PerformanceTablesCard.vue:54 +#: src/views/dashboard/components/PerformanceTablesCard.vue:53 msgid "Total connections" msgstr "" #: src/composables/usePerformanceMetrics.ts:91 -#: src/views/dashboard/components/PerformanceTablesCard.vue:49 +#: src/views/dashboard/components/PerformanceTablesCard.vue:48 msgid "Total handshakes" msgstr "" @@ -4422,7 +4551,7 @@ msgid "Total Nginx Processes" msgstr "" #: src/composables/usePerformanceMetrics.ts:101 -#: src/views/dashboard/components/PerformanceTablesCard.vue:59 +#: src/views/dashboard/components/PerformanceTablesCard.vue:58 msgid "Total requests" msgstr "" @@ -4477,7 +4606,7 @@ msgstr "Güncellendi" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:325 +#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:331 #: src/views/environments/group/columns.ts:37 #: src/views/environments/list/envColumns.tsx:90 #: src/views/site/site_edit/RightSettings.vue:75 @@ -4573,7 +4702,7 @@ msgstr "Kullanıcı adı (*)" msgid "Valid" msgstr "Geçerli" -#: src/views/dashboard/components/PerformanceTablesCard.vue:22 +#: src/views/dashboard/components/PerformanceTablesCard.vue:21 msgid "Value" msgstr "" @@ -4620,7 +4749,7 @@ msgid "Viewed" msgstr "Görünüm" #: src/composables/usePerformanceMetrics.ts:116 -#: src/views/dashboard/components/PerformanceTablesCard.vue:74 +#: src/views/dashboard/components/PerformanceTablesCard.vue:73 msgid "Waiting processes" msgstr "" @@ -4700,8 +4829,14 @@ msgid "" "codes." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#, fuzzy +msgid "Worker Connections" +msgstr "Mevcut sürüm" + #: src/composables/usePerformanceMetrics.ts:57 -#: src/views/dashboard/components/ConnectionMetricsCard.vue:49 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:48 +#: src/views/dashboard/components/PerformanceOptimization.vue:172 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" diff --git a/app/src/language/vi_VN/app.po b/app/src/language/vi_VN/app.po index e44cdea2..da5075fc 100644 --- a/app/src/language/vi_VN/app.po +++ b/app/src/language/vi_VN/app.po @@ -52,7 +52,7 @@ msgid "Action" msgstr "Hành động" #: src/composables/usePerformanceMetrics.ts:86 -#: src/views/dashboard/components/PerformanceTablesCard.vue:44 +#: src/views/dashboard/components/PerformanceTablesCard.vue:43 msgid "Active connections" msgstr "" @@ -75,8 +75,8 @@ msgstr "Thêm" msgid "Add a passkey" msgstr "" -#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:168 -#: src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:246 #, fuzzy msgid "Add Configuration" msgstr "Sửa cấu hình" @@ -123,7 +123,7 @@ msgstr "" msgid "All" msgstr "" -#: src/components/Notification/notifications.ts:175 +#: src/components/Notification/notifications.ts:109 #: src/language/constants.ts:58 msgid "All Recovery Codes Have Been Used" msgstr "" @@ -281,7 +281,12 @@ msgstr "" msgid "Author" msgstr "Tác giả" -#: src/views/dashboard/components/PerformanceTablesCard.vue:201 +#: src/views/dashboard/components/PerformanceOptimization.vue:178 +#: src/views/dashboard/components/PerformanceOptimization.vue:189 +msgid "Auto" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:200 msgid "auto = CPU cores" msgstr "" @@ -306,7 +311,7 @@ msgid "Automatically indexed from site and stream configurations." msgstr "" #: src/views/certificate/components/CertificateEditor.vue:257 -#: src/views/config/ConfigEditor.vue:262 src/views/config/ConfigList.vue:112 +#: src/views/config/ConfigEditor.vue:268 src/views/config/ConfigList.vue:112 #: src/views/config/ConfigList.vue:195 src/views/nginx_log/NginxLog.vue:173 #: src/views/site/site_edit/SiteEdit.vue:285 #: src/views/stream/StreamEdit.vue:264 @@ -361,7 +366,7 @@ msgstr "" msgid "Base information" msgstr "Thông tin" -#: src/views/config/ConfigEditor.vue:290 +#: src/views/config/ConfigEditor.vue:296 #: src/views/site/site_edit/RightSettings.vue:52 #: src/views/stream/components/RightSettings.vue:79 #, fuzzy @@ -406,7 +411,7 @@ msgid "CA Dir" msgstr "" #: src/composables/usePerformanceMetrics.ts:141 -#: src/views/dashboard/components/PerformanceTablesCard.vue:95 +#: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" @@ -420,7 +425,7 @@ msgid "CADir" msgstr "" #: src/views/dashboard/components/PerformanceStatisticsCard.vue:43 -#: src/views/dashboard/components/PerformanceTablesCard.vue:191 +#: src/views/dashboard/components/PerformanceTablesCard.vue:190 msgid "" "Calculated based on worker_processes * worker_connections. Actual " "performance depends on hardware, configuration, and workload" @@ -450,7 +455,7 @@ msgstr "Cấm thay đổi mật khẩu root trong demo" msgid "Cannot compare: Missing content" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:132 msgid "Cannot get performance data in this state" msgstr "" @@ -467,18 +472,18 @@ msgstr "Tự động ký chứng chỉ SSL" msgid "Cert path is not under the nginx conf dir" msgstr "" -#: src/components/Notification/notifications.ts:28 +#: src/components/Notification/notifications.ts:134 #, fuzzy msgid "Certificate %{name} has expired" msgstr "Mẫu Cấu hình" -#: src/components/Notification/notifications.ts:32 -#: src/components/Notification/notifications.ts:36 -#: src/components/Notification/notifications.ts:40 +#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:146 msgid "Certificate %{name} will expire in %{days} days" msgstr "" -#: src/components/Notification/notifications.ts:44 +#: src/components/Notification/notifications.ts:150 msgid "Certificate %{name} will expire in 1 day" msgstr "" @@ -487,19 +492,19 @@ msgstr "" msgid "Certificate decode error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:31 +#: src/components/Notification/notifications.ts:137 #, fuzzy msgid "Certificate Expiration Notice" msgstr "Mẫu Cấu hình" -#: src/components/Notification/notifications.ts:27 +#: src/components/Notification/notifications.ts:133 #, fuzzy msgid "Certificate Expired" msgstr "Danh sách chứng chỉ" -#: src/components/Notification/notifications.ts:35 -#: src/components/Notification/notifications.ts:39 -#: src/components/Notification/notifications.ts:43 +#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:149 #, fuzzy msgid "Certificate Expiring Soon" msgstr "Chứng chỉ đã hết hạn" @@ -566,7 +571,7 @@ msgid_plural "Changed Certificates" msgstr[0] "Thay đổi chứng chỉ" msgstr[1] "Thay đổi chứng chỉ" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 #, fuzzy msgid "Changed Path" msgstr "Thay đổi chứng chỉ" @@ -639,6 +644,26 @@ msgstr "" msgid "Click to copy" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:307 +msgid "Client Body Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:289 +msgid "Client Header Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:259 +msgid "Client Max Body Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:308 +msgid "Client request body buffer size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:290 +msgid "Client request header buffer size" +msgstr "" + #: src/components/ConfigHistory/ConfigHistory.vue:169 msgid "Close" msgstr "" @@ -672,6 +697,10 @@ msgstr "" msgid "Compare with Current" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:248 +msgid "Compression level, 1 is lowest, 9 is highest" +msgstr "" + #: src/constants/errors/backup.ts:14 #, fuzzy msgid "Config path is empty" @@ -691,7 +720,7 @@ msgstr "Tệp cấu hình được kiểm tra thành công" msgid "Configuration History" msgstr "Cấu hình" -#: src/views/dashboard/components/PerformanceTablesCard.vue:168 +#: src/views/dashboard/components/PerformanceTablesCard.vue:167 #, fuzzy msgid "Configuration information" msgstr "Cấu hình" @@ -712,7 +741,7 @@ msgstr "Cấu hình SSL" msgid "Connected" msgstr "Đã kết nối" -#: src/views/dashboard/NginxDashBoard.vue:84 +#: src/views/dashboard/NginxDashBoard.vue:85 msgid "Connection error, trying to reconnect..." msgstr "" @@ -720,6 +749,10 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:207 +msgid "Connection timeout period" +msgstr "" + #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:118 #: src/views/site/ngx_conf/LocationEditor.vue:115 #: src/views/site/ngx_conf/LocationEditor.vue:143 @@ -828,7 +861,7 @@ msgstr "" msgid "Current account is not enabled TOTP." msgstr "" -#: src/views/dashboard/components/ConnectionMetricsCard.vue:28 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:27 msgid "Current active connections" msgstr "" @@ -857,8 +890,8 @@ msgid "" "indicator." msgstr "" -#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:107 -#: src/views/config/ConfigEditor.vue:158 src/views/config/ConfigList.vue:67 +#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:110 +#: src/views/config/ConfigEditor.vue:161 src/views/config/ConfigList.vue:67 msgid "Dashboard" msgstr "Bảng điều khiển" @@ -895,32 +928,32 @@ msgstr "Gia hạn chứng chỉ SSL" msgid "Delete Permanently" msgstr "" -#: src/components/Notification/notifications.ts:75 src/language/constants.ts:50 +#: src/components/Notification/notifications.ts:9 src/language/constants.ts:50 #, fuzzy msgid "Delete Remote Site Error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:79 src/language/constants.ts:49 +#: src/components/Notification/notifications.ts:13 src/language/constants.ts:49 #, fuzzy msgid "Delete Remote Site Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/components/Notification/notifications.ts:133 +#: src/components/Notification/notifications.ts:67 #, fuzzy msgid "Delete Remote Stream Error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:137 +#: src/components/Notification/notifications.ts:71 #, fuzzy msgid "Delete Remote Stream Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/components/Notification/notifications.ts:76 +#: src/components/Notification/notifications.ts:10 #, fuzzy msgid "Delete site %{name} from %{node} failed" msgstr "Triển khai %{conf_name} tới %{node_name} thất bại" -#: src/components/Notification/notifications.ts:80 +#: src/components/Notification/notifications.ts:14 #, fuzzy msgid "Delete site %{name} from %{node} successfully" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" @@ -929,12 +962,12 @@ msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" msgid "Delete site: %{site_name}" msgstr "Xoá trang web: %{site_name}" -#: src/components/Notification/notifications.ts:134 +#: src/components/Notification/notifications.ts:68 #, fuzzy msgid "Delete stream %{name} from %{node} failed" msgstr "Triển khai %{conf_name} tới %{node_name} thất bại" -#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:72 #, fuzzy msgid "Delete stream %{name} from %{node} successfully" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" @@ -953,7 +986,7 @@ msgstr "Đã xoá thành công" msgid "Demo" msgstr "" -#: src/views/config/ConfigEditor.vue:334 +#: src/views/config/ConfigEditor.vue:340 msgid "Deploy" msgstr "Triển khai" @@ -1012,62 +1045,62 @@ msgstr "Tắt" msgid "Disable auto-renewal failed for %{name}" msgstr "Tắt tự động gia hạn SSL cho %{name} thất bại" -#: src/components/Notification/notifications.ts:83 src/language/constants.ts:52 +#: src/components/Notification/notifications.ts:17 src/language/constants.ts:52 #, fuzzy msgid "Disable Remote Site Error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:107 +#: src/components/Notification/notifications.ts:41 #, fuzzy msgid "Disable Remote Site Maintenance Error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:111 +#: src/components/Notification/notifications.ts:45 #, fuzzy msgid "Disable Remote Site Maintenance Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/components/Notification/notifications.ts:87 src/language/constants.ts:51 +#: src/components/Notification/notifications.ts:21 src/language/constants.ts:51 #, fuzzy msgid "Disable Remote Site Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:75 #, fuzzy msgid "Disable Remote Stream Error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:79 #, fuzzy msgid "Disable Remote Stream Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/components/Notification/notifications.ts:84 +#: src/components/Notification/notifications.ts:18 #, fuzzy msgid "Disable site %{name} from %{node} failed" msgstr "Đã bật %{conf_name} trên %{node_name}" -#: src/components/Notification/notifications.ts:88 +#: src/components/Notification/notifications.ts:22 #, fuzzy msgid "Disable site %{name} from %{node} successfully" msgstr "Đã bật %{conf_name} trên %{node_name}" -#: src/components/Notification/notifications.ts:108 +#: src/components/Notification/notifications.ts:42 #, fuzzy msgid "Disable site %{name} maintenance on %{node} failed" msgstr "Đã bật %{conf_name} trên %{node_name}" -#: src/components/Notification/notifications.ts:112 +#: src/components/Notification/notifications.ts:46 #, fuzzy msgid "Disable site %{name} maintenance on %{node} successfully" msgstr "Đã bật %{conf_name} trên %{node_name}" -#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:76 #, fuzzy msgid "Disable stream %{name} from %{node} failed" msgstr "Không thể bật %{conf_name} trên %{node_name}" -#: src/components/Notification/notifications.ts:146 +#: src/components/Notification/notifications.ts:80 #, fuzzy msgid "Disable stream %{name} from %{node} successfully" msgstr "Đã bật %{conf_name} trên %{node_name}" @@ -1206,7 +1239,7 @@ msgstr "Sửa %{n}" msgid "Edit %{n}" msgstr "Sửa %{n}" -#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:246 msgid "Edit Configuration" msgstr "Sửa cấu hình" @@ -1248,6 +1281,10 @@ msgstr "Đã bật" msgid "Enable auto-renewal failed for %{name}" msgstr "Không thể bật tự động gia hạn SSL cho %{name}" +#: src/views/dashboard/components/PerformanceOptimization.vue:222 +msgid "Enable compression for content transfer" +msgstr "" + #: src/views/site/site_add/SiteAdd.vue:43 msgid "Enable failed" msgstr "Bật không thành công" @@ -1257,67 +1294,67 @@ msgstr "Bật không thành công" msgid "Enable HTTPS" msgstr "Bật TLS" -#: src/components/Notification/notifications.ts:91 src/language/constants.ts:54 +#: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 #, fuzzy msgid "Enable Remote Site Error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:99 +#: src/components/Notification/notifications.ts:33 #, fuzzy msgid "Enable Remote Site Maintenance Error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:103 +#: src/components/Notification/notifications.ts:37 #, fuzzy msgid "Enable Remote Site Maintenance Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/components/Notification/notifications.ts:95 src/language/constants.ts:53 +#: src/components/Notification/notifications.ts:29 src/language/constants.ts:53 #, fuzzy msgid "Enable Remote Site Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/components/Notification/notifications.ts:149 +#: src/components/Notification/notifications.ts:83 #, fuzzy msgid "Enable Remote Stream Error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:153 +#: src/components/Notification/notifications.ts:87 #, fuzzy msgid "Enable Remote Stream Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/components/Notification/notifications.ts:100 +#: src/components/Notification/notifications.ts:34 #, fuzzy msgid "Enable site %{name} maintenance on %{node} failed" msgstr "Không thể bật %{conf_name} trên %{node_name}" -#: src/components/Notification/notifications.ts:104 +#: src/components/Notification/notifications.ts:38 #, fuzzy msgid "Enable site %{name} maintenance on %{node} successfully" msgstr "Đã bật %{conf_name} trên %{node_name}" -#: src/components/Notification/notifications.ts:92 +#: src/components/Notification/notifications.ts:26 #, fuzzy msgid "Enable site %{name} on %{node} failed" msgstr "Không thể bật %{conf_name} trên %{node_name}" -#: src/components/Notification/notifications.ts:96 +#: src/components/Notification/notifications.ts:30 #, fuzzy msgid "Enable site %{name} on %{node} successfully" msgstr "Đã bật %{conf_name} trên %{node_name}" -#: src/components/Notification/notifications.ts:150 +#: src/components/Notification/notifications.ts:84 #, fuzzy msgid "Enable stream %{name} on %{node} failed" msgstr "Không thể bật %{conf_name} trên %{node_name}" -#: src/components/Notification/notifications.ts:154 +#: src/components/Notification/notifications.ts:88 #, fuzzy msgid "Enable stream %{name} on %{node} successfully" msgstr "Đã bật %{conf_name} trên %{node_name}" -#: src/views/dashboard/NginxDashBoard.vue:149 +#: src/views/dashboard/NginxDashBoard.vue:150 msgid "Enable stub_status module" msgstr "" @@ -1621,6 +1658,11 @@ msgstr "Không thể truy xuất thông tin chứng chỉ" msgid "Failed to get certificate information" msgstr "Không thể truy xuất thông tin chứng chỉ" +#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#, fuzzy +msgid "Failed to get Nginx performance settings" +msgstr "Không thể truy xuất thông tin chứng chỉ" + #: src/composables/useNginxPerformance.ts:49 #, fuzzy msgid "Failed to get performance data" @@ -1685,6 +1727,11 @@ msgstr "" msgid "Failed to revoke certificate" msgstr "Nhận chứng chỉ" +#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#, fuzzy +msgid "Failed to save Nginx performance settings" +msgstr "Không thể truy xuất thông tin chứng chỉ" + #: src/views/site/site_edit/SiteEdit.vue:139 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." @@ -1752,16 +1799,16 @@ msgstr "Người dùng Trung Quốc: https://mirror.ghproxy.com/" msgid "Form parse failed" msgstr "Nhân bản thất bại" -#: src/views/config/ConfigEditor.vue:265 +#: src/views/config/ConfigEditor.vue:271 msgid "Format Code" msgstr "Định dạng code" -#: src/views/config/ConfigEditor.vue:213 +#: src/views/config/ConfigEditor.vue:218 #, fuzzy msgid "Format error %{msg}" msgstr "Lưu lỗi %{msg}" -#: src/views/config/ConfigEditor.vue:211 +#: src/views/config/ConfigEditor.vue:216 #, fuzzy msgid "Format successfully" msgstr "Định dạng thành công" @@ -1793,7 +1840,7 @@ msgstr "Xoá thành công" msgid "Generating private key for registering account" msgstr "Tạo khóa riêng để đăng ký tài khoản" -#: src/views/dashboard/NginxDashBoard.vue:140 +#: src/views/dashboard/NginxDashBoard.vue:141 #, fuzzy msgid "Get data failed" msgstr "Đăng ký người dùng" @@ -1812,6 +1859,18 @@ msgstr "Đang lấy chứng chỉ, vui lòng đợi..." msgid "Github Proxy" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:221 +msgid "GZIP Compression" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:247 +msgid "GZIP Compression Level" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:233 +msgid "GZIP Min Length" +msgstr "" + #: src/constants/errors/backup.ts:59 msgid "Hash verification failed: file integrity compromised" msgstr "" @@ -1824,7 +1883,7 @@ msgstr "" msgid "Higher value means better connection reuse" msgstr "" -#: src/views/config/ConfigEditor.vue:251 +#: src/views/config/ConfigEditor.vue:256 #: src/views/site/site_edit/SiteEdit.vue:212 #: src/views/stream/StreamEdit.vue:195 #, fuzzy @@ -1918,7 +1977,7 @@ msgstr "" msgid "Indexing..." msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:16 +#: src/views/dashboard/components/PerformanceTablesCard.vue:15 msgid "Indicator" msgstr "" @@ -1994,7 +2053,7 @@ msgid "Invalid file path: {0}" msgstr "E-mail không chính xác!" #: src/views/config/components/Rename.vue:66 -#: src/views/config/ConfigEditor.vue:299 +#: src/views/config/ConfigEditor.vue:305 #, fuzzy msgid "Invalid filename" msgstr "E-mail không chính xác!" @@ -2060,12 +2119,20 @@ msgstr "" msgid "Jwt Secret" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:242 +msgid "KB" +msgstr "" + #: src/views/preference/components/RecoveryCodes.vue:74 msgid "" "Keep your recovery codes as safe as your password. We recommend saving them " "with a password manager." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:206 +msgid "Keepalive Timeout" +msgstr "" + #: src/views/certificate/CertificateList/certColumns.tsx:59 #: src/views/site/cert/components/AutoCertStepOne.vue:77 #, fuzzy @@ -2089,7 +2156,7 @@ msgstr "Tuỳ chỉnh" msgid "Last checked at" msgstr "Kiểm tra lần cuối lúc" -#: src/views/dashboard/NginxDashBoard.vue:115 +#: src/views/dashboard/NginxDashBoard.vue:116 #, fuzzy msgid "Last update" msgstr "Kiểm tra lần cuối lúc" @@ -2159,7 +2226,7 @@ msgstr "" msgid "Load successfully" msgstr "Lưu thành công" -#: src/views/dashboard/NginxDashBoard.vue:177 +#: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2236,8 +2303,8 @@ 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/modules/config.ts:10 src/views/config/ConfigEditor.vue:112 -#: src/views/config/ConfigEditor.vue:163 src/views/config/ConfigList.vue:72 +#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:115 +#: src/views/config/ConfigEditor.vue:166 src/views/config/ConfigList.vue:72 msgid "Manage Configs" msgstr "Quản lý cấu hình" @@ -2258,7 +2325,11 @@ msgstr "Người dùng" msgid "Managed Certificate" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:202 +#: src/views/dashboard/components/PerformanceOptimization.vue:179 +msgid "Manual" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:201 msgid "manually set" msgstr "" @@ -2267,7 +2338,7 @@ msgid "Master" msgstr "" #: src/composables/usePerformanceMetrics.ts:136 -#: src/views/dashboard/components/PerformanceTablesCard.vue:90 +#: src/views/dashboard/components/PerformanceTablesCard.vue:89 msgid "Master process" msgstr "" @@ -2289,12 +2360,21 @@ msgstr "Phiên bản hiện tại" msgid "Max Requests Per Second" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:260 +msgid "Maximum client request body size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#, fuzzy +msgid "Maximum number of concurrent connections" +msgstr "Phiên bản hiện tại" + #: src/composables/usePerformanceMetrics.ts:176 -#: src/views/dashboard/components/PerformanceTablesCard.vue:126 +#: src/views/dashboard/components/PerformanceTablesCard.vue:125 msgid "Maximum number of connections per worker process" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:196 +#: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2311,6 +2391,10 @@ msgstr "Memory và Storage" msgid "Memory Usage (RSS)" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:234 +msgid "Minimum file size for compression" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "" @@ -2357,7 +2441,7 @@ msgstr "Single Directive" #: src/views/certificate/components/CertificateEditor.vue:162 #: src/views/certificate/DNSCredential.vue:11 #: src/views/config/components/Mkdir.vue:64 -#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:305 +#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:311 #: src/views/environments/group/columns.ts:8 #: src/views/environments/list/envColumns.tsx:9 #: src/views/nginx_log/NginxLogList.vue:37 @@ -2372,7 +2456,7 @@ msgstr "Single Directive" msgid "Name" msgstr "Tên" -#: src/views/dashboard/NginxDashBoard.vue:172 +#: src/views/dashboard/NginxDashBoard.vue:173 msgid "Need to enable the stub_status module" msgstr "" @@ -2402,7 +2486,7 @@ msgstr "Cài đặt" msgid "New name" msgstr "Username" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 #, fuzzy msgid "New Path" msgstr "Đường dẫn" @@ -2445,6 +2529,11 @@ msgstr "" msgid "Nginx conf no stream block" msgstr "" +#: src/constants/errors/self_check.ts:14 +#, fuzzy +msgid "Nginx conf not include conf.d directory" +msgstr "Lỗi phân tích cú pháp cấu hình Nginx" + #: src/constants/errors/self_check.ts:6 msgid "Nginx conf not include sites-enabled" msgstr "" @@ -2484,7 +2573,7 @@ msgid "Nginx Control" msgstr "" #: src/composables/usePerformanceMetrics.ts:151 -#: src/views/dashboard/components/PerformanceTablesCard.vue:105 +#: src/views/dashboard/components/PerformanceTablesCard.vue:104 msgid "Nginx CPU usage rate" msgstr "" @@ -2493,14 +2582,14 @@ msgid "Nginx Error Log Path" msgstr "Vị trí lưu log lỗi (Error log) của Nginx" #: src/composables/useNginxPerformance.ts:43 -#: src/views/dashboard/NginxDashBoard.vue:111 -#: src/views/dashboard/NginxDashBoard.vue:130 -#: src/views/dashboard/NginxDashBoard.vue:79 +#: src/views/dashboard/NginxDashBoard.vue:112 +#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:80 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15 msgid "Nginx is not running" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:111 +#: src/views/dashboard/NginxDashBoard.vue:112 msgid "Nginx is running" msgstr "" @@ -2513,7 +2602,7 @@ msgid "Nginx Log Directory Whitelist" msgstr "" #: src/composables/usePerformanceMetrics.ts:156 -#: src/views/dashboard/components/PerformanceTablesCard.vue:110 +#: src/views/dashboard/components/PerformanceTablesCard.vue:109 msgid "Nginx Memory usage" msgstr "" @@ -2552,7 +2641,7 @@ msgstr "Restart Nginx thành công" msgid "Nginx Test Config Command" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:181 +#: src/views/dashboard/components/PerformanceTablesCard.vue:180 msgid "Nginx theoretical maximum performance" msgstr "" @@ -2597,7 +2686,7 @@ msgstr "Không" msgid "No Action" msgstr "Hành động" -#: src/views/dashboard/NginxDashBoard.vue:179 +#: src/views/dashboard/NginxDashBoard.vue:180 msgid "No data" msgstr "" @@ -2678,10 +2767,14 @@ msgstr "Thông báo" msgid "Notifier not found" msgstr "Không tìm thấy tệp tin" +#: src/views/dashboard/components/PerformanceOptimization.vue:173 +msgid "Number of concurrent worker processes, auto sets to CPU core count" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:131 #: src/composables/usePerformanceMetrics.ts:171 -#: src/views/dashboard/components/PerformanceTablesCard.vue:121 -#: src/views/dashboard/components/PerformanceTablesCard.vue:85 +#: src/views/dashboard/components/PerformanceTablesCard.vue:120 +#: src/views/dashboard/components/PerformanceTablesCard.vue:84 msgid "Number of worker processes" msgstr "" @@ -2704,6 +2797,11 @@ msgid "" "Firefox." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#, fuzzy +msgid "Off" +msgstr "Ngoại tuyến" + #: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 @@ -2735,6 +2833,10 @@ msgstr "" msgid "OK" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:226 +msgid "On" +msgstr "" + #: src/views/certificate/DNSCredential.vue:59 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." @@ -2755,6 +2857,14 @@ msgstr "" msgid "OpenAI" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:164 +msgid "Optimize Nginx Performance" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:158 +msgid "Optimize Performance" +msgstr "" + #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "" @@ -2777,7 +2887,7 @@ msgid "OS:" msgstr "Hệ điều hành:" #: src/composables/usePerformanceMetrics.ts:146 -#: src/views/dashboard/components/PerformanceTablesCard.vue:100 +#: src/views/dashboard/components/PerformanceTablesCard.vue:99 msgid "Other Nginx processes" msgstr "" @@ -2794,11 +2904,11 @@ msgstr "" msgid "Otp or recovery code empty" msgstr "" -#: src/views/config/ConfigEditor.vue:343 +#: src/views/config/ConfigEditor.vue:349 msgid "Overwrite" msgstr "Ghi đè" -#: src/views/config/ConfigEditor.vue:347 +#: src/views/config/ConfigEditor.vue:353 msgid "Overwrite exist file" msgstr "Ghi đè tập tin đã tồn tại" @@ -2839,7 +2949,7 @@ msgstr "Tên người dùng hoặc mật khẩu không chính xác" msgid "Password length cannot exceed 20 characters" msgstr "" -#: src/views/config/ConfigEditor.vue:312 +#: src/views/config/ConfigEditor.vue:318 #: src/views/nginx_log/NginxLogList.vue:45 #: src/views/site/ngx_conf/LocationEditor.vue:109 #: src/views/site/ngx_conf/LocationEditor.vue:137 @@ -2862,10 +2972,15 @@ msgstr "" msgid "Perform core upgrade error" msgstr "Nâng cấp core không thành công" -#: src/views/dashboard/NginxDashBoard.vue:184 +#: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#, fuzzy +msgid "Performance settings saved successfully" +msgstr "Đã tắt thành công" + #: src/language/constants.ts:28 msgid "Performing core upgrade" msgstr "Nâng cấp core" @@ -2874,7 +2989,7 @@ msgstr "Nâng cấp core" msgid "Plain text is empty" msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:173 +#: src/views/dashboard/NginxDashBoard.vue:174 msgid "" "Please enable the stub_status module to get request statistics, connection " "count, etc." @@ -2918,7 +3033,7 @@ 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/components/Notification/notifications.ts:176 +#: src/components/Notification/notifications.ts:110 #: src/language/constants.ts:59 msgid "" "Please generate new recovery codes in the preferences immediately to prevent " @@ -2926,7 +3041,7 @@ msgid "" msgstr "" #: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:298 +#: src/views/config/ConfigEditor.vue:304 #, fuzzy msgid "Please input a filename" msgstr "Vui lòng nhập username!" @@ -3028,7 +3143,7 @@ msgstr "Chuẩn bị cấu hình Lego" msgid "Process Distribution" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:155 +#: src/views/dashboard/components/PerformanceTablesCard.vue:154 #, fuzzy msgid "Process information" msgstr "Thông tin" @@ -3058,7 +3173,7 @@ msgid "Public Security Number" msgstr "" #: src/composables/usePerformanceMetrics.ts:106 -#: src/views/dashboard/components/PerformanceTablesCard.vue:64 +#: src/views/dashboard/components/PerformanceTablesCard.vue:63 msgid "Read requests" msgstr "" @@ -3171,22 +3286,22 @@ msgstr "Tải lại" msgid "Reload Nginx" msgstr "Tải lại nginx" -#: src/components/Notification/notifications.ts:10 +#: src/components/Notification/notifications.ts:116 #, fuzzy msgid "Reload Nginx on %{node} failed, response: %{resp}" msgstr "Xoá trang web: %{site_name}" -#: src/components/Notification/notifications.ts:14 +#: src/components/Notification/notifications.ts:120 #, fuzzy msgid "Reload Nginx on %{node} successfully" msgstr "Cập nhật thành công" -#: src/components/Notification/notifications.ts:9 +#: src/components/Notification/notifications.ts:115 #, fuzzy msgid "Reload Remote Nginx Error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:13 +#: src/components/Notification/notifications.ts:119 #, fuzzy msgid "Reload Remote Nginx Success" msgstr "Gia hạn chứng chỉ SSL thành công" @@ -3228,64 +3343,64 @@ msgstr "Xoá thành công" msgid "Rename" msgstr "Username" -#: src/components/Notification/notifications.ts:66 +#: src/components/Notification/notifications.ts:172 #, fuzzy msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" -#: src/components/Notification/notifications.ts:70 +#: src/components/Notification/notifications.ts:176 #, fuzzy msgid "Rename %{orig_path} to %{new_path} on %{env_name} successfully" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" -#: src/components/Notification/notifications.ts:65 src/language/constants.ts:42 +#: src/components/Notification/notifications.ts:171 +#: src/language/constants.ts:42 #, fuzzy msgid "Rename Remote Config Error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:69 src/language/constants.ts:41 +#: src/components/Notification/notifications.ts:175 +#: src/language/constants.ts:41 #, fuzzy msgid "Rename Remote Config Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/components/Notification/notifications.ts:115 -#: src/language/constants.ts:56 +#: src/components/Notification/notifications.ts:49 src/language/constants.ts:56 #, fuzzy msgid "Rename Remote Site Error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:119 -#: src/language/constants.ts:55 +#: src/components/Notification/notifications.ts:53 src/language/constants.ts:55 #, fuzzy msgid "Rename Remote Site Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/components/Notification/notifications.ts:157 +#: src/components/Notification/notifications.ts:91 #, fuzzy msgid "Rename Remote Stream Error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:161 +#: src/components/Notification/notifications.ts:95 #, fuzzy msgid "Rename Remote Stream Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/components/Notification/notifications.ts:116 +#: src/components/Notification/notifications.ts:50 #, fuzzy msgid "Rename site %{name} to %{new_name} on %{node} failed" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" -#: src/components/Notification/notifications.ts:120 +#: src/components/Notification/notifications.ts:54 #, fuzzy msgid "Rename site %{name} to %{new_name} on %{node} successfully" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" -#: src/components/Notification/notifications.ts:158 +#: src/components/Notification/notifications.ts:92 #, fuzzy msgid "Rename stream %{name} to %{new_name} on %{node} failed" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" -#: src/components/Notification/notifications.ts:162 +#: src/components/Notification/notifications.ts:96 #, fuzzy msgid "Rename stream %{name} to %{new_name} on %{node} successfully" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" @@ -3324,7 +3439,7 @@ msgstr "Gia hạn chứng chỉ SSL thành công" msgid "Renew successfully" msgstr "Gia hạn chứng chỉ SSL" -#: src/views/dashboard/components/PerformanceTablesCard.vue:142 +#: src/views/dashboard/components/PerformanceTablesCard.vue:141 #, fuzzy msgid "Request statistics" msgstr "Thống kê mạng" @@ -3358,7 +3473,7 @@ msgid "" msgstr "" #: src/composables/usePerformanceMetrics.ts:111 -#: src/views/dashboard/components/PerformanceTablesCard.vue:69 +#: src/views/dashboard/components/PerformanceTablesCard.vue:68 msgid "Responses" msgstr "" @@ -3373,22 +3488,22 @@ msgstr "Khởi động lại" msgid "Restart Nginx" msgstr "Đang khởi động lại" -#: src/components/Notification/notifications.ts:18 +#: src/components/Notification/notifications.ts:124 #, fuzzy msgid "Restart Nginx on %{node} failed, response: %{resp}" msgstr "Đã bật %{conf_name} trên %{node_name}" -#: src/components/Notification/notifications.ts:22 +#: src/components/Notification/notifications.ts:128 #, fuzzy msgid "Restart Nginx on %{node} successfully" msgstr "Cập nhật thành công" -#: src/components/Notification/notifications.ts:17 +#: src/components/Notification/notifications.ts:123 #, fuzzy msgid "Restart Remote Nginx Error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:21 +#: src/components/Notification/notifications.ts:127 #, fuzzy msgid "Restart Remote Nginx Success" msgstr "Gia hạn chứng chỉ SSL thành công" @@ -3475,7 +3590,7 @@ msgstr "Running" #: src/components/StdDesign/StdDetail/StdDetail.vue:93 #: src/views/certificate/components/CertificateEditor.vue:264 #: src/views/config/components/ConfigName.vue:59 -#: src/views/config/ConfigEditor.vue:271 +#: src/views/config/ConfigEditor.vue:277 #: src/views/preference/components/Passkey.vue:130 #: src/views/preference/Preference.vue:229 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:127 @@ -3495,44 +3610,42 @@ msgstr "Lưu Directive" msgid "Save error %{msg}" msgstr "Đã xảy ra lỗi khi lưu %{msg}" -#: src/components/Notification/notifications.ts:123 -#: src/language/constants.ts:48 +#: src/components/Notification/notifications.ts:57 src/language/constants.ts:48 #, fuzzy msgid "Save Remote Site Error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:127 -#: src/language/constants.ts:47 +#: src/components/Notification/notifications.ts:61 src/language/constants.ts:47 #, fuzzy msgid "Save Remote Site Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/components/Notification/notifications.ts:165 +#: src/components/Notification/notifications.ts:99 #, fuzzy msgid "Save Remote Stream Error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:169 +#: src/components/Notification/notifications.ts:103 #, fuzzy msgid "Save Remote Stream Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/components/Notification/notifications.ts:124 +#: src/components/Notification/notifications.ts:58 #, fuzzy msgid "Save site %{name} to %{node} failed" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" -#: src/components/Notification/notifications.ts:128 +#: src/components/Notification/notifications.ts:62 #, fuzzy msgid "Save site %{name} to %{node} successfully" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" -#: src/components/Notification/notifications.ts:166 +#: src/components/Notification/notifications.ts:100 #, fuzzy msgid "Save stream %{name} to %{node} failed" msgstr "Triển khai %{conf_name} tới %{node_name} thất bại" -#: src/components/Notification/notifications.ts:170 +#: src/components/Notification/notifications.ts:104 #, fuzzy msgid "Save stream %{name} to %{node} successfully" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" @@ -3545,7 +3658,7 @@ msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" msgid "Save successfully" msgstr "Lưu thành công" -#: src/views/config/ConfigEditor.vue:191 +#: src/views/config/ConfigEditor.vue:194 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/site/site_add/SiteAdd.vue:37 #: src/views/site/site_edit/SiteEdit.vue:157 @@ -3561,6 +3674,10 @@ msgstr "" msgid "SDK" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:216 +msgid "seconds" +msgstr "" + #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "" @@ -3600,6 +3717,14 @@ msgstr "Thông tin máy chủ" msgid "Server Info" msgstr "Thông tin máy chủ" +#: src/views/dashboard/components/PerformanceOptimization.vue:277 +msgid "Server Names Hash Bucket Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:278 +msgid "Server names hash table size" +msgstr "" + #: 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" @@ -3856,42 +3981,46 @@ msgstr "" msgid "Sync Certificate" msgstr "Gia hạn chứng chỉ SSL" -#: src/components/Notification/notifications.ts:48 +#: src/components/Notification/notifications.ts:154 #, fuzzy msgid "Sync Certificate %{cert_name} to %{env_name} failed" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" -#: src/components/Notification/notifications.ts:52 +#: src/components/Notification/notifications.ts:158 #, fuzzy msgid "Sync Certificate %{cert_name} to %{env_name} successfully" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" -#: src/components/Notification/notifications.ts:47 src/language/constants.ts:39 +#: src/components/Notification/notifications.ts:153 +#: src/language/constants.ts:39 #, fuzzy msgid "Sync Certificate Error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:51 src/language/constants.ts:38 +#: src/components/Notification/notifications.ts:157 +#: src/language/constants.ts:38 #, fuzzy msgid "Sync Certificate Success" msgstr "Gia hạn chứng chỉ SSL thành công" -#: src/components/Notification/notifications.ts:58 +#: src/components/Notification/notifications.ts:164 #, fuzzy msgid "Sync config %{config_name} to %{env_name} failed" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" -#: src/components/Notification/notifications.ts:62 +#: src/components/Notification/notifications.ts:168 #, fuzzy msgid "Sync config %{config_name} to %{env_name} successfully" msgstr "Nhân bản %{conf_name} thành %{node_name} thành công" -#: src/components/Notification/notifications.ts:57 src/language/constants.ts:45 +#: src/components/Notification/notifications.ts:163 +#: src/language/constants.ts:45 #, fuzzy msgid "Sync Config Error" msgstr "Gia hạn chứng chỉ SSL thất bại" -#: src/components/Notification/notifications.ts:61 src/language/constants.ts:44 +#: src/components/Notification/notifications.ts:167 +#: src/language/constants.ts:44 #, fuzzy msgid "Sync Config Success" msgstr "Gia hạn chứng chỉ SSL thành công" @@ -4052,11 +4181,11 @@ 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/dashboard/components/PerformanceTablesCard.vue:185 +#: src/views/dashboard/components/PerformanceTablesCard.vue:184 msgid "Theoretical maximum concurrent connections:" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:189 +#: src/views/dashboard/components/PerformanceTablesCard.vue:188 msgid "Theoretical maximum RPS (Requests Per Second):" msgstr "" @@ -4101,7 +4230,7 @@ msgid "" "This field should only contain letters, unicode characters, numbers, and -_." msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:152 +#: src/views/dashboard/NginxDashBoard.vue:153 msgid "" "This module provides Nginx request statistics, connection count, etc. data. " "After enabling it, you can view performance statistics" @@ -4152,7 +4281,7 @@ msgstr "" msgid "Tips" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:207 +#: src/views/dashboard/components/PerformanceTablesCard.vue:206 msgid "" "Tips: You can increase the concurrency processing capacity by increasing " "worker_processes or worker_connections" @@ -4198,7 +4327,7 @@ msgid "" "local API." msgstr "" -#: src/views/dashboard/NginxDashBoard.vue:56 +#: src/views/dashboard/NginxDashBoard.vue:57 #, fuzzy msgid "Toggle failed" msgstr "Bật không thành công" @@ -4214,12 +4343,12 @@ msgstr[0] "" msgstr[1] "" #: src/composables/usePerformanceMetrics.ts:96 -#: src/views/dashboard/components/PerformanceTablesCard.vue:54 +#: src/views/dashboard/components/PerformanceTablesCard.vue:53 msgid "Total connections" msgstr "" #: src/composables/usePerformanceMetrics.ts:91 -#: src/views/dashboard/components/PerformanceTablesCard.vue:49 +#: src/views/dashboard/components/PerformanceTablesCard.vue:48 msgid "Total handshakes" msgstr "" @@ -4232,7 +4361,7 @@ msgid "Total Nginx Processes" msgstr "" #: src/composables/usePerformanceMetrics.ts:101 -#: src/views/dashboard/components/PerformanceTablesCard.vue:59 +#: src/views/dashboard/components/PerformanceTablesCard.vue:58 msgid "Total requests" msgstr "" @@ -4280,7 +4409,7 @@ 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.tsx:36 src/views/config/ConfigEditor.vue:325 +#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:331 #: src/views/environments/group/columns.ts:37 #: src/views/environments/list/envColumns.tsx:90 #: src/views/site/site_edit/RightSettings.vue:75 @@ -4365,7 +4494,7 @@ msgstr "Username (*)" msgid "Valid" msgstr "Hợp lệ" -#: src/views/dashboard/components/PerformanceTablesCard.vue:22 +#: src/views/dashboard/components/PerformanceTablesCard.vue:21 msgid "Value" msgstr "" @@ -4410,7 +4539,7 @@ msgid "Viewed" msgstr "Xem" #: src/composables/usePerformanceMetrics.ts:116 -#: src/views/dashboard/components/PerformanceTablesCard.vue:74 +#: src/views/dashboard/components/PerformanceTablesCard.vue:73 msgid "Waiting processes" msgstr "" @@ -4483,8 +4612,14 @@ msgid "" "codes." msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#, fuzzy +msgid "Worker Connections" +msgstr "Phiên bản hiện tại" + #: src/composables/usePerformanceMetrics.ts:57 -#: src/views/dashboard/components/ConnectionMetricsCard.vue:49 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:48 +#: src/views/dashboard/components/PerformanceOptimization.vue:172 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" diff --git a/app/src/language/zh_CN/app.po b/app/src/language/zh_CN/app.po index dd579d7d..d6562bad 100644 --- a/app/src/language/zh_CN/app.po +++ b/app/src/language/zh_CN/app.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-04-11 16:41+0800\n" +"PO-Revision-Date: 2025-04-11 20:32+0800\n" "Last-Translator: 0xJacky \n" "Language-Team: Chinese (Simplified Han script) \n" @@ -56,7 +56,7 @@ msgid "Action" msgstr "操作" #: src/composables/usePerformanceMetrics.ts:86 -#: src/views/dashboard/components/PerformanceTablesCard.vue:44 +#: src/views/dashboard/components/PerformanceTablesCard.vue:43 msgid "Active connections" msgstr "活跃的连接" @@ -79,8 +79,8 @@ msgstr "添加" msgid "Add a passkey" msgstr "添加 Passkey" -#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:168 -#: src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:246 msgid "Add Configuration" msgstr "添加配置" @@ -123,7 +123,7 @@ msgstr "然后,刷新此页面并再次点击添加 Passkey。" msgid "All" msgstr "全部" -#: src/components/Notification/notifications.ts:175 +#: src/components/Notification/notifications.ts:109 #: src/language/constants.ts:58 msgid "All Recovery Codes Have Been Used" msgstr "所有恢复码都已被使用" @@ -263,7 +263,12 @@ msgstr "认证设置" msgid "Author" msgstr "作者" -#: src/views/dashboard/components/PerformanceTablesCard.vue:201 +#: src/views/dashboard/components/PerformanceOptimization.vue:178 +#: src/views/dashboard/components/PerformanceOptimization.vue:189 +msgid "Auto" +msgstr "自动" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:200 msgid "auto = CPU cores" msgstr "自动 = CPU 线程数" @@ -288,7 +293,7 @@ msgid "Automatically indexed from site and stream configurations." msgstr "自动索引站点和 Stream 的配置文件。" #: src/views/certificate/components/CertificateEditor.vue:257 -#: src/views/config/ConfigEditor.vue:262 src/views/config/ConfigList.vue:112 +#: src/views/config/ConfigEditor.vue:268 src/views/config/ConfigList.vue:112 #: src/views/config/ConfigList.vue:195 src/views/nginx_log/NginxLog.vue:173 #: src/views/site/site_edit/SiteEdit.vue:285 #: src/views/stream/StreamEdit.vue:264 @@ -339,7 +344,7 @@ msgstr "Bark" msgid "Base information" msgstr "基本信息" -#: src/views/config/ConfigEditor.vue:290 +#: src/views/config/ConfigEditor.vue:296 #: src/views/site/site_edit/RightSettings.vue:52 #: src/views/stream/components/RightSettings.vue:79 msgid "Basic" @@ -380,7 +385,7 @@ msgid "CA Dir" msgstr "CA Dir" #: src/composables/usePerformanceMetrics.ts:141 -#: src/views/dashboard/components/PerformanceTablesCard.vue:95 +#: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "缓存管理器进程数" @@ -394,7 +399,7 @@ msgid "CADir" msgstr "CADir" #: src/views/dashboard/components/PerformanceStatisticsCard.vue:43 -#: src/views/dashboard/components/PerformanceTablesCard.vue:191 +#: src/views/dashboard/components/PerformanceTablesCard.vue:190 msgid "" "Calculated based on worker_processes * worker_connections. Actual " "performance depends on hardware, configuration, and workload" @@ -425,7 +430,7 @@ msgstr "不可在 Demo 中修改初始用户的密码" msgid "Cannot compare: Missing content" msgstr "无法比较:内容缺失" -#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:132 msgid "Cannot get performance data in this state" msgstr "在此状态下无法获取性能数据" @@ -441,17 +446,17 @@ msgstr "证书" msgid "Cert path is not under the nginx conf dir" msgstr "证书路径不在 Nginx 配置目录下" -#: src/components/Notification/notifications.ts:28 +#: src/components/Notification/notifications.ts:134 msgid "Certificate %{name} has expired" msgstr "证书 %{name} 已过期" -#: src/components/Notification/notifications.ts:32 -#: src/components/Notification/notifications.ts:36 -#: src/components/Notification/notifications.ts:40 +#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:146 msgid "Certificate %{name} will expire in %{days} days" msgstr "证书 %{name} 将在 %{days} 天后失效" -#: src/components/Notification/notifications.ts:44 +#: src/components/Notification/notifications.ts:150 msgid "Certificate %{name} will expire in 1 day" msgstr "证书 %{name} 将在 1 天后过期" @@ -459,17 +464,17 @@ msgstr "证书 %{name} 将在 1 天后过期" msgid "Certificate decode error" msgstr "证书解码错误" -#: src/components/Notification/notifications.ts:31 +#: src/components/Notification/notifications.ts:137 msgid "Certificate Expiration Notice" msgstr "证书到期通知" -#: src/components/Notification/notifications.ts:27 +#: src/components/Notification/notifications.ts:133 msgid "Certificate Expired" msgstr "证书过期" -#: src/components/Notification/notifications.ts:35 -#: src/components/Notification/notifications.ts:39 -#: src/components/Notification/notifications.ts:43 +#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:149 msgid "Certificate Expiring Soon" msgstr "证书即将到期" @@ -523,7 +528,7 @@ msgid "Changed Certificate" msgid_plural "Changed Certificates" msgstr[0] "变更证书" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 msgid "Changed Path" msgstr "变更后的路径" @@ -597,6 +602,26 @@ msgstr "单击或拖动备份文件到此区域上传" msgid "Click to copy" msgstr "点击复制" +#: src/views/dashboard/components/PerformanceOptimization.vue:307 +msgid "Client Body Buffer Size" +msgstr "客户端请求体缓冲区大小" + +#: src/views/dashboard/components/PerformanceOptimization.vue:289 +msgid "Client Header Buffer Size" +msgstr "客户端请求头缓冲区大小" + +#: src/views/dashboard/components/PerformanceOptimization.vue:259 +msgid "Client Max Body Size" +msgstr "客户端最大请求体大小" + +#: src/views/dashboard/components/PerformanceOptimization.vue:308 +msgid "Client request body buffer size" +msgstr "客户端请求体缓冲区大小" + +#: src/views/dashboard/components/PerformanceOptimization.vue:290 +msgid "Client request header buffer size" +msgstr "客户端请求头缓冲区大小" + #: src/components/ConfigHistory/ConfigHistory.vue:169 msgid "Close" msgstr "关闭" @@ -628,6 +653,10 @@ msgstr "比较选定" msgid "Compare with Current" msgstr "与当前的比较" +#: src/views/dashboard/components/PerformanceOptimization.vue:248 +msgid "Compression level, 1 is lowest, 9 is highest" +msgstr "压缩级别,1 为最低,9 为最高" + #: src/constants/errors/backup.ts:14 msgid "Config path is empty" msgstr "配置路径为空" @@ -644,7 +673,7 @@ msgstr "配置文件测试成功" msgid "Configuration History" msgstr "配置历史记录" -#: src/views/dashboard/components/PerformanceTablesCard.vue:168 +#: src/views/dashboard/components/PerformanceTablesCard.vue:167 msgid "Configuration information" msgstr "配置信息" @@ -664,7 +693,7 @@ msgstr "配置 SSL" msgid "Connected" msgstr "已连接" -#: src/views/dashboard/NginxDashBoard.vue:84 +#: src/views/dashboard/NginxDashBoard.vue:85 msgid "Connection error, trying to reconnect..." msgstr "连接错误,尝试重新连接..." @@ -672,6 +701,10 @@ msgstr "连接错误,尝试重新连接..." msgid "Connection lost, please refresh the page." msgstr "连接中断,请刷新页面。" +#: src/views/dashboard/components/PerformanceOptimization.vue:207 +msgid "Connection timeout period" +msgstr "连接超时时间" + #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:118 #: src/views/site/ngx_conf/LocationEditor.vue:115 #: src/views/site/ngx_conf/LocationEditor.vue:143 @@ -776,7 +809,7 @@ msgstr "当前账户已启用 TOTP 验证。" msgid "Current account is not enabled TOTP." msgstr "当前用户未启用 TOTP 验证。" -#: src/views/dashboard/components/ConnectionMetricsCard.vue:28 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:27 msgid "Current active connections" msgstr "当前活动连接" @@ -803,8 +836,8 @@ msgid "" "indicator." msgstr "自定义显示在环境指示器中的本地服务器名称。" -#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:107 -#: src/views/config/ConfigEditor.vue:158 src/views/config/ConfigList.vue:67 +#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:110 +#: src/views/config/ConfigEditor.vue:161 src/views/config/ConfigList.vue:67 msgid "Dashboard" msgstr "仪表盘" @@ -839,27 +872,27 @@ msgstr "删除证书" msgid "Delete Permanently" msgstr "彻底删除" -#: src/components/Notification/notifications.ts:75 src/language/constants.ts:50 +#: src/components/Notification/notifications.ts:9 src/language/constants.ts:50 msgid "Delete Remote Site Error" msgstr "删除远程站点错误" -#: src/components/Notification/notifications.ts:79 src/language/constants.ts:49 +#: src/components/Notification/notifications.ts:13 src/language/constants.ts:49 msgid "Delete Remote Site Success" msgstr "删除远程站点成功" -#: src/components/Notification/notifications.ts:133 +#: src/components/Notification/notifications.ts:67 msgid "Delete Remote Stream Error" msgstr "删除远程 Stream 错误" -#: src/components/Notification/notifications.ts:137 +#: src/components/Notification/notifications.ts:71 msgid "Delete Remote Stream Success" msgstr "删除远程 Stream 成功" -#: src/components/Notification/notifications.ts:76 +#: src/components/Notification/notifications.ts:10 msgid "Delete site %{name} from %{node} failed" msgstr "部署 %{name} 到 %{node} 失败" -#: src/components/Notification/notifications.ts:80 +#: src/components/Notification/notifications.ts:14 msgid "Delete site %{name} from %{node} successfully" msgstr "成功从 %{node} 中删除站点 %{name}" @@ -867,11 +900,11 @@ msgstr "成功从 %{node} 中删除站点 %{name}" msgid "Delete site: %{site_name}" msgstr "删除站点: %{site_name}" -#: src/components/Notification/notifications.ts:134 +#: src/components/Notification/notifications.ts:68 msgid "Delete stream %{name} from %{node} failed" msgstr "部署 %{name} 到 %{node} 失败" -#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:72 msgid "Delete stream %{name} from %{node} successfully" msgstr "成功从 %{node} 中删除站点 %{name}" @@ -887,7 +920,7 @@ msgstr "删除成功" msgid "Demo" msgstr "Demo" -#: src/views/config/ConfigEditor.vue:334 +#: src/views/config/ConfigEditor.vue:340 msgid "Deploy" msgstr "部署" @@ -944,51 +977,51 @@ msgstr "禁用" msgid "Disable auto-renewal failed for %{name}" msgstr "关闭 %{name} 自动续签失败" -#: src/components/Notification/notifications.ts:83 src/language/constants.ts:52 +#: src/components/Notification/notifications.ts:17 src/language/constants.ts:52 msgid "Disable Remote Site Error" msgstr "禁用远程站点错误" -#: src/components/Notification/notifications.ts:107 +#: src/components/Notification/notifications.ts:41 msgid "Disable Remote Site Maintenance Error" msgstr "禁用远程站点维护错误" -#: src/components/Notification/notifications.ts:111 +#: src/components/Notification/notifications.ts:45 msgid "Disable Remote Site Maintenance Success" msgstr "禁用远程站点维护成功" -#: src/components/Notification/notifications.ts:87 src/language/constants.ts:51 +#: src/components/Notification/notifications.ts:21 src/language/constants.ts:51 msgid "Disable Remote Site Success" msgstr "禁用远程站点成功" -#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:75 msgid "Disable Remote Stream Error" msgstr "禁用远程 Stream 错误" -#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:79 msgid "Disable Remote Stream Success" msgstr "禁用远程 Stream成功" -#: src/components/Notification/notifications.ts:84 +#: src/components/Notification/notifications.ts:18 msgid "Disable site %{name} from %{node} failed" msgstr "在 %{node} 上禁用 %{name} 成功" -#: src/components/Notification/notifications.ts:88 +#: src/components/Notification/notifications.ts:22 msgid "Disable site %{name} from %{node} successfully" msgstr "在 %{node} 上禁用 %{name} 成功" -#: src/components/Notification/notifications.ts:108 +#: src/components/Notification/notifications.ts:42 msgid "Disable site %{name} maintenance on %{node} failed" msgstr "停用站点 %{name} 维护 %{node} 失败" -#: src/components/Notification/notifications.ts:112 +#: src/components/Notification/notifications.ts:46 msgid "Disable site %{name} maintenance on %{node} successfully" msgstr "成功停用站点 %{name} 上 %{node} 的维护功能" -#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:76 msgid "Disable stream %{name} from %{node} failed" msgstr "在 %{node} 中启用 %{name} 失败" -#: src/components/Notification/notifications.ts:146 +#: src/components/Notification/notifications.ts:80 msgid "Disable stream %{name} from %{node} successfully" msgstr "在 %{node} 上禁用 %{name} 成功" @@ -1116,7 +1149,7 @@ msgstr "编辑" msgid "Edit %{n}" msgstr "编辑 %{n}" -#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:246 msgid "Edit Configuration" msgstr "编辑配置" @@ -1153,6 +1186,10 @@ msgstr "二步验证启用成功" msgid "Enable auto-renewal failed for %{name}" msgstr "启用 %{name} 自动续签失败" +#: src/views/dashboard/components/PerformanceOptimization.vue:222 +msgid "Enable compression for content transfer" +msgstr "启用内容传输压缩" + #: src/views/site/site_add/SiteAdd.vue:43 msgid "Enable failed" msgstr "启用失败" @@ -1161,55 +1198,55 @@ msgstr "启用失败" msgid "Enable HTTPS" msgstr "启用 HTTPS" -#: src/components/Notification/notifications.ts:91 src/language/constants.ts:54 +#: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 msgid "Enable Remote Site Error" msgstr "启用远程站点错误" -#: src/components/Notification/notifications.ts:99 +#: src/components/Notification/notifications.ts:33 msgid "Enable Remote Site Maintenance Error" msgstr "在 %{node} 上启用 %{site} 失败" -#: src/components/Notification/notifications.ts:103 +#: src/components/Notification/notifications.ts:37 msgid "Enable Remote Site Maintenance Success" msgstr "成功启用远程站点维护" -#: src/components/Notification/notifications.ts:95 src/language/constants.ts:53 +#: src/components/Notification/notifications.ts:29 src/language/constants.ts:53 msgid "Enable Remote Site Success" msgstr "启用远程站点成功" -#: src/components/Notification/notifications.ts:149 +#: src/components/Notification/notifications.ts:83 msgid "Enable Remote Stream Error" msgstr "启用远程 Steam 错误" -#: src/components/Notification/notifications.ts:153 +#: src/components/Notification/notifications.ts:87 msgid "Enable Remote Stream Success" msgstr "启用远程 Stream 成功" -#: src/components/Notification/notifications.ts:100 +#: src/components/Notification/notifications.ts:34 msgid "Enable site %{name} maintenance on %{node} failed" msgstr "在 %{node} 中为 %{name} 启用维护模式失败" -#: src/components/Notification/notifications.ts:104 +#: src/components/Notification/notifications.ts:38 msgid "Enable site %{name} maintenance on %{node} successfully" msgstr "在 %{node} 上成功启用站点 %{name} 维护模式" -#: src/components/Notification/notifications.ts:92 +#: src/components/Notification/notifications.ts:26 msgid "Enable site %{name} on %{node} failed" msgstr "在 %{node} 中启用 %{name} 失败" -#: src/components/Notification/notifications.ts:96 +#: src/components/Notification/notifications.ts:30 msgid "Enable site %{name} on %{node} successfully" msgstr "在 %{node} 上启用 %{name} 成功" -#: src/components/Notification/notifications.ts:150 +#: src/components/Notification/notifications.ts:84 msgid "Enable stream %{name} on %{node} failed" msgstr "在 %{node} 中启用 %{name} 失败" -#: src/components/Notification/notifications.ts:154 +#: src/components/Notification/notifications.ts:88 msgid "Enable stream %{name} on %{node} successfully" msgstr "在 %{node} 上启用 %{name} 成功" -#: src/views/dashboard/NginxDashBoard.vue:149 +#: src/views/dashboard/NginxDashBoard.vue:150 msgid "Enable stub_status module" msgstr "启用 stub_status 模块" @@ -1480,6 +1517,10 @@ msgstr "生成初始化向量失败:{0}" msgid "Failed to get certificate information" msgstr "获取证书信息失败" +#: src/views/dashboard/components/PerformanceOptimization.vue:56 +msgid "Failed to get Nginx performance settings" +msgstr "获取 Nginx 性能参数失败" + #: src/composables/useNginxPerformance.ts:49 msgid "Failed to get performance data" msgstr "获取性能数据失败" @@ -1536,6 +1577,10 @@ msgstr "恢复 Nginx UI 文件失败:{0}" msgid "Failed to revoke certificate" msgstr "证书撤销失败" +#: src/views/dashboard/components/PerformanceOptimization.vue:126 +msgid "Failed to save Nginx performance settings" +msgstr "保存 Nginx 性能参数失败" + #: src/views/site/site_edit/SiteEdit.vue:139 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." @@ -1600,15 +1645,15 @@ msgstr "中国用户:https://mirror.ghproxy.com/" msgid "Form parse failed" msgstr "表单解析失败" -#: src/views/config/ConfigEditor.vue:265 +#: src/views/config/ConfigEditor.vue:271 msgid "Format Code" msgstr "代码格式化" -#: src/views/config/ConfigEditor.vue:213 +#: src/views/config/ConfigEditor.vue:218 msgid "Format error %{msg}" msgstr "保存错误 %{msg}" -#: src/views/config/ConfigEditor.vue:211 +#: src/views/config/ConfigEditor.vue:216 msgid "Format successfully" msgstr "格式化成功" @@ -1637,7 +1682,7 @@ msgstr "成功生成恢复代码" msgid "Generating private key for registering account" msgstr "正在生成私钥用于注册账户" -#: src/views/dashboard/NginxDashBoard.vue:140 +#: src/views/dashboard/NginxDashBoard.vue:141 msgid "Get data failed" msgstr "获取数据失败" @@ -1654,6 +1699,18 @@ msgstr "正在获取证书,请稍等..." msgid "Github Proxy" msgstr "Github 代理" +#: src/views/dashboard/components/PerformanceOptimization.vue:221 +msgid "GZIP Compression" +msgstr "GZIP压缩" + +#: src/views/dashboard/components/PerformanceOptimization.vue:247 +msgid "GZIP Compression Level" +msgstr "GZIP 压缩级别" + +#: src/views/dashboard/components/PerformanceOptimization.vue:233 +msgid "GZIP Min Length" +msgstr "GZIP 最小长度" + #: src/constants/errors/backup.ts:59 msgid "Hash verification failed: file integrity compromised" msgstr "哈希验证失败:文件完整性受损" @@ -1666,7 +1723,7 @@ msgstr "隐藏" msgid "Higher value means better connection reuse" msgstr "更高的值意味着更好的连接再利用" -#: src/views/config/ConfigEditor.vue:251 +#: src/views/config/ConfigEditor.vue:256 #: src/views/site/site_edit/SiteEdit.vue:212 #: src/views/stream/StreamEdit.vue:195 msgid "History" @@ -1760,7 +1817,7 @@ msgstr "已索引" msgid "Indexing..." msgstr "索引中..." -#: src/views/dashboard/components/PerformanceTablesCard.vue:16 +#: src/views/dashboard/components/PerformanceTablesCard.vue:15 msgid "Indicator" msgstr "指示器" @@ -1832,7 +1889,7 @@ msgid "Invalid file path: {0}" msgstr "文件路径无效:{0}" #: src/views/config/components/Rename.vue:66 -#: src/views/config/ConfigEditor.vue:299 +#: src/views/config/ConfigEditor.vue:305 msgid "Invalid filename" msgstr "文件名无效" @@ -1892,6 +1949,10 @@ msgstr "颁发者:%{issuer}" msgid "Jwt Secret" msgstr "Jwt 密钥" +#: src/views/dashboard/components/PerformanceOptimization.vue:242 +msgid "KB" +msgstr "KB" + #: src/views/preference/components/RecoveryCodes.vue:74 msgid "" "Keep your recovery codes as safe as your password. We recommend saving them " @@ -1899,6 +1960,10 @@ msgid "" msgstr "" "请像保护密码一样安全地保管您的恢复代码。我们建议使用密码管理器保存它们。" +#: src/views/dashboard/components/PerformanceOptimization.vue:206 +msgid "Keepalive Timeout" +msgstr "Keepalive 超时" + #: src/views/certificate/CertificateList/certColumns.tsx:59 #: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" @@ -1920,7 +1985,7 @@ msgstr "Lark 自定义" msgid "Last checked at" msgstr "最后检查时间" -#: src/views/dashboard/NginxDashBoard.vue:115 +#: src/views/dashboard/NginxDashBoard.vue:116 msgid "Last update" msgstr "上次更新" @@ -1982,7 +2047,7 @@ msgstr "从设置中加载" msgid "Load successfully" msgstr "加载成功" -#: src/views/dashboard/NginxDashBoard.vue:177 +#: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "正在加载数据..." @@ -2058,8 +2123,8 @@ msgstr "" "在获取签发证书前,请确保配置文件中已将 .well-known 目录反向代理到 " "HTTPChallengePort。" -#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:112 -#: src/views/config/ConfigEditor.vue:163 src/views/config/ConfigList.vue:72 +#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:115 +#: src/views/config/ConfigEditor.vue:166 src/views/config/ConfigList.vue:72 msgid "Manage Configs" msgstr "配置管理" @@ -2079,7 +2144,11 @@ msgstr "用户管理" msgid "Managed Certificate" msgstr "托管证书" -#: src/views/dashboard/components/PerformanceTablesCard.vue:202 +#: src/views/dashboard/components/PerformanceOptimization.vue:179 +msgid "Manual" +msgstr "手动" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:201 msgid "manually set" msgstr "手动设置" @@ -2088,7 +2157,7 @@ msgid "Master" msgstr "主进程" #: src/composables/usePerformanceMetrics.ts:136 -#: src/views/dashboard/components/PerformanceTablesCard.vue:90 +#: src/views/dashboard/components/PerformanceTablesCard.vue:89 msgid "Master process" msgstr "主进程" @@ -2109,12 +2178,20 @@ msgstr "最大并发连接数" msgid "Max Requests Per Second" msgstr "每秒最大请求次数" +#: src/views/dashboard/components/PerformanceOptimization.vue:260 +msgid "Maximum client request body size" +msgstr "客户端请求体的最大尺寸" + +#: src/views/dashboard/components/PerformanceOptimization.vue:195 +msgid "Maximum number of concurrent connections" +msgstr "最大并发连接数" + #: src/composables/usePerformanceMetrics.ts:176 -#: src/views/dashboard/components/PerformanceTablesCard.vue:126 +#: src/views/dashboard/components/PerformanceTablesCard.vue:125 msgid "Maximum number of connections per worker process" msgstr "每个工作进程的最大连接数" -#: src/views/dashboard/components/PerformanceTablesCard.vue:196 +#: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "最大工作进程数:" @@ -2131,6 +2208,10 @@ msgstr "内存与存储" msgid "Memory Usage (RSS)" msgstr "内存使用量(RSS)" +#: src/views/dashboard/components/PerformanceOptimization.vue:234 +msgid "Minimum file size for compression" +msgstr "压缩文件的最小尺寸" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "分钟" @@ -2172,7 +2253,7 @@ msgstr "多行指令" #: src/views/certificate/components/CertificateEditor.vue:162 #: src/views/certificate/DNSCredential.vue:11 #: src/views/config/components/Mkdir.vue:64 -#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:305 +#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:311 #: src/views/environments/group/columns.ts:8 #: src/views/environments/list/envColumns.tsx:9 #: src/views/nginx_log/NginxLogList.vue:37 @@ -2187,7 +2268,7 @@ msgstr "多行指令" msgid "Name" msgstr "名称" -#: src/views/dashboard/NginxDashBoard.vue:172 +#: src/views/dashboard/NginxDashBoard.vue:173 msgid "Need to enable the stub_status module" msgstr "需要启用 stub_status 模块" @@ -2215,7 +2296,7 @@ msgstr "新安装" msgid "New name" msgstr "新名称" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 msgid "New Path" msgstr "新路径" @@ -2257,6 +2338,10 @@ msgstr "Nginx 配置无 http 块" msgid "Nginx conf no stream block" msgstr "Nginx 配置无 Stream 块" +#: src/constants/errors/self_check.ts:14 +msgid "Nginx conf not include conf.d directory" +msgstr "Nginx 配置文件不包括 conf.d 目录" + #: src/constants/errors/self_check.ts:6 msgid "Nginx conf not include sites-enabled" msgstr "Nginx Conf 中未引用 sites-enabled" @@ -2291,7 +2376,7 @@ msgid "Nginx Control" msgstr "控制 Nginx" #: src/composables/usePerformanceMetrics.ts:151 -#: src/views/dashboard/components/PerformanceTablesCard.vue:105 +#: src/views/dashboard/components/PerformanceTablesCard.vue:104 msgid "Nginx CPU usage rate" msgstr "Nginx CPU 使用率" @@ -2300,14 +2385,14 @@ msgid "Nginx Error Log Path" msgstr "Nginx 错误日志路径" #: src/composables/useNginxPerformance.ts:43 -#: src/views/dashboard/NginxDashBoard.vue:111 -#: src/views/dashboard/NginxDashBoard.vue:130 -#: src/views/dashboard/NginxDashBoard.vue:79 +#: src/views/dashboard/NginxDashBoard.vue:112 +#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:80 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15 msgid "Nginx is not running" msgstr "Nginx 未启动" -#: src/views/dashboard/NginxDashBoard.vue:111 +#: src/views/dashboard/NginxDashBoard.vue:112 msgid "Nginx is running" msgstr "Nginx 正在运行" @@ -2320,7 +2405,7 @@ msgid "Nginx Log Directory Whitelist" msgstr "Nginx 日志目录白名单" #: src/composables/usePerformanceMetrics.ts:156 -#: src/views/dashboard/components/PerformanceTablesCard.vue:110 +#: src/views/dashboard/components/PerformanceTablesCard.vue:109 msgid "Nginx Memory usage" msgstr "Nginx 内存使用量" @@ -2356,7 +2441,7 @@ msgstr "Nginx 重启成功" msgid "Nginx Test Config Command" msgstr "Nginx 测试配置命令" -#: src/views/dashboard/components/PerformanceTablesCard.vue:181 +#: src/views/dashboard/components/PerformanceTablesCard.vue:180 msgid "Nginx theoretical maximum performance" msgstr "Nginx 理论最高性能" @@ -2398,7 +2483,7 @@ msgstr "取消" msgid "No Action" msgstr "无操作" -#: src/views/dashboard/NginxDashBoard.vue:179 +#: src/views/dashboard/NginxDashBoard.vue:180 msgid "No data" msgstr "没有数据" @@ -2471,10 +2556,14 @@ msgstr "通知" msgid "Notifier not found" msgstr "未找到通知程序" +#: src/views/dashboard/components/PerformanceOptimization.vue:173 +msgid "Number of concurrent worker processes, auto sets to CPU core count" +msgstr "并发工作进程数,自动设置为 CPU 内核数" + #: src/composables/usePerformanceMetrics.ts:131 #: src/composables/usePerformanceMetrics.ts:171 -#: src/views/dashboard/components/PerformanceTablesCard.vue:121 -#: src/views/dashboard/components/PerformanceTablesCard.vue:85 +#: src/views/dashboard/components/PerformanceTablesCard.vue:120 +#: src/views/dashboard/components/PerformanceTablesCard.vue:84 msgid "Number of worker processes" msgstr "工作进程数量" @@ -2496,6 +2585,10 @@ msgid "" "Firefox." msgstr "某些用户在使用 Firefox 首次访问时,OCSP Must Staple 可能会导致错误。" +#: src/views/dashboard/components/PerformanceOptimization.vue:227 +msgid "Off" +msgstr "关闭" + #: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 @@ -2527,6 +2620,10 @@ msgstr "确定" msgid "OK" msgstr "确定" +#: src/views/dashboard/components/PerformanceOptimization.vue:226 +msgid "On" +msgstr "开启" + #: src/views/certificate/DNSCredential.vue:59 msgid "Once the verification is complete, the records will be removed." msgstr "一旦验证完成,这些记录将被删除。" @@ -2547,6 +2644,14 @@ msgstr "只允许使用zip文件" msgid "OpenAI" msgstr "OpenAI" +#: src/views/dashboard/components/PerformanceOptimization.vue:164 +msgid "Optimize Nginx Performance" +msgstr "优化 Nginx 性能" + +#: src/views/dashboard/components/PerformanceOptimization.vue:158 +msgid "Optimize Performance" +msgstr "性能调优" + #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "或" @@ -2568,7 +2673,7 @@ msgid "OS:" msgstr "OS:" #: src/composables/usePerformanceMetrics.ts:146 -#: src/views/dashboard/components/PerformanceTablesCard.vue:100 +#: src/views/dashboard/components/PerformanceTablesCard.vue:99 msgid "Other Nginx processes" msgstr "其他 Nginx 进程" @@ -2585,11 +2690,11 @@ msgstr "其他" msgid "Otp or recovery code empty" msgstr "OTP 或恢复代码为空" -#: src/views/config/ConfigEditor.vue:343 +#: src/views/config/ConfigEditor.vue:349 msgid "Overwrite" msgstr "覆盖" -#: src/views/config/ConfigEditor.vue:347 +#: src/views/config/ConfigEditor.vue:353 msgid "Overwrite exist file" msgstr "覆盖现有文件" @@ -2630,7 +2735,7 @@ msgstr "用户名和密码错误" msgid "Password length cannot exceed 20 characters" msgstr "密码长度不能超过 20 个字符" -#: src/views/config/ConfigEditor.vue:312 +#: src/views/config/ConfigEditor.vue:318 #: src/views/nginx_log/NginxLogList.vue:45 #: src/views/site/ngx_conf/LocationEditor.vue:109 #: src/views/site/ngx_conf/LocationEditor.vue:137 @@ -2653,10 +2758,14 @@ msgstr "执行" msgid "Perform core upgrade error" msgstr "执行核心升级错误" -#: src/views/dashboard/NginxDashBoard.vue:184 +#: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "性能指标" +#: src/views/dashboard/components/PerformanceOptimization.vue:122 +msgid "Performance settings saved successfully" +msgstr "性能调优参数保存成功" + #: src/language/constants.ts:28 msgid "Performing core upgrade" msgstr "正在进行核心升级" @@ -2665,7 +2774,7 @@ msgstr "正在进行核心升级" msgid "Plain text is empty" msgstr "原文为空" -#: src/views/dashboard/NginxDashBoard.vue:173 +#: src/views/dashboard/NginxDashBoard.vue:174 msgid "" "Please enable the stub_status module to get request statistics, connection " "count, etc." @@ -2708,7 +2817,7 @@ msgstr "" "请首先在 “证书”> “DNS 凭证” 中添加凭证,然后在下方选择一个凭证,请求 DNS 提供" "商的 API。" -#: src/components/Notification/notifications.ts:176 +#: src/components/Notification/notifications.ts:110 #: src/language/constants.ts:59 msgid "" "Please generate new recovery codes in the preferences immediately to prevent " @@ -2716,7 +2825,7 @@ msgid "" msgstr "请立即在偏好设置中生成新的恢复码,以防止无法访问您的账户。" #: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:298 +#: src/views/config/ConfigEditor.vue:304 msgid "Please input a filename" msgstr "请输入文件名" @@ -2810,7 +2919,7 @@ msgstr "正在准备 Lego 的配置" msgid "Process Distribution" msgstr "进程分布" -#: src/views/dashboard/components/PerformanceTablesCard.vue:155 +#: src/views/dashboard/components/PerformanceTablesCard.vue:154 msgid "Process information" msgstr "进程信息" @@ -2839,7 +2948,7 @@ msgid "Public Security Number" msgstr "公安备案号" #: src/composables/usePerformanceMetrics.ts:106 -#: src/views/dashboard/components/PerformanceTablesCard.vue:64 +#: src/views/dashboard/components/PerformanceTablesCard.vue:63 msgid "Read requests" msgstr "读取请求数" @@ -2945,19 +3054,19 @@ msgstr "重载" msgid "Reload Nginx" msgstr "重载 Nginx" -#: src/components/Notification/notifications.ts:10 +#: src/components/Notification/notifications.ts:116 msgid "Reload Nginx on %{node} failed, response: %{resp}" msgstr "在 %{node} 上重载 Nginx 失败,响应:%{resp}" -#: src/components/Notification/notifications.ts:14 +#: src/components/Notification/notifications.ts:120 msgid "Reload Nginx on %{node} successfully" msgstr "在 %{node} 上重载 Nginx 成功" -#: src/components/Notification/notifications.ts:9 +#: src/components/Notification/notifications.ts:115 msgid "Reload Remote Nginx Error" msgstr "重载远程 Nginx 错误" -#: src/components/Notification/notifications.ts:13 +#: src/components/Notification/notifications.ts:119 msgid "Reload Remote Nginx Success" msgstr "重载远程 Nginx 成功" @@ -2995,53 +3104,53 @@ msgstr "删除成功" msgid "Rename" msgstr "重命名" -#: src/components/Notification/notifications.ts:66 +#: src/components/Notification/notifications.ts:172 msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed" msgstr "成功将 %{env_name} 上的 %{orig_path} 重命名为 %{new_path}" -#: src/components/Notification/notifications.ts:70 +#: src/components/Notification/notifications.ts:176 msgid "Rename %{orig_path} to %{new_path} on %{env_name} successfully" msgstr "成功将 %{env_name} 上的 %{orig_path} 重命名为 %{new_path}" -#: src/components/Notification/notifications.ts:65 src/language/constants.ts:42 +#: src/components/Notification/notifications.ts:171 +#: src/language/constants.ts:42 msgid "Rename Remote Config Error" msgstr "远程配置重命名错误" -#: src/components/Notification/notifications.ts:69 src/language/constants.ts:41 +#: src/components/Notification/notifications.ts:175 +#: src/language/constants.ts:41 msgid "Rename Remote Config Success" msgstr "重命名远程配置成功" -#: src/components/Notification/notifications.ts:115 -#: src/language/constants.ts:56 +#: src/components/Notification/notifications.ts:49 src/language/constants.ts:56 msgid "Rename Remote Site Error" msgstr "重命名远程站点错误" -#: src/components/Notification/notifications.ts:119 -#: src/language/constants.ts:55 +#: src/components/Notification/notifications.ts:53 src/language/constants.ts:55 msgid "Rename Remote Site Success" msgstr "重命名远程站点成功" -#: src/components/Notification/notifications.ts:157 +#: src/components/Notification/notifications.ts:91 msgid "Rename Remote Stream Error" msgstr "重命名远程 Stream 错误" -#: src/components/Notification/notifications.ts:161 +#: src/components/Notification/notifications.ts:95 msgid "Rename Remote Stream Success" msgstr "重命名远程 Stream成功" -#: src/components/Notification/notifications.ts:116 +#: src/components/Notification/notifications.ts:50 msgid "Rename site %{name} to %{new_name} on %{node} failed" msgstr "在 %{node} 上将站点 %{name} 重命名为 %{new_name} 成功" -#: src/components/Notification/notifications.ts:120 +#: src/components/Notification/notifications.ts:54 msgid "Rename site %{name} to %{new_name} on %{node} successfully" msgstr "在 %{node} 上将站点 %{name} 重命名为 %{new_name} 成功" -#: src/components/Notification/notifications.ts:158 +#: src/components/Notification/notifications.ts:92 msgid "Rename stream %{name} to %{new_name} on %{node} failed" msgstr "在 %{node} 上将站点 %{name} 重命名为 %{new_name} 成功" -#: src/components/Notification/notifications.ts:162 +#: src/components/Notification/notifications.ts:96 msgid "Rename stream %{name} to %{new_name} on %{node} successfully" msgstr "在 %{node} 上将站点 %{name} 重命名为 %{new_name} 成功" @@ -3073,7 +3182,7 @@ msgstr "证书续期成功" msgid "Renew successfully" msgstr "更新成功" -#: src/views/dashboard/components/PerformanceTablesCard.vue:142 +#: src/views/dashboard/components/PerformanceTablesCard.vue:141 msgid "Request statistics" msgstr "请求统计" @@ -3107,7 +3216,7 @@ msgstr "" "计算" #: src/composables/usePerformanceMetrics.ts:111 -#: src/views/dashboard/components/PerformanceTablesCard.vue:69 +#: src/views/dashboard/components/PerformanceTablesCard.vue:68 msgid "Responses" msgstr "响应" @@ -3121,19 +3230,19 @@ msgstr "重启" msgid "Restart Nginx" msgstr "重启 Nginx" -#: src/components/Notification/notifications.ts:18 +#: src/components/Notification/notifications.ts:124 msgid "Restart Nginx on %{node} failed, response: %{resp}" msgstr "在 %{node} 上重启 Nginx 失败,响应:%{resp}" -#: src/components/Notification/notifications.ts:22 +#: src/components/Notification/notifications.ts:128 msgid "Restart Nginx on %{node} successfully" msgstr "在 %{node} 上重启 Nginx 成功" -#: src/components/Notification/notifications.ts:17 +#: src/components/Notification/notifications.ts:123 msgid "Restart Remote Nginx Error" msgstr "重启远程 Nginx 错误" -#: src/components/Notification/notifications.ts:21 +#: src/components/Notification/notifications.ts:127 msgid "Restart Remote Nginx Success" msgstr "重启远程 Nginx 成功" @@ -3212,7 +3321,7 @@ msgstr "运行中" #: src/components/StdDesign/StdDetail/StdDetail.vue:93 #: src/views/certificate/components/CertificateEditor.vue:264 #: src/views/config/components/ConfigName.vue:59 -#: src/views/config/ConfigEditor.vue:271 +#: src/views/config/ConfigEditor.vue:277 #: src/views/preference/components/Passkey.vue:130 #: src/views/preference/Preference.vue:229 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:127 @@ -3232,37 +3341,35 @@ msgstr "保存指令" msgid "Save error %{msg}" msgstr "保存错误 %{msg}" -#: src/components/Notification/notifications.ts:123 -#: src/language/constants.ts:48 +#: src/components/Notification/notifications.ts:57 src/language/constants.ts:48 msgid "Save Remote Site Error" msgstr "保存远程站点错误" -#: src/components/Notification/notifications.ts:127 -#: src/language/constants.ts:47 +#: src/components/Notification/notifications.ts:61 src/language/constants.ts:47 msgid "Save Remote Site Success" msgstr "保存远程站点成功" -#: src/components/Notification/notifications.ts:165 +#: src/components/Notification/notifications.ts:99 msgid "Save Remote Stream Error" msgstr "保存远程 Stream 错误" -#: src/components/Notification/notifications.ts:169 +#: src/components/Notification/notifications.ts:103 msgid "Save Remote Stream Success" msgstr "保存远程 Stream 成功" -#: src/components/Notification/notifications.ts:124 +#: src/components/Notification/notifications.ts:58 msgid "Save site %{name} to %{node} failed" msgstr "成功将站点 %{name} 保存到 %{node} 中" -#: src/components/Notification/notifications.ts:128 +#: src/components/Notification/notifications.ts:62 msgid "Save site %{name} to %{node} successfully" msgstr "成功将站点 %{name} 保存到 %{node} 中" -#: src/components/Notification/notifications.ts:166 +#: src/components/Notification/notifications.ts:100 msgid "Save stream %{name} to %{node} failed" msgstr "部署 %{name} 到 %{node} 失败" -#: src/components/Notification/notifications.ts:170 +#: src/components/Notification/notifications.ts:104 msgid "Save stream %{name} to %{node} successfully" msgstr "成功将站点 %{name} 保存到 %{node} 中" @@ -3273,7 +3380,7 @@ msgstr "成功将站点 %{name} 保存到 %{node} 中" msgid "Save successfully" msgstr "保存成功" -#: src/views/config/ConfigEditor.vue:191 +#: src/views/config/ConfigEditor.vue:194 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/site/site_add/SiteAdd.vue:37 #: src/views/site/site_edit/SiteEdit.vue:157 @@ -3289,6 +3396,10 @@ msgstr "用手机扫描二维码,将账户添加到应用程序中。" msgid "SDK" msgstr "SDK" +#: src/views/dashboard/components/PerformanceOptimization.vue:216 +msgid "seconds" +msgstr "秒" + #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "密钥已复制" @@ -3327,6 +3438,14 @@ msgstr "服务器" msgid "Server Info" msgstr "服务器信息" +#: src/views/dashboard/components/PerformanceOptimization.vue:277 +msgid "Server Names Hash Bucket Size" +msgstr "服务器名称哈希桶大小" + +#: src/views/dashboard/components/PerformanceOptimization.vue:278 +msgid "Server names hash table size" +msgstr "服务器名称哈希表大小" + #: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "未在指令集合中找到 server_name" @@ -3570,35 +3689,39 @@ msgstr "同步" msgid "Sync Certificate" msgstr "同步证书" -#: src/components/Notification/notifications.ts:48 +#: src/components/Notification/notifications.ts:154 msgid "Sync Certificate %{cert_name} to %{env_name} failed" msgstr "证书 %{cert_name} 已成功同步到 %{env_name}" -#: src/components/Notification/notifications.ts:52 +#: src/components/Notification/notifications.ts:158 msgid "Sync Certificate %{cert_name} to %{env_name} successfully" msgstr "证书 %{cert_name} 已成功同步到 %{env_name}" -#: src/components/Notification/notifications.ts:47 src/language/constants.ts:39 +#: src/components/Notification/notifications.ts:153 +#: src/language/constants.ts:39 msgid "Sync Certificate Error" msgstr "同步证书错误" -#: src/components/Notification/notifications.ts:51 src/language/constants.ts:38 +#: src/components/Notification/notifications.ts:157 +#: src/language/constants.ts:38 msgid "Sync Certificate Success" msgstr "同步证书成功" -#: src/components/Notification/notifications.ts:58 +#: src/components/Notification/notifications.ts:164 msgid "Sync config %{config_name} to %{env_name} failed" msgstr "配置 %{config_name} 成功同步到 %{env_name}" -#: src/components/Notification/notifications.ts:62 +#: src/components/Notification/notifications.ts:168 msgid "Sync config %{config_name} to %{env_name} successfully" msgstr "配置 %{config_name} 成功同步到 %{env_name}" -#: src/components/Notification/notifications.ts:57 src/language/constants.ts:45 +#: src/components/Notification/notifications.ts:163 +#: src/language/constants.ts:45 msgid "Sync Config Error" msgstr "同步配置错误" -#: src/components/Notification/notifications.ts:61 src/language/constants.ts:44 +#: src/components/Notification/notifications.ts:167 +#: src/language/constants.ts:44 msgid "Sync Config Success" msgstr "同步配置成功" @@ -3751,11 +3874,11 @@ msgstr "URL 无效." msgid "The username or password is incorrect" msgstr "用户名或密码错误" -#: src/views/dashboard/components/PerformanceTablesCard.vue:185 +#: src/views/dashboard/components/PerformanceTablesCard.vue:184 msgid "Theoretical maximum concurrent connections:" msgstr "理论最大并发连接数:" -#: src/views/dashboard/components/PerformanceTablesCard.vue:189 +#: src/views/dashboard/components/PerformanceTablesCard.vue:188 msgid "Theoretical maximum RPS (Requests Per Second):" msgstr "理论最大 RPS(每秒请求次数):" @@ -3800,7 +3923,7 @@ msgid "" "This field should only contain letters, unicode characters, numbers, and -_." msgstr "该字段只能包含字母、unicode 字符、数字和 -_。" -#: src/views/dashboard/NginxDashBoard.vue:152 +#: src/views/dashboard/NginxDashBoard.vue:153 msgid "" "This module provides Nginx request statistics, connection count, etc. data. " "After enabling it, you can view performance statistics" @@ -3851,7 +3974,7 @@ msgstr "限流" msgid "Tips" msgstr "提示" -#: src/views/dashboard/components/PerformanceTablesCard.vue:207 +#: src/views/dashboard/components/PerformanceTablesCard.vue:206 msgid "" "Tips: You can increase the concurrency processing capacity by increasing " "worker_processes or worker_connections" @@ -3901,7 +4024,7 @@ msgstr "" "要使用本地大型模型,可使用 ollama、vllm 或 lmdeploy 进行部署。它们提供了与 " "OpenAI 兼容的 API 端点,因此只需将 baseUrl 设置为本地 API 即可。" -#: src/views/dashboard/NginxDashBoard.vue:56 +#: src/views/dashboard/NginxDashBoard.vue:57 msgid "Toggle failed" msgstr "切换失败" @@ -3915,12 +4038,12 @@ msgid_plural "Total %{total} items" msgstr[0] "共 %{total} 个项目" #: src/composables/usePerformanceMetrics.ts:96 -#: src/views/dashboard/components/PerformanceTablesCard.vue:54 +#: src/views/dashboard/components/PerformanceTablesCard.vue:53 msgid "Total connections" msgstr "连接总数" #: src/composables/usePerformanceMetrics.ts:91 -#: src/views/dashboard/components/PerformanceTablesCard.vue:49 +#: src/views/dashboard/components/PerformanceTablesCard.vue:48 msgid "Total handshakes" msgstr "握手总数" @@ -3933,7 +4056,7 @@ msgid "Total Nginx Processes" msgstr "Nginx 进程总数" #: src/composables/usePerformanceMetrics.ts:101 -#: src/views/dashboard/components/PerformanceTablesCard.vue:59 +#: src/views/dashboard/components/PerformanceTablesCard.vue:58 msgid "Total requests" msgstr "总请求数" @@ -3980,7 +4103,7 @@ msgstr "更新成功" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:325 +#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:331 #: src/views/environments/group/columns.ts:37 #: src/views/environments/list/envColumns.tsx:90 #: src/views/site/site_edit/RightSettings.vue:75 @@ -4060,7 +4183,7 @@ msgstr "用户名 (*)" msgid "Valid" msgstr "有效的" -#: src/views/dashboard/components/PerformanceTablesCard.vue:22 +#: src/views/dashboard/components/PerformanceTablesCard.vue:21 msgid "Value" msgstr "值" @@ -4100,7 +4223,7 @@ msgid "Viewed" msgstr "已查看" #: src/composables/usePerformanceMetrics.ts:116 -#: src/views/dashboard/components/PerformanceTablesCard.vue:74 +#: src/views/dashboard/components/PerformanceTablesCard.vue:73 msgid "Waiting processes" msgstr "等待处理" @@ -4178,8 +4301,13 @@ msgid "" "codes." msgstr "当您生成新的恢复代码时,必须下载或打印新的代码。" +#: src/views/dashboard/components/PerformanceOptimization.vue:194 +msgid "Worker Connections" +msgstr "工作进程连接数" + #: src/composables/usePerformanceMetrics.ts:57 -#: src/views/dashboard/components/ConnectionMetricsCard.vue:49 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:48 +#: src/views/dashboard/components/PerformanceOptimization.vue:172 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "工作进程" @@ -4489,9 +4617,6 @@ msgstr "你的 Passkeys" #~ msgid "Dir" #~ msgstr "目录" -#~ msgid "Auto" -#~ msgstr "自动" - #~ msgid "Dark" #~ msgstr "深色" diff --git a/app/src/language/zh_TW/app.po b/app/src/language/zh_TW/app.po index d6b7cf3f..8e025667 100644 --- a/app/src/language/zh_TW/app.po +++ b/app/src/language/zh_TW/app.po @@ -60,7 +60,7 @@ msgid "Action" msgstr "操作" #: src/composables/usePerformanceMetrics.ts:86 -#: src/views/dashboard/components/PerformanceTablesCard.vue:44 +#: src/views/dashboard/components/PerformanceTablesCard.vue:43 msgid "Active connections" msgstr "" @@ -83,8 +83,8 @@ msgstr "新增" msgid "Add a passkey" msgstr "新增通行密鑰" -#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:168 -#: src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:171 +#: src/views/config/ConfigEditor.vue:246 msgid "Add Configuration" msgstr "添加配置" @@ -127,7 +127,7 @@ msgstr "然後,重新整理此頁面並再次點選新增通行密鑰。" msgid "All" msgstr "全部" -#: src/components/Notification/notifications.ts:175 +#: src/components/Notification/notifications.ts:109 #: src/language/constants.ts:58 msgid "All Recovery Codes Have Been Used" msgstr "所有恢復碼都已使用完畢" @@ -267,7 +267,12 @@ msgstr "認證設定" msgid "Author" msgstr "作者" -#: src/views/dashboard/components/PerformanceTablesCard.vue:201 +#: src/views/dashboard/components/PerformanceOptimization.vue:178 +#: src/views/dashboard/components/PerformanceOptimization.vue:189 +msgid "Auto" +msgstr "自動" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:200 msgid "auto = CPU cores" msgstr "" @@ -292,7 +297,7 @@ msgid "Automatically indexed from site and stream configurations." msgstr "自動從網站和串流配置中索引。" #: src/views/certificate/components/CertificateEditor.vue:257 -#: src/views/config/ConfigEditor.vue:262 src/views/config/ConfigList.vue:112 +#: src/views/config/ConfigEditor.vue:268 src/views/config/ConfigList.vue:112 #: src/views/config/ConfigList.vue:195 src/views/nginx_log/NginxLog.vue:173 #: src/views/site/site_edit/SiteEdit.vue:285 #: src/views/stream/StreamEdit.vue:264 @@ -343,7 +348,7 @@ msgstr "Bark" msgid "Base information" msgstr "基本資訊" -#: src/views/config/ConfigEditor.vue:290 +#: src/views/config/ConfigEditor.vue:296 #: src/views/site/site_edit/RightSettings.vue:52 #: src/views/stream/components/RightSettings.vue:79 msgid "Basic" @@ -384,7 +389,7 @@ msgid "CA Dir" msgstr "CA Dir" #: src/composables/usePerformanceMetrics.ts:141 -#: src/views/dashboard/components/PerformanceTablesCard.vue:95 +#: src/views/dashboard/components/PerformanceTablesCard.vue:94 msgid "Cache manager processes" msgstr "" @@ -398,7 +403,7 @@ msgid "CADir" msgstr "CADir" #: src/views/dashboard/components/PerformanceStatisticsCard.vue:43 -#: src/views/dashboard/components/PerformanceTablesCard.vue:191 +#: src/views/dashboard/components/PerformanceTablesCard.vue:190 msgid "" "Calculated based on worker_processes * worker_connections. Actual " "performance depends on hardware, configuration, and workload" @@ -427,7 +432,7 @@ msgstr "無法在示範模式下更改初始使用者密碼" msgid "Cannot compare: Missing content" msgstr "無法比較:缺少內容" -#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:132 msgid "Cannot get performance data in this state" msgstr "" @@ -443,17 +448,17 @@ msgstr "證書" msgid "Cert path is not under the nginx conf dir" msgstr "證書路徑不在 Nginx 設定檔資料夾下" -#: src/components/Notification/notifications.ts:28 +#: src/components/Notification/notifications.ts:134 msgid "Certificate %{name} has expired" msgstr "憑證 %{name} 已過期" -#: src/components/Notification/notifications.ts:32 -#: src/components/Notification/notifications.ts:36 -#: src/components/Notification/notifications.ts:40 +#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:146 msgid "Certificate %{name} will expire in %{days} days" msgstr "證書 %{name} 將於 %{days} 天後過期" -#: src/components/Notification/notifications.ts:44 +#: src/components/Notification/notifications.ts:150 msgid "Certificate %{name} will expire in 1 day" msgstr "證書 %{name} 將於 1 天後過期" @@ -461,17 +466,17 @@ msgstr "證書 %{name} 將於 1 天後過期" msgid "Certificate decode error" msgstr "證書解碼錯誤" -#: src/components/Notification/notifications.ts:31 +#: src/components/Notification/notifications.ts:137 msgid "Certificate Expiration Notice" msgstr "證書到期通知" -#: src/components/Notification/notifications.ts:27 +#: src/components/Notification/notifications.ts:133 msgid "Certificate Expired" msgstr "憑證已過期" -#: src/components/Notification/notifications.ts:35 -#: src/components/Notification/notifications.ts:39 -#: src/components/Notification/notifications.ts:43 +#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:149 msgid "Certificate Expiring Soon" msgstr "證書即將到期" @@ -526,7 +531,7 @@ msgid "Changed Certificate" msgid_plural "Changed Certificates" msgstr[0] "變更後憑證" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 msgid "Changed Path" msgstr "變更後路徑" @@ -603,6 +608,26 @@ msgstr "點擊或拖曳備份檔案至此區域上傳" msgid "Click to copy" msgstr "點擊複製" +#: src/views/dashboard/components/PerformanceOptimization.vue:307 +msgid "Client Body Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:289 +msgid "Client Header Buffer Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:259 +msgid "Client Max Body Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:308 +msgid "Client request body buffer size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:290 +msgid "Client request header buffer size" +msgstr "" + #: src/components/ConfigHistory/ConfigHistory.vue:169 msgid "Close" msgstr "關閉" @@ -634,6 +659,10 @@ msgstr "比較選定" msgid "Compare with Current" msgstr "與當前比較" +#: src/views/dashboard/components/PerformanceOptimization.vue:248 +msgid "Compression level, 1 is lowest, 9 is highest" +msgstr "" + #: src/constants/errors/backup.ts:14 msgid "Config path is empty" msgstr "配置路徑為空" @@ -650,7 +679,7 @@ msgstr "設定檔案測試成功" msgid "Configuration History" msgstr "配置歷史" -#: src/views/dashboard/components/PerformanceTablesCard.vue:168 +#: src/views/dashboard/components/PerformanceTablesCard.vue:167 #, fuzzy msgid "Configuration information" msgstr "配置歷史" @@ -671,7 +700,7 @@ msgstr "設定 SSL" msgid "Connected" msgstr "已連結" -#: src/views/dashboard/NginxDashBoard.vue:84 +#: src/views/dashboard/NginxDashBoard.vue:85 msgid "Connection error, trying to reconnect..." msgstr "" @@ -679,6 +708,10 @@ msgstr "" msgid "Connection lost, please refresh the page." msgstr "連接丟失,請重新整理。" +#: src/views/dashboard/components/PerformanceOptimization.vue:207 +msgid "Connection timeout period" +msgstr "" + #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:118 #: src/views/site/ngx_conf/LocationEditor.vue:115 #: src/views/site/ngx_conf/LocationEditor.vue:143 @@ -783,7 +816,7 @@ msgstr "當前帳戶已啟用 TOTP。" msgid "Current account is not enabled TOTP." msgstr "當前帳戶未啟用 TOTP。" -#: src/views/dashboard/components/ConnectionMetricsCard.vue:28 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:27 msgid "Current active connections" msgstr "" @@ -811,8 +844,8 @@ msgid "" "indicator." msgstr "自訂顯示在環境指示器中的本地節點名稱。" -#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:107 -#: src/views/config/ConfigEditor.vue:158 src/views/config/ConfigList.vue:67 +#: src/routes/modules/dashboard.ts:10 src/views/config/ConfigEditor.vue:110 +#: src/views/config/ConfigEditor.vue:161 src/views/config/ConfigList.vue:67 msgid "Dashboard" msgstr "儀表板" @@ -848,27 +881,27 @@ msgstr "更換憑證" msgid "Delete Permanently" msgstr "永久刪除" -#: src/components/Notification/notifications.ts:75 src/language/constants.ts:50 +#: src/components/Notification/notifications.ts:9 src/language/constants.ts:50 msgid "Delete Remote Site Error" msgstr "刪除遠端網站錯誤" -#: src/components/Notification/notifications.ts:79 src/language/constants.ts:49 +#: src/components/Notification/notifications.ts:13 src/language/constants.ts:49 msgid "Delete Remote Site Success" msgstr "刪除遠端網站成功" -#: src/components/Notification/notifications.ts:133 +#: src/components/Notification/notifications.ts:67 msgid "Delete Remote Stream Error" msgstr "刪除遠端串流錯誤" -#: src/components/Notification/notifications.ts:137 +#: src/components/Notification/notifications.ts:71 msgid "Delete Remote Stream Success" msgstr "刪除遠端串流成功" -#: src/components/Notification/notifications.ts:76 +#: src/components/Notification/notifications.ts:10 msgid "Delete site %{name} from %{node} failed" msgstr "從 %{node} 刪除網站 %{name} 失敗" -#: src/components/Notification/notifications.ts:80 +#: src/components/Notification/notifications.ts:14 msgid "Delete site %{name} from %{node} successfully" msgstr "成功從 %{node} 移除站點 %{name}" @@ -876,11 +909,11 @@ msgstr "成功從 %{node} 移除站點 %{name}" msgid "Delete site: %{site_name}" msgstr "刪除網站:%{site_name}" -#: src/components/Notification/notifications.ts:134 +#: src/components/Notification/notifications.ts:68 msgid "Delete stream %{name} from %{node} failed" msgstr "部署 %{conf_name} 至 %{node} 失敗" -#: src/components/Notification/notifications.ts:138 +#: src/components/Notification/notifications.ts:72 msgid "Delete stream %{name} from %{node} successfully" msgstr "成功從 %{node} 移除站點 %{name}" @@ -896,7 +929,7 @@ msgstr "刪除成功" msgid "Demo" msgstr "演示" -#: src/views/config/ConfigEditor.vue:334 +#: src/views/config/ConfigEditor.vue:340 msgid "Deploy" msgstr "部署" @@ -953,51 +986,51 @@ msgstr "停用" msgid "Disable auto-renewal failed for %{name}" msgstr "關閉 %{name} 自動續簽失敗" -#: src/components/Notification/notifications.ts:83 src/language/constants.ts:52 +#: src/components/Notification/notifications.ts:17 src/language/constants.ts:52 msgid "Disable Remote Site Error" msgstr "禁用遠端站点錯誤" -#: src/components/Notification/notifications.ts:107 +#: src/components/Notification/notifications.ts:41 msgid "Disable Remote Site Maintenance Error" msgstr "遠端網站維護錯誤已停用" -#: src/components/Notification/notifications.ts:111 +#: src/components/Notification/notifications.ts:45 msgid "Disable Remote Site Maintenance Success" msgstr "遠端網站維護已成功停用" -#: src/components/Notification/notifications.ts:87 src/language/constants.ts:51 +#: src/components/Notification/notifications.ts:21 src/language/constants.ts:51 msgid "Disable Remote Site Success" msgstr "禁用遠端站点成功" -#: src/components/Notification/notifications.ts:141 +#: src/components/Notification/notifications.ts:75 msgid "Disable Remote Stream Error" msgstr "禁用遠端串流錯誤" -#: src/components/Notification/notifications.ts:145 +#: src/components/Notification/notifications.ts:79 msgid "Disable Remote Stream Success" msgstr "禁用遠端串流成功" -#: src/components/Notification/notifications.ts:84 +#: src/components/Notification/notifications.ts:18 msgid "Disable site %{name} from %{node} failed" msgstr "停用 %{node} 上的網站 %{name} 失敗" -#: src/components/Notification/notifications.ts:88 +#: src/components/Notification/notifications.ts:22 msgid "Disable site %{name} from %{node} successfully" msgstr "已成功從%{node}停用網站%{name}" -#: src/components/Notification/notifications.ts:108 +#: src/components/Notification/notifications.ts:42 msgid "Disable site %{name} maintenance on %{node} failed" msgstr "在%{node}上停用網站%{name}的維護模式失敗" -#: src/components/Notification/notifications.ts:112 +#: src/components/Notification/notifications.ts:46 msgid "Disable site %{name} maintenance on %{node} successfully" msgstr "網站 %{name} 在 %{node} 上的維護已成功停用" -#: src/components/Notification/notifications.ts:142 +#: src/components/Notification/notifications.ts:76 msgid "Disable stream %{name} from %{node} failed" msgstr "停用來自 %{node} 的串流 %{name} 失敗" -#: src/components/Notification/notifications.ts:146 +#: src/components/Notification/notifications.ts:80 msgid "Disable stream %{name} from %{node} successfully" msgstr "已成功從 %{node} 停用串流 %{name}" @@ -1125,7 +1158,7 @@ msgstr "編輯" msgid "Edit %{n}" msgstr "編輯 %{n}" -#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:241 +#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:246 msgid "Edit Configuration" msgstr "編輯設定" @@ -1162,6 +1195,10 @@ msgstr "啟用多因素身份驗證成功" msgid "Enable auto-renewal failed for %{name}" msgstr "啟用 %{name} 自動續簽失敗" +#: src/views/dashboard/components/PerformanceOptimization.vue:222 +msgid "Enable compression for content transfer" +msgstr "" + #: src/views/site/site_add/SiteAdd.vue:43 msgid "Enable failed" msgstr "啟用失敗" @@ -1170,55 +1207,55 @@ msgstr "啟用失敗" msgid "Enable HTTPS" msgstr "啟用 HTTPS" -#: src/components/Notification/notifications.ts:91 src/language/constants.ts:54 +#: src/components/Notification/notifications.ts:25 src/language/constants.ts:54 msgid "Enable Remote Site Error" msgstr "啟用遠端站點錯誤" -#: src/components/Notification/notifications.ts:99 +#: src/components/Notification/notifications.ts:33 msgid "Enable Remote Site Maintenance Error" msgstr "啟用遠端網站維護錯誤" -#: src/components/Notification/notifications.ts:103 +#: src/components/Notification/notifications.ts:37 msgid "Enable Remote Site Maintenance Success" msgstr "啟用遠端網站維護成功" -#: src/components/Notification/notifications.ts:95 src/language/constants.ts:53 +#: src/components/Notification/notifications.ts:29 src/language/constants.ts:53 msgid "Enable Remote Site Success" msgstr "啟用遠端站點成功" -#: src/components/Notification/notifications.ts:149 +#: src/components/Notification/notifications.ts:83 msgid "Enable Remote Stream Error" msgstr "啟用遠端串流錯誤" -#: src/components/Notification/notifications.ts:153 +#: src/components/Notification/notifications.ts:87 msgid "Enable Remote Stream Success" msgstr "啟用遠端串流成功" -#: src/components/Notification/notifications.ts:100 +#: src/components/Notification/notifications.ts:34 msgid "Enable site %{name} maintenance on %{node} failed" msgstr "啟用網站 %{name} 在 %{node} 上的維護模式失敗" -#: src/components/Notification/notifications.ts:104 +#: src/components/Notification/notifications.ts:38 msgid "Enable site %{name} maintenance on %{node} successfully" msgstr "成功在%{node}上啟用網站%{name}的維護模式" -#: src/components/Notification/notifications.ts:92 +#: src/components/Notification/notifications.ts:26 msgid "Enable site %{name} on %{node} failed" msgstr "在%{node}上啟用網站%{name}失敗" -#: src/components/Notification/notifications.ts:96 +#: src/components/Notification/notifications.ts:30 msgid "Enable site %{name} on %{node} successfully" msgstr "成功在%{node}上啟用網站%{name}" -#: src/components/Notification/notifications.ts:150 +#: src/components/Notification/notifications.ts:84 msgid "Enable stream %{name} on %{node} failed" msgstr "在 %{node} 上啟用串流 %{name} 失敗" -#: src/components/Notification/notifications.ts:154 +#: src/components/Notification/notifications.ts:88 msgid "Enable stream %{name} on %{node} successfully" msgstr "在 %{node} 上成功啟用串流 %{name}" -#: src/views/dashboard/NginxDashBoard.vue:149 +#: src/views/dashboard/NginxDashBoard.vue:150 msgid "Enable stub_status module" msgstr "" @@ -1490,6 +1527,11 @@ msgstr "無法生成初始化向量:{0}" msgid "Failed to get certificate information" msgstr "取得憑證資訊失敗" +#: src/views/dashboard/components/PerformanceOptimization.vue:56 +#, fuzzy +msgid "Failed to get Nginx performance settings" +msgstr "取得憑證資訊失敗" + #: src/composables/useNginxPerformance.ts:49 #, fuzzy msgid "Failed to get performance data" @@ -1548,6 +1590,11 @@ msgstr "無法恢復Nginx UI文件:{0}" msgid "Failed to revoke certificate" msgstr "獲取憑證失敗" +#: src/views/dashboard/components/PerformanceOptimization.vue:126 +#, fuzzy +msgid "Failed to save Nginx performance settings" +msgstr "取得憑證資訊失敗" + #: src/views/site/site_edit/SiteEdit.vue:139 #: src/views/stream/StreamEdit.vue:122 msgid "Failed to save, syntax error(s) was detected in the configuration." @@ -1612,15 +1659,15 @@ msgstr "中國使用者:https://mirror.ghproxy.com/" msgid "Form parse failed" msgstr "表單解析失敗" -#: src/views/config/ConfigEditor.vue:265 +#: src/views/config/ConfigEditor.vue:271 msgid "Format Code" msgstr "格式化程式碼" -#: src/views/config/ConfigEditor.vue:213 +#: src/views/config/ConfigEditor.vue:218 msgid "Format error %{msg}" msgstr "格式錯誤 %{msg}" -#: src/views/config/ConfigEditor.vue:211 +#: src/views/config/ConfigEditor.vue:216 msgid "Format successfully" msgstr "成功格式化" @@ -1649,7 +1696,7 @@ msgstr "成功生成復原代碼" msgid "Generating private key for registering account" msgstr "產生註冊帳號的私鑰" -#: src/views/dashboard/NginxDashBoard.vue:140 +#: src/views/dashboard/NginxDashBoard.vue:141 #, fuzzy msgid "Get data failed" msgstr "註冊失敗" @@ -1667,6 +1714,18 @@ msgstr "正在取得憑證,請稍候..." msgid "Github Proxy" msgstr "Github 代理" +#: src/views/dashboard/components/PerformanceOptimization.vue:221 +msgid "GZIP Compression" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:247 +msgid "GZIP Compression Level" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:233 +msgid "GZIP Min Length" +msgstr "" + #: src/constants/errors/backup.ts:59 msgid "Hash verification failed: file integrity compromised" msgstr "哈希驗證失敗:檔案完整性受損" @@ -1679,7 +1738,7 @@ msgstr "隱藏" msgid "Higher value means better connection reuse" msgstr "" -#: src/views/config/ConfigEditor.vue:251 +#: src/views/config/ConfigEditor.vue:256 #: src/views/site/site_edit/SiteEdit.vue:212 #: src/views/stream/StreamEdit.vue:195 msgid "History" @@ -1773,7 +1832,7 @@ msgstr "已索引" msgid "Indexing..." msgstr "索引中..." -#: src/views/dashboard/components/PerformanceTablesCard.vue:16 +#: src/views/dashboard/components/PerformanceTablesCard.vue:15 msgid "Indicator" msgstr "" @@ -1845,7 +1904,7 @@ msgid "Invalid file path: {0}" msgstr "無效的文件路徑:{0}" #: src/views/config/components/Rename.vue:66 -#: src/views/config/ConfigEditor.vue:299 +#: src/views/config/ConfigEditor.vue:305 msgid "Invalid filename" msgstr "無效的檔案名" @@ -1905,6 +1964,10 @@ msgstr "發行者:%{issuer}" msgid "Jwt Secret" msgstr "Jwt Secret" +#: src/views/dashboard/components/PerformanceOptimization.vue:242 +msgid "KB" +msgstr "" + #: src/views/preference/components/RecoveryCodes.vue:74 msgid "" "Keep your recovery codes as safe as your password. We recommend saving them " @@ -1912,6 +1975,10 @@ msgid "" msgstr "" "請將您的復原代碼與密碼同樣妥善保管。我們建議使用密碼管理工具來儲存它們。" +#: src/views/dashboard/components/PerformanceOptimization.vue:206 +msgid "Keepalive Timeout" +msgstr "" + #: src/views/certificate/CertificateList/certColumns.tsx:59 #: src/views/site/cert/components/AutoCertStepOne.vue:77 msgid "Key Type" @@ -1933,7 +2000,7 @@ msgstr "Lark 自定義" msgid "Last checked at" msgstr "上次檢查時間" -#: src/views/dashboard/NginxDashBoard.vue:115 +#: src/views/dashboard/NginxDashBoard.vue:116 #, fuzzy msgid "Last update" msgstr "最後使用時間" @@ -1996,7 +2063,7 @@ msgstr "從設置加載" msgid "Load successfully" msgstr "加載成功" -#: src/views/dashboard/NginxDashBoard.vue:177 +#: src/views/dashboard/NginxDashBoard.vue:178 msgid "Loading data..." msgstr "" @@ -2071,8 +2138,8 @@ msgid "" msgstr "" "在取得憑證前,請確保您已將 .well-known 目錄反向代理到 HTTPChallengePort。" -#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:112 -#: src/views/config/ConfigEditor.vue:163 src/views/config/ConfigList.vue:72 +#: src/routes/modules/config.ts:10 src/views/config/ConfigEditor.vue:115 +#: src/views/config/ConfigEditor.vue:166 src/views/config/ConfigList.vue:72 msgid "Manage Configs" msgstr "管理設定" @@ -2092,7 +2159,11 @@ msgstr "管理使用者" msgid "Managed Certificate" msgstr "受管理的憑證" -#: src/views/dashboard/components/PerformanceTablesCard.vue:202 +#: src/views/dashboard/components/PerformanceOptimization.vue:179 +msgid "Manual" +msgstr "" + +#: src/views/dashboard/components/PerformanceTablesCard.vue:201 msgid "manually set" msgstr "" @@ -2101,7 +2172,7 @@ msgid "Master" msgstr "" #: src/composables/usePerformanceMetrics.ts:136 -#: src/views/dashboard/components/PerformanceTablesCard.vue:90 +#: src/views/dashboard/components/PerformanceTablesCard.vue:89 msgid "Master process" msgstr "" @@ -2123,12 +2194,21 @@ msgstr "當前內容" msgid "Max Requests Per Second" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:260 +msgid "Maximum client request body size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:195 +#, fuzzy +msgid "Maximum number of concurrent connections" +msgstr "當前內容" + #: src/composables/usePerformanceMetrics.ts:176 -#: src/views/dashboard/components/PerformanceTablesCard.vue:126 +#: src/views/dashboard/components/PerformanceTablesCard.vue:125 msgid "Maximum number of connections per worker process" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:196 +#: src/views/dashboard/components/PerformanceTablesCard.vue:195 msgid "Maximum worker process number:" msgstr "" @@ -2145,6 +2225,10 @@ msgstr "記憶體與儲存" msgid "Memory Usage (RSS)" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:234 +msgid "Minimum file size for compression" +msgstr "" + #: src/views/preference/LogrotateSettings.vue:29 msgid "Minutes" msgstr "分鐘" @@ -2186,7 +2270,7 @@ msgstr "多行指令" #: src/views/certificate/components/CertificateEditor.vue:162 #: src/views/certificate/DNSCredential.vue:11 #: src/views/config/components/Mkdir.vue:64 -#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:305 +#: src/views/config/configColumns.tsx:7 src/views/config/ConfigEditor.vue:311 #: src/views/environments/group/columns.ts:8 #: src/views/environments/list/envColumns.tsx:9 #: src/views/nginx_log/NginxLogList.vue:37 @@ -2201,7 +2285,7 @@ msgstr "多行指令" msgid "Name" msgstr "名稱" -#: src/views/dashboard/NginxDashBoard.vue:172 +#: src/views/dashboard/NginxDashBoard.vue:173 msgid "Need to enable the stub_status module" msgstr "" @@ -2229,7 +2313,7 @@ msgstr "新安裝" msgid "New name" msgstr "新名稱" -#: src/views/config/ConfigEditor.vue:318 +#: src/views/config/ConfigEditor.vue:324 msgid "New Path" msgstr "新路徑" @@ -2272,6 +2356,11 @@ msgstr "Nginx 配置檔中沒有 http 區塊" msgid "Nginx conf no stream block" msgstr "Nginx 配置檔中沒有 stream 區塊" +#: src/constants/errors/self_check.ts:14 +#, fuzzy +msgid "Nginx conf not include conf.d directory" +msgstr "請確認 nginx.conf 是否有包含 sites-enabled 資料夾。" + #: src/constants/errors/self_check.ts:6 msgid "Nginx conf not include sites-enabled" msgstr "Nginx 配置檔未包含 sites-enabled" @@ -2306,7 +2395,7 @@ msgid "Nginx Control" msgstr "Nginx 控制元件" #: src/composables/usePerformanceMetrics.ts:151 -#: src/views/dashboard/components/PerformanceTablesCard.vue:105 +#: src/views/dashboard/components/PerformanceTablesCard.vue:104 msgid "Nginx CPU usage rate" msgstr "" @@ -2315,14 +2404,14 @@ msgid "Nginx Error Log Path" msgstr "Nginx 錯誤日誌路徑" #: src/composables/useNginxPerformance.ts:43 -#: src/views/dashboard/NginxDashBoard.vue:111 -#: src/views/dashboard/NginxDashBoard.vue:130 -#: src/views/dashboard/NginxDashBoard.vue:79 +#: src/views/dashboard/NginxDashBoard.vue:112 +#: src/views/dashboard/NginxDashBoard.vue:131 +#: src/views/dashboard/NginxDashBoard.vue:80 #: src/views/site/ngx_conf/NginxStatusAlert.vue:15 msgid "Nginx is not running" msgstr "Nginx 未執行" -#: src/views/dashboard/NginxDashBoard.vue:111 +#: src/views/dashboard/NginxDashBoard.vue:112 #, fuzzy msgid "Nginx is running" msgstr "Nginx 未執行" @@ -2336,7 +2425,7 @@ msgid "Nginx Log Directory Whitelist" msgstr "Nginx 日誌目錄白名單" #: src/composables/usePerformanceMetrics.ts:156 -#: src/views/dashboard/components/PerformanceTablesCard.vue:110 +#: src/views/dashboard/components/PerformanceTablesCard.vue:109 msgid "Nginx Memory usage" msgstr "" @@ -2372,7 +2461,7 @@ msgstr "Nginx 重啟成功" msgid "Nginx Test Config Command" msgstr "Nginx 測試配置指令" -#: src/views/dashboard/components/PerformanceTablesCard.vue:181 +#: src/views/dashboard/components/PerformanceTablesCard.vue:180 msgid "Nginx theoretical maximum performance" msgstr "" @@ -2414,7 +2503,7 @@ msgstr "取消" msgid "No Action" msgstr "無行動" -#: src/views/dashboard/NginxDashBoard.vue:179 +#: src/views/dashboard/NginxDashBoard.vue:180 msgid "No data" msgstr "" @@ -2487,10 +2576,14 @@ msgstr "通知" msgid "Notifier not found" msgstr "通知器未找到" +#: src/views/dashboard/components/PerformanceOptimization.vue:173 +msgid "Number of concurrent worker processes, auto sets to CPU core count" +msgstr "" + #: src/composables/usePerformanceMetrics.ts:131 #: src/composables/usePerformanceMetrics.ts:171 -#: src/views/dashboard/components/PerformanceTablesCard.vue:121 -#: src/views/dashboard/components/PerformanceTablesCard.vue:85 +#: src/views/dashboard/components/PerformanceTablesCard.vue:120 +#: src/views/dashboard/components/PerformanceTablesCard.vue:84 msgid "Number of worker processes" msgstr "" @@ -2512,6 +2605,11 @@ msgid "" "Firefox." msgstr "OCSP 必須裝訂可能會導致某些用戶在首次使用 Firefox 訪問時出現錯誤。" +#: src/views/dashboard/components/PerformanceOptimization.vue:227 +#, fuzzy +msgid "Off" +msgstr "離線" + #: src/components/EnvGroupTabs/EnvGroupTabs.vue:161 #: src/components/NodeSelector/NodeSelector.vue:109 #: src/views/dashboard/Environments.vue:107 @@ -2543,6 +2641,10 @@ msgstr "確定" msgid "OK" msgstr "確定" +#: src/views/dashboard/components/PerformanceOptimization.vue:226 +msgid "On" +msgstr "" + #: src/views/certificate/DNSCredential.vue:59 msgid "Once the verification is complete, the records will be removed." msgstr "驗證完成後,記錄將被刪除。" @@ -2563,6 +2665,14 @@ msgstr "只允許壓縮檔" msgid "OpenAI" msgstr "OpenAI" +#: src/views/dashboard/components/PerformanceOptimization.vue:164 +msgid "Optimize Nginx Performance" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:158 +msgid "Optimize Performance" +msgstr "" + #: src/components/TwoFA/Authorization.vue:100 src/views/other/Login.vue:231 msgid "Or" msgstr "或" @@ -2584,7 +2694,7 @@ msgid "OS:" msgstr "作業系統:" #: src/composables/usePerformanceMetrics.ts:146 -#: src/views/dashboard/components/PerformanceTablesCard.vue:100 +#: src/views/dashboard/components/PerformanceTablesCard.vue:99 msgid "Other Nginx processes" msgstr "" @@ -2601,11 +2711,11 @@ msgstr "" msgid "Otp or recovery code empty" msgstr "OTP 或復原代碼為空" -#: src/views/config/ConfigEditor.vue:343 +#: src/views/config/ConfigEditor.vue:349 msgid "Overwrite" msgstr "覆蓋" -#: src/views/config/ConfigEditor.vue:347 +#: src/views/config/ConfigEditor.vue:353 msgid "Overwrite exist file" msgstr "覆蓋現有檔案" @@ -2646,7 +2756,7 @@ msgstr "密碼錯誤" msgid "Password length cannot exceed 20 characters" msgstr "密碼長度不能超過 20 個字元" -#: src/views/config/ConfigEditor.vue:312 +#: src/views/config/ConfigEditor.vue:318 #: src/views/nginx_log/NginxLogList.vue:45 #: src/views/site/ngx_conf/LocationEditor.vue:109 #: src/views/site/ngx_conf/LocationEditor.vue:137 @@ -2669,10 +2779,15 @@ msgstr "執行" msgid "Perform core upgrade error" msgstr "執行核心升級錯誤" -#: src/views/dashboard/NginxDashBoard.vue:184 +#: src/views/dashboard/NginxDashBoard.vue:185 msgid "Performance Metrics" msgstr "" +#: src/views/dashboard/components/PerformanceOptimization.vue:122 +#, fuzzy +msgid "Performance settings saved successfully" +msgstr "維護模式已成功停用" + #: src/language/constants.ts:28 msgid "Performing core upgrade" msgstr "正在執行核心升級" @@ -2681,7 +2796,7 @@ msgstr "正在執行核心升級" msgid "Plain text is empty" msgstr "明文為空" -#: src/views/dashboard/NginxDashBoard.vue:173 +#: src/views/dashboard/NginxDashBoard.vue:174 msgid "" "Please enable the stub_status module to get request statistics, connection " "count, etc." @@ -2724,7 +2839,7 @@ msgstr "" "請先在「憑證」 > 「DNS 認證」中新增認證,然後選擇以下認證之一以請求 DNS 供應" "商的 API。" -#: src/components/Notification/notifications.ts:176 +#: src/components/Notification/notifications.ts:110 #: src/language/constants.ts:59 msgid "" "Please generate new recovery codes in the preferences immediately to prevent " @@ -2732,7 +2847,7 @@ msgid "" msgstr "請立即在偏好設定中產生新的恢復碼,以免無法訪問您的賬戶。" #: src/views/config/components/Rename.vue:65 -#: src/views/config/ConfigEditor.vue:298 +#: src/views/config/ConfigEditor.vue:304 msgid "Please input a filename" msgstr "請輸入檔案名稱" @@ -2826,7 +2941,7 @@ msgstr "準備 Lego 設定" msgid "Process Distribution" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:155 +#: src/views/dashboard/components/PerformanceTablesCard.vue:154 #, fuzzy msgid "Process information" msgstr "基本資訊" @@ -2856,7 +2971,7 @@ msgid "Public Security Number" msgstr "公安編號" #: src/composables/usePerformanceMetrics.ts:106 -#: src/views/dashboard/components/PerformanceTablesCard.vue:64 +#: src/views/dashboard/components/PerformanceTablesCard.vue:63 msgid "Read requests" msgstr "" @@ -2961,19 +3076,19 @@ msgstr "重新載入" msgid "Reload Nginx" msgstr "重載 Nginx" -#: src/components/Notification/notifications.ts:10 +#: src/components/Notification/notifications.ts:116 msgid "Reload Nginx on %{node} failed, response: %{resp}" msgstr "在節點 %{node} 上重新載入 Nginx 失敗,回應:%{resp}" -#: src/components/Notification/notifications.ts:14 +#: src/components/Notification/notifications.ts:120 msgid "Reload Nginx on %{node} successfully" msgstr "在 %{node} 上成功重新載入 Nginx" -#: src/components/Notification/notifications.ts:9 +#: src/components/Notification/notifications.ts:115 msgid "Reload Remote Nginx Error" msgstr "重新載入遠端Nginx錯誤" -#: src/components/Notification/notifications.ts:13 +#: src/components/Notification/notifications.ts:119 msgid "Reload Remote Nginx Success" msgstr "遠端Nginx重載成功" @@ -3011,53 +3126,53 @@ msgstr "移除成功" msgid "Rename" msgstr "重命名" -#: src/components/Notification/notifications.ts:66 +#: src/components/Notification/notifications.ts:172 msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed" msgstr "將 %{orig_path} 重新命名為 %{new_path} 在 %{env_name} 上失敗" -#: src/components/Notification/notifications.ts:70 +#: src/components/Notification/notifications.ts:176 msgid "Rename %{orig_path} to %{new_path} on %{env_name} successfully" msgstr "成功將 %{env_name} 上的 %{orig_path} 重命名為 %{new_path}" -#: src/components/Notification/notifications.ts:65 src/language/constants.ts:42 +#: src/components/Notification/notifications.ts:171 +#: src/language/constants.ts:42 msgid "Rename Remote Config Error" msgstr "重命名遠端配置錯誤" -#: src/components/Notification/notifications.ts:69 src/language/constants.ts:41 +#: src/components/Notification/notifications.ts:175 +#: src/language/constants.ts:41 msgid "Rename Remote Config Success" msgstr "重新命名遠端配置成功" -#: src/components/Notification/notifications.ts:115 -#: src/language/constants.ts:56 +#: src/components/Notification/notifications.ts:49 src/language/constants.ts:56 msgid "Rename Remote Site Error" msgstr "重命名遠端遠端站點時發生錯誤" -#: src/components/Notification/notifications.ts:119 -#: src/language/constants.ts:55 +#: src/components/Notification/notifications.ts:53 src/language/constants.ts:55 msgid "Rename Remote Site Success" msgstr "重新命名遠端站點成功" -#: src/components/Notification/notifications.ts:157 +#: src/components/Notification/notifications.ts:91 msgid "Rename Remote Stream Error" msgstr "遠端串流重新命名錯誤" -#: src/components/Notification/notifications.ts:161 +#: src/components/Notification/notifications.ts:95 msgid "Rename Remote Stream Success" msgstr "遠端串流重新命名成功" -#: src/components/Notification/notifications.ts:116 +#: src/components/Notification/notifications.ts:50 msgid "Rename site %{name} to %{new_name} on %{node} failed" msgstr "將網站 %{name} 在 %{node} 上重新命名為 %{new_name} 失敗" -#: src/components/Notification/notifications.ts:120 +#: src/components/Notification/notifications.ts:54 msgid "Rename site %{name} to %{new_name} on %{node} successfully" msgstr "將網站 %{name} 在 %{node} 上成功更名為 %{new_name}" -#: src/components/Notification/notifications.ts:158 +#: src/components/Notification/notifications.ts:92 msgid "Rename stream %{name} to %{new_name} on %{node} failed" msgstr "將節點 %{node} 上的串流 %{name} 重新命名為 %{new_name} 失敗" -#: src/components/Notification/notifications.ts:162 +#: src/components/Notification/notifications.ts:96 msgid "Rename stream %{name} to %{new_name} on %{node} successfully" msgstr "將節點 %{node} 上的串流 %{name} 重新命名為 %{new_name} 成功" @@ -3089,7 +3204,7 @@ msgstr "更新憑證成功" msgid "Renew successfully" msgstr "更新成功" -#: src/views/dashboard/components/PerformanceTablesCard.vue:142 +#: src/views/dashboard/components/PerformanceTablesCard.vue:141 #, fuzzy msgid "Request statistics" msgstr "網路統計" @@ -3122,7 +3237,7 @@ msgid "" msgstr "" #: src/composables/usePerformanceMetrics.ts:111 -#: src/views/dashboard/components/PerformanceTablesCard.vue:69 +#: src/views/dashboard/components/PerformanceTablesCard.vue:68 msgid "Responses" msgstr "" @@ -3136,19 +3251,19 @@ msgstr "重新啟動" msgid "Restart Nginx" msgstr "重新啟動 Nginx" -#: src/components/Notification/notifications.ts:18 +#: src/components/Notification/notifications.ts:124 msgid "Restart Nginx on %{node} failed, response: %{resp}" msgstr "在節點 %{node} 上重啟 Nginx 失敗,回應:%{resp}" -#: src/components/Notification/notifications.ts:22 +#: src/components/Notification/notifications.ts:128 msgid "Restart Nginx on %{node} successfully" msgstr "在%{node}上成功重啟Nginx" -#: src/components/Notification/notifications.ts:17 +#: src/components/Notification/notifications.ts:123 msgid "Restart Remote Nginx Error" msgstr "遠端Nginx重啟錯誤" -#: src/components/Notification/notifications.ts:21 +#: src/components/Notification/notifications.ts:127 msgid "Restart Remote Nginx Success" msgstr "遠端Nginx重啟成功" @@ -3229,7 +3344,7 @@ msgstr "執行中" #: src/components/StdDesign/StdDetail/StdDetail.vue:93 #: src/views/certificate/components/CertificateEditor.vue:264 #: src/views/config/components/ConfigName.vue:59 -#: src/views/config/ConfigEditor.vue:271 +#: src/views/config/ConfigEditor.vue:277 #: src/views/preference/components/Passkey.vue:130 #: src/views/preference/Preference.vue:229 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:127 @@ -3249,37 +3364,35 @@ msgstr "儲存指令" msgid "Save error %{msg}" msgstr "儲存錯誤 %{msg}" -#: src/components/Notification/notifications.ts:123 -#: src/language/constants.ts:48 +#: src/components/Notification/notifications.ts:57 src/language/constants.ts:48 msgid "Save Remote Site Error" msgstr "儲存遠端站點時發生錯誤" -#: src/components/Notification/notifications.ts:127 -#: src/language/constants.ts:47 +#: src/components/Notification/notifications.ts:61 src/language/constants.ts:47 msgid "Save Remote Site Success" msgstr "儲存遠端站點成功" -#: src/components/Notification/notifications.ts:165 +#: src/components/Notification/notifications.ts:99 msgid "Save Remote Stream Error" msgstr "保存遠端串流錯誤" -#: src/components/Notification/notifications.ts:169 +#: src/components/Notification/notifications.ts:103 msgid "Save Remote Stream Success" msgstr "遠端串流儲存成功" -#: src/components/Notification/notifications.ts:124 +#: src/components/Notification/notifications.ts:58 msgid "Save site %{name} to %{node} failed" msgstr "將網站 %{name} 儲存至 %{node} 失敗" -#: src/components/Notification/notifications.ts:128 +#: src/components/Notification/notifications.ts:62 msgid "Save site %{name} to %{node} successfully" msgstr "網站 %{name} 成功儲存至 %{node}" -#: src/components/Notification/notifications.ts:166 +#: src/components/Notification/notifications.ts:100 msgid "Save stream %{name} to %{node} failed" msgstr "儲存串流 %{name} 至 %{node} 失敗" -#: src/components/Notification/notifications.ts:170 +#: src/components/Notification/notifications.ts:104 msgid "Save stream %{name} to %{node} successfully" msgstr "串流 %{name} 成功儲存至 %{node}" @@ -3290,7 +3403,7 @@ msgstr "串流 %{name} 成功儲存至 %{node}" msgid "Save successfully" msgstr "儲存成功" -#: src/views/config/ConfigEditor.vue:191 +#: src/views/config/ConfigEditor.vue:194 #: src/views/site/ngx_conf/directive/DirectiveEditorItem.vue:39 #: src/views/site/site_add/SiteAdd.vue:37 #: src/views/site/site_edit/SiteEdit.vue:157 @@ -3306,6 +3419,10 @@ msgstr "用手機掃描二維碼將賬戶添加到應用程序中。" msgid "SDK" msgstr "SDK" +#: src/views/dashboard/components/PerformanceOptimization.vue:216 +msgid "seconds" +msgstr "" + #: src/views/preference/components/TOTP.vue:109 msgid "Secret has been copied" msgstr "密鑰已複製" @@ -3344,6 +3461,14 @@ msgstr "伺服器" msgid "Server Info" msgstr "伺服器資訊" +#: src/views/dashboard/components/PerformanceOptimization.vue:277 +msgid "Server Names Hash Bucket Size" +msgstr "" + +#: src/views/dashboard/components/PerformanceOptimization.vue:278 +msgid "Server names hash table size" +msgstr "" + #: src/views/site/cert/components/ObtainCert.vue:107 msgid "server_name not found in directives" msgstr "在指令中未找到 server_name" @@ -3588,35 +3713,39 @@ msgstr "同步" msgid "Sync Certificate" msgstr "同步憑證" -#: src/components/Notification/notifications.ts:48 +#: src/components/Notification/notifications.ts:154 msgid "Sync Certificate %{cert_name} to %{env_name} failed" msgstr "同步憑證 %{cert_name} 至 %{env_name} 失敗" -#: src/components/Notification/notifications.ts:52 +#: src/components/Notification/notifications.ts:158 msgid "Sync Certificate %{cert_name} to %{env_name} successfully" msgstr "同步憑證 %{cert_name} 到 %{env_name} 成功" -#: src/components/Notification/notifications.ts:47 src/language/constants.ts:39 +#: src/components/Notification/notifications.ts:153 +#: src/language/constants.ts:39 msgid "Sync Certificate Error" msgstr "同步憑證錯誤" -#: src/components/Notification/notifications.ts:51 src/language/constants.ts:38 +#: src/components/Notification/notifications.ts:157 +#: src/language/constants.ts:38 msgid "Sync Certificate Success" msgstr "同步憑證成功" -#: src/components/Notification/notifications.ts:58 +#: src/components/Notification/notifications.ts:164 msgid "Sync config %{config_name} to %{env_name} failed" msgstr "同步配置 %{config_name} 至 %{env_name} 失敗" -#: src/components/Notification/notifications.ts:62 +#: src/components/Notification/notifications.ts:168 msgid "Sync config %{config_name} to %{env_name} successfully" msgstr "同步配置 %{config_name} 到 %{env_name} 成功" -#: src/components/Notification/notifications.ts:57 src/language/constants.ts:45 +#: src/components/Notification/notifications.ts:163 +#: src/language/constants.ts:45 msgid "Sync Config Error" msgstr "同步配置錯誤" -#: src/components/Notification/notifications.ts:61 src/language/constants.ts:44 +#: src/components/Notification/notifications.ts:167 +#: src/language/constants.ts:44 msgid "Sync Config Success" msgstr "同步配置成功" @@ -3769,11 +3898,11 @@ msgstr "網址無效。" msgid "The username or password is incorrect" msgstr "使用者名稱或密碼不正確" -#: src/views/dashboard/components/PerformanceTablesCard.vue:185 +#: src/views/dashboard/components/PerformanceTablesCard.vue:184 msgid "Theoretical maximum concurrent connections:" msgstr "" -#: src/views/dashboard/components/PerformanceTablesCard.vue:189 +#: src/views/dashboard/components/PerformanceTablesCard.vue:188 msgid "Theoretical maximum RPS (Requests Per Second):" msgstr "" @@ -3818,7 +3947,7 @@ msgid "" "This field should only contain letters, unicode characters, numbers, and -_." msgstr "此欄位僅能包含字母、Unicode字元、數字、連字號、破折號和底線。" -#: src/views/dashboard/NginxDashBoard.vue:152 +#: src/views/dashboard/NginxDashBoard.vue:153 msgid "" "This module provides Nginx request statistics, connection count, etc. data. " "After enabling it, you can view performance statistics" @@ -3869,7 +3998,7 @@ msgstr "節流" msgid "Tips" msgstr "提示" -#: src/views/dashboard/components/PerformanceTablesCard.vue:207 +#: src/views/dashboard/components/PerformanceTablesCard.vue:206 msgid "" "Tips: You can increase the concurrency processing capacity by increasing " "worker_processes or worker_connections" @@ -3918,7 +4047,7 @@ msgstr "" "要使用本地大型模型,請使用 ollama、vllm 或 lmdeploy 部署。它們提供與 OpenAI " "相容的 API 端點,因此只需將 baseUrl 設定為您的本地 API。" -#: src/views/dashboard/NginxDashBoard.vue:56 +#: src/views/dashboard/NginxDashBoard.vue:57 #, fuzzy msgid "Toggle failed" msgstr "啟用失敗" @@ -3933,12 +4062,12 @@ msgid_plural "Total %{total} items" msgstr[0] "總計 %{total} 項" #: src/composables/usePerformanceMetrics.ts:96 -#: src/views/dashboard/components/PerformanceTablesCard.vue:54 +#: src/views/dashboard/components/PerformanceTablesCard.vue:53 msgid "Total connections" msgstr "" #: src/composables/usePerformanceMetrics.ts:91 -#: src/views/dashboard/components/PerformanceTablesCard.vue:49 +#: src/views/dashboard/components/PerformanceTablesCard.vue:48 msgid "Total handshakes" msgstr "" @@ -3951,7 +4080,7 @@ msgid "Total Nginx Processes" msgstr "" #: src/composables/usePerformanceMetrics.ts:101 -#: src/views/dashboard/components/PerformanceTablesCard.vue:59 +#: src/views/dashboard/components/PerformanceTablesCard.vue:58 msgid "Total requests" msgstr "" @@ -3999,7 +4128,7 @@ msgstr "更新成功" #: src/views/certificate/ACMEUser.vue:88 #: src/views/certificate/DNSCredential.vue:27 -#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:325 +#: src/views/config/configColumns.tsx:36 src/views/config/ConfigEditor.vue:331 #: src/views/environments/group/columns.ts:37 #: src/views/environments/list/envColumns.tsx:90 #: src/views/site/site_edit/RightSettings.vue:75 @@ -4079,7 +4208,7 @@ msgstr "使用者名稱 (*)" msgid "Valid" msgstr "有效" -#: src/views/dashboard/components/PerformanceTablesCard.vue:22 +#: src/views/dashboard/components/PerformanceTablesCard.vue:21 msgid "Value" msgstr "" @@ -4119,7 +4248,7 @@ msgid "Viewed" msgstr "已檢視" #: src/composables/usePerformanceMetrics.ts:116 -#: src/views/dashboard/components/PerformanceTablesCard.vue:74 +#: src/views/dashboard/components/PerformanceTablesCard.vue:73 msgid "Waiting processes" msgstr "" @@ -4198,8 +4327,14 @@ msgid "" "codes." msgstr "當您生成新的復原代碼時,必須下載或列印新的代碼。" +#: src/views/dashboard/components/PerformanceOptimization.vue:194 +#, fuzzy +msgid "Worker Connections" +msgstr "當前內容" + #: src/composables/usePerformanceMetrics.ts:57 -#: src/views/dashboard/components/ConnectionMetricsCard.vue:49 +#: src/views/dashboard/components/ConnectionMetricsCard.vue:48 +#: src/views/dashboard/components/PerformanceOptimization.vue:172 #: src/views/dashboard/components/ProcessDistributionCard.vue:12 msgid "Worker Processes" msgstr "" @@ -4475,9 +4610,6 @@ msgstr "您的通行密鑰" #~ msgid "Dir" #~ msgstr "目錄" -#~ msgid "Auto" -#~ msgstr "自動" - #~ msgid "Dark" #~ msgstr "深色" diff --git a/app/src/views/config/ConfigEditor.vue b/app/src/views/config/ConfigEditor.vue index 8e3552cf..469adf95 100644 --- a/app/src/views/config/ConfigEditor.vue +++ b/app/src/views/config/ConfigEditor.vue @@ -61,6 +61,9 @@ const newPath = computed(() => { const relativePath = computed(() => (basePath.value ? `${basePath.value}/${route.params.name}` : route.params.name) as string) const breadcrumbs = useBreadcrumbs() +// Use Vue 3.4+ useTemplateRef for InspectConfig component +const inspectConfigRef = useTemplateRef>('inspectConfig') + async function init() { const { name } = route.params @@ -200,6 +203,8 @@ function save() { } else { data.value = r + // Run test after saving to verify configuration + inspectConfigRef.value?.test() } }) }) @@ -254,6 +259,7 @@ function openHistory() { diff --git a/app/src/views/dashboard/NginxDashBoard.vue b/app/src/views/dashboard/NginxDashBoard.vue index d9a8b197..83928e3d 100644 --- a/app/src/views/dashboard/NginxDashBoard.vue +++ b/app/src/views/dashboard/NginxDashBoard.vue @@ -7,6 +7,7 @@ import { useUserStore } from '@/pinia' import { useGlobalStore } from '@/pinia/moudule/global' import { ClockCircleOutlined, ReloadOutlined } from '@ant-design/icons-vue' import ConnectionMetricsCard from './components/ConnectionMetricsCard.vue' +import PerformanceOptimization from './components/PerformanceOptimization.vue' import PerformanceStatisticsCard from './components/PerformanceStatisticsCard.vue' import PerformanceTablesCard from './components/PerformanceTablesCard.vue' import ProcessDistributionCard from './components/ProcessDistributionCard.vue' @@ -182,6 +183,9 @@ onMounted(() => {
+ diff --git a/app/src/views/dashboard/components/ConnectionMetricsCard.vue b/app/src/views/dashboard/components/ConnectionMetricsCard.vue index fd1bb0f5..35415f01 100644 --- a/app/src/views/dashboard/components/ConnectionMetricsCard.vue +++ b/app/src/views/dashboard/components/ConnectionMetricsCard.vue @@ -1,6 +1,5 @@ + + diff --git a/app/src/views/dashboard/components/PerformanceStatisticsCard.vue b/app/src/views/dashboard/components/PerformanceStatisticsCard.vue index 406a9b72..e8b3dc39 100644 --- a/app/src/views/dashboard/components/PerformanceStatisticsCard.vue +++ b/app/src/views/dashboard/components/PerformanceStatisticsCard.vue @@ -7,7 +7,6 @@ import { InfoCircleOutlined, ThunderboltOutlined, } from '@ant-design/icons-vue' -import { computed, defineProps } from 'vue' const props = defineProps<{ nginxInfo: NginxPerformanceInfo @@ -28,80 +27,82 @@ const maxRPS = computed(() => { diff --git a/app/src/views/dashboard/components/PerformanceTablesCard.vue b/app/src/views/dashboard/components/PerformanceTablesCard.vue index 9150cc7f..4bfb9b21 100644 --- a/app/src/views/dashboard/components/PerformanceTablesCard.vue +++ b/app/src/views/dashboard/components/PerformanceTablesCard.vue @@ -2,7 +2,6 @@ import type { NginxPerformanceInfo } from '@/api/ngx' import type { TableColumnType } from 'ant-design-vue' import { InfoCircleOutlined } from '@ant-design/icons-vue' -import { computed, defineProps, ref } from 'vue' const props = defineProps<{ nginxInfo: NginxPerformanceInfo diff --git a/app/src/views/system/About.vue b/app/src/views/system/About.vue index b97a264f..28f704ac 100644 --- a/app/src/views/system/About.vue +++ b/app/src/views/system/About.vue @@ -50,7 +50,7 @@ const thisYear = new Date().getFullYear()

{{ $gettext('Project Team') }}

-

@0xJacky @Hintay

+

@0xJacky @Hintay @Akino

{{ $gettext('Build with') }}

diff --git a/internal/nginx/config_info.go b/internal/nginx/config_info.go index acac1e08..06894980 100644 --- a/internal/nginx/config_info.go +++ b/internal/nginx/config_info.go @@ -1,7 +1,7 @@ package nginx import ( - "os/exec" + "os" "regexp" "runtime" "strconv" @@ -10,29 +10,51 @@ import ( ) type NginxConfigInfo struct { - WorkerProcesses int `json:"worker_processes"` - WorkerConnections int `json:"worker_connections"` - ProcessMode string `json:"process_mode"` + WorkerProcesses int `json:"worker_processes"` + WorkerConnections int `json:"worker_connections"` + ProcessMode string `json:"process_mode"` + KeepaliveTimeout int `json:"keepalive_timeout"` + Gzip string `json:"gzip"` + GzipMinLength int `json:"gzip_min_length"` + GzipCompLevel int `json:"gzip_comp_level"` + ClientMaxBodySize string `json:"client_max_body_size"` // with unit + ServerNamesHashBucketSize int `json:"server_names_hash_bucket_size"` + ClientHeaderBufferSize string `json:"client_header_buffer_size"` // with unit + ClientBodyBufferSize string `json:"client_body_buffer_size"` // with unit } // GetNginxWorkerConfigInfo Get Nginx config info of worker_processes and worker_connections func GetNginxWorkerConfigInfo() (*NginxConfigInfo, error) { result := &NginxConfigInfo{ - WorkerProcesses: 1, - WorkerConnections: 1024, - ProcessMode: "manual", + WorkerProcesses: 1, + WorkerConnections: 1024, + ProcessMode: "manual", + KeepaliveTimeout: 65, + Gzip: "off", + GzipMinLength: 1, + GzipCompLevel: 1, + ClientMaxBodySize: "1m", + ServerNamesHashBucketSize: 32, + ClientHeaderBufferSize: "1k", + ClientBodyBufferSize: "8k", } - // Get worker_processes config - cmd := exec.Command("nginx", "-T") - output, err := cmd.CombinedOutput() - if err != nil { - return result, errors.Wrap(err, "failed to get nginx config") + confPath := GetConfPath("nginx.conf") + if confPath == "" { + return nil, errors.New("failed to get nginx.conf path") } + // Read the current configuration + content, err := os.ReadFile(confPath) + if err != nil { + return nil, errors.Wrap(err, "failed to read nginx.conf") + } + + outputStr := string(content) + // Parse worker_processes wpRe := regexp.MustCompile(`worker_processes\s+(\d+|auto);`) - if matches := wpRe.FindStringSubmatch(string(output)); len(matches) > 1 { + if matches := wpRe.FindStringSubmatch(outputStr); len(matches) > 1 { if matches[1] == "auto" { result.WorkerProcesses = runtime.NumCPU() result.ProcessMode = "auto" @@ -44,9 +66,57 @@ func GetNginxWorkerConfigInfo() (*NginxConfigInfo, error) { // Parse worker_connections wcRe := regexp.MustCompile(`worker_connections\s+(\d+);`) - if matches := wcRe.FindStringSubmatch(string(output)); len(matches) > 1 { + if matches := wcRe.FindStringSubmatch(outputStr); len(matches) > 1 { result.WorkerConnections, _ = strconv.Atoi(matches[1]) } + // Parse keepalive_timeout + ktRe := regexp.MustCompile(`keepalive_timeout\s+(\d+);`) + if matches := ktRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.KeepaliveTimeout, _ = strconv.Atoi(matches[1]) + } + + // Parse gzip + gzipRe := regexp.MustCompile(`gzip\s+(on|off);`) + if matches := gzipRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.Gzip = matches[1] + } + + // Parse gzip_min_length + gzipMinRe := regexp.MustCompile(`gzip_min_length\s+(\d+);`) + if matches := gzipMinRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.GzipMinLength, _ = strconv.Atoi(matches[1]) + } + + // Parse gzip_comp_level + gzipCompRe := regexp.MustCompile(`gzip_comp_level\s+(\d+);`) + if matches := gzipCompRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.GzipCompLevel, _ = strconv.Atoi(matches[1]) + } + + // Parse client_max_body_size with any unit (k, m, g) + cmaxRe := regexp.MustCompile(`client_max_body_size\s+(\d+[kmg]?);`) + if matches := cmaxRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.ClientMaxBodySize = matches[1] + } + + // Parse server_names_hash_bucket_size + hashRe := regexp.MustCompile(`server_names_hash_bucket_size\s+(\d+);`) + if matches := hashRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.ServerNamesHashBucketSize, _ = strconv.Atoi(matches[1]) + } + + // Parse client_header_buffer_size with any unit (k, m, g) + headerRe := regexp.MustCompile(`client_header_buffer_size\s+(\d+[kmg]?);`) + if matches := headerRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.ClientHeaderBufferSize = matches[1] + } + + // Parse client_body_buffer_size with any unit (k, m, g) + bodyRe := regexp.MustCompile(`client_body_buffer_size\s+(\d+[kmg]?);`) + if matches := bodyRe.FindStringSubmatch(outputStr); len(matches) > 1 { + result.ClientBodyBufferSize = matches[1] + } + return result, nil } diff --git a/internal/nginx/perf_opt.go b/internal/nginx/perf_opt.go new file mode 100644 index 00000000..bd896003 --- /dev/null +++ b/internal/nginx/perf_opt.go @@ -0,0 +1,148 @@ +package nginx + +import ( + "fmt" + "os" + "sort" + "time" + + "github.com/pkg/errors" + "github.com/tufanbarisyildirim/gonginx/config" + "github.com/tufanbarisyildirim/gonginx/dumper" + "github.com/tufanbarisyildirim/gonginx/parser" +) + +// PerfOpt represents Nginx performance optimization settings +type PerfOpt struct { + WorkerProcesses string `json:"worker_processes"` // auto or number + WorkerConnections string `json:"worker_connections"` // max connections + KeepaliveTimeout string `json:"keepalive_timeout"` // timeout in seconds + Gzip string `json:"gzip"` // on or off + GzipMinLength string `json:"gzip_min_length"` // min length to compress + GzipCompLevel string `json:"gzip_comp_level"` // compression level + ClientMaxBodySize string `json:"client_max_body_size"` // max body size (with unit: k, m, g) + ServerNamesHashBucketSize string `json:"server_names_hash_bucket_size"` // hash bucket size + ClientHeaderBufferSize string `json:"client_header_buffer_size"` // header buffer size (with unit: k, m, g) + ClientBodyBufferSize string `json:"client_body_buffer_size"` // body buffer size (with unit: k, m, g) +} + +// UpdatePerfOpt updates the Nginx performance optimization settings +func UpdatePerfOpt(opt *PerfOpt) error { + confPath := GetConfPath("nginx.conf") + if confPath == "" { + return errors.New("failed to get nginx.conf path") + } + + // Read the current configuration + content, err := os.ReadFile(confPath) + if err != nil { + return errors.Wrap(err, "failed to read nginx.conf") + } + + // Create a backup file + backupPath := fmt.Sprintf("%s.backup.%d", confPath, time.Now().Unix()) + err = os.WriteFile(backupPath, content, 0644) + if err != nil { + return errors.Wrap(err, "failed to create backup file") + } + + // Parse the configuration + p := parser.NewStringParser(string(content), parser.WithSkipValidDirectivesErr()) + conf, err := p.Parse() + if err != nil { + return errors.Wrap(err, "failed to parse nginx.conf") + } + + // Process the configuration and update performance settings + updateNginxConfig(conf.Block, opt) + + // Dump the updated configuration + updatedConf := dumper.DumpBlock(conf.Block, dumper.IndentedStyle) + + // Write the updated configuration + err = os.WriteFile(confPath, []byte(updatedConf), 0644) + if err != nil { + return errors.Wrap(err, "failed to write updated nginx.conf") + } + + return nil +} + +// updateNginxConfig updates the performance settings in the Nginx configuration +func updateNginxConfig(block config.IBlock, opt *PerfOpt) { + if block == nil { + return + } + + directives := block.GetDirectives() + // Update main context directives + updateOrAddDirective(block, directives, "worker_processes", opt.WorkerProcesses) + + // Look for events, http, and other blocks + for _, directive := range directives { + if directive.GetName() == "events" && directive.GetBlock() != nil { + // Update events block directives + eventsBlock := directive.GetBlock() + eventsDirectives := eventsBlock.GetDirectives() + updateOrAddDirective(eventsBlock, eventsDirectives, "worker_connections", opt.WorkerConnections) + } else if directive.GetName() == "http" && directive.GetBlock() != nil { + // Update http block directives + httpBlock := directive.GetBlock() + httpDirectives := httpBlock.GetDirectives() + updateOrAddDirective(httpBlock, httpDirectives, "keepalive_timeout", opt.KeepaliveTimeout) + updateOrAddDirective(httpBlock, httpDirectives, "gzip", opt.Gzip) + updateOrAddDirective(httpBlock, httpDirectives, "gzip_min_length", opt.GzipMinLength) + updateOrAddDirective(httpBlock, httpDirectives, "gzip_comp_level", opt.GzipCompLevel) + updateOrAddDirective(httpBlock, httpDirectives, "client_max_body_size", opt.ClientMaxBodySize) + updateOrAddDirective(httpBlock, httpDirectives, "server_names_hash_bucket_size", opt.ServerNamesHashBucketSize) + updateOrAddDirective(httpBlock, httpDirectives, "client_header_buffer_size", opt.ClientHeaderBufferSize) + updateOrAddDirective(httpBlock, httpDirectives, "client_body_buffer_size", opt.ClientBodyBufferSize) + } + } +} + +// updateOrAddDirective updates a directive if it exists, or adds it to the block if it doesn't +func updateOrAddDirective(block config.IBlock, directives []config.IDirective, name string, value string) { + if value == "" { + return + } + + // Search for existing directive + for _, directive := range directives { + if directive.GetName() == name { + // Update existing directive + if len(directive.GetParameters()) > 0 { + directive.GetParameters()[0].Value = value + } + return + } + } + + // If we get here, we need to add a new directive + // Create a new directive and add it to the block + // This requires knowledge of the underlying implementation + // For now, we'll use the Directive type from gonginx/config + newDirective := &config.Directive{ + Name: name, + Parameters: []config.Parameter{{Value: value}}, + } + + // Add the new directive to the block + // This is specific to the gonginx library implementation + switch block := block.(type) { + case *config.Config: + block.Block.Directives = append(block.Block.Directives, newDirective) + case *config.Block: + block.Directives = append(block.Directives, newDirective) + case *config.HTTP: + block.Directives = append(block.Directives, newDirective) + } +} + +// sortDirectives sorts directives alphabetically by name +func sortDirectives(directives []config.IDirective) { + sort.SliceStable(directives, func(i, j int) bool { + // Ensure both i and j can return valid names + return directives[i].GetName() < directives[j].GetName() + }) +}