From 598f8180f09ea4fc23432ddf5747c31a143addb0 Mon Sep 17 00:00:00 2001 From: devhaozi <115467771+devhaozi@users.noreply.github.com> Date: Fri, 16 Jan 2026 15:57:07 +0000 Subject: [PATCH] chore(l10n): update pot files --- pkg/embed/locales/backend.pot | 8 +- web/src/locales/en.po | 695 +++++++-- web/src/locales/frontend.pot | 631 ++++++-- web/src/locales/zh_CN.po | 2746 +++++++++++++++++---------------- web/src/locales/zh_TW.po | 2672 ++++++++++++++++---------------- 5 files changed, 3723 insertions(+), 3029 deletions(-) diff --git a/pkg/embed/locales/backend.pot b/pkg/embed/locales/backend.pot index d622dc7c..93e2258e 100644 --- a/pkg/embed/locales/backend.pot +++ b/pkg/embed/locales/backend.pot @@ -1220,10 +1220,6 @@ msgstr "" msgid "USAGE" msgstr "" -#: internal/service/template.go:29 -msgid "Unable to get template list in offline mode" -msgstr "" - #: internal/service/app.go:206 msgid "Unable to update app list cache in offline mode" msgstr "" @@ -1469,6 +1465,10 @@ msgstr "" msgid "command is empty" msgstr "" +#: internal/data/template.go:73 +msgid "compose %s already exists" +msgstr "" + #: internal/data/backup.go:591 msgid "could not find .sql backup file" msgstr "" diff --git a/web/src/locales/en.po b/web/src/locales/en.po index 00ada9e4..b606dd59 100644 --- a/web/src/locales/en.po +++ b/web/src/locales/en.po @@ -226,7 +226,8 @@ msgstr "Cannot save in current state" #: src/components/file-editor/EditorToolbar.vue:39 #: src/views/apps/apache/IndexView.vue:42 #: src/views/apps/codeserver/IndexView.vue:23 -#: src/views/apps/docker/IndexView.vue:23 +#: src/views/apps/docker/IndexView.vue:170 +#: src/views/apps/docker/IndexView.vue:176 #: src/views/apps/fail2ban/IndexView.vue:160 #: src/views/apps/frp/IndexView.vue:36 src/views/apps/frp/IndexView.vue:44 #: src/views/apps/gitea/IndexView.vue:21 @@ -278,7 +279,7 @@ msgstr "Select File" #: src/views/container/ComposeView.vue:57 #: src/views/container/NetworkView.vue:45 src/views/container/VolumeView.vue:26 #: src/views/database/CreateServerModal.vue:55 -#: src/views/database/ServerList.vue:39 +#: src/views/database/ServerList.vue:68 #: src/views/database/UpdateServerModal.vue:55 src/views/file/ListView.vue:1305 #: src/views/file/PropertyModal.vue:27 src/views/file/ToolBar.vue:201 #: src/views/project/ListView.vue:34 src/views/ssh/CreateModal.vue:59 @@ -326,7 +327,7 @@ msgstr "Invalid name" #: src/components/common/PathSelector.vue:254 #: src/components/file-editor/FileTree.vue:284 -#: src/views/app/TemplateDeployModal.vue:80 src/views/backup/ListView.vue:122 +#: src/views/app/TemplateDeployModal.vue:214 src/views/backup/ListView.vue:122 #: src/views/cert/CreateAccountModal.vue:52 #: src/views/cert/CreateCertModal.vue:50 src/views/cert/CreateDnsModal.vue:35 #: src/views/cert/UploadCertModal.vue:21 @@ -334,8 +335,8 @@ msgstr "Invalid name" #: src/views/container/ContainerCreate.vue:107 #: src/views/container/NetworkView.vue:183 #: src/views/container/VolumeView.vue:137 -#: src/views/database/CreateDatabaseModal.vue:28 -#: src/views/database/CreateUserModal.vue:28 src/views/file/ListView.vue:141 +#: src/views/database/CreateDatabaseModal.vue:39 +#: src/views/database/CreateUserModal.vue:39 src/views/file/ListView.vue:141 #: src/views/firewall/CreateForwardModal.vue:41 #: src/views/setting/CreateModal.vue:19 src/views/setting/TokenModal.vue:125 #: src/views/ssh/CreateModal.vue:40 src/views/task/CreateModal.vue:50 @@ -354,6 +355,7 @@ msgstr "Folder" #: src/components/common/PathSelector.vue:317 #: src/components/common/PathSelector.vue:380 +#: src/views/app/TemplateDeployModal.vue:629 #: src/views/container/ContainerCreate.vue:539 #: src/views/project/CreateModal.vue:518 src/views/setting/TokenModal.vue:266 #: src/views/toolbox/WebHookView.vue:352 @@ -386,9 +388,9 @@ msgstr "Root Directory" #: src/views/container/ImageView.vue:405 #: src/views/container/NetworkView.vue:330 #: src/views/container/VolumeView.vue:230 -#: src/views/database/CreateDatabaseModal.vue:132 +#: src/views/database/CreateDatabaseModal.vue:148 #: src/views/database/CreateServerModal.vue:120 -#: src/views/database/CreateUserModal.vue:125 +#: src/views/database/CreateUserModal.vue:141 #: src/views/database/UpdateServerModal.vue:112 #: src/views/database/UpdateUserModal.vue:79 src/views/file/ToolBar.vue:299 #: src/views/firewall/CreateForwardModal.vue:88 @@ -429,16 +431,17 @@ msgstr "Files to compress" #: src/components/common/PtyTerminalModal.vue:195 #: src/components/common/PtyTerminalModal.vue:199 #: src/layout/header/components/UserAvatar.vue:29 -#: src/views/home/UpdateView.vue:26 src/views/monitor/IndexView.vue:600 -#: src/views/toolbox/DiskView.vue:403 src/views/toolbox/DiskView.vue:405 -#: src/views/toolbox/DiskView.vue:428 src/views/toolbox/DiskView.vue:430 -#: src/views/toolbox/DiskView.vue:500 src/views/toolbox/DiskView.vue:504 -#: src/views/toolbox/DiskView.vue:523 src/views/toolbox/DiskView.vue:542 -#: src/views/toolbox/DiskView.vue:546 src/views/toolbox/DiskView.vue:567 -#: src/views/toolbox/DiskView.vue:586 src/views/toolbox/DiskView.vue:594 -#: src/views/toolbox/DiskView.vue:616 src/views/toolbox/DiskView.vue:635 -#: src/views/toolbox/DiskView.vue:640 src/views/toolbox/DiskView.vue:663 -#: src/views/toolbox/ProcessView.vue:236 src/views/toolbox/ProcessView.vue:241 +#: src/views/app/TemplateDeployModal.vue:319 src/views/home/UpdateView.vue:26 +#: src/views/monitor/IndexView.vue:600 src/views/toolbox/DiskView.vue:403 +#: src/views/toolbox/DiskView.vue:405 src/views/toolbox/DiskView.vue:428 +#: src/views/toolbox/DiskView.vue:430 src/views/toolbox/DiskView.vue:500 +#: src/views/toolbox/DiskView.vue:504 src/views/toolbox/DiskView.vue:523 +#: src/views/toolbox/DiskView.vue:542 src/views/toolbox/DiskView.vue:546 +#: src/views/toolbox/DiskView.vue:567 src/views/toolbox/DiskView.vue:586 +#: src/views/toolbox/DiskView.vue:594 src/views/toolbox/DiskView.vue:616 +#: src/views/toolbox/DiskView.vue:635 src/views/toolbox/DiskView.vue:640 +#: src/views/toolbox/DiskView.vue:663 src/views/toolbox/ProcessView.vue:236 +#: src/views/toolbox/ProcessView.vue:241 msgid "Confirm" msgstr "Confirm" @@ -453,7 +456,7 @@ msgstr "" #: src/components/file-editor/EditorToolbar.vue:101 #: src/components/file-editor/FileTree.vue:603 #: src/layout/header/components/UserAvatar.vue:30 -#: src/views/app/TemplateDeployModal.vue:229 +#: src/views/app/TemplateDeployModal.vue:614 #: src/views/container/ContainerCreate.vue:536 #: src/views/container/ImagePullModal.vue:184 #: src/views/container/ImagePullModal.vue:198 @@ -474,7 +477,8 @@ msgstr "Cancel" #: src/components/common/PtyTerminalModal.vue:252 src/locales/menu.ts:19 #: src/views/container/ContainerView.vue:124 -#: src/views/container/ContainerView.vue:637 src/views/file/ListView.vue:338 +#: src/views/container/ContainerView.vue:637 +#: src/views/database/ServerList.vue:177 src/views/file/ListView.vue:338 #: src/views/file/ListView.vue:937 src/views/file/ToolBar.vue:234 msgid "Terminal" msgstr "Terminal" @@ -497,8 +501,8 @@ msgstr "Inodes Available" #: src/components/common/RealtimeLogModal.vue:72 src/locales/menu.ts:15 #: src/views/apps/supervisor/IndexView.vue:89 #: src/views/container/ContainerView.vue:137 -#: src/views/container/ContainerView.vue:605 src/views/project/ListView.vue:111 -#: src/views/project/ListView.vue:249 src/views/task/CronView.vue:116 +#: src/views/container/ContainerView.vue:605 src/views/project/ListView.vue:137 +#: src/views/project/ListView.vue:289 src/views/task/CronView.vue:116 #: src/views/task/TaskView.vue:74 msgid "Logs" msgstr "Logs" @@ -510,13 +514,13 @@ msgstr "Logs" msgid "Loading..." msgstr "Loading..." -#: src/components/common/ServiceStatus.vue:26 src/views/project/ListView.vue:63 +#: src/components/common/ServiceStatus.vue:26 src/views/project/ListView.vue:67 #: src/views/task/TaskView.vue:33 src/views/toolbox/ProcessView.vue:48 #: src/views/toolbox/ProcessView.vue:80 src/views/website/ListView.vue:28 msgid "Running" msgstr "Running" -#: src/components/common/ServiceStatus.vue:26 src/views/project/ListView.vue:63 +#: src/components/common/ServiceStatus.vue:26 src/views/project/ListView.vue:69 #: src/views/toolbox/ProcessView.vue:50 src/views/toolbox/ProcessView.vue:86 msgid "Stopped" msgstr "Stopped" @@ -527,7 +531,7 @@ msgstr "Starting..." #: src/components/common/ServiceStatus.vue:48 #: src/views/apps/supervisor/IndexView.vue:240 -#: src/views/project/ListView.vue:168 src/views/website/ListView.vue:228 +#: src/views/project/ListView.vue:194 src/views/website/ListView.vue:228 msgid "Started successfully" msgstr "Started successfully" @@ -538,7 +542,7 @@ msgstr "Stopping..." #: src/components/common/ServiceStatus.vue:63 #: src/views/apps/supervisor/IndexView.vue:247 -#: src/views/project/ListView.vue:163 src/views/website/ListView.vue:230 +#: src/views/project/ListView.vue:189 src/views/website/ListView.vue:230 msgid "Stopped successfully" msgstr "Stopped successfully" @@ -574,7 +578,7 @@ msgstr "Autostart disabled successfully" #: src/components/common/ServiceStatus.vue:134 #: src/views/apps/apache/IndexView.vue:56 #: src/views/apps/codeserver/IndexView.vue:31 -#: src/views/apps/docker/IndexView.vue:31 +#: src/views/apps/docker/IndexView.vue:191 #: src/views/apps/fail2ban/IndexView.vue:228 #: src/views/apps/gitea/IndexView.vue:29 #: src/views/apps/memcached/IndexView.vue:51 @@ -602,7 +606,7 @@ msgstr "Autostart Off" #: src/views/apps/supervisor/IndexView.vue:115 #: src/views/container/ComposeView.vue:173 #: src/views/container/ContainerView.vue:161 -#: src/views/container/ContainerView.vue:558 src/views/project/ListView.vue:101 +#: src/views/container/ContainerView.vue:558 src/views/project/ListView.vue:127 msgid "Start" msgstr "Start" @@ -610,7 +614,7 @@ msgstr "Start" #: src/views/apps/supervisor/IndexView.vue:140 #: src/views/container/ComposeView.vue:212 #: src/views/container/ContainerView.vue:166 -#: src/views/container/ContainerView.vue:561 src/views/project/ListView.vue:101 +#: src/views/container/ContainerView.vue:561 src/views/project/ListView.vue:127 msgid "Stop" msgstr "Stop" @@ -740,7 +744,8 @@ msgstr "" #: src/components/file-editor/EditorToolbar.vue:184 #: src/views/apps/apache/IndexView.vue:72 #: src/views/apps/codeserver/IndexView.vue:46 -#: src/views/apps/docker/IndexView.vue:42 src/views/apps/frp/IndexView.vue:63 +#: src/views/apps/docker/IndexView.vue:458 +#: src/views/apps/docker/IndexView.vue:472 src/views/apps/frp/IndexView.vue:63 #: src/views/apps/frp/IndexView.vue:78 src/views/apps/frp/IndexView.vue:91 #: src/views/apps/frp/IndexView.vue:106 src/views/apps/gitea/IndexView.vue:44 #: src/views/apps/memcached/IndexView.vue:59 @@ -889,10 +894,10 @@ msgid "Render Whitespace" msgstr "" #: src/components/file-editor/FileEditorView.vue:207 -#: src/views/cert/CertView.vue:69 src/views/cert/CertView.vue:123 -#: src/views/cert/CertView.vue:134 src/views/cert/CertView.vue:152 -#: src/views/container/ContainerCreate.vue:51 -#: src/views/database/ServerList.vue:51 src/views/database/ServerList.vue:66 +#: src/views/apps/docker/IndexView.vue:83 src/views/cert/CertView.vue:69 +#: src/views/cert/CertView.vue:123 src/views/cert/CertView.vue:134 +#: src/views/cert/CertView.vue:152 src/views/container/ContainerCreate.vue:51 +#: src/views/database/ServerList.vue:80 src/views/database/ServerList.vue:95 #: src/views/database/UserList.vue:45 src/views/database/UserList.vue:85 #: src/views/firewall/ForwardView.vue:25 src/views/firewall/IpRuleView.vue:25 #: src/views/firewall/IpRuleView.vue:42 src/views/firewall/RuleView.vue:25 @@ -915,7 +920,7 @@ msgstr "" #: src/components/file-editor/FileEditorView.vue:211 #: src/views/app/AppView.vue:229 src/views/app/EnvironmentView.vue:217 -#: src/views/app/TemplateView.vue:61 src/views/firewall/RuleView.vue:150 +#: src/views/app/TemplateView.vue:72 src/views/firewall/RuleView.vue:150 #: src/views/project/IndexView.vue:21 msgid "All" msgstr "All" @@ -1059,12 +1064,12 @@ msgstr "Rename" #: src/views/container/NetworkView.vue:208 #: src/views/container/VolumeView.vue:88 src/views/container/VolumeView.vue:162 #: src/views/database/DatabaseList.vue:101 -#: src/views/database/ServerList.vue:214 src/views/database/UserList.vue:189 +#: src/views/database/ServerList.vue:255 src/views/database/UserList.vue:189 #: src/views/environment/PHPView.vue:106 src/views/file/ListView.vue:293 #: src/views/file/ListView.vue:343 src/views/file/ListView.vue:1523 #: src/views/file/ToolBar.vue:272 src/views/firewall/ForwardView.vue:103 #: src/views/firewall/IpRuleView.vue:145 src/views/firewall/RuleView.vue:182 -#: src/views/project/ListView.vue:140 src/views/project/ListView.vue:218 +#: src/views/project/ListView.vue:166 src/views/project/ListView.vue:258 #: src/views/setting/SettingUser.vue:139 src/views/setting/TokenModal.vue:91 #: src/views/ssh/IndexView.vue:91 src/views/task/CronView.vue:149 #: src/views/task/TaskView.vue:97 src/views/toolbox/WebHookView.vue:179 @@ -1105,13 +1110,13 @@ msgstr "Are you sure you want to delete %{ name }?" #: src/views/container/NetworkView.vue:175 #: src/views/container/VolumeView.vue:129 #: src/views/database/DatabaseList.vue:125 -#: src/views/database/ServerList.vue:238 src/views/database/UserList.vue:213 +#: src/views/database/ServerList.vue:279 src/views/database/UserList.vue:213 #: src/views/file/ListView.vue:751 src/views/file/ListView.vue:771 #: src/views/file/ToolBar.vue:169 src/views/firewall/ForwardView.vue:129 #: src/views/firewall/ForwardView.vue:147 src/views/firewall/IpRuleView.vue:171 #: src/views/firewall/IpRuleView.vue:189 src/views/firewall/RuleView.vue:208 -#: src/views/firewall/RuleView.vue:226 src/views/project/ListView.vue:186 -#: src/views/project/ListView.vue:196 src/views/setting/SettingUser.vue:174 +#: src/views/firewall/RuleView.vue:226 src/views/project/ListView.vue:226 +#: src/views/project/ListView.vue:236 src/views/setting/SettingUser.vue:174 #: src/views/setting/TokenModal.vue:114 src/views/task/CronView.vue:191 #: src/views/task/TaskView.vue:122 src/views/toolbox/WebHookView.vue:236 #: src/views/website/ListView.vue:254 src/views/website/ListView.vue:264 @@ -1287,7 +1292,8 @@ msgid "Toolbox" msgstr "Toolbox" #: src/locales/menu.ts:22 src/views/app/AppView.vue:93 -#: src/views/app/EnvironmentView.vue:78 src/views/home/IndexView.vue:479 +#: src/views/app/EnvironmentView.vue:78 +#: src/views/app/TemplateDeployModal.vue:629 src/views/home/IndexView.vue:479 #: src/views/setting/TokenModal.vue:299 msgid "Update" msgstr "Update" @@ -1366,10 +1372,10 @@ msgstr "Show in Home" #: src/views/container/ContainerView.vue:109 #: src/views/container/ImageView.vue:90 src/views/container/NetworkView.vue:109 #: src/views/container/VolumeView.vue:63 src/views/database/DatabaseList.vue:77 -#: src/views/database/ServerList.vue:134 src/views/database/UserList.vue:151 +#: src/views/database/ServerList.vue:163 src/views/database/UserList.vue:151 #: src/views/environment/PHPView.vue:55 src/views/file/ListView.vue:1324 #: src/views/firewall/ForwardView.vue:79 src/views/firewall/IpRuleView.vue:121 -#: src/views/firewall/RuleView.vue:158 src/views/project/ListView.vue:88 +#: src/views/firewall/RuleView.vue:158 src/views/project/ListView.vue:114 #: src/views/setting/SettingUser.vue:85 src/views/setting/TokenModal.vue:52 #: src/views/task/CronView.vue:98 src/views/task/TaskView.vue:55 #: src/views/toolbox/DiskView.vue:340 src/views/toolbox/DiskView.vue:831 @@ -1458,52 +1464,108 @@ msgstr "Container Name" msgid "Update Cache" msgstr "Update Cache" -#: src/views/app/TemplateDeployModal.vue:58 +#: src/views/app/TemplateDeployModal.vue:81 +#, fuzzy +msgid "Please enter URL" +msgstr "Please enter absolute path" + +#: src/views/app/TemplateDeployModal.vue:86 +#, fuzzy +msgid "Please enter a valid URL" +msgstr "Please enter absolute path" + +#: src/views/app/TemplateDeployModal.vue:161 #, fuzzy msgid "Please enter compose name" msgstr "Please enter absolute path" -#: src/views/app/TemplateDeployModal.vue:129 +#: src/views/app/TemplateDeployModal.vue:176 +#, fuzzy +msgid "Please select a compose" +msgstr "Please select a timezone" + +#: src/views/app/TemplateDeployModal.vue:235 src/views/cert/AccountView.vue:162 +#: src/views/cert/CertView.vue:337 src/views/cert/CertView.vue:354 +#: src/views/cert/DnsView.vue:139 src/views/container/ComposeView.vue:287 +msgid "Update successful" +msgstr "Update successful" + +#: src/views/app/TemplateDeployModal.vue:305 #, fuzzy msgid "Deploy Template" msgstr "Compose Name" -#: src/views/app/TemplateDeployModal.vue:140 -#: src/views/container/ContainerCreate.vue:191 -#: src/views/project/EditModal.vue:177 src/views/website/EditView.vue:462 -msgid "Basic Settings" -msgstr "Basic Settings" +#: src/views/app/TemplateDeployModal.vue:316 +#: src/views/app/TemplateDeployModal.vue:573 +#, fuzzy +msgid "Deploy Mode" +msgstr "Deploy" -#: src/views/app/TemplateDeployModal.vue:142 +#: src/views/app/TemplateDeployModal.vue:317 +msgid "Configuration" +msgstr "Configuration" + +#: src/views/app/TemplateDeployModal.vue:318 +#, fuzzy +msgid "Preview & Edit" +msgstr "Preview - " + +#: src/views/app/TemplateDeployModal.vue:332 +#, fuzzy +msgid "Create New Compose" +msgstr "Create Compose" + +#: src/views/app/TemplateDeployModal.vue:334 +msgid "Create a new compose from this template" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:349 +#, fuzzy +msgid "Update Existing Compose" +msgstr "Create Compose" + +#: src/views/app/TemplateDeployModal.vue:352 +msgid "Update an existing compose with this template" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:370 +#: src/views/app/TemplateDeployModal.vue:578 #: src/views/container/ComposeView.vue:361 msgid "Compose Name" msgstr "Compose Name" -#: src/views/app/TemplateDeployModal.vue:147 +#: src/views/app/TemplateDeployModal.vue:375 #, fuzzy msgid "Enter compose name" msgstr "Enter comment name" -#: src/views/app/TemplateDeployModal.vue:151 +#: src/views/app/TemplateDeployModal.vue:379 +#: src/views/app/TemplateDeployModal.vue:469 #, fuzzy msgid "Deploy Options" msgstr "Options" -#: src/views/app/TemplateDeployModal.vue:155 +#: src/views/app/TemplateDeployModal.vue:383 +#: src/views/app/TemplateDeployModal.vue:473 +#: src/views/app/TemplateDeployModal.vue:581 #, fuzzy msgid "Auto Start" msgstr "Autostart On" -#: src/views/app/TemplateDeployModal.vue:160 +#: src/views/app/TemplateDeployModal.vue:388 +#: src/views/app/TemplateDeployModal.vue:586 #, fuzzy msgid "Auto Firewall" msgstr "Firewall" -#: src/views/app/TemplateDeployModal.vue:164 +#: src/views/app/TemplateDeployModal.vue:391 msgid "Automatically allow ports defined in compose" msgstr "" -#: src/views/app/TemplateDeployModal.vue:177 +#: src/views/app/TemplateDeployModal.vue:399 +#: src/views/app/TemplateDeployModal.vue:481 +#: src/views/app/TemplateDeployModal.vue:559 +#: src/views/app/TemplateDeployModal.vue:591 #: src/views/apps/minio/IndexView.vue:32 #: src/views/container/ComposeView.vue:367 #: src/views/container/ComposeView.vue:393 @@ -1512,27 +1574,102 @@ msgstr "" msgid "Environment Variables" msgstr "Environment Variables" -#: src/views/app/TemplateDeployModal.vue:191 +#: src/views/app/TemplateDeployModal.vue:413 +#: src/views/app/TemplateDeployModal.vue:495 #, fuzzy msgid "Select value" msgstr "Select File" -#: src/views/app/TemplateDeployModal.vue:221 +#: src/views/app/TemplateDeployModal.vue:458 #, fuzzy -msgid "Compose Preview" +msgid "Select Compose" +msgstr "Select host" + +#: src/views/app/TemplateDeployModal.vue:463 +#, fuzzy +msgid "Select a compose to update" +msgstr "Select File" + +#: src/views/app/TemplateDeployModal.vue:535 +#, fuzzy +msgid "Compose File" msgstr "Compose Name" -#: src/views/app/TemplateDeployModal.vue:232 src/views/app/TemplateView.vue:96 -#: src/views/cert/CertView.vue:208 -msgid "Deploy" -msgstr "Deploy" +#: src/views/app/TemplateDeployModal.vue:544 +msgid "" +"Left side shows the original compose, right side shows the new compose. You " +"can edit the right side." +msgstr "" -#: src/views/app/TemplateDeployModal.vue:240 +#: src/views/app/TemplateDeployModal.vue:563 +#: src/views/container/ComposeView.vue:371 +#: src/views/container/ComposeView.vue:397 +msgid "Variable Name" +msgstr "Variable Name" + +#: src/views/app/TemplateDeployModal.vue:564 +#: src/views/container/ComposeView.vue:372 +#: src/views/container/ComposeView.vue:398 +msgid "Variable Value" +msgstr "Variable Value" + +#: src/views/app/TemplateDeployModal.vue:575 +#, fuzzy +msgid "Create New" +msgstr "Create Network" + +#: src/views/app/TemplateDeployModal.vue:575 +#, fuzzy +msgid "Update Existing" +msgstr "Update Host" + +#: src/views/app/TemplateDeployModal.vue:583 +#: src/views/app/TemplateDeployModal.vue:588 +#: src/views/apps/nginx/NginxIndex.vue:180 src/views/file/ListView.vue:765 +#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/toolbox/WebHookView.vue:81 +msgid "Yes" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:583 +#: src/views/app/TemplateDeployModal.vue:588 +#: src/views/apps/nginx/NginxIndex.vue:180 src/views/file/ListView.vue:766 +#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/toolbox/WebHookView.vue:81 +#, fuzzy +msgid "No" +msgstr "None" + +#: src/views/app/TemplateDeployModal.vue:592 +#, fuzzy +msgid "variables" +msgstr "SWAP Available" + +#: src/views/app/TemplateDeployModal.vue:599 +#, fuzzy +msgid "Compose Content" +msgstr "Compose Name" + +#: src/views/app/TemplateDeployModal.vue:608 +#, fuzzy +msgid "Previous" +msgstr "Preview" + +#: src/views/app/TemplateDeployModal.vue:617 +#: src/views/app/TemplateDeployModal.vue:620 +msgid "Next" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:639 #: src/views/container/ComposeView.vue:408 #, fuzzy msgid "Starting Compose" msgstr "Create Compose" +#: src/views/app/TemplateView.vue:127 src/views/cert/CertView.vue:208 +msgid "Deploy" +msgstr "Deploy" + #: src/views/app/VersionModal.vue:79 msgid "Channel" msgstr "Channel" @@ -1610,7 +1747,7 @@ msgstr "Load Status" #: src/views/apps/apache/IndexView.vue:87 #: src/views/apps/codeserver/IndexView.vue:51 -#: src/views/apps/docker/IndexView.vue:47 +#: src/views/apps/docker/IndexView.vue:477 #: src/views/apps/fail2ban/IndexView.vue:282 #: src/views/apps/gitea/IndexView.vue:49 #: src/views/apps/memcached/IndexView.vue:74 @@ -1648,11 +1785,235 @@ msgstr "" "This modifies the Code Server configuration file. If you do not understand " "the meaning of each parameter, please do not modify it randomly!" -#: src/views/apps/docker/IndexView.vue:34 -msgid "Configuration" +#: src/views/apps/docker/IndexView.vue:63 +#: src/views/apps/docker/IndexView.vue:70 +#, fuzzy +msgid "Default" +msgstr "Default Page" + +#: src/views/apps/docker/IndexView.vue:88 +msgid "China - Millisecond" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:89 +msgid "China - DaoCloud" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:91 +msgid "China - Tencent (Internal only)" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:194 +#: src/views/container/ContainerCreate.vue:191 +#: src/views/project/EditModal.vue:177 src/views/website/EditView.vue:462 +msgid "Basic Settings" +msgstr "Basic Settings" + +#: src/views/apps/docker/IndexView.vue:198 +#, fuzzy +msgid "Registry Mirrors" +msgstr "Listening Address" + +#: src/views/apps/docker/IndexView.vue:203 src/views/website/EditView.vue:916 +msgid "Presets" +msgstr "Presets" + +#: src/views/apps/docker/IndexView.vue:226 +msgid "" +"Configure registry mirrors to speed up image downloads. Domestic users can " +"configure domestic mirrors." +msgstr "" + +#: src/views/apps/docker/IndexView.vue:235 +msgid "Enter mirror address, e.g., https://registry.example.com" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:239 +#: src/views/apps/docker/IndexView.vue:392 +#: src/views/apps/docker/IndexView.vue:420 +#: src/views/apps/docker/IndexView.vue:445 +#: src/views/apps/nginx/NginxIndex.vue:688 src/views/toolbox/SystemView.vue:297 +msgid "Add" +msgstr "Add" + +#: src/views/apps/docker/IndexView.vue:249 +#, fuzzy +msgid "Log Configuration" msgstr "Configuration" -#: src/views/apps/docker/IndexView.vue:37 +#: src/views/apps/docker/IndexView.vue:253 +msgid "" +"Configure log driver and rotation settings. Setting max-size and max-file " +"can prevent log files from growing indefinitely." +msgstr "" + +#: src/views/apps/docker/IndexView.vue:259 +#, fuzzy +msgid "Log Driver" +msgstr "Driver" + +#: src/views/apps/docker/IndexView.vue:263 +#, fuzzy +msgid "Select log driver" +msgstr "Select server" + +#: src/views/apps/docker/IndexView.vue:269 +#, fuzzy +msgid "Max Size" +msgstr "Size" + +#: src/views/apps/docker/IndexView.vue:272 +msgid "e.g., 10m, 100m, 1g" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:277 +#, fuzzy +msgid "Max Files" +msgstr "Files" + +#: src/views/apps/docker/IndexView.vue:280 +msgid "e.g., 3, 5, 10" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:290 +#, fuzzy +msgid "Runtime Options" +msgstr "Options" + +#: src/views/apps/docker/IndexView.vue:294 +#, fuzzy +msgid "Live Restore" +msgstr "Restore" + +#: src/views/apps/docker/IndexView.vue:297 +msgid "Keep containers alive during daemon downtime" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:302 +#, fuzzy +msgid "Cgroup Driver" +msgstr "Driver" + +#: src/views/apps/docker/IndexView.vue:306 +#, fuzzy +msgid "Select cgroup driver" +msgstr "Select server" + +#: src/views/apps/docker/IndexView.vue:314 +msgid "IPv6" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:317 +#, fuzzy +msgid "Requires additional configuration." +msgstr "Registry Configuration" + +#: src/views/apps/docker/IndexView.vue:325 +msgid "Docs" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:331 +#, fuzzy +msgid "IP Forward" +msgstr "Port Forwarding" + +#: src/views/apps/docker/IndexView.vue:334 +#, fuzzy +msgid "Enable IP forwarding" +msgstr "Disable Buffer" + +#: src/views/apps/docker/IndexView.vue:343 +#, fuzzy +msgid "Firewall Configuration" +msgstr "FPM Configuration" + +#: src/views/apps/docker/IndexView.vue:347 +msgid "" +"Configure Docker firewall backend. nftables is experimental and does not " +"support Swarm mode." +msgstr "" + +#: src/views/apps/docker/IndexView.vue:353 +#, fuzzy +msgid "Firewall Backend" +msgstr "Firewall" + +#: src/views/apps/docker/IndexView.vue:357 +msgid "Select firewall backend" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:366 +msgid "Storage & Paths" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:368 +#, fuzzy +msgid "Storage Driver" +msgstr "Driver" + +#: src/views/apps/docker/IndexView.vue:372 +#, fuzzy +msgid "Select storage driver" +msgstr "Select server" + +#: src/views/apps/docker/IndexView.vue:376 +msgid "Data Root" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:379 +msgid "Docker data directory, default is /var/lib/docker" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:382 +msgid "Socket/Hosts" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:388 +msgid "e.g., unix:///var/run/docker.sock, tcp://0.0.0.0:2375" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:404 +#, fuzzy +msgid "Network Configuration" +msgstr "User Configuration" + +#: src/views/apps/docker/IndexView.vue:406 +msgid "Bridge IP" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:409 +msgid "Default bridge network IP range, e.g., 172.17.0.1/16" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:412 +#, fuzzy +msgid "DNS Servers" +msgstr "Server" + +#: src/views/apps/docker/IndexView.vue:417 +msgid "e.g., 8.8.8.8, 114.114.114.114" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:429 +msgid "Insecure Registries" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:433 +msgid "" +"Insecure registries allow Docker to communicate with registries using HTTP " +"or self-signed certificates. Use with caution." +msgstr "" + +#: src/views/apps/docker/IndexView.vue:441 +msgid "e.g., 192.168.1.100:5000" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:464 +#, fuzzy +msgid "Configuration File" +msgstr "Configuration" + +#: src/views/apps/docker/IndexView.vue:467 msgid "This modifies the Docker configuration file (/etc/docker/daemon.json)" msgstr "This modifies the Docker configuration file (/etc/docker/daemon.json)" @@ -1661,7 +2022,7 @@ msgstr "This modifies the Docker configuration file (/etc/docker/daemon.json)" #: src/views/apps/supervisor/IndexView.vue:53 #: src/views/container/ComposeView.vue:84 #: src/views/container/ContainerView.vue:50 -#: src/views/database/ServerList.vue:113 src/views/database/UserList.vue:130 +#: src/views/database/ServerList.vue:142 src/views/database/UserList.vue:130 #: src/views/firewall/RuleView.vue:61 src/views/log/HttpLog.vue:74 #: src/views/project/ListView.vue:56 src/views/task/TaskView.vue:22 #: src/views/toolbox/ProcessView.vue:137 src/views/toolbox/ProcessView.vue:394 @@ -1758,7 +2119,7 @@ msgstr "" #: src/views/apps/fail2ban/IndexView.vue:311 src/views/cert/CertView.vue:86 #: src/views/cert/DnsView.vue:38 src/views/cert/ObtainModal.vue:58 #: src/views/database/CreateServerModal.vue:63 -#: src/views/database/DatabaseList.vue:11 src/views/database/ServerList.vue:16 +#: src/views/database/DatabaseList.vue:11 src/views/database/ServerList.vue:45 #: src/views/database/UserList.vue:16 src/views/file/PropertyModal.vue:33 #: src/views/log/OperationLog.vue:57 src/views/project/ListView.vue:48 msgid "Type" @@ -1858,7 +2219,7 @@ msgstr "" #: src/views/apps/mysql/MysqlIndex.vue:66 #: src/views/apps/pureftpd/IndexView.vue:138 #: src/views/database/DatabaseList.vue:131 -#: src/views/database/ServerList.vue:244 +#: src/views/database/ServerList.vue:285 #: src/views/database/UpdateServerModal.vue:21 #: src/views/database/UpdateUserModal.vue:18 #: src/views/database/UserList.vue:219 src/views/file/PermissionModal.vue:55 @@ -1869,7 +2230,7 @@ msgstr "" msgid "Modified successfully" msgstr "Modified successfully" -#: src/views/apps/mysql/MysqlIndex.vue:72 src/views/database/ServerList.vue:75 +#: src/views/apps/mysql/MysqlIndex.vue:72 src/views/database/ServerList.vue:104 #: src/views/database/UserList.vue:69 src/views/file/ListView.vue:826 #: src/views/file/ListView.vue:846 src/views/file/ToolBar.vue:130 #: src/views/file/ToolBar.vue:150 src/views/setting/TokenModal.vue:163 @@ -1880,7 +2241,7 @@ msgstr "Copied successfully" msgid "Root Password" msgstr "Root Password" -#: src/views/apps/mysql/MysqlIndex.vue:88 src/views/database/ServerList.vue:79 +#: src/views/apps/mysql/MysqlIndex.vue:88 src/views/database/ServerList.vue:108 #: src/views/database/UserList.vue:73 src/views/file/ListView.vue:289 #: src/views/file/ListView.vue:323 src/views/file/ListView.vue:922 #: src/views/file/ToolBar.vue:265 @@ -1925,23 +2286,10 @@ msgstr "Protocol" msgid "Proxy Pass" msgstr "Proxy Address" -#: src/views/apps/nginx/NginxIndex.vue:180 src/views/file/ListView.vue:765 -#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 -#: src/views/toolbox/WebHookView.vue:81 -msgid "Yes" -msgstr "" - -#: src/views/apps/nginx/NginxIndex.vue:180 src/views/file/ListView.vue:766 -#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 -#: src/views/toolbox/WebHookView.vue:81 -#, fuzzy -msgid "No" -msgstr "None" - #: src/views/apps/nginx/NginxIndex.vue:197 #: src/views/apps/nginx/NginxIndex.vue:273 #: src/views/container/ComposeView.vue:122 src/views/file/ListView.vue:314 -#: src/views/file/ListView.vue:1503 src/views/project/ListView.vue:121 +#: src/views/file/ListView.vue:1503 src/views/project/ListView.vue:147 #: src/views/ssh/IndexView.vue:69 src/views/task/CronView.vue:128 #: src/views/toolbox/WebHookView.vue:158 src/views/website/ListView.vue:138 msgid "Edit" @@ -1999,8 +2347,8 @@ msgid "Stream" msgstr "" #: src/views/apps/nginx/NginxIndex.vue:499 -#: src/views/database/CreateDatabaseModal.vue:63 -#: src/views/database/CreateUserModal.vue:69 +#: src/views/database/CreateDatabaseModal.vue:74 +#: src/views/database/CreateUserModal.vue:80 #: src/views/database/DatabaseList.vue:41 src/views/database/IndexView.vue:29 #: src/views/database/UserList.vue:90 msgid "Server" @@ -2096,10 +2444,6 @@ msgstr "" msgid "Options (optional), e.g. weight=5 backup" msgstr "" -#: src/views/apps/nginx/NginxIndex.vue:688 src/views/toolbox/SystemView.vue:297 -msgid "Add" -msgstr "Add" - #: src/views/apps/nginx/NginxIndex.vue:694 #, fuzzy msgid "Address" @@ -2228,10 +2572,10 @@ msgstr "Slow Logs" #: src/views/apps/pureftpd/IndexView.vue:32 #: src/views/apps/pureftpd/IndexView.vue:214 #: src/views/container/ImageView.vue:386 -#: src/views/database/CreateDatabaseModal.vue:94 +#: src/views/database/CreateDatabaseModal.vue:105 #: src/views/database/CreateServerModal.vue:94 -#: src/views/database/CreateUserModal.vue:77 -#: src/views/database/ServerList.vue:46 +#: src/views/database/CreateUserModal.vue:88 +#: src/views/database/ServerList.vue:75 #: src/views/database/UpdateServerModal.vue:86 #: src/views/database/UserList.vue:39 src/views/login/IndexView.vue:166 #: src/views/setting/CreateModal.vue:40 src/views/setting/SettingUser.vue:19 @@ -2265,8 +2609,8 @@ msgstr "Run Log" #: src/views/apps/pureftpd/IndexView.vue:206 #: src/views/apps/pureftpd/IndexView.vue:210 -#: src/views/database/CreateDatabaseModal.vue:79 -#: src/views/database/CreateUserModal.vue:55 +#: src/views/database/CreateDatabaseModal.vue:90 +#: src/views/database/CreateUserModal.vue:66 #: src/views/database/IndexView.vue:42 src/views/setting/CreateModal.vue:32 #: src/views/setting/IndexView.vue:99 msgid "Create User" @@ -2274,8 +2618,8 @@ msgstr "Create User" #: src/views/apps/pureftpd/IndexView.vue:219 #: src/views/container/ImageView.vue:391 -#: src/views/database/CreateDatabaseModal.vue:99 -#: src/views/database/CreateUserModal.vue:82 +#: src/views/database/CreateDatabaseModal.vue:110 +#: src/views/database/CreateUserModal.vue:93 msgid "Enter username" msgstr "Enter username" @@ -2283,10 +2627,10 @@ msgstr "Enter username" #: src/views/apps/pureftpd/IndexView.vue:253 #: src/views/apps/rsync/IndexView.vue:280 #: src/views/apps/rsync/IndexView.vue:334 src/views/container/ImageView.vue:394 -#: src/views/database/CreateDatabaseModal.vue:102 +#: src/views/database/CreateDatabaseModal.vue:113 #: src/views/database/CreateServerModal.vue:102 -#: src/views/database/CreateUserModal.vue:85 -#: src/views/database/ServerList.vue:55 +#: src/views/database/CreateUserModal.vue:96 +#: src/views/database/ServerList.vue:84 #: src/views/database/UpdateServerModal.vue:94 #: src/views/database/UpdateUserModal.vue:55 src/views/database/UserList.vue:49 #: src/views/login/IndexView.vue:175 src/views/setting/CreateModal.vue:47 @@ -2305,7 +2649,7 @@ msgstr "It is recommended to use the generator to generate a random password" #: src/views/apps/rsync/IndexView.vue:46 src/views/apps/rsync/IndexView.vue:264 #: src/views/apps/rsync/IndexView.vue:318 #: src/views/container/ComposeView.vue:64 src/views/file/PropertyModal.vue:34 -#: src/views/project/ListView.vue:68 src/views/website/CreateModal.vue:227 +#: src/views/project/ListView.vue:94 src/views/website/CreateModal.vue:227 #: src/views/website/ListView.vue:41 msgid "Directory" msgstr "Directory" @@ -2324,9 +2668,9 @@ msgstr "" #: src/views/apps/rsync/IndexView.vue:60 src/views/apps/rsync/IndexView.vue:288 #: src/views/apps/rsync/IndexView.vue:343 -#: src/views/database/CreateDatabaseModal.vue:111 +#: src/views/database/CreateDatabaseModal.vue:127 #: src/views/database/CreateServerModal.vue:73 -#: src/views/database/ServerList.vue:86 +#: src/views/database/ServerList.vue:115 #: src/views/database/UpdateServerModal.vue:65 #: src/views/database/UserList.vue:80 src/views/ssh/CreateModal.vue:64 #: src/views/ssh/UpdateModal.vue:70 src/views/toolbox/SystemView.vue:181 @@ -2336,8 +2680,8 @@ msgstr "Host" #: src/views/apps/rsync/IndexView.vue:66 src/views/apps/rsync/IndexView.vue:296 #: src/views/apps/rsync/IndexView.vue:351 #: src/views/database/CreateServerModal.vue:111 -#: src/views/database/CreateUserModal.vue:116 -#: src/views/database/DatabaseList.vue:56 src/views/database/ServerList.vue:96 +#: src/views/database/CreateUserModal.vue:132 +#: src/views/database/DatabaseList.vue:56 src/views/database/ServerList.vue:125 #: src/views/database/UpdateServerModal.vue:103 #: src/views/database/UpdateUserModal.vue:70 #: src/views/database/UserList.vue:113 @@ -2529,7 +2873,7 @@ msgstr "Process Configuration" msgid "Filename" msgstr "Filename" -#: src/views/backup/ListView.vue:48 src/views/database/ServerList.vue:125 +#: src/views/backup/ListView.vue:48 src/views/database/ServerList.vue:154 #: src/views/database/UserList.vue:142 msgid "Update Date" msgstr "Update Date" @@ -2559,7 +2903,7 @@ msgid "Select website" msgstr "Select website" #: src/views/backup/ListView.vue:239 -#: src/views/database/CreateDatabaseModal.vue:71 +#: src/views/database/CreateDatabaseModal.vue:82 #: src/views/database/DatabaseList.vue:34 src/views/task/CreateModal.vue:142 #: src/views/task/CreateModal.vue:144 src/views/website/CreateModal.vue:191 #: src/views/website/CreateModal.vue:196 @@ -2567,8 +2911,8 @@ msgid "Database Name" msgstr "Database Name" #: src/views/backup/ListView.vue:244 -#: src/views/database/CreateDatabaseModal.vue:76 -#: src/views/database/CreateUserModal.vue:113 +#: src/views/database/CreateDatabaseModal.vue:87 +#: src/views/database/CreateUserModal.vue:129 #: src/views/database/UpdateUserModal.vue:67 msgid "Enter database name" msgstr "Enter database name" @@ -2613,7 +2957,7 @@ msgid "Key Type" msgstr "Key Type" #: src/views/cert/AccountView.vue:101 src/views/cert/CertView.vue:277 -#: src/views/cert/DnsView.vue:85 src/views/database/ServerList.vue:182 +#: src/views/cert/DnsView.vue:85 src/views/database/ServerList.vue:223 #: src/views/database/UserList.vue:168 src/views/file/PermissionModal.vue:154 #: src/views/setting/TokenModal.vue:69 msgid "Modify" @@ -2632,12 +2976,6 @@ msgstr "Are you sure you want to delete the account?" msgid "Registering account with CA, please wait patiently" msgstr "Registering account with CA, please wait patiently" -#: src/views/cert/AccountView.vue:162 src/views/cert/CertView.vue:337 -#: src/views/cert/CertView.vue:354 src/views/cert/DnsView.vue:139 -#: src/views/container/ComposeView.vue:287 -msgid "Update successful" -msgstr "Update successful" - #: src/views/cert/AccountView.vue:207 msgid "Modify Account" msgstr "Modify Account" @@ -3038,16 +3376,6 @@ msgstr "Are you sure you want to delete the server?" msgid "Compose" msgstr "Compose" -#: src/views/container/ComposeView.vue:371 -#: src/views/container/ComposeView.vue:397 -msgid "Variable Name" -msgstr "Variable Name" - -#: src/views/container/ComposeView.vue:372 -#: src/views/container/ComposeView.vue:398 -msgid "Variable Value" -msgstr "Variable Value" - #: src/views/container/ComposeView.vue:383 msgid "Edit Compose" msgstr "Edit Compose" @@ -3504,8 +3832,8 @@ msgid "Authentication" msgstr "Authentication" #: src/views/container/ImageView.vue:400 -#: src/views/database/CreateDatabaseModal.vue:108 -#: src/views/database/CreateUserModal.vue:91 +#: src/views/database/CreateDatabaseModal.vue:120 +#: src/views/database/CreateUserModal.vue:103 #: src/views/database/UpdateUserModal.vue:61 msgid "Enter password" msgstr "Enter password" @@ -3632,51 +3960,56 @@ msgstr "Are you sure you want to delete the server?" msgid "Volume Name" msgstr "Volume Name" -#: src/views/database/CreateDatabaseModal.vue:20 -#: src/views/database/CreateUserModal.vue:20 +#: src/views/database/CreateDatabaseModal.vue:21 +#: src/views/database/CreateUserModal.vue:21 msgid "Local (localhost)" msgstr "Local (localhost)" -#: src/views/database/CreateDatabaseModal.vue:21 -#: src/views/database/CreateUserModal.vue:21 +#: src/views/database/CreateDatabaseModal.vue:22 +#: src/views/database/CreateUserModal.vue:22 msgid "All (%)" msgstr "All (%)" -#: src/views/database/CreateDatabaseModal.vue:22 -#: src/views/database/CreateUserModal.vue:22 +#: src/views/database/CreateDatabaseModal.vue:23 +#: src/views/database/CreateUserModal.vue:23 msgid "Specific" msgstr "Specific" -#: src/views/database/CreateDatabaseModal.vue:55 +#: src/views/database/CreateDatabaseModal.vue:66 #: src/views/database/IndexView.vue:39 msgid "Create Database" msgstr "Create Database" -#: src/views/database/CreateDatabaseModal.vue:67 -#: src/views/database/CreateUserModal.vue:73 +#: src/views/database/CreateDatabaseModal.vue:78 +#: src/views/database/CreateUserModal.vue:84 msgid "Select server" msgstr "Select server" -#: src/views/database/CreateDatabaseModal.vue:85 +#: src/views/database/CreateDatabaseModal.vue:96 msgid "Authorized User" msgstr "Authorized User" -#: src/views/database/CreateDatabaseModal.vue:91 +#: src/views/database/CreateDatabaseModal.vue:102 msgid "Enter authorized username (leave empty for no authorization)" msgstr "Enter authorized username (leave empty for no authorization)" -#: src/views/database/CreateDatabaseModal.vue:115 -#: src/views/database/CreateUserModal.vue:98 +#: src/views/database/CreateDatabaseModal.vue:123 +#: src/views/database/CreateUserModal.vue:106 +msgid "Generate" +msgstr "" + +#: src/views/database/CreateDatabaseModal.vue:131 +#: src/views/database/CreateUserModal.vue:114 msgid "Select host" msgstr "Select host" -#: src/views/database/CreateDatabaseModal.vue:122 -#: src/views/database/CreateUserModal.vue:102 +#: src/views/database/CreateDatabaseModal.vue:138 +#: src/views/database/CreateUserModal.vue:118 msgid "Specific Host" msgstr "Specific Host" -#: src/views/database/CreateDatabaseModal.vue:128 -#: src/views/database/CreateUserModal.vue:107 +#: src/views/database/CreateDatabaseModal.vue:144 +#: src/views/database/CreateUserModal.vue:123 msgid "Enter supported host address" msgstr "Enter supported host address" @@ -3722,23 +4055,23 @@ msgstr "Enter database server password" msgid "Enter database server comment" msgstr "Enter database server comment" -#: src/views/database/CreateUserModal.vue:65 +#: src/views/database/CreateUserModal.vue:76 #: src/views/database/UpdateUserModal.vue:51 msgid "" "If the privilege databases does not exist, it will be created automatically." msgstr "" "If the privilege databases does not exist, it will be created automatically." -#: src/views/database/CreateUserModal.vue:94 +#: src/views/database/CreateUserModal.vue:110 msgid "Host (MySQL only)" msgstr "Host (MySQL only)" -#: src/views/database/CreateUserModal.vue:110 +#: src/views/database/CreateUserModal.vue:126 #: src/views/database/UpdateUserModal.vue:64 src/views/database/UserList.vue:98 msgid "Privileges" msgstr "Privileges" -#: src/views/database/CreateUserModal.vue:121 +#: src/views/database/CreateUserModal.vue:137 #: src/views/database/UpdateUserModal.vue:75 msgid "Enter database user comment" msgstr "Enter database user comment" @@ -3751,19 +4084,24 @@ msgstr "" msgid "Are you sure you want to delete this database?" msgstr "Are you sure you want to delete this database?" -#: src/views/database/ServerList.vue:120 src/views/database/UserList.vue:137 +#: src/views/database/ServerList.vue:37 +#, fuzzy +msgid "Unsupported database type" +msgstr "Select database type" + +#: src/views/database/ServerList.vue:149 src/views/database/UserList.vue:137 msgid "Valid" msgstr "Valid" -#: src/views/database/ServerList.vue:120 src/views/database/UserList.vue:137 +#: src/views/database/ServerList.vue:149 src/views/database/UserList.vue:137 msgid "Invalid" msgstr "Invalid" -#: src/views/database/ServerList.vue:146 src/views/toolbox/SystemView.vue:92 +#: src/views/database/ServerList.vue:186 src/views/toolbox/SystemView.vue:92 msgid "Synchronized successfully" msgstr "Synchronized successfully" -#: src/views/database/ServerList.vue:152 +#: src/views/database/ServerList.vue:192 msgid "" "Are you sure you want to synchronize database users (excluding password) to " "the panel?" @@ -3771,11 +4109,11 @@ msgstr "" "Are you sure you want to synchronize database users (excluding password) to " "the panel?" -#: src/views/database/ServerList.vue:164 +#: src/views/database/ServerList.vue:205 msgid "Sync" msgstr "Sync" -#: src/views/database/ServerList.vue:192 +#: src/views/database/ServerList.vue:233 msgid "" "Built-in servers cannot be deleted. If you need to delete them, please " "uninstall the corresponding app" @@ -3783,7 +4121,7 @@ msgstr "" "Built-in servers cannot be deleted. If you need to delete them, please " "uninstall the corresponding app" -#: src/views/database/ServerList.vue:203 +#: src/views/database/ServerList.vue:244 msgid "Are you sure you want to delete the server?" msgstr "Are you sure you want to delete the server?" @@ -4619,7 +4957,7 @@ msgstr "Frequency" msgid "Active" msgstr "Active" -#: src/views/home/IndexView.vue:584 +#: src/views/home/IndexView.vue:584 src/views/project/ListView.vue:73 msgid "Inactive" msgstr "Inactive" @@ -4997,7 +5335,7 @@ msgstr "Create Host" msgid "Create Python Project" msgstr "Create Host" -#: src/views/project/CreateModal.vue:299 src/views/project/ListView.vue:213 +#: src/views/project/CreateModal.vue:299 src/views/project/ListView.vue:253 #, fuzzy msgid "Create Project" msgstr "Create Host" @@ -5423,12 +5761,31 @@ msgstr "" msgid "Python" msgstr "" -#: src/views/project/ListView.vue:131 +#: src/views/project/ListView.vue:71 src/views/task/TaskView.vue:32 +msgid "Failed" +msgstr "Failed" + +#: src/views/project/ListView.vue:81 +#, fuzzy +msgid "Autostart" +msgstr "Autostart On" + +#: src/views/project/ListView.vue:157 #, fuzzy msgid "Are you sure you want to delete project %{ name }?" msgstr "Are you sure you want to delete process %{ name }?" -#: src/views/project/ListView.vue:221 +#: src/views/project/ListView.vue:203 +#, fuzzy +msgid "Autostart enabled" +msgstr "Autostart On" + +#: src/views/project/ListView.vue:208 +#, fuzzy +msgid "Autostart disabled" +msgstr "Autostart disabled successfully" + +#: src/views/project/ListView.vue:261 #, fuzzy msgid "Are you sure you want to delete the selected projects?" msgstr "Are you sure you want to delete the server?" @@ -5883,10 +6240,6 @@ msgstr "Completed" msgid "Waiting" msgstr "Waiting" -#: src/views/task/TaskView.vue:32 -msgid "Failed" -msgstr "Failed" - #: src/views/task/TaskView.vue:46 msgid "Completion Time" msgstr "Completion Time" @@ -7385,10 +7738,6 @@ msgstr "" msgid "Rewrite" msgstr "Rewrite" -#: src/views/website/EditView.vue:916 -msgid "Presets" -msgstr "Presets" - #: src/views/website/EditView.vue:928 #, fuzzy msgid "Custom Configs" @@ -7546,6 +7895,10 @@ msgstr "" msgid "Enter the default cipher suite, leave blank to reset to default" msgstr "" +#, fuzzy +#~ msgid "Compose Preview" +#~ msgstr "Compose Name" + #~ msgid "Unit %" #~ msgstr "Unit %" diff --git a/web/src/locales/frontend.pot b/web/src/locales/frontend.pot index 7d4daaf9..26701617 100644 --- a/web/src/locales/frontend.pot +++ b/web/src/locales/frontend.pot @@ -218,7 +218,8 @@ msgstr "" #: src/components/file-editor/EditorToolbar.vue:39 #: src/views/apps/apache/IndexView.vue:42 #: src/views/apps/codeserver/IndexView.vue:23 -#: src/views/apps/docker/IndexView.vue:23 +#: src/views/apps/docker/IndexView.vue:170 +#: src/views/apps/docker/IndexView.vue:176 #: src/views/apps/fail2ban/IndexView.vue:160 #: src/views/apps/frp/IndexView.vue:36 #: src/views/apps/frp/IndexView.vue:44 @@ -281,7 +282,7 @@ msgstr "" #: src/views/container/NetworkView.vue:45 #: src/views/container/VolumeView.vue:26 #: src/views/database/CreateServerModal.vue:55 -#: src/views/database/ServerList.vue:39 +#: src/views/database/ServerList.vue:68 #: src/views/database/UpdateServerModal.vue:55 #: src/views/file/ListView.vue:1305 #: src/views/file/PropertyModal.vue:27 @@ -347,7 +348,7 @@ msgstr "" #: src/components/common/PathSelector.vue:254 #: src/components/file-editor/FileTree.vue:284 -#: src/views/app/TemplateDeployModal.vue:80 +#: src/views/app/TemplateDeployModal.vue:214 #: src/views/backup/ListView.vue:122 #: src/views/cert/CreateAccountModal.vue:52 #: src/views/cert/CreateCertModal.vue:50 @@ -357,8 +358,8 @@ msgstr "" #: src/views/container/ContainerCreate.vue:107 #: src/views/container/NetworkView.vue:183 #: src/views/container/VolumeView.vue:137 -#: src/views/database/CreateDatabaseModal.vue:28 -#: src/views/database/CreateUserModal.vue:28 +#: src/views/database/CreateDatabaseModal.vue:39 +#: src/views/database/CreateUserModal.vue:39 #: src/views/file/ListView.vue:141 #: src/views/firewall/CreateForwardModal.vue:41 #: src/views/setting/CreateModal.vue:19 @@ -382,6 +383,7 @@ msgstr "" #: src/components/common/PathSelector.vue:317 #: src/components/common/PathSelector.vue:380 +#: src/views/app/TemplateDeployModal.vue:629 #: src/views/container/ContainerCreate.vue:539 #: src/views/project/CreateModal.vue:518 #: src/views/setting/TokenModal.vue:266 @@ -422,9 +424,9 @@ msgstr "" #: src/views/container/ImageView.vue:405 #: src/views/container/NetworkView.vue:330 #: src/views/container/VolumeView.vue:230 -#: src/views/database/CreateDatabaseModal.vue:132 +#: src/views/database/CreateDatabaseModal.vue:148 #: src/views/database/CreateServerModal.vue:120 -#: src/views/database/CreateUserModal.vue:125 +#: src/views/database/CreateUserModal.vue:141 #: src/views/database/UpdateServerModal.vue:112 #: src/views/database/UpdateUserModal.vue:79 #: src/views/file/ToolBar.vue:299 @@ -465,6 +467,7 @@ msgstr "" #: src/components/common/PtyTerminalModal.vue:195 #: src/components/common/PtyTerminalModal.vue:199 #: src/layout/header/components/UserAvatar.vue:29 +#: src/views/app/TemplateDeployModal.vue:319 #: src/views/home/UpdateView.vue:26 #: src/views/monitor/IndexView.vue:600 #: src/views/toolbox/DiskView.vue:403 @@ -497,7 +500,7 @@ msgstr "" #: src/components/file-editor/EditorToolbar.vue:101 #: src/components/file-editor/FileTree.vue:603 #: src/layout/header/components/UserAvatar.vue:30 -#: src/views/app/TemplateDeployModal.vue:229 +#: src/views/app/TemplateDeployModal.vue:614 #: src/views/container/ContainerCreate.vue:536 #: src/views/container/ImagePullModal.vue:184 #: src/views/container/ImagePullModal.vue:198 @@ -532,6 +535,7 @@ msgstr "" #: src/locales/menu.ts:19 #: src/views/container/ContainerView.vue:124 #: src/views/container/ContainerView.vue:637 +#: src/views/database/ServerList.vue:177 #: src/views/file/ListView.vue:338 #: src/views/file/ListView.vue:937 #: src/views/file/ToolBar.vue:234 @@ -557,8 +561,8 @@ msgstr "" #: src/views/apps/supervisor/IndexView.vue:89 #: src/views/container/ContainerView.vue:137 #: src/views/container/ContainerView.vue:605 -#: src/views/project/ListView.vue:111 -#: src/views/project/ListView.vue:249 +#: src/views/project/ListView.vue:137 +#: src/views/project/ListView.vue:289 #: src/views/task/CronView.vue:116 #: src/views/task/TaskView.vue:74 msgid "Logs" @@ -575,7 +579,7 @@ msgid "Loading..." msgstr "" #: src/components/common/ServiceStatus.vue:26 -#: src/views/project/ListView.vue:63 +#: src/views/project/ListView.vue:67 #: src/views/task/TaskView.vue:33 #: src/views/toolbox/ProcessView.vue:48 #: src/views/toolbox/ProcessView.vue:80 @@ -584,7 +588,7 @@ msgid "Running" msgstr "" #: src/components/common/ServiceStatus.vue:26 -#: src/views/project/ListView.vue:63 +#: src/views/project/ListView.vue:69 #: src/views/toolbox/ProcessView.vue:50 #: src/views/toolbox/ProcessView.vue:86 msgid "Stopped" @@ -596,7 +600,7 @@ msgstr "" #: src/components/common/ServiceStatus.vue:48 #: src/views/apps/supervisor/IndexView.vue:240 -#: src/views/project/ListView.vue:168 +#: src/views/project/ListView.vue:194 #: src/views/website/ListView.vue:228 msgid "Started successfully" msgstr "" @@ -608,7 +612,7 @@ msgstr "" #: src/components/common/ServiceStatus.vue:63 #: src/views/apps/supervisor/IndexView.vue:247 -#: src/views/project/ListView.vue:163 +#: src/views/project/ListView.vue:189 #: src/views/website/ListView.vue:230 msgid "Stopped successfully" msgstr "" @@ -645,7 +649,7 @@ msgstr "" #: src/components/common/ServiceStatus.vue:134 #: src/views/apps/apache/IndexView.vue:56 #: src/views/apps/codeserver/IndexView.vue:31 -#: src/views/apps/docker/IndexView.vue:31 +#: src/views/apps/docker/IndexView.vue:191 #: src/views/apps/fail2ban/IndexView.vue:228 #: src/views/apps/gitea/IndexView.vue:29 #: src/views/apps/memcached/IndexView.vue:51 @@ -676,7 +680,7 @@ msgstr "" #: src/views/container/ComposeView.vue:173 #: src/views/container/ContainerView.vue:161 #: src/views/container/ContainerView.vue:558 -#: src/views/project/ListView.vue:101 +#: src/views/project/ListView.vue:127 msgid "Start" msgstr "" @@ -685,7 +689,7 @@ msgstr "" #: src/views/container/ComposeView.vue:212 #: src/views/container/ContainerView.vue:166 #: src/views/container/ContainerView.vue:561 -#: src/views/project/ListView.vue:101 +#: src/views/project/ListView.vue:127 msgid "Stop" msgstr "" @@ -809,7 +813,8 @@ msgstr "" #: src/components/file-editor/EditorToolbar.vue:184 #: src/views/apps/apache/IndexView.vue:72 #: src/views/apps/codeserver/IndexView.vue:46 -#: src/views/apps/docker/IndexView.vue:42 +#: src/views/apps/docker/IndexView.vue:458 +#: src/views/apps/docker/IndexView.vue:472 #: src/views/apps/frp/IndexView.vue:63 #: src/views/apps/frp/IndexView.vue:78 #: src/views/apps/frp/IndexView.vue:91 @@ -963,13 +968,14 @@ msgid "Render Whitespace" msgstr "" #: src/components/file-editor/FileEditorView.vue:207 +#: src/views/apps/docker/IndexView.vue:83 #: src/views/cert/CertView.vue:69 #: src/views/cert/CertView.vue:123 #: src/views/cert/CertView.vue:134 #: src/views/cert/CertView.vue:152 #: src/views/container/ContainerCreate.vue:51 -#: src/views/database/ServerList.vue:51 -#: src/views/database/ServerList.vue:66 +#: src/views/database/ServerList.vue:80 +#: src/views/database/ServerList.vue:95 #: src/views/database/UserList.vue:45 #: src/views/database/UserList.vue:85 #: src/views/firewall/ForwardView.vue:25 @@ -995,7 +1001,7 @@ msgstr "" #: src/components/file-editor/FileEditorView.vue:211 #: src/views/app/AppView.vue:229 #: src/views/app/EnvironmentView.vue:217 -#: src/views/app/TemplateView.vue:61 +#: src/views/app/TemplateView.vue:72 #: src/views/firewall/RuleView.vue:150 #: src/views/project/IndexView.vue:21 msgid "All" @@ -1143,7 +1149,7 @@ msgstr "" #: src/views/container/VolumeView.vue:88 #: src/views/container/VolumeView.vue:162 #: src/views/database/DatabaseList.vue:101 -#: src/views/database/ServerList.vue:214 +#: src/views/database/ServerList.vue:255 #: src/views/database/UserList.vue:189 #: src/views/environment/PHPView.vue:106 #: src/views/file/ListView.vue:293 @@ -1153,8 +1159,8 @@ msgstr "" #: src/views/firewall/ForwardView.vue:103 #: src/views/firewall/IpRuleView.vue:145 #: src/views/firewall/RuleView.vue:182 -#: src/views/project/ListView.vue:140 -#: src/views/project/ListView.vue:218 +#: src/views/project/ListView.vue:166 +#: src/views/project/ListView.vue:258 #: src/views/setting/SettingUser.vue:139 #: src/views/setting/TokenModal.vue:91 #: src/views/ssh/IndexView.vue:91 @@ -1202,7 +1208,7 @@ msgstr "" #: src/views/container/NetworkView.vue:175 #: src/views/container/VolumeView.vue:129 #: src/views/database/DatabaseList.vue:125 -#: src/views/database/ServerList.vue:238 +#: src/views/database/ServerList.vue:279 #: src/views/database/UserList.vue:213 #: src/views/file/ListView.vue:751 #: src/views/file/ListView.vue:771 @@ -1213,8 +1219,8 @@ msgstr "" #: src/views/firewall/IpRuleView.vue:189 #: src/views/firewall/RuleView.vue:208 #: src/views/firewall/RuleView.vue:226 -#: src/views/project/ListView.vue:186 -#: src/views/project/ListView.vue:196 +#: src/views/project/ListView.vue:226 +#: src/views/project/ListView.vue:236 #: src/views/setting/SettingUser.vue:174 #: src/views/setting/TokenModal.vue:114 #: src/views/task/CronView.vue:191 @@ -1398,6 +1404,7 @@ msgstr "" #: src/locales/menu.ts:22 #: src/views/app/AppView.vue:93 #: src/views/app/EnvironmentView.vue:78 +#: src/views/app/TemplateDeployModal.vue:629 #: src/views/home/IndexView.vue:479 #: src/views/setting/TokenModal.vue:299 msgid "Update" @@ -1495,14 +1502,14 @@ msgstr "" #: src/views/container/NetworkView.vue:109 #: src/views/container/VolumeView.vue:63 #: src/views/database/DatabaseList.vue:77 -#: src/views/database/ServerList.vue:134 +#: src/views/database/ServerList.vue:163 #: src/views/database/UserList.vue:151 #: src/views/environment/PHPView.vue:55 #: src/views/file/ListView.vue:1324 #: src/views/firewall/ForwardView.vue:79 #: src/views/firewall/IpRuleView.vue:121 #: src/views/firewall/RuleView.vue:158 -#: src/views/project/ListView.vue:88 +#: src/views/project/ListView.vue:114 #: src/views/setting/SettingUser.vue:85 #: src/views/setting/TokenModal.vue:52 #: src/views/task/CronView.vue:98 @@ -1585,47 +1592,98 @@ msgstr "" msgid "Update Cache" msgstr "" -#: src/views/app/TemplateDeployModal.vue:58 +#: src/views/app/TemplateDeployModal.vue:81 +msgid "Please enter URL" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:86 +msgid "Please enter a valid URL" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:161 msgid "Please enter compose name" msgstr "" -#: src/views/app/TemplateDeployModal.vue:129 +#: src/views/app/TemplateDeployModal.vue:176 +msgid "Please select a compose" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:235 +#: src/views/cert/AccountView.vue:162 +#: src/views/cert/CertView.vue:337 +#: src/views/cert/CertView.vue:354 +#: src/views/cert/DnsView.vue:139 +#: src/views/container/ComposeView.vue:287 +msgid "Update successful" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:305 msgid "Deploy Template" msgstr "" -#: src/views/app/TemplateDeployModal.vue:140 -#: src/views/container/ContainerCreate.vue:191 -#: src/views/project/EditModal.vue:177 -#: src/views/website/EditView.vue:462 -msgid "Basic Settings" +#: src/views/app/TemplateDeployModal.vue:316 +#: src/views/app/TemplateDeployModal.vue:573 +msgid "Deploy Mode" msgstr "" -#: src/views/app/TemplateDeployModal.vue:142 +#: src/views/app/TemplateDeployModal.vue:317 +msgid "Configuration" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:318 +msgid "Preview & Edit" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:332 +msgid "Create New Compose" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:334 +msgid "Create a new compose from this template" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:349 +msgid "Update Existing Compose" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:352 +msgid "Update an existing compose with this template" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:370 +#: src/views/app/TemplateDeployModal.vue:578 #: src/views/container/ComposeView.vue:361 msgid "Compose Name" msgstr "" -#: src/views/app/TemplateDeployModal.vue:147 +#: src/views/app/TemplateDeployModal.vue:375 msgid "Enter compose name" msgstr "" -#: src/views/app/TemplateDeployModal.vue:151 +#: src/views/app/TemplateDeployModal.vue:379 +#: src/views/app/TemplateDeployModal.vue:469 msgid "Deploy Options" msgstr "" -#: src/views/app/TemplateDeployModal.vue:155 +#: src/views/app/TemplateDeployModal.vue:383 +#: src/views/app/TemplateDeployModal.vue:473 +#: src/views/app/TemplateDeployModal.vue:581 msgid "Auto Start" msgstr "" -#: src/views/app/TemplateDeployModal.vue:160 +#: src/views/app/TemplateDeployModal.vue:388 +#: src/views/app/TemplateDeployModal.vue:586 msgid "Auto Firewall" msgstr "" -#: src/views/app/TemplateDeployModal.vue:164 +#: src/views/app/TemplateDeployModal.vue:391 msgid "Automatically allow ports defined in compose" msgstr "" -#: src/views/app/TemplateDeployModal.vue:177 +#: src/views/app/TemplateDeployModal.vue:399 +#: src/views/app/TemplateDeployModal.vue:481 +#: src/views/app/TemplateDeployModal.vue:559 +#: src/views/app/TemplateDeployModal.vue:591 #: src/views/apps/minio/IndexView.vue:32 #: src/views/container/ComposeView.vue:367 #: src/views/container/ComposeView.vue:393 @@ -1635,25 +1693,94 @@ msgstr "" msgid "Environment Variables" msgstr "" -#: src/views/app/TemplateDeployModal.vue:191 +#: src/views/app/TemplateDeployModal.vue:413 +#: src/views/app/TemplateDeployModal.vue:495 msgid "Select value" msgstr "" -#: src/views/app/TemplateDeployModal.vue:221 -msgid "Compose Preview" +#: src/views/app/TemplateDeployModal.vue:458 +msgid "Select Compose" msgstr "" -#: src/views/app/TemplateDeployModal.vue:232 -#: src/views/app/TemplateView.vue:96 -#: src/views/cert/CertView.vue:208 -msgid "Deploy" +#: src/views/app/TemplateDeployModal.vue:463 +msgid "Select a compose to update" msgstr "" -#: src/views/app/TemplateDeployModal.vue:240 +#: src/views/app/TemplateDeployModal.vue:535 +msgid "Compose File" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:544 +msgid "Left side shows the original compose, right side shows the new compose. You can edit the right side." +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:563 +#: src/views/container/ComposeView.vue:371 +#: src/views/container/ComposeView.vue:397 +msgid "Variable Name" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:564 +#: src/views/container/ComposeView.vue:372 +#: src/views/container/ComposeView.vue:398 +msgid "Variable Value" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:575 +msgid "Create New" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:575 +msgid "Update Existing" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:583 +#: src/views/app/TemplateDeployModal.vue:588 +#: src/views/apps/nginx/NginxIndex.vue:180 +#: src/views/file/ListView.vue:765 +#: src/views/file/PropertyModal.vue:55 +#: src/views/file/PropertyModal.vue:59 +#: src/views/toolbox/WebHookView.vue:81 +msgid "Yes" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:583 +#: src/views/app/TemplateDeployModal.vue:588 +#: src/views/apps/nginx/NginxIndex.vue:180 +#: src/views/file/ListView.vue:766 +#: src/views/file/PropertyModal.vue:55 +#: src/views/file/PropertyModal.vue:59 +#: src/views/toolbox/WebHookView.vue:81 +msgid "No" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:592 +msgid "variables" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:599 +msgid "Compose Content" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:608 +msgid "Previous" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:617 +#: src/views/app/TemplateDeployModal.vue:620 +msgid "Next" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:639 #: src/views/container/ComposeView.vue:408 msgid "Starting Compose" msgstr "" +#: src/views/app/TemplateView.vue:127 +#: src/views/cert/CertView.vue:208 +msgid "Deploy" +msgstr "" + #: src/views/app/VersionModal.vue:79 msgid "Channel" msgstr "" @@ -1731,7 +1858,7 @@ msgstr "" #: src/views/apps/apache/IndexView.vue:87 #: src/views/apps/codeserver/IndexView.vue:51 -#: src/views/apps/docker/IndexView.vue:47 +#: src/views/apps/docker/IndexView.vue:477 #: src/views/apps/fail2ban/IndexView.vue:282 #: src/views/apps/gitea/IndexView.vue:49 #: src/views/apps/memcached/IndexView.vue:74 @@ -1766,11 +1893,209 @@ msgstr "" msgid "This modifies the Code Server configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" msgstr "" -#: src/views/apps/docker/IndexView.vue:34 -msgid "Configuration" +#: src/views/apps/docker/IndexView.vue:63 +#: src/views/apps/docker/IndexView.vue:70 +msgid "Default" msgstr "" -#: src/views/apps/docker/IndexView.vue:37 +#: src/views/apps/docker/IndexView.vue:88 +msgid "China - Millisecond" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:89 +msgid "China - DaoCloud" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:91 +msgid "China - Tencent (Internal only)" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:194 +#: src/views/container/ContainerCreate.vue:191 +#: src/views/project/EditModal.vue:177 +#: src/views/website/EditView.vue:462 +msgid "Basic Settings" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:198 +msgid "Registry Mirrors" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:203 +#: src/views/website/EditView.vue:916 +msgid "Presets" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:226 +msgid "Configure registry mirrors to speed up image downloads. Domestic users can configure domestic mirrors." +msgstr "" + +#: src/views/apps/docker/IndexView.vue:235 +msgid "Enter mirror address, e.g., https://registry.example.com" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:239 +#: src/views/apps/docker/IndexView.vue:392 +#: src/views/apps/docker/IndexView.vue:420 +#: src/views/apps/docker/IndexView.vue:445 +#: src/views/apps/nginx/NginxIndex.vue:688 +#: src/views/toolbox/SystemView.vue:297 +msgid "Add" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:249 +msgid "Log Configuration" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:253 +msgid "Configure log driver and rotation settings. Setting max-size and max-file can prevent log files from growing indefinitely." +msgstr "" + +#: src/views/apps/docker/IndexView.vue:259 +msgid "Log Driver" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:263 +msgid "Select log driver" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:269 +msgid "Max Size" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:272 +msgid "e.g., 10m, 100m, 1g" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:277 +msgid "Max Files" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:280 +msgid "e.g., 3, 5, 10" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:290 +msgid "Runtime Options" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:294 +msgid "Live Restore" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:297 +msgid "Keep containers alive during daemon downtime" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:302 +msgid "Cgroup Driver" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:306 +msgid "Select cgroup driver" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:314 +msgid "IPv6" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:317 +msgid "Requires additional configuration." +msgstr "" + +#: src/views/apps/docker/IndexView.vue:325 +msgid "Docs" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:331 +msgid "IP Forward" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:334 +msgid "Enable IP forwarding" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:343 +msgid "Firewall Configuration" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:347 +msgid "Configure Docker firewall backend. nftables is experimental and does not support Swarm mode." +msgstr "" + +#: src/views/apps/docker/IndexView.vue:353 +msgid "Firewall Backend" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:357 +msgid "Select firewall backend" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:366 +msgid "Storage & Paths" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:368 +msgid "Storage Driver" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:372 +msgid "Select storage driver" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:376 +msgid "Data Root" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:379 +msgid "Docker data directory, default is /var/lib/docker" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:382 +msgid "Socket/Hosts" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:388 +msgid "e.g., unix:///var/run/docker.sock, tcp://0.0.0.0:2375" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:404 +msgid "Network Configuration" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:406 +msgid "Bridge IP" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:409 +msgid "Default bridge network IP range, e.g., 172.17.0.1/16" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:412 +msgid "DNS Servers" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:417 +msgid "e.g., 8.8.8.8, 114.114.114.114" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:429 +msgid "Insecure Registries" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:433 +msgid "Insecure registries allow Docker to communicate with registries using HTTP or self-signed certificates. Use with caution." +msgstr "" + +#: src/views/apps/docker/IndexView.vue:441 +msgid "e.g., 192.168.1.100:5000" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:464 +msgid "Configuration File" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:467 msgid "This modifies the Docker configuration file (/etc/docker/daemon.json)" msgstr "" @@ -1779,7 +2104,7 @@ msgstr "" #: src/views/apps/supervisor/IndexView.vue:53 #: src/views/container/ComposeView.vue:84 #: src/views/container/ContainerView.vue:50 -#: src/views/database/ServerList.vue:113 +#: src/views/database/ServerList.vue:142 #: src/views/database/UserList.vue:130 #: src/views/firewall/RuleView.vue:61 #: src/views/log/HttpLog.vue:74 @@ -1875,7 +2200,7 @@ msgstr "" #: src/views/cert/ObtainModal.vue:58 #: src/views/database/CreateServerModal.vue:63 #: src/views/database/DatabaseList.vue:11 -#: src/views/database/ServerList.vue:16 +#: src/views/database/ServerList.vue:45 #: src/views/database/UserList.vue:16 #: src/views/file/PropertyModal.vue:33 #: src/views/log/OperationLog.vue:57 @@ -1979,7 +2304,7 @@ msgstr "" #: src/views/apps/mysql/MysqlIndex.vue:66 #: src/views/apps/pureftpd/IndexView.vue:138 #: src/views/database/DatabaseList.vue:131 -#: src/views/database/ServerList.vue:244 +#: src/views/database/ServerList.vue:285 #: src/views/database/UpdateServerModal.vue:21 #: src/views/database/UpdateUserModal.vue:18 #: src/views/database/UserList.vue:219 @@ -1996,7 +2321,7 @@ msgid "Modified successfully" msgstr "" #: src/views/apps/mysql/MysqlIndex.vue:72 -#: src/views/database/ServerList.vue:75 +#: src/views/database/ServerList.vue:104 #: src/views/database/UserList.vue:69 #: src/views/file/ListView.vue:826 #: src/views/file/ListView.vue:846 @@ -2012,7 +2337,7 @@ msgid "Root Password" msgstr "" #: src/views/apps/mysql/MysqlIndex.vue:88 -#: src/views/database/ServerList.vue:79 +#: src/views/database/ServerList.vue:108 #: src/views/database/UserList.vue:73 #: src/views/file/ListView.vue:289 #: src/views/file/ListView.vue:323 @@ -2056,28 +2381,12 @@ msgstr "" msgid "Proxy Pass" msgstr "" -#: src/views/apps/nginx/NginxIndex.vue:180 -#: src/views/file/ListView.vue:765 -#: src/views/file/PropertyModal.vue:55 -#: src/views/file/PropertyModal.vue:59 -#: src/views/toolbox/WebHookView.vue:81 -msgid "Yes" -msgstr "" - -#: src/views/apps/nginx/NginxIndex.vue:180 -#: src/views/file/ListView.vue:766 -#: src/views/file/PropertyModal.vue:55 -#: src/views/file/PropertyModal.vue:59 -#: src/views/toolbox/WebHookView.vue:81 -msgid "No" -msgstr "" - #: src/views/apps/nginx/NginxIndex.vue:197 #: src/views/apps/nginx/NginxIndex.vue:273 #: src/views/container/ComposeView.vue:122 #: src/views/file/ListView.vue:314 #: src/views/file/ListView.vue:1503 -#: src/views/project/ListView.vue:121 +#: src/views/project/ListView.vue:147 #: src/views/ssh/IndexView.vue:69 #: src/views/task/CronView.vue:128 #: src/views/toolbox/WebHookView.vue:158 @@ -2131,8 +2440,8 @@ msgid "Stream" msgstr "" #: src/views/apps/nginx/NginxIndex.vue:499 -#: src/views/database/CreateDatabaseModal.vue:63 -#: src/views/database/CreateUserModal.vue:69 +#: src/views/database/CreateDatabaseModal.vue:74 +#: src/views/database/CreateUserModal.vue:80 #: src/views/database/DatabaseList.vue:41 #: src/views/database/IndexView.vue:29 #: src/views/database/UserList.vue:90 @@ -2226,11 +2535,6 @@ msgstr "" msgid "Options (optional), e.g. weight=5 backup" msgstr "" -#: src/views/apps/nginx/NginxIndex.vue:688 -#: src/views/toolbox/SystemView.vue:297 -msgid "Add" -msgstr "" - #: src/views/apps/nginx/NginxIndex.vue:694 msgid "Address" msgstr "" @@ -2337,10 +2641,10 @@ msgstr "" #: src/views/apps/pureftpd/IndexView.vue:32 #: src/views/apps/pureftpd/IndexView.vue:214 #: src/views/container/ImageView.vue:386 -#: src/views/database/CreateDatabaseModal.vue:94 +#: src/views/database/CreateDatabaseModal.vue:105 #: src/views/database/CreateServerModal.vue:94 -#: src/views/database/CreateUserModal.vue:77 -#: src/views/database/ServerList.vue:46 +#: src/views/database/CreateUserModal.vue:88 +#: src/views/database/ServerList.vue:75 #: src/views/database/UpdateServerModal.vue:86 #: src/views/database/UserList.vue:39 #: src/views/login/IndexView.vue:166 @@ -2377,8 +2681,8 @@ msgstr "" #: src/views/apps/pureftpd/IndexView.vue:206 #: src/views/apps/pureftpd/IndexView.vue:210 -#: src/views/database/CreateDatabaseModal.vue:79 -#: src/views/database/CreateUserModal.vue:55 +#: src/views/database/CreateDatabaseModal.vue:90 +#: src/views/database/CreateUserModal.vue:66 #: src/views/database/IndexView.vue:42 #: src/views/setting/CreateModal.vue:32 #: src/views/setting/IndexView.vue:99 @@ -2387,8 +2691,8 @@ msgstr "" #: src/views/apps/pureftpd/IndexView.vue:219 #: src/views/container/ImageView.vue:391 -#: src/views/database/CreateDatabaseModal.vue:99 -#: src/views/database/CreateUserModal.vue:82 +#: src/views/database/CreateDatabaseModal.vue:110 +#: src/views/database/CreateUserModal.vue:93 msgid "Enter username" msgstr "" @@ -2397,10 +2701,10 @@ msgstr "" #: src/views/apps/rsync/IndexView.vue:280 #: src/views/apps/rsync/IndexView.vue:334 #: src/views/container/ImageView.vue:394 -#: src/views/database/CreateDatabaseModal.vue:102 +#: src/views/database/CreateDatabaseModal.vue:113 #: src/views/database/CreateServerModal.vue:102 -#: src/views/database/CreateUserModal.vue:85 -#: src/views/database/ServerList.vue:55 +#: src/views/database/CreateUserModal.vue:96 +#: src/views/database/ServerList.vue:84 #: src/views/database/UpdateServerModal.vue:94 #: src/views/database/UpdateUserModal.vue:55 #: src/views/database/UserList.vue:49 @@ -2425,7 +2729,7 @@ msgstr "" #: src/views/apps/rsync/IndexView.vue:318 #: src/views/container/ComposeView.vue:64 #: src/views/file/PropertyModal.vue:34 -#: src/views/project/ListView.vue:68 +#: src/views/project/ListView.vue:94 #: src/views/website/CreateModal.vue:227 #: src/views/website/ListView.vue:41 msgid "Directory" @@ -2442,9 +2746,9 @@ msgstr "" #: src/views/apps/rsync/IndexView.vue:60 #: src/views/apps/rsync/IndexView.vue:288 #: src/views/apps/rsync/IndexView.vue:343 -#: src/views/database/CreateDatabaseModal.vue:111 +#: src/views/database/CreateDatabaseModal.vue:127 #: src/views/database/CreateServerModal.vue:73 -#: src/views/database/ServerList.vue:86 +#: src/views/database/ServerList.vue:115 #: src/views/database/UpdateServerModal.vue:65 #: src/views/database/UserList.vue:80 #: src/views/ssh/CreateModal.vue:64 @@ -2457,9 +2761,9 @@ msgstr "" #: src/views/apps/rsync/IndexView.vue:296 #: src/views/apps/rsync/IndexView.vue:351 #: src/views/database/CreateServerModal.vue:111 -#: src/views/database/CreateUserModal.vue:116 +#: src/views/database/CreateUserModal.vue:132 #: src/views/database/DatabaseList.vue:56 -#: src/views/database/ServerList.vue:96 +#: src/views/database/ServerList.vue:125 #: src/views/database/UpdateServerModal.vue:103 #: src/views/database/UpdateUserModal.vue:70 #: src/views/database/UserList.vue:113 @@ -2646,7 +2950,7 @@ msgid "Filename" msgstr "" #: src/views/backup/ListView.vue:48 -#: src/views/database/ServerList.vue:125 +#: src/views/database/ServerList.vue:154 #: src/views/database/UserList.vue:142 msgid "Update Date" msgstr "" @@ -2679,7 +2983,7 @@ msgid "Select website" msgstr "" #: src/views/backup/ListView.vue:239 -#: src/views/database/CreateDatabaseModal.vue:71 +#: src/views/database/CreateDatabaseModal.vue:82 #: src/views/database/DatabaseList.vue:34 #: src/views/task/CreateModal.vue:142 #: src/views/task/CreateModal.vue:144 @@ -2689,8 +2993,8 @@ msgid "Database Name" msgstr "" #: src/views/backup/ListView.vue:244 -#: src/views/database/CreateDatabaseModal.vue:76 -#: src/views/database/CreateUserModal.vue:113 +#: src/views/database/CreateDatabaseModal.vue:87 +#: src/views/database/CreateUserModal.vue:129 #: src/views/database/UpdateUserModal.vue:67 msgid "Enter database name" msgstr "" @@ -2741,7 +3045,7 @@ msgstr "" #: src/views/cert/AccountView.vue:101 #: src/views/cert/CertView.vue:277 #: src/views/cert/DnsView.vue:85 -#: src/views/database/ServerList.vue:182 +#: src/views/database/ServerList.vue:223 #: src/views/database/UserList.vue:168 #: src/views/file/PermissionModal.vue:154 #: src/views/setting/TokenModal.vue:69 @@ -2763,14 +3067,6 @@ msgstr "" msgid "Registering account with CA, please wait patiently" msgstr "" -#: src/views/cert/AccountView.vue:162 -#: src/views/cert/CertView.vue:337 -#: src/views/cert/CertView.vue:354 -#: src/views/cert/DnsView.vue:139 -#: src/views/container/ComposeView.vue:287 -msgid "Update successful" -msgstr "" - #: src/views/cert/AccountView.vue:207 msgid "Modify Account" msgstr "" @@ -3196,16 +3492,6 @@ msgstr "" msgid "Compose" msgstr "" -#: src/views/container/ComposeView.vue:371 -#: src/views/container/ComposeView.vue:397 -msgid "Variable Name" -msgstr "" - -#: src/views/container/ComposeView.vue:372 -#: src/views/container/ComposeView.vue:398 -msgid "Variable Value" -msgstr "" - #: src/views/container/ComposeView.vue:383 msgid "Edit Compose" msgstr "" @@ -3628,8 +3914,8 @@ msgid "Authentication" msgstr "" #: src/views/container/ImageView.vue:400 -#: src/views/database/CreateDatabaseModal.vue:108 -#: src/views/database/CreateUserModal.vue:91 +#: src/views/database/CreateDatabaseModal.vue:120 +#: src/views/database/CreateUserModal.vue:103 #: src/views/database/UpdateUserModal.vue:61 msgid "Enter password" msgstr "" @@ -3758,51 +4044,56 @@ msgstr "" msgid "Volume Name" msgstr "" -#: src/views/database/CreateDatabaseModal.vue:20 -#: src/views/database/CreateUserModal.vue:20 -msgid "Local (localhost)" -msgstr "" - #: src/views/database/CreateDatabaseModal.vue:21 #: src/views/database/CreateUserModal.vue:21 -msgid "All (%)" +msgid "Local (localhost)" msgstr "" #: src/views/database/CreateDatabaseModal.vue:22 #: src/views/database/CreateUserModal.vue:22 +msgid "All (%)" +msgstr "" + +#: src/views/database/CreateDatabaseModal.vue:23 +#: src/views/database/CreateUserModal.vue:23 msgid "Specific" msgstr "" -#: src/views/database/CreateDatabaseModal.vue:55 +#: src/views/database/CreateDatabaseModal.vue:66 #: src/views/database/IndexView.vue:39 msgid "Create Database" msgstr "" -#: src/views/database/CreateDatabaseModal.vue:67 -#: src/views/database/CreateUserModal.vue:73 +#: src/views/database/CreateDatabaseModal.vue:78 +#: src/views/database/CreateUserModal.vue:84 msgid "Select server" msgstr "" -#: src/views/database/CreateDatabaseModal.vue:85 +#: src/views/database/CreateDatabaseModal.vue:96 msgid "Authorized User" msgstr "" -#: src/views/database/CreateDatabaseModal.vue:91 +#: src/views/database/CreateDatabaseModal.vue:102 msgid "Enter authorized username (leave empty for no authorization)" msgstr "" -#: src/views/database/CreateDatabaseModal.vue:115 -#: src/views/database/CreateUserModal.vue:98 +#: src/views/database/CreateDatabaseModal.vue:123 +#: src/views/database/CreateUserModal.vue:106 +msgid "Generate" +msgstr "" + +#: src/views/database/CreateDatabaseModal.vue:131 +#: src/views/database/CreateUserModal.vue:114 msgid "Select host" msgstr "" -#: src/views/database/CreateDatabaseModal.vue:122 -#: src/views/database/CreateUserModal.vue:102 +#: src/views/database/CreateDatabaseModal.vue:138 +#: src/views/database/CreateUserModal.vue:118 msgid "Specific Host" msgstr "" -#: src/views/database/CreateDatabaseModal.vue:128 -#: src/views/database/CreateUserModal.vue:107 +#: src/views/database/CreateDatabaseModal.vue:144 +#: src/views/database/CreateUserModal.vue:123 msgid "Enter supported host address" msgstr "" @@ -3851,22 +4142,22 @@ msgstr "" msgid "Enter database server comment" msgstr "" -#: src/views/database/CreateUserModal.vue:65 +#: src/views/database/CreateUserModal.vue:76 #: src/views/database/UpdateUserModal.vue:51 msgid "If the privilege databases does not exist, it will be created automatically." msgstr "" -#: src/views/database/CreateUserModal.vue:94 +#: src/views/database/CreateUserModal.vue:110 msgid "Host (MySQL only)" msgstr "" -#: src/views/database/CreateUserModal.vue:110 +#: src/views/database/CreateUserModal.vue:126 #: src/views/database/UpdateUserModal.vue:64 #: src/views/database/UserList.vue:98 msgid "Privileges" msgstr "" -#: src/views/database/CreateUserModal.vue:121 +#: src/views/database/CreateUserModal.vue:137 #: src/views/database/UpdateUserModal.vue:75 msgid "Enter database user comment" msgstr "" @@ -3879,34 +4170,38 @@ msgstr "" msgid "Are you sure you want to delete this database?" msgstr "" -#: src/views/database/ServerList.vue:120 +#: src/views/database/ServerList.vue:37 +msgid "Unsupported database type" +msgstr "" + +#: src/views/database/ServerList.vue:149 #: src/views/database/UserList.vue:137 msgid "Valid" msgstr "" -#: src/views/database/ServerList.vue:120 +#: src/views/database/ServerList.vue:149 #: src/views/database/UserList.vue:137 msgid "Invalid" msgstr "" -#: src/views/database/ServerList.vue:146 +#: src/views/database/ServerList.vue:186 #: src/views/toolbox/SystemView.vue:92 msgid "Synchronized successfully" msgstr "" -#: src/views/database/ServerList.vue:152 +#: src/views/database/ServerList.vue:192 msgid "Are you sure you want to synchronize database users (excluding password) to the panel?" msgstr "" -#: src/views/database/ServerList.vue:164 +#: src/views/database/ServerList.vue:205 msgid "Sync" msgstr "" -#: src/views/database/ServerList.vue:192 +#: src/views/database/ServerList.vue:233 msgid "Built-in servers cannot be deleted. If you need to delete them, please uninstall the corresponding app" msgstr "" -#: src/views/database/ServerList.vue:203 +#: src/views/database/ServerList.vue:244 msgid "Are you sure you want to delete the server?" msgstr "" @@ -4761,6 +5056,7 @@ msgid "Active" msgstr "" #: src/views/home/IndexView.vue:584 +#: src/views/project/ListView.vue:73 msgid "Inactive" msgstr "" @@ -5137,7 +5433,7 @@ msgid "Create Python Project" msgstr "" #: src/views/project/CreateModal.vue:299 -#: src/views/project/ListView.vue:213 +#: src/views/project/ListView.vue:253 msgid "Create Project" msgstr "" @@ -5515,11 +5811,28 @@ msgstr "" msgid "Python" msgstr "" -#: src/views/project/ListView.vue:131 +#: src/views/project/ListView.vue:71 +#: src/views/task/TaskView.vue:32 +msgid "Failed" +msgstr "" + +#: src/views/project/ListView.vue:81 +msgid "Autostart" +msgstr "" + +#: src/views/project/ListView.vue:157 msgid "Are you sure you want to delete project %{ name }?" msgstr "" -#: src/views/project/ListView.vue:221 +#: src/views/project/ListView.vue:203 +msgid "Autostart enabled" +msgstr "" + +#: src/views/project/ListView.vue:208 +msgid "Autostart disabled" +msgstr "" + +#: src/views/project/ListView.vue:261 msgid "Are you sure you want to delete the selected projects?" msgstr "" @@ -5963,10 +6276,6 @@ msgstr "" msgid "Waiting" msgstr "" -#: src/views/task/TaskView.vue:32 -msgid "Failed" -msgstr "" - #: src/views/task/TaskView.vue:46 msgid "Completion Time" msgstr "" @@ -7301,10 +7610,6 @@ msgstr "" msgid "Rewrite" msgstr "" -#: src/views/website/EditView.vue:916 -msgid "Presets" -msgstr "" - #: src/views/website/EditView.vue:928 msgid "Custom Configs" msgstr "" diff --git a/web/src/locales/zh_CN.po b/web/src/locales/zh_CN.po index 86b743bc..b083cbbd 100644 --- a/web/src/locales/zh_CN.po +++ b/web/src/locales/zh_CN.po @@ -1,5 +1,9 @@ msgid "" msgstr "" +"Project-Id-Version: acepanel\n" +"PO-Revision-Date: 2026-01-15 18:40\n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" "Content-Type: text/plain; charset=UTF-8\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Crowdin-Project: acepanel\n" @@ -7,13 +11,8 @@ msgstr "" "X-Crowdin-Language: zh-CN\n" "X-Crowdin-File: frontend.pot\n" "X-Crowdin-File-ID: 1168\n" -"Project-Id-Version: acepanel\n" -"Language-Team: Chinese Simplified\n" -"Language: zh_CN\n" -"PO-Revision-Date: 2026-01-15 18:40\n" -#: src/components/common/AppFooter.vue:13 -#: src/views/home/IndexView.vue:467 +#: src/components/common/AppFooter.vue:13 src/views/home/IndexView.vue:467 msgid "AcePanel" msgstr "AcePanel" @@ -148,14 +147,10 @@ msgid "Yearly" msgstr "每年" #: src/components/common/CronSelector.vue:44 -#: src/views/monitor/IndexView.vue:650 -#: src/views/monitor/IndexView.vue:704 -#: src/views/monitor/IndexView.vue:756 -#: src/views/monitor/IndexView.vue:812 -#: src/views/monitor/IndexView.vue:879 -#: src/views/project/CreateModal.vue:21 -#: src/views/project/CreateModal.vue:32 -#: src/views/project/CreateModal.vue:45 +#: src/views/monitor/IndexView.vue:650 src/views/monitor/IndexView.vue:704 +#: src/views/monitor/IndexView.vue:756 src/views/monitor/IndexView.vue:812 +#: src/views/monitor/IndexView.vue:879 src/views/project/CreateModal.vue:21 +#: src/views/project/CreateModal.vue:32 src/views/project/CreateModal.vue:45 #: src/views/project/CreateModal.vue:57 msgid "Custom" msgstr "自定义" @@ -165,14 +160,12 @@ msgid "Month %{month}" msgstr "%{month} 月" #: src/components/common/CronSelector.vue:170 -#: src/views/apps/nginx/NginxIndex.vue:745 -#: src/views/website/EditView.vue:346 +#: src/views/apps/nginx/NginxIndex.vue:745 src/views/website/EditView.vue:346 msgid "Minutes" msgstr "分" #: src/components/common/CronSelector.vue:181 -#: src/views/apps/nginx/NginxIndex.vue:746 -#: src/views/website/EditView.vue:347 +#: src/views/apps/nginx/NginxIndex.vue:746 src/views/website/EditView.vue:347 msgid "Hours" msgstr "时" @@ -228,14 +221,13 @@ msgstr "当前状态无法保存" #: src/components/file-editor/EditorToolbar.vue:39 #: src/views/apps/apache/IndexView.vue:42 #: src/views/apps/codeserver/IndexView.vue:23 -#: src/views/apps/docker/IndexView.vue:23 +#: src/views/apps/docker/IndexView.vue:170 +#: src/views/apps/docker/IndexView.vue:176 #: src/views/apps/fail2ban/IndexView.vue:160 -#: src/views/apps/frp/IndexView.vue:36 -#: src/views/apps/frp/IndexView.vue:44 +#: src/views/apps/frp/IndexView.vue:36 src/views/apps/frp/IndexView.vue:44 #: src/views/apps/gitea/IndexView.vue:21 #: src/views/apps/memcached/IndexView.vue:43 -#: src/views/apps/minio/IndexView.vue:21 -#: src/views/apps/mysql/MysqlIndex.vue:48 +#: src/views/apps/minio/IndexView.vue:21 src/views/apps/mysql/MysqlIndex.vue:48 #: src/views/apps/nginx/NginxIndex.vue:323 #: src/views/apps/nginx/NginxIndex.vue:382 #: src/views/apps/nginx/NginxIndex.vue:459 @@ -246,23 +238,16 @@ msgstr "当前状态无法保存" #: src/views/apps/postgresql/IndexView.vue:46 #: src/views/apps/postgresql/IndexView.vue:51 #: src/views/apps/pureftpd/IndexView.vue:115 -#: src/views/apps/redis/IndexView.vue:40 -#: src/views/apps/rsync/IndexView.vue:133 +#: src/views/apps/redis/IndexView.vue:40 src/views/apps/rsync/IndexView.vue:133 #: src/views/apps/rsync/IndexView.vue:177 #: src/views/apps/supervisor/IndexView.vue:219 #: src/views/apps/supervisor/IndexView.vue:284 -#: src/views/environment/GoView.vue:52 -#: src/views/environment/NodejsView.vue:55 -#: src/views/environment/PHPView.vue:154 -#: src/views/environment/PHPView.vue:160 -#: src/views/environment/PythonView.vue:59 -#: src/views/project/EditModal.vue:157 -#: src/views/setting/IndexView.vue:56 -#: src/views/toolbox/SystemView.vue:62 -#: src/views/toolbox/SystemView.vue:68 -#: src/views/toolbox/SystemView.vue:77 -#: src/views/toolbox/SystemView.vue:86 -#: src/views/toolbox/SystemView.vue:123 +#: src/views/environment/GoView.vue:52 src/views/environment/NodejsView.vue:55 +#: src/views/environment/PHPView.vue:154 src/views/environment/PHPView.vue:160 +#: src/views/environment/PythonView.vue:59 src/views/project/EditModal.vue:157 +#: src/views/setting/IndexView.vue:56 src/views/toolbox/SystemView.vue:62 +#: src/views/toolbox/SystemView.vue:68 src/views/toolbox/SystemView.vue:77 +#: src/views/toolbox/SystemView.vue:86 src/views/toolbox/SystemView.vue:123 #: src/views/website/EditView.vue:124 msgid "Saved successfully" msgstr "保存成功" @@ -283,29 +268,20 @@ msgstr "选择文件" #: src/views/apps/nginx/NginxIndex.vue:232 #: src/views/apps/nginx/NginxIndex.vue:572 #: src/views/apps/nginx/NginxIndex.vue:650 -#: src/views/apps/rsync/IndexView.vue:39 -#: src/views/apps/rsync/IndexView.vue:256 +#: src/views/apps/rsync/IndexView.vue:39 src/views/apps/rsync/IndexView.vue:256 #: src/views/apps/supervisor/IndexView.vue:46 #: src/views/apps/supervisor/IndexView.vue:373 #: src/views/container/ComposeView.vue:57 -#: src/views/container/NetworkView.vue:45 -#: src/views/container/VolumeView.vue:26 +#: src/views/container/NetworkView.vue:45 src/views/container/VolumeView.vue:26 #: src/views/database/CreateServerModal.vue:55 -#: src/views/database/ServerList.vue:39 -#: src/views/database/UpdateServerModal.vue:55 -#: src/views/file/ListView.vue:1305 -#: src/views/file/PropertyModal.vue:27 -#: src/views/file/ToolBar.vue:201 -#: src/views/project/ListView.vue:34 -#: src/views/ssh/CreateModal.vue:59 -#: src/views/ssh/UpdateModal.vue:65 -#: src/views/toolbox/LogView.vue:206 -#: src/views/toolbox/ProcessView.vue:109 -#: src/views/toolbox/ProcessView.vue:388 -#: src/views/toolbox/WebHookView.vue:33 -#: src/views/toolbox/WebHookView.vue:332 -#: src/views/toolbox/WebHookView.vue:367 -#: src/views/website/CreateModal.vue:123 +#: src/views/database/ServerList.vue:68 +#: src/views/database/UpdateServerModal.vue:55 src/views/file/ListView.vue:1305 +#: src/views/file/PropertyModal.vue:27 src/views/file/ToolBar.vue:201 +#: src/views/project/ListView.vue:34 src/views/ssh/CreateModal.vue:59 +#: src/views/ssh/UpdateModal.vue:65 src/views/toolbox/LogView.vue:206 +#: src/views/toolbox/ProcessView.vue:109 src/views/toolbox/ProcessView.vue:388 +#: src/views/toolbox/WebHookView.vue:33 src/views/toolbox/WebHookView.vue:332 +#: src/views/toolbox/WebHookView.vue:367 src/views/website/CreateModal.vue:123 #: src/views/website/EditView.vue:951 msgid "Name" msgstr "名称" @@ -314,95 +290,76 @@ msgstr "名称" msgid "Permissions" msgstr "权限" -#: src/components/common/PathSelector.vue:100 -#: src/views/file/ListView.vue:1316 +#: src/components/common/PathSelector.vue:100 src/views/file/ListView.vue:1316 msgid "Owner / Group" msgstr "所有者 / 组" -#: src/components/common/PathSelector.vue:112 -#: src/views/backup/ListView.vue:42 -#: src/views/container/ImageView.vue:74 -#: src/views/file/ListView.vue:1312 -#: src/views/file/PropertyModal.vue:39 -#: src/views/file/ToolBar.vue:202 -#: src/views/toolbox/DiskView.vue:275 -#: src/views/toolbox/LogView.vue:207 +#: src/components/common/PathSelector.vue:112 src/views/backup/ListView.vue:42 +#: src/views/container/ImageView.vue:74 src/views/file/ListView.vue:1312 +#: src/views/file/PropertyModal.vue:39 src/views/file/ToolBar.vue:202 +#: src/views/toolbox/DiskView.vue:275 src/views/toolbox/LogView.vue:207 msgid "Size" msgstr "大小" -#: src/components/common/PathSelector.vue:147 -#: src/views/file/ListView.vue:1455 +#: src/components/common/PathSelector.vue:147 src/views/file/ListView.vue:1455 msgid "Calculate" msgstr "计算" -#: src/components/common/PathSelector.vue:152 -#: src/views/file/ListView.vue:1321 -#: src/views/file/PropertyModal.vue:51 -#: src/views/file/ToolBar.vue:203 +#: src/components/common/PathSelector.vue:152 src/views/file/ListView.vue:1321 +#: src/views/file/PropertyModal.vue:51 src/views/file/ToolBar.vue:203 msgid "Modification Time" msgstr "修改时间" -#: src/components/common/PathSelector.vue:186 -#: src/views/file/ListView.vue:1168 +#: src/components/common/PathSelector.vue:186 src/views/file/ListView.vue:1168 #: src/views/file/PathInput.vue:30 msgid "Invalid path" msgstr "无效路径" -#: src/components/common/PathSelector.vue:246 -#: src/views/file/ListView.vue:132 -#: src/views/file/ListView.vue:683 -#: src/views/file/ToolBar.vue:36 +#: src/components/common/PathSelector.vue:246 src/views/file/ListView.vue:132 +#: src/views/file/ListView.vue:683 src/views/file/ToolBar.vue:36 msgid "Invalid name" msgstr "无效的名称" #: src/components/common/PathSelector.vue:254 #: src/components/file-editor/FileTree.vue:284 -#: src/views/app/TemplateDeployModal.vue:80 -#: src/views/backup/ListView.vue:122 +#: src/views/app/TemplateDeployModal.vue:214 src/views/backup/ListView.vue:122 #: src/views/cert/CreateAccountModal.vue:52 -#: src/views/cert/CreateCertModal.vue:50 -#: src/views/cert/CreateDnsModal.vue:35 +#: src/views/cert/CreateCertModal.vue:50 src/views/cert/CreateDnsModal.vue:35 #: src/views/cert/UploadCertModal.vue:21 #: src/views/container/ComposeView.vue:269 #: src/views/container/ContainerCreate.vue:107 #: src/views/container/NetworkView.vue:183 #: src/views/container/VolumeView.vue:137 -#: src/views/database/CreateDatabaseModal.vue:28 -#: src/views/database/CreateUserModal.vue:28 -#: src/views/file/ListView.vue:141 +#: src/views/database/CreateDatabaseModal.vue:39 +#: src/views/database/CreateUserModal.vue:39 src/views/file/ListView.vue:141 #: src/views/firewall/CreateForwardModal.vue:41 -#: src/views/setting/CreateModal.vue:19 -#: src/views/setting/TokenModal.vue:125 -#: src/views/ssh/CreateModal.vue:40 -#: src/views/task/CreateModal.vue:50 +#: src/views/setting/CreateModal.vue:19 src/views/setting/TokenModal.vue:125 +#: src/views/ssh/CreateModal.vue:40 src/views/task/CreateModal.vue:50 #: src/views/toolbox/WebHookView.vue:258 msgid "Created successfully" msgstr "创建成功" #: src/components/common/PathSelector.vue:312 -#: src/views/file/PropertyModal.vue:34 -#: src/views/file/ToolBar.vue:225 +#: src/views/file/PropertyModal.vue:34 src/views/file/ToolBar.vue:225 msgid "File" msgstr "文件" -#: src/components/common/PathSelector.vue:313 -#: src/views/file/ToolBar.vue:226 +#: src/components/common/PathSelector.vue:313 src/views/file/ToolBar.vue:226 msgid "Folder" msgstr "文件夹" #: src/components/common/PathSelector.vue:317 #: src/components/common/PathSelector.vue:380 +#: src/views/app/TemplateDeployModal.vue:629 #: src/views/container/ContainerCreate.vue:539 -#: src/views/project/CreateModal.vue:518 -#: src/views/setting/TokenModal.vue:266 +#: src/views/project/CreateModal.vue:518 src/views/setting/TokenModal.vue:266 #: src/views/toolbox/WebHookView.vue:352 #: src/views/website/BulkCreateModal.vue:129 #: src/views/website/CreateModal.vue:264 msgid "Create" msgstr "创建" -#: src/components/common/PathSelector.vue:326 -#: src/views/file/PathInput.vue:146 +#: src/components/common/PathSelector.vue:326 src/views/file/PathInput.vue:146 msgid "Root Directory" msgstr "根目录" @@ -412,19 +369,13 @@ msgstr "根目录" #: src/views/apps/nginx/NginxIndex.vue:755 #: src/views/apps/pureftpd/IndexView.vue:242 #: src/views/apps/pureftpd/IndexView.vue:264 -#: src/views/apps/rsync/IndexView.vue:305 -#: src/views/apps/s3fs/IndexView.vue:181 +#: src/views/apps/rsync/IndexView.vue:305 src/views/apps/s3fs/IndexView.vue:181 #: src/views/apps/supervisor/IndexView.vue:409 -#: src/views/backup/ListView.vue:256 -#: src/views/backup/ListView.vue:280 -#: src/views/cert/AccountView.vue:268 -#: src/views/cert/CertView.vue:524 -#: src/views/cert/CertView.vue:548 -#: src/views/cert/CreateAccountModal.vue:125 -#: src/views/cert/CreateCertModal.vue:115 -#: src/views/cert/CreateDnsModal.vue:173 -#: src/views/cert/DnsView.vue:310 -#: src/views/cert/ObtainModal.vue:130 +#: src/views/backup/ListView.vue:256 src/views/backup/ListView.vue:280 +#: src/views/cert/AccountView.vue:268 src/views/cert/CertView.vue:524 +#: src/views/cert/CertView.vue:548 src/views/cert/CreateAccountModal.vue:125 +#: src/views/cert/CreateCertModal.vue:115 src/views/cert/CreateDnsModal.vue:173 +#: src/views/cert/DnsView.vue:310 src/views/cert/ObtainModal.vue:130 #: src/views/cert/UploadCertModal.vue:55 #: src/views/container/ComposeView.vue:377 #: src/views/container/ComposeView.vue:403 @@ -432,20 +383,16 @@ msgstr "根目录" #: src/views/container/ImageView.vue:405 #: src/views/container/NetworkView.vue:330 #: src/views/container/VolumeView.vue:230 -#: src/views/database/CreateDatabaseModal.vue:132 +#: src/views/database/CreateDatabaseModal.vue:148 #: src/views/database/CreateServerModal.vue:120 -#: src/views/database/CreateUserModal.vue:125 +#: src/views/database/CreateUserModal.vue:141 #: src/views/database/UpdateServerModal.vue:112 -#: src/views/database/UpdateUserModal.vue:79 -#: src/views/file/ToolBar.vue:299 +#: src/views/database/UpdateUserModal.vue:79 src/views/file/ToolBar.vue:299 #: src/views/firewall/CreateForwardModal.vue:88 #: src/views/firewall/CreateIpModal.vue:121 -#: src/views/firewall/CreateModal.vue:155 -#: src/views/setting/CreateModal.vue:64 -#: src/views/setting/PasswordModal.vue:44 -#: src/views/setting/TwoFaModal.vue:87 -#: src/views/ssh/CreateModal.vue:109 -#: src/views/ssh/UpdateModal.vue:115 +#: src/views/firewall/CreateModal.vue:155 src/views/setting/CreateModal.vue:64 +#: src/views/setting/PasswordModal.vue:44 src/views/setting/TwoFaModal.vue:87 +#: src/views/ssh/CreateModal.vue:109 src/views/ssh/UpdateModal.vue:115 #: src/views/task/CreateModal.vue:157 msgid "Submit" msgstr "提交" @@ -475,31 +422,24 @@ msgstr "连接失败" #: src/components/common/PtyTerminalModal.vue:195 #: src/components/common/PtyTerminalModal.vue:199 #: src/layout/header/components/UserAvatar.vue:29 -#: src/views/home/UpdateView.vue:26 -#: src/views/monitor/IndexView.vue:600 -#: src/views/toolbox/DiskView.vue:403 -#: src/views/toolbox/DiskView.vue:405 -#: src/views/toolbox/DiskView.vue:428 -#: src/views/toolbox/DiskView.vue:430 -#: src/views/toolbox/DiskView.vue:500 -#: src/views/toolbox/DiskView.vue:504 -#: src/views/toolbox/DiskView.vue:523 -#: src/views/toolbox/DiskView.vue:542 -#: src/views/toolbox/DiskView.vue:546 -#: src/views/toolbox/DiskView.vue:567 -#: src/views/toolbox/DiskView.vue:586 -#: src/views/toolbox/DiskView.vue:594 -#: src/views/toolbox/DiskView.vue:616 -#: src/views/toolbox/DiskView.vue:635 -#: src/views/toolbox/DiskView.vue:640 -#: src/views/toolbox/DiskView.vue:663 -#: src/views/toolbox/ProcessView.vue:236 +#: src/views/app/TemplateDeployModal.vue:319 src/views/home/UpdateView.vue:26 +#: src/views/monitor/IndexView.vue:600 src/views/toolbox/DiskView.vue:403 +#: src/views/toolbox/DiskView.vue:405 src/views/toolbox/DiskView.vue:428 +#: src/views/toolbox/DiskView.vue:430 src/views/toolbox/DiskView.vue:500 +#: src/views/toolbox/DiskView.vue:504 src/views/toolbox/DiskView.vue:523 +#: src/views/toolbox/DiskView.vue:542 src/views/toolbox/DiskView.vue:546 +#: src/views/toolbox/DiskView.vue:567 src/views/toolbox/DiskView.vue:586 +#: src/views/toolbox/DiskView.vue:594 src/views/toolbox/DiskView.vue:616 +#: src/views/toolbox/DiskView.vue:635 src/views/toolbox/DiskView.vue:640 +#: src/views/toolbox/DiskView.vue:663 src/views/toolbox/ProcessView.vue:236 #: src/views/toolbox/ProcessView.vue:241 msgid "Confirm" msgstr "确认" #: src/components/common/PtyTerminalModal.vue:196 -msgid "Command may still running. Closing the window will terminate the command. Are you sure?" +msgid "" +"Command may still running. Closing the window will terminate the command. " +"Are you sure?" msgstr "命令可能仍在运行。关闭窗口将终止命令。您确定吗?" #: src/components/common/PtyTerminalModal.vue:200 @@ -507,44 +447,30 @@ msgstr "命令可能仍在运行。关闭窗口将终止命令。您确定吗? #: src/components/file-editor/EditorToolbar.vue:101 #: src/components/file-editor/FileTree.vue:603 #: src/layout/header/components/UserAvatar.vue:30 -#: src/views/app/TemplateDeployModal.vue:229 +#: src/views/app/TemplateDeployModal.vue:614 #: src/views/container/ContainerCreate.vue:536 #: src/views/container/ImagePullModal.vue:184 #: src/views/container/ImagePullModal.vue:198 -#: src/views/container/ImageView.vue:351 -#: src/views/container/ImageView.vue:366 -#: src/views/file/ListView.vue:245 -#: src/views/file/ListView.vue:696 -#: src/views/file/ListView.vue:820 -#: src/views/file/ToolBar.vue:124 -#: src/views/file/ToolBar.vue:259 -#: src/views/file/UploadModal.vue:335 -#: src/views/file/UploadModal.vue:444 -#: src/views/home/UpdateView.vue:27 -#: src/views/project/EditModal.vue:572 -#: src/views/toolbox/DiskView.vue:406 -#: src/views/toolbox/DiskView.vue:431 -#: src/views/toolbox/DiskView.vue:454 -#: src/views/toolbox/DiskView.vue:480 -#: src/views/toolbox/DiskView.vue:505 -#: src/views/toolbox/DiskView.vue:524 -#: src/views/toolbox/DiskView.vue:547 -#: src/views/toolbox/DiskView.vue:568 -#: src/views/toolbox/DiskView.vue:595 -#: src/views/toolbox/DiskView.vue:617 -#: src/views/toolbox/DiskView.vue:641 -#: src/views/toolbox/DiskView.vue:664 -#: src/views/toolbox/ProcessView.vue:242 +#: src/views/container/ImageView.vue:351 src/views/container/ImageView.vue:366 +#: src/views/file/ListView.vue:245 src/views/file/ListView.vue:696 +#: src/views/file/ListView.vue:820 src/views/file/ToolBar.vue:124 +#: src/views/file/ToolBar.vue:259 src/views/file/UploadModal.vue:335 +#: src/views/file/UploadModal.vue:444 src/views/home/UpdateView.vue:27 +#: src/views/project/EditModal.vue:572 src/views/toolbox/DiskView.vue:406 +#: src/views/toolbox/DiskView.vue:431 src/views/toolbox/DiskView.vue:454 +#: src/views/toolbox/DiskView.vue:480 src/views/toolbox/DiskView.vue:505 +#: src/views/toolbox/DiskView.vue:524 src/views/toolbox/DiskView.vue:547 +#: src/views/toolbox/DiskView.vue:568 src/views/toolbox/DiskView.vue:595 +#: src/views/toolbox/DiskView.vue:617 src/views/toolbox/DiskView.vue:641 +#: src/views/toolbox/DiskView.vue:664 src/views/toolbox/ProcessView.vue:242 msgid "Cancel" msgstr "取消" -#: src/components/common/PtyTerminalModal.vue:252 -#: src/locales/menu.ts:19 +#: src/components/common/PtyTerminalModal.vue:252 src/locales/menu.ts:19 #: src/views/container/ContainerView.vue:124 #: src/views/container/ContainerView.vue:637 -#: src/views/file/ListView.vue:338 -#: src/views/file/ListView.vue:937 -#: src/views/file/ToolBar.vue:234 +#: src/views/database/ServerList.vue:177 src/views/file/ListView.vue:338 +#: src/views/file/ListView.vue:937 src/views/file/ToolBar.vue:234 msgid "Terminal" msgstr "终端" @@ -562,41 +488,30 @@ msgstr "获取日志流失败" msgid "No logs available" msgstr "暂无日志数据" -#: src/components/common/RealtimeLogModal.vue:72 -#: src/locales/menu.ts:15 +#: src/components/common/RealtimeLogModal.vue:72 src/locales/menu.ts:15 #: src/views/apps/supervisor/IndexView.vue:89 #: src/views/container/ContainerView.vue:137 -#: src/views/container/ContainerView.vue:605 -#: src/views/project/ListView.vue:111 -#: src/views/project/ListView.vue:249 -#: src/views/task/CronView.vue:116 +#: src/views/container/ContainerView.vue:605 src/views/project/ListView.vue:137 +#: src/views/project/ListView.vue:289 src/views/task/CronView.vue:116 #: src/views/task/TaskView.vue:74 msgid "Logs" msgstr "日志" -#: src/components/common/ServiceStatus.vue:25 -#: src/views/home/IndexView.vue:770 -#: src/views/home/IndexView.vue:778 -#: src/views/home/IndexView.vue:785 -#: src/views/home/IndexView.vue:791 -#: src/views/home/IndexView.vue:802 +#: src/components/common/ServiceStatus.vue:25 src/views/home/IndexView.vue:770 +#: src/views/home/IndexView.vue:778 src/views/home/IndexView.vue:785 +#: src/views/home/IndexView.vue:791 src/views/home/IndexView.vue:802 #: src/views/home/IndexView.vue:814 msgid "Loading..." msgstr "加载中……" -#: src/components/common/ServiceStatus.vue:26 -#: src/views/project/ListView.vue:63 -#: src/views/task/TaskView.vue:33 -#: src/views/toolbox/ProcessView.vue:48 -#: src/views/toolbox/ProcessView.vue:80 -#: src/views/website/ListView.vue:28 +#: src/components/common/ServiceStatus.vue:26 src/views/project/ListView.vue:67 +#: src/views/task/TaskView.vue:33 src/views/toolbox/ProcessView.vue:48 +#: src/views/toolbox/ProcessView.vue:80 src/views/website/ListView.vue:28 msgid "Running" msgstr "运行中" -#: src/components/common/ServiceStatus.vue:26 -#: src/views/project/ListView.vue:63 -#: src/views/toolbox/ProcessView.vue:50 -#: src/views/toolbox/ProcessView.vue:86 +#: src/components/common/ServiceStatus.vue:26 src/views/project/ListView.vue:69 +#: src/views/toolbox/ProcessView.vue:50 src/views/toolbox/ProcessView.vue:86 msgid "Stopped" msgstr "已停止" @@ -606,8 +521,7 @@ msgstr "正在启动……" #: src/components/common/ServiceStatus.vue:48 #: src/views/apps/supervisor/IndexView.vue:240 -#: src/views/project/ListView.vue:168 -#: src/views/website/ListView.vue:228 +#: src/views/project/ListView.vue:194 src/views/website/ListView.vue:228 msgid "Started successfully" msgstr "启动成功" @@ -618,8 +532,7 @@ msgstr "停止中..." #: src/components/common/ServiceStatus.vue:63 #: src/views/apps/supervisor/IndexView.vue:247 -#: src/views/project/ListView.vue:163 -#: src/views/website/ListView.vue:230 +#: src/views/project/ListView.vue:189 src/views/website/ListView.vue:230 msgid "Stopped successfully" msgstr "停止成功" @@ -655,18 +568,16 @@ msgstr "自启动已成功禁用" #: src/components/common/ServiceStatus.vue:134 #: src/views/apps/apache/IndexView.vue:56 #: src/views/apps/codeserver/IndexView.vue:31 -#: src/views/apps/docker/IndexView.vue:31 +#: src/views/apps/docker/IndexView.vue:191 #: src/views/apps/fail2ban/IndexView.vue:228 #: src/views/apps/gitea/IndexView.vue:29 #: src/views/apps/memcached/IndexView.vue:51 -#: src/views/apps/minio/IndexView.vue:29 -#: src/views/apps/mysql/MysqlIndex.vue:80 +#: src/views/apps/minio/IndexView.vue:29 src/views/apps/mysql/MysqlIndex.vue:80 #: src/views/apps/nginx/NginxIndex.vue:476 #: src/views/apps/podman/IndexView.vue:39 #: src/views/apps/postgresql/IndexView.vue:63 #: src/views/apps/pureftpd/IndexView.vue:158 -#: src/views/apps/redis/IndexView.vue:48 -#: src/views/apps/rsync/IndexView.vue:191 +#: src/views/apps/redis/IndexView.vue:48 src/views/apps/rsync/IndexView.vue:191 #: src/views/apps/supervisor/IndexView.vue:298 #: src/views/container/ContainerView.vue:102 #: src/views/environment/PHPView.vue:192 @@ -685,8 +596,7 @@ msgstr "自启动关闭" #: src/views/apps/supervisor/IndexView.vue:115 #: src/views/container/ComposeView.vue:173 #: src/views/container/ContainerView.vue:161 -#: src/views/container/ContainerView.vue:558 -#: src/views/project/ListView.vue:101 +#: src/views/container/ContainerView.vue:558 src/views/project/ListView.vue:127 msgid "Start" msgstr "启动" @@ -694,8 +604,7 @@ msgstr "启动" #: src/views/apps/supervisor/IndexView.vue:140 #: src/views/container/ComposeView.vue:212 #: src/views/container/ContainerView.vue:166 -#: src/views/container/ContainerView.vue:561 -#: src/views/project/ListView.vue:101 +#: src/views/container/ContainerView.vue:561 src/views/project/ListView.vue:127 msgid "Stop" msgstr "停止" @@ -706,8 +615,7 @@ msgstr "您确定要停止 %{ service } 吗?" #: src/components/common/ServiceStatus.vue:162 #: src/views/apps/supervisor/IndexView.vue:168 #: src/views/container/ContainerView.vue:171 -#: src/views/container/ContainerView.vue:564 -#: src/views/home/IndexView.vue:475 +#: src/views/container/ContainerView.vue:564 src/views/home/IndexView.vue:475 msgid "Restart" msgstr "重启" @@ -801,10 +709,8 @@ msgstr "此文件有未保存的更改。刷新将丢弃它们。是否继续? #: src/components/file-editor/EditorToolbar.vue:200 #: src/components/file-editor/EditorToolbar.vue:205 #: src/components/file-editor/FileTree.vue:695 -#: src/views/log/DatabaseLog.vue:108 -#: src/views/log/HttpLog.vue:133 -#: src/views/log/OperationLog.vue:106 -#: src/views/toolbox/ProcessView.vue:329 +#: src/views/log/DatabaseLog.vue:108 src/views/log/HttpLog.vue:133 +#: src/views/log/OperationLog.vue:106 src/views/toolbox/ProcessView.vue:329 msgid "Refresh" msgstr "刷新" @@ -819,12 +725,10 @@ msgstr "保存(Ctrl+S)" #: src/components/file-editor/EditorToolbar.vue:184 #: src/views/apps/apache/IndexView.vue:72 #: src/views/apps/codeserver/IndexView.vue:46 -#: src/views/apps/docker/IndexView.vue:42 -#: src/views/apps/frp/IndexView.vue:63 -#: src/views/apps/frp/IndexView.vue:78 -#: src/views/apps/frp/IndexView.vue:91 -#: src/views/apps/frp/IndexView.vue:106 -#: src/views/apps/gitea/IndexView.vue:44 +#: src/views/apps/docker/IndexView.vue:458 +#: src/views/apps/docker/IndexView.vue:472 src/views/apps/frp/IndexView.vue:63 +#: src/views/apps/frp/IndexView.vue:78 src/views/apps/frp/IndexView.vue:91 +#: src/views/apps/frp/IndexView.vue:106 src/views/apps/gitea/IndexView.vue:44 #: src/views/apps/memcached/IndexView.vue:59 #: src/views/apps/minio/IndexView.vue:44 #: src/views/apps/mysql/MysqlIndex.vue:111 @@ -836,25 +740,16 @@ msgstr "保存(Ctrl+S)" #: src/views/apps/postgresql/IndexView.vue:78 #: src/views/apps/postgresql/IndexView.vue:95 #: src/views/apps/pureftpd/IndexView.vue:165 -#: src/views/apps/redis/IndexView.vue:63 -#: src/views/apps/rsync/IndexView.vue:235 +#: src/views/apps/redis/IndexView.vue:63 src/views/apps/rsync/IndexView.vue:235 #: src/views/apps/supervisor/IndexView.vue:342 -#: src/views/environment/GoView.vue:90 -#: src/views/environment/NodejsView.vue:93 -#: src/views/environment/PHPView.vue:238 -#: src/views/environment/PHPView.vue:256 -#: src/views/environment/PythonView.vue:97 -#: src/views/project/EditModal.vue:575 -#: src/views/setting/IndexView.vue:107 -#: src/views/task/CronView.vue:259 -#: src/views/toolbox/SshView.vue:239 -#: src/views/toolbox/SystemView.vue:152 -#: src/views/toolbox/SystemView.vue:176 -#: src/views/toolbox/SystemView.vue:194 -#: src/views/toolbox/SystemView.vue:232 -#: src/views/toolbox/SystemView.vue:304 -#: src/views/toolbox/WebHookView.vue:390 -#: src/views/website/EditView.vue:1016 +#: src/views/environment/GoView.vue:90 src/views/environment/NodejsView.vue:93 +#: src/views/environment/PHPView.vue:238 src/views/environment/PHPView.vue:256 +#: src/views/environment/PythonView.vue:97 src/views/project/EditModal.vue:575 +#: src/views/setting/IndexView.vue:107 src/views/task/CronView.vue:259 +#: src/views/toolbox/SshView.vue:239 src/views/toolbox/SystemView.vue:152 +#: src/views/toolbox/SystemView.vue:176 src/views/toolbox/SystemView.vue:194 +#: src/views/toolbox/SystemView.vue:232 src/views/toolbox/SystemView.vue:304 +#: src/views/toolbox/WebHookView.vue:390 src/views/website/EditView.vue:1016 msgid "Save" msgstr "保存" @@ -900,8 +795,7 @@ msgid "Toggle Minimap" msgstr "切换小地图" #: src/components/file-editor/EditorToolbar.vue:291 -#: src/views/firewall/IndexView.vue:23 -#: src/views/website/IndexView.vue:24 +#: src/views/firewall/IndexView.vue:23 src/views/website/IndexView.vue:24 msgid "Settings" msgstr "设置" @@ -973,19 +867,13 @@ msgid "Render Whitespace" msgstr "渲染空格" #: src/components/file-editor/FileEditorView.vue:207 -#: src/views/cert/CertView.vue:69 -#: src/views/cert/CertView.vue:123 -#: src/views/cert/CertView.vue:134 -#: src/views/cert/CertView.vue:152 -#: src/views/container/ContainerCreate.vue:51 -#: src/views/database/ServerList.vue:51 -#: src/views/database/ServerList.vue:66 -#: src/views/database/UserList.vue:45 -#: src/views/database/UserList.vue:85 -#: src/views/firewall/ForwardView.vue:25 -#: src/views/firewall/IpRuleView.vue:25 -#: src/views/firewall/IpRuleView.vue:42 -#: src/views/firewall/RuleView.vue:25 +#: src/views/apps/docker/IndexView.vue:83 src/views/cert/CertView.vue:69 +#: src/views/cert/CertView.vue:123 src/views/cert/CertView.vue:134 +#: src/views/cert/CertView.vue:152 src/views/container/ContainerCreate.vue:51 +#: src/views/database/ServerList.vue:80 src/views/database/ServerList.vue:95 +#: src/views/database/UserList.vue:45 src/views/database/UserList.vue:85 +#: src/views/firewall/ForwardView.vue:25 src/views/firewall/IpRuleView.vue:25 +#: src/views/firewall/IpRuleView.vue:42 src/views/firewall/RuleView.vue:25 #: src/views/firewall/RuleView.vue:42 msgid "None" msgstr "无" @@ -1003,10 +891,8 @@ msgid "Trailing" msgstr "尾部" #: src/components/file-editor/FileEditorView.vue:211 -#: src/views/app/AppView.vue:229 -#: src/views/app/EnvironmentView.vue:217 -#: src/views/app/TemplateView.vue:61 -#: src/views/firewall/RuleView.vue:150 +#: src/views/app/AppView.vue:229 src/views/app/EnvironmentView.vue:217 +#: src/views/app/TemplateView.vue:72 src/views/firewall/RuleView.vue:150 #: src/views/project/IndexView.vue:21 msgid "All" msgstr "全部" @@ -1099,8 +985,7 @@ msgstr "粘贴时格式化" msgid "Format On Type" msgstr "输入时格式化" -#: src/components/file-editor/FileTree.vue:154 -#: src/views/file/EditModal.vue:50 +#: src/components/file-editor/FileTree.vue:154 src/views/file/EditModal.vue:50 msgid "Failed to load file" msgstr "加载文件失败" @@ -1108,22 +993,19 @@ msgstr "加载文件失败" msgid "Failed to create" msgstr "创建失败" -#: src/components/file-editor/FileTree.vue:378 -#: src/views/file/ListView.vue:1342 +#: src/components/file-editor/FileTree.vue:378 src/views/file/ListView.vue:1342 #: src/views/file/ListView.vue:1363 msgid "Folder name" msgstr "文件夹名" -#: src/components/file-editor/FileTree.vue:378 -#: src/views/file/ListView.vue:1342 +#: src/components/file-editor/FileTree.vue:378 src/views/file/ListView.vue:1342 #: src/views/file/ListView.vue:1363 msgid "File name" msgstr "文件名" #: src/components/file-editor/FileTree.vue:477 #: src/views/container/ContainerView.vue:153 -#: src/views/container/ContainerView.vue:616 -#: src/views/file/ListView.vue:336 +#: src/views/container/ContainerView.vue:616 src/views/file/ListView.vue:336 #: src/views/file/ListView.vue:1518 msgid "Rename" msgstr "重命名" @@ -1137,49 +1019,32 @@ msgstr "重命名" #: src/views/apps/nginx/NginxIndex.vue:709 #: src/views/apps/pureftpd/IndexView.vue:88 #: src/views/apps/rsync/IndexView.vue:105 -#: src/views/apps/supervisor/IndexView.vue:195 -#: src/views/backup/ListView.vue:96 -#: src/views/cert/AccountView.vue:127 -#: src/views/cert/CertView.vue:303 -#: src/views/cert/DnsView.vue:111 -#: src/views/container/ComposeView.vue:243 +#: src/views/apps/supervisor/IndexView.vue:195 src/views/backup/ListView.vue:96 +#: src/views/cert/AccountView.vue:127 src/views/cert/CertView.vue:303 +#: src/views/cert/DnsView.vue:111 src/views/container/ComposeView.vue:243 #: src/views/container/ComposeView.vue:323 #: src/views/container/ContainerView.vue:191 #: src/views/container/ContainerView.vue:576 -#: src/views/container/ImageView.vue:115 -#: src/views/container/ImageView.vue:275 +#: src/views/container/ImageView.vue:115 src/views/container/ImageView.vue:275 #: src/views/container/NetworkView.vue:134 #: src/views/container/NetworkView.vue:208 -#: src/views/container/VolumeView.vue:88 -#: src/views/container/VolumeView.vue:162 +#: src/views/container/VolumeView.vue:88 src/views/container/VolumeView.vue:162 #: src/views/database/DatabaseList.vue:101 -#: src/views/database/ServerList.vue:214 -#: src/views/database/UserList.vue:189 -#: src/views/environment/PHPView.vue:106 -#: src/views/file/ListView.vue:293 -#: src/views/file/ListView.vue:343 -#: src/views/file/ListView.vue:1523 -#: src/views/file/ToolBar.vue:272 -#: src/views/firewall/ForwardView.vue:103 -#: src/views/firewall/IpRuleView.vue:145 -#: src/views/firewall/RuleView.vue:182 -#: src/views/project/ListView.vue:140 -#: src/views/project/ListView.vue:218 -#: src/views/setting/SettingUser.vue:139 -#: src/views/setting/TokenModal.vue:91 -#: src/views/ssh/IndexView.vue:91 -#: src/views/task/CronView.vue:149 -#: src/views/task/TaskView.vue:97 -#: src/views/toolbox/WebHookView.vue:179 -#: src/views/website/ListView.vue:195 -#: src/views/website/ListView.vue:289 +#: src/views/database/ServerList.vue:255 src/views/database/UserList.vue:189 +#: src/views/environment/PHPView.vue:106 src/views/file/ListView.vue:293 +#: src/views/file/ListView.vue:343 src/views/file/ListView.vue:1523 +#: src/views/file/ToolBar.vue:272 src/views/firewall/ForwardView.vue:103 +#: src/views/firewall/IpRuleView.vue:145 src/views/firewall/RuleView.vue:182 +#: src/views/project/ListView.vue:166 src/views/project/ListView.vue:258 +#: src/views/setting/SettingUser.vue:139 src/views/setting/TokenModal.vue:91 +#: src/views/ssh/IndexView.vue:91 src/views/task/CronView.vue:149 +#: src/views/task/TaskView.vue:97 src/views/toolbox/WebHookView.vue:179 +#: src/views/website/ListView.vue:195 src/views/website/ListView.vue:289 msgid "Delete" msgstr "删除" -#: src/components/file-editor/FileTree.vue:481 -#: src/views/file/ListView.vue:327 -#: src/views/file/ListView.vue:1513 -#: src/views/monitor/IndexView.vue:498 +#: src/components/file-editor/FileTree.vue:481 src/views/file/ListView.vue:327 +#: src/views/file/ListView.vue:1513 src/views/monitor/IndexView.vue:498 #: src/views/toolbox/SshView.vue:301 msgid "Download" msgstr "下载" @@ -1194,8 +1059,7 @@ msgstr "重命名失败" #: src/components/file-editor/FileTree.vue:601 #: src/views/apps/nginx/NginxIndex.vue:207 -#: src/views/apps/nginx/NginxIndex.vue:283 -#: src/views/file/ListView.vue:1526 +#: src/views/apps/nginx/NginxIndex.vue:283 src/views/file/ListView.vue:1526 msgid "Are you sure you want to delete %{ name }?" msgstr "您确定要删除 %{ name } 吗?" @@ -1204,34 +1068,22 @@ msgstr "您确定要删除 %{ name } 吗?" #: src/views/apps/nginx/NginxIndex.vue:390 #: src/views/apps/nginx/NginxIndex.vue:467 #: src/views/apps/pureftpd/IndexView.vue:145 -#: src/views/apps/rsync/IndexView.vue:158 -#: src/views/apps/s3fs/IndexView.vue:89 +#: src/views/apps/rsync/IndexView.vue:158 src/views/apps/s3fs/IndexView.vue:89 #: src/views/apps/supervisor/IndexView.vue:261 -#: src/views/backup/ListView.vue:145 -#: src/views/container/ImageView.vue:156 +#: src/views/backup/ListView.vue:145 src/views/container/ImageView.vue:156 #: src/views/container/NetworkView.vue:175 #: src/views/container/VolumeView.vue:129 #: src/views/database/DatabaseList.vue:125 -#: src/views/database/ServerList.vue:238 -#: src/views/database/UserList.vue:213 -#: src/views/file/ListView.vue:751 -#: src/views/file/ListView.vue:771 -#: src/views/file/ToolBar.vue:169 -#: src/views/firewall/ForwardView.vue:129 -#: src/views/firewall/ForwardView.vue:147 -#: src/views/firewall/IpRuleView.vue:171 -#: src/views/firewall/IpRuleView.vue:189 -#: src/views/firewall/RuleView.vue:208 -#: src/views/firewall/RuleView.vue:226 -#: src/views/project/ListView.vue:186 -#: src/views/project/ListView.vue:196 -#: src/views/setting/SettingUser.vue:174 -#: src/views/setting/TokenModal.vue:114 -#: src/views/task/CronView.vue:191 -#: src/views/task/TaskView.vue:122 -#: src/views/toolbox/WebHookView.vue:236 -#: src/views/website/ListView.vue:254 -#: src/views/website/ListView.vue:264 +#: src/views/database/ServerList.vue:279 src/views/database/UserList.vue:213 +#: src/views/file/ListView.vue:751 src/views/file/ListView.vue:771 +#: src/views/file/ToolBar.vue:169 src/views/firewall/ForwardView.vue:129 +#: src/views/firewall/ForwardView.vue:147 src/views/firewall/IpRuleView.vue:171 +#: src/views/firewall/IpRuleView.vue:189 src/views/firewall/RuleView.vue:208 +#: src/views/firewall/RuleView.vue:226 src/views/project/ListView.vue:226 +#: src/views/project/ListView.vue:236 src/views/setting/SettingUser.vue:174 +#: src/views/setting/TokenModal.vue:114 src/views/task/CronView.vue:191 +#: src/views/task/TaskView.vue:122 src/views/toolbox/WebHookView.vue:236 +#: src/views/website/ListView.vue:254 src/views/website/ListView.vue:264 msgid "Deleted successfully" msgstr "删除成功" @@ -1251,8 +1103,7 @@ msgstr "新文件" msgid "New Folder" msgstr "新文件夹" -#: src/components/file-editor/FileTree.vue:707 -#: src/views/file/ToolBar.vue:230 +#: src/components/file-editor/FileTree.vue:707 src/views/file/ToolBar.vue:230 msgid "New" msgstr "新建" @@ -1296,8 +1147,7 @@ msgstr "切换主题" #: src/layout/header/components/UserAvatar.vue:13 #: src/views/apps/pureftpd/IndexView.vue:65 #: src/views/apps/pureftpd/IndexView.vue:249 -#: src/views/setting/PasswordModal.vue:26 -#: src/views/setting/SettingUser.vue:117 +#: src/views/setting/PasswordModal.vue:26 src/views/setting/SettingUser.vue:117 msgid "Change Password" msgstr "更改密码" @@ -1317,12 +1167,9 @@ msgstr "提示" msgid "Logged out successfully!" msgstr "退出登录成功!" -#: src/layout/header/components/UserAvatar.vue:48 -#: src/views/cert/DnsView.vue:56 -#: src/views/firewall/IpRuleView.vue:76 -#: src/views/firewall/IpRuleView.vue:101 -#: src/views/firewall/RuleView.vue:110 -#: src/views/firewall/RuleView.vue:135 +#: src/layout/header/components/UserAvatar.vue:48 src/views/cert/DnsView.vue:56 +#: src/views/firewall/IpRuleView.vue:76 src/views/firewall/IpRuleView.vue:101 +#: src/views/firewall/RuleView.vue:110 src/views/firewall/RuleView.vue:135 #: src/views/toolbox/DiskView.vue:172 msgid "Unknown" msgstr "未知" @@ -1351,12 +1198,9 @@ msgstr "应用" msgid "Backup" msgstr "备份" -#: src/locales/menu.ts:9 -#: src/views/cert/CertView.vue:486 -#: src/views/cert/CertView.vue:563 -#: src/views/cert/IndexView.vue:96 -#: src/views/cert/UploadCertModal.vue:38 -#: src/views/setting/SettingSafe.vue:290 +#: src/locales/menu.ts:9 src/views/cert/CertView.vue:486 +#: src/views/cert/CertView.vue:563 src/views/cert/IndexView.vue:96 +#: src/views/cert/UploadCertModal.vue:38 src/views/setting/SettingSafe.vue:290 #: src/views/website/EditView.vue:893 msgid "Certificate" msgstr "证书" @@ -1365,10 +1209,8 @@ msgstr "证书" msgid "Container" msgstr "容器" -#: src/locales/menu.ts:11 -#: src/views/backup/ListView.vue:276 -#: src/views/database/IndexView.vue:27 -#: src/views/home/IndexView.vue:453 +#: src/locales/menu.ts:11 src/views/backup/ListView.vue:276 +#: src/views/database/IndexView.vue:27 src/views/home/IndexView.vue:453 #: src/views/website/CreateModal.vue:170 msgid "Database" msgstr "数据库" @@ -1405,24 +1247,18 @@ msgstr "任务" msgid "Toolbox" msgstr "工具箱" -#: src/locales/menu.ts:22 -#: src/views/app/AppView.vue:93 +#: src/locales/menu.ts:22 src/views/app/AppView.vue:93 #: src/views/app/EnvironmentView.vue:78 -#: src/views/home/IndexView.vue:479 +#: src/views/app/TemplateDeployModal.vue:629 src/views/home/IndexView.vue:479 #: src/views/setting/TokenModal.vue:299 msgid "Update" msgstr "更新" -#: src/locales/menu.ts:23 -#: src/views/apps/fail2ban/IndexView.vue:315 -#: src/views/backup/IndexView.vue:37 -#: src/views/backup/ListView.vue:232 -#: src/views/backup/ListView.vue:269 -#: src/views/cert/CertView.vue:455 -#: src/views/cert/CertView.vue:538 -#: src/views/cert/CreateCertModal.vue:90 -#: src/views/home/IndexView.vue:449 -#: src/views/task/CreateModal.vue:118 +#: src/locales/menu.ts:23 src/views/apps/fail2ban/IndexView.vue:315 +#: src/views/backup/IndexView.vue:37 src/views/backup/ListView.vue:232 +#: src/views/backup/ListView.vue:269 src/views/cert/CertView.vue:455 +#: src/views/cert/CertView.vue:538 src/views/cert/CreateCertModal.vue:90 +#: src/views/home/IndexView.vue:449 src/views/task/CreateModal.vue:118 msgid "Website" msgstr "网站" @@ -1450,15 +1286,12 @@ msgstr "Rsync 管理器" msgid "Frp Manager" msgstr "Frp 管理器" -#: src/router/routes/index.ts:18 -#: src/views/login/IndexView.vue:229 +#: src/router/routes/index.ts:18 src/views/login/IndexView.vue:229 msgid "Login" msgstr "登录" -#: src/views/app/AppView.vue:17 -#: src/views/app/AppView.vue:152 -#: src/views/app/AppView.vue:157 -#: src/views/app/EnvironmentView.vue:145 +#: src/views/app/AppView.vue:17 src/views/app/AppView.vue:152 +#: src/views/app/AppView.vue:157 src/views/app/EnvironmentView.vue:145 #: src/views/environment/PHPView.vue:79 msgid "Install" msgstr "安装" @@ -1467,16 +1300,13 @@ msgstr "安装" msgid "App Name" msgstr "应用名称" -#: src/views/app/AppView.vue:40 -#: src/views/app/EnvironmentView.vue:33 -#: src/views/environment/PHPView.vue:48 -#: src/views/project/EditModal.vue:188 +#: src/views/app/AppView.vue:40 src/views/app/EnvironmentView.vue:33 +#: src/views/environment/PHPView.vue:48 src/views/project/EditModal.vue:188 #: src/views/project/ListView.vue:41 msgid "Description" msgstr "描述" -#: src/views/app/AppView.vue:46 -#: src/views/app/EnvironmentView.vue:45 +#: src/views/app/AppView.vue:46 src/views/app/EnvironmentView.vue:45 msgid "Installed Version" msgstr "已安装版本" @@ -1484,65 +1314,52 @@ msgstr "已安装版本" msgid "Show in Home" msgstr "在主页显示" -#: src/views/app/AppView.vue:65 -#: src/views/app/EnvironmentView.vue:51 +#: src/views/app/AppView.vue:65 src/views/app/EnvironmentView.vue:51 #: src/views/apps/fail2ban/IndexView.vue:59 #: src/views/apps/fail2ban/IndexView.vue:118 #: src/views/apps/nginx/NginxIndex.vue:184 #: src/views/apps/nginx/NginxIndex.vue:260 #: src/views/apps/nginx/NginxIndex.vue:696 #: src/views/apps/pureftpd/IndexView.vue:46 -#: src/views/apps/rsync/IndexView.vue:68 -#: src/views/apps/s3fs/IndexView.vue:32 -#: src/views/apps/supervisor/IndexView.vue:74 -#: src/views/backup/ListView.vue:57 -#: src/views/cert/AccountView.vue:79 -#: src/views/cert/CertView.vue:170 -#: src/views/cert/DnsView.vue:64 -#: src/views/container/ComposeView.vue:100 +#: src/views/apps/rsync/IndexView.vue:68 src/views/apps/s3fs/IndexView.vue:32 +#: src/views/apps/supervisor/IndexView.vue:74 src/views/backup/ListView.vue:57 +#: src/views/cert/AccountView.vue:79 src/views/cert/CertView.vue:170 +#: src/views/cert/DnsView.vue:64 src/views/container/ComposeView.vue:100 #: src/views/container/ContainerView.vue:109 -#: src/views/container/ImageView.vue:90 -#: src/views/container/NetworkView.vue:109 -#: src/views/container/VolumeView.vue:63 -#: src/views/database/DatabaseList.vue:77 -#: src/views/database/ServerList.vue:134 -#: src/views/database/UserList.vue:151 -#: src/views/environment/PHPView.vue:55 -#: src/views/file/ListView.vue:1324 -#: src/views/firewall/ForwardView.vue:79 -#: src/views/firewall/IpRuleView.vue:121 -#: src/views/firewall/RuleView.vue:158 -#: src/views/project/ListView.vue:88 -#: src/views/setting/SettingUser.vue:85 -#: src/views/setting/TokenModal.vue:52 -#: src/views/task/CronView.vue:98 -#: src/views/task/TaskView.vue:55 -#: src/views/toolbox/DiskView.vue:340 -#: src/views/toolbox/DiskView.vue:831 -#: src/views/toolbox/WebHookView.vue:131 -#: src/views/website/ListView.vue:123 +#: src/views/container/ImageView.vue:90 src/views/container/NetworkView.vue:109 +#: src/views/container/VolumeView.vue:63 src/views/database/DatabaseList.vue:77 +#: src/views/database/ServerList.vue:163 src/views/database/UserList.vue:151 +#: src/views/environment/PHPView.vue:55 src/views/file/ListView.vue:1324 +#: src/views/firewall/ForwardView.vue:79 src/views/firewall/IpRuleView.vue:121 +#: src/views/firewall/RuleView.vue:158 src/views/project/ListView.vue:114 +#: src/views/setting/SettingUser.vue:85 src/views/setting/TokenModal.vue:52 +#: src/views/task/CronView.vue:98 src/views/task/TaskView.vue:55 +#: src/views/toolbox/DiskView.vue:340 src/views/toolbox/DiskView.vue:831 +#: src/views/toolbox/WebHookView.vue:131 src/views/website/ListView.vue:123 msgid "Actions" msgstr "操作" #: src/views/app/AppView.vue:80 -msgid "Updating app %{ app } may reset related configurations to default state, are you sure to continue?" +msgid "" +"Updating app %{ app } may reset related configurations to default state, are " +"you sure to continue?" msgstr "更新应用 %{ app } 可能会将相关配置重置为默认状态,您确定要继续吗?" -#: src/views/app/AppView.vue:109 -#: src/views/app/EnvironmentView.vue:94 +#: src/views/app/AppView.vue:109 src/views/app/EnvironmentView.vue:94 msgid "Manage" msgstr "管理" #: src/views/app/AppView.vue:123 -msgid "Reinstalling/Switching to a different web server will reset the configuration of all websites, are you sure to continue?" +msgid "" +"Reinstalling/Switching to a different web server will reset the " +"configuration of all websites, are you sure to continue?" msgstr "重新安装/切换到不同的 Web 服务器将重置所有网站的配置,您确定要继续吗?" #: src/views/app/AppView.vue:127 msgid "Are you sure to uninstall app %{ app }?" msgstr "您确定要卸载应用 %{ app } 吗?" -#: src/views/app/AppView.vue:137 -#: src/views/app/EnvironmentView.vue:118 +#: src/views/app/AppView.vue:137 src/views/app/EnvironmentView.vue:118 msgid "Uninstall" msgstr "卸载" @@ -1550,12 +1367,9 @@ msgstr "卸载" msgid "Setup successfully" msgstr "设置成功" -#: src/views/app/AppView.vue:198 -#: src/views/app/AppView.vue:206 -#: src/views/app/EnvironmentView.vue:178 -#: src/views/app/EnvironmentView.vue:186 -#: src/views/app/EnvironmentView.vue:194 -#: src/views/app/VersionModal.vue:34 +#: src/views/app/AppView.vue:198 src/views/app/AppView.vue:206 +#: src/views/app/EnvironmentView.vue:178 src/views/app/EnvironmentView.vue:186 +#: src/views/app/EnvironmentView.vue:194 src/views/app/VersionModal.vue:34 msgid "Task submitted, please check the progress in background tasks" msgstr "任务已提交,请在后台任务中查看进度" @@ -1595,75 +1409,203 @@ msgstr "容器模板" msgid "Update Cache" msgstr "更新缓存" -#: src/views/app/TemplateDeployModal.vue:58 +#: src/views/app/TemplateDeployModal.vue:81 +#, fuzzy +msgid "Please enter URL" +msgstr "请输入名称" + +#: src/views/app/TemplateDeployModal.vue:86 +#, fuzzy +msgid "Please enter a valid URL" +msgstr "请输入名称" + +#: src/views/app/TemplateDeployModal.vue:161 msgid "Please enter compose name" msgstr "请输入编排名称" -#: src/views/app/TemplateDeployModal.vue:129 +#: src/views/app/TemplateDeployModal.vue:176 +#, fuzzy +msgid "Please select a compose" +msgstr "请选择时区" + +#: src/views/app/TemplateDeployModal.vue:235 src/views/cert/AccountView.vue:162 +#: src/views/cert/CertView.vue:337 src/views/cert/CertView.vue:354 +#: src/views/cert/DnsView.vue:139 src/views/container/ComposeView.vue:287 +msgid "Update successful" +msgstr "更新成功" + +#: src/views/app/TemplateDeployModal.vue:305 msgid "Deploy Template" msgstr "部署模板" -#: src/views/app/TemplateDeployModal.vue:140 -#: src/views/container/ContainerCreate.vue:191 -#: src/views/project/EditModal.vue:177 -#: src/views/website/EditView.vue:462 -msgid "Basic Settings" -msgstr "基本设置" +#: src/views/app/TemplateDeployModal.vue:316 +#: src/views/app/TemplateDeployModal.vue:573 +#, fuzzy +msgid "Deploy Mode" +msgstr "部署" -#: src/views/app/TemplateDeployModal.vue:142 +#: src/views/app/TemplateDeployModal.vue:317 +msgid "Configuration" +msgstr "配置" + +#: src/views/app/TemplateDeployModal.vue:318 +#, fuzzy +msgid "Preview & Edit" +msgstr "预览 - " + +#: src/views/app/TemplateDeployModal.vue:332 +#, fuzzy +msgid "Create New Compose" +msgstr "创建编排" + +#: src/views/app/TemplateDeployModal.vue:334 +msgid "Create a new compose from this template" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:349 +#, fuzzy +msgid "Update Existing Compose" +msgstr "正在启动编排" + +#: src/views/app/TemplateDeployModal.vue:352 +msgid "Update an existing compose with this template" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:370 +#: src/views/app/TemplateDeployModal.vue:578 #: src/views/container/ComposeView.vue:361 msgid "Compose Name" msgstr "编排名称" -#: src/views/app/TemplateDeployModal.vue:147 +#: src/views/app/TemplateDeployModal.vue:375 msgid "Enter compose name" msgstr "输入编排名称" -#: src/views/app/TemplateDeployModal.vue:151 +#: src/views/app/TemplateDeployModal.vue:379 +#: src/views/app/TemplateDeployModal.vue:469 msgid "Deploy Options" msgstr "部署选项" -#: src/views/app/TemplateDeployModal.vue:155 +#: src/views/app/TemplateDeployModal.vue:383 +#: src/views/app/TemplateDeployModal.vue:473 +#: src/views/app/TemplateDeployModal.vue:581 msgid "Auto Start" msgstr "自动启动" -#: src/views/app/TemplateDeployModal.vue:160 +#: src/views/app/TemplateDeployModal.vue:388 +#: src/views/app/TemplateDeployModal.vue:586 msgid "Auto Firewall" msgstr "自动防火墙" -#: src/views/app/TemplateDeployModal.vue:164 +#: src/views/app/TemplateDeployModal.vue:391 msgid "Automatically allow ports defined in compose" msgstr "自动放行在 compose 中定义的端口" -#: src/views/app/TemplateDeployModal.vue:177 +#: src/views/app/TemplateDeployModal.vue:399 +#: src/views/app/TemplateDeployModal.vue:481 +#: src/views/app/TemplateDeployModal.vue:559 +#: src/views/app/TemplateDeployModal.vue:591 #: src/views/apps/minio/IndexView.vue:32 #: src/views/container/ComposeView.vue:367 #: src/views/container/ComposeView.vue:393 #: src/views/container/ContainerCreate.vue:454 -#: src/views/project/EditModal.vue:373 -#: src/views/toolbox/ProcessView.vue:440 +#: src/views/project/EditModal.vue:373 src/views/toolbox/ProcessView.vue:440 msgid "Environment Variables" msgstr "环境变量" -#: src/views/app/TemplateDeployModal.vue:191 +#: src/views/app/TemplateDeployModal.vue:413 +#: src/views/app/TemplateDeployModal.vue:495 msgid "Select value" msgstr "选择值" -#: src/views/app/TemplateDeployModal.vue:221 -msgid "Compose Preview" -msgstr "编排预览" +#: src/views/app/TemplateDeployModal.vue:458 +#, fuzzy +msgid "Select Compose" +msgstr "选择主机" -#: src/views/app/TemplateDeployModal.vue:232 -#: src/views/app/TemplateView.vue:96 -#: src/views/cert/CertView.vue:208 -msgid "Deploy" -msgstr "部署" +#: src/views/app/TemplateDeployModal.vue:463 +#, fuzzy +msgid "Select a compose to update" +msgstr "选择要编辑的文件" -#: src/views/app/TemplateDeployModal.vue:240 +#: src/views/app/TemplateDeployModal.vue:535 +#, fuzzy +msgid "Compose File" +msgstr "编排名称" + +#: src/views/app/TemplateDeployModal.vue:544 +msgid "" +"Left side shows the original compose, right side shows the new compose. You " +"can edit the right side." +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:563 +#: src/views/container/ComposeView.vue:371 +#: src/views/container/ComposeView.vue:397 +msgid "Variable Name" +msgstr "变量名" + +#: src/views/app/TemplateDeployModal.vue:564 +#: src/views/container/ComposeView.vue:372 +#: src/views/container/ComposeView.vue:398 +msgid "Variable Value" +msgstr "变量值" + +#: src/views/app/TemplateDeployModal.vue:575 +#, fuzzy +msgid "Create New" +msgstr "创建网络" + +#: src/views/app/TemplateDeployModal.vue:575 +#, fuzzy +msgid "Update Existing" +msgstr "更新主机" + +#: src/views/app/TemplateDeployModal.vue:583 +#: src/views/app/TemplateDeployModal.vue:588 +#: src/views/apps/nginx/NginxIndex.vue:180 src/views/file/ListView.vue:765 +#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/toolbox/WebHookView.vue:81 +msgid "Yes" +msgstr "是" + +#: src/views/app/TemplateDeployModal.vue:583 +#: src/views/app/TemplateDeployModal.vue:588 +#: src/views/apps/nginx/NginxIndex.vue:180 src/views/file/ListView.vue:766 +#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/toolbox/WebHookView.vue:81 +msgid "No" +msgstr "否" + +#: src/views/app/TemplateDeployModal.vue:592 +#, fuzzy +msgid "variables" +msgstr "可用" + +#: src/views/app/TemplateDeployModal.vue:599 +#, fuzzy +msgid "Compose Content" +msgstr "编排名称" + +#: src/views/app/TemplateDeployModal.vue:608 +#, fuzzy +msgid "Previous" +msgstr "预览" + +#: src/views/app/TemplateDeployModal.vue:617 +#: src/views/app/TemplateDeployModal.vue:620 +msgid "Next" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:639 #: src/views/container/ComposeView.vue:408 msgid "Starting Compose" msgstr "正在启动编排" +#: src/views/app/TemplateView.vue:127 src/views/cert/CertView.vue:208 +msgid "Deploy" +msgstr "部署" + #: src/views/app/VersionModal.vue:79 msgid "Channel" msgstr "渠道" @@ -1685,8 +1627,7 @@ msgstr "发行日志" #: src/views/apps/mysql/MysqlIndex.vue:32 #: src/views/apps/nginx/NginxIndex.vue:130 #: src/views/apps/postgresql/IndexView.vue:30 -#: src/views/apps/redis/IndexView.vue:24 -#: src/views/environment/PHPView.vue:120 +#: src/views/apps/redis/IndexView.vue:24 src/views/environment/PHPView.vue:120 msgid "Property" msgstr "属性" @@ -1695,8 +1636,7 @@ msgstr "属性" #: src/views/apps/mysql/MysqlIndex.vue:39 #: src/views/apps/nginx/NginxIndex.vue:137 #: src/views/apps/postgresql/IndexView.vue:37 -#: src/views/apps/redis/IndexView.vue:31 -#: src/views/environment/PHPView.vue:127 +#: src/views/apps/redis/IndexView.vue:31 src/views/environment/PHPView.vue:127 msgid "Current Value" msgstr "当前值" @@ -1706,18 +1646,15 @@ msgstr "当前值" #: src/views/apps/nginx/NginxIndex.vue:329 #: src/views/apps/postgresql/IndexView.vue:56 #: src/views/apps/supervisor/IndexView.vue:225 -#: src/views/environment/PHPView.vue:166 -#: src/views/environment/PHPView.vue:172 +#: src/views/environment/PHPView.vue:166 src/views/environment/PHPView.vue:172 #: src/views/website/EditView.vue:169 msgid "Cleared successfully" msgstr "清除成功" #: src/views/apps/apache/IndexView.vue:59 #: src/views/apps/codeserver/IndexView.vue:34 -#: src/views/apps/frp/IndexView.vue:75 -#: src/views/apps/frp/IndexView.vue:103 -#: src/views/apps/gitea/IndexView.vue:32 -#: src/views/apps/mysql/MysqlIndex.vue:98 +#: src/views/apps/frp/IndexView.vue:75 src/views/apps/frp/IndexView.vue:103 +#: src/views/apps/gitea/IndexView.vue:32 src/views/apps/mysql/MysqlIndex.vue:98 #: src/views/apps/nginx/NginxIndex.vue:479 #: src/views/apps/phpmyadmin/IndexView.vue:73 msgid "Modify Configuration" @@ -1725,23 +1662,25 @@ msgstr "修改配置" #: src/views/apps/apache/IndexView.vue:63 #: src/views/apps/nginx/NginxIndex.vue:483 -msgid "This modifies the %{name} main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 %{name} 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the %{name} main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 %{name} 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" #: src/views/apps/apache/IndexView.vue:77 #: src/views/apps/memcached/IndexView.vue:64 #: src/views/apps/mysql/MysqlIndex.vue:116 #: src/views/apps/nginx/NginxIndex.vue:535 #: src/views/apps/postgresql/IndexView.vue:100 -#: src/views/apps/redis/IndexView.vue:68 -#: src/views/environment/PHPView.vue:261 +#: src/views/apps/redis/IndexView.vue:68 src/views/environment/PHPView.vue:261 #: src/views/home/IndexView.vue:490 msgid "Load Status" msgstr "负载状态" #: src/views/apps/apache/IndexView.vue:87 #: src/views/apps/codeserver/IndexView.vue:51 -#: src/views/apps/docker/IndexView.vue:47 +#: src/views/apps/docker/IndexView.vue:477 #: src/views/apps/fail2ban/IndexView.vue:282 #: src/views/apps/gitea/IndexView.vue:49 #: src/views/apps/memcached/IndexView.vue:74 @@ -1750,8 +1689,7 @@ msgstr "负载状态" #: src/views/apps/nginx/NginxIndex.vue:545 #: src/views/apps/podman/IndexView.vue:85 #: src/views/apps/postgresql/IndexView.vue:110 -#: src/views/apps/redis/IndexView.vue:78 -#: src/views/apps/rsync/IndexView.vue:240 +#: src/views/apps/redis/IndexView.vue:78 src/views/apps/rsync/IndexView.vue:240 #: src/views/apps/supervisor/IndexView.vue:347 #: src/views/environment/PHPView.vue:271 msgid "Runtime Logs" @@ -1773,14 +1711,245 @@ msgid "Clear Log" msgstr "清除日志" #: src/views/apps/codeserver/IndexView.vue:38 -msgid "This modifies the Code Server configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 Code Server 配置文件。如果您不理解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the Code Server configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 Code Server 配置文件。如果您不理解每个参数的含义,请不要随意修改!" -#: src/views/apps/docker/IndexView.vue:34 -msgid "Configuration" +#: src/views/apps/docker/IndexView.vue:63 +#: src/views/apps/docker/IndexView.vue:70 +#, fuzzy +msgid "Default" +msgstr "默认页面" + +#: src/views/apps/docker/IndexView.vue:88 +msgid "China - Millisecond" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:89 +msgid "China - DaoCloud" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:91 +#, fuzzy +msgid "China - Tencent (Internal only)" +msgstr "中国 - 腾讯(mirrors.tencent.com)" + +#: src/views/apps/docker/IndexView.vue:194 +#: src/views/container/ContainerCreate.vue:191 +#: src/views/project/EditModal.vue:177 src/views/website/EditView.vue:462 +msgid "Basic Settings" +msgstr "基本设置" + +#: src/views/apps/docker/IndexView.vue:198 +#, fuzzy +msgid "Registry Mirrors" +msgstr "注册表地址" + +#: src/views/apps/docker/IndexView.vue:203 src/views/website/EditView.vue:916 +msgid "Presets" +msgstr "预设" + +#: src/views/apps/docker/IndexView.vue:226 +msgid "" +"Configure registry mirrors to speed up image downloads. Domestic users can " +"configure domestic mirrors." +msgstr "" + +#: src/views/apps/docker/IndexView.vue:235 +msgid "Enter mirror address, e.g., https://registry.example.com" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:239 +#: src/views/apps/docker/IndexView.vue:392 +#: src/views/apps/docker/IndexView.vue:420 +#: src/views/apps/docker/IndexView.vue:445 +#: src/views/apps/nginx/NginxIndex.vue:688 src/views/toolbox/SystemView.vue:297 +msgid "Add" +msgstr "添加" + +#: src/views/apps/docker/IndexView.vue:249 +#, fuzzy +msgid "Log Configuration" msgstr "配置" -#: src/views/apps/docker/IndexView.vue:37 +#: src/views/apps/docker/IndexView.vue:253 +msgid "" +"Configure log driver and rotation settings. Setting max-size and max-file " +"can prevent log files from growing indefinitely." +msgstr "" + +#: src/views/apps/docker/IndexView.vue:259 +#, fuzzy +msgid "Log Driver" +msgstr "驱动" + +#: src/views/apps/docker/IndexView.vue:263 +#, fuzzy +msgid "Select log driver" +msgstr "选择服务器" + +#: src/views/apps/docker/IndexView.vue:269 +#, fuzzy +msgid "Max Size" +msgstr "Tab 大小" + +#: src/views/apps/docker/IndexView.vue:272 +#, fuzzy +msgid "e.g., 10m, 100m, 1g" +msgstr "例如 5 秒,1 分钟" + +#: src/views/apps/docker/IndexView.vue:277 +#, fuzzy +msgid "Max Files" +msgstr "文件" + +#: src/views/apps/docker/IndexView.vue:280 +#, fuzzy +msgid "e.g., 3, 5, 10" +msgstr "例如 5 秒,1 分钟" + +#: src/views/apps/docker/IndexView.vue:290 +#, fuzzy +msgid "Runtime Options" +msgstr "挂载选项" + +#: src/views/apps/docker/IndexView.vue:294 +#, fuzzy +msgid "Live Restore" +msgstr "恢复" + +#: src/views/apps/docker/IndexView.vue:297 +msgid "Keep containers alive during daemon downtime" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:302 +#, fuzzy +msgid "Cgroup Driver" +msgstr "驱动" + +#: src/views/apps/docker/IndexView.vue:306 +#, fuzzy +msgid "Select cgroup driver" +msgstr "选择服务器" + +#: src/views/apps/docker/IndexView.vue:314 +msgid "IPv6" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:317 +#, fuzzy +msgid "Requires additional configuration." +msgstr "注册表配置" + +#: src/views/apps/docker/IndexView.vue:325 +msgid "Docs" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:331 +#, fuzzy +msgid "IP Forward" +msgstr "端口转发" + +#: src/views/apps/docker/IndexView.vue:334 +#, fuzzy +msgid "Enable IP forwarding" +msgstr "启用缓冲区" + +#: src/views/apps/docker/IndexView.vue:343 +#, fuzzy +msgid "Firewall Configuration" +msgstr "FPM 配置" + +#: src/views/apps/docker/IndexView.vue:347 +msgid "" +"Configure Docker firewall backend. nftables is experimental and does not " +"support Swarm mode." +msgstr "" + +#: src/views/apps/docker/IndexView.vue:353 +#, fuzzy +msgid "Firewall Backend" +msgstr "防火墙" + +#: src/views/apps/docker/IndexView.vue:357 +msgid "Select firewall backend" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:366 +msgid "Storage & Paths" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:368 +#, fuzzy +msgid "Storage Driver" +msgstr "驱动" + +#: src/views/apps/docker/IndexView.vue:372 +#, fuzzy +msgid "Select storage driver" +msgstr "选择服务器" + +#: src/views/apps/docker/IndexView.vue:376 +msgid "Data Root" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:379 +msgid "Docker data directory, default is /var/lib/docker" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:382 +msgid "Socket/Hosts" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:388 +msgid "e.g., unix:///var/run/docker.sock, tcp://0.0.0.0:2375" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:404 +#, fuzzy +msgid "Network Configuration" +msgstr "用户配置" + +#: src/views/apps/docker/IndexView.vue:406 +msgid "Bridge IP" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:409 +msgid "Default bridge network IP range, e.g., 172.17.0.1/16" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:412 +#, fuzzy +msgid "DNS Servers" +msgstr "服务器" + +#: src/views/apps/docker/IndexView.vue:417 +#, fuzzy +msgid "e.g., 8.8.8.8, 114.114.114.114" +msgstr "例如 8.8.8.8" + +#: src/views/apps/docker/IndexView.vue:429 +msgid "Insecure Registries" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:433 +msgid "" +"Insecure registries allow Docker to communicate with registries using HTTP " +"or self-signed certificates. Use with caution." +msgstr "" + +#: src/views/apps/docker/IndexView.vue:441 +msgid "e.g., 192.168.1.100:5000" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:464 +#, fuzzy +msgid "Configuration File" +msgstr "配置" + +#: src/views/apps/docker/IndexView.vue:467 msgid "This modifies the Docker configuration file (/etc/docker/daemon.json)" msgstr "这将修改 Docker 配置文件 (/etc/docker/daemon.json)" @@ -1789,14 +1958,10 @@ msgstr "这将修改 Docker 配置文件 (/etc/docker/daemon.json)" #: src/views/apps/supervisor/IndexView.vue:53 #: src/views/container/ComposeView.vue:84 #: src/views/container/ContainerView.vue:50 -#: src/views/database/ServerList.vue:113 -#: src/views/database/UserList.vue:130 -#: src/views/firewall/RuleView.vue:61 -#: src/views/log/HttpLog.vue:74 -#: src/views/project/ListView.vue:56 -#: src/views/task/TaskView.vue:22 -#: src/views/toolbox/ProcessView.vue:137 -#: src/views/toolbox/ProcessView.vue:394 +#: src/views/database/ServerList.vue:142 src/views/database/UserList.vue:130 +#: src/views/firewall/RuleView.vue:61 src/views/log/HttpLog.vue:74 +#: src/views/project/ListView.vue:56 src/views/task/TaskView.vue:22 +#: src/views/toolbox/ProcessView.vue:137 src/views/toolbox/ProcessView.vue:394 msgid "Status" msgstr "状态" @@ -1815,8 +1980,7 @@ msgstr "封禁时间" msgid "Find Time" msgstr "查找时间" -#: src/views/apps/fail2ban/IndexView.vue:77 -#: src/views/cert/CertView.vue:252 +#: src/views/apps/fail2ban/IndexView.vue:77 src/views/cert/CertView.vue:252 msgid "View" msgstr "查看" @@ -1834,8 +1998,7 @@ msgstr "解封" #: src/views/apps/fail2ban/IndexView.vue:188 #: src/views/apps/pureftpd/IndexView.vue:128 -#: src/views/apps/rsync/IndexView.vue:150 -#: src/views/apps/s3fs/IndexView.vue:82 +#: src/views/apps/rsync/IndexView.vue:150 src/views/apps/s3fs/IndexView.vue:82 #: src/views/apps/supervisor/IndexView.vue:233 #: src/views/database/CreateServerModal.vue:37 msgid "Added successfully" @@ -1872,24 +2035,28 @@ msgid "Add Rule" msgstr "添加规则" #: src/views/apps/fail2ban/IndexView.vue:297 -msgid "If an IP exceeds the maximum retries within the find time (seconds), it will be banned for the ban time (seconds)" -msgstr "如果一个 IP 在查找时间(秒)内超过最大重试次数,它将被禁止访问指定的禁止时间(秒)" +msgid "" +"If an IP exceeds the maximum retries within the find time (seconds), it will " +"be banned for the ban time (seconds)" +msgstr "" +"如果一个 IP 在查找时间(秒)内超过最大重试次数,它将被禁止访问指定的禁止时间" +"(秒)" #: src/views/apps/fail2ban/IndexView.vue:304 -msgid "Protected ports are automatically obtained. If you modify the port corresponding to a rule, please delete and re-add the rule, otherwise protection may not be effective" -msgstr "受保护的端口会自动获取。如果您修改了某个规则对应的端口,请删除并重新添加该规则,否则保护可能无效" +msgid "" +"Protected ports are automatically obtained. If you modify the port " +"corresponding to a rule, please delete and re-add the rule, otherwise " +"protection may not be effective" +msgstr "" +"受保护的端口会自动获取。如果您修改了某个规则对应的端口,请删除并重新添加该规" +"则,否则保护可能无效" -#: src/views/apps/fail2ban/IndexView.vue:311 -#: src/views/cert/CertView.vue:86 -#: src/views/cert/DnsView.vue:38 -#: src/views/cert/ObtainModal.vue:58 +#: src/views/apps/fail2ban/IndexView.vue:311 src/views/cert/CertView.vue:86 +#: src/views/cert/DnsView.vue:38 src/views/cert/ObtainModal.vue:58 #: src/views/database/CreateServerModal.vue:63 -#: src/views/database/DatabaseList.vue:11 -#: src/views/database/ServerList.vue:16 -#: src/views/database/UserList.vue:16 -#: src/views/file/PropertyModal.vue:33 -#: src/views/log/OperationLog.vue:57 -#: src/views/project/ListView.vue:48 +#: src/views/database/DatabaseList.vue:11 src/views/database/ServerList.vue:45 +#: src/views/database/UserList.vue:16 src/views/file/PropertyModal.vue:33 +#: src/views/log/OperationLog.vue:57 src/views/project/ListView.vue:48 msgid "Type" msgstr "类型" @@ -1899,8 +2066,7 @@ msgid "Service" msgstr "服务" #: src/views/apps/fail2ban/IndexView.vue:321 -#: src/views/apps/fail2ban/IndexView.vue:325 -#: src/views/task/CreateModal.vue:132 +#: src/views/apps/fail2ban/IndexView.vue:325 src/views/task/CreateModal.vue:132 #: src/views/task/CreateModal.vue:137 msgid "Select Website" msgstr "选择网站" @@ -1910,8 +2076,7 @@ msgid "Protection Mode" msgstr "保护模式" #: src/views/apps/fail2ban/IndexView.vue:333 -#: src/views/apps/pureftpd/IndexView.vue:39 -#: src/views/log/HttpLog.vue:64 +#: src/views/apps/pureftpd/IndexView.vue:39 src/views/log/HttpLog.vue:64 msgid "Path" msgstr "路径" @@ -1941,41 +2106,32 @@ msgstr "总封禁次数" msgid "Ban List" msgstr "封禁列表" -#: src/views/apps/frp/IndexView.vue:60 -#: src/views/apps/frp/IndexView.vue:88 -#: src/views/project/CreateModal.vue:489 -#: src/views/project/EditModal.vue:232 +#: src/views/apps/frp/IndexView.vue:60 src/views/apps/frp/IndexView.vue:88 +#: src/views/project/CreateModal.vue:489 src/views/project/EditModal.vue:232 msgid "Run User" msgstr "运行用户" -#: src/views/apps/frp/IndexView.vue:67 -#: src/views/apps/frp/IndexView.vue:68 -#: src/views/apps/frp/IndexView.vue:95 -#: src/views/apps/frp/IndexView.vue:96 -#: src/views/apps/rsync/IndexView.vue:53 -#: src/views/apps/rsync/IndexView.vue:272 -#: src/views/apps/rsync/IndexView.vue:326 -#: src/views/database/IndexView.vue:28 -#: src/views/setting/IndexView.vue:93 -#: src/views/toolbox/ProcessView.vue:131 -#: src/views/toolbox/ProcessView.vue:391 -#: src/views/toolbox/WebHookView.vue:335 +#: src/views/apps/frp/IndexView.vue:67 src/views/apps/frp/IndexView.vue:68 +#: src/views/apps/frp/IndexView.vue:95 src/views/apps/frp/IndexView.vue:96 +#: src/views/apps/rsync/IndexView.vue:53 src/views/apps/rsync/IndexView.vue:272 +#: src/views/apps/rsync/IndexView.vue:326 src/views/database/IndexView.vue:28 +#: src/views/setting/IndexView.vue:93 src/views/toolbox/ProcessView.vue:131 +#: src/views/toolbox/ProcessView.vue:391 src/views/toolbox/WebHookView.vue:335 #: src/views/toolbox/WebHookView.vue:370 msgid "User" msgstr "用户" -#: src/views/apps/frp/IndexView.vue:70 -#: src/views/apps/frp/IndexView.vue:71 -#: src/views/apps/frp/IndexView.vue:98 -#: src/views/apps/frp/IndexView.vue:99 +#: src/views/apps/frp/IndexView.vue:70 src/views/apps/frp/IndexView.vue:71 +#: src/views/apps/frp/IndexView.vue:98 src/views/apps/frp/IndexView.vue:99 #: src/views/file/PermissionModal.vue:126 -#: src/views/file/PermissionModal.vue:150 -#: src/views/file/PropertyModal.vue:48 +#: src/views/file/PermissionModal.vue:150 src/views/file/PropertyModal.vue:48 msgid "Group" msgstr "组" #: src/views/apps/gitea/IndexView.vue:36 -msgid "This modifies the Gitea configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" +msgid "" +"This modifies the Gitea configuration file. If you do not understand the " +"meaning of each parameter, please do not modify it randomly!" msgstr "这将修改 Gitea 配置文件。如果您不理解每个参数的含义,请不要随意修改!" #: src/views/apps/memcached/IndexView.vue:54 @@ -1983,65 +2139,58 @@ msgid "Service Configuration" msgstr "服务配置" #: src/views/apps/minio/IndexView.vue:36 -msgid "This is modifying the Minio environment variable file /etc/default/minio. If you do not understand the meaning of each parameter, please do not modify it arbitrarily!" -msgstr "这将修改 Minio 环境变量文件 /etc/default/minio。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This is modifying the Minio environment variable file /etc/default/minio. If " +"you do not understand the meaning of each parameter, please do not modify it " +"arbitrarily!" +msgstr "" +"这将修改 Minio 环境变量文件 /etc/default/minio。如果您不了解每个参数的含义," +"请不要随意修改!" #: src/views/apps/mysql/MysqlIndex.vue:66 #: src/views/apps/pureftpd/IndexView.vue:138 #: src/views/database/DatabaseList.vue:131 -#: src/views/database/ServerList.vue:244 +#: src/views/database/ServerList.vue:285 #: src/views/database/UpdateServerModal.vue:21 #: src/views/database/UpdateUserModal.vue:18 -#: src/views/database/UserList.vue:219 -#: src/views/file/PermissionModal.vue:55 -#: src/views/setting/SettingUser.vue:162 -#: src/views/setting/SettingUser.vue:168 -#: src/views/task/CronView.vue:173 -#: src/views/task/CronView.vue:201 -#: src/views/toolbox/WebHookView.vue:211 -#: src/views/toolbox/WebHookView.vue:282 -#: src/views/website/ListView.vue:237 -#: src/views/website/SettingView.vue:36 +#: src/views/database/UserList.vue:219 src/views/file/PermissionModal.vue:55 +#: src/views/setting/SettingUser.vue:162 src/views/setting/SettingUser.vue:168 +#: src/views/task/CronView.vue:173 src/views/task/CronView.vue:201 +#: src/views/toolbox/WebHookView.vue:211 src/views/toolbox/WebHookView.vue:282 +#: src/views/website/ListView.vue:237 src/views/website/SettingView.vue:36 msgid "Modified successfully" msgstr "修改成功" -#: src/views/apps/mysql/MysqlIndex.vue:72 -#: src/views/database/ServerList.vue:75 -#: src/views/database/UserList.vue:69 -#: src/views/file/ListView.vue:826 -#: src/views/file/ListView.vue:846 -#: src/views/file/ToolBar.vue:130 -#: src/views/file/ToolBar.vue:150 -#: src/views/setting/TokenModal.vue:163 +#: src/views/apps/mysql/MysqlIndex.vue:72 src/views/database/ServerList.vue:104 +#: src/views/database/UserList.vue:69 src/views/file/ListView.vue:826 +#: src/views/file/ListView.vue:846 src/views/file/ToolBar.vue:130 +#: src/views/file/ToolBar.vue:150 src/views/setting/TokenModal.vue:163 msgid "Copied successfully" msgstr "复制成功" -#: src/views/apps/mysql/MysqlIndex.vue:83 -#: src/views/toolbox/SshView.vue:263 +#: src/views/apps/mysql/MysqlIndex.vue:83 src/views/toolbox/SshView.vue:263 msgid "Root Password" msgstr "Root 密码" -#: src/views/apps/mysql/MysqlIndex.vue:88 -#: src/views/database/ServerList.vue:79 -#: src/views/database/UserList.vue:73 -#: src/views/file/ListView.vue:289 -#: src/views/file/ListView.vue:323 -#: src/views/file/ListView.vue:922 +#: src/views/apps/mysql/MysqlIndex.vue:88 src/views/database/ServerList.vue:108 +#: src/views/database/UserList.vue:73 src/views/file/ListView.vue:289 +#: src/views/file/ListView.vue:323 src/views/file/ListView.vue:922 #: src/views/file/ToolBar.vue:265 msgid "Copy" msgstr "复制" -#: src/views/apps/mysql/MysqlIndex.vue:92 -#: src/views/website/SettingView.vue:48 -#: src/views/website/SettingView.vue:58 -#: src/views/website/SettingView.vue:68 +#: src/views/apps/mysql/MysqlIndex.vue:92 src/views/website/SettingView.vue:48 +#: src/views/website/SettingView.vue:58 src/views/website/SettingView.vue:68 #: src/views/website/SettingView.vue:116 msgid "Save Changes" msgstr "保存更改" #: src/views/apps/mysql/MysqlIndex.vue:102 -msgid "This modifies the %{ name } main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 %{ name } 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the %{ name } main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 %{ name } 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" #: src/views/apps/mysql/MysqlIndex.vue:132 msgid "Slow Query Log" @@ -2061,37 +2210,16 @@ msgid "Protocol" msgstr "协议" #: src/views/apps/nginx/NginxIndex.vue:169 -#: src/views/apps/nginx/NginxIndex.vue:588 -#: src/views/website/EditView.vue:683 +#: src/views/apps/nginx/NginxIndex.vue:588 src/views/website/EditView.vue:683 msgid "Proxy Pass" msgstr "代理目标" -#: src/views/apps/nginx/NginxIndex.vue:180 -#: src/views/file/ListView.vue:765 -#: src/views/file/PropertyModal.vue:55 -#: src/views/file/PropertyModal.vue:59 -#: src/views/toolbox/WebHookView.vue:81 -msgid "Yes" -msgstr "是" - -#: src/views/apps/nginx/NginxIndex.vue:180 -#: src/views/file/ListView.vue:766 -#: src/views/file/PropertyModal.vue:55 -#: src/views/file/PropertyModal.vue:59 -#: src/views/toolbox/WebHookView.vue:81 -msgid "No" -msgstr "否" - #: src/views/apps/nginx/NginxIndex.vue:197 #: src/views/apps/nginx/NginxIndex.vue:273 -#: src/views/container/ComposeView.vue:122 -#: src/views/file/ListView.vue:314 -#: src/views/file/ListView.vue:1503 -#: src/views/project/ListView.vue:121 -#: src/views/ssh/IndexView.vue:69 -#: src/views/task/CronView.vue:128 -#: src/views/toolbox/WebHookView.vue:158 -#: src/views/website/ListView.vue:138 +#: src/views/container/ComposeView.vue:122 src/views/file/ListView.vue:314 +#: src/views/file/ListView.vue:1503 src/views/project/ListView.vue:147 +#: src/views/ssh/IndexView.vue:69 src/views/task/CronView.vue:128 +#: src/views/toolbox/WebHookView.vue:158 src/views/website/ListView.vue:138 msgid "Edit" msgstr "编辑" @@ -2141,28 +2269,24 @@ msgid "Stream" msgstr "Stream" #: src/views/apps/nginx/NginxIndex.vue:499 -#: src/views/database/CreateDatabaseModal.vue:63 -#: src/views/database/CreateUserModal.vue:69 -#: src/views/database/DatabaseList.vue:41 -#: src/views/database/IndexView.vue:29 +#: src/views/database/CreateDatabaseModal.vue:74 +#: src/views/database/CreateUserModal.vue:80 +#: src/views/database/DatabaseList.vue:41 src/views/database/IndexView.vue:29 #: src/views/database/UserList.vue:90 msgid "Server" msgstr "服务器" #: src/views/apps/nginx/NginxIndex.vue:503 #: src/views/database/CreateServerModal.vue:47 -#: src/views/database/IndexView.vue:49 -#: src/views/website/EditView.vue:623 +#: src/views/database/IndexView.vue:49 src/views/website/EditView.vue:623 msgid "Add Server" msgstr "添加服务器" -#: src/views/apps/nginx/NginxIndex.vue:516 -#: src/views/website/EditView.vue:515 +#: src/views/apps/nginx/NginxIndex.vue:516 src/views/website/EditView.vue:515 msgid "Upstream" msgstr "上游" -#: src/views/apps/nginx/NginxIndex.vue:520 -#: src/views/website/EditView.vue:639 +#: src/views/apps/nginx/NginxIndex.vue:520 src/views/website/EditView.vue:639 msgid "Add Upstream" msgstr "添加上游" @@ -2219,8 +2343,7 @@ msgstr "SSL 私钥路径" msgid "e.g. /path/to/key.pem" msgstr "例如 /path/to/key.pem" -#: src/views/apps/nginx/NginxIndex.vue:658 -#: src/views/website/EditView.vue:526 +#: src/views/apps/nginx/NginxIndex.vue:658 src/views/website/EditView.vue:526 msgid "Load Balancing Algorithm" msgstr "负载均衡算法" @@ -2236,19 +2359,13 @@ msgstr "服务器地址,例如 127.0.0.1:3306" msgid "Options (optional), e.g. weight=5 backup" msgstr "选项(可选),例如 weight=5 backup" -#: src/views/apps/nginx/NginxIndex.vue:688 -#: src/views/toolbox/SystemView.vue:297 -msgid "Add" -msgstr "添加" - #: src/views/apps/nginx/NginxIndex.vue:694 msgid "Address" msgstr "地址" #: src/views/apps/nginx/NginxIndex.vue:695 #: src/views/container/NetworkView.vue:320 -#: src/views/container/VolumeView.vue:220 -#: src/views/toolbox/DiskView.vue:829 +#: src/views/container/VolumeView.vue:220 src/views/toolbox/DiskView.vue:829 msgid "Options" msgstr "选项" @@ -2256,26 +2373,22 @@ msgstr "选项" msgid "No servers added yet" msgstr "尚未添加服务器" -#: src/views/apps/nginx/NginxIndex.vue:722 -#: src/views/website/EditView.vue:554 +#: src/views/apps/nginx/NginxIndex.vue:722 src/views/website/EditView.vue:554 #: src/views/website/EditView.vue:714 msgid "DNS Resolver" msgstr "DNS 解析器" -#: src/views/apps/nginx/NginxIndex.vue:725 -#: src/views/website/EditView.vue:557 +#: src/views/apps/nginx/NginxIndex.vue:725 src/views/website/EditView.vue:557 #: src/views/website/EditView.vue:717 msgid "e.g., 8.8.8.8" msgstr "例如 8.8.8.8" -#: src/views/apps/nginx/NginxIndex.vue:731 -#: src/views/website/EditView.vue:563 +#: src/views/apps/nginx/NginxIndex.vue:731 src/views/website/EditView.vue:563 #: src/views/website/EditView.vue:723 msgid "Resolver Timeout" msgstr "解析超时" -#: src/views/apps/nginx/NginxIndex.vue:744 -#: src/views/website/EditView.vue:345 +#: src/views/apps/nginx/NginxIndex.vue:744 src/views/website/EditView.vue:345 msgid "Seconds" msgstr "秒" @@ -2296,19 +2409,28 @@ msgid "Modify phpMyAdmin access port" msgstr "修改 phpMyAdmin 访问端口" #: src/views/apps/phpmyadmin/IndexView.vue:77 -msgid "This modifies the OpenResty configuration file for phpMyAdmin. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 phpMyAdmin 的 OpenResty 配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the OpenResty configuration file for phpMyAdmin. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 phpMyAdmin 的 OpenResty 配置文件。如果您不了解每个参数的含义,请不要" +"随意修改!" #: src/views/apps/podman/IndexView.vue:43 -msgid "Podman is a daemonless container management tool. Being in a stopped state is normal and does not affect usage!" -msgstr "Podman 是一个无守护进程的容器管理工具。处于停止状态是正常的,不影响使用!" +msgid "" +"Podman is a daemonless container management tool. Being in a stopped state " +"is normal and does not affect usage!" +msgstr "" +"Podman 是一个无守护进程的容器管理工具。处于停止状态是正常的,不影响使用!" #: src/views/apps/podman/IndexView.vue:51 msgid "Registry Configuration" msgstr "注册表配置" #: src/views/apps/podman/IndexView.vue:55 -msgid "This modifies the Podman registry configuration file (/etc/containers/registries.conf)" +msgid "" +"This modifies the Podman registry configuration file (/etc/containers/" +"registries.conf)" msgstr "这会修改 Podman 注册表配置文件 (/etc/containers/registries.conf)" #: src/views/apps/podman/IndexView.vue:68 @@ -2316,28 +2438,36 @@ msgid "Storage Configuration" msgstr "存储配置" #: src/views/apps/podman/IndexView.vue:72 -msgid "This modifies the Podman storage configuration file (/etc/containers/storage.conf)" +msgid "" +"This modifies the Podman storage configuration file (/etc/containers/storage." +"conf)" msgstr "这会修改 Podman 存储配置文件 (/etc/containers/storage.conf)" #: src/views/apps/postgresql/IndexView.vue:66 -#: src/views/apps/redis/IndexView.vue:51 -#: src/views/apps/rsync/IndexView.vue:223 +#: src/views/apps/redis/IndexView.vue:51 src/views/apps/rsync/IndexView.vue:223 #: src/views/apps/supervisor/IndexView.vue:330 #: src/views/environment/PHPView.vue:225 msgid "Main Configuration" msgstr "主配置" #: src/views/apps/postgresql/IndexView.vue:70 -msgid "This modifies the PostgreSQL main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 PostgreSQL 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the PostgreSQL main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 PostgreSQL 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" #: src/views/apps/postgresql/IndexView.vue:83 msgid "User Configuration" msgstr "用户配置" #: src/views/apps/postgresql/IndexView.vue:87 -msgid "This modifies the PostgreSQL user configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 PostgreSQL 用户配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the PostgreSQL user configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 PostgreSQL 用户配置文件。如果您不了解每个参数的含义,请不要随意修" +"改!" #: src/views/apps/postgresql/IndexView.vue:120 #: src/views/environment/PHPView.vue:284 @@ -2347,17 +2477,14 @@ msgstr "慢日志" #: src/views/apps/pureftpd/IndexView.vue:32 #: src/views/apps/pureftpd/IndexView.vue:214 #: src/views/container/ImageView.vue:386 -#: src/views/database/CreateDatabaseModal.vue:94 +#: src/views/database/CreateDatabaseModal.vue:105 #: src/views/database/CreateServerModal.vue:94 -#: src/views/database/CreateUserModal.vue:77 -#: src/views/database/ServerList.vue:46 +#: src/views/database/CreateUserModal.vue:88 +#: src/views/database/ServerList.vue:75 #: src/views/database/UpdateServerModal.vue:86 -#: src/views/database/UserList.vue:39 -#: src/views/login/IndexView.vue:166 -#: src/views/setting/CreateModal.vue:40 -#: src/views/setting/SettingUser.vue:19 -#: src/views/ssh/CreateModal.vue:85 -#: src/views/ssh/UpdateModal.vue:91 +#: src/views/database/UserList.vue:39 src/views/login/IndexView.vue:166 +#: src/views/setting/CreateModal.vue:40 src/views/setting/SettingUser.vue:19 +#: src/views/ssh/CreateModal.vue:85 src/views/ssh/UpdateModal.vue:91 msgid "Username" msgstr "用户名" @@ -2387,39 +2514,33 @@ msgstr "运行日志" #: src/views/apps/pureftpd/IndexView.vue:206 #: src/views/apps/pureftpd/IndexView.vue:210 -#: src/views/database/CreateDatabaseModal.vue:79 -#: src/views/database/CreateUserModal.vue:55 -#: src/views/database/IndexView.vue:42 -#: src/views/setting/CreateModal.vue:32 +#: src/views/database/CreateDatabaseModal.vue:90 +#: src/views/database/CreateUserModal.vue:66 +#: src/views/database/IndexView.vue:42 src/views/setting/CreateModal.vue:32 #: src/views/setting/IndexView.vue:99 msgid "Create User" msgstr "创建用户" #: src/views/apps/pureftpd/IndexView.vue:219 #: src/views/container/ImageView.vue:391 -#: src/views/database/CreateDatabaseModal.vue:99 -#: src/views/database/CreateUserModal.vue:82 +#: src/views/database/CreateDatabaseModal.vue:110 +#: src/views/database/CreateUserModal.vue:93 msgid "Enter username" msgstr "输入用户名" #: src/views/apps/pureftpd/IndexView.vue:222 #: src/views/apps/pureftpd/IndexView.vue:253 #: src/views/apps/rsync/IndexView.vue:280 -#: src/views/apps/rsync/IndexView.vue:334 -#: src/views/container/ImageView.vue:394 -#: src/views/database/CreateDatabaseModal.vue:102 +#: src/views/apps/rsync/IndexView.vue:334 src/views/container/ImageView.vue:394 +#: src/views/database/CreateDatabaseModal.vue:113 #: src/views/database/CreateServerModal.vue:102 -#: src/views/database/CreateUserModal.vue:85 -#: src/views/database/ServerList.vue:55 +#: src/views/database/CreateUserModal.vue:96 +#: src/views/database/ServerList.vue:84 #: src/views/database/UpdateServerModal.vue:94 -#: src/views/database/UpdateUserModal.vue:55 -#: src/views/database/UserList.vue:49 -#: src/views/login/IndexView.vue:175 -#: src/views/setting/CreateModal.vue:47 -#: src/views/setting/PasswordModal.vue:34 -#: src/views/ssh/CreateModal.vue:79 -#: src/views/ssh/CreateModal.vue:88 -#: src/views/ssh/UpdateModal.vue:85 +#: src/views/database/UpdateUserModal.vue:55 src/views/database/UserList.vue:49 +#: src/views/login/IndexView.vue:175 src/views/setting/CreateModal.vue:47 +#: src/views/setting/PasswordModal.vue:34 src/views/ssh/CreateModal.vue:79 +#: src/views/ssh/CreateModal.vue:88 src/views/ssh/UpdateModal.vue:85 #: src/views/ssh/UpdateModal.vue:94 msgid "Password" msgstr "密码" @@ -2430,13 +2551,10 @@ msgid "It is recommended to use the generator to generate a random password" msgstr "建议使用生成器生成随机密码" #: src/views/apps/pureftpd/IndexView.vue:233 -#: src/views/apps/rsync/IndexView.vue:46 -#: src/views/apps/rsync/IndexView.vue:264 +#: src/views/apps/rsync/IndexView.vue:46 src/views/apps/rsync/IndexView.vue:264 #: src/views/apps/rsync/IndexView.vue:318 -#: src/views/container/ComposeView.vue:64 -#: src/views/file/PropertyModal.vue:34 -#: src/views/project/ListView.vue:68 -#: src/views/website/CreateModal.vue:227 +#: src/views/container/ComposeView.vue:64 src/views/file/PropertyModal.vue:34 +#: src/views/project/ListView.vue:94 src/views/website/CreateModal.vue:227 #: src/views/website/ListView.vue:41 msgid "Directory" msgstr "目录" @@ -2446,30 +2564,28 @@ msgid "Enter the directory authorized to the user" msgstr "输入授权给用户的目录" #: src/views/apps/redis/IndexView.vue:55 -msgid "This modifies the Redis main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 Redis 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the Redis main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 Redis 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" -#: src/views/apps/rsync/IndexView.vue:60 -#: src/views/apps/rsync/IndexView.vue:288 +#: src/views/apps/rsync/IndexView.vue:60 src/views/apps/rsync/IndexView.vue:288 #: src/views/apps/rsync/IndexView.vue:343 -#: src/views/database/CreateDatabaseModal.vue:111 +#: src/views/database/CreateDatabaseModal.vue:127 #: src/views/database/CreateServerModal.vue:73 -#: src/views/database/ServerList.vue:86 +#: src/views/database/ServerList.vue:115 #: src/views/database/UpdateServerModal.vue:65 -#: src/views/database/UserList.vue:80 -#: src/views/ssh/CreateModal.vue:64 -#: src/views/ssh/UpdateModal.vue:70 -#: src/views/toolbox/SystemView.vue:181 +#: src/views/database/UserList.vue:80 src/views/ssh/CreateModal.vue:64 +#: src/views/ssh/UpdateModal.vue:70 src/views/toolbox/SystemView.vue:181 msgid "Host" msgstr "主机" -#: src/views/apps/rsync/IndexView.vue:66 -#: src/views/apps/rsync/IndexView.vue:296 +#: src/views/apps/rsync/IndexView.vue:66 src/views/apps/rsync/IndexView.vue:296 #: src/views/apps/rsync/IndexView.vue:351 #: src/views/database/CreateServerModal.vue:111 -#: src/views/database/CreateUserModal.vue:116 -#: src/views/database/DatabaseList.vue:56 -#: src/views/database/ServerList.vue:96 +#: src/views/database/CreateUserModal.vue:132 +#: src/views/database/DatabaseList.vue:56 src/views/database/ServerList.vue:125 #: src/views/database/UpdateServerModal.vue:103 #: src/views/database/UpdateUserModal.vue:70 #: src/views/database/UserList.vue:113 @@ -2485,8 +2601,7 @@ msgstr "配置" msgid "Are you sure you want to delete module %{ name }?" msgstr "确定要删除模块 %{ name } 吗?" -#: src/views/apps/rsync/IndexView.vue:194 -#: src/views/environment/PHPView.vue:212 +#: src/views/apps/rsync/IndexView.vue:194 src/views/environment/PHPView.vue:212 msgid "Module Management" msgstr "模块管理" @@ -2496,8 +2611,11 @@ msgid "Add Module" msgstr "添加模块" #: src/views/apps/rsync/IndexView.vue:227 -msgid "This modifies the Rsync main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 Rsync 主配置文件。如果您不理解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the Rsync main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 Rsync 主配置文件。如果您不理解每个参数的含义,请不要随意修改!" #: src/views/apps/rsync/IndexView.vue:261 #: src/views/apps/supervisor/IndexView.vue:378 @@ -2533,8 +2651,7 @@ msgstr "输入注释" msgid "Module Configuration" msgstr "模块配置" -#: src/views/apps/s3fs/IndexView.vue:24 -#: src/views/toolbox/DiskView.vue:734 +#: src/views/apps/s3fs/IndexView.vue:24 src/views/toolbox/DiskView.vue:734 msgid "Mount Path" msgstr "挂载路径" @@ -2542,13 +2659,11 @@ msgstr "挂载路径" msgid "Are you sure you want to delete mount %{ path }?" msgstr "您确定要删除挂载 %{ path } 吗?" -#: src/views/apps/s3fs/IndexView.vue:57 -#: src/views/toolbox/DiskView.vue:354 +#: src/views/apps/s3fs/IndexView.vue:57 src/views/toolbox/DiskView.vue:354 msgid "Unmount" msgstr "卸载" -#: src/views/apps/s3fs/IndexView.vue:103 -#: src/views/apps/s3fs/IndexView.vue:128 +#: src/views/apps/s3fs/IndexView.vue:103 src/views/apps/s3fs/IndexView.vue:128 #: src/views/apps/s3fs/IndexView.vue:132 msgid "Add Mount" msgstr "添加挂载" @@ -2570,7 +2685,9 @@ msgid "Region Endpoint" msgstr "区域端点" #: src/views/apps/s3fs/IndexView.vue:166 -msgid "Enter complete URL of region endpoint (e.g., https://oss-cn-beijing.aliyuncs.com)" +msgid "" +"Enter complete URL of region endpoint (e.g., https://oss-cn-beijing.aliyuncs." +"com)" msgstr "输入完整的区域端点 URL(例如:https://oss-cn-beijing.aliyuncs.com)" #: src/views/apps/s3fs/IndexView.vue:172 @@ -2607,16 +2724,18 @@ msgid "Add Process" msgstr "添加进程" #: src/views/apps/supervisor/IndexView.vue:334 -msgid "This modifies the Supervisor main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 Supervisor 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the Supervisor main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 Supervisor 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" #: src/views/apps/supervisor/IndexView.vue:350 msgid "Daemon Logs" msgstr "守护进程日志" #: src/views/apps/supervisor/IndexView.vue:381 -#: src/views/project/CreateModal.vue:507 -#: src/views/project/EditModal.vue:250 +#: src/views/project/CreateModal.vue:507 src/views/project/EditModal.vue:250 msgid "Start Command" msgstr "启动命令" @@ -2625,8 +2744,7 @@ msgid "Please enter absolute path for files in start command" msgstr "请在启动命令中输入文件的绝对路径" #: src/views/apps/supervisor/IndexView.vue:389 -#: src/views/project/EditModal.vue:214 -#: src/views/toolbox/ProcessView.vue:426 +#: src/views/project/EditModal.vue:214 src/views/toolbox/ProcessView.vue:426 msgid "Working Directory" msgstr "工作目录" @@ -2655,8 +2773,7 @@ msgstr "进程配置" msgid "Filename" msgstr "文件名" -#: src/views/backup/ListView.vue:48 -#: src/views/database/ServerList.vue:125 +#: src/views/backup/ListView.vue:48 src/views/database/ServerList.vue:154 #: src/views/database/UserList.vue:142 msgid "Update Date" msgstr "更新日期" @@ -2673,40 +2790,34 @@ msgstr "正在恢复……" msgid "Restored successfully" msgstr "恢复成功" -#: src/views/backup/ListView.vue:194 -#: src/views/backup/ListView.vue:224 +#: src/views/backup/ListView.vue:194 src/views/backup/ListView.vue:224 msgid "Create Backup" msgstr "创建备份" -#: src/views/backup/ListView.vue:197 -#: src/views/backup/UploadModal.vue:39 +#: src/views/backup/ListView.vue:197 src/views/backup/UploadModal.vue:39 msgid "Upload Backup" msgstr "上传备份" -#: src/views/backup/ListView.vue:236 -#: src/views/backup/ListView.vue:273 +#: src/views/backup/ListView.vue:236 src/views/backup/ListView.vue:273 msgid "Select website" msgstr "选择网站" #: src/views/backup/ListView.vue:239 -#: src/views/database/CreateDatabaseModal.vue:71 -#: src/views/database/DatabaseList.vue:34 -#: src/views/task/CreateModal.vue:142 -#: src/views/task/CreateModal.vue:144 -#: src/views/website/CreateModal.vue:191 +#: src/views/database/CreateDatabaseModal.vue:82 +#: src/views/database/DatabaseList.vue:34 src/views/task/CreateModal.vue:142 +#: src/views/task/CreateModal.vue:144 src/views/website/CreateModal.vue:191 #: src/views/website/CreateModal.vue:196 msgid "Database Name" msgstr "数据库名称" #: src/views/backup/ListView.vue:244 -#: src/views/database/CreateDatabaseModal.vue:76 -#: src/views/database/CreateUserModal.vue:113 +#: src/views/database/CreateDatabaseModal.vue:87 +#: src/views/database/CreateUserModal.vue:129 #: src/views/database/UpdateUserModal.vue:67 msgid "Enter database name" msgstr "输入数据库名称" -#: src/views/backup/ListView.vue:247 -#: src/views/task/CreateModal.vue:146 +#: src/views/backup/ListView.vue:247 src/views/task/CreateModal.vue:146 #: src/views/task/CreateModal.vue:149 msgid "Save Directory" msgstr "保存目录" @@ -2723,43 +2834,35 @@ msgstr "恢复备份" msgid "Upload %{ filename } successfully" msgstr "上传 %{ filename } 成功" -#: src/views/backup/UploadModal.vue:51 -#: src/views/file/UploadModal.vue:490 +#: src/views/backup/UploadModal.vue:51 src/views/file/UploadModal.vue:490 msgid "Click or drag files to this area to upload" msgstr "点击或将文件拖到此区域上传" #: src/views/backup/UploadModal.vue:53 -msgid "For large files, it is recommended to use SFTP or other methods to upload" +msgid "" +"For large files, it is recommended to use SFTP or other methods to upload" msgstr "对于大文件,建议使用 SFTP 或其他方法上传" -#: src/views/cert/AccountView.vue:44 -#: src/views/cert/AccountView.vue:243 +#: src/views/cert/AccountView.vue:44 src/views/cert/AccountView.vue:243 #: src/views/cert/CreateAccountModal.vue:100 -#: src/views/setting/CreateModal.vue:56 -#: src/views/setting/SettingUser.vue:36 +#: src/views/setting/CreateModal.vue:56 src/views/setting/SettingUser.vue:36 msgid "Email" msgstr "邮箱" -#: src/views/cert/AccountView.vue:72 -#: src/views/cert/AccountView.vue:235 -#: src/views/cert/CertView.vue:447 -#: src/views/cert/CreateAccountModal.vue:92 +#: src/views/cert/AccountView.vue:72 src/views/cert/AccountView.vue:235 +#: src/views/cert/CertView.vue:447 src/views/cert/CreateAccountModal.vue:92 #: src/views/cert/CreateCertModal.vue:82 msgid "Key Type" msgstr "密钥类型" -#: src/views/cert/AccountView.vue:101 -#: src/views/cert/CertView.vue:277 -#: src/views/cert/DnsView.vue:85 -#: src/views/database/ServerList.vue:182 -#: src/views/database/UserList.vue:168 -#: src/views/file/PermissionModal.vue:154 +#: src/views/cert/AccountView.vue:101 src/views/cert/CertView.vue:277 +#: src/views/cert/DnsView.vue:85 src/views/database/ServerList.vue:223 +#: src/views/database/UserList.vue:168 src/views/file/PermissionModal.vue:154 #: src/views/setting/TokenModal.vue:69 msgid "Modify" msgstr "修改" -#: src/views/cert/AccountView.vue:109 -#: src/views/cert/CertView.vue:286 +#: src/views/cert/AccountView.vue:109 src/views/cert/CertView.vue:286 #: src/views/cert/DnsView.vue:94 msgid "Deletion successful" msgstr "删除成功" @@ -2768,78 +2871,61 @@ msgstr "删除成功" msgid "Are you sure you want to delete the account?" msgstr "您确定要删除该账户吗?" -#: src/views/cert/AccountView.vue:150 -#: src/views/cert/CreateAccountModal.vue:39 +#: src/views/cert/AccountView.vue:150 src/views/cert/CreateAccountModal.vue:39 msgid "Registering account with CA, please wait patiently" msgstr "正在向 CA 注册账户,请耐心等待" -#: src/views/cert/AccountView.vue:162 -#: src/views/cert/CertView.vue:337 -#: src/views/cert/CertView.vue:354 -#: src/views/cert/DnsView.vue:139 -#: src/views/container/ComposeView.vue:287 -msgid "Update successful" -msgstr "更新成功" - #: src/views/cert/AccountView.vue:207 msgid "Modify Account" msgstr "修改账户" -#: src/views/cert/AccountView.vue:215 -#: src/views/cert/CreateAccountModal.vue:72 -msgid "Google and SSL.com require obtaining KID and HMAC from their official websites first" +#: src/views/cert/AccountView.vue:215 src/views/cert/CreateAccountModal.vue:72 +msgid "" +"Google and SSL.com require obtaining KID and HMAC from their official " +"websites first" msgstr "Google 和 SSL.com 需要先从其官网获取 KID 和 HMAC" -#: src/views/cert/AccountView.vue:221 -#: src/views/cert/CreateAccountModal.vue:78 -msgid "Google is not accessible in mainland China, other CAs depend on network conditions, recommend using Let's Encrypt" -msgstr "Google 在中国大陆无法访问,其他 CA 取决于网络条件,建议使用 Let's Encrypt" +#: src/views/cert/AccountView.vue:221 src/views/cert/CreateAccountModal.vue:78 +msgid "" +"Google is not accessible in mainland China, other CAs depend on network " +"conditions, recommend using Let's Encrypt" +msgstr "" +"Google 在中国大陆无法访问,其他 CA 取决于网络条件,建议使用 Let's Encrypt" -#: src/views/cert/AccountView.vue:227 -#: src/views/cert/CreateAccountModal.vue:84 +#: src/views/cert/AccountView.vue:227 src/views/cert/CreateAccountModal.vue:84 msgid "CA" msgstr "CA" -#: src/views/cert/AccountView.vue:230 -#: src/views/cert/CreateAccountModal.vue:87 +#: src/views/cert/AccountView.vue:230 src/views/cert/CreateAccountModal.vue:87 msgid "Select CA" msgstr "选择 CA" -#: src/views/cert/AccountView.vue:238 -#: src/views/cert/CertView.vue:450 +#: src/views/cert/AccountView.vue:238 src/views/cert/CertView.vue:450 #: src/views/cert/CreateAccountModal.vue:95 #: src/views/cert/CreateCertModal.vue:85 msgid "Select key type" msgstr "选择密钥类型" -#: src/views/cert/AccountView.vue:248 -#: src/views/cert/CreateAccountModal.vue:105 +#: src/views/cert/AccountView.vue:248 src/views/cert/CreateAccountModal.vue:105 msgid "Enter email address" msgstr "输入电子邮件地址" -#: src/views/cert/AccountView.vue:256 -#: src/views/cert/CreateAccountModal.vue:113 +#: src/views/cert/AccountView.vue:256 src/views/cert/CreateAccountModal.vue:113 msgid "Enter KID" msgstr "输入 KID" -#: src/views/cert/AccountView.vue:264 -#: src/views/cert/CreateAccountModal.vue:121 +#: src/views/cert/AccountView.vue:264 src/views/cert/CreateAccountModal.vue:121 msgid "Enter HMAC" msgstr "输入 HMAC" -#: src/views/cert/CertView.vue:63 -#: src/views/cert/CertView.vue:439 -#: src/views/cert/CreateCertModal.vue:74 -#: src/views/cert/ObtainModal.vue:57 -#: src/views/website/CreateModal.vue:135 -#: src/views/website/EditView.vue:421 +#: src/views/cert/CertView.vue:63 src/views/cert/CertView.vue:439 +#: src/views/cert/CreateCertModal.vue:74 src/views/cert/ObtainModal.vue:57 +#: src/views/website/CreateModal.vue:135 src/views/website/EditView.vue:421 msgid "Domain" msgstr "域名" -#: src/views/cert/CertView.vue:108 -#: src/views/file/ToolBar.vue:232 -#: src/views/file/UploadModal.vue:459 -#: src/views/monitor/IndexView.vue:492 +#: src/views/cert/CertView.vue:108 src/views/file/ToolBar.vue:232 +#: src/views/file/UploadModal.vue:459 src/views/monitor/IndexView.vue:492 msgid "Upload" msgstr "上传" @@ -2847,15 +2933,12 @@ msgstr "上传" msgid "Associated Account" msgstr "关联账户" -#: src/views/cert/CertView.vue:129 -#: src/views/website/EditView.vue:824 +#: src/views/cert/CertView.vue:129 src/views/website/EditView.vue:824 msgid "Issuer" msgstr "颁发者" -#: src/views/cert/CertView.vue:138 -#: src/views/setting/TokenModal.vue:43 -#: src/views/setting/TokenModal.vue:256 -#: src/views/setting/TokenModal.vue:289 +#: src/views/cert/CertView.vue:138 src/views/setting/TokenModal.vue:43 +#: src/views/setting/TokenModal.vue:256 src/views/setting/TokenModal.vue:289 msgid "Expiration Time" msgstr "过期时间" @@ -2867,15 +2950,12 @@ msgstr "下次续签时间" msgid "Auto Renewal" msgstr "自动续签" -#: src/views/cert/CertView.vue:189 -#: src/views/cert/ObtainModal.vue:78 +#: src/views/cert/CertView.vue:189 src/views/cert/ObtainModal.vue:78 msgid "Issue" msgstr "签发" -#: src/views/cert/CertView.vue:220 -#: src/views/cert/ObtainModal.vue:24 -#: src/views/cert/ObtainModal.vue:81 -#: src/views/website/EditView.vue:142 +#: src/views/cert/CertView.vue:220 src/views/cert/ObtainModal.vue:24 +#: src/views/cert/ObtainModal.vue:81 src/views/website/EditView.vue:142 msgid "Please wait..." msgstr "请稍候……" @@ -2900,58 +2980,52 @@ msgid "Modify Certificate" msgstr "修改证书" #: src/views/cert/CertView.vue:433 -msgid "You can automatically issue and deploy certificates by selecting any website/DNS, or manually enter domain names and set DNS resolution to issue certificates, or fill in deployment scripts to automatically deploy certificates." -msgstr "您可以通过选择任何网站 / DNS 自动颁发和部署证书,或手动输入域名并设置 DNS 解析以颁发证书,或填写部署脚本以自动部署证书。" +msgid "" +"You can automatically issue and deploy certificates by selecting any website/" +"DNS, or manually enter domain names and set DNS resolution to issue " +"certificates, or fill in deployment scripts to automatically deploy " +"certificates." +msgstr "" +"您可以通过选择任何网站 / DNS 自动颁发和部署证书,或手动输入域名并设置 DNS 解" +"析以颁发证书,或填写部署脚本以自动部署证书。" -#: src/views/cert/CertView.vue:458 -#: src/views/cert/CreateCertModal.vue:93 +#: src/views/cert/CertView.vue:458 src/views/cert/CreateCertModal.vue:93 msgid "Select website for certificate deployment" msgstr "选择要部署证书的网站" -#: src/views/cert/CertView.vue:466 -#: src/views/cert/CreateCertModal.vue:98 +#: src/views/cert/CertView.vue:466 src/views/cert/CreateCertModal.vue:98 #: src/views/cert/IndexView.vue:97 msgid "Account" msgstr "账户" -#: src/views/cert/CertView.vue:470 -#: src/views/cert/CreateCertModal.vue:101 +#: src/views/cert/CertView.vue:470 src/views/cert/CreateCertModal.vue:101 msgid "Select account for certificate issuance" msgstr "选择用于证书颁发的账户" -#: src/views/cert/CertView.vue:475 -#: src/views/cert/CreateCertModal.vue:106 -#: src/views/cert/CreateDnsModal.vue:59 -#: src/views/cert/DnsView.vue:196 +#: src/views/cert/CertView.vue:475 src/views/cert/CreateCertModal.vue:106 +#: src/views/cert/CreateDnsModal.vue:59 src/views/cert/DnsView.vue:196 #: src/views/cert/IndexView.vue:98 msgid "DNS" msgstr "DNS" -#: src/views/cert/CertView.vue:478 -#: src/views/cert/CreateCertModal.vue:109 +#: src/views/cert/CertView.vue:478 src/views/cert/CreateCertModal.vue:109 msgid "Select DNS for certificate issuance" msgstr "选择用于证书颁发的 DNS" -#: src/views/cert/CertView.vue:491 -#: src/views/cert/UploadCertModal.vue:42 +#: src/views/cert/CertView.vue:491 src/views/cert/UploadCertModal.vue:42 #: src/views/website/EditView.vue:897 msgid "Enter the content of the PEM certificate file" msgstr "输入 PEM 证书文件的内容" -#: src/views/cert/CertView.vue:498 -#: src/views/cert/CertView.vue:566 -#: src/views/cert/UploadCertModal.vue:46 -#: src/views/setting/SettingSafe.vue:297 -#: src/views/ssh/CreateModal.vue:80 -#: src/views/ssh/CreateModal.vue:91 -#: src/views/ssh/UpdateModal.vue:86 -#: src/views/ssh/UpdateModal.vue:97 +#: src/views/cert/CertView.vue:498 src/views/cert/CertView.vue:566 +#: src/views/cert/UploadCertModal.vue:46 src/views/setting/SettingSafe.vue:297 +#: src/views/ssh/CreateModal.vue:80 src/views/ssh/CreateModal.vue:91 +#: src/views/ssh/UpdateModal.vue:86 src/views/ssh/UpdateModal.vue:97 #: src/views/website/EditView.vue:901 msgid "Private Key" msgstr "私钥" -#: src/views/cert/CertView.vue:503 -#: src/views/cert/UploadCertModal.vue:50 +#: src/views/cert/CertView.vue:503 src/views/cert/UploadCertModal.vue:50 #: src/views/website/EditView.vue:905 msgid "Enter the content of the KEY private key file" msgstr "输入 KEY 私钥文件的内容" @@ -2961,7 +3035,9 @@ msgid "Deployment Script" msgstr "部署脚本" #: src/views/cert/CertView.vue:516 -msgid "The {cert} and {key} in the script will be replaced with the certificate and private key content" +msgid "" +"The {cert} and {key} in the script will be replaced with the certificate and " +"private key content" msgstr "脚本中的 {cert} 和 {key} 将被替换为证书和私钥内容" #: src/views/cert/CertView.vue:530 @@ -2976,22 +3052,24 @@ msgstr "选择要部署证书的网站" msgid "View Certificate" msgstr "查看证书" -#: src/views/cert/CreateAccountModal.vue:64 -#: src/views/cert/IndexView.vue:110 +#: src/views/cert/CreateAccountModal.vue:64 src/views/cert/IndexView.vue:110 msgid "Create Account" msgstr "创建账户" -#: src/views/cert/CreateCertModal.vue:59 -#: src/views/cert/IndexView.vue:107 +#: src/views/cert/CreateCertModal.vue:59 src/views/cert/IndexView.vue:107 msgid "Create Certificate" msgstr "创建证书" #: src/views/cert/CreateCertModal.vue:68 -msgid "You can automatically issue and deploy certificates by selecting either Website or DNS, or you can manually enter domain names and set up DNS resolution to issue certificates" -msgstr "您可以通过选择网站或 DNS 来自动颁发和部署证书,或者手动输入域名并设置 DNS 解析以颁发证书" +msgid "" +"You can automatically issue and deploy certificates by selecting either " +"Website or DNS, or you can manually enter domain names and set up DNS " +"resolution to issue certificates" +msgstr "" +"您可以通过选择网站或 DNS 来自动颁发和部署证书,或者手动输入域名并设置 DNS 解" +"析以颁发证书" -#: src/views/cert/CreateDnsModal.vue:44 -#: src/views/cert/IndexView.vue:113 +#: src/views/cert/CreateDnsModal.vue:44 src/views/cert/IndexView.vue:113 msgid "Create DNS" msgstr "创建 DNS" @@ -3003,88 +3081,71 @@ msgstr "备注名称" msgid "Enter comment name" msgstr "输入备注名称" -#: src/views/cert/CreateDnsModal.vue:62 -#: src/views/cert/DnsView.vue:199 +#: src/views/cert/CreateDnsModal.vue:62 src/views/cert/DnsView.vue:199 msgid "Select DNS" msgstr "选择 DNS" -#: src/views/cert/CreateDnsModal.vue:71 -#: src/views/cert/DnsView.vue:208 +#: src/views/cert/CreateDnsModal.vue:71 src/views/cert/DnsView.vue:208 msgid "Enter Aliyun Access Key" msgstr "输入阿里云 Access Key" -#: src/views/cert/CreateDnsModal.vue:78 -#: src/views/cert/DnsView.vue:215 +#: src/views/cert/CreateDnsModal.vue:78 src/views/cert/DnsView.vue:215 msgid "Enter Aliyun Secret Key" msgstr "输入阿里云 Secret Key" -#: src/views/cert/CreateDnsModal.vue:85 -#: src/views/cert/DnsView.vue:222 +#: src/views/cert/CreateDnsModal.vue:85 src/views/cert/DnsView.vue:222 msgid "Enter Tencent Cloud SecretId" msgstr "输入腾讯云 SecretId" -#: src/views/cert/CreateDnsModal.vue:92 -#: src/views/cert/DnsView.vue:229 +#: src/views/cert/CreateDnsModal.vue:92 src/views/cert/DnsView.vue:229 msgid "Enter Tencent Cloud SecretKey" msgstr "输入腾讯云 SecretKey" -#: src/views/cert/CreateDnsModal.vue:99 -#: src/views/cert/DnsView.vue:236 +#: src/views/cert/CreateDnsModal.vue:99 src/views/cert/DnsView.vue:236 msgid "Enter Huawei Cloud AccessKeyId" msgstr "输入华为云 AccessKeyId" -#: src/views/cert/CreateDnsModal.vue:106 -#: src/views/cert/DnsView.vue:243 +#: src/views/cert/CreateDnsModal.vue:106 src/views/cert/DnsView.vue:243 msgid "Enter Huawei Cloud SecretAccessKey" msgstr "输入华为云 SecretAccessKey" -#: src/views/cert/CreateDnsModal.vue:113 -#: src/views/cert/DnsView.vue:250 +#: src/views/cert/CreateDnsModal.vue:113 src/views/cert/DnsView.vue:250 msgid "Enter West.cn Username" msgstr "输入西部数码用户名" -#: src/views/cert/CreateDnsModal.vue:120 -#: src/views/cert/DnsView.vue:257 +#: src/views/cert/CreateDnsModal.vue:120 src/views/cert/DnsView.vue:257 msgid "Enter West.cn API Password" msgstr "输入西部数码 API 密码" -#: src/views/cert/CreateDnsModal.vue:127 -#: src/views/cert/DnsView.vue:264 +#: src/views/cert/CreateDnsModal.vue:127 src/views/cert/DnsView.vue:264 msgid "Enter Cloudflare API Key" msgstr "输入 Cloudflare API 密钥" -#: src/views/cert/CreateDnsModal.vue:134 -#: src/views/cert/DnsView.vue:271 +#: src/views/cert/CreateDnsModal.vue:134 src/views/cert/DnsView.vue:271 msgid "Enter G-Core API Key" msgstr "输入 G-Core API 密钥" -#: src/views/cert/CreateDnsModal.vue:141 -#: src/views/cert/DnsView.vue:278 +#: src/views/cert/CreateDnsModal.vue:141 src/views/cert/DnsView.vue:278 msgid "Enter Porkbun API Key" msgstr "输入 Porkbun API 密钥" -#: src/views/cert/CreateDnsModal.vue:148 -#: src/views/cert/DnsView.vue:285 +#: src/views/cert/CreateDnsModal.vue:148 src/views/cert/DnsView.vue:285 msgid "Enter Porkbun Secret Key" msgstr "输入 Porkbun 密钥" -#: src/views/cert/CreateDnsModal.vue:155 -#: src/views/cert/DnsView.vue:292 +#: src/views/cert/CreateDnsModal.vue:155 src/views/cert/DnsView.vue:292 msgid "Enter NameSilo API Token" msgstr "输入 NameSilo API 令牌" -#: src/views/cert/CreateDnsModal.vue:162 -#: src/views/cert/DnsView.vue:299 +#: src/views/cert/CreateDnsModal.vue:162 src/views/cert/DnsView.vue:299 msgid "Enter ClouDNS Auth ID (use Sub Auth ID by adding sub-prefix)" msgstr "输入 ClouDNS 认证 ID(使用子认证 ID 时添加 sub- 前缀)" -#: src/views/cert/CreateDnsModal.vue:169 -#: src/views/cert/DnsView.vue:306 +#: src/views/cert/CreateDnsModal.vue:169 src/views/cert/DnsView.vue:306 msgid "Enter ClouDNS Auth Password" msgstr "输入 ClouDNS 认证密码" -#: src/views/cert/DnsView.vue:31 -#: src/views/cert/DnsView.vue:189 +#: src/views/cert/DnsView.vue:31 src/views/cert/DnsView.vue:189 msgid "Note Name" msgstr "备注名称" @@ -3100,8 +3161,7 @@ msgstr "修改 DNS" msgid "Enter note name" msgstr "输入备注名称" -#: src/views/cert/IndexView.vue:104 -#: src/views/cert/UploadCertModal.vue:30 +#: src/views/cert/IndexView.vue:104 src/views/cert/UploadCertModal.vue:30 msgid "Upload Certificate" msgstr "上传证书" @@ -3117,14 +3177,15 @@ msgstr "手动" msgid "Self-signed" msgstr "自签名" -#: src/views/cert/ObtainModal.vue:33 -#: src/views/cert/ObtainModal.vue:89 +#: src/views/cert/ObtainModal.vue:33 src/views/cert/ObtainModal.vue:89 #: src/views/cert/ObtainModal.vue:107 msgid "Issuance successful" msgstr "签发成功" #: src/views/cert/ObtainModal.vue:42 -msgid "Please set up DNS resolution for the domain first, then continue with the issuance" +msgid "" +"Please set up DNS resolution for the domain first, then continue with the " +"issuance" msgstr "请先为域名设置 DNS 解析,然后继续签发" #: src/views/cert/ObtainModal.vue:48 @@ -3147,15 +3208,11 @@ msgstr "签发证书" msgid "Issuance Mode" msgstr "签发模式" -#: src/views/container/ComposeView.vue:91 -#: src/views/container/ImageView.vue:81 +#: src/views/container/ComposeView.vue:91 src/views/container/ImageView.vue:81 #: src/views/container/NetworkView.vue:100 -#: src/views/container/VolumeView.vue:54 -#: src/views/setting/SettingUser.vue:76 -#: src/views/setting/TokenModal.vue:34 -#: src/views/task/CronView.vue:79 -#: src/views/task/TaskView.vue:37 -#: src/views/toolbox/WebHookView.vue:121 +#: src/views/container/VolumeView.vue:54 src/views/setting/SettingUser.vue:76 +#: src/views/setting/TokenModal.vue:34 src/views/task/CronView.vue:79 +#: src/views/task/TaskView.vue:37 src/views/toolbox/WebHookView.vue:121 msgid "Creation Time" msgstr "创建时间" @@ -3201,21 +3258,10 @@ msgid "Are you sure you want to delete the selected composes?" msgstr "您确定要删除所选的编排吗?" #: src/views/container/ComposeView.vue:364 -#: src/views/container/ComposeView.vue:390 -#: src/views/container/IndexView.vue:23 +#: src/views/container/ComposeView.vue:390 src/views/container/IndexView.vue:23 msgid "Compose" msgstr "编排" -#: src/views/container/ComposeView.vue:371 -#: src/views/container/ComposeView.vue:397 -msgid "Variable Name" -msgstr "变量名" - -#: src/views/container/ComposeView.vue:372 -#: src/views/container/ComposeView.vue:398 -msgid "Variable Value" -msgstr "变量值" - #: src/views/container/ComposeView.vue:383 msgid "Edit Compose" msgstr "编辑编排" @@ -3269,10 +3315,8 @@ msgstr "镜像" msgid "e.g., nginx:latest, mysql:8.0" msgstr "例如 nginx:latest,mysql:8.0" -#: src/views/container/ContainerCreate.vue:211 -#: src/views/home/IndexView.vue:147 -#: src/views/home/IndexView.vue:834 -#: src/views/monitor/IndexView.vue:851 +#: src/views/container/ContainerCreate.vue:211 src/views/home/IndexView.vue:147 +#: src/views/home/IndexView.vue:834 src/views/monitor/IndexView.vue:851 msgid "Network" msgstr "网络" @@ -3347,7 +3391,9 @@ msgid "Container End" msgstr "容器结束" #: src/views/container/ContainerCreate.vue:329 -msgid "All exposed ports in the image will be automatically mapped to random host ports." +msgid "" +"All exposed ports in the image will be automatically mapped to random host " +"ports." msgstr "镜像中的所有暴露端口将自动映射到随机主机端口。" #: src/views/container/ContainerCreate.vue:338 @@ -3368,7 +3414,9 @@ msgid "Container path" msgstr "容器路径" #: src/views/container/ContainerCreate.vue:371 -msgid "Mount host directories or volumes into the container. Use absolute paths for host directories." +msgid "" +"Mount host directories or volumes into the container. Use absolute paths for " +"host directories." msgstr "将主机目录或卷挂载到容器中。主机目录需使用绝对路径。" #: src/views/container/ContainerCreate.vue:380 @@ -3377,7 +3425,9 @@ msgid "Resource Limits" msgstr "资源限制" #: src/views/container/ContainerCreate.vue:384 -msgid "Set resource limits to prevent the container from consuming too many system resources. Set to 0 for no limit." +msgid "" +"Set resource limits to prevent the container from consuming too many system " +"resources. Set to 0 for no limit." msgstr "设置资源限制以防止容器消耗过多系统资源。设置为 0 表示无限制。" #: src/views/container/ContainerCreate.vue:392 @@ -3403,12 +3453,9 @@ msgstr "CPU 份额" msgid "Resource Limit Description" msgstr "资源限制描述" -#: src/views/container/ContainerCreate.vue:428 -#: src/views/home/IndexView.vue:565 -#: src/views/monitor/IndexView.vue:435 -#: src/views/monitor/IndexView.vue:451 -#: src/views/monitor/IndexView.vue:728 -#: src/views/toolbox/BenchmarkView.vue:177 +#: src/views/container/ContainerCreate.vue:428 src/views/home/IndexView.vue:565 +#: src/views/monitor/IndexView.vue:435 src/views/monitor/IndexView.vue:451 +#: src/views/monitor/IndexView.vue:728 src/views/toolbox/BenchmarkView.vue:177 #: src/views/toolbox/ProcessView.vue:155 msgid "Memory" msgstr "内存" @@ -3418,12 +3465,17 @@ msgid "Maximum memory the container can use, in MB. 0 means no limit." msgstr "容器可以使用的最大内存,单位为 MB。0 表示无限制。" #: src/views/container/ContainerCreate.vue:433 -msgid "Number of CPU cores the container can use. 0.5 means half a core, 2 means 2 cores." +msgid "" +"Number of CPU cores the container can use. 0.5 means half a core, 2 means 2 " +"cores." msgstr "容器可以使用的 CPU 核心数。0.5 意味着半个核心,2 意味着 2 个核心。" #: src/views/container/ContainerCreate.vue:440 -msgid "Relative CPU weight. Default is 1024. Higher values get more CPU time when competing." -msgstr "相对 CPU 权重。默认值为 1024。当竞争时,更高的值会获得更多的 CPU 时间。" +msgid "" +"Relative CPU weight. Default is 1024. Higher values get more CPU time when " +"competing." +msgstr "" +"相对 CPU 权重。默认值为 1024。当竞争时,更高的值会获得更多的 CPU 时间。" #: src/views/container/ContainerCreate.vue:452 msgid "Environment" @@ -3504,8 +3556,7 @@ msgstr "暂停" msgid "Resume" msgstr "恢复" -#: src/views/container/ContainerView.vue:231 -#: src/views/file/ListView.vue:1534 +#: src/views/container/ContainerView.vue:231 src/views/file/ListView.vue:1534 msgid "More" msgstr "更多" @@ -3600,10 +3651,8 @@ msgstr "容器数量" #: src/views/container/ImageView.vue:105 #: src/views/container/NetworkView.vue:124 -#: src/views/container/VolumeView.vue:78 -#: src/views/firewall/ForwardView.vue:92 -#: src/views/firewall/IpRuleView.vue:134 -#: src/views/firewall/RuleView.vue:171 +#: src/views/container/VolumeView.vue:78 src/views/firewall/ForwardView.vue:92 +#: src/views/firewall/IpRuleView.vue:134 src/views/firewall/RuleView.vue:171 #: src/views/task/TaskView.vue:86 msgid "Are you sure you want to delete?" msgstr "您确定要删除吗?" @@ -3612,8 +3661,7 @@ msgstr "您确定要删除吗?" msgid "Pull successful" msgstr "拉取成功" -#: src/views/container/ImageView.vue:268 -#: src/views/container/ImageView.vue:306 +#: src/views/container/ImageView.vue:268 src/views/container/ImageView.vue:306 msgid "Pull Image" msgstr "拉取镜像" @@ -3638,8 +3686,8 @@ msgid "Authentication" msgstr "身份验证" #: src/views/container/ImageView.vue:400 -#: src/views/database/CreateDatabaseModal.vue:108 -#: src/views/database/CreateUserModal.vue:91 +#: src/views/database/CreateDatabaseModal.vue:120 +#: src/views/database/CreateUserModal.vue:103 #: src/views/database/UpdateUserModal.vue:61 msgid "Enter password" msgstr "输入密码" @@ -3658,13 +3706,11 @@ msgstr "网络" #: src/views/container/NetworkView.vue:52 #: src/views/container/NetworkView.vue:249 -#: src/views/container/VolumeView.vue:33 -#: src/views/container/VolumeView.vue:203 +#: src/views/container/VolumeView.vue:33 src/views/container/VolumeView.vue:203 msgid "Driver" msgstr "驱动" -#: src/views/container/NetworkView.vue:59 -#: src/views/container/VolumeView.vue:40 +#: src/views/container/NetworkView.vue:59 src/views/container/VolumeView.vue:40 #: src/views/website/EditView.vue:959 msgid "Scope" msgstr "范围" @@ -3744,10 +3790,8 @@ msgstr "选项名称" msgid "Option Value" msgstr "选项值" -#: src/views/container/VolumeView.vue:47 -#: src/views/home/IndexView.vue:680 -#: src/views/toolbox/DiskView.vue:324 -#: src/views/toolbox/DiskView.vue:827 +#: src/views/container/VolumeView.vue:47 src/views/home/IndexView.vue:680 +#: src/views/toolbox/DiskView.vue:324 src/views/toolbox/DiskView.vue:827 msgid "Mount Point" msgstr "挂载点" @@ -3768,51 +3812,57 @@ msgstr "您确定要删除所选卷吗?" msgid "Volume Name" msgstr "卷名称" -#: src/views/database/CreateDatabaseModal.vue:20 -#: src/views/database/CreateUserModal.vue:20 +#: src/views/database/CreateDatabaseModal.vue:21 +#: src/views/database/CreateUserModal.vue:21 msgid "Local (localhost)" msgstr "本地 (localhost)" -#: src/views/database/CreateDatabaseModal.vue:21 -#: src/views/database/CreateUserModal.vue:21 +#: src/views/database/CreateDatabaseModal.vue:22 +#: src/views/database/CreateUserModal.vue:22 msgid "All (%)" msgstr "全部 (%)" -#: src/views/database/CreateDatabaseModal.vue:22 -#: src/views/database/CreateUserModal.vue:22 +#: src/views/database/CreateDatabaseModal.vue:23 +#: src/views/database/CreateUserModal.vue:23 msgid "Specific" msgstr "特定" -#: src/views/database/CreateDatabaseModal.vue:55 +#: src/views/database/CreateDatabaseModal.vue:66 #: src/views/database/IndexView.vue:39 msgid "Create Database" msgstr "创建数据库" -#: src/views/database/CreateDatabaseModal.vue:67 -#: src/views/database/CreateUserModal.vue:73 +#: src/views/database/CreateDatabaseModal.vue:78 +#: src/views/database/CreateUserModal.vue:84 msgid "Select server" msgstr "选择服务器" -#: src/views/database/CreateDatabaseModal.vue:85 +#: src/views/database/CreateDatabaseModal.vue:96 msgid "Authorized User" msgstr "授权用户" -#: src/views/database/CreateDatabaseModal.vue:91 +#: src/views/database/CreateDatabaseModal.vue:102 msgid "Enter authorized username (leave empty for no authorization)" msgstr "输入授权用户名(留空表示无授权)" -#: src/views/database/CreateDatabaseModal.vue:115 -#: src/views/database/CreateUserModal.vue:98 +#: src/views/database/CreateDatabaseModal.vue:123 +#: src/views/database/CreateUserModal.vue:106 +#, fuzzy +msgid "Generate" +msgstr "通用" + +#: src/views/database/CreateDatabaseModal.vue:131 +#: src/views/database/CreateUserModal.vue:114 msgid "Select host" msgstr "选择主机" -#: src/views/database/CreateDatabaseModal.vue:122 -#: src/views/database/CreateUserModal.vue:102 +#: src/views/database/CreateDatabaseModal.vue:138 +#: src/views/database/CreateUserModal.vue:118 msgid "Specific Host" msgstr "特定主机" -#: src/views/database/CreateDatabaseModal.vue:128 -#: src/views/database/CreateUserModal.vue:107 +#: src/views/database/CreateDatabaseModal.vue:144 +#: src/views/database/CreateUserModal.vue:123 msgid "Enter supported host address" msgstr "输入支持的主机地址" @@ -3832,12 +3882,9 @@ msgstr "输入数据库服务器主机" #: src/views/database/CreateServerModal.vue:84 #: src/views/database/UpdateServerModal.vue:76 -#: src/views/firewall/ForwardView.vue:31 -#: src/views/firewall/RuleView.vue:48 -#: src/views/setting/SettingBase.vue:123 -#: src/views/ssh/CreateModal.vue:70 -#: src/views/ssh/UpdateModal.vue:76 -#: src/views/website/CreateModal.vue:146 +#: src/views/firewall/ForwardView.vue:31 src/views/firewall/RuleView.vue:48 +#: src/views/setting/SettingBase.vue:123 src/views/ssh/CreateModal.vue:70 +#: src/views/ssh/UpdateModal.vue:76 src/views/website/CreateModal.vue:146 msgid "Port" msgstr "端口" @@ -3861,22 +3908,22 @@ msgstr "输入数据库服务器密码" msgid "Enter database server comment" msgstr "输入数据库服务器备注" -#: src/views/database/CreateUserModal.vue:65 +#: src/views/database/CreateUserModal.vue:76 #: src/views/database/UpdateUserModal.vue:51 -msgid "If the privilege databases does not exist, it will be created automatically." +msgid "" +"If the privilege databases does not exist, it will be created automatically." msgstr "如果特权数据库不存在,将会自动创建。" -#: src/views/database/CreateUserModal.vue:94 +#: src/views/database/CreateUserModal.vue:110 msgid "Host (MySQL only)" msgstr "主机(仅限MySQL)" -#: src/views/database/CreateUserModal.vue:110 -#: src/views/database/UpdateUserModal.vue:64 -#: src/views/database/UserList.vue:98 +#: src/views/database/CreateUserModal.vue:126 +#: src/views/database/UpdateUserModal.vue:64 src/views/database/UserList.vue:98 msgid "Privileges" msgstr "权限" -#: src/views/database/CreateUserModal.vue:121 +#: src/views/database/CreateUserModal.vue:137 #: src/views/database/UpdateUserModal.vue:75 msgid "Enter database user comment" msgstr "输入数据库用户备注" @@ -3889,34 +3936,40 @@ msgstr "MySQL 不支持数据库注释" msgid "Are you sure you want to delete this database?" msgstr "您确定要删除这个数据库吗?" -#: src/views/database/ServerList.vue:120 -#: src/views/database/UserList.vue:137 +#: src/views/database/ServerList.vue:37 +#, fuzzy +msgid "Unsupported database type" +msgstr "选择数据库类型" + +#: src/views/database/ServerList.vue:149 src/views/database/UserList.vue:137 msgid "Valid" msgstr "有效" -#: src/views/database/ServerList.vue:120 -#: src/views/database/UserList.vue:137 +#: src/views/database/ServerList.vue:149 src/views/database/UserList.vue:137 msgid "Invalid" msgstr "无效" -#: src/views/database/ServerList.vue:146 -#: src/views/toolbox/SystemView.vue:92 +#: src/views/database/ServerList.vue:186 src/views/toolbox/SystemView.vue:92 msgid "Synchronized successfully" msgstr "同步成功" -#: src/views/database/ServerList.vue:152 -msgid "Are you sure you want to synchronize database users (excluding password) to the panel?" +#: src/views/database/ServerList.vue:192 +msgid "" +"Are you sure you want to synchronize database users (excluding password) to " +"the panel?" msgstr "您确定要将数据库用户(不包括密码)同步到面板吗?" -#: src/views/database/ServerList.vue:164 +#: src/views/database/ServerList.vue:205 msgid "Sync" msgstr "同步" -#: src/views/database/ServerList.vue:192 -msgid "Built-in servers cannot be deleted. If you need to delete them, please uninstall the corresponding app" +#: src/views/database/ServerList.vue:233 +msgid "" +"Built-in servers cannot be deleted. If you need to delete them, please " +"uninstall the corresponding app" msgstr "内置服务器无法删除。如果需要删除它们,请卸载相应的应用" -#: src/views/database/ServerList.vue:203 +#: src/views/database/ServerList.vue:244 msgid "Are you sure you want to delete the server?" msgstr "您确定要删除该服务器吗?" @@ -3944,27 +3997,23 @@ msgstr "官方(proxy.golang.org)" msgid "China - Qiniu (goproxy.cn)" msgstr "中国 - 七牛云(goproxy.cn)" -#: src/views/environment/GoView.vue:19 -#: src/views/environment/PythonView.vue:18 +#: src/views/environment/GoView.vue:19 src/views/environment/PythonView.vue:18 msgid "China - Alibaba (mirrors.aliyun.com)" msgstr "中国 - 阿里巴巴(mirrors.aliyun.com)" -#: src/views/environment/GoView.vue:23 -#: src/views/environment/NodejsView.vue:22 +#: src/views/environment/GoView.vue:23 src/views/environment/NodejsView.vue:22 #: src/views/environment/PythonView.vue:22 msgid "China - Tencent (mirrors.tencent.com)" msgstr "中国 - 腾讯(mirrors.tencent.com)" -#: src/views/environment/GoView.vue:46 -#: src/views/environment/JavaView.vue:13 +#: src/views/environment/GoView.vue:46 src/views/environment/JavaView.vue:13 #: src/views/environment/NodejsView.vue:49 #: src/views/environment/PHPView.vue:136 #: src/views/environment/PythonView.vue:53 msgid "Set successfully" msgstr "设置成功" -#: src/views/environment/GoView.vue:64 -#: src/views/environment/JavaView.vue:27 +#: src/views/environment/GoView.vue:64 src/views/environment/JavaView.vue:27 #: src/views/environment/NodejsView.vue:67 #: src/views/environment/PHPView.vue:201 #: src/views/environment/PythonView.vue:71 @@ -3976,7 +4025,9 @@ msgid "Proxy Settings" msgstr "代理设置" #: src/views/environment/GoView.vue:74 -msgid "GOPROXY is used to configure the Go module proxy. Using a domestic mirror can speed up dependency downloads." +msgid "" +"GOPROXY is used to configure the Go module proxy. Using a domestic mirror " +"can speed up dependency downloads." msgstr "GOPROXY 用于配置 Go 模块代理。使用国内镜像可以加快依赖项下载速度。" #: src/views/environment/GoView.vue:79 @@ -3988,7 +4039,9 @@ msgid "Select or enter proxy address" msgstr "选择或输入代理地址" #: src/views/environment/JavaView.vue:31 -msgid "Amazon Corretto is a no-cost, multiplatform, production-ready distribution of the Open Java Development Kit (OpenJDK)." +msgid "" +"Amazon Corretto is a no-cost, multiplatform, production-ready distribution " +"of the Open Java Development Kit (OpenJDK)." msgstr "" #: src/views/environment/NodejsView.vue:16 @@ -4008,7 +4061,9 @@ msgid "Registry Settings" msgstr "注册表设置" #: src/views/environment/NodejsView.vue:77 -msgid "npm registry is used to configure the npm package source. Using a domestic mirror can speed up package downloads." +msgid "" +"npm registry is used to configure the npm package source. Using a domestic " +"mirror can speed up package downloads." msgstr "npm 注册表用于配置 npm 包源。使用国内镜像可以加速包下载。" #: src/views/environment/NodejsView.vue:82 @@ -4031,8 +4086,7 @@ msgstr "您确定要安装 %{ name } 吗?" msgid "Are you sure you want to uninstall %{ name }?" msgstr "您确定要卸载 %{ name } 吗?" -#: src/views/environment/PHPView.vue:178 -#: src/views/environment/PHPView.vue:184 +#: src/views/environment/PHPView.vue:178 src/views/environment/PHPView.vue:184 msgid "Task submitted, please check progress in background tasks" msgstr "任务已提交,请在后台任务中查看进度" @@ -4041,16 +4095,24 @@ msgid "View PHPInfo" msgstr "查看 PHPInfo" #: src/views/environment/PHPView.vue:229 -msgid "This modifies the PHP %{ version } main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 PHP %{ version } 的主配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the PHP %{ version } main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 PHP %{ version } 的主配置文件。如果您不了解每个参数的含义,请不要随" +"意修改!" #: src/views/environment/PHPView.vue:243 msgid "FPM Configuration" msgstr "FPM 配置" #: src/views/environment/PHPView.vue:247 -msgid "This modifies the PHP %{ version } FPM configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 PHP %{ version } 的 FPM 配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the PHP %{ version } FPM configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 PHP %{ version } 的 FPM 配置文件。如果您不了解每个参数的含义,请不要" +"随意修改!" #: src/views/environment/PHPView.vue:300 msgid "PHPInfo" @@ -4073,7 +4135,9 @@ msgid "Mirror Settings" msgstr "镜像设置" #: src/views/environment/PythonView.vue:81 -msgid "pip mirror is used to configure the Python package source. Using a domestic mirror can speed up package downloads." +msgid "" +"pip mirror is used to configure the Python package source. Using a domestic " +"mirror can speed up package downloads." msgstr "pip 镜像用于配置 Python 包源。使用国内镜像可以加速包下载。" #: src/views/environment/PythonView.vue:86 @@ -4100,12 +4164,9 @@ msgstr "压缩中……" msgid "Compressed successfully" msgstr "压缩成功" -#: src/views/file/CompressModal.vue:73 -#: src/views/file/CompressModal.vue:105 -#: src/views/file/ListView.vue:291 -#: src/views/file/ListView.vue:327 -#: src/views/file/ListView.vue:925 -#: src/views/file/ListView.vue:1497 +#: src/views/file/CompressModal.vue:73 src/views/file/CompressModal.vue:105 +#: src/views/file/ListView.vue:291 src/views/file/ListView.vue:327 +#: src/views/file/ListView.vue:925 src/views/file/ListView.vue:1497 #: src/views/file/ToolBar.vue:267 msgid "Compress" msgstr "压缩" @@ -4126,72 +4187,62 @@ msgstr "格式" msgid "File Editor" msgstr "文件编辑器" -#: src/views/file/ListView.vue:239 -#: src/views/file/ListView.vue:693 -#: src/views/file/ListView.vue:761 -#: src/views/file/ListView.vue:809 +#: src/views/file/ListView.vue:239 src/views/file/ListView.vue:693 +#: src/views/file/ListView.vue:761 src/views/file/ListView.vue:809 #: src/views/file/ToolBar.vue:113 msgid "Warning" msgstr "警告" #: src/views/file/ListView.vue:240 -msgid "%{ name } has immutable attribute. The panel will temporarily remove the immutable attribute, perform the operation, and then restore the immutable attribute. Do you want to continue?" -msgstr "%{ name } 具有不可变属性。面板将暂时移除不可变属性,执行操作,然后恢复不可变属性。您要继续吗?" +msgid "" +"%{ name } has immutable attribute. The panel will temporarily remove the " +"immutable attribute, perform the operation, and then restore the immutable " +"attribute. Do you want to continue?" +msgstr "" +"%{ name } 具有不可变属性。面板将暂时移除不可变属性,执行操作,然后恢复不可变" +"属性。您要继续吗?" -#: src/views/file/ListView.vue:244 -#: src/views/file/UploadModal.vue:334 +#: src/views/file/ListView.vue:244 src/views/file/UploadModal.vue:334 #: src/views/file/UploadModal.vue:443 msgid "Continue" msgstr "继续" -#: src/views/file/ListView.vue:290 -#: src/views/file/ListView.vue:324 -#: src/views/file/ListView.vue:923 -#: src/views/file/ToolBar.vue:266 +#: src/views/file/ListView.vue:290 src/views/file/ListView.vue:324 +#: src/views/file/ListView.vue:923 src/views/file/ToolBar.vue:266 msgid "Move" msgstr "移动" -#: src/views/file/ListView.vue:292 -#: src/views/file/ListView.vue:325 -#: src/views/file/ListView.vue:924 -#: src/views/file/ListView.vue:1315 -#: src/views/file/PermissionModal.vue:144 -#: src/views/file/PropertyModal.vue:42 +#: src/views/file/ListView.vue:292 src/views/file/ListView.vue:325 +#: src/views/file/ListView.vue:924 src/views/file/ListView.vue:1315 +#: src/views/file/PermissionModal.vue:144 src/views/file/PropertyModal.vue:42 #: src/views/file/ToolBar.vue:268 msgid "Permission" msgstr "权限" -#: src/views/file/ListView.vue:297 -#: src/views/file/ListView.vue:347 +#: src/views/file/ListView.vue:297 src/views/file/ListView.vue:347 #: src/views/file/ToolBar.vue:262 msgid "Paste" msgstr "粘贴" -#: src/views/file/ListView.vue:309 -#: src/views/file/ListView.vue:1484 +#: src/views/file/ListView.vue:309 src/views/file/ListView.vue:1484 msgid "Open" msgstr "打开" -#: src/views/file/ListView.vue:311 -#: src/views/file/ListView.vue:1503 +#: src/views/file/ListView.vue:311 src/views/file/ListView.vue:1503 msgid "Preview" msgstr "预览" -#: src/views/file/ListView.vue:313 -#: src/views/file/ListView.vue:331 -#: src/views/file/ListView.vue:930 -#: src/views/file/ListView.vue:1614 +#: src/views/file/ListView.vue:313 src/views/file/ListView.vue:331 +#: src/views/file/ListView.vue:930 src/views/file/ListView.vue:1614 msgid "Uncompress" msgstr "解压" -#: src/views/file/ListView.vue:342 -#: src/views/file/ListView.vue:940 +#: src/views/file/ListView.vue:342 src/views/file/ListView.vue:940 #: src/views/file/PropertyModal.vue:11 msgid "Properties" msgstr "属性" -#: src/views/file/ListView.vue:604 -#: src/views/file/ToolBar.vue:62 +#: src/views/file/ListView.vue:604 src/views/file/ToolBar.vue:62 #: src/views/file/ToolBar.vue:79 msgid "Marked successfully, please navigate to the destination path to paste" msgstr "标记成功,请导航到目标路径进行粘贴" @@ -4200,14 +4251,12 @@ msgstr "标记成功,请导航到目标路径进行粘贴" msgid "There are items with the same name. Do you want to overwrite?" msgstr "存在同名项目。您要覆盖吗?" -#: src/views/file/ListView.vue:695 -#: src/views/file/ListView.vue:819 +#: src/views/file/ListView.vue:695 src/views/file/ListView.vue:819 #: src/views/file/ToolBar.vue:123 msgid "Overwrite" msgstr "覆盖" -#: src/views/file/ListView.vue:702 -#: src/views/file/ListView.vue:721 +#: src/views/file/ListView.vue:702 src/views/file/ListView.vue:721 msgid "Renamed %{ source } to %{ target } successfully" msgstr "成功将 %{ source } 重命名为 %{ target }" @@ -4223,25 +4272,20 @@ msgstr "您确定要删除 %{count} 项吗?" msgid "Path copied to clipboard" msgstr "路径已复制到剪贴板" -#: src/views/file/ListView.vue:788 -#: src/views/file/ToolBar.vue:89 +#: src/views/file/ListView.vue:788 src/views/file/ToolBar.vue:89 msgid "Please mark the files/folders to copy or move first" msgstr "请先标记要复制或移动的文件/文件夹" -#: src/views/file/ListView.vue:810 -#: src/views/file/ToolBar.vue:114 +#: src/views/file/ListView.vue:810 src/views/file/ToolBar.vue:114 msgid "There are items with the same name %{ items } Do you want to overwrite?" msgstr "存在同名项目 %{ items } 是否要覆盖?" -#: src/views/file/ListView.vue:832 -#: src/views/file/ListView.vue:852 -#: src/views/file/ToolBar.vue:136 -#: src/views/file/ToolBar.vue:156 +#: src/views/file/ListView.vue:832 src/views/file/ListView.vue:852 +#: src/views/file/ToolBar.vue:136 src/views/file/ToolBar.vue:156 msgid "Moved successfully" msgstr "移动成功" -#: src/views/file/ListView.vue:838 -#: src/views/file/ToolBar.vue:142 +#: src/views/file/ListView.vue:838 src/views/file/ToolBar.vue:142 msgid "Canceled" msgstr "已取消" @@ -4281,8 +4325,7 @@ msgstr "解压 - %{ file }" msgid "Uncompress to" msgstr "解压到" -#: src/views/file/ListView.vue:1622 -#: src/views/file/ToolBar.vue:305 +#: src/views/file/ListView.vue:1622 src/views/file/ToolBar.vue:305 msgid "Terminal - %{ path }" msgstr "终端 - %{ path }" @@ -4315,27 +4358,22 @@ msgid "Modify permissions - %{ path }" msgstr "修改权限 - %{ path }" #: src/views/file/PermissionModal.vue:117 -#: src/views/file/PermissionModal.vue:147 -#: src/views/file/PropertyModal.vue:45 +#: src/views/file/PermissionModal.vue:147 src/views/file/PropertyModal.vue:45 msgid "Owner" msgstr "所有者" #: src/views/file/PermissionModal.vue:119 #: src/views/file/PermissionModal.vue:128 -#: src/views/file/PermissionModal.vue:137 -#: src/views/home/IndexView.vue:171 -#: src/views/home/IndexView.vue:187 -#: src/views/home/IndexView.vue:879 +#: src/views/file/PermissionModal.vue:137 src/views/home/IndexView.vue:171 +#: src/views/home/IndexView.vue:187 src/views/home/IndexView.vue:879 #: src/views/monitor/IndexView.vue:535 msgid "Read" msgstr "读取" #: src/views/file/PermissionModal.vue:120 #: src/views/file/PermissionModal.vue:129 -#: src/views/file/PermissionModal.vue:138 -#: src/views/home/IndexView.vue:171 -#: src/views/home/IndexView.vue:211 -#: src/views/home/IndexView.vue:880 +#: src/views/file/PermissionModal.vue:138 src/views/home/IndexView.vue:171 +#: src/views/home/IndexView.vue:211 src/views/home/IndexView.vue:880 #: src/views/monitor/IndexView.vue:544 msgid "Write" msgstr "写入" @@ -4390,8 +4428,7 @@ msgstr "请选择要移动的文件/文件夹" msgid "Sort" msgstr "排序" -#: src/views/file/ToolBar.vue:233 -#: src/views/file/ToolBar.vue:284 +#: src/views/file/ToolBar.vue:233 src/views/file/ToolBar.vue:284 msgid "Remote Download" msgstr "远程下载" @@ -4415,19 +4452,18 @@ msgstr "下载 URL" msgid "Save as" msgstr "另存为" -#: src/views/file/UploadModal.vue:301 -#: src/views/file/UploadModal.vue:403 +#: src/views/file/UploadModal.vue:301 src/views/file/UploadModal.vue:403 msgid "Upload %{ fileName } successful" msgstr "上传 %{ fileName } 成功" -#: src/views/file/UploadModal.vue:329 -#: src/views/file/UploadModal.vue:438 +#: src/views/file/UploadModal.vue:329 src/views/file/UploadModal.vue:438 msgid "Confirm Upload" msgstr "确认上传" -#: src/views/file/UploadModal.vue:330 -#: src/views/file/UploadModal.vue:439 -msgid "You are about to upload %{count} files. This may take a while. Do you want to continue?" +#: src/views/file/UploadModal.vue:330 src/views/file/UploadModal.vue:439 +msgid "" +"You are about to upload %{count} files. This may take a while. Do you want " +"to continue?" msgstr "您即将上传 %{count} 个文件。这可能需要一些时间。您想继续吗?" #: src/views/file/UploadModal.vue:475 @@ -4435,7 +4471,8 @@ msgid "Preparing..." msgstr "准备中……" #: src/views/file/UploadModal.vue:493 -msgid "For large files, it is recommended to use SFTP and other methods to upload" +msgid "" +"For large files, it is recommended to use SFTP and other methods to upload" msgstr "对于大文件,建议使用 SFTP 等方法上传" #: src/views/firewall/CreateForwardModal.vue:50 @@ -4445,10 +4482,8 @@ msgstr "创建转发" #: src/views/firewall/CreateForwardModal.vue:58 #: src/views/firewall/CreateIpModal.vue:100 -#: src/views/firewall/CreateModal.vue:112 -#: src/views/firewall/ForwardView.vue:14 -#: src/views/firewall/IpRuleView.vue:14 -#: src/views/firewall/RuleView.vue:14 +#: src/views/firewall/CreateModal.vue:112 src/views/firewall/ForwardView.vue:14 +#: src/views/firewall/IpRuleView.vue:14 src/views/firewall/RuleView.vue:14 msgid "Transport Protocol" msgstr "传输协议" @@ -4467,36 +4502,31 @@ msgid "Target Port" msgstr "目标端口" #: src/views/firewall/CreateIpModal.vue:38 -#: src/views/firewall/CreateModal.vue:38 -#: src/views/firewall/IpRuleView.vue:68 +#: src/views/firewall/CreateModal.vue:38 src/views/firewall/IpRuleView.vue:68 #: src/views/firewall/RuleView.vue:102 msgid "Accept" msgstr "接受" #: src/views/firewall/CreateIpModal.vue:42 -#: src/views/firewall/CreateModal.vue:42 -#: src/views/firewall/IpRuleView.vue:70 +#: src/views/firewall/CreateModal.vue:42 src/views/firewall/IpRuleView.vue:70 #: src/views/firewall/RuleView.vue:104 msgid "Drop" msgstr "丢弃" #: src/views/firewall/CreateIpModal.vue:46 -#: src/views/firewall/CreateModal.vue:46 -#: src/views/firewall/IpRuleView.vue:72 +#: src/views/firewall/CreateModal.vue:46 src/views/firewall/IpRuleView.vue:72 #: src/views/firewall/RuleView.vue:106 msgid "Reject" msgstr "拒绝" #: src/views/firewall/CreateIpModal.vue:53 -#: src/views/firewall/CreateModal.vue:53 -#: src/views/firewall/IpRuleView.vue:97 +#: src/views/firewall/CreateModal.vue:53 src/views/firewall/IpRuleView.vue:97 #: src/views/firewall/RuleView.vue:131 msgid "Inbound" msgstr "入站" #: src/views/firewall/CreateIpModal.vue:57 -#: src/views/firewall/CreateModal.vue:57 -#: src/views/firewall/IpRuleView.vue:99 +#: src/views/firewall/CreateModal.vue:57 src/views/firewall/IpRuleView.vue:99 #: src/views/firewall/RuleView.vue:133 msgid "Outbound" msgstr "出站" @@ -4507,15 +4537,13 @@ msgid "%{ address } created successfully" msgstr "%{ address } 创建成功" #: src/views/firewall/CreateIpModal.vue:92 -#: src/views/firewall/CreateModal.vue:104 -#: src/views/firewall/IpRuleView.vue:205 +#: src/views/firewall/CreateModal.vue:104 src/views/firewall/IpRuleView.vue:205 #: src/views/firewall/RuleView.vue:242 msgid "Create Rule" msgstr "创建规则" #: src/views/firewall/CreateIpModal.vue:103 -#: src/views/firewall/CreateModal.vue:115 -#: src/views/firewall/IpRuleView.vue:31 +#: src/views/firewall/CreateModal.vue:115 src/views/firewall/IpRuleView.vue:31 #: src/views/firewall/RuleView.vue:31 msgid "Network Protocol" msgstr "网络协议" @@ -4530,15 +4558,13 @@ msgid "IP or IP range: 172.16.0.1 or 172.16.0.0/16" msgstr "IP 或 IP 范围:172.16.0.1 或 172.16.0.0/16" #: src/views/firewall/CreateIpModal.vue:113 -#: src/views/firewall/CreateModal.vue:147 -#: src/views/firewall/IpRuleView.vue:48 +#: src/views/firewall/CreateModal.vue:147 src/views/firewall/IpRuleView.vue:48 #: src/views/firewall/RuleView.vue:82 msgid "Strategy" msgstr "策略" #: src/views/firewall/CreateIpModal.vue:116 -#: src/views/firewall/CreateModal.vue:150 -#: src/views/firewall/IpRuleView.vue:84 +#: src/views/firewall/CreateModal.vue:150 src/views/firewall/IpRuleView.vue:84 #: src/views/firewall/RuleView.vue:118 msgid "Direction" msgstr "方向" @@ -4551,26 +4577,22 @@ msgstr "起始端口" msgid "End Port" msgstr "结束端口" -#: src/views/firewall/CreateModal.vue:140 -#: src/views/firewall/IpRuleView.vue:109 +#: src/views/firewall/CreateModal.vue:140 src/views/firewall/IpRuleView.vue:109 #: src/views/firewall/RuleView.vue:143 msgid "Target" msgstr "目标" -#: src/views/firewall/ForwardView.vue:135 -#: src/views/firewall/IpRuleView.vue:177 +#: src/views/firewall/ForwardView.vue:135 src/views/firewall/IpRuleView.vue:177 #: src/views/firewall/RuleView.vue:214 msgid "Please select rules to delete" msgstr "请选择要删除的规则" -#: src/views/firewall/ForwardView.vue:168 -#: src/views/firewall/IpRuleView.vue:210 +#: src/views/firewall/ForwardView.vue:168 src/views/firewall/IpRuleView.vue:210 #: src/views/firewall/RuleView.vue:247 msgid "Batch Delete" msgstr "批量删除" -#: src/views/firewall/ForwardView.vue:171 -#: src/views/firewall/IpRuleView.vue:213 +#: src/views/firewall/ForwardView.vue:171 src/views/firewall/IpRuleView.vue:213 #: src/views/firewall/RuleView.vue:250 msgid "Are you sure you want to batch delete?" msgstr "您确定要批量删除吗?" @@ -4587,8 +4609,7 @@ msgstr "IP 规则" msgid "Port Forwarding" msgstr "端口转发" -#: src/views/firewall/IpRuleView.vue:74 -#: src/views/firewall/RuleView.vue:108 +#: src/views/firewall/IpRuleView.vue:74 src/views/firewall/RuleView.vue:108 msgid "Mark" msgstr "标记" @@ -4600,8 +4621,7 @@ msgstr "使用中" msgid "Not Used" msgstr "未使用" -#: src/views/firewall/SettingView.vue:27 -#: src/views/firewall/SettingView.vue:33 +#: src/views/firewall/SettingView.vue:27 src/views/firewall/SettingView.vue:33 #: src/views/firewall/SettingView.vue:39 msgid "Settings saved successfully" msgstr "设置保存成功" @@ -4618,8 +4638,7 @@ msgstr "SSH 开关" msgid "Allow Ping" msgstr "允许 Ping" -#: src/views/firewall/SettingView.vue:55 -#: src/views/toolbox/SshView.vue:231 +#: src/views/firewall/SettingView.vue:55 src/views/toolbox/SshView.vue:231 msgid "SSH Port" msgstr "SSH 端口" @@ -4643,22 +4662,17 @@ msgstr "运行正常" msgid "Running smoothly" msgstr "运行流畅" -#: src/views/home/IndexView.vue:147 -#: src/views/home/IndexView.vue:835 -#: src/views/home/IndexView.vue:855 -#: src/views/toolbox/BenchmarkView.vue:203 -#: src/views/toolbox/DiskView.vue:803 -#: src/views/toolbox/IndexView.vue:26 +#: src/views/home/IndexView.vue:147 src/views/home/IndexView.vue:835 +#: src/views/home/IndexView.vue:855 src/views/toolbox/BenchmarkView.vue:203 +#: src/views/toolbox/DiskView.vue:803 src/views/toolbox/IndexView.vue:26 msgid "Disk" msgstr "磁盘" -#: src/views/home/IndexView.vue:170 -#: src/views/home/IndexView.vue:187 +#: src/views/home/IndexView.vue:170 src/views/home/IndexView.vue:187 msgid "Send" msgstr "发送" -#: src/views/home/IndexView.vue:170 -#: src/views/home/IndexView.vue:211 +#: src/views/home/IndexView.vue:170 src/views/home/IndexView.vue:211 msgid "Receive" msgstr "接收" @@ -4666,26 +4680,20 @@ msgstr "接收" msgid "Unit %{unit}" msgstr "单位 %{unit}" -#: src/views/home/IndexView.vue:193 -#: src/views/home/IndexView.vue:217 -#: src/views/monitor/IndexView.vue:361 -#: src/views/monitor/IndexView.vue:414 +#: src/views/home/IndexView.vue:193 src/views/home/IndexView.vue:217 +#: src/views/monitor/IndexView.vue:361 src/views/monitor/IndexView.vue:414 #: src/views/monitor/IndexView.vue:460 msgid "Maximum" msgstr "最大值" -#: src/views/home/IndexView.vue:194 -#: src/views/home/IndexView.vue:218 -#: src/views/monitor/IndexView.vue:362 -#: src/views/monitor/IndexView.vue:415 +#: src/views/home/IndexView.vue:194 src/views/home/IndexView.vue:218 +#: src/views/monitor/IndexView.vue:362 src/views/monitor/IndexView.vue:415 #: src/views/monitor/IndexView.vue:461 msgid "Minimum" msgstr "最小值" -#: src/views/home/IndexView.vue:198 -#: src/views/home/IndexView.vue:222 -#: src/views/monitor/IndexView.vue:366 -#: src/views/monitor/IndexView.vue:419 +#: src/views/home/IndexView.vue:198 src/views/home/IndexView.vue:222 +#: src/views/monitor/IndexView.vue:366 src/views/monitor/IndexView.vue:419 #: src/views/monitor/IndexView.vue:465 msgid "Average" msgstr "平均值" @@ -4703,15 +4711,24 @@ msgid "Current version is the latest" msgstr "当前版本是最新版本" #: src/views/home/IndexView.vue:426 -msgid "Your operating system %{ os_name } has reached its end-of-life. Please consider upgrading to a supported version to ensure optimal performance and security." -msgstr "您的操作系统 %{ os_name } 已经结束生命周期。请考虑升级到受支持的版本,以确保最佳的性能和安全性。" +msgid "" +"Your operating system %{ os_name } has reached its end-of-life. Please " +"consider upgrading to a supported version to ensure optimal performance and " +"security." +msgstr "" +"您的操作系统 %{ os_name } 已经结束生命周期。请考虑升级到受支持的版本,以确保" +"最佳的性能和安全性。" #: src/views/home/IndexView.vue:437 -msgid "Your operating system %{ os_name } is not officially supported. Some features may not work as expected. Please consider using a supported operating system for the best experience." -msgstr "您的操作系统 %{ os_name } 不受官方支持。某些功能可能无法按预期工作。请考虑使用受支持的操作系统以获得最佳体验。" +msgid "" +"Your operating system %{ os_name } is not officially supported. Some " +"features may not work as expected. Please consider using a supported " +"operating system for the best experience." +msgstr "" +"您的操作系统 %{ os_name } 不受官方支持。某些功能可能无法按预期工作。请考虑使" +"用受支持的操作系统以获得最佳体验。" -#: src/views/home/IndexView.vue:462 -#: src/views/task/IndexView.vue:23 +#: src/views/home/IndexView.vue:462 src/views/task/IndexView.vue:23 msgid "Scheduled Tasks" msgstr "计划任务" @@ -4739,8 +4756,7 @@ msgstr "最近 5 分钟" msgid "Last 15 minutes" msgstr "最近 15 分钟" -#: src/views/home/IndexView.vue:536 -#: src/views/home/IndexView.vue:548 +#: src/views/home/IndexView.vue:536 src/views/home/IndexView.vue:548 msgid "cores" msgstr "核心" @@ -4756,8 +4772,7 @@ msgstr "参数" msgid "cache" msgstr "缓存" -#: src/views/home/IndexView.vue:555 -#: src/views/monitor/IndexView.vue:405 +#: src/views/home/IndexView.vue:555 src/views/monitor/IndexView.vue:405 #: src/views/toolbox/DiskView.vue:301 msgid "Usage" msgstr "使用率" @@ -4770,12 +4785,11 @@ msgstr "频率" msgid "Active" msgstr "活跃" -#: src/views/home/IndexView.vue:584 +#: src/views/home/IndexView.vue:584 src/views/project/ListView.vue:73 msgid "Inactive" msgstr "非活跃" -#: src/views/home/IndexView.vue:590 -#: src/views/toolbox/DiskView.vue:254 +#: src/views/home/IndexView.vue:590 src/views/toolbox/DiskView.vue:254 msgid "Free" msgstr "空闲" @@ -4847,8 +4861,7 @@ msgstr "您尚未设置任何要在此处显示的应用!" msgid "Environment Information" msgstr "环境信息" -#: src/views/home/IndexView.vue:768 -#: src/views/toolbox/SystemView.vue:183 +#: src/views/home/IndexView.vue:768 src/views/toolbox/SystemView.vue:183 msgid "System Hostname" msgstr "系统主机名" @@ -4936,15 +4949,12 @@ msgstr "立即更新" msgid "Loading update information, please wait a moment" msgstr "正在加载更新信息,请稍候" -#: src/views/log/DatabaseLog.vue:31 -#: src/views/log/HttpLog.vue:39 -#: src/views/log/OperationLog.vue:34 -#: src/views/toolbox/SystemView.vue:197 +#: src/views/log/DatabaseLog.vue:31 src/views/log/HttpLog.vue:39 +#: src/views/log/OperationLog.vue:34 src/views/toolbox/SystemView.vue:197 msgid "Time" msgstr "时间" -#: src/views/log/DatabaseLog.vue:40 -#: src/views/log/OperationLog.vue:43 +#: src/views/log/DatabaseLog.vue:40 src/views/log/OperationLog.vue:43 msgid "Level" msgstr "级别" @@ -4952,8 +4962,7 @@ msgstr "级别" msgid "Query" msgstr "查询" -#: src/views/log/DatabaseLog.vue:64 -#: src/views/log/HttpLog.vue:86 +#: src/views/log/DatabaseLog.vue:64 src/views/log/HttpLog.vue:86 msgid "Duration" msgstr "持续时间" @@ -4961,8 +4970,7 @@ msgstr "持续时间" msgid "Rows" msgstr "行" -#: src/views/log/DatabaseLog.vue:95 -#: src/views/log/HttpLog.vue:120 +#: src/views/log/DatabaseLog.vue:95 src/views/log/HttpLog.vue:120 #: src/views/log/OperationLog.vue:93 msgid "Show entries" msgstr "显示条目" @@ -4991,8 +4999,7 @@ msgstr "HTTP 日志" msgid "Operator" msgstr "操作员" -#: src/views/log/OperationLog.vue:70 -#: src/views/toolbox/IndexView.vue:24 +#: src/views/log/OperationLog.vue:70 src/views/toolbox/IndexView.vue:24 msgid "System" msgstr "系统" @@ -5009,7 +5016,8 @@ msgid "Please enter captcha code" msgstr "请输入验证码" #: src/views/login/IndexView.vue:77 -msgid "Failed to get encryption public key, please refresh the page and try again" +msgid "" +"Failed to get encryption public key, please refresh the page and try again" msgstr "获取加密公钥失败,请刷新页面后重试" #: src/views/login/IndexView.vue:92 @@ -5052,8 +5060,7 @@ msgstr "使用率 %" msgid "Unit MB" msgstr "单位 MB" -#: src/views/monitor/IndexView.vue:573 -#: src/views/monitor/IndexView.vue:579 +#: src/views/monitor/IndexView.vue:573 src/views/monitor/IndexView.vue:579 msgid "Operation successful" msgstr "操作成功" @@ -5073,8 +5080,7 @@ msgstr "天" msgid "Clear Monitoring Records" msgstr "清除监控记录" -#: src/views/monitor/IndexView.vue:611 -#: src/views/website/EditView.vue:1024 +#: src/views/monitor/IndexView.vue:611 src/views/website/EditView.vue:1024 msgid "Are you sure you want to clear?" msgstr "确定要清除吗?" @@ -5082,26 +5088,20 @@ msgstr "确定要清除吗?" msgid "Load" msgstr "负载" -#: src/views/monitor/IndexView.vue:628 -#: src/views/monitor/IndexView.vue:682 -#: src/views/monitor/IndexView.vue:734 -#: src/views/monitor/IndexView.vue:790 +#: src/views/monitor/IndexView.vue:628 src/views/monitor/IndexView.vue:682 +#: src/views/monitor/IndexView.vue:734 src/views/monitor/IndexView.vue:790 #: src/views/monitor/IndexView.vue:857 msgid "Yesterday" msgstr "昨天" -#: src/views/monitor/IndexView.vue:634 -#: src/views/monitor/IndexView.vue:688 -#: src/views/monitor/IndexView.vue:740 -#: src/views/monitor/IndexView.vue:796 +#: src/views/monitor/IndexView.vue:634 src/views/monitor/IndexView.vue:688 +#: src/views/monitor/IndexView.vue:740 src/views/monitor/IndexView.vue:796 #: src/views/monitor/IndexView.vue:863 msgid "Today" msgstr "今天" -#: src/views/monitor/IndexView.vue:640 -#: src/views/monitor/IndexView.vue:694 -#: src/views/monitor/IndexView.vue:746 -#: src/views/monitor/IndexView.vue:802 +#: src/views/monitor/IndexView.vue:640 src/views/monitor/IndexView.vue:694 +#: src/views/monitor/IndexView.vue:746 src/views/monitor/IndexView.vue:802 #: src/views/monitor/IndexView.vue:869 msgid "Last 7 Days" msgstr "近 7 天" @@ -5146,28 +5146,26 @@ msgstr "创建 PHP 项目" msgid "Create Python Project" msgstr "创建 Python 项目" -#: src/views/project/CreateModal.vue:299 -#: src/views/project/ListView.vue:213 +#: src/views/project/CreateModal.vue:299 src/views/project/ListView.vue:253 msgid "Create Project" msgstr "创建项目" -#: src/views/project/CreateModal.vue:315 -#: src/views/project/EditModal.vue:179 +#: src/views/project/CreateModal.vue:315 src/views/project/EditModal.vue:179 msgid "Project Name" msgstr "项目名" -#: src/views/project/CreateModal.vue:320 -#: src/views/project/EditModal.vue:184 +#: src/views/project/CreateModal.vue:320 src/views/project/EditModal.vue:184 msgid "Project name, used as service identifier" msgstr "项目名称,用作服务标识符" -#: src/views/project/CreateModal.vue:324 -#: src/views/project/EditModal.vue:198 +#: src/views/project/CreateModal.vue:324 src/views/project/EditModal.vue:198 msgid "Project Directory" msgstr "项目目录" #: src/views/project/CreateModal.vue:331 -msgid "Project root directory (if left empty, defaults to project directory/project name)" +msgid "" +"Project root directory (if left empty, defaults to project directory/project " +"name)" msgstr "项目根目录(如果留空,默认为项目目录/项目名称)" #: src/views/project/CreateModal.vue:346 @@ -5198,17 +5196,13 @@ msgstr "Java 版本" msgid "Select Java Version" msgstr "选择 Java 版本" -#: src/views/project/CreateModal.vue:399 -#: src/views/project/CreateModal.vue:425 -#: src/views/project/CreateModal.vue:451 -#: src/views/project/CreateModal.vue:477 +#: src/views/project/CreateModal.vue:399 src/views/project/CreateModal.vue:425 +#: src/views/project/CreateModal.vue:451 src/views/project/CreateModal.vue:477 msgid "Framework" msgstr "框架" -#: src/views/project/CreateModal.vue:403 -#: src/views/project/CreateModal.vue:429 -#: src/views/project/CreateModal.vue:455 -#: src/views/project/CreateModal.vue:481 +#: src/views/project/CreateModal.vue:403 src/views/project/CreateModal.vue:429 +#: src/views/project/CreateModal.vue:455 src/views/project/CreateModal.vue:481 msgid "Select Framework" msgstr "选择框架" @@ -5220,14 +5214,12 @@ msgstr "Node.js 版本" msgid "Select Node.js Version" msgstr "选择 Node.js 版本" -#: src/views/project/CreateModal.vue:441 -#: src/views/website/CreateModal.vue:158 +#: src/views/project/CreateModal.vue:441 src/views/website/CreateModal.vue:158 #: src/views/website/EditView.vue:481 msgid "PHP Version" msgstr "PHP 版本" -#: src/views/project/CreateModal.vue:445 -#: src/views/website/CreateModal.vue:162 +#: src/views/project/CreateModal.vue:445 src/views/website/CreateModal.vue:162 #: src/views/website/EditView.vue:486 msgid "Select PHP Version" msgstr "选择 PHP 版本" @@ -5240,8 +5232,7 @@ msgstr "Python 版本" msgid "Select Python Version" msgstr "选择 Python 版本" -#: src/views/project/CreateModal.vue:497 -#: src/views/project/EditModal.vue:240 +#: src/views/project/CreateModal.vue:497 src/views/project/EditModal.vue:240 msgid "Select User" msgstr "选择用户" @@ -5249,8 +5240,7 @@ msgstr "选择用户" msgid "Select www user if no special requirements" msgstr "如果没有特殊要求,请选择 www 用户" -#: src/views/project/CreateModal.vue:512 -#: src/views/project/EditModal.vue:255 +#: src/views/project/CreateModal.vue:512 src/views/project/EditModal.vue:255 msgid "e.g., php artisan serve, node app.js" msgstr "例如,php artisan serve、node app.js" @@ -5286,8 +5276,7 @@ msgstr "文件(附加)" msgid "File (truncate)" msgstr "文件(截断)" -#: src/views/project/EditModal.vue:72 -#: src/views/setting/SettingSafe.vue:262 +#: src/views/project/EditModal.vue:72 src/views/setting/SettingSafe.vue:262 msgid "Disabled" msgstr "禁用" @@ -5384,8 +5373,12 @@ msgid "Dependencies" msgstr "依赖" #: src/views/project/EditModal.vue:404 -msgid "Configure service dependencies to control startup order. Common services: network.target, mysql.service, redis.service" -msgstr "配置服务依赖关系以控制启动顺序。常见服务:network.target、mysql.service、redis.service" +msgid "" +"Configure service dependencies to control startup order. Common services: " +"network.target, mysql.service, redis.service" +msgstr "" +"配置服务依赖关系以控制启动顺序。常见服务:network.target、mysql.service、" +"redis.service" #: src/views/project/EditModal.vue:410 msgid "Requires" @@ -5420,7 +5413,9 @@ msgid "Start this service before the specified services" msgstr "在指定的服务之前启动此服务" #: src/views/project/EditModal.vue:455 -msgid "Set resource limits to prevent the service from consuming too many system resources" +msgid "" +"Set resource limits to prevent the service from consuming too many system " +"resources" msgstr "设置资源限制以防止服务消耗过多系统资源" #: src/views/project/EditModal.vue:463 @@ -5452,7 +5447,9 @@ msgid "Security Settings" msgstr "安全设置" #: src/views/project/EditModal.vue:502 -msgid "Security settings can enhance service isolation but may affect functionality. Please test thoroughly before enabling." +msgid "" +"Security settings can enhance service isolation but may affect " +"functionality. Please test thoroughly before enabling." msgstr "安全设置可以增强服务隔离,但可能会影响功能。请在启用之前进行充分测试。" #: src/views/project/EditModal.vue:508 @@ -5476,8 +5473,11 @@ msgid "Protect System" msgstr "保护系统" #: src/views/project/EditModal.vue:537 -msgid "true: /usr, /boot read-only; full: + /etc read-only; strict: entire filesystem read-only" -msgstr "true:/usr,/boot 为只读;full:+ /etc 为只读;strict:整个文件系统为只读" +msgid "" +"true: /usr, /boot read-only; full: + /etc read-only; strict: entire " +"filesystem read-only" +msgstr "" +"true:/usr,/boot 为只读;full:+ /etc 为只读;strict:整个文件系统为只读" #: src/views/project/EditModal.vue:545 msgid "Path Access Control" @@ -5499,8 +5499,7 @@ msgstr "只读路径" msgid "Paths that the service can only read from" msgstr "服务只能读取的路径" -#: src/views/project/IndexView.vue:22 -#: src/views/project/ListView.vue:23 +#: src/views/project/IndexView.vue:22 src/views/project/ListView.vue:23 msgid "General" msgstr "通用" @@ -5516,8 +5515,7 @@ msgstr "Java" msgid "Node.js" msgstr "Node.js" -#: src/views/project/IndexView.vue:26 -#: src/views/website/IndexView.vue:22 +#: src/views/project/IndexView.vue:26 src/views/website/IndexView.vue:22 msgid "PHP" msgstr "PHP" @@ -5525,11 +5523,30 @@ msgstr "PHP" msgid "Python" msgstr "Python" -#: src/views/project/ListView.vue:131 +#: src/views/project/ListView.vue:71 src/views/task/TaskView.vue:32 +msgid "Failed" +msgstr "失败" + +#: src/views/project/ListView.vue:81 +#, fuzzy +msgid "Autostart" +msgstr "自启动开启" + +#: src/views/project/ListView.vue:157 msgid "Are you sure you want to delete project %{ name }?" msgstr "您确定要删除项目 %{ name } 吗?" -#: src/views/project/ListView.vue:221 +#: src/views/project/ListView.vue:203 +#, fuzzy +msgid "Autostart enabled" +msgstr "自启动开启" + +#: src/views/project/ListView.vue:208 +#, fuzzy +msgid "Autostart disabled" +msgstr "自启动已成功禁用" + +#: src/views/project/ListView.vue:261 msgid "Are you sure you want to delete the selected projects?" msgstr "您确定要删除所选项目吗?" @@ -5537,8 +5554,7 @@ msgstr "您确定要删除所选项目吗?" msgid "Enter user name" msgstr "输入用户名" -#: src/views/setting/CreateModal.vue:53 -#: src/views/setting/PasswordModal.vue:40 +#: src/views/setting/CreateModal.vue:53 src/views/setting/PasswordModal.vue:40 msgid "Enter user password" msgstr "输入用户密码" @@ -5554,10 +5570,8 @@ msgstr "面板正在重启,页面将在 5 秒后刷新" msgid "Safe" msgstr "安全" -#: src/views/setting/PasswordModal.vue:16 -#: src/views/setting/TokenModal.vue:181 -#: src/views/setting/TwoFaModal.vue:24 -#: src/views/ssh/UpdateModal.vue:31 +#: src/views/setting/PasswordModal.vue:16 src/views/setting/TokenModal.vue:181 +#: src/views/setting/TwoFaModal.vue:24 src/views/ssh/UpdateModal.vue:31 msgid "Updated successfully" msgstr "更新成功" @@ -5569,8 +5583,7 @@ msgstr "稳定版" msgid "Beta" msgstr "测试版" -#: src/views/setting/SettingBase.vue:114 -#: src/views/setting/SettingBase.vue:115 +#: src/views/setting/SettingBase.vue:114 src/views/setting/SettingBase.vue:115 msgid "Panel Name" msgstr "面板名称" @@ -5623,7 +5636,9 @@ msgid "Login Timeout" msgstr "登录超时" #: src/views/setting/SettingSafe.vue:47 -msgid "Set the maximum lifetime (in minutes) of the login state, after which you need to log in again" +msgid "" +"Set the maximum lifetime (in minutes) of the login state, after which you " +"need to log in again" msgstr "设置登录状态的最长生命周期(单位:分钟),超过该时间后需要重新登录" #: src/views/setting/SettingSafe.vue:55 @@ -5639,19 +5654,26 @@ msgid "Access Entrance" msgstr "访问入口" #: src/views/setting/SettingSafe.vue:75 -msgid "Set the access entrance of the panel (e.g. /mypanel) to prevent some malicious access. Leave blank to disable (not recommended)" -msgstr "设置面板的访问入口(例如 /mypanel)以防止恶意访问。留空以禁用(不推荐)" +msgid "" +"Set the access entrance of the panel (e.g. /mypanel) to prevent some " +"malicious access. Leave blank to disable (not recommended)" +msgstr "" +"设置面板的访问入口(例如 /mypanel)以防止恶意访问。留空以禁用(不推荐)" #: src/views/setting/SettingSafe.vue:88 msgid "Entrance Error Page" msgstr "入口错误页" #: src/views/setting/SettingSafe.vue:93 -msgid "Set the error page to display when accessing with wrong entrance. 418 shows teapot page, Nginx 404 shows nginx style 404 page, Close Connection will close the connection immediately" -msgstr "设置当通过错误入口访问时显示的错误页面。418 显示茶壶页面,Nginx 404 显示 Nginx 风格的 404 页面,关闭连接将立即关闭连接" +msgid "" +"Set the error page to display when accessing with wrong entrance. 418 shows " +"teapot page, Nginx 404 shows nginx style 404 page, Close Connection will " +"close the connection immediately" +msgstr "" +"设置当通过错误入口访问时显示的错误页面。418 显示茶壶页面,Nginx 404 显示 " +"Nginx 风格的 404 页面,关闭连接将立即关闭连接" -#: src/views/setting/SettingSafe.vue:102 -#: src/views/setting/SettingSafe.vue:106 +#: src/views/setting/SettingSafe.vue:102 src/views/setting/SettingSafe.vue:106 msgid "418 I'm a teapot" msgstr "418 I'm a teapot" @@ -5668,7 +5690,9 @@ msgid "Login Captcha" msgstr "登录验证码" #: src/views/setting/SettingSafe.vue:119 -msgid "When enabled, a captcha will be required after 3 failed login attempts to prevent brute force attacks" +msgid "" +"When enabled, a captcha will be required after 3 failed login attempts to " +"prevent brute force attacks" msgstr "启用后,在 3 次登录失败后将要求输入验证码,以防止暴力破解攻击" #: src/views/setting/SettingSafe.vue:132 @@ -5676,8 +5700,12 @@ msgid "Request IP Header" msgstr "请求 IP 头" #: src/views/setting/SettingSafe.vue:137 -msgid "Set the header that carries the real IP of the client, useful when using CDN or reverse proxy. Leave blank to use the client IP directly" -msgstr "设置承载客户端真实 IP 的请求头,在使用 CDN 或反向代理时非常有用。留空以直接使用客户端 IP" +msgid "" +"Set the header that carries the real IP of the client, useful when using CDN " +"or reverse proxy. Leave blank to use the client IP directly" +msgstr "" +"设置承载客户端真实 IP 的请求头,在使用 CDN 或反向代理时非常有用。留空以直接使" +"用客户端 IP" #: src/views/setting/SettingSafe.vue:143 msgid "X-Real-IP" @@ -5688,7 +5716,9 @@ msgid "Bind Domain" msgstr "绑定域名" #: src/views/setting/SettingSafe.vue:155 -msgid "Restrict panel access to the specified domain names. Leave blank to allow access from any domain" +msgid "" +"Restrict panel access to the specified domain names. Leave blank to allow " +"access from any domain" msgstr "限制面板访问为指定的域名。留空以允许来自任何域名的访问" #: src/views/setting/SettingSafe.vue:172 @@ -5696,7 +5726,9 @@ msgid "Bind IP" msgstr "绑定 IP" #: src/views/setting/SettingSafe.vue:177 -msgid "Restrict panel access to the specified IP addresses. Leave blank to allow access from any IP" +msgid "" +"Restrict panel access to the specified IP addresses. Leave blank to allow " +"access from any IP" msgstr "限制面板访问为指定的 IP 地址。留空以允许来自任何 IP 的访问" #: src/views/setting/SettingSafe.vue:190 @@ -5704,7 +5736,9 @@ msgid "Bind UA" msgstr "绑定 UA" #: src/views/setting/SettingSafe.vue:195 -msgid "Restrict panel access to the specified User-Agent strings. Leave blank to allow access from any User-Agent" +msgid "" +"Restrict panel access to the specified User-Agent strings. Leave blank to " +"allow access from any User-Agent" msgstr "限制面板访问为指定的用户代理字符串。留空以允许任何用户代理的访问" #: src/views/setting/SettingSafe.vue:212 @@ -5712,24 +5746,37 @@ msgid "Offline Mode" msgstr "离线模式" #: src/views/setting/SettingSafe.vue:217 -msgid "When enabled, the panel will not attempt to connect to external services for updates or other features. This may limit some functionalities" -msgstr "启用后,面板将不会尝试连接外部服务以获取更新或其他功能。这可能会限制某些功能" +msgid "" +"When enabled, the panel will not attempt to connect to external services for " +"updates or other features. This may limit some functionalities" +msgstr "" +"启用后,面板将不会尝试连接外部服务以获取更新或其他功能。这可能会限制某些功能" #: src/views/setting/SettingSafe.vue:230 msgid "Auto Update" msgstr "自动更新" #: src/views/setting/SettingSafe.vue:235 -msgid "When enabled, the panel will automatically check for and install updates when they are available. It is recommended to keep this enabled to ensure you have the latest features and security patches" -msgstr "启用后,面板将自动检查并安装可用的更新。建议保持此功能启用,以确保您拥有最新的功能和安全补丁" +msgid "" +"When enabled, the panel will automatically check for and install updates " +"when they are available. It is recommended to keep this enabled to ensure " +"you have the latest features and security patches" +msgstr "" +"启用后,面板将自动检查并安装可用的更新。建议保持此功能启用,以确保您拥有最新" +"的功能和安全补丁" #: src/views/setting/SettingSafe.vue:248 msgid "Panel HTTPS" msgstr "面板 HTTPS" #: src/views/setting/SettingSafe.vue:253 -msgid "Enable HTTPS for the panel. ACME will automatically obtain and renew certificates (requires panel accessible via public IP). Custom allows you to provide your own certificate" -msgstr "为面板启用 HTTPS。ACME 将自动获取并更新证书(需支持通过公网 IP 访问面板)。自定义允许您提供自己的证书" +msgid "" +"Enable HTTPS for the panel. ACME will automatically obtain and renew " +"certificates (requires panel accessible via public IP). Custom allows you to " +"provide your own certificate" +msgstr "" +"为面板启用 HTTPS。ACME 将自动获取并更新证书(需支持通过公网 IP 访问面板)。自" +"定义允许您提供自己的证书" #: src/views/setting/SettingSafe.vue:263 msgid "ACME (Auto)" @@ -5739,14 +5786,16 @@ msgstr "ACME(自动)" msgid "Custom Certificate" msgstr "自定义证书" -#: src/views/setting/SettingSafe.vue:272 -#: src/views/setting/SettingSafe.vue:277 +#: src/views/setting/SettingSafe.vue:272 src/views/setting/SettingSafe.vue:277 msgid "Panel Public IP" msgstr "面板公网 IP" #: src/views/setting/SettingSafe.vue:282 -msgid "Panel public IP is used to issue HTTPS certificates using ACME. Ensure that the entered IP address is accessible from the public network." -msgstr "面板公网 IP 用于使用 ACME 颁发 HTTPS 证书。确保输入的 IP 地址可以从公网访问。" +msgid "" +"Panel public IP is used to issue HTTPS certificates using ACME. Ensure that " +"the entered IP address is accessible from the public network." +msgstr "" +"面板公网 IP 用于使用 ACME 颁发 HTTPS 证书。确保输入的 IP 地址可以从公网访问。" #: src/views/setting/SettingUser.vue:53 msgid "2FA" @@ -5756,8 +5805,7 @@ msgstr "两步验证" msgid "Disabled successfully" msgstr "禁用成功" -#: src/views/setting/SettingUser.vue:102 -#: src/views/setting/TokenModal.vue:202 +#: src/views/setting/SettingUser.vue:102 src/views/setting/TokenModal.vue:202 msgid "Access Tokens" msgstr "访问令牌" @@ -5785,23 +5833,19 @@ msgstr "复制并关闭" msgid "Copy failed" msgstr "复制失败" -#: src/views/setting/TokenModal.vue:212 -#: src/views/setting/TokenModal.vue:240 +#: src/views/setting/TokenModal.vue:212 src/views/setting/TokenModal.vue:240 msgid "Create Access Token" msgstr "创建访问令牌" -#: src/views/setting/TokenModal.vue:249 -#: src/views/setting/TokenModal.vue:282 +#: src/views/setting/TokenModal.vue:249 src/views/setting/TokenModal.vue:282 msgid "IP White List" msgstr "IP 白名单" -#: src/views/setting/TokenModal.vue:252 -#: src/views/setting/TokenModal.vue:285 +#: src/views/setting/TokenModal.vue:252 src/views/setting/TokenModal.vue:285 msgid "127.0.0.1" msgstr "127.0.0.1" -#: src/views/setting/TokenModal.vue:260 -#: src/views/setting/TokenModal.vue:293 +#: src/views/setting/TokenModal.vue:260 src/views/setting/TokenModal.vue:293 msgid "Please select the expiration time" msgstr "请选择到期时间" @@ -5822,7 +5866,8 @@ msgid "Scan the QR code with your 2FA app and enter the code below" msgstr "用您的两步验证应用扫描二维码并在下方输入代码" #: src/views/setting/TwoFaModal.vue:66 -msgid "If you cannot scan the QR code, please enter the URL below in your 2FA app" +msgid "" +"If you cannot scan the QR code, please enter the URL below in your 2FA app" msgstr "如果您不能扫描二维码,请在您的两步验证应用中输入下面的 URL" #: src/views/setting/TwoFaModal.vue:79 @@ -5833,28 +5878,23 @@ msgstr "代码" msgid "Enter the code" msgstr "输入代码" -#: src/views/ssh/CreateModal.vue:52 -#: src/views/ssh/IndexView.vue:281 +#: src/views/ssh/CreateModal.vue:52 src/views/ssh/IndexView.vue:281 msgid "Create Host" msgstr "创建主机" -#: src/views/ssh/CreateModal.vue:75 -#: src/views/ssh/UpdateModal.vue:81 +#: src/views/ssh/CreateModal.vue:75 src/views/ssh/UpdateModal.vue:81 msgid "Authentication Method" msgstr "认证方式" -#: src/views/ssh/CreateModal.vue:94 -#: src/views/ssh/UpdateModal.vue:100 +#: src/views/ssh/CreateModal.vue:94 src/views/ssh/UpdateModal.vue:100 msgid "Passphrase" msgstr "密码短语" -#: src/views/ssh/CreateModal.vue:99 -#: src/views/ssh/UpdateModal.vue:105 +#: src/views/ssh/CreateModal.vue:99 src/views/ssh/UpdateModal.vue:105 msgid "Leave empty if key has no passphrase" msgstr "如果密钥没有密码短语,请留空" -#: src/views/ssh/CreateModal.vue:102 -#: src/views/ssh/UpdateModal.vue:108 +#: src/views/ssh/CreateModal.vue:102 src/views/ssh/UpdateModal.vue:108 msgid "Remarks" msgstr "备注" @@ -5886,37 +5926,29 @@ msgstr "# 在此处输入您的脚本内容" msgid "Create Scheduled Task" msgstr "创建计划任务" -#: src/views/task/CreateModal.vue:95 -#: src/views/task/CronView.vue:32 +#: src/views/task/CreateModal.vue:95 src/views/task/CronView.vue:32 msgid "Task Type" msgstr "任务类型" -#: src/views/task/CreateModal.vue:99 -#: src/views/task/CronView.vue:45 +#: src/views/task/CreateModal.vue:99 src/views/task/CronView.vue:45 msgid "Run Script" msgstr "运行脚本" -#: src/views/task/CreateModal.vue:100 -#: src/views/task/CronView.vue:47 +#: src/views/task/CreateModal.vue:100 src/views/task/CronView.vue:47 msgid "Backup Data" msgstr "备份数据" -#: src/views/task/CreateModal.vue:101 -#: src/views/task/CronView.vue:48 +#: src/views/task/CreateModal.vue:101 src/views/task/CronView.vue:48 msgid "Log Rotation" msgstr "日志切割" -#: src/views/task/CreateModal.vue:106 -#: src/views/task/CreateModal.vue:107 -#: src/views/task/CronView.vue:25 -#: src/views/task/CronView.vue:250 -#: src/views/task/CronView.vue:251 -#: src/views/task/TaskView.vue:15 +#: src/views/task/CreateModal.vue:106 src/views/task/CreateModal.vue:107 +#: src/views/task/CronView.vue:25 src/views/task/CronView.vue:250 +#: src/views/task/CronView.vue:251 src/views/task/TaskView.vue:15 msgid "Task Name" msgstr "任务名称" -#: src/views/task/CreateModal.vue:109 -#: src/views/task/CronView.vue:69 +#: src/views/task/CreateModal.vue:109 src/views/task/CronView.vue:69 #: src/views/task/CronView.vue:253 msgid "Task Schedule" msgstr "任务周期" @@ -5941,8 +5973,7 @@ msgstr "PostgreSQL 数据库" msgid "Retention Count" msgstr "保留数量" -#: src/views/task/CronView.vue:55 -#: src/views/toolbox/WebHookView.vue:87 +#: src/views/task/CronView.vue:55 src/views/toolbox/WebHookView.vue:87 #: src/views/toolbox/WebHookView.vue:382 msgid "Enabled" msgstr "已启用" @@ -5967,16 +5998,11 @@ msgstr "创建任务" msgid "Completed" msgstr "已完成" -#: src/views/task/TaskView.vue:30 -#: src/views/toolbox/ProcessView.vue:53 +#: src/views/task/TaskView.vue:30 src/views/toolbox/ProcessView.vue:53 #: src/views/toolbox/ProcessView.vue:92 msgid "Waiting" msgstr "等待中" -#: src/views/task/TaskView.vue:32 -msgid "Failed" -msgstr "失败" - #: src/views/task/TaskView.vue:46 msgid "Completion Time" msgstr "完成时间" @@ -6005,8 +6031,11 @@ msgid "Pending benchmark" msgstr "待跑分" #: src/views/toolbox/BenchmarkView.vue:89 -msgid "Benchmark results are for reference only and may differ from actual performance due to system resource scheduling, caching, and other factors!" -msgstr "跑分结果仅供参考,由于系统资源调度、缓存和其他因素,可能与实际性能有所不同!" +msgid "" +"Benchmark results are for reference only and may differ from actual " +"performance due to system resource scheduling, caching, and other factors!" +msgstr "" +"跑分结果仅供参考,由于系统资源调度、缓存和其他因素,可能与实际性能有所不同!" #: src/views/toolbox/BenchmarkView.vue:96 msgid "Benchmarking in progress, it may take some time..." @@ -6104,21 +6133,21 @@ msgstr "可用" msgid "Not Mounted" msgstr "未挂载" -#: src/views/toolbox/DiskView.vue:332 -#: src/views/toolbox/DiskView.vue:828 +#: src/views/toolbox/DiskView.vue:332 src/views/toolbox/DiskView.vue:828 msgid "Filesystem" msgstr "文件系统" -#: src/views/toolbox/DiskView.vue:385 -#: src/views/toolbox/DiskView.vue:537 -#: src/views/toolbox/DiskView.vue:581 -#: src/views/toolbox/DiskView.vue:630 +#: src/views/toolbox/DiskView.vue:385 src/views/toolbox/DiskView.vue:537 +#: src/views/toolbox/DiskView.vue:581 src/views/toolbox/DiskView.vue:630 msgid "Please fill in all fields" msgstr "请填写所有字段" #: src/views/toolbox/DiskView.vue:390 -msgid "Are you sure you want to mount %{ device } to %{ path } and write to fstab for auto-mount on boot?" -msgstr "您确定要将 %{ device } 挂载到 %{ path } 并写入 fstab 以在启动时自动挂载吗?" +msgid "" +"Are you sure you want to mount %{ device } to %{ path } and write to fstab " +"for auto-mount on boot?" +msgstr "" +"您确定要将 %{ device } 挂载到 %{ path } 并写入 fstab 以在启动时自动挂载吗?" #: src/views/toolbox/DiskView.vue:397 msgid "Are you sure you want to mount %{ device } to %{ path }?" @@ -6136,22 +6165,20 @@ msgstr "您确定要卸载这个分区吗?" msgid "Unmounted successfully" msgstr "卸载成功" -#: src/views/toolbox/DiskView.vue:444 -#: src/views/toolbox/DiskView.vue:495 +#: src/views/toolbox/DiskView.vue:444 src/views/toolbox/DiskView.vue:495 msgid "Please select a device" msgstr "请选择一个设备" -#: src/views/toolbox/DiskView.vue:449 -#: src/views/toolbox/DiskView.vue:474 -#: src/views/toolbox/DiskView.vue:519 -#: src/views/toolbox/DiskView.vue:562 -#: src/views/toolbox/DiskView.vue:611 -#: src/views/toolbox/DiskView.vue:658 +#: src/views/toolbox/DiskView.vue:449 src/views/toolbox/DiskView.vue:474 +#: src/views/toolbox/DiskView.vue:519 src/views/toolbox/DiskView.vue:562 +#: src/views/toolbox/DiskView.vue:611 src/views/toolbox/DiskView.vue:658 msgid "Dangerous Operation" msgstr "危险操作" #: src/views/toolbox/DiskView.vue:450 -msgid "Formatting will erase all data on the partition. This operation is irreversible. Are you sure?" +msgid "" +"Formatting will erase all data on the partition. This operation is " +"irreversible. Are you sure?" msgstr "格式化将删除分区上的所有数据。此操作是不可逆的。您确定吗?" #: src/views/toolbox/DiskView.vue:453 @@ -6167,8 +6194,12 @@ msgid "Please enter disk name" msgstr "请输入磁盘名称" #: src/views/toolbox/DiskView.vue:475 -msgid "This will delete all partitions on %{ device } and create a single partition. All data will be permanently lost. Are you absolutely sure?" -msgstr "这将删除 %{ device } 上的所有分区并创建一个单一的分区。所有数据将永久丢失。您确定吗?" +msgid "" +"This will delete all partitions on %{ device } and create a single " +"partition. All data will be permanently lost. Are you absolutely sure?" +msgstr "" +"这将删除 %{ device } 上的所有分区并创建一个单一的分区。所有数据将永久丢失。您" +"确定吗?" #: src/views/toolbox/DiskView.vue:479 msgid "Confirm Initialize" @@ -6203,7 +6234,9 @@ msgid "Volume group created successfully" msgstr "卷组创建成功" #: src/views/toolbox/DiskView.vue:563 -msgid "Are you sure you want to remove the volume group %{ name }? All logical volumes in this group will be deleted!" +msgid "" +"Are you sure you want to remove the volume group %{ name }? All logical " +"volumes in this group will be deleted!" msgstr "您确定要删除卷组 %{ name } 吗?此组中的所有逻辑卷将被删除!" #: src/views/toolbox/DiskView.vue:571 @@ -6211,7 +6244,8 @@ msgid "Volume group removed successfully" msgstr "卷组删除成功" #: src/views/toolbox/DiskView.vue:587 -msgid "Are you sure you want to create logical volume %{ name } with %{ size }GB?" +msgid "" +"Are you sure you want to create logical volume %{ name } with %{ size }GB?" msgstr "您确定要创建逻辑卷 %{ name },大小为 %{ size }GB 吗?" #: src/views/toolbox/DiskView.vue:598 @@ -6219,7 +6253,9 @@ msgid "Logical volume created successfully" msgstr "逻辑卷创建成功" #: src/views/toolbox/DiskView.vue:612 -msgid "Are you sure you want to remove the logical volume %{ path }? All data on this volume will be lost!" +msgid "" +"Are you sure you want to remove the logical volume %{ path }? All data on " +"this volume will be lost!" msgstr "您确定要删除逻辑卷 %{ path } 吗?该卷上的所有数据将丢失!" #: src/views/toolbox/DiskView.vue:620 @@ -6235,8 +6271,11 @@ msgid "Logical volume extended successfully" msgstr "逻辑卷扩展成功" #: src/views/toolbox/DiskView.vue:659 -msgid "Are you sure you want to remove the fstab entry for %{ mountPoint }? This will prevent auto-mount on boot." -msgstr "您确定要删除 %{ mountPoint } 的 fstab 条目吗?这将阻止在启动时自动挂载。" +msgid "" +"Are you sure you want to remove the fstab entry for %{ mountPoint }? This " +"will prevent auto-mount on boot." +msgstr "" +"您确定要删除 %{ mountPoint } 的 fstab 条目吗?这将阻止在启动时自动挂载。" #: src/views/toolbox/DiskView.vue:667 msgid "Fstab entry removed successfully" @@ -6278,13 +6317,11 @@ msgstr "未找到磁盘" msgid "Mount Partition" msgstr "挂载分区" -#: src/views/toolbox/DiskView.vue:725 -#: src/views/toolbox/DiskView.vue:770 +#: src/views/toolbox/DiskView.vue:725 src/views/toolbox/DiskView.vue:770 msgid "Partition" msgstr "分区" -#: src/views/toolbox/DiskView.vue:729 -#: src/views/toolbox/DiskView.vue:774 +#: src/views/toolbox/DiskView.vue:729 src/views/toolbox/DiskView.vue:774 msgid "Select partition" msgstr "选择分区" @@ -6309,7 +6346,9 @@ msgid "Mount" msgstr "挂载" #: src/views/toolbox/DiskView.vue:758 -msgid "When enabled, the partition UUID will be written to /etc/fstab for automatic mounting on system boot." +msgid "" +"When enabled, the partition UUID will be written to /etc/fstab for automatic " +"mounting on system boot." msgstr "启用后,分区 UUID 将被写入 /etc/fstab,以便在系统启动时自动挂载。" #: src/views/toolbox/DiskView.vue:765 @@ -6320,8 +6359,7 @@ msgstr "格式化分区" msgid "Warning: Formatting will erase all data!" msgstr "警告:格式化将清除所有数据!" -#: src/views/toolbox/DiskView.vue:779 -#: src/views/toolbox/DiskView.vue:812 +#: src/views/toolbox/DiskView.vue:779 src/views/toolbox/DiskView.vue:812 msgid "Filesystem Type" msgstr "文件系统类型" @@ -6335,7 +6373,9 @@ msgid "Initialize Disk" msgstr "初始化磁盘" #: src/views/toolbox/DiskView.vue:797 -msgid "Warning: This will delete all partitions and create a single partition. All data will be lost!" +msgid "" +"Warning: This will delete all partitions and create a single partition. All " +"data will be lost!" msgstr "警告:这将删除所有分区并创建一个单分区。所有数据将丢失!" #: src/views/toolbox/DiskView.vue:807 @@ -6350,17 +6390,13 @@ msgstr "初始化" msgid "Auto-mount Configuration (fstab)" msgstr "自动挂载配置(fstab)" -#: src/views/toolbox/DiskView.vue:826 -#: src/views/toolbox/DiskView.vue:884 +#: src/views/toolbox/DiskView.vue:826 src/views/toolbox/DiskView.vue:884 msgid "Device" msgstr "设备" -#: src/views/toolbox/DiskView.vue:844 -#: src/views/toolbox/DiskView.vue:874 -#: src/views/toolbox/DiskView.vue:912 -#: src/views/toolbox/DiskView.vue:957 -#: src/views/website/EditView.vue:619 -#: src/views/website/EditView.vue:779 +#: src/views/toolbox/DiskView.vue:844 src/views/toolbox/DiskView.vue:874 +#: src/views/toolbox/DiskView.vue:912 src/views/toolbox/DiskView.vue:957 +#: src/views/website/EditView.vue:619 src/views/website/EditView.vue:779 msgid "Remove" msgstr "移除" @@ -6372,8 +6408,7 @@ msgstr "无 fstab 条目" msgid "LVM Management" msgstr "LVM 管理" -#: src/views/toolbox/DiskView.vue:863 -#: src/views/toolbox/DiskView.vue:929 +#: src/views/toolbox/DiskView.vue:863 src/views/toolbox/DiskView.vue:929 msgid "Physical Volumes" msgstr "物理卷" @@ -6569,23 +6604,19 @@ msgstr "点击扫描以检查日志" msgid "All Status" msgstr "所有状态" -#: src/views/toolbox/ProcessView.vue:49 -#: src/views/toolbox/ProcessView.vue:84 +#: src/views/toolbox/ProcessView.vue:49 src/views/toolbox/ProcessView.vue:84 msgid "Sleeping" msgstr "睡眠" -#: src/views/toolbox/ProcessView.vue:51 -#: src/views/toolbox/ProcessView.vue:88 +#: src/views/toolbox/ProcessView.vue:51 src/views/toolbox/ProcessView.vue:88 msgid "Idle" msgstr "空闲" -#: src/views/toolbox/ProcessView.vue:52 -#: src/views/toolbox/ProcessView.vue:90 +#: src/views/toolbox/ProcessView.vue:52 src/views/toolbox/ProcessView.vue:90 msgid "Zombie" msgstr "僵尸进程" -#: src/views/toolbox/ProcessView.vue:54 -#: src/views/toolbox/ProcessView.vue:94 +#: src/views/toolbox/ProcessView.vue:54 src/views/toolbox/ProcessView.vue:94 msgid "Locked" msgstr "已锁定" @@ -6629,18 +6660,15 @@ msgstr "用户信号 2(SIGUSR2)" msgid "Blocked" msgstr "阻塞" -#: src/views/toolbox/ProcessView.vue:117 -#: src/views/toolbox/ProcessView.vue:385 +#: src/views/toolbox/ProcessView.vue:117 src/views/toolbox/ProcessView.vue:385 msgid "Parent PID" msgstr "父进程 PID" -#: src/views/toolbox/ProcessView.vue:124 -#: src/views/toolbox/ProcessView.vue:397 +#: src/views/toolbox/ProcessView.vue:124 src/views/toolbox/ProcessView.vue:397 msgid "Threads" msgstr "线程" -#: src/views/toolbox/ProcessView.vue:165 -#: src/views/toolbox/ProcessView.vue:418 +#: src/views/toolbox/ProcessView.vue:165 src/views/toolbox/ProcessView.vue:418 msgid "Start Time" msgstr "启动时间" @@ -6748,8 +6776,7 @@ msgstr "请输入密码" msgid "Root password updated" msgstr "Root 密码已更新" -#: src/views/toolbox/SshView.vue:150 -#: src/views/toolbox/SshView.vue:164 +#: src/views/toolbox/SshView.vue:150 src/views/toolbox/SshView.vue:164 msgid "SSH key generated" msgstr "SSH 密钥已生成" @@ -6798,7 +6825,9 @@ msgid "Reset" msgstr "重置" #: src/views/toolbox/SshView.vue:287 -msgid "It is recommended to use a complex password. Refresh will clear the password field." +msgid "" +"It is recommended to use a complex password. Refresh will clear the password " +"field." msgstr "建议使用复杂密码。刷新页面将清除密码字段。" #: src/views/toolbox/SshView.vue:296 @@ -6818,7 +6847,9 @@ msgid "Root Private Key" msgstr "Root 私钥" #: src/views/toolbox/SshView.vue:326 -msgid "This is the private key of the root user. Keep it safe and use it to login to this server." +msgid "" +"This is the private key of the root user. Keep it safe and use it to login " +"to this server." msgstr "这是 root 用户的私钥。请妥善保管,并用它登录到此服务器。" #: src/views/toolbox/SshView.vue:336 @@ -6870,7 +6901,9 @@ msgid "Hosts" msgstr "Hosts" #: src/views/toolbox/SystemView.vue:201 -msgid "After manually changing the time, it may still be overwritten by system automatic time synchronization." +msgid "" +"After manually changing the time, it may still be overwritten by system " +"automatic time synchronization." msgstr "手动更改时间后,系统自动时间同步可能仍会覆盖设置。" #: src/views/toolbox/SystemView.vue:207 @@ -6906,11 +6939,15 @@ msgid "System NTP Server Configuration" msgstr "系统 NTP 服务器配置" #: src/views/toolbox/SystemView.vue:255 -msgid "Unable to detect NTP service. Please ensure chrony or systemd-timesyncd is installed." +msgid "" +"Unable to detect NTP service. Please ensure chrony or systemd-timesyncd is " +"installed." msgstr "无法检测到 NTP 服务。请确保已安装 chrony 或 systemd-timesyncd。" #: src/views/toolbox/SystemView.vue:262 -msgid "Current NTP service: %{ service }. Changes will be applied to system configuration." +msgid "" +"Current NTP service: %{ service }. Changes will be applied to system " +"configuration." msgstr "当前 NTP 服务:%{ service }。更改将应用于系统配置。" #: src/views/toolbox/SystemView.vue:275 @@ -6921,8 +6958,7 @@ msgstr "输入 NTP 服务器地址" msgid "Reset to Default" msgstr "重置为默认值" -#: src/views/toolbox/WebHookView.vue:69 -#: src/views/toolbox/WebHookView.vue:341 +#: src/views/toolbox/WebHookView.vue:69 src/views/toolbox/WebHookView.vue:341 #: src/views/toolbox/WebHookView.vue:376 msgid "Raw Output" msgstr "原始输出" @@ -6947,38 +6983,31 @@ msgstr "您确定要删除此 Web 钩子吗?" msgid "URL copied to clipboard" msgstr "URL 已复制到剪贴板" -#: src/views/toolbox/WebHookView.vue:243 -#: src/views/toolbox/WebHookView.vue:265 +#: src/views/toolbox/WebHookView.vue:243 src/views/toolbox/WebHookView.vue:265 msgid "Please enter a name" msgstr "请输入名称" -#: src/views/toolbox/WebHookView.vue:247 -#: src/views/toolbox/WebHookView.vue:269 +#: src/views/toolbox/WebHookView.vue:247 src/views/toolbox/WebHookView.vue:269 msgid "Please enter a script" msgstr "请输入脚本" -#: src/views/toolbox/WebHookView.vue:296 -#: src/views/toolbox/WebHookView.vue:325 +#: src/views/toolbox/WebHookView.vue:296 src/views/toolbox/WebHookView.vue:325 msgid "Create WebHook" msgstr "创建 Web 钩子" -#: src/views/toolbox/WebHookView.vue:333 -#: src/views/toolbox/WebHookView.vue:368 +#: src/views/toolbox/WebHookView.vue:333 src/views/toolbox/WebHookView.vue:368 msgid "Enter WebHook name" msgstr "输入 Web 钩子名称" -#: src/views/toolbox/WebHookView.vue:338 -#: src/views/toolbox/WebHookView.vue:373 +#: src/views/toolbox/WebHookView.vue:338 src/views/toolbox/WebHookView.vue:373 msgid "User to run the script (default: root)" msgstr "运行脚本用户(默认:root)" -#: src/views/toolbox/WebHookView.vue:344 -#: src/views/toolbox/WebHookView.vue:379 +#: src/views/toolbox/WebHookView.vue:344 src/views/toolbox/WebHookView.vue:379 msgid "Return script output as raw text instead of JSON" msgstr "将脚本输出作为原始文本而非 JSON 返回" -#: src/views/toolbox/WebHookView.vue:347 -#: src/views/toolbox/WebHookView.vue:385 +#: src/views/toolbox/WebHookView.vue:347 src/views/toolbox/WebHookView.vue:385 msgid "Script" msgstr "脚本" @@ -6995,13 +7024,14 @@ msgstr "格式不正确,请检查" msgid "Website %{ name } created successfully" msgstr "网站 %{ name } 创建成功" -#: src/views/website/BulkCreateModal.vue:79 -#: src/views/website/ListView.vue:284 +#: src/views/website/BulkCreateModal.vue:79 src/views/website/ListView.vue:284 msgid "Bulk Create Website" msgstr "批量创建网站" #: src/views/website/BulkCreateModal.vue:90 -msgid "Please enter the website name, domain, port, path, and remark in the text area below, one per line." +msgid "" +"Please enter the website name, domain, port, path, and remark in the text " +"area below, one per line." msgstr "请在下面的文本区域输入网站名称、域名、端口、路径和注释,每行一个。" #: src/views/website/BulkCreateModal.vue:98 @@ -7009,15 +7039,21 @@ msgid "name|domain|port|path|remark" msgstr "名称|域名|端口|路径|备注" #: src/views/website/BulkCreateModal.vue:103 -msgid "Name: The name of the website, which will be displayed in the website list, must be unique." +msgid "" +"Name: The name of the website, which will be displayed in the website list, " +"must be unique." msgstr "名称:网站的名称,将显示在网站列表中,必须是唯一的。" #: src/views/website/BulkCreateModal.vue:110 -msgid "Domain: The domain name of the website, multiple domains can be separated by commas." +msgid "" +"Domain: The domain name of the website, multiple domains can be separated by " +"commas." msgstr "域名:网站的域名,多个域名可以用英文逗号分隔。" #: src/views/website/BulkCreateModal.vue:117 -msgid "Port: The port number of the website, multiple ports can be separated by commas." +msgid "" +"Port: The port number of the website, multiple ports can be separated by " +"commas." msgstr "端口:网站的端口号,多个端口可以用英文逗号分隔。" #: src/views/website/BulkCreateModal.vue:123 @@ -7028,36 +7064,35 @@ msgstr "路径:网站的根目录,可以为空以使用默认路径。" msgid "Remark: The remark of the website, can be empty." msgstr "备注:网站的备注,可以为空。" -#: src/views/website/CreateModal.vue:39 -#: src/views/website/EditView.vue:59 +#: src/views/website/CreateModal.vue:39 src/views/website/EditView.vue:59 msgid "Not used" msgstr "未使用" -#: src/views/website/CreateModal.vue:114 -#: src/views/website/ListView.vue:281 +#: src/views/website/CreateModal.vue:114 src/views/website/ListView.vue:281 msgid "Create Website" msgstr "创建网站" #: src/views/website/CreateModal.vue:129 -msgid "Must use English for the website name, it cannot be modified after setting" +msgid "" +"Must use English for the website name, it cannot be modified after setting" msgstr "网站名称必须使用英文,设置后将无法修改" #: src/views/website/CreateModal.vue:174 msgid "Select Database" msgstr "选择数据库" -#: src/views/website/CreateModal.vue:202 -#: src/views/website/CreateModal.vue:207 +#: src/views/website/CreateModal.vue:202 src/views/website/CreateModal.vue:207 msgid "Database User" msgstr "数据库用户" -#: src/views/website/CreateModal.vue:216 -#: src/views/website/CreateModal.vue:222 +#: src/views/website/CreateModal.vue:216 src/views/website/CreateModal.vue:222 msgid "Database Password" msgstr "数据库密码" #: src/views/website/CreateModal.vue:234 -msgid "Website root directory (if left empty, defaults to website directory/website name/public)" +msgid "" +"Website root directory (if left empty, defaults to website directory/website " +"name/public)" msgstr "网站根目录(如果留空,默认为网站目录/网站名称/public)" #: src/views/website/CreateModal.vue:246 @@ -7068,8 +7103,7 @@ msgstr "代理目标" msgid "Proxy target address (e.g., http://127.0.0.1:3000)" msgstr "代理目标地址(如:http://127.0.0.1:3000)" -#: src/views/website/CreateModal.vue:254 -#: src/views/website/CreateModal.vue:259 +#: src/views/website/CreateModal.vue:254 src/views/website/CreateModal.vue:259 #: src/views/website/ListView.vue:106 msgid "Remark" msgstr "备注" @@ -7162,8 +7196,7 @@ msgstr "上游" msgid "Upstream name" msgstr "上游名称" -#: src/views/website/EditView.vue:532 -#: src/views/website/EditView.vue:539 +#: src/views/website/EditView.vue:532 src/views/website/EditView.vue:539 msgid "Round Robin (default)" msgstr "轮询(默认)" @@ -7311,10 +7344,6 @@ msgstr "输入密码套件,留空以重置为默认值" msgid "Rewrite" msgstr "伪静态" -#: src/views/website/EditView.vue:916 -msgid "Presets" -msgstr "预设" - #: src/views/website/EditView.vue:928 msgid "Custom Configs" msgstr "自定义配置" @@ -7343,13 +7372,11 @@ msgstr "添加自定义配置" msgid "Access Log" msgstr "访问日志" -#: src/views/website/EditView.vue:990 -#: src/views/website/EditView.vue:1002 +#: src/views/website/EditView.vue:990 src/views/website/EditView.vue:1002 msgid "All logs can be viewed by downloading the file" msgstr "所有日志可通过下载文件查看" -#: src/views/website/EditView.vue:992 -#: src/views/website/EditView.vue:1004 +#: src/views/website/EditView.vue:992 src/views/website/EditView.vue:1004 msgid "view" msgstr "查看" @@ -7414,7 +7441,9 @@ msgid "Delete local database with the same name" msgstr "删除同名的本地数据库" #: src/views/website/ListView.vue:293 -msgid "This will delete the website directory but not the database with the same name. Are you sure you want to delete the selected websites?" +msgid "" +"This will delete the website directory but not the database with the same " +"name. Are you sure you want to delete the selected websites?" msgstr "这将删除网站目录,但不会删除同名的数据库。您确定要删除所选网站吗?" #: src/views/website/SettingView.vue:43 @@ -7438,11 +7467,16 @@ msgid "Default Settings" msgstr "默认设置" #: src/views/website/SettingView.vue:80 -msgid "Modifying the default TLS version and cipher suites will affect all newly created websites. Existing websites will not be affected." -msgstr "修改默认的 TLS 版本和密码套件将影响所有新创建的网站。现有网站不受影响。" +msgid "" +"Modifying the default TLS version and cipher suites will affect all newly " +"created websites. Existing websites will not be affected." +msgstr "" +"修改默认的 TLS 版本和密码套件将影响所有新创建的网站。现有网站不受影响。" #: src/views/website/SettingView.vue:87 -msgid "Please adjust the settings carefully, improper configuration may lead to website inaccessible." +msgid "" +"Please adjust the settings carefully, improper configuration may lead to " +"website inaccessible." msgstr "请小心调整设置,配置不当可能导致网站无法访问。" #: src/views/website/SettingView.vue:93 @@ -7457,3 +7491,5 @@ msgstr "默认密码套件" msgid "Enter the default cipher suite, leave blank to reset to default" msgstr "输入默认密码套件,留空以重置为默认值" +#~ msgid "Compose Preview" +#~ msgstr "编排预览" diff --git a/web/src/locales/zh_TW.po b/web/src/locales/zh_TW.po index 9ca6473a..da260c8f 100644 --- a/web/src/locales/zh_TW.po +++ b/web/src/locales/zh_TW.po @@ -1,5 +1,9 @@ msgid "" msgstr "" +"Project-Id-Version: acepanel\n" +"PO-Revision-Date: 2026-01-15 18:30\n" +"Language-Team: Chinese Traditional\n" +"Language: zh_TW\n" "Content-Type: text/plain; charset=UTF-8\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Crowdin-Project: acepanel\n" @@ -7,13 +11,8 @@ msgstr "" "X-Crowdin-Language: zh-TW\n" "X-Crowdin-File: frontend.pot\n" "X-Crowdin-File-ID: 1168\n" -"Project-Id-Version: acepanel\n" -"Language-Team: Chinese Traditional\n" -"Language: zh_TW\n" -"PO-Revision-Date: 2026-01-15 18:30\n" -#: src/components/common/AppFooter.vue:13 -#: src/views/home/IndexView.vue:467 +#: src/components/common/AppFooter.vue:13 src/views/home/IndexView.vue:467 msgid "AcePanel" msgstr "AcePanel" @@ -148,14 +147,10 @@ msgid "Yearly" msgstr "" #: src/components/common/CronSelector.vue:44 -#: src/views/monitor/IndexView.vue:650 -#: src/views/monitor/IndexView.vue:704 -#: src/views/monitor/IndexView.vue:756 -#: src/views/monitor/IndexView.vue:812 -#: src/views/monitor/IndexView.vue:879 -#: src/views/project/CreateModal.vue:21 -#: src/views/project/CreateModal.vue:32 -#: src/views/project/CreateModal.vue:45 +#: src/views/monitor/IndexView.vue:650 src/views/monitor/IndexView.vue:704 +#: src/views/monitor/IndexView.vue:756 src/views/monitor/IndexView.vue:812 +#: src/views/monitor/IndexView.vue:879 src/views/project/CreateModal.vue:21 +#: src/views/project/CreateModal.vue:32 src/views/project/CreateModal.vue:45 #: src/views/project/CreateModal.vue:57 msgid "Custom" msgstr "" @@ -165,14 +160,12 @@ msgid "Month %{month}" msgstr "" #: src/components/common/CronSelector.vue:170 -#: src/views/apps/nginx/NginxIndex.vue:745 -#: src/views/website/EditView.vue:346 +#: src/views/apps/nginx/NginxIndex.vue:745 src/views/website/EditView.vue:346 msgid "Minutes" msgstr "" #: src/components/common/CronSelector.vue:181 -#: src/views/apps/nginx/NginxIndex.vue:746 -#: src/views/website/EditView.vue:347 +#: src/views/apps/nginx/NginxIndex.vue:746 src/views/website/EditView.vue:347 msgid "Hours" msgstr "" @@ -228,14 +221,13 @@ msgstr "當前狀態無法保存" #: src/components/file-editor/EditorToolbar.vue:39 #: src/views/apps/apache/IndexView.vue:42 #: src/views/apps/codeserver/IndexView.vue:23 -#: src/views/apps/docker/IndexView.vue:23 +#: src/views/apps/docker/IndexView.vue:170 +#: src/views/apps/docker/IndexView.vue:176 #: src/views/apps/fail2ban/IndexView.vue:160 -#: src/views/apps/frp/IndexView.vue:36 -#: src/views/apps/frp/IndexView.vue:44 +#: src/views/apps/frp/IndexView.vue:36 src/views/apps/frp/IndexView.vue:44 #: src/views/apps/gitea/IndexView.vue:21 #: src/views/apps/memcached/IndexView.vue:43 -#: src/views/apps/minio/IndexView.vue:21 -#: src/views/apps/mysql/MysqlIndex.vue:48 +#: src/views/apps/minio/IndexView.vue:21 src/views/apps/mysql/MysqlIndex.vue:48 #: src/views/apps/nginx/NginxIndex.vue:323 #: src/views/apps/nginx/NginxIndex.vue:382 #: src/views/apps/nginx/NginxIndex.vue:459 @@ -246,23 +238,16 @@ msgstr "當前狀態無法保存" #: src/views/apps/postgresql/IndexView.vue:46 #: src/views/apps/postgresql/IndexView.vue:51 #: src/views/apps/pureftpd/IndexView.vue:115 -#: src/views/apps/redis/IndexView.vue:40 -#: src/views/apps/rsync/IndexView.vue:133 +#: src/views/apps/redis/IndexView.vue:40 src/views/apps/rsync/IndexView.vue:133 #: src/views/apps/rsync/IndexView.vue:177 #: src/views/apps/supervisor/IndexView.vue:219 #: src/views/apps/supervisor/IndexView.vue:284 -#: src/views/environment/GoView.vue:52 -#: src/views/environment/NodejsView.vue:55 -#: src/views/environment/PHPView.vue:154 -#: src/views/environment/PHPView.vue:160 -#: src/views/environment/PythonView.vue:59 -#: src/views/project/EditModal.vue:157 -#: src/views/setting/IndexView.vue:56 -#: src/views/toolbox/SystemView.vue:62 -#: src/views/toolbox/SystemView.vue:68 -#: src/views/toolbox/SystemView.vue:77 -#: src/views/toolbox/SystemView.vue:86 -#: src/views/toolbox/SystemView.vue:123 +#: src/views/environment/GoView.vue:52 src/views/environment/NodejsView.vue:55 +#: src/views/environment/PHPView.vue:154 src/views/environment/PHPView.vue:160 +#: src/views/environment/PythonView.vue:59 src/views/project/EditModal.vue:157 +#: src/views/setting/IndexView.vue:56 src/views/toolbox/SystemView.vue:62 +#: src/views/toolbox/SystemView.vue:68 src/views/toolbox/SystemView.vue:77 +#: src/views/toolbox/SystemView.vue:86 src/views/toolbox/SystemView.vue:123 #: src/views/website/EditView.vue:124 msgid "Saved successfully" msgstr "儲存成功" @@ -283,29 +268,20 @@ msgstr "選擇文件" #: src/views/apps/nginx/NginxIndex.vue:232 #: src/views/apps/nginx/NginxIndex.vue:572 #: src/views/apps/nginx/NginxIndex.vue:650 -#: src/views/apps/rsync/IndexView.vue:39 -#: src/views/apps/rsync/IndexView.vue:256 +#: src/views/apps/rsync/IndexView.vue:39 src/views/apps/rsync/IndexView.vue:256 #: src/views/apps/supervisor/IndexView.vue:46 #: src/views/apps/supervisor/IndexView.vue:373 #: src/views/container/ComposeView.vue:57 -#: src/views/container/NetworkView.vue:45 -#: src/views/container/VolumeView.vue:26 +#: src/views/container/NetworkView.vue:45 src/views/container/VolumeView.vue:26 #: src/views/database/CreateServerModal.vue:55 -#: src/views/database/ServerList.vue:39 -#: src/views/database/UpdateServerModal.vue:55 -#: src/views/file/ListView.vue:1305 -#: src/views/file/PropertyModal.vue:27 -#: src/views/file/ToolBar.vue:201 -#: src/views/project/ListView.vue:34 -#: src/views/ssh/CreateModal.vue:59 -#: src/views/ssh/UpdateModal.vue:65 -#: src/views/toolbox/LogView.vue:206 -#: src/views/toolbox/ProcessView.vue:109 -#: src/views/toolbox/ProcessView.vue:388 -#: src/views/toolbox/WebHookView.vue:33 -#: src/views/toolbox/WebHookView.vue:332 -#: src/views/toolbox/WebHookView.vue:367 -#: src/views/website/CreateModal.vue:123 +#: src/views/database/ServerList.vue:68 +#: src/views/database/UpdateServerModal.vue:55 src/views/file/ListView.vue:1305 +#: src/views/file/PropertyModal.vue:27 src/views/file/ToolBar.vue:201 +#: src/views/project/ListView.vue:34 src/views/ssh/CreateModal.vue:59 +#: src/views/ssh/UpdateModal.vue:65 src/views/toolbox/LogView.vue:206 +#: src/views/toolbox/ProcessView.vue:109 src/views/toolbox/ProcessView.vue:388 +#: src/views/toolbox/WebHookView.vue:33 src/views/toolbox/WebHookView.vue:332 +#: src/views/toolbox/WebHookView.vue:367 src/views/website/CreateModal.vue:123 #: src/views/website/EditView.vue:951 msgid "Name" msgstr "名稱" @@ -314,95 +290,76 @@ msgstr "名稱" msgid "Permissions" msgstr "權限" -#: src/components/common/PathSelector.vue:100 -#: src/views/file/ListView.vue:1316 +#: src/components/common/PathSelector.vue:100 src/views/file/ListView.vue:1316 msgid "Owner / Group" msgstr "所有者 / 群組" -#: src/components/common/PathSelector.vue:112 -#: src/views/backup/ListView.vue:42 -#: src/views/container/ImageView.vue:74 -#: src/views/file/ListView.vue:1312 -#: src/views/file/PropertyModal.vue:39 -#: src/views/file/ToolBar.vue:202 -#: src/views/toolbox/DiskView.vue:275 -#: src/views/toolbox/LogView.vue:207 +#: src/components/common/PathSelector.vue:112 src/views/backup/ListView.vue:42 +#: src/views/container/ImageView.vue:74 src/views/file/ListView.vue:1312 +#: src/views/file/PropertyModal.vue:39 src/views/file/ToolBar.vue:202 +#: src/views/toolbox/DiskView.vue:275 src/views/toolbox/LogView.vue:207 msgid "Size" msgstr "大小" -#: src/components/common/PathSelector.vue:147 -#: src/views/file/ListView.vue:1455 +#: src/components/common/PathSelector.vue:147 src/views/file/ListView.vue:1455 msgid "Calculate" msgstr "" -#: src/components/common/PathSelector.vue:152 -#: src/views/file/ListView.vue:1321 -#: src/views/file/PropertyModal.vue:51 -#: src/views/file/ToolBar.vue:203 +#: src/components/common/PathSelector.vue:152 src/views/file/ListView.vue:1321 +#: src/views/file/PropertyModal.vue:51 src/views/file/ToolBar.vue:203 msgid "Modification Time" msgstr "修改時間" -#: src/components/common/PathSelector.vue:186 -#: src/views/file/ListView.vue:1168 +#: src/components/common/PathSelector.vue:186 src/views/file/ListView.vue:1168 #: src/views/file/PathInput.vue:30 msgid "Invalid path" msgstr "無效路徑" -#: src/components/common/PathSelector.vue:246 -#: src/views/file/ListView.vue:132 -#: src/views/file/ListView.vue:683 -#: src/views/file/ToolBar.vue:36 +#: src/components/common/PathSelector.vue:246 src/views/file/ListView.vue:132 +#: src/views/file/ListView.vue:683 src/views/file/ToolBar.vue:36 msgid "Invalid name" msgstr "無效的名稱" #: src/components/common/PathSelector.vue:254 #: src/components/file-editor/FileTree.vue:284 -#: src/views/app/TemplateDeployModal.vue:80 -#: src/views/backup/ListView.vue:122 +#: src/views/app/TemplateDeployModal.vue:214 src/views/backup/ListView.vue:122 #: src/views/cert/CreateAccountModal.vue:52 -#: src/views/cert/CreateCertModal.vue:50 -#: src/views/cert/CreateDnsModal.vue:35 +#: src/views/cert/CreateCertModal.vue:50 src/views/cert/CreateDnsModal.vue:35 #: src/views/cert/UploadCertModal.vue:21 #: src/views/container/ComposeView.vue:269 #: src/views/container/ContainerCreate.vue:107 #: src/views/container/NetworkView.vue:183 #: src/views/container/VolumeView.vue:137 -#: src/views/database/CreateDatabaseModal.vue:28 -#: src/views/database/CreateUserModal.vue:28 -#: src/views/file/ListView.vue:141 +#: src/views/database/CreateDatabaseModal.vue:39 +#: src/views/database/CreateUserModal.vue:39 src/views/file/ListView.vue:141 #: src/views/firewall/CreateForwardModal.vue:41 -#: src/views/setting/CreateModal.vue:19 -#: src/views/setting/TokenModal.vue:125 -#: src/views/ssh/CreateModal.vue:40 -#: src/views/task/CreateModal.vue:50 +#: src/views/setting/CreateModal.vue:19 src/views/setting/TokenModal.vue:125 +#: src/views/ssh/CreateModal.vue:40 src/views/task/CreateModal.vue:50 #: src/views/toolbox/WebHookView.vue:258 msgid "Created successfully" msgstr "創建成功" #: src/components/common/PathSelector.vue:312 -#: src/views/file/PropertyModal.vue:34 -#: src/views/file/ToolBar.vue:225 +#: src/views/file/PropertyModal.vue:34 src/views/file/ToolBar.vue:225 msgid "File" msgstr "文件" -#: src/components/common/PathSelector.vue:313 -#: src/views/file/ToolBar.vue:226 +#: src/components/common/PathSelector.vue:313 src/views/file/ToolBar.vue:226 msgid "Folder" msgstr "文件夾" #: src/components/common/PathSelector.vue:317 #: src/components/common/PathSelector.vue:380 +#: src/views/app/TemplateDeployModal.vue:629 #: src/views/container/ContainerCreate.vue:539 -#: src/views/project/CreateModal.vue:518 -#: src/views/setting/TokenModal.vue:266 +#: src/views/project/CreateModal.vue:518 src/views/setting/TokenModal.vue:266 #: src/views/toolbox/WebHookView.vue:352 #: src/views/website/BulkCreateModal.vue:129 #: src/views/website/CreateModal.vue:264 msgid "Create" msgstr "創建" -#: src/components/common/PathSelector.vue:326 -#: src/views/file/PathInput.vue:146 +#: src/components/common/PathSelector.vue:326 src/views/file/PathInput.vue:146 msgid "Root Directory" msgstr "根目錄" @@ -412,19 +369,13 @@ msgstr "根目錄" #: src/views/apps/nginx/NginxIndex.vue:755 #: src/views/apps/pureftpd/IndexView.vue:242 #: src/views/apps/pureftpd/IndexView.vue:264 -#: src/views/apps/rsync/IndexView.vue:305 -#: src/views/apps/s3fs/IndexView.vue:181 +#: src/views/apps/rsync/IndexView.vue:305 src/views/apps/s3fs/IndexView.vue:181 #: src/views/apps/supervisor/IndexView.vue:409 -#: src/views/backup/ListView.vue:256 -#: src/views/backup/ListView.vue:280 -#: src/views/cert/AccountView.vue:268 -#: src/views/cert/CertView.vue:524 -#: src/views/cert/CertView.vue:548 -#: src/views/cert/CreateAccountModal.vue:125 -#: src/views/cert/CreateCertModal.vue:115 -#: src/views/cert/CreateDnsModal.vue:173 -#: src/views/cert/DnsView.vue:310 -#: src/views/cert/ObtainModal.vue:130 +#: src/views/backup/ListView.vue:256 src/views/backup/ListView.vue:280 +#: src/views/cert/AccountView.vue:268 src/views/cert/CertView.vue:524 +#: src/views/cert/CertView.vue:548 src/views/cert/CreateAccountModal.vue:125 +#: src/views/cert/CreateCertModal.vue:115 src/views/cert/CreateDnsModal.vue:173 +#: src/views/cert/DnsView.vue:310 src/views/cert/ObtainModal.vue:130 #: src/views/cert/UploadCertModal.vue:55 #: src/views/container/ComposeView.vue:377 #: src/views/container/ComposeView.vue:403 @@ -432,20 +383,16 @@ msgstr "根目錄" #: src/views/container/ImageView.vue:405 #: src/views/container/NetworkView.vue:330 #: src/views/container/VolumeView.vue:230 -#: src/views/database/CreateDatabaseModal.vue:132 +#: src/views/database/CreateDatabaseModal.vue:148 #: src/views/database/CreateServerModal.vue:120 -#: src/views/database/CreateUserModal.vue:125 +#: src/views/database/CreateUserModal.vue:141 #: src/views/database/UpdateServerModal.vue:112 -#: src/views/database/UpdateUserModal.vue:79 -#: src/views/file/ToolBar.vue:299 +#: src/views/database/UpdateUserModal.vue:79 src/views/file/ToolBar.vue:299 #: src/views/firewall/CreateForwardModal.vue:88 #: src/views/firewall/CreateIpModal.vue:121 -#: src/views/firewall/CreateModal.vue:155 -#: src/views/setting/CreateModal.vue:64 -#: src/views/setting/PasswordModal.vue:44 -#: src/views/setting/TwoFaModal.vue:87 -#: src/views/ssh/CreateModal.vue:109 -#: src/views/ssh/UpdateModal.vue:115 +#: src/views/firewall/CreateModal.vue:155 src/views/setting/CreateModal.vue:64 +#: src/views/setting/PasswordModal.vue:44 src/views/setting/TwoFaModal.vue:87 +#: src/views/ssh/CreateModal.vue:109 src/views/ssh/UpdateModal.vue:115 #: src/views/task/CreateModal.vue:157 msgid "Submit" msgstr "提交" @@ -475,31 +422,24 @@ msgstr "" #: src/components/common/PtyTerminalModal.vue:195 #: src/components/common/PtyTerminalModal.vue:199 #: src/layout/header/components/UserAvatar.vue:29 -#: src/views/home/UpdateView.vue:26 -#: src/views/monitor/IndexView.vue:600 -#: src/views/toolbox/DiskView.vue:403 -#: src/views/toolbox/DiskView.vue:405 -#: src/views/toolbox/DiskView.vue:428 -#: src/views/toolbox/DiskView.vue:430 -#: src/views/toolbox/DiskView.vue:500 -#: src/views/toolbox/DiskView.vue:504 -#: src/views/toolbox/DiskView.vue:523 -#: src/views/toolbox/DiskView.vue:542 -#: src/views/toolbox/DiskView.vue:546 -#: src/views/toolbox/DiskView.vue:567 -#: src/views/toolbox/DiskView.vue:586 -#: src/views/toolbox/DiskView.vue:594 -#: src/views/toolbox/DiskView.vue:616 -#: src/views/toolbox/DiskView.vue:635 -#: src/views/toolbox/DiskView.vue:640 -#: src/views/toolbox/DiskView.vue:663 -#: src/views/toolbox/ProcessView.vue:236 +#: src/views/app/TemplateDeployModal.vue:319 src/views/home/UpdateView.vue:26 +#: src/views/monitor/IndexView.vue:600 src/views/toolbox/DiskView.vue:403 +#: src/views/toolbox/DiskView.vue:405 src/views/toolbox/DiskView.vue:428 +#: src/views/toolbox/DiskView.vue:430 src/views/toolbox/DiskView.vue:500 +#: src/views/toolbox/DiskView.vue:504 src/views/toolbox/DiskView.vue:523 +#: src/views/toolbox/DiskView.vue:542 src/views/toolbox/DiskView.vue:546 +#: src/views/toolbox/DiskView.vue:567 src/views/toolbox/DiskView.vue:586 +#: src/views/toolbox/DiskView.vue:594 src/views/toolbox/DiskView.vue:616 +#: src/views/toolbox/DiskView.vue:635 src/views/toolbox/DiskView.vue:640 +#: src/views/toolbox/DiskView.vue:663 src/views/toolbox/ProcessView.vue:236 #: src/views/toolbox/ProcessView.vue:241 msgid "Confirm" msgstr "確認" #: src/components/common/PtyTerminalModal.vue:196 -msgid "Command may still running. Closing the window will terminate the command. Are you sure?" +msgid "" +"Command may still running. Closing the window will terminate the command. " +"Are you sure?" msgstr "" #: src/components/common/PtyTerminalModal.vue:200 @@ -507,44 +447,30 @@ msgstr "" #: src/components/file-editor/EditorToolbar.vue:101 #: src/components/file-editor/FileTree.vue:603 #: src/layout/header/components/UserAvatar.vue:30 -#: src/views/app/TemplateDeployModal.vue:229 +#: src/views/app/TemplateDeployModal.vue:614 #: src/views/container/ContainerCreate.vue:536 #: src/views/container/ImagePullModal.vue:184 #: src/views/container/ImagePullModal.vue:198 -#: src/views/container/ImageView.vue:351 -#: src/views/container/ImageView.vue:366 -#: src/views/file/ListView.vue:245 -#: src/views/file/ListView.vue:696 -#: src/views/file/ListView.vue:820 -#: src/views/file/ToolBar.vue:124 -#: src/views/file/ToolBar.vue:259 -#: src/views/file/UploadModal.vue:335 -#: src/views/file/UploadModal.vue:444 -#: src/views/home/UpdateView.vue:27 -#: src/views/project/EditModal.vue:572 -#: src/views/toolbox/DiskView.vue:406 -#: src/views/toolbox/DiskView.vue:431 -#: src/views/toolbox/DiskView.vue:454 -#: src/views/toolbox/DiskView.vue:480 -#: src/views/toolbox/DiskView.vue:505 -#: src/views/toolbox/DiskView.vue:524 -#: src/views/toolbox/DiskView.vue:547 -#: src/views/toolbox/DiskView.vue:568 -#: src/views/toolbox/DiskView.vue:595 -#: src/views/toolbox/DiskView.vue:617 -#: src/views/toolbox/DiskView.vue:641 -#: src/views/toolbox/DiskView.vue:664 -#: src/views/toolbox/ProcessView.vue:242 +#: src/views/container/ImageView.vue:351 src/views/container/ImageView.vue:366 +#: src/views/file/ListView.vue:245 src/views/file/ListView.vue:696 +#: src/views/file/ListView.vue:820 src/views/file/ToolBar.vue:124 +#: src/views/file/ToolBar.vue:259 src/views/file/UploadModal.vue:335 +#: src/views/file/UploadModal.vue:444 src/views/home/UpdateView.vue:27 +#: src/views/project/EditModal.vue:572 src/views/toolbox/DiskView.vue:406 +#: src/views/toolbox/DiskView.vue:431 src/views/toolbox/DiskView.vue:454 +#: src/views/toolbox/DiskView.vue:480 src/views/toolbox/DiskView.vue:505 +#: src/views/toolbox/DiskView.vue:524 src/views/toolbox/DiskView.vue:547 +#: src/views/toolbox/DiskView.vue:568 src/views/toolbox/DiskView.vue:595 +#: src/views/toolbox/DiskView.vue:617 src/views/toolbox/DiskView.vue:641 +#: src/views/toolbox/DiskView.vue:664 src/views/toolbox/ProcessView.vue:242 msgid "Cancel" msgstr "取消" -#: src/components/common/PtyTerminalModal.vue:252 -#: src/locales/menu.ts:19 +#: src/components/common/PtyTerminalModal.vue:252 src/locales/menu.ts:19 #: src/views/container/ContainerView.vue:124 #: src/views/container/ContainerView.vue:637 -#: src/views/file/ListView.vue:338 -#: src/views/file/ListView.vue:937 -#: src/views/file/ToolBar.vue:234 +#: src/views/database/ServerList.vue:177 src/views/file/ListView.vue:338 +#: src/views/file/ListView.vue:937 src/views/file/ToolBar.vue:234 msgid "Terminal" msgstr "終端機" @@ -562,41 +488,30 @@ msgstr "獲取日誌流失敗" msgid "No logs available" msgstr "" -#: src/components/common/RealtimeLogModal.vue:72 -#: src/locales/menu.ts:15 +#: src/components/common/RealtimeLogModal.vue:72 src/locales/menu.ts:15 #: src/views/apps/supervisor/IndexView.vue:89 #: src/views/container/ContainerView.vue:137 -#: src/views/container/ContainerView.vue:605 -#: src/views/project/ListView.vue:111 -#: src/views/project/ListView.vue:249 -#: src/views/task/CronView.vue:116 +#: src/views/container/ContainerView.vue:605 src/views/project/ListView.vue:137 +#: src/views/project/ListView.vue:289 src/views/task/CronView.vue:116 #: src/views/task/TaskView.vue:74 msgid "Logs" msgstr "日誌" -#: src/components/common/ServiceStatus.vue:25 -#: src/views/home/IndexView.vue:770 -#: src/views/home/IndexView.vue:778 -#: src/views/home/IndexView.vue:785 -#: src/views/home/IndexView.vue:791 -#: src/views/home/IndexView.vue:802 +#: src/components/common/ServiceStatus.vue:25 src/views/home/IndexView.vue:770 +#: src/views/home/IndexView.vue:778 src/views/home/IndexView.vue:785 +#: src/views/home/IndexView.vue:791 src/views/home/IndexView.vue:802 #: src/views/home/IndexView.vue:814 msgid "Loading..." msgstr "載入中……" -#: src/components/common/ServiceStatus.vue:26 -#: src/views/project/ListView.vue:63 -#: src/views/task/TaskView.vue:33 -#: src/views/toolbox/ProcessView.vue:48 -#: src/views/toolbox/ProcessView.vue:80 -#: src/views/website/ListView.vue:28 +#: src/components/common/ServiceStatus.vue:26 src/views/project/ListView.vue:67 +#: src/views/task/TaskView.vue:33 src/views/toolbox/ProcessView.vue:48 +#: src/views/toolbox/ProcessView.vue:80 src/views/website/ListView.vue:28 msgid "Running" msgstr "運行中" -#: src/components/common/ServiceStatus.vue:26 -#: src/views/project/ListView.vue:63 -#: src/views/toolbox/ProcessView.vue:50 -#: src/views/toolbox/ProcessView.vue:86 +#: src/components/common/ServiceStatus.vue:26 src/views/project/ListView.vue:69 +#: src/views/toolbox/ProcessView.vue:50 src/views/toolbox/ProcessView.vue:86 msgid "Stopped" msgstr "已停止" @@ -606,8 +521,7 @@ msgstr "正在啟動……" #: src/components/common/ServiceStatus.vue:48 #: src/views/apps/supervisor/IndexView.vue:240 -#: src/views/project/ListView.vue:168 -#: src/views/website/ListView.vue:228 +#: src/views/project/ListView.vue:194 src/views/website/ListView.vue:228 msgid "Started successfully" msgstr "啟動成功" @@ -618,8 +532,7 @@ msgstr "停止中..." #: src/components/common/ServiceStatus.vue:63 #: src/views/apps/supervisor/IndexView.vue:247 -#: src/views/project/ListView.vue:163 -#: src/views/website/ListView.vue:230 +#: src/views/project/ListView.vue:189 src/views/website/ListView.vue:230 msgid "Stopped successfully" msgstr "停止成功" @@ -655,18 +568,16 @@ msgstr "自啟動已成功禁用" #: src/components/common/ServiceStatus.vue:134 #: src/views/apps/apache/IndexView.vue:56 #: src/views/apps/codeserver/IndexView.vue:31 -#: src/views/apps/docker/IndexView.vue:31 +#: src/views/apps/docker/IndexView.vue:191 #: src/views/apps/fail2ban/IndexView.vue:228 #: src/views/apps/gitea/IndexView.vue:29 #: src/views/apps/memcached/IndexView.vue:51 -#: src/views/apps/minio/IndexView.vue:29 -#: src/views/apps/mysql/MysqlIndex.vue:80 +#: src/views/apps/minio/IndexView.vue:29 src/views/apps/mysql/MysqlIndex.vue:80 #: src/views/apps/nginx/NginxIndex.vue:476 #: src/views/apps/podman/IndexView.vue:39 #: src/views/apps/postgresql/IndexView.vue:63 #: src/views/apps/pureftpd/IndexView.vue:158 -#: src/views/apps/redis/IndexView.vue:48 -#: src/views/apps/rsync/IndexView.vue:191 +#: src/views/apps/redis/IndexView.vue:48 src/views/apps/rsync/IndexView.vue:191 #: src/views/apps/supervisor/IndexView.vue:298 #: src/views/container/ContainerView.vue:102 #: src/views/environment/PHPView.vue:192 @@ -685,8 +596,7 @@ msgstr "自動啟動關閉" #: src/views/apps/supervisor/IndexView.vue:115 #: src/views/container/ComposeView.vue:173 #: src/views/container/ContainerView.vue:161 -#: src/views/container/ContainerView.vue:558 -#: src/views/project/ListView.vue:101 +#: src/views/container/ContainerView.vue:558 src/views/project/ListView.vue:127 msgid "Start" msgstr "開始" @@ -694,8 +604,7 @@ msgstr "開始" #: src/views/apps/supervisor/IndexView.vue:140 #: src/views/container/ComposeView.vue:212 #: src/views/container/ContainerView.vue:166 -#: src/views/container/ContainerView.vue:561 -#: src/views/project/ListView.vue:101 +#: src/views/container/ContainerView.vue:561 src/views/project/ListView.vue:127 msgid "Stop" msgstr "停止" @@ -706,8 +615,7 @@ msgstr "您確定要停止 %{ service } 嗎?" #: src/components/common/ServiceStatus.vue:162 #: src/views/apps/supervisor/IndexView.vue:168 #: src/views/container/ContainerView.vue:171 -#: src/views/container/ContainerView.vue:564 -#: src/views/home/IndexView.vue:475 +#: src/views/container/ContainerView.vue:564 src/views/home/IndexView.vue:475 msgid "Restart" msgstr "重啟" @@ -801,10 +709,8 @@ msgstr "" #: src/components/file-editor/EditorToolbar.vue:200 #: src/components/file-editor/EditorToolbar.vue:205 #: src/components/file-editor/FileTree.vue:695 -#: src/views/log/DatabaseLog.vue:108 -#: src/views/log/HttpLog.vue:133 -#: src/views/log/OperationLog.vue:106 -#: src/views/toolbox/ProcessView.vue:329 +#: src/views/log/DatabaseLog.vue:108 src/views/log/HttpLog.vue:133 +#: src/views/log/OperationLog.vue:106 src/views/toolbox/ProcessView.vue:329 msgid "Refresh" msgstr "重新整理" @@ -819,12 +725,10 @@ msgstr "" #: src/components/file-editor/EditorToolbar.vue:184 #: src/views/apps/apache/IndexView.vue:72 #: src/views/apps/codeserver/IndexView.vue:46 -#: src/views/apps/docker/IndexView.vue:42 -#: src/views/apps/frp/IndexView.vue:63 -#: src/views/apps/frp/IndexView.vue:78 -#: src/views/apps/frp/IndexView.vue:91 -#: src/views/apps/frp/IndexView.vue:106 -#: src/views/apps/gitea/IndexView.vue:44 +#: src/views/apps/docker/IndexView.vue:458 +#: src/views/apps/docker/IndexView.vue:472 src/views/apps/frp/IndexView.vue:63 +#: src/views/apps/frp/IndexView.vue:78 src/views/apps/frp/IndexView.vue:91 +#: src/views/apps/frp/IndexView.vue:106 src/views/apps/gitea/IndexView.vue:44 #: src/views/apps/memcached/IndexView.vue:59 #: src/views/apps/minio/IndexView.vue:44 #: src/views/apps/mysql/MysqlIndex.vue:111 @@ -836,25 +740,16 @@ msgstr "" #: src/views/apps/postgresql/IndexView.vue:78 #: src/views/apps/postgresql/IndexView.vue:95 #: src/views/apps/pureftpd/IndexView.vue:165 -#: src/views/apps/redis/IndexView.vue:63 -#: src/views/apps/rsync/IndexView.vue:235 +#: src/views/apps/redis/IndexView.vue:63 src/views/apps/rsync/IndexView.vue:235 #: src/views/apps/supervisor/IndexView.vue:342 -#: src/views/environment/GoView.vue:90 -#: src/views/environment/NodejsView.vue:93 -#: src/views/environment/PHPView.vue:238 -#: src/views/environment/PHPView.vue:256 -#: src/views/environment/PythonView.vue:97 -#: src/views/project/EditModal.vue:575 -#: src/views/setting/IndexView.vue:107 -#: src/views/task/CronView.vue:259 -#: src/views/toolbox/SshView.vue:239 -#: src/views/toolbox/SystemView.vue:152 -#: src/views/toolbox/SystemView.vue:176 -#: src/views/toolbox/SystemView.vue:194 -#: src/views/toolbox/SystemView.vue:232 -#: src/views/toolbox/SystemView.vue:304 -#: src/views/toolbox/WebHookView.vue:390 -#: src/views/website/EditView.vue:1016 +#: src/views/environment/GoView.vue:90 src/views/environment/NodejsView.vue:93 +#: src/views/environment/PHPView.vue:238 src/views/environment/PHPView.vue:256 +#: src/views/environment/PythonView.vue:97 src/views/project/EditModal.vue:575 +#: src/views/setting/IndexView.vue:107 src/views/task/CronView.vue:259 +#: src/views/toolbox/SshView.vue:239 src/views/toolbox/SystemView.vue:152 +#: src/views/toolbox/SystemView.vue:176 src/views/toolbox/SystemView.vue:194 +#: src/views/toolbox/SystemView.vue:232 src/views/toolbox/SystemView.vue:304 +#: src/views/toolbox/WebHookView.vue:390 src/views/website/EditView.vue:1016 msgid "Save" msgstr "儲存" @@ -900,8 +795,7 @@ msgid "Toggle Minimap" msgstr "" #: src/components/file-editor/EditorToolbar.vue:291 -#: src/views/firewall/IndexView.vue:23 -#: src/views/website/IndexView.vue:24 +#: src/views/firewall/IndexView.vue:23 src/views/website/IndexView.vue:24 msgid "Settings" msgstr "設置" @@ -973,19 +867,13 @@ msgid "Render Whitespace" msgstr "" #: src/components/file-editor/FileEditorView.vue:207 -#: src/views/cert/CertView.vue:69 -#: src/views/cert/CertView.vue:123 -#: src/views/cert/CertView.vue:134 -#: src/views/cert/CertView.vue:152 -#: src/views/container/ContainerCreate.vue:51 -#: src/views/database/ServerList.vue:51 -#: src/views/database/ServerList.vue:66 -#: src/views/database/UserList.vue:45 -#: src/views/database/UserList.vue:85 -#: src/views/firewall/ForwardView.vue:25 -#: src/views/firewall/IpRuleView.vue:25 -#: src/views/firewall/IpRuleView.vue:42 -#: src/views/firewall/RuleView.vue:25 +#: src/views/apps/docker/IndexView.vue:83 src/views/cert/CertView.vue:69 +#: src/views/cert/CertView.vue:123 src/views/cert/CertView.vue:134 +#: src/views/cert/CertView.vue:152 src/views/container/ContainerCreate.vue:51 +#: src/views/database/ServerList.vue:80 src/views/database/ServerList.vue:95 +#: src/views/database/UserList.vue:45 src/views/database/UserList.vue:85 +#: src/views/firewall/ForwardView.vue:25 src/views/firewall/IpRuleView.vue:25 +#: src/views/firewall/IpRuleView.vue:42 src/views/firewall/RuleView.vue:25 #: src/views/firewall/RuleView.vue:42 msgid "None" msgstr "無" @@ -1003,10 +891,8 @@ msgid "Trailing" msgstr "" #: src/components/file-editor/FileEditorView.vue:211 -#: src/views/app/AppView.vue:229 -#: src/views/app/EnvironmentView.vue:217 -#: src/views/app/TemplateView.vue:61 -#: src/views/firewall/RuleView.vue:150 +#: src/views/app/AppView.vue:229 src/views/app/EnvironmentView.vue:217 +#: src/views/app/TemplateView.vue:72 src/views/firewall/RuleView.vue:150 #: src/views/project/IndexView.vue:21 msgid "All" msgstr "全部" @@ -1099,8 +985,7 @@ msgstr "" msgid "Format On Type" msgstr "" -#: src/components/file-editor/FileTree.vue:154 -#: src/views/file/EditModal.vue:50 +#: src/components/file-editor/FileTree.vue:154 src/views/file/EditModal.vue:50 msgid "Failed to load file" msgstr "" @@ -1108,22 +993,19 @@ msgstr "" msgid "Failed to create" msgstr "" -#: src/components/file-editor/FileTree.vue:378 -#: src/views/file/ListView.vue:1342 +#: src/components/file-editor/FileTree.vue:378 src/views/file/ListView.vue:1342 #: src/views/file/ListView.vue:1363 msgid "Folder name" msgstr "" -#: src/components/file-editor/FileTree.vue:378 -#: src/views/file/ListView.vue:1342 +#: src/components/file-editor/FileTree.vue:378 src/views/file/ListView.vue:1342 #: src/views/file/ListView.vue:1363 msgid "File name" msgstr "" #: src/components/file-editor/FileTree.vue:477 #: src/views/container/ContainerView.vue:153 -#: src/views/container/ContainerView.vue:616 -#: src/views/file/ListView.vue:336 +#: src/views/container/ContainerView.vue:616 src/views/file/ListView.vue:336 #: src/views/file/ListView.vue:1518 msgid "Rename" msgstr "重新命名" @@ -1137,49 +1019,32 @@ msgstr "重新命名" #: src/views/apps/nginx/NginxIndex.vue:709 #: src/views/apps/pureftpd/IndexView.vue:88 #: src/views/apps/rsync/IndexView.vue:105 -#: src/views/apps/supervisor/IndexView.vue:195 -#: src/views/backup/ListView.vue:96 -#: src/views/cert/AccountView.vue:127 -#: src/views/cert/CertView.vue:303 -#: src/views/cert/DnsView.vue:111 -#: src/views/container/ComposeView.vue:243 +#: src/views/apps/supervisor/IndexView.vue:195 src/views/backup/ListView.vue:96 +#: src/views/cert/AccountView.vue:127 src/views/cert/CertView.vue:303 +#: src/views/cert/DnsView.vue:111 src/views/container/ComposeView.vue:243 #: src/views/container/ComposeView.vue:323 #: src/views/container/ContainerView.vue:191 #: src/views/container/ContainerView.vue:576 -#: src/views/container/ImageView.vue:115 -#: src/views/container/ImageView.vue:275 +#: src/views/container/ImageView.vue:115 src/views/container/ImageView.vue:275 #: src/views/container/NetworkView.vue:134 #: src/views/container/NetworkView.vue:208 -#: src/views/container/VolumeView.vue:88 -#: src/views/container/VolumeView.vue:162 +#: src/views/container/VolumeView.vue:88 src/views/container/VolumeView.vue:162 #: src/views/database/DatabaseList.vue:101 -#: src/views/database/ServerList.vue:214 -#: src/views/database/UserList.vue:189 -#: src/views/environment/PHPView.vue:106 -#: src/views/file/ListView.vue:293 -#: src/views/file/ListView.vue:343 -#: src/views/file/ListView.vue:1523 -#: src/views/file/ToolBar.vue:272 -#: src/views/firewall/ForwardView.vue:103 -#: src/views/firewall/IpRuleView.vue:145 -#: src/views/firewall/RuleView.vue:182 -#: src/views/project/ListView.vue:140 -#: src/views/project/ListView.vue:218 -#: src/views/setting/SettingUser.vue:139 -#: src/views/setting/TokenModal.vue:91 -#: src/views/ssh/IndexView.vue:91 -#: src/views/task/CronView.vue:149 -#: src/views/task/TaskView.vue:97 -#: src/views/toolbox/WebHookView.vue:179 -#: src/views/website/ListView.vue:195 -#: src/views/website/ListView.vue:289 +#: src/views/database/ServerList.vue:255 src/views/database/UserList.vue:189 +#: src/views/environment/PHPView.vue:106 src/views/file/ListView.vue:293 +#: src/views/file/ListView.vue:343 src/views/file/ListView.vue:1523 +#: src/views/file/ToolBar.vue:272 src/views/firewall/ForwardView.vue:103 +#: src/views/firewall/IpRuleView.vue:145 src/views/firewall/RuleView.vue:182 +#: src/views/project/ListView.vue:166 src/views/project/ListView.vue:258 +#: src/views/setting/SettingUser.vue:139 src/views/setting/TokenModal.vue:91 +#: src/views/ssh/IndexView.vue:91 src/views/task/CronView.vue:149 +#: src/views/task/TaskView.vue:97 src/views/toolbox/WebHookView.vue:179 +#: src/views/website/ListView.vue:195 src/views/website/ListView.vue:289 msgid "Delete" msgstr "刪除" -#: src/components/file-editor/FileTree.vue:481 -#: src/views/file/ListView.vue:327 -#: src/views/file/ListView.vue:1513 -#: src/views/monitor/IndexView.vue:498 +#: src/components/file-editor/FileTree.vue:481 src/views/file/ListView.vue:327 +#: src/views/file/ListView.vue:1513 src/views/monitor/IndexView.vue:498 #: src/views/toolbox/SshView.vue:301 msgid "Download" msgstr "下載" @@ -1194,8 +1059,7 @@ msgstr "" #: src/components/file-editor/FileTree.vue:601 #: src/views/apps/nginx/NginxIndex.vue:207 -#: src/views/apps/nginx/NginxIndex.vue:283 -#: src/views/file/ListView.vue:1526 +#: src/views/apps/nginx/NginxIndex.vue:283 src/views/file/ListView.vue:1526 msgid "Are you sure you want to delete %{ name }?" msgstr "您確定要刪除 %{ name } 嗎?" @@ -1204,34 +1068,22 @@ msgstr "您確定要刪除 %{ name } 嗎?" #: src/views/apps/nginx/NginxIndex.vue:390 #: src/views/apps/nginx/NginxIndex.vue:467 #: src/views/apps/pureftpd/IndexView.vue:145 -#: src/views/apps/rsync/IndexView.vue:158 -#: src/views/apps/s3fs/IndexView.vue:89 +#: src/views/apps/rsync/IndexView.vue:158 src/views/apps/s3fs/IndexView.vue:89 #: src/views/apps/supervisor/IndexView.vue:261 -#: src/views/backup/ListView.vue:145 -#: src/views/container/ImageView.vue:156 +#: src/views/backup/ListView.vue:145 src/views/container/ImageView.vue:156 #: src/views/container/NetworkView.vue:175 #: src/views/container/VolumeView.vue:129 #: src/views/database/DatabaseList.vue:125 -#: src/views/database/ServerList.vue:238 -#: src/views/database/UserList.vue:213 -#: src/views/file/ListView.vue:751 -#: src/views/file/ListView.vue:771 -#: src/views/file/ToolBar.vue:169 -#: src/views/firewall/ForwardView.vue:129 -#: src/views/firewall/ForwardView.vue:147 -#: src/views/firewall/IpRuleView.vue:171 -#: src/views/firewall/IpRuleView.vue:189 -#: src/views/firewall/RuleView.vue:208 -#: src/views/firewall/RuleView.vue:226 -#: src/views/project/ListView.vue:186 -#: src/views/project/ListView.vue:196 -#: src/views/setting/SettingUser.vue:174 -#: src/views/setting/TokenModal.vue:114 -#: src/views/task/CronView.vue:191 -#: src/views/task/TaskView.vue:122 -#: src/views/toolbox/WebHookView.vue:236 -#: src/views/website/ListView.vue:254 -#: src/views/website/ListView.vue:264 +#: src/views/database/ServerList.vue:279 src/views/database/UserList.vue:213 +#: src/views/file/ListView.vue:751 src/views/file/ListView.vue:771 +#: src/views/file/ToolBar.vue:169 src/views/firewall/ForwardView.vue:129 +#: src/views/firewall/ForwardView.vue:147 src/views/firewall/IpRuleView.vue:171 +#: src/views/firewall/IpRuleView.vue:189 src/views/firewall/RuleView.vue:208 +#: src/views/firewall/RuleView.vue:226 src/views/project/ListView.vue:226 +#: src/views/project/ListView.vue:236 src/views/setting/SettingUser.vue:174 +#: src/views/setting/TokenModal.vue:114 src/views/task/CronView.vue:191 +#: src/views/task/TaskView.vue:122 src/views/toolbox/WebHookView.vue:236 +#: src/views/website/ListView.vue:254 src/views/website/ListView.vue:264 msgid "Deleted successfully" msgstr "刪除成功" @@ -1251,8 +1103,7 @@ msgstr "" msgid "New Folder" msgstr "" -#: src/components/file-editor/FileTree.vue:707 -#: src/views/file/ToolBar.vue:230 +#: src/components/file-editor/FileTree.vue:707 src/views/file/ToolBar.vue:230 msgid "New" msgstr "新建" @@ -1296,8 +1147,7 @@ msgstr "切換主題" #: src/layout/header/components/UserAvatar.vue:13 #: src/views/apps/pureftpd/IndexView.vue:65 #: src/views/apps/pureftpd/IndexView.vue:249 -#: src/views/setting/PasswordModal.vue:26 -#: src/views/setting/SettingUser.vue:117 +#: src/views/setting/PasswordModal.vue:26 src/views/setting/SettingUser.vue:117 msgid "Change Password" msgstr "更改密碼" @@ -1317,12 +1167,9 @@ msgstr "提示" msgid "Logged out successfully!" msgstr "成功登出!" -#: src/layout/header/components/UserAvatar.vue:48 -#: src/views/cert/DnsView.vue:56 -#: src/views/firewall/IpRuleView.vue:76 -#: src/views/firewall/IpRuleView.vue:101 -#: src/views/firewall/RuleView.vue:110 -#: src/views/firewall/RuleView.vue:135 +#: src/layout/header/components/UserAvatar.vue:48 src/views/cert/DnsView.vue:56 +#: src/views/firewall/IpRuleView.vue:76 src/views/firewall/IpRuleView.vue:101 +#: src/views/firewall/RuleView.vue:110 src/views/firewall/RuleView.vue:135 #: src/views/toolbox/DiskView.vue:172 msgid "Unknown" msgstr "未知" @@ -1351,12 +1198,9 @@ msgstr "應用程式" msgid "Backup" msgstr "備份" -#: src/locales/menu.ts:9 -#: src/views/cert/CertView.vue:486 -#: src/views/cert/CertView.vue:563 -#: src/views/cert/IndexView.vue:96 -#: src/views/cert/UploadCertModal.vue:38 -#: src/views/setting/SettingSafe.vue:290 +#: src/locales/menu.ts:9 src/views/cert/CertView.vue:486 +#: src/views/cert/CertView.vue:563 src/views/cert/IndexView.vue:96 +#: src/views/cert/UploadCertModal.vue:38 src/views/setting/SettingSafe.vue:290 #: src/views/website/EditView.vue:893 msgid "Certificate" msgstr "證書" @@ -1365,10 +1209,8 @@ msgstr "證書" msgid "Container" msgstr "容器" -#: src/locales/menu.ts:11 -#: src/views/backup/ListView.vue:276 -#: src/views/database/IndexView.vue:27 -#: src/views/home/IndexView.vue:453 +#: src/locales/menu.ts:11 src/views/backup/ListView.vue:276 +#: src/views/database/IndexView.vue:27 src/views/home/IndexView.vue:453 #: src/views/website/CreateModal.vue:170 msgid "Database" msgstr "數據庫" @@ -1405,24 +1247,18 @@ msgstr "" msgid "Toolbox" msgstr "工具箱" -#: src/locales/menu.ts:22 -#: src/views/app/AppView.vue:93 +#: src/locales/menu.ts:22 src/views/app/AppView.vue:93 #: src/views/app/EnvironmentView.vue:78 -#: src/views/home/IndexView.vue:479 +#: src/views/app/TemplateDeployModal.vue:629 src/views/home/IndexView.vue:479 #: src/views/setting/TokenModal.vue:299 msgid "Update" msgstr "更新" -#: src/locales/menu.ts:23 -#: src/views/apps/fail2ban/IndexView.vue:315 -#: src/views/backup/IndexView.vue:37 -#: src/views/backup/ListView.vue:232 -#: src/views/backup/ListView.vue:269 -#: src/views/cert/CertView.vue:455 -#: src/views/cert/CertView.vue:538 -#: src/views/cert/CreateCertModal.vue:90 -#: src/views/home/IndexView.vue:449 -#: src/views/task/CreateModal.vue:118 +#: src/locales/menu.ts:23 src/views/apps/fail2ban/IndexView.vue:315 +#: src/views/backup/IndexView.vue:37 src/views/backup/ListView.vue:232 +#: src/views/backup/ListView.vue:269 src/views/cert/CertView.vue:455 +#: src/views/cert/CertView.vue:538 src/views/cert/CreateCertModal.vue:90 +#: src/views/home/IndexView.vue:449 src/views/task/CreateModal.vue:118 msgid "Website" msgstr "網站" @@ -1450,15 +1286,12 @@ msgstr "Rsync 管理器" msgid "Frp Manager" msgstr "Frp 管理器" -#: src/router/routes/index.ts:18 -#: src/views/login/IndexView.vue:229 +#: src/router/routes/index.ts:18 src/views/login/IndexView.vue:229 msgid "Login" msgstr "登錄" -#: src/views/app/AppView.vue:17 -#: src/views/app/AppView.vue:152 -#: src/views/app/AppView.vue:157 -#: src/views/app/EnvironmentView.vue:145 +#: src/views/app/AppView.vue:17 src/views/app/AppView.vue:152 +#: src/views/app/AppView.vue:157 src/views/app/EnvironmentView.vue:145 #: src/views/environment/PHPView.vue:79 msgid "Install" msgstr "安裝" @@ -1467,16 +1300,13 @@ msgstr "安裝" msgid "App Name" msgstr "應用名稱" -#: src/views/app/AppView.vue:40 -#: src/views/app/EnvironmentView.vue:33 -#: src/views/environment/PHPView.vue:48 -#: src/views/project/EditModal.vue:188 +#: src/views/app/AppView.vue:40 src/views/app/EnvironmentView.vue:33 +#: src/views/environment/PHPView.vue:48 src/views/project/EditModal.vue:188 #: src/views/project/ListView.vue:41 msgid "Description" msgstr "描述" -#: src/views/app/AppView.vue:46 -#: src/views/app/EnvironmentView.vue:45 +#: src/views/app/AppView.vue:46 src/views/app/EnvironmentView.vue:45 msgid "Installed Version" msgstr "已安裝版本" @@ -1484,65 +1314,52 @@ msgstr "已安裝版本" msgid "Show in Home" msgstr "在主頁顯示" -#: src/views/app/AppView.vue:65 -#: src/views/app/EnvironmentView.vue:51 +#: src/views/app/AppView.vue:65 src/views/app/EnvironmentView.vue:51 #: src/views/apps/fail2ban/IndexView.vue:59 #: src/views/apps/fail2ban/IndexView.vue:118 #: src/views/apps/nginx/NginxIndex.vue:184 #: src/views/apps/nginx/NginxIndex.vue:260 #: src/views/apps/nginx/NginxIndex.vue:696 #: src/views/apps/pureftpd/IndexView.vue:46 -#: src/views/apps/rsync/IndexView.vue:68 -#: src/views/apps/s3fs/IndexView.vue:32 -#: src/views/apps/supervisor/IndexView.vue:74 -#: src/views/backup/ListView.vue:57 -#: src/views/cert/AccountView.vue:79 -#: src/views/cert/CertView.vue:170 -#: src/views/cert/DnsView.vue:64 -#: src/views/container/ComposeView.vue:100 +#: src/views/apps/rsync/IndexView.vue:68 src/views/apps/s3fs/IndexView.vue:32 +#: src/views/apps/supervisor/IndexView.vue:74 src/views/backup/ListView.vue:57 +#: src/views/cert/AccountView.vue:79 src/views/cert/CertView.vue:170 +#: src/views/cert/DnsView.vue:64 src/views/container/ComposeView.vue:100 #: src/views/container/ContainerView.vue:109 -#: src/views/container/ImageView.vue:90 -#: src/views/container/NetworkView.vue:109 -#: src/views/container/VolumeView.vue:63 -#: src/views/database/DatabaseList.vue:77 -#: src/views/database/ServerList.vue:134 -#: src/views/database/UserList.vue:151 -#: src/views/environment/PHPView.vue:55 -#: src/views/file/ListView.vue:1324 -#: src/views/firewall/ForwardView.vue:79 -#: src/views/firewall/IpRuleView.vue:121 -#: src/views/firewall/RuleView.vue:158 -#: src/views/project/ListView.vue:88 -#: src/views/setting/SettingUser.vue:85 -#: src/views/setting/TokenModal.vue:52 -#: src/views/task/CronView.vue:98 -#: src/views/task/TaskView.vue:55 -#: src/views/toolbox/DiskView.vue:340 -#: src/views/toolbox/DiskView.vue:831 -#: src/views/toolbox/WebHookView.vue:131 -#: src/views/website/ListView.vue:123 +#: src/views/container/ImageView.vue:90 src/views/container/NetworkView.vue:109 +#: src/views/container/VolumeView.vue:63 src/views/database/DatabaseList.vue:77 +#: src/views/database/ServerList.vue:163 src/views/database/UserList.vue:151 +#: src/views/environment/PHPView.vue:55 src/views/file/ListView.vue:1324 +#: src/views/firewall/ForwardView.vue:79 src/views/firewall/IpRuleView.vue:121 +#: src/views/firewall/RuleView.vue:158 src/views/project/ListView.vue:114 +#: src/views/setting/SettingUser.vue:85 src/views/setting/TokenModal.vue:52 +#: src/views/task/CronView.vue:98 src/views/task/TaskView.vue:55 +#: src/views/toolbox/DiskView.vue:340 src/views/toolbox/DiskView.vue:831 +#: src/views/toolbox/WebHookView.vue:131 src/views/website/ListView.vue:123 msgid "Actions" msgstr "操作" #: src/views/app/AppView.vue:80 -msgid "Updating app %{ app } may reset related configurations to default state, are you sure to continue?" +msgid "" +"Updating app %{ app } may reset related configurations to default state, are " +"you sure to continue?" msgstr "更新應用程式 %{ app } 可能會將相關配置重置為默認狀態,您確定要繼續嗎?" -#: src/views/app/AppView.vue:109 -#: src/views/app/EnvironmentView.vue:94 +#: src/views/app/AppView.vue:109 src/views/app/EnvironmentView.vue:94 msgid "Manage" msgstr "管理" #: src/views/app/AppView.vue:123 -msgid "Reinstalling/Switching to a different web server will reset the configuration of all websites, are you sure to continue?" +msgid "" +"Reinstalling/Switching to a different web server will reset the " +"configuration of all websites, are you sure to continue?" msgstr "" #: src/views/app/AppView.vue:127 msgid "Are you sure to uninstall app %{ app }?" msgstr "您確定要卸載應用程式 %{ app } 嗎?" -#: src/views/app/AppView.vue:137 -#: src/views/app/EnvironmentView.vue:118 +#: src/views/app/AppView.vue:137 src/views/app/EnvironmentView.vue:118 msgid "Uninstall" msgstr "卸載" @@ -1550,12 +1367,9 @@ msgstr "卸載" msgid "Setup successfully" msgstr "設置成功" -#: src/views/app/AppView.vue:198 -#: src/views/app/AppView.vue:206 -#: src/views/app/EnvironmentView.vue:178 -#: src/views/app/EnvironmentView.vue:186 -#: src/views/app/EnvironmentView.vue:194 -#: src/views/app/VersionModal.vue:34 +#: src/views/app/AppView.vue:198 src/views/app/AppView.vue:206 +#: src/views/app/EnvironmentView.vue:178 src/views/app/EnvironmentView.vue:186 +#: src/views/app/EnvironmentView.vue:194 src/views/app/VersionModal.vue:34 msgid "Task submitted, please check the progress in background tasks" msgstr "任務已提交,請在後台任務中查看進度" @@ -1595,75 +1409,203 @@ msgstr "" msgid "Update Cache" msgstr "更新快取" -#: src/views/app/TemplateDeployModal.vue:58 +#: src/views/app/TemplateDeployModal.vue:81 +#, fuzzy +msgid "Please enter URL" +msgstr "請輸入完整的 URL" + +#: src/views/app/TemplateDeployModal.vue:86 +#, fuzzy +msgid "Please enter a valid URL" +msgstr "請輸入完整的 URL" + +#: src/views/app/TemplateDeployModal.vue:161 msgid "Please enter compose name" msgstr "" -#: src/views/app/TemplateDeployModal.vue:129 +#: src/views/app/TemplateDeployModal.vue:176 +#, fuzzy +msgid "Please select a compose" +msgstr "請選擇時區" + +#: src/views/app/TemplateDeployModal.vue:235 src/views/cert/AccountView.vue:162 +#: src/views/cert/CertView.vue:337 src/views/cert/CertView.vue:354 +#: src/views/cert/DnsView.vue:139 src/views/container/ComposeView.vue:287 +msgid "Update successful" +msgstr "更新成功" + +#: src/views/app/TemplateDeployModal.vue:305 msgid "Deploy Template" msgstr "" -#: src/views/app/TemplateDeployModal.vue:140 -#: src/views/container/ContainerCreate.vue:191 -#: src/views/project/EditModal.vue:177 -#: src/views/website/EditView.vue:462 -msgid "Basic Settings" -msgstr "基本設置" +#: src/views/app/TemplateDeployModal.vue:316 +#: src/views/app/TemplateDeployModal.vue:573 +#, fuzzy +msgid "Deploy Mode" +msgstr "部署" -#: src/views/app/TemplateDeployModal.vue:142 +#: src/views/app/TemplateDeployModal.vue:317 +msgid "Configuration" +msgstr "配置" + +#: src/views/app/TemplateDeployModal.vue:318 +#, fuzzy +msgid "Preview & Edit" +msgstr "預覽 - " + +#: src/views/app/TemplateDeployModal.vue:332 +#, fuzzy +msgid "Create New Compose" +msgstr "創建編排" + +#: src/views/app/TemplateDeployModal.vue:334 +msgid "Create a new compose from this template" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:349 +#, fuzzy +msgid "Update Existing Compose" +msgstr "編輯編排" + +#: src/views/app/TemplateDeployModal.vue:352 +msgid "Update an existing compose with this template" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:370 +#: src/views/app/TemplateDeployModal.vue:578 #: src/views/container/ComposeView.vue:361 msgid "Compose Name" msgstr "編排名稱" -#: src/views/app/TemplateDeployModal.vue:147 +#: src/views/app/TemplateDeployModal.vue:375 msgid "Enter compose name" msgstr "" -#: src/views/app/TemplateDeployModal.vue:151 +#: src/views/app/TemplateDeployModal.vue:379 +#: src/views/app/TemplateDeployModal.vue:469 msgid "Deploy Options" msgstr "" -#: src/views/app/TemplateDeployModal.vue:155 +#: src/views/app/TemplateDeployModal.vue:383 +#: src/views/app/TemplateDeployModal.vue:473 +#: src/views/app/TemplateDeployModal.vue:581 msgid "Auto Start" msgstr "" -#: src/views/app/TemplateDeployModal.vue:160 +#: src/views/app/TemplateDeployModal.vue:388 +#: src/views/app/TemplateDeployModal.vue:586 msgid "Auto Firewall" msgstr "" -#: src/views/app/TemplateDeployModal.vue:164 +#: src/views/app/TemplateDeployModal.vue:391 msgid "Automatically allow ports defined in compose" msgstr "" -#: src/views/app/TemplateDeployModal.vue:177 +#: src/views/app/TemplateDeployModal.vue:399 +#: src/views/app/TemplateDeployModal.vue:481 +#: src/views/app/TemplateDeployModal.vue:559 +#: src/views/app/TemplateDeployModal.vue:591 #: src/views/apps/minio/IndexView.vue:32 #: src/views/container/ComposeView.vue:367 #: src/views/container/ComposeView.vue:393 #: src/views/container/ContainerCreate.vue:454 -#: src/views/project/EditModal.vue:373 -#: src/views/toolbox/ProcessView.vue:440 +#: src/views/project/EditModal.vue:373 src/views/toolbox/ProcessView.vue:440 msgid "Environment Variables" msgstr "環境變數" -#: src/views/app/TemplateDeployModal.vue:191 +#: src/views/app/TemplateDeployModal.vue:413 +#: src/views/app/TemplateDeployModal.vue:495 msgid "Select value" msgstr "" -#: src/views/app/TemplateDeployModal.vue:221 -msgid "Compose Preview" +#: src/views/app/TemplateDeployModal.vue:458 +#, fuzzy +msgid "Select Compose" +msgstr "選擇主機" + +#: src/views/app/TemplateDeployModal.vue:463 +#, fuzzy +msgid "Select a compose to update" +msgstr "選擇數據庫類型" + +#: src/views/app/TemplateDeployModal.vue:535 +#, fuzzy +msgid "Compose File" +msgstr "編排名稱" + +#: src/views/app/TemplateDeployModal.vue:544 +msgid "" +"Left side shows the original compose, right side shows the new compose. You " +"can edit the right side." msgstr "" -#: src/views/app/TemplateDeployModal.vue:232 -#: src/views/app/TemplateView.vue:96 -#: src/views/cert/CertView.vue:208 -msgid "Deploy" -msgstr "部署" +#: src/views/app/TemplateDeployModal.vue:563 +#: src/views/container/ComposeView.vue:371 +#: src/views/container/ComposeView.vue:397 +msgid "Variable Name" +msgstr "變數名稱" -#: src/views/app/TemplateDeployModal.vue:240 +#: src/views/app/TemplateDeployModal.vue:564 +#: src/views/container/ComposeView.vue:372 +#: src/views/container/ComposeView.vue:398 +msgid "Variable Value" +msgstr "變數值" + +#: src/views/app/TemplateDeployModal.vue:575 +#, fuzzy +msgid "Create New" +msgstr "建立網路" + +#: src/views/app/TemplateDeployModal.vue:575 +#, fuzzy +msgid "Update Existing" +msgstr "更新主機" + +#: src/views/app/TemplateDeployModal.vue:583 +#: src/views/app/TemplateDeployModal.vue:588 +#: src/views/apps/nginx/NginxIndex.vue:180 src/views/file/ListView.vue:765 +#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/toolbox/WebHookView.vue:81 +msgid "Yes" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:583 +#: src/views/app/TemplateDeployModal.vue:588 +#: src/views/apps/nginx/NginxIndex.vue:180 src/views/file/ListView.vue:766 +#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/toolbox/WebHookView.vue:81 +msgid "No" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:592 +#, fuzzy +msgid "variables" +msgstr "變數名稱" + +#: src/views/app/TemplateDeployModal.vue:599 +#, fuzzy +msgid "Compose Content" +msgstr "編排名稱" + +#: src/views/app/TemplateDeployModal.vue:608 +#, fuzzy +msgid "Previous" +msgstr "預覽" + +#: src/views/app/TemplateDeployModal.vue:617 +#: src/views/app/TemplateDeployModal.vue:620 +msgid "Next" +msgstr "" + +#: src/views/app/TemplateDeployModal.vue:639 #: src/views/container/ComposeView.vue:408 msgid "Starting Compose" msgstr "" +#: src/views/app/TemplateView.vue:127 src/views/cert/CertView.vue:208 +msgid "Deploy" +msgstr "部署" + #: src/views/app/VersionModal.vue:79 msgid "Channel" msgstr "渠道" @@ -1685,8 +1627,7 @@ msgstr "" #: src/views/apps/mysql/MysqlIndex.vue:32 #: src/views/apps/nginx/NginxIndex.vue:130 #: src/views/apps/postgresql/IndexView.vue:30 -#: src/views/apps/redis/IndexView.vue:24 -#: src/views/environment/PHPView.vue:120 +#: src/views/apps/redis/IndexView.vue:24 src/views/environment/PHPView.vue:120 msgid "Property" msgstr "屬性" @@ -1695,8 +1636,7 @@ msgstr "屬性" #: src/views/apps/mysql/MysqlIndex.vue:39 #: src/views/apps/nginx/NginxIndex.vue:137 #: src/views/apps/postgresql/IndexView.vue:37 -#: src/views/apps/redis/IndexView.vue:31 -#: src/views/environment/PHPView.vue:127 +#: src/views/apps/redis/IndexView.vue:31 src/views/environment/PHPView.vue:127 msgid "Current Value" msgstr "當前值" @@ -1706,18 +1646,15 @@ msgstr "當前值" #: src/views/apps/nginx/NginxIndex.vue:329 #: src/views/apps/postgresql/IndexView.vue:56 #: src/views/apps/supervisor/IndexView.vue:225 -#: src/views/environment/PHPView.vue:166 -#: src/views/environment/PHPView.vue:172 +#: src/views/environment/PHPView.vue:166 src/views/environment/PHPView.vue:172 #: src/views/website/EditView.vue:169 msgid "Cleared successfully" msgstr "清除成功" #: src/views/apps/apache/IndexView.vue:59 #: src/views/apps/codeserver/IndexView.vue:34 -#: src/views/apps/frp/IndexView.vue:75 -#: src/views/apps/frp/IndexView.vue:103 -#: src/views/apps/gitea/IndexView.vue:32 -#: src/views/apps/mysql/MysqlIndex.vue:98 +#: src/views/apps/frp/IndexView.vue:75 src/views/apps/frp/IndexView.vue:103 +#: src/views/apps/gitea/IndexView.vue:32 src/views/apps/mysql/MysqlIndex.vue:98 #: src/views/apps/nginx/NginxIndex.vue:479 #: src/views/apps/phpmyadmin/IndexView.vue:73 msgid "Modify Configuration" @@ -1725,7 +1662,9 @@ msgstr "修改配置" #: src/views/apps/apache/IndexView.vue:63 #: src/views/apps/nginx/NginxIndex.vue:483 -msgid "This modifies the %{name} main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" +msgid "" +"This modifies the %{name} main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" msgstr "" #: src/views/apps/apache/IndexView.vue:77 @@ -1733,15 +1672,14 @@ msgstr "" #: src/views/apps/mysql/MysqlIndex.vue:116 #: src/views/apps/nginx/NginxIndex.vue:535 #: src/views/apps/postgresql/IndexView.vue:100 -#: src/views/apps/redis/IndexView.vue:68 -#: src/views/environment/PHPView.vue:261 +#: src/views/apps/redis/IndexView.vue:68 src/views/environment/PHPView.vue:261 #: src/views/home/IndexView.vue:490 msgid "Load Status" msgstr "負載狀態" #: src/views/apps/apache/IndexView.vue:87 #: src/views/apps/codeserver/IndexView.vue:51 -#: src/views/apps/docker/IndexView.vue:47 +#: src/views/apps/docker/IndexView.vue:477 #: src/views/apps/fail2ban/IndexView.vue:282 #: src/views/apps/gitea/IndexView.vue:49 #: src/views/apps/memcached/IndexView.vue:74 @@ -1750,8 +1688,7 @@ msgstr "負載狀態" #: src/views/apps/nginx/NginxIndex.vue:545 #: src/views/apps/podman/IndexView.vue:85 #: src/views/apps/postgresql/IndexView.vue:110 -#: src/views/apps/redis/IndexView.vue:78 -#: src/views/apps/rsync/IndexView.vue:240 +#: src/views/apps/redis/IndexView.vue:78 src/views/apps/rsync/IndexView.vue:240 #: src/views/apps/supervisor/IndexView.vue:347 #: src/views/environment/PHPView.vue:271 msgid "Runtime Logs" @@ -1773,14 +1710,241 @@ msgid "Clear Log" msgstr "清除日誌" #: src/views/apps/codeserver/IndexView.vue:38 -msgid "This modifies the Code Server configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 Code Server 的配置文件。如果您不理解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the Code Server configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 Code Server 的配置文件。如果您不理解每個參數的含義,請不要隨意修改!" -#: src/views/apps/docker/IndexView.vue:34 -msgid "Configuration" +#: src/views/apps/docker/IndexView.vue:63 +#: src/views/apps/docker/IndexView.vue:70 +#, fuzzy +msgid "Default" +msgstr "默認頁面" + +#: src/views/apps/docker/IndexView.vue:88 +msgid "China - Millisecond" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:89 +msgid "China - DaoCloud" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:91 +msgid "China - Tencent (Internal only)" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:194 +#: src/views/container/ContainerCreate.vue:191 +#: src/views/project/EditModal.vue:177 src/views/website/EditView.vue:462 +msgid "Basic Settings" +msgstr "基本設置" + +#: src/views/apps/docker/IndexView.vue:198 +#, fuzzy +msgid "Registry Mirrors" +msgstr "註冊表配置" + +#: src/views/apps/docker/IndexView.vue:203 src/views/website/EditView.vue:916 +msgid "Presets" +msgstr "預設" + +#: src/views/apps/docker/IndexView.vue:226 +msgid "" +"Configure registry mirrors to speed up image downloads. Domestic users can " +"configure domestic mirrors." +msgstr "" + +#: src/views/apps/docker/IndexView.vue:235 +msgid "Enter mirror address, e.g., https://registry.example.com" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:239 +#: src/views/apps/docker/IndexView.vue:392 +#: src/views/apps/docker/IndexView.vue:420 +#: src/views/apps/docker/IndexView.vue:445 +#: src/views/apps/nginx/NginxIndex.vue:688 src/views/toolbox/SystemView.vue:297 +msgid "Add" +msgstr "添加" + +#: src/views/apps/docker/IndexView.vue:249 +#, fuzzy +msgid "Log Configuration" msgstr "配置" -#: src/views/apps/docker/IndexView.vue:37 +#: src/views/apps/docker/IndexView.vue:253 +msgid "" +"Configure log driver and rotation settings. Setting max-size and max-file " +"can prevent log files from growing indefinitely." +msgstr "" + +#: src/views/apps/docker/IndexView.vue:259 +#, fuzzy +msgid "Log Driver" +msgstr "驅動程式" + +#: src/views/apps/docker/IndexView.vue:263 +#, fuzzy +msgid "Select log driver" +msgstr "選擇伺服器" + +#: src/views/apps/docker/IndexView.vue:269 +#, fuzzy +msgid "Max Size" +msgstr "大小" + +#: src/views/apps/docker/IndexView.vue:272 +msgid "e.g., 10m, 100m, 1g" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:277 +#, fuzzy +msgid "Max Files" +msgstr "檔案" + +#: src/views/apps/docker/IndexView.vue:280 +msgid "e.g., 3, 5, 10" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:290 +#, fuzzy +msgid "Runtime Options" +msgstr "運行日誌" + +#: src/views/apps/docker/IndexView.vue:294 +#, fuzzy +msgid "Live Restore" +msgstr "恢復" + +#: src/views/apps/docker/IndexView.vue:297 +msgid "Keep containers alive during daemon downtime" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:302 +#, fuzzy +msgid "Cgroup Driver" +msgstr "驅動程式" + +#: src/views/apps/docker/IndexView.vue:306 +#, fuzzy +msgid "Select cgroup driver" +msgstr "選擇伺服器" + +#: src/views/apps/docker/IndexView.vue:314 +msgid "IPv6" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:317 +#, fuzzy +msgid "Requires additional configuration." +msgstr "註冊表配置" + +#: src/views/apps/docker/IndexView.vue:325 +msgid "Docs" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:331 +#, fuzzy +msgid "IP Forward" +msgstr "連接埠轉發" + +#: src/views/apps/docker/IndexView.vue:334 +#, fuzzy +msgid "Enable IP forwarding" +msgstr "創建轉發" + +#: src/views/apps/docker/IndexView.vue:343 +#, fuzzy +msgid "Firewall Configuration" +msgstr "FPM 配置" + +#: src/views/apps/docker/IndexView.vue:347 +msgid "" +"Configure Docker firewall backend. nftables is experimental and does not " +"support Swarm mode." +msgstr "" + +#: src/views/apps/docker/IndexView.vue:353 +#, fuzzy +msgid "Firewall Backend" +msgstr "防火牆" + +#: src/views/apps/docker/IndexView.vue:357 +msgid "Select firewall backend" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:366 +msgid "Storage & Paths" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:368 +#, fuzzy +msgid "Storage Driver" +msgstr "驅動程式" + +#: src/views/apps/docker/IndexView.vue:372 +#, fuzzy +msgid "Select storage driver" +msgstr "選擇伺服器" + +#: src/views/apps/docker/IndexView.vue:376 +msgid "Data Root" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:379 +msgid "Docker data directory, default is /var/lib/docker" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:382 +msgid "Socket/Hosts" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:388 +msgid "e.g., unix:///var/run/docker.sock, tcp://0.0.0.0:2375" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:404 +#, fuzzy +msgid "Network Configuration" +msgstr "用戶配置" + +#: src/views/apps/docker/IndexView.vue:406 +msgid "Bridge IP" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:409 +msgid "Default bridge network IP range, e.g., 172.17.0.1/16" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:412 +#, fuzzy +msgid "DNS Servers" +msgstr "伺服器" + +#: src/views/apps/docker/IndexView.vue:417 +msgid "e.g., 8.8.8.8, 114.114.114.114" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:429 +msgid "Insecure Registries" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:433 +msgid "" +"Insecure registries allow Docker to communicate with registries using HTTP " +"or self-signed certificates. Use with caution." +msgstr "" + +#: src/views/apps/docker/IndexView.vue:441 +msgid "e.g., 192.168.1.100:5000" +msgstr "" + +#: src/views/apps/docker/IndexView.vue:464 +#, fuzzy +msgid "Configuration File" +msgstr "配置" + +#: src/views/apps/docker/IndexView.vue:467 msgid "This modifies the Docker configuration file (/etc/docker/daemon.json)" msgstr "這將修改 Docker 配置文件 (/etc/docker/daemon.json)" @@ -1789,14 +1953,10 @@ msgstr "這將修改 Docker 配置文件 (/etc/docker/daemon.json)" #: src/views/apps/supervisor/IndexView.vue:53 #: src/views/container/ComposeView.vue:84 #: src/views/container/ContainerView.vue:50 -#: src/views/database/ServerList.vue:113 -#: src/views/database/UserList.vue:130 -#: src/views/firewall/RuleView.vue:61 -#: src/views/log/HttpLog.vue:74 -#: src/views/project/ListView.vue:56 -#: src/views/task/TaskView.vue:22 -#: src/views/toolbox/ProcessView.vue:137 -#: src/views/toolbox/ProcessView.vue:394 +#: src/views/database/ServerList.vue:142 src/views/database/UserList.vue:130 +#: src/views/firewall/RuleView.vue:61 src/views/log/HttpLog.vue:74 +#: src/views/project/ListView.vue:56 src/views/task/TaskView.vue:22 +#: src/views/toolbox/ProcessView.vue:137 src/views/toolbox/ProcessView.vue:394 msgid "Status" msgstr "狀態" @@ -1815,8 +1975,7 @@ msgstr "封禁時間" msgid "Find Time" msgstr "查找時間" -#: src/views/apps/fail2ban/IndexView.vue:77 -#: src/views/cert/CertView.vue:252 +#: src/views/apps/fail2ban/IndexView.vue:77 src/views/cert/CertView.vue:252 msgid "View" msgstr "查看" @@ -1834,8 +1993,7 @@ msgstr "解封" #: src/views/apps/fail2ban/IndexView.vue:188 #: src/views/apps/pureftpd/IndexView.vue:128 -#: src/views/apps/rsync/IndexView.vue:150 -#: src/views/apps/s3fs/IndexView.vue:82 +#: src/views/apps/rsync/IndexView.vue:150 src/views/apps/s3fs/IndexView.vue:82 #: src/views/apps/supervisor/IndexView.vue:233 #: src/views/database/CreateServerModal.vue:37 msgid "Added successfully" @@ -1872,24 +2030,28 @@ msgid "Add Rule" msgstr "新增規則" #: src/views/apps/fail2ban/IndexView.vue:297 -msgid "If an IP exceeds the maximum retries within the find time (seconds), it will be banned for the ban time (seconds)" -msgstr "如果一個 IP 在查找時間(秒)內超過最大重試次數,它將被禁止訪問指定的禁止時間(秒)" +msgid "" +"If an IP exceeds the maximum retries within the find time (seconds), it will " +"be banned for the ban time (seconds)" +msgstr "" +"如果一個 IP 在查找時間(秒)內超過最大重試次數,它將被禁止訪問指定的禁止時間" +"(秒)" #: src/views/apps/fail2ban/IndexView.vue:304 -msgid "Protected ports are automatically obtained. If you modify the port corresponding to a rule, please delete and re-add the rule, otherwise protection may not be effective" -msgstr "受保護的連接埠會自動獲取。如果您修改了某個規則對應的連接埠,請刪除並重新添加該規則,否則保護可能無效" +msgid "" +"Protected ports are automatically obtained. If you modify the port " +"corresponding to a rule, please delete and re-add the rule, otherwise " +"protection may not be effective" +msgstr "" +"受保護的連接埠會自動獲取。如果您修改了某個規則對應的連接埠,請刪除並重新添加" +"該規則,否則保護可能無效" -#: src/views/apps/fail2ban/IndexView.vue:311 -#: src/views/cert/CertView.vue:86 -#: src/views/cert/DnsView.vue:38 -#: src/views/cert/ObtainModal.vue:58 +#: src/views/apps/fail2ban/IndexView.vue:311 src/views/cert/CertView.vue:86 +#: src/views/cert/DnsView.vue:38 src/views/cert/ObtainModal.vue:58 #: src/views/database/CreateServerModal.vue:63 -#: src/views/database/DatabaseList.vue:11 -#: src/views/database/ServerList.vue:16 -#: src/views/database/UserList.vue:16 -#: src/views/file/PropertyModal.vue:33 -#: src/views/log/OperationLog.vue:57 -#: src/views/project/ListView.vue:48 +#: src/views/database/DatabaseList.vue:11 src/views/database/ServerList.vue:45 +#: src/views/database/UserList.vue:16 src/views/file/PropertyModal.vue:33 +#: src/views/log/OperationLog.vue:57 src/views/project/ListView.vue:48 msgid "Type" msgstr "類型" @@ -1899,8 +2061,7 @@ msgid "Service" msgstr "服務" #: src/views/apps/fail2ban/IndexView.vue:321 -#: src/views/apps/fail2ban/IndexView.vue:325 -#: src/views/task/CreateModal.vue:132 +#: src/views/apps/fail2ban/IndexView.vue:325 src/views/task/CreateModal.vue:132 #: src/views/task/CreateModal.vue:137 msgid "Select Website" msgstr "選擇網站" @@ -1910,8 +2071,7 @@ msgid "Protection Mode" msgstr "保護模式" #: src/views/apps/fail2ban/IndexView.vue:333 -#: src/views/apps/pureftpd/IndexView.vue:39 -#: src/views/log/HttpLog.vue:64 +#: src/views/apps/pureftpd/IndexView.vue:39 src/views/log/HttpLog.vue:64 msgid "Path" msgstr "路徑" @@ -1941,41 +2101,32 @@ msgstr "總封禁次數" msgid "Ban List" msgstr "封禁列表" -#: src/views/apps/frp/IndexView.vue:60 -#: src/views/apps/frp/IndexView.vue:88 -#: src/views/project/CreateModal.vue:489 -#: src/views/project/EditModal.vue:232 +#: src/views/apps/frp/IndexView.vue:60 src/views/apps/frp/IndexView.vue:88 +#: src/views/project/CreateModal.vue:489 src/views/project/EditModal.vue:232 msgid "Run User" msgstr "" -#: src/views/apps/frp/IndexView.vue:67 -#: src/views/apps/frp/IndexView.vue:68 -#: src/views/apps/frp/IndexView.vue:95 -#: src/views/apps/frp/IndexView.vue:96 -#: src/views/apps/rsync/IndexView.vue:53 -#: src/views/apps/rsync/IndexView.vue:272 -#: src/views/apps/rsync/IndexView.vue:326 -#: src/views/database/IndexView.vue:28 -#: src/views/setting/IndexView.vue:93 -#: src/views/toolbox/ProcessView.vue:131 -#: src/views/toolbox/ProcessView.vue:391 -#: src/views/toolbox/WebHookView.vue:335 +#: src/views/apps/frp/IndexView.vue:67 src/views/apps/frp/IndexView.vue:68 +#: src/views/apps/frp/IndexView.vue:95 src/views/apps/frp/IndexView.vue:96 +#: src/views/apps/rsync/IndexView.vue:53 src/views/apps/rsync/IndexView.vue:272 +#: src/views/apps/rsync/IndexView.vue:326 src/views/database/IndexView.vue:28 +#: src/views/setting/IndexView.vue:93 src/views/toolbox/ProcessView.vue:131 +#: src/views/toolbox/ProcessView.vue:391 src/views/toolbox/WebHookView.vue:335 #: src/views/toolbox/WebHookView.vue:370 msgid "User" msgstr "用戶" -#: src/views/apps/frp/IndexView.vue:70 -#: src/views/apps/frp/IndexView.vue:71 -#: src/views/apps/frp/IndexView.vue:98 -#: src/views/apps/frp/IndexView.vue:99 +#: src/views/apps/frp/IndexView.vue:70 src/views/apps/frp/IndexView.vue:71 +#: src/views/apps/frp/IndexView.vue:98 src/views/apps/frp/IndexView.vue:99 #: src/views/file/PermissionModal.vue:126 -#: src/views/file/PermissionModal.vue:150 -#: src/views/file/PropertyModal.vue:48 +#: src/views/file/PermissionModal.vue:150 src/views/file/PropertyModal.vue:48 msgid "Group" msgstr "群組" #: src/views/apps/gitea/IndexView.vue:36 -msgid "This modifies the Gitea configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" +msgid "" +"This modifies the Gitea configuration file. If you do not understand the " +"meaning of each parameter, please do not modify it randomly!" msgstr "這將修改 Gitea 配置文件。如果您不理解每個參數的含義,請不要隨意修改!" #: src/views/apps/memcached/IndexView.vue:54 @@ -1983,64 +2134,56 @@ msgid "Service Configuration" msgstr "服務配置" #: src/views/apps/minio/IndexView.vue:36 -msgid "This is modifying the Minio environment variable file /etc/default/minio. If you do not understand the meaning of each parameter, please do not modify it arbitrarily!" -msgstr "這將修改 Minio 環境變量文件 /etc/default/minio。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This is modifying the Minio environment variable file /etc/default/minio. If " +"you do not understand the meaning of each parameter, please do not modify it " +"arbitrarily!" +msgstr "" +"這將修改 Minio 環境變量文件 /etc/default/minio。如果您不了解每個參數的含義," +"請不要隨意修改!" #: src/views/apps/mysql/MysqlIndex.vue:66 #: src/views/apps/pureftpd/IndexView.vue:138 #: src/views/database/DatabaseList.vue:131 -#: src/views/database/ServerList.vue:244 +#: src/views/database/ServerList.vue:285 #: src/views/database/UpdateServerModal.vue:21 #: src/views/database/UpdateUserModal.vue:18 -#: src/views/database/UserList.vue:219 -#: src/views/file/PermissionModal.vue:55 -#: src/views/setting/SettingUser.vue:162 -#: src/views/setting/SettingUser.vue:168 -#: src/views/task/CronView.vue:173 -#: src/views/task/CronView.vue:201 -#: src/views/toolbox/WebHookView.vue:211 -#: src/views/toolbox/WebHookView.vue:282 -#: src/views/website/ListView.vue:237 -#: src/views/website/SettingView.vue:36 +#: src/views/database/UserList.vue:219 src/views/file/PermissionModal.vue:55 +#: src/views/setting/SettingUser.vue:162 src/views/setting/SettingUser.vue:168 +#: src/views/task/CronView.vue:173 src/views/task/CronView.vue:201 +#: src/views/toolbox/WebHookView.vue:211 src/views/toolbox/WebHookView.vue:282 +#: src/views/website/ListView.vue:237 src/views/website/SettingView.vue:36 msgid "Modified successfully" msgstr "修改成功" -#: src/views/apps/mysql/MysqlIndex.vue:72 -#: src/views/database/ServerList.vue:75 -#: src/views/database/UserList.vue:69 -#: src/views/file/ListView.vue:826 -#: src/views/file/ListView.vue:846 -#: src/views/file/ToolBar.vue:130 -#: src/views/file/ToolBar.vue:150 -#: src/views/setting/TokenModal.vue:163 +#: src/views/apps/mysql/MysqlIndex.vue:72 src/views/database/ServerList.vue:104 +#: src/views/database/UserList.vue:69 src/views/file/ListView.vue:826 +#: src/views/file/ListView.vue:846 src/views/file/ToolBar.vue:130 +#: src/views/file/ToolBar.vue:150 src/views/setting/TokenModal.vue:163 msgid "Copied successfully" msgstr "複製成功" -#: src/views/apps/mysql/MysqlIndex.vue:83 -#: src/views/toolbox/SshView.vue:263 +#: src/views/apps/mysql/MysqlIndex.vue:83 src/views/toolbox/SshView.vue:263 msgid "Root Password" msgstr "Root 密碼" -#: src/views/apps/mysql/MysqlIndex.vue:88 -#: src/views/database/ServerList.vue:79 -#: src/views/database/UserList.vue:73 -#: src/views/file/ListView.vue:289 -#: src/views/file/ListView.vue:323 -#: src/views/file/ListView.vue:922 +#: src/views/apps/mysql/MysqlIndex.vue:88 src/views/database/ServerList.vue:108 +#: src/views/database/UserList.vue:73 src/views/file/ListView.vue:289 +#: src/views/file/ListView.vue:323 src/views/file/ListView.vue:922 #: src/views/file/ToolBar.vue:265 msgid "Copy" msgstr "複製" -#: src/views/apps/mysql/MysqlIndex.vue:92 -#: src/views/website/SettingView.vue:48 -#: src/views/website/SettingView.vue:58 -#: src/views/website/SettingView.vue:68 +#: src/views/apps/mysql/MysqlIndex.vue:92 src/views/website/SettingView.vue:48 +#: src/views/website/SettingView.vue:58 src/views/website/SettingView.vue:68 #: src/views/website/SettingView.vue:116 msgid "Save Changes" msgstr "保存更改" #: src/views/apps/mysql/MysqlIndex.vue:102 -msgid "This modifies the %{ name } main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" +msgid "" +"This modifies the %{ name } main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" msgstr "" #: src/views/apps/mysql/MysqlIndex.vue:132 @@ -2061,37 +2204,16 @@ msgid "Protocol" msgstr "協議" #: src/views/apps/nginx/NginxIndex.vue:169 -#: src/views/apps/nginx/NginxIndex.vue:588 -#: src/views/website/EditView.vue:683 +#: src/views/apps/nginx/NginxIndex.vue:588 src/views/website/EditView.vue:683 msgid "Proxy Pass" msgstr "" -#: src/views/apps/nginx/NginxIndex.vue:180 -#: src/views/file/ListView.vue:765 -#: src/views/file/PropertyModal.vue:55 -#: src/views/file/PropertyModal.vue:59 -#: src/views/toolbox/WebHookView.vue:81 -msgid "Yes" -msgstr "" - -#: src/views/apps/nginx/NginxIndex.vue:180 -#: src/views/file/ListView.vue:766 -#: src/views/file/PropertyModal.vue:55 -#: src/views/file/PropertyModal.vue:59 -#: src/views/toolbox/WebHookView.vue:81 -msgid "No" -msgstr "" - #: src/views/apps/nginx/NginxIndex.vue:197 #: src/views/apps/nginx/NginxIndex.vue:273 -#: src/views/container/ComposeView.vue:122 -#: src/views/file/ListView.vue:314 -#: src/views/file/ListView.vue:1503 -#: src/views/project/ListView.vue:121 -#: src/views/ssh/IndexView.vue:69 -#: src/views/task/CronView.vue:128 -#: src/views/toolbox/WebHookView.vue:158 -#: src/views/website/ListView.vue:138 +#: src/views/container/ComposeView.vue:122 src/views/file/ListView.vue:314 +#: src/views/file/ListView.vue:1503 src/views/project/ListView.vue:147 +#: src/views/ssh/IndexView.vue:69 src/views/task/CronView.vue:128 +#: src/views/toolbox/WebHookView.vue:158 src/views/website/ListView.vue:138 msgid "Edit" msgstr "編輯" @@ -2141,28 +2263,24 @@ msgid "Stream" msgstr "" #: src/views/apps/nginx/NginxIndex.vue:499 -#: src/views/database/CreateDatabaseModal.vue:63 -#: src/views/database/CreateUserModal.vue:69 -#: src/views/database/DatabaseList.vue:41 -#: src/views/database/IndexView.vue:29 +#: src/views/database/CreateDatabaseModal.vue:74 +#: src/views/database/CreateUserModal.vue:80 +#: src/views/database/DatabaseList.vue:41 src/views/database/IndexView.vue:29 #: src/views/database/UserList.vue:90 msgid "Server" msgstr "伺服器" #: src/views/apps/nginx/NginxIndex.vue:503 #: src/views/database/CreateServerModal.vue:47 -#: src/views/database/IndexView.vue:49 -#: src/views/website/EditView.vue:623 +#: src/views/database/IndexView.vue:49 src/views/website/EditView.vue:623 msgid "Add Server" msgstr "添加伺服器" -#: src/views/apps/nginx/NginxIndex.vue:516 -#: src/views/website/EditView.vue:515 +#: src/views/apps/nginx/NginxIndex.vue:516 src/views/website/EditView.vue:515 msgid "Upstream" msgstr "" -#: src/views/apps/nginx/NginxIndex.vue:520 -#: src/views/website/EditView.vue:639 +#: src/views/apps/nginx/NginxIndex.vue:520 src/views/website/EditView.vue:639 msgid "Add Upstream" msgstr "" @@ -2219,8 +2337,7 @@ msgstr "" msgid "e.g. /path/to/key.pem" msgstr "" -#: src/views/apps/nginx/NginxIndex.vue:658 -#: src/views/website/EditView.vue:526 +#: src/views/apps/nginx/NginxIndex.vue:658 src/views/website/EditView.vue:526 msgid "Load Balancing Algorithm" msgstr "" @@ -2236,19 +2353,13 @@ msgstr "" msgid "Options (optional), e.g. weight=5 backup" msgstr "" -#: src/views/apps/nginx/NginxIndex.vue:688 -#: src/views/toolbox/SystemView.vue:297 -msgid "Add" -msgstr "添加" - #: src/views/apps/nginx/NginxIndex.vue:694 msgid "Address" msgstr "" #: src/views/apps/nginx/NginxIndex.vue:695 #: src/views/container/NetworkView.vue:320 -#: src/views/container/VolumeView.vue:220 -#: src/views/toolbox/DiskView.vue:829 +#: src/views/container/VolumeView.vue:220 src/views/toolbox/DiskView.vue:829 msgid "Options" msgstr "選項" @@ -2256,26 +2367,22 @@ msgstr "選項" msgid "No servers added yet" msgstr "" -#: src/views/apps/nginx/NginxIndex.vue:722 -#: src/views/website/EditView.vue:554 +#: src/views/apps/nginx/NginxIndex.vue:722 src/views/website/EditView.vue:554 #: src/views/website/EditView.vue:714 msgid "DNS Resolver" msgstr "" -#: src/views/apps/nginx/NginxIndex.vue:725 -#: src/views/website/EditView.vue:557 +#: src/views/apps/nginx/NginxIndex.vue:725 src/views/website/EditView.vue:557 #: src/views/website/EditView.vue:717 msgid "e.g., 8.8.8.8" msgstr "" -#: src/views/apps/nginx/NginxIndex.vue:731 -#: src/views/website/EditView.vue:563 +#: src/views/apps/nginx/NginxIndex.vue:731 src/views/website/EditView.vue:563 #: src/views/website/EditView.vue:723 msgid "Resolver Timeout" msgstr "" -#: src/views/apps/nginx/NginxIndex.vue:744 -#: src/views/website/EditView.vue:345 +#: src/views/apps/nginx/NginxIndex.vue:744 src/views/website/EditView.vue:345 msgid "Seconds" msgstr "" @@ -2296,19 +2403,28 @@ msgid "Modify phpMyAdmin access port" msgstr "修改 phpMyAdmin 訪問連接埠" #: src/views/apps/phpmyadmin/IndexView.vue:77 -msgid "This modifies the OpenResty configuration file for phpMyAdmin. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 phpMyAdmin 的 OpenResty 配置文件。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the OpenResty configuration file for phpMyAdmin. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 phpMyAdmin 的 OpenResty 配置文件。如果您不了解每個參數的含義,請不要" +"隨意修改!" #: src/views/apps/podman/IndexView.vue:43 -msgid "Podman is a daemonless container management tool. Being in a stopped state is normal and does not affect usage!" -msgstr "Podman 是一個無守護進程的容器管理工具。處於停止狀態是正常的,不影響使用!" +msgid "" +"Podman is a daemonless container management tool. Being in a stopped state " +"is normal and does not affect usage!" +msgstr "" +"Podman 是一個無守護進程的容器管理工具。處於停止狀態是正常的,不影響使用!" #: src/views/apps/podman/IndexView.vue:51 msgid "Registry Configuration" msgstr "註冊表配置" #: src/views/apps/podman/IndexView.vue:55 -msgid "This modifies the Podman registry configuration file (/etc/containers/registries.conf)" +msgid "" +"This modifies the Podman registry configuration file (/etc/containers/" +"registries.conf)" msgstr "這會修改 Podman 註冊表配置文件 (/etc/containers/registries.conf)" #: src/views/apps/podman/IndexView.vue:68 @@ -2316,28 +2432,36 @@ msgid "Storage Configuration" msgstr "儲存配置" #: src/views/apps/podman/IndexView.vue:72 -msgid "This modifies the Podman storage configuration file (/etc/containers/storage.conf)" +msgid "" +"This modifies the Podman storage configuration file (/etc/containers/storage." +"conf)" msgstr "這會修改 Podman 儲存配置文件 (/etc/containers/storage.conf)" #: src/views/apps/postgresql/IndexView.vue:66 -#: src/views/apps/redis/IndexView.vue:51 -#: src/views/apps/rsync/IndexView.vue:223 +#: src/views/apps/redis/IndexView.vue:51 src/views/apps/rsync/IndexView.vue:223 #: src/views/apps/supervisor/IndexView.vue:330 #: src/views/environment/PHPView.vue:225 msgid "Main Configuration" msgstr "主配置" #: src/views/apps/postgresql/IndexView.vue:70 -msgid "This modifies the PostgreSQL main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 PostgreSQL 主配置文件。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the PostgreSQL main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 PostgreSQL 主配置文件。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/postgresql/IndexView.vue:83 msgid "User Configuration" msgstr "用戶配置" #: src/views/apps/postgresql/IndexView.vue:87 -msgid "This modifies the PostgreSQL user configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 PostgreSQL 用戶配置文件。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the PostgreSQL user configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 PostgreSQL 用戶配置文件。如果您不了解每個參數的含義,請不要隨意修" +"改!" #: src/views/apps/postgresql/IndexView.vue:120 #: src/views/environment/PHPView.vue:284 @@ -2347,17 +2471,14 @@ msgstr "慢日誌" #: src/views/apps/pureftpd/IndexView.vue:32 #: src/views/apps/pureftpd/IndexView.vue:214 #: src/views/container/ImageView.vue:386 -#: src/views/database/CreateDatabaseModal.vue:94 +#: src/views/database/CreateDatabaseModal.vue:105 #: src/views/database/CreateServerModal.vue:94 -#: src/views/database/CreateUserModal.vue:77 -#: src/views/database/ServerList.vue:46 +#: src/views/database/CreateUserModal.vue:88 +#: src/views/database/ServerList.vue:75 #: src/views/database/UpdateServerModal.vue:86 -#: src/views/database/UserList.vue:39 -#: src/views/login/IndexView.vue:166 -#: src/views/setting/CreateModal.vue:40 -#: src/views/setting/SettingUser.vue:19 -#: src/views/ssh/CreateModal.vue:85 -#: src/views/ssh/UpdateModal.vue:91 +#: src/views/database/UserList.vue:39 src/views/login/IndexView.vue:166 +#: src/views/setting/CreateModal.vue:40 src/views/setting/SettingUser.vue:19 +#: src/views/ssh/CreateModal.vue:85 src/views/ssh/UpdateModal.vue:91 msgid "Username" msgstr "使用者名稱" @@ -2387,39 +2508,33 @@ msgstr "運行日誌" #: src/views/apps/pureftpd/IndexView.vue:206 #: src/views/apps/pureftpd/IndexView.vue:210 -#: src/views/database/CreateDatabaseModal.vue:79 -#: src/views/database/CreateUserModal.vue:55 -#: src/views/database/IndexView.vue:42 -#: src/views/setting/CreateModal.vue:32 +#: src/views/database/CreateDatabaseModal.vue:90 +#: src/views/database/CreateUserModal.vue:66 +#: src/views/database/IndexView.vue:42 src/views/setting/CreateModal.vue:32 #: src/views/setting/IndexView.vue:99 msgid "Create User" msgstr "建立使用者" #: src/views/apps/pureftpd/IndexView.vue:219 #: src/views/container/ImageView.vue:391 -#: src/views/database/CreateDatabaseModal.vue:99 -#: src/views/database/CreateUserModal.vue:82 +#: src/views/database/CreateDatabaseModal.vue:110 +#: src/views/database/CreateUserModal.vue:93 msgid "Enter username" msgstr "輸入使用者名稱" #: src/views/apps/pureftpd/IndexView.vue:222 #: src/views/apps/pureftpd/IndexView.vue:253 #: src/views/apps/rsync/IndexView.vue:280 -#: src/views/apps/rsync/IndexView.vue:334 -#: src/views/container/ImageView.vue:394 -#: src/views/database/CreateDatabaseModal.vue:102 +#: src/views/apps/rsync/IndexView.vue:334 src/views/container/ImageView.vue:394 +#: src/views/database/CreateDatabaseModal.vue:113 #: src/views/database/CreateServerModal.vue:102 -#: src/views/database/CreateUserModal.vue:85 -#: src/views/database/ServerList.vue:55 +#: src/views/database/CreateUserModal.vue:96 +#: src/views/database/ServerList.vue:84 #: src/views/database/UpdateServerModal.vue:94 -#: src/views/database/UpdateUserModal.vue:55 -#: src/views/database/UserList.vue:49 -#: src/views/login/IndexView.vue:175 -#: src/views/setting/CreateModal.vue:47 -#: src/views/setting/PasswordModal.vue:34 -#: src/views/ssh/CreateModal.vue:79 -#: src/views/ssh/CreateModal.vue:88 -#: src/views/ssh/UpdateModal.vue:85 +#: src/views/database/UpdateUserModal.vue:55 src/views/database/UserList.vue:49 +#: src/views/login/IndexView.vue:175 src/views/setting/CreateModal.vue:47 +#: src/views/setting/PasswordModal.vue:34 src/views/ssh/CreateModal.vue:79 +#: src/views/ssh/CreateModal.vue:88 src/views/ssh/UpdateModal.vue:85 #: src/views/ssh/UpdateModal.vue:94 msgid "Password" msgstr "密碼" @@ -2430,13 +2545,10 @@ msgid "It is recommended to use the generator to generate a random password" msgstr "建議使用生成器生成隨機密碼" #: src/views/apps/pureftpd/IndexView.vue:233 -#: src/views/apps/rsync/IndexView.vue:46 -#: src/views/apps/rsync/IndexView.vue:264 +#: src/views/apps/rsync/IndexView.vue:46 src/views/apps/rsync/IndexView.vue:264 #: src/views/apps/rsync/IndexView.vue:318 -#: src/views/container/ComposeView.vue:64 -#: src/views/file/PropertyModal.vue:34 -#: src/views/project/ListView.vue:68 -#: src/views/website/CreateModal.vue:227 +#: src/views/container/ComposeView.vue:64 src/views/file/PropertyModal.vue:34 +#: src/views/project/ListView.vue:94 src/views/website/CreateModal.vue:227 #: src/views/website/ListView.vue:41 msgid "Directory" msgstr "目錄" @@ -2446,30 +2558,28 @@ msgid "Enter the directory authorized to the user" msgstr "輸入授權給用戶的目錄" #: src/views/apps/redis/IndexView.vue:55 -msgid "This modifies the Redis main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 Redis 主配置文件。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the Redis main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 Redis 主配置文件。如果您不了解每個參數的含義,請不要隨意修改!" -#: src/views/apps/rsync/IndexView.vue:60 -#: src/views/apps/rsync/IndexView.vue:288 +#: src/views/apps/rsync/IndexView.vue:60 src/views/apps/rsync/IndexView.vue:288 #: src/views/apps/rsync/IndexView.vue:343 -#: src/views/database/CreateDatabaseModal.vue:111 +#: src/views/database/CreateDatabaseModal.vue:127 #: src/views/database/CreateServerModal.vue:73 -#: src/views/database/ServerList.vue:86 +#: src/views/database/ServerList.vue:115 #: src/views/database/UpdateServerModal.vue:65 -#: src/views/database/UserList.vue:80 -#: src/views/ssh/CreateModal.vue:64 -#: src/views/ssh/UpdateModal.vue:70 -#: src/views/toolbox/SystemView.vue:181 +#: src/views/database/UserList.vue:80 src/views/ssh/CreateModal.vue:64 +#: src/views/ssh/UpdateModal.vue:70 src/views/toolbox/SystemView.vue:181 msgid "Host" msgstr "主機" -#: src/views/apps/rsync/IndexView.vue:66 -#: src/views/apps/rsync/IndexView.vue:296 +#: src/views/apps/rsync/IndexView.vue:66 src/views/apps/rsync/IndexView.vue:296 #: src/views/apps/rsync/IndexView.vue:351 #: src/views/database/CreateServerModal.vue:111 -#: src/views/database/CreateUserModal.vue:116 -#: src/views/database/DatabaseList.vue:56 -#: src/views/database/ServerList.vue:96 +#: src/views/database/CreateUserModal.vue:132 +#: src/views/database/DatabaseList.vue:56 src/views/database/ServerList.vue:125 #: src/views/database/UpdateServerModal.vue:103 #: src/views/database/UpdateUserModal.vue:70 #: src/views/database/UserList.vue:113 @@ -2485,8 +2595,7 @@ msgstr "配置" msgid "Are you sure you want to delete module %{ name }?" msgstr "您確定要刪除模組 %{ name } 嗎?" -#: src/views/apps/rsync/IndexView.vue:194 -#: src/views/environment/PHPView.vue:212 +#: src/views/apps/rsync/IndexView.vue:194 src/views/environment/PHPView.vue:212 msgid "Module Management" msgstr "模組管理" @@ -2496,8 +2605,11 @@ msgid "Add Module" msgstr "添加模組" #: src/views/apps/rsync/IndexView.vue:227 -msgid "This modifies the Rsync main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 Rsync 主配置文件。如果您不理解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the Rsync main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 Rsync 主配置文件。如果您不理解每個參數的含義,請不要隨意修改!" #: src/views/apps/rsync/IndexView.vue:261 #: src/views/apps/supervisor/IndexView.vue:378 @@ -2533,8 +2645,7 @@ msgstr "輸入註釋" msgid "Module Configuration" msgstr "模組配置" -#: src/views/apps/s3fs/IndexView.vue:24 -#: src/views/toolbox/DiskView.vue:734 +#: src/views/apps/s3fs/IndexView.vue:24 src/views/toolbox/DiskView.vue:734 msgid "Mount Path" msgstr "掛載路徑" @@ -2542,13 +2653,11 @@ msgstr "掛載路徑" msgid "Are you sure you want to delete mount %{ path }?" msgstr "您確定要刪除掛載 %{ path } 嗎?" -#: src/views/apps/s3fs/IndexView.vue:57 -#: src/views/toolbox/DiskView.vue:354 +#: src/views/apps/s3fs/IndexView.vue:57 src/views/toolbox/DiskView.vue:354 msgid "Unmount" msgstr "卸載" -#: src/views/apps/s3fs/IndexView.vue:103 -#: src/views/apps/s3fs/IndexView.vue:128 +#: src/views/apps/s3fs/IndexView.vue:103 src/views/apps/s3fs/IndexView.vue:128 #: src/views/apps/s3fs/IndexView.vue:132 msgid "Add Mount" msgstr "添加掛載" @@ -2570,7 +2679,9 @@ msgid "Region Endpoint" msgstr "區域端點" #: src/views/apps/s3fs/IndexView.vue:166 -msgid "Enter complete URL of region endpoint (e.g., https://oss-cn-beijing.aliyuncs.com)" +msgid "" +"Enter complete URL of region endpoint (e.g., https://oss-cn-beijing.aliyuncs." +"com)" msgstr "輸入完整的區域端點 URL(例如:https://oss-cn-beijing.aliyuncs.com)" #: src/views/apps/s3fs/IndexView.vue:172 @@ -2607,16 +2718,18 @@ msgid "Add Process" msgstr "添加進程" #: src/views/apps/supervisor/IndexView.vue:334 -msgid "This modifies the Supervisor main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 Supervisor 主配置文件。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the Supervisor main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 Supervisor 主配置文件。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/supervisor/IndexView.vue:350 msgid "Daemon Logs" msgstr "守護進程日誌" #: src/views/apps/supervisor/IndexView.vue:381 -#: src/views/project/CreateModal.vue:507 -#: src/views/project/EditModal.vue:250 +#: src/views/project/CreateModal.vue:507 src/views/project/EditModal.vue:250 msgid "Start Command" msgstr "啟動命令" @@ -2625,8 +2738,7 @@ msgid "Please enter absolute path for files in start command" msgstr "請在啟動命令中輸入文件的絕對路徑" #: src/views/apps/supervisor/IndexView.vue:389 -#: src/views/project/EditModal.vue:214 -#: src/views/toolbox/ProcessView.vue:426 +#: src/views/project/EditModal.vue:214 src/views/toolbox/ProcessView.vue:426 msgid "Working Directory" msgstr "工作目錄" @@ -2655,8 +2767,7 @@ msgstr "進程配置" msgid "Filename" msgstr "檔案名稱" -#: src/views/backup/ListView.vue:48 -#: src/views/database/ServerList.vue:125 +#: src/views/backup/ListView.vue:48 src/views/database/ServerList.vue:154 #: src/views/database/UserList.vue:142 msgid "Update Date" msgstr "更新日期" @@ -2673,40 +2784,34 @@ msgstr "正在恢復……" msgid "Restored successfully" msgstr "恢復成功" -#: src/views/backup/ListView.vue:194 -#: src/views/backup/ListView.vue:224 +#: src/views/backup/ListView.vue:194 src/views/backup/ListView.vue:224 msgid "Create Backup" msgstr "創建備份" -#: src/views/backup/ListView.vue:197 -#: src/views/backup/UploadModal.vue:39 +#: src/views/backup/ListView.vue:197 src/views/backup/UploadModal.vue:39 msgid "Upload Backup" msgstr "上傳備份" -#: src/views/backup/ListView.vue:236 -#: src/views/backup/ListView.vue:273 +#: src/views/backup/ListView.vue:236 src/views/backup/ListView.vue:273 msgid "Select website" msgstr "選擇網站" #: src/views/backup/ListView.vue:239 -#: src/views/database/CreateDatabaseModal.vue:71 -#: src/views/database/DatabaseList.vue:34 -#: src/views/task/CreateModal.vue:142 -#: src/views/task/CreateModal.vue:144 -#: src/views/website/CreateModal.vue:191 +#: src/views/database/CreateDatabaseModal.vue:82 +#: src/views/database/DatabaseList.vue:34 src/views/task/CreateModal.vue:142 +#: src/views/task/CreateModal.vue:144 src/views/website/CreateModal.vue:191 #: src/views/website/CreateModal.vue:196 msgid "Database Name" msgstr "數據庫名稱" #: src/views/backup/ListView.vue:244 -#: src/views/database/CreateDatabaseModal.vue:76 -#: src/views/database/CreateUserModal.vue:113 +#: src/views/database/CreateDatabaseModal.vue:87 +#: src/views/database/CreateUserModal.vue:129 #: src/views/database/UpdateUserModal.vue:67 msgid "Enter database name" msgstr "輸入數據庫名稱" -#: src/views/backup/ListView.vue:247 -#: src/views/task/CreateModal.vue:146 +#: src/views/backup/ListView.vue:247 src/views/task/CreateModal.vue:146 #: src/views/task/CreateModal.vue:149 msgid "Save Directory" msgstr "保存目錄" @@ -2723,43 +2828,35 @@ msgstr "恢復備份" msgid "Upload %{ filename } successfully" msgstr "上傳 %{ filename } 成功" -#: src/views/backup/UploadModal.vue:51 -#: src/views/file/UploadModal.vue:490 +#: src/views/backup/UploadModal.vue:51 src/views/file/UploadModal.vue:490 msgid "Click or drag files to this area to upload" msgstr "點擊或將文件拖到此區域上傳" #: src/views/backup/UploadModal.vue:53 -msgid "For large files, it is recommended to use SFTP or other methods to upload" +msgid "" +"For large files, it is recommended to use SFTP or other methods to upload" msgstr "對於大文件,建議使用 SFTP 或其他方法上傳" -#: src/views/cert/AccountView.vue:44 -#: src/views/cert/AccountView.vue:243 +#: src/views/cert/AccountView.vue:44 src/views/cert/AccountView.vue:243 #: src/views/cert/CreateAccountModal.vue:100 -#: src/views/setting/CreateModal.vue:56 -#: src/views/setting/SettingUser.vue:36 +#: src/views/setting/CreateModal.vue:56 src/views/setting/SettingUser.vue:36 msgid "Email" msgstr "電子郵件" -#: src/views/cert/AccountView.vue:72 -#: src/views/cert/AccountView.vue:235 -#: src/views/cert/CertView.vue:447 -#: src/views/cert/CreateAccountModal.vue:92 +#: src/views/cert/AccountView.vue:72 src/views/cert/AccountView.vue:235 +#: src/views/cert/CertView.vue:447 src/views/cert/CreateAccountModal.vue:92 #: src/views/cert/CreateCertModal.vue:82 msgid "Key Type" msgstr "密鑰類型" -#: src/views/cert/AccountView.vue:101 -#: src/views/cert/CertView.vue:277 -#: src/views/cert/DnsView.vue:85 -#: src/views/database/ServerList.vue:182 -#: src/views/database/UserList.vue:168 -#: src/views/file/PermissionModal.vue:154 +#: src/views/cert/AccountView.vue:101 src/views/cert/CertView.vue:277 +#: src/views/cert/DnsView.vue:85 src/views/database/ServerList.vue:223 +#: src/views/database/UserList.vue:168 src/views/file/PermissionModal.vue:154 #: src/views/setting/TokenModal.vue:69 msgid "Modify" msgstr "修改" -#: src/views/cert/AccountView.vue:109 -#: src/views/cert/CertView.vue:286 +#: src/views/cert/AccountView.vue:109 src/views/cert/CertView.vue:286 #: src/views/cert/DnsView.vue:94 msgid "Deletion successful" msgstr "刪除成功" @@ -2768,78 +2865,61 @@ msgstr "刪除成功" msgid "Are you sure you want to delete the account?" msgstr "您確定要刪除該賬戶嗎?" -#: src/views/cert/AccountView.vue:150 -#: src/views/cert/CreateAccountModal.vue:39 +#: src/views/cert/AccountView.vue:150 src/views/cert/CreateAccountModal.vue:39 msgid "Registering account with CA, please wait patiently" msgstr "正在向 CA 註冊賬戶,請耐心等待" -#: src/views/cert/AccountView.vue:162 -#: src/views/cert/CertView.vue:337 -#: src/views/cert/CertView.vue:354 -#: src/views/cert/DnsView.vue:139 -#: src/views/container/ComposeView.vue:287 -msgid "Update successful" -msgstr "更新成功" - #: src/views/cert/AccountView.vue:207 msgid "Modify Account" msgstr "修改帳戶" -#: src/views/cert/AccountView.vue:215 -#: src/views/cert/CreateAccountModal.vue:72 -msgid "Google and SSL.com require obtaining KID and HMAC from their official websites first" +#: src/views/cert/AccountView.vue:215 src/views/cert/CreateAccountModal.vue:72 +msgid "" +"Google and SSL.com require obtaining KID and HMAC from their official " +"websites first" msgstr "Google 和 SSL.com 需要先從其官網獲取 KID 和 HMAC" -#: src/views/cert/AccountView.vue:221 -#: src/views/cert/CreateAccountModal.vue:78 -msgid "Google is not accessible in mainland China, other CAs depend on network conditions, recommend using Let's Encrypt" -msgstr "Google 在中國大陸無法訪問,其他 CA 取決於網絡條件,建議使用 Let's Encrypt" +#: src/views/cert/AccountView.vue:221 src/views/cert/CreateAccountModal.vue:78 +msgid "" +"Google is not accessible in mainland China, other CAs depend on network " +"conditions, recommend using Let's Encrypt" +msgstr "" +"Google 在中國大陸無法訪問,其他 CA 取決於網絡條件,建議使用 Let's Encrypt" -#: src/views/cert/AccountView.vue:227 -#: src/views/cert/CreateAccountModal.vue:84 +#: src/views/cert/AccountView.vue:227 src/views/cert/CreateAccountModal.vue:84 msgid "CA" msgstr "CA" -#: src/views/cert/AccountView.vue:230 -#: src/views/cert/CreateAccountModal.vue:87 +#: src/views/cert/AccountView.vue:230 src/views/cert/CreateAccountModal.vue:87 msgid "Select CA" msgstr "選擇 CA" -#: src/views/cert/AccountView.vue:238 -#: src/views/cert/CertView.vue:450 +#: src/views/cert/AccountView.vue:238 src/views/cert/CertView.vue:450 #: src/views/cert/CreateAccountModal.vue:95 #: src/views/cert/CreateCertModal.vue:85 msgid "Select key type" msgstr "選擇密鑰類型" -#: src/views/cert/AccountView.vue:248 -#: src/views/cert/CreateAccountModal.vue:105 +#: src/views/cert/AccountView.vue:248 src/views/cert/CreateAccountModal.vue:105 msgid "Enter email address" msgstr "輸入電子郵件地址" -#: src/views/cert/AccountView.vue:256 -#: src/views/cert/CreateAccountModal.vue:113 +#: src/views/cert/AccountView.vue:256 src/views/cert/CreateAccountModal.vue:113 msgid "Enter KID" msgstr "輸入 KID" -#: src/views/cert/AccountView.vue:264 -#: src/views/cert/CreateAccountModal.vue:121 +#: src/views/cert/AccountView.vue:264 src/views/cert/CreateAccountModal.vue:121 msgid "Enter HMAC" msgstr "輸入 HMAC" -#: src/views/cert/CertView.vue:63 -#: src/views/cert/CertView.vue:439 -#: src/views/cert/CreateCertModal.vue:74 -#: src/views/cert/ObtainModal.vue:57 -#: src/views/website/CreateModal.vue:135 -#: src/views/website/EditView.vue:421 +#: src/views/cert/CertView.vue:63 src/views/cert/CertView.vue:439 +#: src/views/cert/CreateCertModal.vue:74 src/views/cert/ObtainModal.vue:57 +#: src/views/website/CreateModal.vue:135 src/views/website/EditView.vue:421 msgid "Domain" msgstr "域名" -#: src/views/cert/CertView.vue:108 -#: src/views/file/ToolBar.vue:232 -#: src/views/file/UploadModal.vue:459 -#: src/views/monitor/IndexView.vue:492 +#: src/views/cert/CertView.vue:108 src/views/file/ToolBar.vue:232 +#: src/views/file/UploadModal.vue:459 src/views/monitor/IndexView.vue:492 msgid "Upload" msgstr "上傳" @@ -2847,15 +2927,12 @@ msgstr "上傳" msgid "Associated Account" msgstr "關聯帳戶" -#: src/views/cert/CertView.vue:129 -#: src/views/website/EditView.vue:824 +#: src/views/cert/CertView.vue:129 src/views/website/EditView.vue:824 msgid "Issuer" msgstr "頒發者" -#: src/views/cert/CertView.vue:138 -#: src/views/setting/TokenModal.vue:43 -#: src/views/setting/TokenModal.vue:256 -#: src/views/setting/TokenModal.vue:289 +#: src/views/cert/CertView.vue:138 src/views/setting/TokenModal.vue:43 +#: src/views/setting/TokenModal.vue:256 src/views/setting/TokenModal.vue:289 msgid "Expiration Time" msgstr "過期時間" @@ -2867,15 +2944,12 @@ msgstr "" msgid "Auto Renewal" msgstr "" -#: src/views/cert/CertView.vue:189 -#: src/views/cert/ObtainModal.vue:78 +#: src/views/cert/CertView.vue:189 src/views/cert/ObtainModal.vue:78 msgid "Issue" msgstr "簽發" -#: src/views/cert/CertView.vue:220 -#: src/views/cert/ObtainModal.vue:24 -#: src/views/cert/ObtainModal.vue:81 -#: src/views/website/EditView.vue:142 +#: src/views/cert/CertView.vue:220 src/views/cert/ObtainModal.vue:24 +#: src/views/cert/ObtainModal.vue:81 src/views/website/EditView.vue:142 msgid "Please wait..." msgstr "請稍候……" @@ -2900,58 +2974,52 @@ msgid "Modify Certificate" msgstr "修改證書" #: src/views/cert/CertView.vue:433 -msgid "You can automatically issue and deploy certificates by selecting any website/DNS, or manually enter domain names and set DNS resolution to issue certificates, or fill in deployment scripts to automatically deploy certificates." -msgstr "您可以通過選擇任何網站 / DNS 自動頒發和部署證書,或手動輸入域名並設置 DNS 解析以頒發證書,或填寫部署腳本以自動部署證書。" +msgid "" +"You can automatically issue and deploy certificates by selecting any website/" +"DNS, or manually enter domain names and set DNS resolution to issue " +"certificates, or fill in deployment scripts to automatically deploy " +"certificates." +msgstr "" +"您可以通過選擇任何網站 / DNS 自動頒發和部署證書,或手動輸入域名並設置 DNS 解" +"析以頒發證書,或填寫部署腳本以自動部署證書。" -#: src/views/cert/CertView.vue:458 -#: src/views/cert/CreateCertModal.vue:93 +#: src/views/cert/CertView.vue:458 src/views/cert/CreateCertModal.vue:93 msgid "Select website for certificate deployment" msgstr "選擇要部署憑證的網站" -#: src/views/cert/CertView.vue:466 -#: src/views/cert/CreateCertModal.vue:98 +#: src/views/cert/CertView.vue:466 src/views/cert/CreateCertModal.vue:98 #: src/views/cert/IndexView.vue:97 msgid "Account" msgstr "帳戶" -#: src/views/cert/CertView.vue:470 -#: src/views/cert/CreateCertModal.vue:101 +#: src/views/cert/CertView.vue:470 src/views/cert/CreateCertModal.vue:101 msgid "Select account for certificate issuance" msgstr "選擇用於憑證頒發的帳戶" -#: src/views/cert/CertView.vue:475 -#: src/views/cert/CreateCertModal.vue:106 -#: src/views/cert/CreateDnsModal.vue:59 -#: src/views/cert/DnsView.vue:196 +#: src/views/cert/CertView.vue:475 src/views/cert/CreateCertModal.vue:106 +#: src/views/cert/CreateDnsModal.vue:59 src/views/cert/DnsView.vue:196 #: src/views/cert/IndexView.vue:98 msgid "DNS" msgstr "DNS" -#: src/views/cert/CertView.vue:478 -#: src/views/cert/CreateCertModal.vue:109 +#: src/views/cert/CertView.vue:478 src/views/cert/CreateCertModal.vue:109 msgid "Select DNS for certificate issuance" msgstr "選擇用於證書頒發的 DNS" -#: src/views/cert/CertView.vue:491 -#: src/views/cert/UploadCertModal.vue:42 +#: src/views/cert/CertView.vue:491 src/views/cert/UploadCertModal.vue:42 #: src/views/website/EditView.vue:897 msgid "Enter the content of the PEM certificate file" msgstr "輸入 PEM 證書文件的內容" -#: src/views/cert/CertView.vue:498 -#: src/views/cert/CertView.vue:566 -#: src/views/cert/UploadCertModal.vue:46 -#: src/views/setting/SettingSafe.vue:297 -#: src/views/ssh/CreateModal.vue:80 -#: src/views/ssh/CreateModal.vue:91 -#: src/views/ssh/UpdateModal.vue:86 -#: src/views/ssh/UpdateModal.vue:97 +#: src/views/cert/CertView.vue:498 src/views/cert/CertView.vue:566 +#: src/views/cert/UploadCertModal.vue:46 src/views/setting/SettingSafe.vue:297 +#: src/views/ssh/CreateModal.vue:80 src/views/ssh/CreateModal.vue:91 +#: src/views/ssh/UpdateModal.vue:86 src/views/ssh/UpdateModal.vue:97 #: src/views/website/EditView.vue:901 msgid "Private Key" msgstr "私鑰" -#: src/views/cert/CertView.vue:503 -#: src/views/cert/UploadCertModal.vue:50 +#: src/views/cert/CertView.vue:503 src/views/cert/UploadCertModal.vue:50 #: src/views/website/EditView.vue:905 msgid "Enter the content of the KEY private key file" msgstr "輸入 KEY 私鑰文件的內容" @@ -2961,7 +3029,9 @@ msgid "Deployment Script" msgstr "部署腳本" #: src/views/cert/CertView.vue:516 -msgid "The {cert} and {key} in the script will be replaced with the certificate and private key content" +msgid "" +"The {cert} and {key} in the script will be replaced with the certificate and " +"private key content" msgstr "腳本中的 {cert} 和 {key} 將被替換為證書和私鑰內容" #: src/views/cert/CertView.vue:530 @@ -2976,22 +3046,24 @@ msgstr "選擇要部署證書的網站" msgid "View Certificate" msgstr "查看證書" -#: src/views/cert/CreateAccountModal.vue:64 -#: src/views/cert/IndexView.vue:110 +#: src/views/cert/CreateAccountModal.vue:64 src/views/cert/IndexView.vue:110 msgid "Create Account" msgstr "創建賬戶" -#: src/views/cert/CreateCertModal.vue:59 -#: src/views/cert/IndexView.vue:107 +#: src/views/cert/CreateCertModal.vue:59 src/views/cert/IndexView.vue:107 msgid "Create Certificate" msgstr "建立憑證" #: src/views/cert/CreateCertModal.vue:68 -msgid "You can automatically issue and deploy certificates by selecting either Website or DNS, or you can manually enter domain names and set up DNS resolution to issue certificates" -msgstr "您可以通過選擇網站或 DNS 來自動頒發和部署憑證,或者手動輸入域名並設置 DNS 解析以頒發憑證" +msgid "" +"You can automatically issue and deploy certificates by selecting either " +"Website or DNS, or you can manually enter domain names and set up DNS " +"resolution to issue certificates" +msgstr "" +"您可以通過選擇網站或 DNS 來自動頒發和部署憑證,或者手動輸入域名並設置 DNS 解" +"析以頒發憑證" -#: src/views/cert/CreateDnsModal.vue:44 -#: src/views/cert/IndexView.vue:113 +#: src/views/cert/CreateDnsModal.vue:44 src/views/cert/IndexView.vue:113 msgid "Create DNS" msgstr "創建 DNS" @@ -3003,88 +3075,71 @@ msgstr "備註名稱" msgid "Enter comment name" msgstr "輸入備註名稱" -#: src/views/cert/CreateDnsModal.vue:62 -#: src/views/cert/DnsView.vue:199 +#: src/views/cert/CreateDnsModal.vue:62 src/views/cert/DnsView.vue:199 msgid "Select DNS" msgstr "選擇 DNS" -#: src/views/cert/CreateDnsModal.vue:71 -#: src/views/cert/DnsView.vue:208 +#: src/views/cert/CreateDnsModal.vue:71 src/views/cert/DnsView.vue:208 msgid "Enter Aliyun Access Key" msgstr "輸入阿里雲 Access Key" -#: src/views/cert/CreateDnsModal.vue:78 -#: src/views/cert/DnsView.vue:215 +#: src/views/cert/CreateDnsModal.vue:78 src/views/cert/DnsView.vue:215 msgid "Enter Aliyun Secret Key" msgstr "輸入阿里雲 Secret Key" -#: src/views/cert/CreateDnsModal.vue:85 -#: src/views/cert/DnsView.vue:222 +#: src/views/cert/CreateDnsModal.vue:85 src/views/cert/DnsView.vue:222 msgid "Enter Tencent Cloud SecretId" msgstr "輸入騰訊雲 SecretId" -#: src/views/cert/CreateDnsModal.vue:92 -#: src/views/cert/DnsView.vue:229 +#: src/views/cert/CreateDnsModal.vue:92 src/views/cert/DnsView.vue:229 msgid "Enter Tencent Cloud SecretKey" msgstr "輸入騰訊雲 SecretKey" -#: src/views/cert/CreateDnsModal.vue:99 -#: src/views/cert/DnsView.vue:236 +#: src/views/cert/CreateDnsModal.vue:99 src/views/cert/DnsView.vue:236 msgid "Enter Huawei Cloud AccessKeyId" msgstr "輸入華為雲 AccessKeyId" -#: src/views/cert/CreateDnsModal.vue:106 -#: src/views/cert/DnsView.vue:243 +#: src/views/cert/CreateDnsModal.vue:106 src/views/cert/DnsView.vue:243 msgid "Enter Huawei Cloud SecretAccessKey" msgstr "輸入華為雲 SecretAccessKey" -#: src/views/cert/CreateDnsModal.vue:113 -#: src/views/cert/DnsView.vue:250 +#: src/views/cert/CreateDnsModal.vue:113 src/views/cert/DnsView.vue:250 msgid "Enter West.cn Username" msgstr "輸入西部數碼用戶名" -#: src/views/cert/CreateDnsModal.vue:120 -#: src/views/cert/DnsView.vue:257 +#: src/views/cert/CreateDnsModal.vue:120 src/views/cert/DnsView.vue:257 msgid "Enter West.cn API Password" msgstr "輸入西部數碼 API 密碼" -#: src/views/cert/CreateDnsModal.vue:127 -#: src/views/cert/DnsView.vue:264 +#: src/views/cert/CreateDnsModal.vue:127 src/views/cert/DnsView.vue:264 msgid "Enter Cloudflare API Key" msgstr "輸入 Cloudflare API 金鑰" -#: src/views/cert/CreateDnsModal.vue:134 -#: src/views/cert/DnsView.vue:271 +#: src/views/cert/CreateDnsModal.vue:134 src/views/cert/DnsView.vue:271 msgid "Enter G-Core API Key" msgstr "輸入 G-Core API 金鑰" -#: src/views/cert/CreateDnsModal.vue:141 -#: src/views/cert/DnsView.vue:278 +#: src/views/cert/CreateDnsModal.vue:141 src/views/cert/DnsView.vue:278 msgid "Enter Porkbun API Key" msgstr "輸入 Porkbun API 金鑰" -#: src/views/cert/CreateDnsModal.vue:148 -#: src/views/cert/DnsView.vue:285 +#: src/views/cert/CreateDnsModal.vue:148 src/views/cert/DnsView.vue:285 msgid "Enter Porkbun Secret Key" msgstr "輸入 Porkbun 密鑰" -#: src/views/cert/CreateDnsModal.vue:155 -#: src/views/cert/DnsView.vue:292 +#: src/views/cert/CreateDnsModal.vue:155 src/views/cert/DnsView.vue:292 msgid "Enter NameSilo API Token" msgstr "輸入 NameSilo API 令牌" -#: src/views/cert/CreateDnsModal.vue:162 -#: src/views/cert/DnsView.vue:299 +#: src/views/cert/CreateDnsModal.vue:162 src/views/cert/DnsView.vue:299 msgid "Enter ClouDNS Auth ID (use Sub Auth ID by adding sub-prefix)" msgstr "輸入 ClouDNS 認證 ID(使用子認證 ID 時添加 sub- 前綴)" -#: src/views/cert/CreateDnsModal.vue:169 -#: src/views/cert/DnsView.vue:306 +#: src/views/cert/CreateDnsModal.vue:169 src/views/cert/DnsView.vue:306 msgid "Enter ClouDNS Auth Password" msgstr "輸入 ClouDNS 認證密碼" -#: src/views/cert/DnsView.vue:31 -#: src/views/cert/DnsView.vue:189 +#: src/views/cert/DnsView.vue:31 src/views/cert/DnsView.vue:189 msgid "Note Name" msgstr "備註名稱" @@ -3100,8 +3155,7 @@ msgstr "修改 DNS" msgid "Enter note name" msgstr "輸入備註名稱" -#: src/views/cert/IndexView.vue:104 -#: src/views/cert/UploadCertModal.vue:30 +#: src/views/cert/IndexView.vue:104 src/views/cert/UploadCertModal.vue:30 msgid "Upload Certificate" msgstr "上傳證書" @@ -3117,14 +3171,15 @@ msgstr "手動" msgid "Self-signed" msgstr "自簽名" -#: src/views/cert/ObtainModal.vue:33 -#: src/views/cert/ObtainModal.vue:89 +#: src/views/cert/ObtainModal.vue:33 src/views/cert/ObtainModal.vue:89 #: src/views/cert/ObtainModal.vue:107 msgid "Issuance successful" msgstr "簽發成功" #: src/views/cert/ObtainModal.vue:42 -msgid "Please set up DNS resolution for the domain first, then continue with the issuance" +msgid "" +"Please set up DNS resolution for the domain first, then continue with the " +"issuance" msgstr "請先為域名設置 DNS 解析,然後繼續簽發" #: src/views/cert/ObtainModal.vue:48 @@ -3147,15 +3202,11 @@ msgstr "簽發證書" msgid "Issuance Mode" msgstr "簽發模式" -#: src/views/container/ComposeView.vue:91 -#: src/views/container/ImageView.vue:81 +#: src/views/container/ComposeView.vue:91 src/views/container/ImageView.vue:81 #: src/views/container/NetworkView.vue:100 -#: src/views/container/VolumeView.vue:54 -#: src/views/setting/SettingUser.vue:76 -#: src/views/setting/TokenModal.vue:34 -#: src/views/task/CronView.vue:79 -#: src/views/task/TaskView.vue:37 -#: src/views/toolbox/WebHookView.vue:121 +#: src/views/container/VolumeView.vue:54 src/views/setting/SettingUser.vue:76 +#: src/views/setting/TokenModal.vue:34 src/views/task/CronView.vue:79 +#: src/views/task/TaskView.vue:37 src/views/toolbox/WebHookView.vue:121 msgid "Creation Time" msgstr "創建時間" @@ -3201,21 +3252,10 @@ msgid "Are you sure you want to delete the selected composes?" msgstr "" #: src/views/container/ComposeView.vue:364 -#: src/views/container/ComposeView.vue:390 -#: src/views/container/IndexView.vue:23 +#: src/views/container/ComposeView.vue:390 src/views/container/IndexView.vue:23 msgid "Compose" msgstr "編排" -#: src/views/container/ComposeView.vue:371 -#: src/views/container/ComposeView.vue:397 -msgid "Variable Name" -msgstr "變數名稱" - -#: src/views/container/ComposeView.vue:372 -#: src/views/container/ComposeView.vue:398 -msgid "Variable Value" -msgstr "變數值" - #: src/views/container/ComposeView.vue:383 msgid "Edit Compose" msgstr "編輯編排" @@ -3269,10 +3309,8 @@ msgstr "鏡像" msgid "e.g., nginx:latest, mysql:8.0" msgstr "" -#: src/views/container/ContainerCreate.vue:211 -#: src/views/home/IndexView.vue:147 -#: src/views/home/IndexView.vue:834 -#: src/views/monitor/IndexView.vue:851 +#: src/views/container/ContainerCreate.vue:211 src/views/home/IndexView.vue:147 +#: src/views/home/IndexView.vue:834 src/views/monitor/IndexView.vue:851 msgid "Network" msgstr "網絡" @@ -3347,7 +3385,9 @@ msgid "Container End" msgstr "" #: src/views/container/ContainerCreate.vue:329 -msgid "All exposed ports in the image will be automatically mapped to random host ports." +msgid "" +"All exposed ports in the image will be automatically mapped to random host " +"ports." msgstr "" #: src/views/container/ContainerCreate.vue:338 @@ -3368,7 +3408,9 @@ msgid "Container path" msgstr "" #: src/views/container/ContainerCreate.vue:371 -msgid "Mount host directories or volumes into the container. Use absolute paths for host directories." +msgid "" +"Mount host directories or volumes into the container. Use absolute paths for " +"host directories." msgstr "" #: src/views/container/ContainerCreate.vue:380 @@ -3377,7 +3419,9 @@ msgid "Resource Limits" msgstr "" #: src/views/container/ContainerCreate.vue:384 -msgid "Set resource limits to prevent the container from consuming too many system resources. Set to 0 for no limit." +msgid "" +"Set resource limits to prevent the container from consuming too many system " +"resources. Set to 0 for no limit." msgstr "" #: src/views/container/ContainerCreate.vue:392 @@ -3403,12 +3447,9 @@ msgstr "CPU 份額" msgid "Resource Limit Description" msgstr "" -#: src/views/container/ContainerCreate.vue:428 -#: src/views/home/IndexView.vue:565 -#: src/views/monitor/IndexView.vue:435 -#: src/views/monitor/IndexView.vue:451 -#: src/views/monitor/IndexView.vue:728 -#: src/views/toolbox/BenchmarkView.vue:177 +#: src/views/container/ContainerCreate.vue:428 src/views/home/IndexView.vue:565 +#: src/views/monitor/IndexView.vue:435 src/views/monitor/IndexView.vue:451 +#: src/views/monitor/IndexView.vue:728 src/views/toolbox/BenchmarkView.vue:177 #: src/views/toolbox/ProcessView.vue:155 msgid "Memory" msgstr "記憶體" @@ -3418,11 +3459,15 @@ msgid "Maximum memory the container can use, in MB. 0 means no limit." msgstr "" #: src/views/container/ContainerCreate.vue:433 -msgid "Number of CPU cores the container can use. 0.5 means half a core, 2 means 2 cores." +msgid "" +"Number of CPU cores the container can use. 0.5 means half a core, 2 means 2 " +"cores." msgstr "" #: src/views/container/ContainerCreate.vue:440 -msgid "Relative CPU weight. Default is 1024. Higher values get more CPU time when competing." +msgid "" +"Relative CPU weight. Default is 1024. Higher values get more CPU time when " +"competing." msgstr "" #: src/views/container/ContainerCreate.vue:452 @@ -3504,8 +3549,7 @@ msgstr "暫停" msgid "Resume" msgstr "恢復" -#: src/views/container/ContainerView.vue:231 -#: src/views/file/ListView.vue:1534 +#: src/views/container/ContainerView.vue:231 src/views/file/ListView.vue:1534 msgid "More" msgstr "更多" @@ -3600,10 +3644,8 @@ msgstr "容器數量" #: src/views/container/ImageView.vue:105 #: src/views/container/NetworkView.vue:124 -#: src/views/container/VolumeView.vue:78 -#: src/views/firewall/ForwardView.vue:92 -#: src/views/firewall/IpRuleView.vue:134 -#: src/views/firewall/RuleView.vue:171 +#: src/views/container/VolumeView.vue:78 src/views/firewall/ForwardView.vue:92 +#: src/views/firewall/IpRuleView.vue:134 src/views/firewall/RuleView.vue:171 #: src/views/task/TaskView.vue:86 msgid "Are you sure you want to delete?" msgstr "您確定要刪除嗎?" @@ -3612,8 +3654,7 @@ msgstr "您確定要刪除嗎?" msgid "Pull successful" msgstr "拉取成功" -#: src/views/container/ImageView.vue:268 -#: src/views/container/ImageView.vue:306 +#: src/views/container/ImageView.vue:268 src/views/container/ImageView.vue:306 msgid "Pull Image" msgstr "拉取鏡像" @@ -3638,8 +3679,8 @@ msgid "Authentication" msgstr "身份驗證" #: src/views/container/ImageView.vue:400 -#: src/views/database/CreateDatabaseModal.vue:108 -#: src/views/database/CreateUserModal.vue:91 +#: src/views/database/CreateDatabaseModal.vue:120 +#: src/views/database/CreateUserModal.vue:103 #: src/views/database/UpdateUserModal.vue:61 msgid "Enter password" msgstr "輸入密碼" @@ -3658,13 +3699,11 @@ msgstr "網絡" #: src/views/container/NetworkView.vue:52 #: src/views/container/NetworkView.vue:249 -#: src/views/container/VolumeView.vue:33 -#: src/views/container/VolumeView.vue:203 +#: src/views/container/VolumeView.vue:33 src/views/container/VolumeView.vue:203 msgid "Driver" msgstr "驅動程式" -#: src/views/container/NetworkView.vue:59 -#: src/views/container/VolumeView.vue:40 +#: src/views/container/NetworkView.vue:59 src/views/container/VolumeView.vue:40 #: src/views/website/EditView.vue:959 msgid "Scope" msgstr "範圍" @@ -3744,10 +3783,8 @@ msgstr "選項名稱" msgid "Option Value" msgstr "選項值" -#: src/views/container/VolumeView.vue:47 -#: src/views/home/IndexView.vue:680 -#: src/views/toolbox/DiskView.vue:324 -#: src/views/toolbox/DiskView.vue:827 +#: src/views/container/VolumeView.vue:47 src/views/home/IndexView.vue:680 +#: src/views/toolbox/DiskView.vue:324 src/views/toolbox/DiskView.vue:827 msgid "Mount Point" msgstr "掛載點" @@ -3768,51 +3805,56 @@ msgstr "" msgid "Volume Name" msgstr "卷名稱" -#: src/views/database/CreateDatabaseModal.vue:20 -#: src/views/database/CreateUserModal.vue:20 +#: src/views/database/CreateDatabaseModal.vue:21 +#: src/views/database/CreateUserModal.vue:21 msgid "Local (localhost)" msgstr "本地 (localhost)" -#: src/views/database/CreateDatabaseModal.vue:21 -#: src/views/database/CreateUserModal.vue:21 +#: src/views/database/CreateDatabaseModal.vue:22 +#: src/views/database/CreateUserModal.vue:22 msgid "All (%)" msgstr "全部 (%)" -#: src/views/database/CreateDatabaseModal.vue:22 -#: src/views/database/CreateUserModal.vue:22 +#: src/views/database/CreateDatabaseModal.vue:23 +#: src/views/database/CreateUserModal.vue:23 msgid "Specific" msgstr "特定" -#: src/views/database/CreateDatabaseModal.vue:55 +#: src/views/database/CreateDatabaseModal.vue:66 #: src/views/database/IndexView.vue:39 msgid "Create Database" msgstr "創建數據庫" -#: src/views/database/CreateDatabaseModal.vue:67 -#: src/views/database/CreateUserModal.vue:73 +#: src/views/database/CreateDatabaseModal.vue:78 +#: src/views/database/CreateUserModal.vue:84 msgid "Select server" msgstr "選擇伺服器" -#: src/views/database/CreateDatabaseModal.vue:85 +#: src/views/database/CreateDatabaseModal.vue:96 msgid "Authorized User" msgstr "授權使用者" -#: src/views/database/CreateDatabaseModal.vue:91 +#: src/views/database/CreateDatabaseModal.vue:102 msgid "Enter authorized username (leave empty for no authorization)" msgstr "輸入授權使用者名稱(留空表示無授權)" -#: src/views/database/CreateDatabaseModal.vue:115 -#: src/views/database/CreateUserModal.vue:98 +#: src/views/database/CreateDatabaseModal.vue:123 +#: src/views/database/CreateUserModal.vue:106 +msgid "Generate" +msgstr "" + +#: src/views/database/CreateDatabaseModal.vue:131 +#: src/views/database/CreateUserModal.vue:114 msgid "Select host" msgstr "選擇主機" -#: src/views/database/CreateDatabaseModal.vue:122 -#: src/views/database/CreateUserModal.vue:102 +#: src/views/database/CreateDatabaseModal.vue:138 +#: src/views/database/CreateUserModal.vue:118 msgid "Specific Host" msgstr "特定主機" -#: src/views/database/CreateDatabaseModal.vue:128 -#: src/views/database/CreateUserModal.vue:107 +#: src/views/database/CreateDatabaseModal.vue:144 +#: src/views/database/CreateUserModal.vue:123 msgid "Enter supported host address" msgstr "輸入支持的主機地址" @@ -3832,12 +3874,9 @@ msgstr "輸入數據庫伺服器主機" #: src/views/database/CreateServerModal.vue:84 #: src/views/database/UpdateServerModal.vue:76 -#: src/views/firewall/ForwardView.vue:31 -#: src/views/firewall/RuleView.vue:48 -#: src/views/setting/SettingBase.vue:123 -#: src/views/ssh/CreateModal.vue:70 -#: src/views/ssh/UpdateModal.vue:76 -#: src/views/website/CreateModal.vue:146 +#: src/views/firewall/ForwardView.vue:31 src/views/firewall/RuleView.vue:48 +#: src/views/setting/SettingBase.vue:123 src/views/ssh/CreateModal.vue:70 +#: src/views/ssh/UpdateModal.vue:76 src/views/website/CreateModal.vue:146 msgid "Port" msgstr "端口" @@ -3861,22 +3900,22 @@ msgstr "輸入數據庫伺服器密碼" msgid "Enter database server comment" msgstr "輸入數據庫伺服器備註" -#: src/views/database/CreateUserModal.vue:65 +#: src/views/database/CreateUserModal.vue:76 #: src/views/database/UpdateUserModal.vue:51 -msgid "If the privilege databases does not exist, it will be created automatically." +msgid "" +"If the privilege databases does not exist, it will be created automatically." msgstr "如果特權數據庫不存在,將會自動創建。" -#: src/views/database/CreateUserModal.vue:94 +#: src/views/database/CreateUserModal.vue:110 msgid "Host (MySQL only)" msgstr "主機(僅限MySQL)" -#: src/views/database/CreateUserModal.vue:110 -#: src/views/database/UpdateUserModal.vue:64 -#: src/views/database/UserList.vue:98 +#: src/views/database/CreateUserModal.vue:126 +#: src/views/database/UpdateUserModal.vue:64 src/views/database/UserList.vue:98 msgid "Privileges" msgstr "權限" -#: src/views/database/CreateUserModal.vue:121 +#: src/views/database/CreateUserModal.vue:137 #: src/views/database/UpdateUserModal.vue:75 msgid "Enter database user comment" msgstr "輸入數據庫用戶備註" @@ -3889,34 +3928,40 @@ msgstr "" msgid "Are you sure you want to delete this database?" msgstr "您確定要刪除這個數據庫嗎?" -#: src/views/database/ServerList.vue:120 -#: src/views/database/UserList.vue:137 +#: src/views/database/ServerList.vue:37 +#, fuzzy +msgid "Unsupported database type" +msgstr "選擇數據庫類型" + +#: src/views/database/ServerList.vue:149 src/views/database/UserList.vue:137 msgid "Valid" msgstr "有效" -#: src/views/database/ServerList.vue:120 -#: src/views/database/UserList.vue:137 +#: src/views/database/ServerList.vue:149 src/views/database/UserList.vue:137 msgid "Invalid" msgstr "無效" -#: src/views/database/ServerList.vue:146 -#: src/views/toolbox/SystemView.vue:92 +#: src/views/database/ServerList.vue:186 src/views/toolbox/SystemView.vue:92 msgid "Synchronized successfully" msgstr "同步成功" -#: src/views/database/ServerList.vue:152 -msgid "Are you sure you want to synchronize database users (excluding password) to the panel?" +#: src/views/database/ServerList.vue:192 +msgid "" +"Are you sure you want to synchronize database users (excluding password) to " +"the panel?" msgstr "您確定要將數據庫用戶(不包括密碼)同步到面板嗎?" -#: src/views/database/ServerList.vue:164 +#: src/views/database/ServerList.vue:205 msgid "Sync" msgstr "同步" -#: src/views/database/ServerList.vue:192 -msgid "Built-in servers cannot be deleted. If you need to delete them, please uninstall the corresponding app" +#: src/views/database/ServerList.vue:233 +msgid "" +"Built-in servers cannot be deleted. If you need to delete them, please " +"uninstall the corresponding app" msgstr "內置服務器無法刪除。如果需要刪除它們,請卸載相應的應用" -#: src/views/database/ServerList.vue:203 +#: src/views/database/ServerList.vue:244 msgid "Are you sure you want to delete the server?" msgstr "您確定要刪除該服務器嗎?" @@ -3944,27 +3989,23 @@ msgstr "" msgid "China - Qiniu (goproxy.cn)" msgstr "" -#: src/views/environment/GoView.vue:19 -#: src/views/environment/PythonView.vue:18 +#: src/views/environment/GoView.vue:19 src/views/environment/PythonView.vue:18 msgid "China - Alibaba (mirrors.aliyun.com)" msgstr "" -#: src/views/environment/GoView.vue:23 -#: src/views/environment/NodejsView.vue:22 +#: src/views/environment/GoView.vue:23 src/views/environment/NodejsView.vue:22 #: src/views/environment/PythonView.vue:22 msgid "China - Tencent (mirrors.tencent.com)" msgstr "" -#: src/views/environment/GoView.vue:46 -#: src/views/environment/JavaView.vue:13 +#: src/views/environment/GoView.vue:46 src/views/environment/JavaView.vue:13 #: src/views/environment/NodejsView.vue:49 #: src/views/environment/PHPView.vue:136 #: src/views/environment/PythonView.vue:53 msgid "Set successfully" msgstr "設置成功" -#: src/views/environment/GoView.vue:64 -#: src/views/environment/JavaView.vue:27 +#: src/views/environment/GoView.vue:64 src/views/environment/JavaView.vue:27 #: src/views/environment/NodejsView.vue:67 #: src/views/environment/PHPView.vue:201 #: src/views/environment/PythonView.vue:71 @@ -3976,7 +4017,9 @@ msgid "Proxy Settings" msgstr "" #: src/views/environment/GoView.vue:74 -msgid "GOPROXY is used to configure the Go module proxy. Using a domestic mirror can speed up dependency downloads." +msgid "" +"GOPROXY is used to configure the Go module proxy. Using a domestic mirror " +"can speed up dependency downloads." msgstr "" #: src/views/environment/GoView.vue:79 @@ -3988,7 +4031,9 @@ msgid "Select or enter proxy address" msgstr "" #: src/views/environment/JavaView.vue:31 -msgid "Amazon Corretto is a no-cost, multiplatform, production-ready distribution of the Open Java Development Kit (OpenJDK)." +msgid "" +"Amazon Corretto is a no-cost, multiplatform, production-ready distribution " +"of the Open Java Development Kit (OpenJDK)." msgstr "" #: src/views/environment/NodejsView.vue:16 @@ -4008,7 +4053,9 @@ msgid "Registry Settings" msgstr "" #: src/views/environment/NodejsView.vue:77 -msgid "npm registry is used to configure the npm package source. Using a domestic mirror can speed up package downloads." +msgid "" +"npm registry is used to configure the npm package source. Using a domestic " +"mirror can speed up package downloads." msgstr "" #: src/views/environment/NodejsView.vue:82 @@ -4031,8 +4078,7 @@ msgstr "您確定要安裝 %{ name } 嗎?" msgid "Are you sure you want to uninstall %{ name }?" msgstr "您確定要卸載 %{ name } 嗎?" -#: src/views/environment/PHPView.vue:178 -#: src/views/environment/PHPView.vue:184 +#: src/views/environment/PHPView.vue:178 src/views/environment/PHPView.vue:184 msgid "Task submitted, please check progress in background tasks" msgstr "任務已提交,請在後台任務中查看進度" @@ -4041,16 +4087,24 @@ msgid "View PHPInfo" msgstr "" #: src/views/environment/PHPView.vue:229 -msgid "This modifies the PHP %{ version } main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 PHP %{ version } 的主配置文件。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the PHP %{ version } main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 PHP %{ version } 的主配置文件。如果您不了解每個參數的含義,請不要隨" +"意修改!" #: src/views/environment/PHPView.vue:243 msgid "FPM Configuration" msgstr "FPM 配置" #: src/views/environment/PHPView.vue:247 -msgid "This modifies the PHP %{ version } FPM configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 PHP %{ version } 的 FPM 配置文件。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the PHP %{ version } FPM configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 PHP %{ version } 的 FPM 配置文件。如果您不了解每個參數的含義,請不要" +"隨意修改!" #: src/views/environment/PHPView.vue:300 msgid "PHPInfo" @@ -4073,7 +4127,9 @@ msgid "Mirror Settings" msgstr "" #: src/views/environment/PythonView.vue:81 -msgid "pip mirror is used to configure the Python package source. Using a domestic mirror can speed up package downloads." +msgid "" +"pip mirror is used to configure the Python package source. Using a domestic " +"mirror can speed up package downloads." msgstr "" #: src/views/environment/PythonView.vue:86 @@ -4100,12 +4156,9 @@ msgstr "壓縮中……" msgid "Compressed successfully" msgstr "壓縮成功" -#: src/views/file/CompressModal.vue:73 -#: src/views/file/CompressModal.vue:105 -#: src/views/file/ListView.vue:291 -#: src/views/file/ListView.vue:327 -#: src/views/file/ListView.vue:925 -#: src/views/file/ListView.vue:1497 +#: src/views/file/CompressModal.vue:73 src/views/file/CompressModal.vue:105 +#: src/views/file/ListView.vue:291 src/views/file/ListView.vue:327 +#: src/views/file/ListView.vue:925 src/views/file/ListView.vue:1497 #: src/views/file/ToolBar.vue:267 msgid "Compress" msgstr "壓縮" @@ -4126,72 +4179,60 @@ msgstr "格式" msgid "File Editor" msgstr "" -#: src/views/file/ListView.vue:239 -#: src/views/file/ListView.vue:693 -#: src/views/file/ListView.vue:761 -#: src/views/file/ListView.vue:809 +#: src/views/file/ListView.vue:239 src/views/file/ListView.vue:693 +#: src/views/file/ListView.vue:761 src/views/file/ListView.vue:809 #: src/views/file/ToolBar.vue:113 msgid "Warning" msgstr "警告" #: src/views/file/ListView.vue:240 -msgid "%{ name } has immutable attribute. The panel will temporarily remove the immutable attribute, perform the operation, and then restore the immutable attribute. Do you want to continue?" +msgid "" +"%{ name } has immutable attribute. The panel will temporarily remove the " +"immutable attribute, perform the operation, and then restore the immutable " +"attribute. Do you want to continue?" msgstr "" -#: src/views/file/ListView.vue:244 -#: src/views/file/UploadModal.vue:334 +#: src/views/file/ListView.vue:244 src/views/file/UploadModal.vue:334 #: src/views/file/UploadModal.vue:443 msgid "Continue" msgstr "" -#: src/views/file/ListView.vue:290 -#: src/views/file/ListView.vue:324 -#: src/views/file/ListView.vue:923 -#: src/views/file/ToolBar.vue:266 +#: src/views/file/ListView.vue:290 src/views/file/ListView.vue:324 +#: src/views/file/ListView.vue:923 src/views/file/ToolBar.vue:266 msgid "Move" msgstr "移動" -#: src/views/file/ListView.vue:292 -#: src/views/file/ListView.vue:325 -#: src/views/file/ListView.vue:924 -#: src/views/file/ListView.vue:1315 -#: src/views/file/PermissionModal.vue:144 -#: src/views/file/PropertyModal.vue:42 +#: src/views/file/ListView.vue:292 src/views/file/ListView.vue:325 +#: src/views/file/ListView.vue:924 src/views/file/ListView.vue:1315 +#: src/views/file/PermissionModal.vue:144 src/views/file/PropertyModal.vue:42 #: src/views/file/ToolBar.vue:268 msgid "Permission" msgstr "權限" -#: src/views/file/ListView.vue:297 -#: src/views/file/ListView.vue:347 +#: src/views/file/ListView.vue:297 src/views/file/ListView.vue:347 #: src/views/file/ToolBar.vue:262 msgid "Paste" msgstr "貼上" -#: src/views/file/ListView.vue:309 -#: src/views/file/ListView.vue:1484 +#: src/views/file/ListView.vue:309 src/views/file/ListView.vue:1484 msgid "Open" msgstr "開啟" -#: src/views/file/ListView.vue:311 -#: src/views/file/ListView.vue:1503 +#: src/views/file/ListView.vue:311 src/views/file/ListView.vue:1503 msgid "Preview" msgstr "預覽" -#: src/views/file/ListView.vue:313 -#: src/views/file/ListView.vue:331 -#: src/views/file/ListView.vue:930 -#: src/views/file/ListView.vue:1614 +#: src/views/file/ListView.vue:313 src/views/file/ListView.vue:331 +#: src/views/file/ListView.vue:930 src/views/file/ListView.vue:1614 msgid "Uncompress" msgstr "解壓縮" -#: src/views/file/ListView.vue:342 -#: src/views/file/ListView.vue:940 +#: src/views/file/ListView.vue:342 src/views/file/ListView.vue:940 #: src/views/file/PropertyModal.vue:11 msgid "Properties" msgstr "" -#: src/views/file/ListView.vue:604 -#: src/views/file/ToolBar.vue:62 +#: src/views/file/ListView.vue:604 src/views/file/ToolBar.vue:62 #: src/views/file/ToolBar.vue:79 msgid "Marked successfully, please navigate to the destination path to paste" msgstr "標記成功,請導航到目標路徑進行粘貼" @@ -4200,14 +4241,12 @@ msgstr "標記成功,請導航到目標路徑進行粘貼" msgid "There are items with the same name. Do you want to overwrite?" msgstr "存在同名項目。您要覆蓋嗎?" -#: src/views/file/ListView.vue:695 -#: src/views/file/ListView.vue:819 +#: src/views/file/ListView.vue:695 src/views/file/ListView.vue:819 #: src/views/file/ToolBar.vue:123 msgid "Overwrite" msgstr "覆蓋" -#: src/views/file/ListView.vue:702 -#: src/views/file/ListView.vue:721 +#: src/views/file/ListView.vue:702 src/views/file/ListView.vue:721 msgid "Renamed %{ source } to %{ target } successfully" msgstr "成功將 %{ source } 重命名為 %{ target }" @@ -4223,25 +4262,20 @@ msgstr "" msgid "Path copied to clipboard" msgstr "" -#: src/views/file/ListView.vue:788 -#: src/views/file/ToolBar.vue:89 +#: src/views/file/ListView.vue:788 src/views/file/ToolBar.vue:89 msgid "Please mark the files/folders to copy or move first" msgstr "請先標記要複製或移動的文件/文件夾" -#: src/views/file/ListView.vue:810 -#: src/views/file/ToolBar.vue:114 +#: src/views/file/ListView.vue:810 src/views/file/ToolBar.vue:114 msgid "There are items with the same name %{ items } Do you want to overwrite?" msgstr "" -#: src/views/file/ListView.vue:832 -#: src/views/file/ListView.vue:852 -#: src/views/file/ToolBar.vue:136 -#: src/views/file/ToolBar.vue:156 +#: src/views/file/ListView.vue:832 src/views/file/ListView.vue:852 +#: src/views/file/ToolBar.vue:136 src/views/file/ToolBar.vue:156 msgid "Moved successfully" msgstr "移動成功" -#: src/views/file/ListView.vue:838 -#: src/views/file/ToolBar.vue:142 +#: src/views/file/ListView.vue:838 src/views/file/ToolBar.vue:142 msgid "Canceled" msgstr "已取消" @@ -4281,8 +4315,7 @@ msgstr "解壓 - %{ file }" msgid "Uncompress to" msgstr "解壓到" -#: src/views/file/ListView.vue:1622 -#: src/views/file/ToolBar.vue:305 +#: src/views/file/ListView.vue:1622 src/views/file/ToolBar.vue:305 msgid "Terminal - %{ path }" msgstr "" @@ -4315,27 +4348,22 @@ msgid "Modify permissions - %{ path }" msgstr "修改權限 - %{ path }" #: src/views/file/PermissionModal.vue:117 -#: src/views/file/PermissionModal.vue:147 -#: src/views/file/PropertyModal.vue:45 +#: src/views/file/PermissionModal.vue:147 src/views/file/PropertyModal.vue:45 msgid "Owner" msgstr "擁有者" #: src/views/file/PermissionModal.vue:119 #: src/views/file/PermissionModal.vue:128 -#: src/views/file/PermissionModal.vue:137 -#: src/views/home/IndexView.vue:171 -#: src/views/home/IndexView.vue:187 -#: src/views/home/IndexView.vue:879 +#: src/views/file/PermissionModal.vue:137 src/views/home/IndexView.vue:171 +#: src/views/home/IndexView.vue:187 src/views/home/IndexView.vue:879 #: src/views/monitor/IndexView.vue:535 msgid "Read" msgstr "讀取" #: src/views/file/PermissionModal.vue:120 #: src/views/file/PermissionModal.vue:129 -#: src/views/file/PermissionModal.vue:138 -#: src/views/home/IndexView.vue:171 -#: src/views/home/IndexView.vue:211 -#: src/views/home/IndexView.vue:880 +#: src/views/file/PermissionModal.vue:138 src/views/home/IndexView.vue:171 +#: src/views/home/IndexView.vue:211 src/views/home/IndexView.vue:880 #: src/views/monitor/IndexView.vue:544 msgid "Write" msgstr "寫入" @@ -4390,8 +4418,7 @@ msgstr "請選擇要移動的文件/文件夾" msgid "Sort" msgstr "" -#: src/views/file/ToolBar.vue:233 -#: src/views/file/ToolBar.vue:284 +#: src/views/file/ToolBar.vue:233 src/views/file/ToolBar.vue:284 msgid "Remote Download" msgstr "遠程下載" @@ -4415,19 +4442,18 @@ msgstr "下載 URL" msgid "Save as" msgstr "另存為" -#: src/views/file/UploadModal.vue:301 -#: src/views/file/UploadModal.vue:403 +#: src/views/file/UploadModal.vue:301 src/views/file/UploadModal.vue:403 msgid "Upload %{ fileName } successful" msgstr "上傳 %{ fileName } 成功" -#: src/views/file/UploadModal.vue:329 -#: src/views/file/UploadModal.vue:438 +#: src/views/file/UploadModal.vue:329 src/views/file/UploadModal.vue:438 msgid "Confirm Upload" msgstr "" -#: src/views/file/UploadModal.vue:330 -#: src/views/file/UploadModal.vue:439 -msgid "You are about to upload %{count} files. This may take a while. Do you want to continue?" +#: src/views/file/UploadModal.vue:330 src/views/file/UploadModal.vue:439 +msgid "" +"You are about to upload %{count} files. This may take a while. Do you want " +"to continue?" msgstr "" #: src/views/file/UploadModal.vue:475 @@ -4435,7 +4461,8 @@ msgid "Preparing..." msgstr "" #: src/views/file/UploadModal.vue:493 -msgid "For large files, it is recommended to use SFTP and other methods to upload" +msgid "" +"For large files, it is recommended to use SFTP and other methods to upload" msgstr "對於大檔案,建議使用 SFTP 等方法上傳" #: src/views/firewall/CreateForwardModal.vue:50 @@ -4445,10 +4472,8 @@ msgstr "創建轉發" #: src/views/firewall/CreateForwardModal.vue:58 #: src/views/firewall/CreateIpModal.vue:100 -#: src/views/firewall/CreateModal.vue:112 -#: src/views/firewall/ForwardView.vue:14 -#: src/views/firewall/IpRuleView.vue:14 -#: src/views/firewall/RuleView.vue:14 +#: src/views/firewall/CreateModal.vue:112 src/views/firewall/ForwardView.vue:14 +#: src/views/firewall/IpRuleView.vue:14 src/views/firewall/RuleView.vue:14 msgid "Transport Protocol" msgstr "傳輸協議" @@ -4467,36 +4492,31 @@ msgid "Target Port" msgstr "目標端口" #: src/views/firewall/CreateIpModal.vue:38 -#: src/views/firewall/CreateModal.vue:38 -#: src/views/firewall/IpRuleView.vue:68 +#: src/views/firewall/CreateModal.vue:38 src/views/firewall/IpRuleView.vue:68 #: src/views/firewall/RuleView.vue:102 msgid "Accept" msgstr "接受" #: src/views/firewall/CreateIpModal.vue:42 -#: src/views/firewall/CreateModal.vue:42 -#: src/views/firewall/IpRuleView.vue:70 +#: src/views/firewall/CreateModal.vue:42 src/views/firewall/IpRuleView.vue:70 #: src/views/firewall/RuleView.vue:104 msgid "Drop" msgstr "丟棄" #: src/views/firewall/CreateIpModal.vue:46 -#: src/views/firewall/CreateModal.vue:46 -#: src/views/firewall/IpRuleView.vue:72 +#: src/views/firewall/CreateModal.vue:46 src/views/firewall/IpRuleView.vue:72 #: src/views/firewall/RuleView.vue:106 msgid "Reject" msgstr "拒絕" #: src/views/firewall/CreateIpModal.vue:53 -#: src/views/firewall/CreateModal.vue:53 -#: src/views/firewall/IpRuleView.vue:97 +#: src/views/firewall/CreateModal.vue:53 src/views/firewall/IpRuleView.vue:97 #: src/views/firewall/RuleView.vue:131 msgid "Inbound" msgstr "入站" #: src/views/firewall/CreateIpModal.vue:57 -#: src/views/firewall/CreateModal.vue:57 -#: src/views/firewall/IpRuleView.vue:99 +#: src/views/firewall/CreateModal.vue:57 src/views/firewall/IpRuleView.vue:99 #: src/views/firewall/RuleView.vue:133 msgid "Outbound" msgstr "出站" @@ -4507,15 +4527,13 @@ msgid "%{ address } created successfully" msgstr "%{ address } 創建成功" #: src/views/firewall/CreateIpModal.vue:92 -#: src/views/firewall/CreateModal.vue:104 -#: src/views/firewall/IpRuleView.vue:205 +#: src/views/firewall/CreateModal.vue:104 src/views/firewall/IpRuleView.vue:205 #: src/views/firewall/RuleView.vue:242 msgid "Create Rule" msgstr "創建規則" #: src/views/firewall/CreateIpModal.vue:103 -#: src/views/firewall/CreateModal.vue:115 -#: src/views/firewall/IpRuleView.vue:31 +#: src/views/firewall/CreateModal.vue:115 src/views/firewall/IpRuleView.vue:31 #: src/views/firewall/RuleView.vue:31 msgid "Network Protocol" msgstr "網路協議" @@ -4530,15 +4548,13 @@ msgid "IP or IP range: 172.16.0.1 or 172.16.0.0/16" msgstr "IP 或 IP 範圍:172.16.0.1 或 172.16.0.0/16" #: src/views/firewall/CreateIpModal.vue:113 -#: src/views/firewall/CreateModal.vue:147 -#: src/views/firewall/IpRuleView.vue:48 +#: src/views/firewall/CreateModal.vue:147 src/views/firewall/IpRuleView.vue:48 #: src/views/firewall/RuleView.vue:82 msgid "Strategy" msgstr "策略" #: src/views/firewall/CreateIpModal.vue:116 -#: src/views/firewall/CreateModal.vue:150 -#: src/views/firewall/IpRuleView.vue:84 +#: src/views/firewall/CreateModal.vue:150 src/views/firewall/IpRuleView.vue:84 #: src/views/firewall/RuleView.vue:118 msgid "Direction" msgstr "方向" @@ -4551,26 +4567,22 @@ msgstr "起始端口" msgid "End Port" msgstr "結束連接埠" -#: src/views/firewall/CreateModal.vue:140 -#: src/views/firewall/IpRuleView.vue:109 +#: src/views/firewall/CreateModal.vue:140 src/views/firewall/IpRuleView.vue:109 #: src/views/firewall/RuleView.vue:143 msgid "Target" msgstr "目標" -#: src/views/firewall/ForwardView.vue:135 -#: src/views/firewall/IpRuleView.vue:177 +#: src/views/firewall/ForwardView.vue:135 src/views/firewall/IpRuleView.vue:177 #: src/views/firewall/RuleView.vue:214 msgid "Please select rules to delete" msgstr "請選擇要刪除的規則" -#: src/views/firewall/ForwardView.vue:168 -#: src/views/firewall/IpRuleView.vue:210 +#: src/views/firewall/ForwardView.vue:168 src/views/firewall/IpRuleView.vue:210 #: src/views/firewall/RuleView.vue:247 msgid "Batch Delete" msgstr "批量刪除" -#: src/views/firewall/ForwardView.vue:171 -#: src/views/firewall/IpRuleView.vue:213 +#: src/views/firewall/ForwardView.vue:171 src/views/firewall/IpRuleView.vue:213 #: src/views/firewall/RuleView.vue:250 msgid "Are you sure you want to batch delete?" msgstr "您確定要批量刪除嗎?" @@ -4587,8 +4599,7 @@ msgstr "IP 規則" msgid "Port Forwarding" msgstr "連接埠轉發" -#: src/views/firewall/IpRuleView.vue:74 -#: src/views/firewall/RuleView.vue:108 +#: src/views/firewall/IpRuleView.vue:74 src/views/firewall/RuleView.vue:108 msgid "Mark" msgstr "標記" @@ -4600,8 +4611,7 @@ msgstr "使用中" msgid "Not Used" msgstr "未使用" -#: src/views/firewall/SettingView.vue:27 -#: src/views/firewall/SettingView.vue:33 +#: src/views/firewall/SettingView.vue:27 src/views/firewall/SettingView.vue:33 #: src/views/firewall/SettingView.vue:39 msgid "Settings saved successfully" msgstr "設置保存成功" @@ -4618,8 +4628,7 @@ msgstr "SSH 開關" msgid "Allow Ping" msgstr "允許 Ping" -#: src/views/firewall/SettingView.vue:55 -#: src/views/toolbox/SshView.vue:231 +#: src/views/firewall/SettingView.vue:55 src/views/toolbox/SshView.vue:231 msgid "SSH Port" msgstr "SSH 連接埠" @@ -4643,22 +4652,17 @@ msgstr "運行正常" msgid "Running smoothly" msgstr "運行流暢" -#: src/views/home/IndexView.vue:147 -#: src/views/home/IndexView.vue:835 -#: src/views/home/IndexView.vue:855 -#: src/views/toolbox/BenchmarkView.vue:203 -#: src/views/toolbox/DiskView.vue:803 -#: src/views/toolbox/IndexView.vue:26 +#: src/views/home/IndexView.vue:147 src/views/home/IndexView.vue:835 +#: src/views/home/IndexView.vue:855 src/views/toolbox/BenchmarkView.vue:203 +#: src/views/toolbox/DiskView.vue:803 src/views/toolbox/IndexView.vue:26 msgid "Disk" msgstr "磁碟" -#: src/views/home/IndexView.vue:170 -#: src/views/home/IndexView.vue:187 +#: src/views/home/IndexView.vue:170 src/views/home/IndexView.vue:187 msgid "Send" msgstr "發送" -#: src/views/home/IndexView.vue:170 -#: src/views/home/IndexView.vue:211 +#: src/views/home/IndexView.vue:170 src/views/home/IndexView.vue:211 msgid "Receive" msgstr "接收" @@ -4666,26 +4670,20 @@ msgstr "接收" msgid "Unit %{unit}" msgstr "單位 %{unit}" -#: src/views/home/IndexView.vue:193 -#: src/views/home/IndexView.vue:217 -#: src/views/monitor/IndexView.vue:361 -#: src/views/monitor/IndexView.vue:414 +#: src/views/home/IndexView.vue:193 src/views/home/IndexView.vue:217 +#: src/views/monitor/IndexView.vue:361 src/views/monitor/IndexView.vue:414 #: src/views/monitor/IndexView.vue:460 msgid "Maximum" msgstr "最大值" -#: src/views/home/IndexView.vue:194 -#: src/views/home/IndexView.vue:218 -#: src/views/monitor/IndexView.vue:362 -#: src/views/monitor/IndexView.vue:415 +#: src/views/home/IndexView.vue:194 src/views/home/IndexView.vue:218 +#: src/views/monitor/IndexView.vue:362 src/views/monitor/IndexView.vue:415 #: src/views/monitor/IndexView.vue:461 msgid "Minimum" msgstr "最小值" -#: src/views/home/IndexView.vue:198 -#: src/views/home/IndexView.vue:222 -#: src/views/monitor/IndexView.vue:366 -#: src/views/monitor/IndexView.vue:419 +#: src/views/home/IndexView.vue:198 src/views/home/IndexView.vue:222 +#: src/views/monitor/IndexView.vue:366 src/views/monitor/IndexView.vue:419 #: src/views/monitor/IndexView.vue:465 msgid "Average" msgstr "平均值" @@ -4703,15 +4701,20 @@ msgid "Current version is the latest" msgstr "當前版本是最新版本" #: src/views/home/IndexView.vue:426 -msgid "Your operating system %{ os_name } has reached its end-of-life. Please consider upgrading to a supported version to ensure optimal performance and security." +msgid "" +"Your operating system %{ os_name } has reached its end-of-life. Please " +"consider upgrading to a supported version to ensure optimal performance and " +"security." msgstr "" #: src/views/home/IndexView.vue:437 -msgid "Your operating system %{ os_name } is not officially supported. Some features may not work as expected. Please consider using a supported operating system for the best experience." +msgid "" +"Your operating system %{ os_name } is not officially supported. Some " +"features may not work as expected. Please consider using a supported " +"operating system for the best experience." msgstr "" -#: src/views/home/IndexView.vue:462 -#: src/views/task/IndexView.vue:23 +#: src/views/home/IndexView.vue:462 src/views/task/IndexView.vue:23 msgid "Scheduled Tasks" msgstr "計劃任務" @@ -4739,8 +4742,7 @@ msgstr "最近 5 分鐘" msgid "Last 15 minutes" msgstr "最近 15 分鐘" -#: src/views/home/IndexView.vue:536 -#: src/views/home/IndexView.vue:548 +#: src/views/home/IndexView.vue:536 src/views/home/IndexView.vue:548 msgid "cores" msgstr "核心" @@ -4756,8 +4758,7 @@ msgstr "參數" msgid "cache" msgstr "快取" -#: src/views/home/IndexView.vue:555 -#: src/views/monitor/IndexView.vue:405 +#: src/views/home/IndexView.vue:555 src/views/monitor/IndexView.vue:405 #: src/views/toolbox/DiskView.vue:301 msgid "Usage" msgstr "使用率" @@ -4770,12 +4771,11 @@ msgstr "頻率" msgid "Active" msgstr "活躍" -#: src/views/home/IndexView.vue:584 +#: src/views/home/IndexView.vue:584 src/views/project/ListView.vue:73 msgid "Inactive" msgstr "非活躍" -#: src/views/home/IndexView.vue:590 -#: src/views/toolbox/DiskView.vue:254 +#: src/views/home/IndexView.vue:590 src/views/toolbox/DiskView.vue:254 msgid "Free" msgstr "空閒" @@ -4847,8 +4847,7 @@ msgstr "您尚未設置任何要在此處顯示的應用!" msgid "Environment Information" msgstr "環境資訊" -#: src/views/home/IndexView.vue:768 -#: src/views/toolbox/SystemView.vue:183 +#: src/views/home/IndexView.vue:768 src/views/toolbox/SystemView.vue:183 msgid "System Hostname" msgstr "系統主機名" @@ -4936,15 +4935,12 @@ msgstr "立即更新" msgid "Loading update information, please wait a moment" msgstr "正在加載更新資訊,請稍候" -#: src/views/log/DatabaseLog.vue:31 -#: src/views/log/HttpLog.vue:39 -#: src/views/log/OperationLog.vue:34 -#: src/views/toolbox/SystemView.vue:197 +#: src/views/log/DatabaseLog.vue:31 src/views/log/HttpLog.vue:39 +#: src/views/log/OperationLog.vue:34 src/views/toolbox/SystemView.vue:197 msgid "Time" msgstr "時間" -#: src/views/log/DatabaseLog.vue:40 -#: src/views/log/OperationLog.vue:43 +#: src/views/log/DatabaseLog.vue:40 src/views/log/OperationLog.vue:43 msgid "Level" msgstr "" @@ -4952,8 +4948,7 @@ msgstr "" msgid "Query" msgstr "" -#: src/views/log/DatabaseLog.vue:64 -#: src/views/log/HttpLog.vue:86 +#: src/views/log/DatabaseLog.vue:64 src/views/log/HttpLog.vue:86 msgid "Duration" msgstr "" @@ -4961,8 +4956,7 @@ msgstr "" msgid "Rows" msgstr "" -#: src/views/log/DatabaseLog.vue:95 -#: src/views/log/HttpLog.vue:120 +#: src/views/log/DatabaseLog.vue:95 src/views/log/HttpLog.vue:120 #: src/views/log/OperationLog.vue:93 msgid "Show entries" msgstr "" @@ -4991,8 +4985,7 @@ msgstr "" msgid "Operator" msgstr "" -#: src/views/log/OperationLog.vue:70 -#: src/views/toolbox/IndexView.vue:24 +#: src/views/log/OperationLog.vue:70 src/views/toolbox/IndexView.vue:24 msgid "System" msgstr "系統" @@ -5009,7 +5002,8 @@ msgid "Please enter captcha code" msgstr "" #: src/views/login/IndexView.vue:77 -msgid "Failed to get encryption public key, please refresh the page and try again" +msgid "" +"Failed to get encryption public key, please refresh the page and try again" msgstr "獲取加密公鑰失敗,請刷新頁面後重試" #: src/views/login/IndexView.vue:92 @@ -5052,8 +5046,7 @@ msgstr "" msgid "Unit MB" msgstr "單位 MB" -#: src/views/monitor/IndexView.vue:573 -#: src/views/monitor/IndexView.vue:579 +#: src/views/monitor/IndexView.vue:573 src/views/monitor/IndexView.vue:579 msgid "Operation successful" msgstr "操作成功" @@ -5073,8 +5066,7 @@ msgstr "天" msgid "Clear Monitoring Records" msgstr "清除監控記錄" -#: src/views/monitor/IndexView.vue:611 -#: src/views/website/EditView.vue:1024 +#: src/views/monitor/IndexView.vue:611 src/views/website/EditView.vue:1024 msgid "Are you sure you want to clear?" msgstr "確定要清除嗎?" @@ -5082,26 +5074,20 @@ msgstr "確定要清除嗎?" msgid "Load" msgstr "負載" -#: src/views/monitor/IndexView.vue:628 -#: src/views/monitor/IndexView.vue:682 -#: src/views/monitor/IndexView.vue:734 -#: src/views/monitor/IndexView.vue:790 +#: src/views/monitor/IndexView.vue:628 src/views/monitor/IndexView.vue:682 +#: src/views/monitor/IndexView.vue:734 src/views/monitor/IndexView.vue:790 #: src/views/monitor/IndexView.vue:857 msgid "Yesterday" msgstr "" -#: src/views/monitor/IndexView.vue:634 -#: src/views/monitor/IndexView.vue:688 -#: src/views/monitor/IndexView.vue:740 -#: src/views/monitor/IndexView.vue:796 +#: src/views/monitor/IndexView.vue:634 src/views/monitor/IndexView.vue:688 +#: src/views/monitor/IndexView.vue:740 src/views/monitor/IndexView.vue:796 #: src/views/monitor/IndexView.vue:863 msgid "Today" msgstr "" -#: src/views/monitor/IndexView.vue:640 -#: src/views/monitor/IndexView.vue:694 -#: src/views/monitor/IndexView.vue:746 -#: src/views/monitor/IndexView.vue:802 +#: src/views/monitor/IndexView.vue:640 src/views/monitor/IndexView.vue:694 +#: src/views/monitor/IndexView.vue:746 src/views/monitor/IndexView.vue:802 #: src/views/monitor/IndexView.vue:869 msgid "Last 7 Days" msgstr "" @@ -5146,28 +5132,26 @@ msgstr "" msgid "Create Python Project" msgstr "" -#: src/views/project/CreateModal.vue:299 -#: src/views/project/ListView.vue:213 +#: src/views/project/CreateModal.vue:299 src/views/project/ListView.vue:253 msgid "Create Project" msgstr "" -#: src/views/project/CreateModal.vue:315 -#: src/views/project/EditModal.vue:179 +#: src/views/project/CreateModal.vue:315 src/views/project/EditModal.vue:179 msgid "Project Name" msgstr "" -#: src/views/project/CreateModal.vue:320 -#: src/views/project/EditModal.vue:184 +#: src/views/project/CreateModal.vue:320 src/views/project/EditModal.vue:184 msgid "Project name, used as service identifier" msgstr "" -#: src/views/project/CreateModal.vue:324 -#: src/views/project/EditModal.vue:198 +#: src/views/project/CreateModal.vue:324 src/views/project/EditModal.vue:198 msgid "Project Directory" msgstr "" #: src/views/project/CreateModal.vue:331 -msgid "Project root directory (if left empty, defaults to project directory/project name)" +msgid "" +"Project root directory (if left empty, defaults to project directory/project " +"name)" msgstr "" #: src/views/project/CreateModal.vue:346 @@ -5198,17 +5182,13 @@ msgstr "" msgid "Select Java Version" msgstr "" -#: src/views/project/CreateModal.vue:399 -#: src/views/project/CreateModal.vue:425 -#: src/views/project/CreateModal.vue:451 -#: src/views/project/CreateModal.vue:477 +#: src/views/project/CreateModal.vue:399 src/views/project/CreateModal.vue:425 +#: src/views/project/CreateModal.vue:451 src/views/project/CreateModal.vue:477 msgid "Framework" msgstr "" -#: src/views/project/CreateModal.vue:403 -#: src/views/project/CreateModal.vue:429 -#: src/views/project/CreateModal.vue:455 -#: src/views/project/CreateModal.vue:481 +#: src/views/project/CreateModal.vue:403 src/views/project/CreateModal.vue:429 +#: src/views/project/CreateModal.vue:455 src/views/project/CreateModal.vue:481 msgid "Select Framework" msgstr "" @@ -5220,14 +5200,12 @@ msgstr "" msgid "Select Node.js Version" msgstr "" -#: src/views/project/CreateModal.vue:441 -#: src/views/website/CreateModal.vue:158 +#: src/views/project/CreateModal.vue:441 src/views/website/CreateModal.vue:158 #: src/views/website/EditView.vue:481 msgid "PHP Version" msgstr "PHP 版本" -#: src/views/project/CreateModal.vue:445 -#: src/views/website/CreateModal.vue:162 +#: src/views/project/CreateModal.vue:445 src/views/website/CreateModal.vue:162 #: src/views/website/EditView.vue:486 msgid "Select PHP Version" msgstr "選擇 PHP 版本" @@ -5240,8 +5218,7 @@ msgstr "" msgid "Select Python Version" msgstr "" -#: src/views/project/CreateModal.vue:497 -#: src/views/project/EditModal.vue:240 +#: src/views/project/CreateModal.vue:497 src/views/project/EditModal.vue:240 msgid "Select User" msgstr "" @@ -5249,8 +5226,7 @@ msgstr "" msgid "Select www user if no special requirements" msgstr "" -#: src/views/project/CreateModal.vue:512 -#: src/views/project/EditModal.vue:255 +#: src/views/project/CreateModal.vue:512 src/views/project/EditModal.vue:255 msgid "e.g., php artisan serve, node app.js" msgstr "" @@ -5286,8 +5262,7 @@ msgstr "" msgid "File (truncate)" msgstr "" -#: src/views/project/EditModal.vue:72 -#: src/views/setting/SettingSafe.vue:262 +#: src/views/project/EditModal.vue:72 src/views/setting/SettingSafe.vue:262 msgid "Disabled" msgstr "" @@ -5384,7 +5359,9 @@ msgid "Dependencies" msgstr "" #: src/views/project/EditModal.vue:404 -msgid "Configure service dependencies to control startup order. Common services: network.target, mysql.service, redis.service" +msgid "" +"Configure service dependencies to control startup order. Common services: " +"network.target, mysql.service, redis.service" msgstr "" #: src/views/project/EditModal.vue:410 @@ -5420,7 +5397,9 @@ msgid "Start this service before the specified services" msgstr "" #: src/views/project/EditModal.vue:455 -msgid "Set resource limits to prevent the service from consuming too many system resources" +msgid "" +"Set resource limits to prevent the service from consuming too many system " +"resources" msgstr "" #: src/views/project/EditModal.vue:463 @@ -5452,7 +5431,9 @@ msgid "Security Settings" msgstr "" #: src/views/project/EditModal.vue:502 -msgid "Security settings can enhance service isolation but may affect functionality. Please test thoroughly before enabling." +msgid "" +"Security settings can enhance service isolation but may affect " +"functionality. Please test thoroughly before enabling." msgstr "" #: src/views/project/EditModal.vue:508 @@ -5476,7 +5457,9 @@ msgid "Protect System" msgstr "" #: src/views/project/EditModal.vue:537 -msgid "true: /usr, /boot read-only; full: + /etc read-only; strict: entire filesystem read-only" +msgid "" +"true: /usr, /boot read-only; full: + /etc read-only; strict: entire " +"filesystem read-only" msgstr "" #: src/views/project/EditModal.vue:545 @@ -5499,8 +5482,7 @@ msgstr "" msgid "Paths that the service can only read from" msgstr "" -#: src/views/project/IndexView.vue:22 -#: src/views/project/ListView.vue:23 +#: src/views/project/IndexView.vue:22 src/views/project/ListView.vue:23 msgid "General" msgstr "" @@ -5516,8 +5498,7 @@ msgstr "" msgid "Node.js" msgstr "" -#: src/views/project/IndexView.vue:26 -#: src/views/website/IndexView.vue:22 +#: src/views/project/IndexView.vue:26 src/views/website/IndexView.vue:22 msgid "PHP" msgstr "" @@ -5525,11 +5506,30 @@ msgstr "" msgid "Python" msgstr "" -#: src/views/project/ListView.vue:131 +#: src/views/project/ListView.vue:71 src/views/task/TaskView.vue:32 +msgid "Failed" +msgstr "失敗" + +#: src/views/project/ListView.vue:81 +#, fuzzy +msgid "Autostart" +msgstr "自啟動開啟" + +#: src/views/project/ListView.vue:157 msgid "Are you sure you want to delete project %{ name }?" msgstr "" -#: src/views/project/ListView.vue:221 +#: src/views/project/ListView.vue:203 +#, fuzzy +msgid "Autostart enabled" +msgstr "自啟動開啟" + +#: src/views/project/ListView.vue:208 +#, fuzzy +msgid "Autostart disabled" +msgstr "自啟動已成功禁用" + +#: src/views/project/ListView.vue:261 msgid "Are you sure you want to delete the selected projects?" msgstr "" @@ -5537,8 +5537,7 @@ msgstr "" msgid "Enter user name" msgstr "輸入用戶名" -#: src/views/setting/CreateModal.vue:53 -#: src/views/setting/PasswordModal.vue:40 +#: src/views/setting/CreateModal.vue:53 src/views/setting/PasswordModal.vue:40 msgid "Enter user password" msgstr "輸入用戶密碼" @@ -5554,10 +5553,8 @@ msgstr "" msgid "Safe" msgstr "安全" -#: src/views/setting/PasswordModal.vue:16 -#: src/views/setting/TokenModal.vue:181 -#: src/views/setting/TwoFaModal.vue:24 -#: src/views/ssh/UpdateModal.vue:31 +#: src/views/setting/PasswordModal.vue:16 src/views/setting/TokenModal.vue:181 +#: src/views/setting/TwoFaModal.vue:24 src/views/ssh/UpdateModal.vue:31 msgid "Updated successfully" msgstr "更新成功" @@ -5569,8 +5566,7 @@ msgstr "穩定版" msgid "Beta" msgstr "測試版" -#: src/views/setting/SettingBase.vue:114 -#: src/views/setting/SettingBase.vue:115 +#: src/views/setting/SettingBase.vue:114 src/views/setting/SettingBase.vue:115 msgid "Panel Name" msgstr "面板名稱" @@ -5623,7 +5619,9 @@ msgid "Login Timeout" msgstr "登錄超時" #: src/views/setting/SettingSafe.vue:47 -msgid "Set the maximum lifetime (in minutes) of the login state, after which you need to log in again" +msgid "" +"Set the maximum lifetime (in minutes) of the login state, after which you " +"need to log in again" msgstr "" #: src/views/setting/SettingSafe.vue:55 @@ -5639,7 +5637,9 @@ msgid "Access Entrance" msgstr "訪問入口" #: src/views/setting/SettingSafe.vue:75 -msgid "Set the access entrance of the panel (e.g. /mypanel) to prevent some malicious access. Leave blank to disable (not recommended)" +msgid "" +"Set the access entrance of the panel (e.g. /mypanel) to prevent some " +"malicious access. Leave blank to disable (not recommended)" msgstr "" #: src/views/setting/SettingSafe.vue:88 @@ -5647,11 +5647,13 @@ msgid "Entrance Error Page" msgstr "" #: src/views/setting/SettingSafe.vue:93 -msgid "Set the error page to display when accessing with wrong entrance. 418 shows teapot page, Nginx 404 shows nginx style 404 page, Close Connection will close the connection immediately" +msgid "" +"Set the error page to display when accessing with wrong entrance. 418 shows " +"teapot page, Nginx 404 shows nginx style 404 page, Close Connection will " +"close the connection immediately" msgstr "" -#: src/views/setting/SettingSafe.vue:102 -#: src/views/setting/SettingSafe.vue:106 +#: src/views/setting/SettingSafe.vue:102 src/views/setting/SettingSafe.vue:106 msgid "418 I'm a teapot" msgstr "" @@ -5668,7 +5670,9 @@ msgid "Login Captcha" msgstr "" #: src/views/setting/SettingSafe.vue:119 -msgid "When enabled, a captcha will be required after 3 failed login attempts to prevent brute force attacks" +msgid "" +"When enabled, a captcha will be required after 3 failed login attempts to " +"prevent brute force attacks" msgstr "" #: src/views/setting/SettingSafe.vue:132 @@ -5676,7 +5680,9 @@ msgid "Request IP Header" msgstr "" #: src/views/setting/SettingSafe.vue:137 -msgid "Set the header that carries the real IP of the client, useful when using CDN or reverse proxy. Leave blank to use the client IP directly" +msgid "" +"Set the header that carries the real IP of the client, useful when using CDN " +"or reverse proxy. Leave blank to use the client IP directly" msgstr "" #: src/views/setting/SettingSafe.vue:143 @@ -5688,7 +5694,9 @@ msgid "Bind Domain" msgstr "綁定域名" #: src/views/setting/SettingSafe.vue:155 -msgid "Restrict panel access to the specified domain names. Leave blank to allow access from any domain" +msgid "" +"Restrict panel access to the specified domain names. Leave blank to allow " +"access from any domain" msgstr "" #: src/views/setting/SettingSafe.vue:172 @@ -5696,7 +5704,9 @@ msgid "Bind IP" msgstr "綁定 IP" #: src/views/setting/SettingSafe.vue:177 -msgid "Restrict panel access to the specified IP addresses. Leave blank to allow access from any IP" +msgid "" +"Restrict panel access to the specified IP addresses. Leave blank to allow " +"access from any IP" msgstr "" #: src/views/setting/SettingSafe.vue:190 @@ -5704,7 +5714,9 @@ msgid "Bind UA" msgstr "綁定 UA" #: src/views/setting/SettingSafe.vue:195 -msgid "Restrict panel access to the specified User-Agent strings. Leave blank to allow access from any User-Agent" +msgid "" +"Restrict panel access to the specified User-Agent strings. Leave blank to " +"allow access from any User-Agent" msgstr "" #: src/views/setting/SettingSafe.vue:212 @@ -5712,7 +5724,9 @@ msgid "Offline Mode" msgstr "離線模式" #: src/views/setting/SettingSafe.vue:217 -msgid "When enabled, the panel will not attempt to connect to external services for updates or other features. This may limit some functionalities" +msgid "" +"When enabled, the panel will not attempt to connect to external services for " +"updates or other features. This may limit some functionalities" msgstr "" #: src/views/setting/SettingSafe.vue:230 @@ -5720,7 +5734,10 @@ msgid "Auto Update" msgstr "自動更新" #: src/views/setting/SettingSafe.vue:235 -msgid "When enabled, the panel will automatically check for and install updates when they are available. It is recommended to keep this enabled to ensure you have the latest features and security patches" +msgid "" +"When enabled, the panel will automatically check for and install updates " +"when they are available. It is recommended to keep this enabled to ensure " +"you have the latest features and security patches" msgstr "" #: src/views/setting/SettingSafe.vue:248 @@ -5728,7 +5745,10 @@ msgid "Panel HTTPS" msgstr "面板 HTTPS" #: src/views/setting/SettingSafe.vue:253 -msgid "Enable HTTPS for the panel. ACME will automatically obtain and renew certificates (requires panel accessible via public IP). Custom allows you to provide your own certificate" +msgid "" +"Enable HTTPS for the panel. ACME will automatically obtain and renew " +"certificates (requires panel accessible via public IP). Custom allows you to " +"provide your own certificate" msgstr "" #: src/views/setting/SettingSafe.vue:263 @@ -5739,13 +5759,14 @@ msgstr "" msgid "Custom Certificate" msgstr "" -#: src/views/setting/SettingSafe.vue:272 -#: src/views/setting/SettingSafe.vue:277 +#: src/views/setting/SettingSafe.vue:272 src/views/setting/SettingSafe.vue:277 msgid "Panel Public IP" msgstr "" #: src/views/setting/SettingSafe.vue:282 -msgid "Panel public IP is used to issue HTTPS certificates using ACME. Ensure that the entered IP address is accessible from the public network." +msgid "" +"Panel public IP is used to issue HTTPS certificates using ACME. Ensure that " +"the entered IP address is accessible from the public network." msgstr "" #: src/views/setting/SettingUser.vue:53 @@ -5756,8 +5777,7 @@ msgstr "兩步驗證" msgid "Disabled successfully" msgstr "禁用成功" -#: src/views/setting/SettingUser.vue:102 -#: src/views/setting/TokenModal.vue:202 +#: src/views/setting/SettingUser.vue:102 src/views/setting/TokenModal.vue:202 msgid "Access Tokens" msgstr "訪問令牌" @@ -5785,23 +5805,19 @@ msgstr "複製並關閉" msgid "Copy failed" msgstr "複製失敗" -#: src/views/setting/TokenModal.vue:212 -#: src/views/setting/TokenModal.vue:240 +#: src/views/setting/TokenModal.vue:212 src/views/setting/TokenModal.vue:240 msgid "Create Access Token" msgstr "創建訪問令牌" -#: src/views/setting/TokenModal.vue:249 -#: src/views/setting/TokenModal.vue:282 +#: src/views/setting/TokenModal.vue:249 src/views/setting/TokenModal.vue:282 msgid "IP White List" msgstr "IP 白名單" -#: src/views/setting/TokenModal.vue:252 -#: src/views/setting/TokenModal.vue:285 +#: src/views/setting/TokenModal.vue:252 src/views/setting/TokenModal.vue:285 msgid "127.0.0.1" msgstr "127.0.0.1" -#: src/views/setting/TokenModal.vue:260 -#: src/views/setting/TokenModal.vue:293 +#: src/views/setting/TokenModal.vue:260 src/views/setting/TokenModal.vue:293 msgid "Please select the expiration time" msgstr "請選擇到期時間" @@ -5822,7 +5838,8 @@ msgid "Scan the QR code with your 2FA app and enter the code below" msgstr "用您的兩步驗證應用掃描二維碼並在下方輸入代碼" #: src/views/setting/TwoFaModal.vue:66 -msgid "If you cannot scan the QR code, please enter the URL below in your 2FA app" +msgid "" +"If you cannot scan the QR code, please enter the URL below in your 2FA app" msgstr "如果您無法掃描二維碼,請在您的兩步驗證應用中輸入下面的 URL" #: src/views/setting/TwoFaModal.vue:79 @@ -5833,28 +5850,23 @@ msgstr "代碼" msgid "Enter the code" msgstr "輸入代碼" -#: src/views/ssh/CreateModal.vue:52 -#: src/views/ssh/IndexView.vue:281 +#: src/views/ssh/CreateModal.vue:52 src/views/ssh/IndexView.vue:281 msgid "Create Host" msgstr "創建主機" -#: src/views/ssh/CreateModal.vue:75 -#: src/views/ssh/UpdateModal.vue:81 +#: src/views/ssh/CreateModal.vue:75 src/views/ssh/UpdateModal.vue:81 msgid "Authentication Method" msgstr "驗證方式" -#: src/views/ssh/CreateModal.vue:94 -#: src/views/ssh/UpdateModal.vue:100 +#: src/views/ssh/CreateModal.vue:94 src/views/ssh/UpdateModal.vue:100 msgid "Passphrase" msgstr "" -#: src/views/ssh/CreateModal.vue:99 -#: src/views/ssh/UpdateModal.vue:105 +#: src/views/ssh/CreateModal.vue:99 src/views/ssh/UpdateModal.vue:105 msgid "Leave empty if key has no passphrase" msgstr "" -#: src/views/ssh/CreateModal.vue:102 -#: src/views/ssh/UpdateModal.vue:108 +#: src/views/ssh/CreateModal.vue:102 src/views/ssh/UpdateModal.vue:108 msgid "Remarks" msgstr "備註" @@ -5886,37 +5898,29 @@ msgstr "# 在此處輸入您的腳本內容" msgid "Create Scheduled Task" msgstr "創建計劃任務" -#: src/views/task/CreateModal.vue:95 -#: src/views/task/CronView.vue:32 +#: src/views/task/CreateModal.vue:95 src/views/task/CronView.vue:32 msgid "Task Type" msgstr "任務類型" -#: src/views/task/CreateModal.vue:99 -#: src/views/task/CronView.vue:45 +#: src/views/task/CreateModal.vue:99 src/views/task/CronView.vue:45 msgid "Run Script" msgstr "運行腳本" -#: src/views/task/CreateModal.vue:100 -#: src/views/task/CronView.vue:47 +#: src/views/task/CreateModal.vue:100 src/views/task/CronView.vue:47 msgid "Backup Data" msgstr "備份數據" -#: src/views/task/CreateModal.vue:101 -#: src/views/task/CronView.vue:48 +#: src/views/task/CreateModal.vue:101 src/views/task/CronView.vue:48 msgid "Log Rotation" msgstr "日誌輪替" -#: src/views/task/CreateModal.vue:106 -#: src/views/task/CreateModal.vue:107 -#: src/views/task/CronView.vue:25 -#: src/views/task/CronView.vue:250 -#: src/views/task/CronView.vue:251 -#: src/views/task/TaskView.vue:15 +#: src/views/task/CreateModal.vue:106 src/views/task/CreateModal.vue:107 +#: src/views/task/CronView.vue:25 src/views/task/CronView.vue:250 +#: src/views/task/CronView.vue:251 src/views/task/TaskView.vue:15 msgid "Task Name" msgstr "任務名稱" -#: src/views/task/CreateModal.vue:109 -#: src/views/task/CronView.vue:69 +#: src/views/task/CreateModal.vue:109 src/views/task/CronView.vue:69 #: src/views/task/CronView.vue:253 msgid "Task Schedule" msgstr "任務週期" @@ -5941,8 +5945,7 @@ msgstr "PostgreSQL 數據庫" msgid "Retention Count" msgstr "保留數量" -#: src/views/task/CronView.vue:55 -#: src/views/toolbox/WebHookView.vue:87 +#: src/views/task/CronView.vue:55 src/views/toolbox/WebHookView.vue:87 #: src/views/toolbox/WebHookView.vue:382 msgid "Enabled" msgstr "已啟用" @@ -5967,16 +5970,11 @@ msgstr "創建任務" msgid "Completed" msgstr "已完成" -#: src/views/task/TaskView.vue:30 -#: src/views/toolbox/ProcessView.vue:53 +#: src/views/task/TaskView.vue:30 src/views/toolbox/ProcessView.vue:53 #: src/views/toolbox/ProcessView.vue:92 msgid "Waiting" msgstr "正在駐留等待" -#: src/views/task/TaskView.vue:32 -msgid "Failed" -msgstr "失敗" - #: src/views/task/TaskView.vue:46 msgid "Completion Time" msgstr "完成時間" @@ -6005,8 +6003,11 @@ msgid "Pending benchmark" msgstr "待跑分" #: src/views/toolbox/BenchmarkView.vue:89 -msgid "Benchmark results are for reference only and may differ from actual performance due to system resource scheduling, caching, and other factors!" -msgstr "跑分結果僅供參考,由於系統資源調度、快取和其他因素,可能與實際性能有所不同!" +msgid "" +"Benchmark results are for reference only and may differ from actual " +"performance due to system resource scheduling, caching, and other factors!" +msgstr "" +"跑分結果僅供參考,由於系統資源調度、快取和其他因素,可能與實際性能有所不同!" #: src/views/toolbox/BenchmarkView.vue:96 msgid "Benchmarking in progress, it may take some time..." @@ -6104,20 +6105,19 @@ msgstr "" msgid "Not Mounted" msgstr "" -#: src/views/toolbox/DiskView.vue:332 -#: src/views/toolbox/DiskView.vue:828 +#: src/views/toolbox/DiskView.vue:332 src/views/toolbox/DiskView.vue:828 msgid "Filesystem" msgstr "" -#: src/views/toolbox/DiskView.vue:385 -#: src/views/toolbox/DiskView.vue:537 -#: src/views/toolbox/DiskView.vue:581 -#: src/views/toolbox/DiskView.vue:630 +#: src/views/toolbox/DiskView.vue:385 src/views/toolbox/DiskView.vue:537 +#: src/views/toolbox/DiskView.vue:581 src/views/toolbox/DiskView.vue:630 msgid "Please fill in all fields" msgstr "" #: src/views/toolbox/DiskView.vue:390 -msgid "Are you sure you want to mount %{ device } to %{ path } and write to fstab for auto-mount on boot?" +msgid "" +"Are you sure you want to mount %{ device } to %{ path } and write to fstab " +"for auto-mount on boot?" msgstr "" #: src/views/toolbox/DiskView.vue:397 @@ -6136,22 +6136,20 @@ msgstr "" msgid "Unmounted successfully" msgstr "" -#: src/views/toolbox/DiskView.vue:444 -#: src/views/toolbox/DiskView.vue:495 +#: src/views/toolbox/DiskView.vue:444 src/views/toolbox/DiskView.vue:495 msgid "Please select a device" msgstr "" -#: src/views/toolbox/DiskView.vue:449 -#: src/views/toolbox/DiskView.vue:474 -#: src/views/toolbox/DiskView.vue:519 -#: src/views/toolbox/DiskView.vue:562 -#: src/views/toolbox/DiskView.vue:611 -#: src/views/toolbox/DiskView.vue:658 +#: src/views/toolbox/DiskView.vue:449 src/views/toolbox/DiskView.vue:474 +#: src/views/toolbox/DiskView.vue:519 src/views/toolbox/DiskView.vue:562 +#: src/views/toolbox/DiskView.vue:611 src/views/toolbox/DiskView.vue:658 msgid "Dangerous Operation" msgstr "" #: src/views/toolbox/DiskView.vue:450 -msgid "Formatting will erase all data on the partition. This operation is irreversible. Are you sure?" +msgid "" +"Formatting will erase all data on the partition. This operation is " +"irreversible. Are you sure?" msgstr "" #: src/views/toolbox/DiskView.vue:453 @@ -6167,7 +6165,9 @@ msgid "Please enter disk name" msgstr "" #: src/views/toolbox/DiskView.vue:475 -msgid "This will delete all partitions on %{ device } and create a single partition. All data will be permanently lost. Are you absolutely sure?" +msgid "" +"This will delete all partitions on %{ device } and create a single " +"partition. All data will be permanently lost. Are you absolutely sure?" msgstr "" #: src/views/toolbox/DiskView.vue:479 @@ -6203,7 +6203,9 @@ msgid "Volume group created successfully" msgstr "" #: src/views/toolbox/DiskView.vue:563 -msgid "Are you sure you want to remove the volume group %{ name }? All logical volumes in this group will be deleted!" +msgid "" +"Are you sure you want to remove the volume group %{ name }? All logical " +"volumes in this group will be deleted!" msgstr "" #: src/views/toolbox/DiskView.vue:571 @@ -6211,7 +6213,8 @@ msgid "Volume group removed successfully" msgstr "" #: src/views/toolbox/DiskView.vue:587 -msgid "Are you sure you want to create logical volume %{ name } with %{ size }GB?" +msgid "" +"Are you sure you want to create logical volume %{ name } with %{ size }GB?" msgstr "" #: src/views/toolbox/DiskView.vue:598 @@ -6219,7 +6222,9 @@ msgid "Logical volume created successfully" msgstr "" #: src/views/toolbox/DiskView.vue:612 -msgid "Are you sure you want to remove the logical volume %{ path }? All data on this volume will be lost!" +msgid "" +"Are you sure you want to remove the logical volume %{ path }? All data on " +"this volume will be lost!" msgstr "" #: src/views/toolbox/DiskView.vue:620 @@ -6235,7 +6240,9 @@ msgid "Logical volume extended successfully" msgstr "" #: src/views/toolbox/DiskView.vue:659 -msgid "Are you sure you want to remove the fstab entry for %{ mountPoint }? This will prevent auto-mount on boot." +msgid "" +"Are you sure you want to remove the fstab entry for %{ mountPoint }? This " +"will prevent auto-mount on boot." msgstr "" #: src/views/toolbox/DiskView.vue:667 @@ -6278,13 +6285,11 @@ msgstr "" msgid "Mount Partition" msgstr "" -#: src/views/toolbox/DiskView.vue:725 -#: src/views/toolbox/DiskView.vue:770 +#: src/views/toolbox/DiskView.vue:725 src/views/toolbox/DiskView.vue:770 msgid "Partition" msgstr "" -#: src/views/toolbox/DiskView.vue:729 -#: src/views/toolbox/DiskView.vue:774 +#: src/views/toolbox/DiskView.vue:729 src/views/toolbox/DiskView.vue:774 msgid "Select partition" msgstr "" @@ -6309,7 +6314,9 @@ msgid "Mount" msgstr "掛載" #: src/views/toolbox/DiskView.vue:758 -msgid "When enabled, the partition UUID will be written to /etc/fstab for automatic mounting on system boot." +msgid "" +"When enabled, the partition UUID will be written to /etc/fstab for automatic " +"mounting on system boot." msgstr "" #: src/views/toolbox/DiskView.vue:765 @@ -6320,8 +6327,7 @@ msgstr "" msgid "Warning: Formatting will erase all data!" msgstr "" -#: src/views/toolbox/DiskView.vue:779 -#: src/views/toolbox/DiskView.vue:812 +#: src/views/toolbox/DiskView.vue:779 src/views/toolbox/DiskView.vue:812 msgid "Filesystem Type" msgstr "" @@ -6335,7 +6341,9 @@ msgid "Initialize Disk" msgstr "" #: src/views/toolbox/DiskView.vue:797 -msgid "Warning: This will delete all partitions and create a single partition. All data will be lost!" +msgid "" +"Warning: This will delete all partitions and create a single partition. All " +"data will be lost!" msgstr "" #: src/views/toolbox/DiskView.vue:807 @@ -6350,17 +6358,13 @@ msgstr "" msgid "Auto-mount Configuration (fstab)" msgstr "" -#: src/views/toolbox/DiskView.vue:826 -#: src/views/toolbox/DiskView.vue:884 +#: src/views/toolbox/DiskView.vue:826 src/views/toolbox/DiskView.vue:884 msgid "Device" msgstr "" -#: src/views/toolbox/DiskView.vue:844 -#: src/views/toolbox/DiskView.vue:874 -#: src/views/toolbox/DiskView.vue:912 -#: src/views/toolbox/DiskView.vue:957 -#: src/views/website/EditView.vue:619 -#: src/views/website/EditView.vue:779 +#: src/views/toolbox/DiskView.vue:844 src/views/toolbox/DiskView.vue:874 +#: src/views/toolbox/DiskView.vue:912 src/views/toolbox/DiskView.vue:957 +#: src/views/website/EditView.vue:619 src/views/website/EditView.vue:779 msgid "Remove" msgstr "" @@ -6372,8 +6376,7 @@ msgstr "" msgid "LVM Management" msgstr "" -#: src/views/toolbox/DiskView.vue:863 -#: src/views/toolbox/DiskView.vue:929 +#: src/views/toolbox/DiskView.vue:863 src/views/toolbox/DiskView.vue:929 msgid "Physical Volumes" msgstr "" @@ -6569,23 +6572,19 @@ msgstr "" msgid "All Status" msgstr "" -#: src/views/toolbox/ProcessView.vue:49 -#: src/views/toolbox/ProcessView.vue:84 +#: src/views/toolbox/ProcessView.vue:49 src/views/toolbox/ProcessView.vue:84 msgid "Sleeping" msgstr "睡眠" -#: src/views/toolbox/ProcessView.vue:51 -#: src/views/toolbox/ProcessView.vue:88 +#: src/views/toolbox/ProcessView.vue:51 src/views/toolbox/ProcessView.vue:88 msgid "Idle" msgstr "空閒" -#: src/views/toolbox/ProcessView.vue:52 -#: src/views/toolbox/ProcessView.vue:90 +#: src/views/toolbox/ProcessView.vue:52 src/views/toolbox/ProcessView.vue:90 msgid "Zombie" msgstr "僵屍進程" -#: src/views/toolbox/ProcessView.vue:54 -#: src/views/toolbox/ProcessView.vue:94 +#: src/views/toolbox/ProcessView.vue:54 src/views/toolbox/ProcessView.vue:94 msgid "Locked" msgstr "已鎖定" @@ -6629,18 +6628,15 @@ msgstr "" msgid "Blocked" msgstr "" -#: src/views/toolbox/ProcessView.vue:117 -#: src/views/toolbox/ProcessView.vue:385 +#: src/views/toolbox/ProcessView.vue:117 src/views/toolbox/ProcessView.vue:385 msgid "Parent PID" msgstr "父進程 PID" -#: src/views/toolbox/ProcessView.vue:124 -#: src/views/toolbox/ProcessView.vue:397 +#: src/views/toolbox/ProcessView.vue:124 src/views/toolbox/ProcessView.vue:397 msgid "Threads" msgstr "線程" -#: src/views/toolbox/ProcessView.vue:165 -#: src/views/toolbox/ProcessView.vue:418 +#: src/views/toolbox/ProcessView.vue:165 src/views/toolbox/ProcessView.vue:418 msgid "Start Time" msgstr "啟動時間" @@ -6748,8 +6744,7 @@ msgstr "" msgid "Root password updated" msgstr "" -#: src/views/toolbox/SshView.vue:150 -#: src/views/toolbox/SshView.vue:164 +#: src/views/toolbox/SshView.vue:150 src/views/toolbox/SshView.vue:164 msgid "SSH key generated" msgstr "" @@ -6798,7 +6793,9 @@ msgid "Reset" msgstr "" #: src/views/toolbox/SshView.vue:287 -msgid "It is recommended to use a complex password. Refresh will clear the password field." +msgid "" +"It is recommended to use a complex password. Refresh will clear the password " +"field." msgstr "" #: src/views/toolbox/SshView.vue:296 @@ -6818,7 +6815,9 @@ msgid "Root Private Key" msgstr "" #: src/views/toolbox/SshView.vue:326 -msgid "This is the private key of the root user. Keep it safe and use it to login to this server." +msgid "" +"This is the private key of the root user. Keep it safe and use it to login " +"to this server." msgstr "" #: src/views/toolbox/SshView.vue:336 @@ -6870,7 +6869,9 @@ msgid "Hosts" msgstr "" #: src/views/toolbox/SystemView.vue:201 -msgid "After manually changing the time, it may still be overwritten by system automatic time synchronization." +msgid "" +"After manually changing the time, it may still be overwritten by system " +"automatic time synchronization." msgstr "手動更改時間後,系統自動時間同步可能仍會覆蓋設置。" #: src/views/toolbox/SystemView.vue:207 @@ -6906,11 +6907,15 @@ msgid "System NTP Server Configuration" msgstr "" #: src/views/toolbox/SystemView.vue:255 -msgid "Unable to detect NTP service. Please ensure chrony or systemd-timesyncd is installed." +msgid "" +"Unable to detect NTP service. Please ensure chrony or systemd-timesyncd is " +"installed." msgstr "" #: src/views/toolbox/SystemView.vue:262 -msgid "Current NTP service: %{ service }. Changes will be applied to system configuration." +msgid "" +"Current NTP service: %{ service }. Changes will be applied to system " +"configuration." msgstr "" #: src/views/toolbox/SystemView.vue:275 @@ -6921,8 +6926,7 @@ msgstr "" msgid "Reset to Default" msgstr "" -#: src/views/toolbox/WebHookView.vue:69 -#: src/views/toolbox/WebHookView.vue:341 +#: src/views/toolbox/WebHookView.vue:69 src/views/toolbox/WebHookView.vue:341 #: src/views/toolbox/WebHookView.vue:376 msgid "Raw Output" msgstr "" @@ -6947,38 +6951,31 @@ msgstr "" msgid "URL copied to clipboard" msgstr "" -#: src/views/toolbox/WebHookView.vue:243 -#: src/views/toolbox/WebHookView.vue:265 +#: src/views/toolbox/WebHookView.vue:243 src/views/toolbox/WebHookView.vue:265 msgid "Please enter a name" msgstr "" -#: src/views/toolbox/WebHookView.vue:247 -#: src/views/toolbox/WebHookView.vue:269 +#: src/views/toolbox/WebHookView.vue:247 src/views/toolbox/WebHookView.vue:269 msgid "Please enter a script" msgstr "" -#: src/views/toolbox/WebHookView.vue:296 -#: src/views/toolbox/WebHookView.vue:325 +#: src/views/toolbox/WebHookView.vue:296 src/views/toolbox/WebHookView.vue:325 msgid "Create WebHook" msgstr "" -#: src/views/toolbox/WebHookView.vue:333 -#: src/views/toolbox/WebHookView.vue:368 +#: src/views/toolbox/WebHookView.vue:333 src/views/toolbox/WebHookView.vue:368 msgid "Enter WebHook name" msgstr "" -#: src/views/toolbox/WebHookView.vue:338 -#: src/views/toolbox/WebHookView.vue:373 +#: src/views/toolbox/WebHookView.vue:338 src/views/toolbox/WebHookView.vue:373 msgid "User to run the script (default: root)" msgstr "" -#: src/views/toolbox/WebHookView.vue:344 -#: src/views/toolbox/WebHookView.vue:379 +#: src/views/toolbox/WebHookView.vue:344 src/views/toolbox/WebHookView.vue:379 msgid "Return script output as raw text instead of JSON" msgstr "" -#: src/views/toolbox/WebHookView.vue:347 -#: src/views/toolbox/WebHookView.vue:385 +#: src/views/toolbox/WebHookView.vue:347 src/views/toolbox/WebHookView.vue:385 msgid "Script" msgstr "" @@ -6995,13 +6992,14 @@ msgstr "格式不正確,請檢查" msgid "Website %{ name } created successfully" msgstr "網站 %{ name } 創建成功" -#: src/views/website/BulkCreateModal.vue:79 -#: src/views/website/ListView.vue:284 +#: src/views/website/BulkCreateModal.vue:79 src/views/website/ListView.vue:284 msgid "Bulk Create Website" msgstr "批量創建網站" #: src/views/website/BulkCreateModal.vue:90 -msgid "Please enter the website name, domain, port, path, and remark in the text area below, one per line." +msgid "" +"Please enter the website name, domain, port, path, and remark in the text " +"area below, one per line." msgstr "請在下面的文本區域輸入網站名稱、域名、端口、路徑和備註,每行一個。" #: src/views/website/BulkCreateModal.vue:98 @@ -7009,15 +7007,21 @@ msgid "name|domain|port|path|remark" msgstr "名稱|域名|端口|路徑|備註" #: src/views/website/BulkCreateModal.vue:103 -msgid "Name: The name of the website, which will be displayed in the website list, must be unique." +msgid "" +"Name: The name of the website, which will be displayed in the website list, " +"must be unique." msgstr "名稱:網站的名稱,將顯示在網站列表中,必須是唯一的。" #: src/views/website/BulkCreateModal.vue:110 -msgid "Domain: The domain name of the website, multiple domains can be separated by commas." +msgid "" +"Domain: The domain name of the website, multiple domains can be separated by " +"commas." msgstr "域名:網站的域名,多個域名可以用英文逗號分隔。" #: src/views/website/BulkCreateModal.vue:117 -msgid "Port: The port number of the website, multiple ports can be separated by commas." +msgid "" +"Port: The port number of the website, multiple ports can be separated by " +"commas." msgstr "端口:網站的端口號,多個端口可以用英文逗號分隔。" #: src/views/website/BulkCreateModal.vue:123 @@ -7028,36 +7032,35 @@ msgstr "路徑:網站的根目錄,可以為空以使用默認路徑。" msgid "Remark: The remark of the website, can be empty." msgstr "備註:網站的備註,可以為空。" -#: src/views/website/CreateModal.vue:39 -#: src/views/website/EditView.vue:59 +#: src/views/website/CreateModal.vue:39 src/views/website/EditView.vue:59 msgid "Not used" msgstr "未使用" -#: src/views/website/CreateModal.vue:114 -#: src/views/website/ListView.vue:281 +#: src/views/website/CreateModal.vue:114 src/views/website/ListView.vue:281 msgid "Create Website" msgstr "創建網站" #: src/views/website/CreateModal.vue:129 -msgid "Must use English for the website name, it cannot be modified after setting" +msgid "" +"Must use English for the website name, it cannot be modified after setting" msgstr "" #: src/views/website/CreateModal.vue:174 msgid "Select Database" msgstr "選擇數據庫" -#: src/views/website/CreateModal.vue:202 -#: src/views/website/CreateModal.vue:207 +#: src/views/website/CreateModal.vue:202 src/views/website/CreateModal.vue:207 msgid "Database User" msgstr "數據庫用戶" -#: src/views/website/CreateModal.vue:216 -#: src/views/website/CreateModal.vue:222 +#: src/views/website/CreateModal.vue:216 src/views/website/CreateModal.vue:222 msgid "Database Password" msgstr "數據庫密碼" #: src/views/website/CreateModal.vue:234 -msgid "Website root directory (if left empty, defaults to website directory/website name/public)" +msgid "" +"Website root directory (if left empty, defaults to website directory/website " +"name/public)" msgstr "" #: src/views/website/CreateModal.vue:246 @@ -7068,8 +7071,7 @@ msgstr "" msgid "Proxy target address (e.g., http://127.0.0.1:3000)" msgstr "" -#: src/views/website/CreateModal.vue:254 -#: src/views/website/CreateModal.vue:259 +#: src/views/website/CreateModal.vue:254 src/views/website/CreateModal.vue:259 #: src/views/website/ListView.vue:106 msgid "Remark" msgstr "備註" @@ -7162,8 +7164,7 @@ msgstr "" msgid "Upstream name" msgstr "" -#: src/views/website/EditView.vue:532 -#: src/views/website/EditView.vue:539 +#: src/views/website/EditView.vue:532 src/views/website/EditView.vue:539 msgid "Round Robin (default)" msgstr "" @@ -7311,10 +7312,6 @@ msgstr "" msgid "Rewrite" msgstr "重寫" -#: src/views/website/EditView.vue:916 -msgid "Presets" -msgstr "預設" - #: src/views/website/EditView.vue:928 msgid "Custom Configs" msgstr "" @@ -7343,13 +7340,11 @@ msgstr "" msgid "Access Log" msgstr "訪問日誌" -#: src/views/website/EditView.vue:990 -#: src/views/website/EditView.vue:1002 +#: src/views/website/EditView.vue:990 src/views/website/EditView.vue:1002 msgid "All logs can be viewed by downloading the file" msgstr "所有日誌可通過下載文件查看" -#: src/views/website/EditView.vue:992 -#: src/views/website/EditView.vue:1004 +#: src/views/website/EditView.vue:992 src/views/website/EditView.vue:1004 msgid "view" msgstr "查看" @@ -7414,7 +7409,9 @@ msgid "Delete local database with the same name" msgstr "刪除同名的本地數據庫" #: src/views/website/ListView.vue:293 -msgid "This will delete the website directory but not the database with the same name. Are you sure you want to delete the selected websites?" +msgid "" +"This will delete the website directory but not the database with the same " +"name. Are you sure you want to delete the selected websites?" msgstr "這將刪除網站目錄,但不會刪除同名的數據庫。您確定要刪除所選網站嗎?" #: src/views/website/SettingView.vue:43 @@ -7438,11 +7435,15 @@ msgid "Default Settings" msgstr "" #: src/views/website/SettingView.vue:80 -msgid "Modifying the default TLS version and cipher suites will affect all newly created websites. Existing websites will not be affected." +msgid "" +"Modifying the default TLS version and cipher suites will affect all newly " +"created websites. Existing websites will not be affected." msgstr "" #: src/views/website/SettingView.vue:87 -msgid "Please adjust the settings carefully, improper configuration may lead to website inaccessible." +msgid "" +"Please adjust the settings carefully, improper configuration may lead to " +"website inaccessible." msgstr "" #: src/views/website/SettingView.vue:93 @@ -7456,4 +7457,3 @@ msgstr "" #: src/views/website/SettingView.vue:110 msgid "Enter the default cipher suite, leave blank to reset to default" msgstr "" -