diff --git a/pkg/embed/locales/backend.pot b/pkg/embed/locales/backend.pot index 8093ef7d..27b1b2ba 100644 --- a/pkg/embed/locales/backend.pot +++ b/pkg/embed/locales/backend.pot @@ -27,12 +27,6 @@ msgstr "" msgid "Accepted Connections" msgstr "" -#: internal/route/cli.go:307 -#: internal/route/cli.go:331 -#: internal/route/cli.go:367 -msgid "Account ID (default account if not filled)" -msgstr "" - #: internal/service/home.go:60 msgid "AcePanel" msgstr "" @@ -677,7 +671,7 @@ msgid "Local IPv6: %s://[%s]:%d%s" msgstr "" #: internal/data/backup.go:91 -#: internal/data/backup_account.go:62 +#: internal/data/backup_storage.go:62 msgid "Local Storage" msgstr "" @@ -1079,6 +1073,12 @@ msgstr "" msgid "Stop panel service" msgstr "" +#: internal/route/cli.go:307 +#: internal/route/cli.go:331 +#: internal/route/cli.go:367 +msgid "Storage ID (local storage if not filled)" +msgstr "" + #: internal/apps/postgresql/app.go:144 msgid "Storage Usage" msgstr "" @@ -1414,15 +1414,15 @@ msgstr "" msgid "background task is running, updating is prohibited, please try again later" msgstr "" -#: internal/data/backup.go:334 -#: internal/data/backup.go:85 -msgid "backup account not found" -msgstr "" - #: internal/data/backup.go:219 msgid "backup file not exists" msgstr "" +#: internal/data/backup.go:334 +#: internal/data/backup.go:85 +msgid "backup storage not found" +msgstr "" + #: internal/service/toolbox_disk.go:466 msgid "btrfs filesystem is not mounted, logical volume has been extended but filesystem was not resized" msgstr "" @@ -2285,7 +2285,7 @@ msgstr "" msgid "runtime directory does not exist" msgstr "" -#: internal/service/backup_account.go:136 +#: internal/service/backup_storage.go:136 msgid "s3 configuration error: %v" msgstr "" @@ -2297,7 +2297,7 @@ msgstr "" msgid "session expired, please login again" msgstr "" -#: internal/service/backup_account.go:148 +#: internal/service/backup_storage.go:148 msgid "sftp configuration error: %v" msgstr "" @@ -2309,7 +2309,7 @@ msgstr "" msgid "sqlsrv is a driver for connecting to SQL Server" msgstr "" -#: internal/service/backup_account.go:165 +#: internal/service/backup_storage.go:165 msgid "storage connection error: %v" msgstr "" @@ -2452,7 +2452,7 @@ msgstr "" msgid "username or password error" msgstr "" -#: internal/service/backup_account.go:158 +#: internal/service/backup_storage.go:158 msgid "webdav configuration error: %v" msgstr "" @@ -2513,10 +2513,6 @@ msgstr "" msgid "zstd is a library for compressing and decompressing files" msgstr "" -#: internal/data/backup.go:111 -msgid "|-Backup account: %s" -msgstr "" - #: internal/data/backup.go:761 msgid "|-Backup file used: %s" msgstr "" @@ -2541,6 +2537,10 @@ msgstr "" msgid "|-Backup panel data..." msgstr "" +#: internal/data/backup.go:111 +msgid "|-Backup storage: %s" +msgstr "" + #: internal/data/backup.go:112 msgid "|-Backup target: %s" msgstr "" diff --git a/web/src/locales/en.po b/web/src/locales/en.po index b55f9ab7..823ad704 100644 --- a/web/src/locales/en.po +++ b/web/src/locales/en.po @@ -276,8 +276,8 @@ msgstr "Select File" #: 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/backup/AccountView.vue:54 src/views/backup/AccountView.vue:218 -#: src/views/backup/AccountView.vue:369 src/views/container/ComposeView.vue:57 +#: src/views/backup/StorageView.vue:54 src/views/backup/StorageView.vue:218 +#: src/views/backup/StorageView.vue:369 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:68 @@ -328,8 +328,8 @@ msgstr "Invalid name" #: src/components/common/PathSelector.vue:254 #: src/components/file-editor/FileTree.vue:284 -#: src/views/app/TemplateDeployModal.vue:214 -#: src/views/backup/AccountView.vue:145 src/views/backup/ListView.vue:125 +#: src/views/app/TemplateDeployModal.vue:214 src/views/backup/ListView.vue:126 +#: src/views/backup/StorageView.vue:145 #: src/views/cert/CreateAccountModal.vue:52 #: src/views/cert/CreateCertModal.vue:50 src/views/cert/CreateDnsModal.vue:35 #: src/views/cert/UploadCertModal.vue:21 @@ -378,8 +378,8 @@ msgstr "Root Directory" #: src/views/apps/pureftpd/IndexView.vue:264 #: src/views/apps/rsync/IndexView.vue:305 src/views/apps/s3fs/IndexView.vue:181 #: src/views/apps/supervisor/IndexView.vue:409 -#: src/views/backup/AccountView.vue:354 src/views/backup/AccountView.vue:505 -#: src/views/backup/ListView.vue:270 src/views/backup/ListView.vue:294 +#: src/views/backup/ListView.vue:274 src/views/backup/ListView.vue:298 +#: src/views/backup/StorageView.vue:354 src/views/backup/StorageView.vue:505 #: 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 @@ -401,7 +401,7 @@ msgstr "Root Directory" #: 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:193 +#: src/views/task/CreateModal.vue:195 msgid "Submit" msgstr "Submit" @@ -1060,10 +1060,10 @@ msgstr "Rename" #: 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/AccountView.vue:120 src/views/backup/ListView.vue:99 -#: 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:99 +#: src/views/backup/StorageView.vue:120 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 @@ -1114,7 +1114,7 @@ msgstr "Are you sure you want to delete %{ name }?" #: src/views/apps/pureftpd/IndexView.vue:145 #: src/views/apps/rsync/IndexView.vue:158 src/views/apps/s3fs/IndexView.vue:89 #: src/views/apps/supervisor/IndexView.vue:261 -#: src/views/backup/AccountView.vue:170 src/views/backup/ListView.vue:148 +#: src/views/backup/ListView.vue:148 src/views/backup/StorageView.vue:170 #: src/views/container/ImageView.vue:156 #: src/views/container/NetworkView.vue:175 #: src/views/container/VolumeView.vue:129 @@ -1259,7 +1259,7 @@ msgstr "Certificate" msgid "Container" msgstr "Container" -#: src/locales/menu.ts:11 src/views/backup/ListView.vue:290 +#: src/locales/menu.ts:11 src/views/backup/ListView.vue:294 #: src/views/database/IndexView.vue:27 src/views/home/IndexView.vue:453 #: src/views/website/CreateModal.vue:170 msgid "Database" @@ -1308,10 +1308,10 @@ msgid "Update" msgstr "Update" #: src/locales/menu.ts:23 src/views/apps/fail2ban/IndexView.vue:315 -#: src/views/backup/IndexView.vue:38 src/views/backup/ListView.vue:247 -#: src/views/backup/ListView.vue:283 src/views/cert/CertView.vue:455 +#: src/views/backup/IndexView.vue:38 src/views/backup/ListView.vue:251 +#: src/views/backup/ListView.vue:287 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:153 +#: src/views/home/IndexView.vue:449 src/views/task/CreateModal.vue:155 msgid "Website" msgstr "Website" @@ -1375,10 +1375,10 @@ msgstr "Show in Home" #: 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/AccountView.vue:83 src/views/backup/ListView.vue:60 -#: 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/supervisor/IndexView.vue:74 src/views/backup/ListView.vue:60 +#: src/views/backup/StorageView.vue:83 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 @@ -2127,8 +2127,8 @@ msgstr "" "protection may not be effective" #: src/views/apps/fail2ban/IndexView.vue:311 -#: src/views/backup/AccountView.vue:61 src/views/backup/AccountView.vue:221 -#: src/views/backup/AccountView.vue:372 src/views/cert/CertView.vue:86 +#: src/views/backup/StorageView.vue:61 src/views/backup/StorageView.vue:221 +#: src/views/backup/StorageView.vue:372 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:45 @@ -2143,8 +2143,8 @@ msgid "Service" msgstr "Service" #: src/views/apps/fail2ban/IndexView.vue:321 -#: src/views/apps/fail2ban/IndexView.vue:325 src/views/task/CreateModal.vue:167 -#: src/views/task/CreateModal.vue:172 +#: src/views/apps/fail2ban/IndexView.vue:325 src/views/task/CreateModal.vue:169 +#: src/views/task/CreateModal.vue:174 msgid "Select Website" msgstr "Select Website" @@ -2154,9 +2154,9 @@ msgstr "Protection Mode" #: src/views/apps/fail2ban/IndexView.vue:333 #: src/views/apps/pureftpd/IndexView.vue:39 -#: src/views/backup/AccountView.vue:262 src/views/backup/AccountView.vue:316 -#: src/views/backup/AccountView.vue:346 src/views/backup/AccountView.vue:413 -#: src/views/backup/AccountView.vue:467 src/views/backup/AccountView.vue:497 +#: src/views/backup/StorageView.vue:262 src/views/backup/StorageView.vue:316 +#: src/views/backup/StorageView.vue:346 src/views/backup/StorageView.vue:413 +#: src/views/backup/StorageView.vue:467 src/views/backup/StorageView.vue:497 #: src/views/log/HttpLog.vue:64 msgid "Path" msgstr "Path" @@ -2303,7 +2303,7 @@ msgid "Proxy Pass" msgstr "Proxy Address" #: src/views/apps/nginx/NginxIndex.vue:197 -#: src/views/apps/nginx/NginxIndex.vue:273 src/views/backup/AccountView.vue:100 +#: src/views/apps/nginx/NginxIndex.vue:273 src/views/backup/StorageView.vue:100 #: src/views/container/ComposeView.vue:122 src/views/file/ListView.vue:332 #: src/views/file/ListView.vue:1563 src/views/project/ListView.vue:178 #: src/views/ssh/IndexView.vue:69 src/views/task/CronView.vue:128 @@ -2587,8 +2587,8 @@ msgstr "Slow Logs" #: src/views/apps/pureftpd/IndexView.vue:32 #: src/views/apps/pureftpd/IndexView.vue:214 -#: src/views/backup/AccountView.vue:283 src/views/backup/AccountView.vue:332 -#: src/views/backup/AccountView.vue:434 src/views/backup/AccountView.vue:483 +#: src/views/backup/StorageView.vue:283 src/views/backup/StorageView.vue:332 +#: src/views/backup/StorageView.vue:434 src/views/backup/StorageView.vue:483 #: src/views/container/ImageView.vue:386 #: src/views/database/CreateDatabaseModal.vue:105 #: src/views/database/CreateServerModal.vue:94 @@ -2635,8 +2635,8 @@ msgid "Create User" msgstr "Create User" #: src/views/apps/pureftpd/IndexView.vue:219 -#: src/views/backup/AccountView.vue:286 src/views/backup/AccountView.vue:335 -#: src/views/backup/AccountView.vue:437 src/views/backup/AccountView.vue:486 +#: src/views/backup/StorageView.vue:286 src/views/backup/StorageView.vue:335 +#: src/views/backup/StorageView.vue:437 src/views/backup/StorageView.vue:486 #: src/views/container/ImageView.vue:391 #: src/views/database/CreateDatabaseModal.vue:110 #: src/views/database/CreateUserModal.vue:93 @@ -2646,9 +2646,9 @@ msgstr "Enter username" #: 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/backup/AccountView.vue:25 -#: src/views/backup/AccountView.vue:294 src/views/backup/AccountView.vue:338 -#: src/views/backup/AccountView.vue:445 src/views/backup/AccountView.vue:489 +#: src/views/apps/rsync/IndexView.vue:334 src/views/backup/StorageView.vue:25 +#: src/views/backup/StorageView.vue:294 src/views/backup/StorageView.vue:338 +#: src/views/backup/StorageView.vue:445 src/views/backup/StorageView.vue:489 #: src/views/container/ImageView.vue:394 #: src/views/database/CreateDatabaseModal.vue:113 #: src/views/database/CreateServerModal.vue:102 @@ -2690,9 +2690,9 @@ msgstr "" "the meaning of each parameter, please do not modify it randomly!" #: src/views/apps/rsync/IndexView.vue:60 src/views/apps/rsync/IndexView.vue:288 -#: src/views/apps/rsync/IndexView.vue:343 src/views/backup/AccountView.vue:272 -#: src/views/backup/AccountView.vue:326 src/views/backup/AccountView.vue:423 -#: src/views/backup/AccountView.vue:477 +#: src/views/apps/rsync/IndexView.vue:343 src/views/backup/StorageView.vue:272 +#: src/views/backup/StorageView.vue:326 src/views/backup/StorageView.vue:423 +#: src/views/backup/StorageView.vue:477 #: src/views/database/CreateDatabaseModal.vue:127 #: src/views/database/CreateServerModal.vue:73 #: src/views/database/ServerList.vue:115 @@ -2894,159 +2894,10 @@ msgstr "Number of Processes" msgid "Process Configuration" msgstr "Process Configuration" -#: src/views/backup/AccountView.vue:26 src/views/backup/AccountView.vue:306 -#: src/views/backup/AccountView.vue:457 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 "Private Key" - -#: src/views/backup/AccountView.vue:66 -msgid "Local" -msgstr "" - -#: src/views/backup/AccountView.vue:75 +#: src/views/backup/IndexView.vue:41 #, fuzzy -msgid "Created At" -msgstr "Create Host" - -#: src/views/backup/AccountView.vue:109 -#, fuzzy -msgid "Are you sure you want to delete this account?" -msgstr "Are you sure you want to delete the account?" - -#: src/views/backup/AccountView.vue:163 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 "Updated successfully" - -#: src/views/backup/AccountView.vue:182 src/views/backup/AccountView.vue:210 -#, fuzzy -msgid "Add Account" -msgstr "Add Mount" - -#: src/views/backup/AccountView.vue:219 src/views/backup/AccountView.vue:370 -#, fuzzy -msgid "Enter account name" -msgstr "Enter comment name" - -#: src/views/backup/AccountView.vue:227 src/views/backup/AccountView.vue:378 -#, fuzzy -msgid "Access Key" -msgstr "Access Log" - -#: src/views/backup/AccountView.vue:230 src/views/backup/AccountView.vue:381 -#, fuzzy -msgid "Enter access key" -msgstr "Enter Aliyun Access Key" - -#: src/views/backup/AccountView.vue:233 src/views/backup/AccountView.vue:384 -#, fuzzy -msgid "Secret Key" -msgstr "Enter Aliyun Secret Key" - -#: src/views/backup/AccountView.vue:238 src/views/backup/AccountView.vue:389 -#, fuzzy -msgid "Enter secret key" -msgstr "Enter Aliyun Secret Key" - -#: src/views/backup/AccountView.vue:241 src/views/backup/AccountView.vue:392 -msgid "Style" -msgstr "" - -#: src/views/backup/AccountView.vue:244 src/views/backup/AccountView.vue:395 -msgid "Region" -msgstr "" - -#: src/views/backup/AccountView.vue:247 src/views/backup/AccountView.vue:398 -#, fuzzy -msgid "Enter region (e.g., us-east-1)" -msgstr "Enter mount directory (e.g., /oss)" - -#: src/views/backup/AccountView.vue:250 src/views/backup/AccountView.vue:401 -#, fuzzy -msgid "Endpoint" -msgstr "Entrypoint" - -#: src/views/backup/AccountView.vue:253 src/views/backup/AccountView.vue:404 -#, fuzzy -msgid "Enter endpoint URL" -msgstr "Entrypoint" - -#: src/views/backup/AccountView.vue:256 src/views/backup/AccountView.vue:407 -msgid "Bucket" -msgstr "" - -#: src/views/backup/AccountView.vue:259 src/views/backup/AccountView.vue:410 -#, fuzzy -msgid "Enter bucket name" -msgstr "Enter user name" - -#: src/views/backup/AccountView.vue:265 src/views/backup/AccountView.vue:349 -#: src/views/backup/AccountView.vue:416 src/views/backup/AccountView.vue:500 -#, fuzzy -msgid "Enter path (optional)" -msgstr "Optional" - -#: src/views/backup/AccountView.vue:273 src/views/backup/AccountView.vue:424 -#, fuzzy -msgid "Enter host" -msgstr "Container Name" - -#: src/views/backup/AccountView.vue:275 src/views/backup/AccountView.vue:426 -#: 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 -msgid "Port" -msgstr "Port" - -#: src/views/backup/AccountView.vue:280 src/views/backup/AccountView.vue:431 -#, fuzzy -msgid "Enter port" -msgstr "Container Name" - -#: src/views/backup/AccountView.vue:289 src/views/backup/AccountView.vue:440 -#, fuzzy -msgid "Auth Type" -msgstr "Match Type" - -#: src/views/backup/AccountView.vue:301 src/views/backup/AccountView.vue:343 -#: src/views/backup/AccountView.vue:452 src/views/backup/AccountView.vue:494 -#: src/views/container/ImageView.vue:400 -#: src/views/database/CreateDatabaseModal.vue:120 -#: src/views/database/CreateUserModal.vue:103 -#: src/views/database/UpdateUserModal.vue:61 -msgid "Enter password" -msgstr "Enter password" - -#: src/views/backup/AccountView.vue:313 src/views/backup/AccountView.vue:464 -#, fuzzy -msgid "Enter private key" -msgstr "Enter AK key" - -#: src/views/backup/AccountView.vue:319 src/views/backup/AccountView.vue:470 -#, fuzzy -msgid "Enter remote path" -msgstr "Container Name" - -#: src/views/backup/AccountView.vue:329 src/views/backup/AccountView.vue:480 -msgid "Enter WebDAV URL" -msgstr "" - -#: src/views/backup/AccountView.vue:361 -#, fuzzy -msgid "Edit Account" -msgstr "Modify Account" - -#: src/views/backup/IndexView.vue:41 src/views/cert/CertView.vue:466 -#: src/views/cert/CreateCertModal.vue:98 src/views/cert/IndexView.vue:97 -msgid "Account" -msgstr "Account" +msgid "Storage" +msgstr "Driver" #: src/views/backup/ListView.vue:38 msgid "Filename" @@ -3069,52 +2920,202 @@ msgstr "Restoring..." msgid "Restored successfully" msgstr "Restored successfully" -#: src/views/backup/ListView.vue:205 +#: src/views/backup/ListView.vue:206 msgid "" "Only local backups are displayed here. Remote backups are stored in the " -"corresponding backup account." +"corresponding backup storage." msgstr "" -#: src/views/backup/ListView.vue:209 src/views/backup/ListView.vue:239 +#: src/views/backup/ListView.vue:213 src/views/backup/ListView.vue:243 msgid "Create Backup" msgstr "Create Backup" -#: src/views/backup/ListView.vue:212 src/views/backup/UploadModal.vue:39 +#: src/views/backup/ListView.vue:216 src/views/backup/UploadModal.vue:39 msgid "Upload Backup" msgstr "Upload Backup" -#: src/views/backup/ListView.vue:251 src/views/backup/ListView.vue:287 +#: src/views/backup/ListView.vue:255 src/views/backup/ListView.vue:291 msgid "Select website" msgstr "Select website" -#: src/views/backup/ListView.vue:254 +#: src/views/backup/ListView.vue:258 #: src/views/database/CreateDatabaseModal.vue:82 -#: src/views/database/DatabaseList.vue:34 src/views/task/CreateModal.vue:177 -#: src/views/task/CreateModal.vue:179 src/views/website/CreateModal.vue:191 +#: src/views/database/DatabaseList.vue:34 src/views/task/CreateModal.vue:179 +#: src/views/task/CreateModal.vue:181 src/views/website/CreateModal.vue:191 #: src/views/website/CreateModal.vue:196 msgid "Database Name" msgstr "Database Name" -#: src/views/backup/ListView.vue:259 +#: src/views/backup/ListView.vue:263 #: 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" -#: src/views/backup/ListView.vue:262 src/views/task/CreateModal.vue:181 +#: src/views/backup/ListView.vue:266 src/views/task/CreateModal.vue:183 #, fuzzy -msgid "Backup Account" -msgstr "Account" +msgid "Backup Storage" +msgstr "Backup Data" -#: src/views/backup/ListView.vue:266 src/views/task/CreateModal.vue:185 -msgid "Select backup account" -msgstr "" +#: src/views/backup/ListView.vue:270 src/views/task/CreateModal.vue:187 +#, fuzzy +msgid "Select backup storage" +msgstr "Select server" -#: src/views/backup/ListView.vue:275 +#: src/views/backup/ListView.vue:279 msgid "Restore Backup" msgstr "Restore Backup" +#: src/views/backup/StorageView.vue:26 src/views/backup/StorageView.vue:306 +#: src/views/backup/StorageView.vue:457 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 "Private Key" + +#: src/views/backup/StorageView.vue:66 +msgid "Local" +msgstr "" + +#: src/views/backup/StorageView.vue:75 +#, fuzzy +msgid "Created At" +msgstr "Create Host" + +#: src/views/backup/StorageView.vue:109 +#, fuzzy +msgid "Are you sure you want to delete this storage?" +msgstr "Are you sure you want to delete this user?" + +#: src/views/backup/StorageView.vue:163 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 "Updated successfully" + +#: src/views/backup/StorageView.vue:182 src/views/backup/StorageView.vue:210 +#, fuzzy +msgid "Add Storage" +msgstr "Add Server" + +#: src/views/backup/StorageView.vue:219 src/views/backup/StorageView.vue:370 +#, fuzzy +msgid "Enter storage name" +msgstr "Enter note name" + +#: src/views/backup/StorageView.vue:227 src/views/backup/StorageView.vue:378 +#, fuzzy +msgid "Access Key" +msgstr "Access Log" + +#: src/views/backup/StorageView.vue:230 src/views/backup/StorageView.vue:381 +#, fuzzy +msgid "Enter access key" +msgstr "Enter Aliyun Access Key" + +#: src/views/backup/StorageView.vue:233 src/views/backup/StorageView.vue:384 +#, fuzzy +msgid "Secret Key" +msgstr "Enter Aliyun Secret Key" + +#: src/views/backup/StorageView.vue:238 src/views/backup/StorageView.vue:389 +#, fuzzy +msgid "Enter secret key" +msgstr "Enter Aliyun Secret Key" + +#: src/views/backup/StorageView.vue:241 src/views/backup/StorageView.vue:392 +msgid "Style" +msgstr "" + +#: src/views/backup/StorageView.vue:244 src/views/backup/StorageView.vue:395 +msgid "Region" +msgstr "" + +#: src/views/backup/StorageView.vue:247 src/views/backup/StorageView.vue:398 +#, fuzzy +msgid "Enter region (e.g., us-east-1)" +msgstr "Enter mount directory (e.g., /oss)" + +#: src/views/backup/StorageView.vue:250 src/views/backup/StorageView.vue:401 +#, fuzzy +msgid "Endpoint" +msgstr "Entrypoint" + +#: src/views/backup/StorageView.vue:253 src/views/backup/StorageView.vue:404 +#, fuzzy +msgid "Enter endpoint URL" +msgstr "Entrypoint" + +#: src/views/backup/StorageView.vue:256 src/views/backup/StorageView.vue:407 +msgid "Bucket" +msgstr "" + +#: src/views/backup/StorageView.vue:259 src/views/backup/StorageView.vue:410 +#, fuzzy +msgid "Enter bucket name" +msgstr "Enter user name" + +#: src/views/backup/StorageView.vue:265 src/views/backup/StorageView.vue:349 +#: src/views/backup/StorageView.vue:416 src/views/backup/StorageView.vue:500 +#, fuzzy +msgid "Enter path (optional)" +msgstr "Optional" + +#: src/views/backup/StorageView.vue:273 src/views/backup/StorageView.vue:424 +#, fuzzy +msgid "Enter host" +msgstr "Container Name" + +#: src/views/backup/StorageView.vue:275 src/views/backup/StorageView.vue:426 +#: 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 +msgid "Port" +msgstr "Port" + +#: src/views/backup/StorageView.vue:280 src/views/backup/StorageView.vue:431 +#, fuzzy +msgid "Enter port" +msgstr "Container Name" + +#: src/views/backup/StorageView.vue:289 src/views/backup/StorageView.vue:440 +#, fuzzy +msgid "Auth Type" +msgstr "Match Type" + +#: src/views/backup/StorageView.vue:301 src/views/backup/StorageView.vue:343 +#: src/views/backup/StorageView.vue:452 src/views/backup/StorageView.vue:494 +#: src/views/container/ImageView.vue:400 +#: src/views/database/CreateDatabaseModal.vue:120 +#: src/views/database/CreateUserModal.vue:103 +#: src/views/database/UpdateUserModal.vue:61 +msgid "Enter password" +msgstr "Enter password" + +#: src/views/backup/StorageView.vue:313 src/views/backup/StorageView.vue:464 +#, fuzzy +msgid "Enter private key" +msgstr "Enter AK key" + +#: src/views/backup/StorageView.vue:319 src/views/backup/StorageView.vue:470 +#, fuzzy +msgid "Enter remote path" +msgstr "Container Name" + +#: src/views/backup/StorageView.vue:329 src/views/backup/StorageView.vue:480 +msgid "Enter WebDAV URL" +msgstr "" + +#: src/views/backup/StorageView.vue:361 +#, fuzzy +msgid "Edit Storage" +msgstr "Add User" + #: src/views/backup/UploadModal.vue:20 msgid "Upload %{ filename } successfully" msgstr "Upload %{ filename } successfully" @@ -3287,6 +3288,11 @@ msgstr "" msgid "Select website for certificate deployment" msgstr "Select website for certificate deployment" +#: src/views/cert/CertView.vue:466 src/views/cert/CreateCertModal.vue:98 +#: src/views/cert/IndexView.vue:97 +msgid "Account" +msgstr "Account" + #: src/views/cert/CertView.vue:470 src/views/cert/CreateCertModal.vue:101 msgid "Select account for certificate issuance" msgstr "Select account for certificate issuance" @@ -6358,55 +6364,55 @@ msgstr "Backup Type" msgid "Backup PostgreSQL" msgstr "" -#: src/views/task/CreateModal.vue:82 src/views/task/CreateModal.vue:136 -#: src/views/task/CronView.vue:48 +#: src/views/task/CreateModal.vue:83 src/views/task/CreateModal.vue:84 +#: src/views/task/CreateModal.vue:138 src/views/task/CronView.vue:48 msgid "Log Rotation" msgstr "Log Rotation" -#: src/views/task/CreateModal.vue:123 +#: src/views/task/CreateModal.vue:125 msgid "Create Scheduled Task" msgstr "Create Scheduled Task" -#: src/views/task/CreateModal.vue:130 src/views/task/CronView.vue:32 +#: src/views/task/CreateModal.vue:132 src/views/task/CronView.vue:32 msgid "Task Type" msgstr "Task Type" -#: src/views/task/CreateModal.vue:134 src/views/task/CronView.vue:45 +#: src/views/task/CreateModal.vue:136 src/views/task/CronView.vue:45 msgid "Run Script" msgstr "Run Script" -#: src/views/task/CreateModal.vue:135 src/views/task/CronView.vue:47 +#: src/views/task/CreateModal.vue:137 src/views/task/CronView.vue:47 msgid "Backup Data" msgstr "Backup Data" -#: src/views/task/CreateModal.vue:141 src/views/task/CreateModal.vue:142 +#: src/views/task/CreateModal.vue:143 src/views/task/CreateModal.vue:144 #: 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 "Task Name" -#: src/views/task/CreateModal.vue:144 src/views/task/CronView.vue:69 +#: src/views/task/CreateModal.vue:146 src/views/task/CronView.vue:69 #: src/views/task/CronView.vue:253 msgid "Task Schedule" msgstr "Task Schedule" -#: src/views/task/CreateModal.vue:148 +#: src/views/task/CreateModal.vue:150 msgid "Script Content" msgstr "Script Content" -#: src/views/task/CreateModal.vue:151 +#: src/views/task/CreateModal.vue:153 msgid "Backup Type" msgstr "Backup Type" -#: src/views/task/CreateModal.vue:155 +#: src/views/task/CreateModal.vue:157 msgid "MySQL Database" msgstr "MySQL Database" -#: src/views/task/CreateModal.vue:158 +#: src/views/task/CreateModal.vue:160 msgid "PostgreSQL Database" msgstr "PostgreSQL Database" -#: src/views/task/CreateModal.vue:188 +#: src/views/task/CreateModal.vue:190 msgid "Retention Count" msgstr "Retention Count" @@ -8091,6 +8097,26 @@ msgstr "" msgid "Enter the default cipher suite, leave blank to reset to default" msgstr "" +#, fuzzy +#~ msgid "Are you sure you want to delete this account?" +#~ msgstr "Are you sure you want to delete the account?" + +#, fuzzy +#~ msgid "Add Account" +#~ msgstr "Add Mount" + +#, fuzzy +#~ msgid "Enter account name" +#~ msgstr "Enter comment name" + +#, fuzzy +#~ msgid "Edit Account" +#~ msgstr "Modify Account" + +#, fuzzy +#~ msgid "Backup Account" +#~ msgstr "Account" + #~ msgid "Save Directory" #~ msgstr "Save Directory" diff --git a/web/src/locales/frontend.pot b/web/src/locales/frontend.pot index 887ca87c..4f7844de 100644 --- a/web/src/locales/frontend.pot +++ b/web/src/locales/frontend.pot @@ -278,9 +278,9 @@ msgstr "" #: src/views/apps/rsync/IndexView.vue:256 #: src/views/apps/supervisor/IndexView.vue:46 #: src/views/apps/supervisor/IndexView.vue:373 -#: src/views/backup/AccountView.vue:54 -#: src/views/backup/AccountView.vue:218 -#: src/views/backup/AccountView.vue:369 +#: src/views/backup/StorageView.vue:54 +#: src/views/backup/StorageView.vue:218 +#: src/views/backup/StorageView.vue:369 #: src/views/container/ComposeView.vue:57 #: src/views/container/NetworkView.vue:45 #: src/views/container/VolumeView.vue:26 @@ -352,8 +352,8 @@ msgstr "" #: src/components/common/PathSelector.vue:254 #: src/components/file-editor/FileTree.vue:284 #: src/views/app/TemplateDeployModal.vue:214 -#: src/views/backup/AccountView.vue:145 -#: src/views/backup/ListView.vue:125 +#: src/views/backup/ListView.vue:126 +#: src/views/backup/StorageView.vue:145 #: src/views/cert/CreateAccountModal.vue:52 #: src/views/cert/CreateCertModal.vue:50 #: src/views/cert/CreateDnsModal.vue:35 @@ -411,10 +411,10 @@ msgstr "" #: src/views/apps/rsync/IndexView.vue:305 #: src/views/apps/s3fs/IndexView.vue:181 #: src/views/apps/supervisor/IndexView.vue:409 -#: src/views/backup/AccountView.vue:354 -#: src/views/backup/AccountView.vue:505 -#: src/views/backup/ListView.vue:270 -#: src/views/backup/ListView.vue:294 +#: src/views/backup/ListView.vue:274 +#: src/views/backup/ListView.vue:298 +#: src/views/backup/StorageView.vue:354 +#: src/views/backup/StorageView.vue:505 #: src/views/cert/AccountView.vue:268 #: src/views/cert/CertView.vue:524 #: src/views/cert/CertView.vue:548 @@ -444,7 +444,7 @@ msgstr "" #: src/views/setting/TwoFaModal.vue:87 #: src/views/ssh/CreateModal.vue:109 #: src/views/ssh/UpdateModal.vue:115 -#: src/views/task/CreateModal.vue:193 +#: src/views/task/CreateModal.vue:195 msgid "Submit" msgstr "" @@ -1144,8 +1144,8 @@ msgstr "" #: src/views/apps/pureftpd/IndexView.vue:88 #: src/views/apps/rsync/IndexView.vue:105 #: src/views/apps/supervisor/IndexView.vue:195 -#: src/views/backup/AccountView.vue:120 #: src/views/backup/ListView.vue:99 +#: src/views/backup/StorageView.vue:120 #: src/views/cert/AccountView.vue:127 #: src/views/cert/CertView.vue:303 #: src/views/cert/DnsView.vue:111 @@ -1214,8 +1214,8 @@ msgstr "" #: src/views/apps/rsync/IndexView.vue:158 #: src/views/apps/s3fs/IndexView.vue:89 #: src/views/apps/supervisor/IndexView.vue:261 -#: src/views/backup/AccountView.vue:170 #: src/views/backup/ListView.vue:148 +#: src/views/backup/StorageView.vue:170 #: src/views/container/ImageView.vue:156 #: src/views/container/NetworkView.vue:175 #: src/views/container/VolumeView.vue:129 @@ -1377,7 +1377,7 @@ msgid "Container" msgstr "" #: src/locales/menu.ts:11 -#: src/views/backup/ListView.vue:290 +#: src/views/backup/ListView.vue:294 #: src/views/database/IndexView.vue:27 #: src/views/home/IndexView.vue:453 #: src/views/website/CreateModal.vue:170 @@ -1428,13 +1428,13 @@ msgstr "" #: src/locales/menu.ts:23 #: src/views/apps/fail2ban/IndexView.vue:315 #: src/views/backup/IndexView.vue:38 -#: src/views/backup/ListView.vue:247 -#: src/views/backup/ListView.vue:283 +#: src/views/backup/ListView.vue:251 +#: src/views/backup/ListView.vue:287 #: 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:153 +#: src/views/task/CreateModal.vue:155 msgid "Website" msgstr "" @@ -1507,8 +1507,8 @@ msgstr "" #: src/views/apps/rsync/IndexView.vue:68 #: src/views/apps/s3fs/IndexView.vue:32 #: src/views/apps/supervisor/IndexView.vue:74 -#: src/views/backup/AccountView.vue:83 #: src/views/backup/ListView.vue:60 +#: src/views/backup/StorageView.vue:83 #: src/views/cert/AccountView.vue:79 #: src/views/cert/CertView.vue:170 #: src/views/cert/DnsView.vue:64 @@ -2211,9 +2211,9 @@ msgid "Protected ports are automatically obtained. If you modify the port corres msgstr "" #: src/views/apps/fail2ban/IndexView.vue:311 -#: src/views/backup/AccountView.vue:61 -#: src/views/backup/AccountView.vue:221 -#: src/views/backup/AccountView.vue:372 +#: src/views/backup/StorageView.vue:61 +#: src/views/backup/StorageView.vue:221 +#: src/views/backup/StorageView.vue:372 #: src/views/cert/CertView.vue:86 #: src/views/cert/DnsView.vue:38 #: src/views/cert/ObtainModal.vue:58 @@ -2234,8 +2234,8 @@ msgstr "" #: src/views/apps/fail2ban/IndexView.vue:321 #: src/views/apps/fail2ban/IndexView.vue:325 -#: src/views/task/CreateModal.vue:167 -#: src/views/task/CreateModal.vue:172 +#: src/views/task/CreateModal.vue:169 +#: src/views/task/CreateModal.vue:174 msgid "Select Website" msgstr "" @@ -2245,12 +2245,12 @@ msgstr "" #: src/views/apps/fail2ban/IndexView.vue:333 #: src/views/apps/pureftpd/IndexView.vue:39 -#: src/views/backup/AccountView.vue:262 -#: src/views/backup/AccountView.vue:316 -#: src/views/backup/AccountView.vue:346 -#: src/views/backup/AccountView.vue:413 -#: src/views/backup/AccountView.vue:467 -#: src/views/backup/AccountView.vue:497 +#: src/views/backup/StorageView.vue:262 +#: src/views/backup/StorageView.vue:316 +#: src/views/backup/StorageView.vue:346 +#: src/views/backup/StorageView.vue:413 +#: src/views/backup/StorageView.vue:467 +#: src/views/backup/StorageView.vue:497 #: src/views/log/HttpLog.vue:64 msgid "Path" msgstr "" @@ -2408,7 +2408,7 @@ msgstr "" #: src/views/apps/nginx/NginxIndex.vue:197 #: src/views/apps/nginx/NginxIndex.vue:273 -#: src/views/backup/AccountView.vue:100 +#: src/views/backup/StorageView.vue:100 #: src/views/container/ComposeView.vue:122 #: src/views/file/ListView.vue:332 #: src/views/file/ListView.vue:1563 @@ -2666,10 +2666,10 @@ msgstr "" #: src/views/apps/pureftpd/IndexView.vue:32 #: src/views/apps/pureftpd/IndexView.vue:214 -#: src/views/backup/AccountView.vue:283 -#: src/views/backup/AccountView.vue:332 -#: src/views/backup/AccountView.vue:434 -#: src/views/backup/AccountView.vue:483 +#: src/views/backup/StorageView.vue:283 +#: src/views/backup/StorageView.vue:332 +#: src/views/backup/StorageView.vue:434 +#: src/views/backup/StorageView.vue:483 #: src/views/container/ImageView.vue:386 #: src/views/database/CreateDatabaseModal.vue:105 #: src/views/database/CreateServerModal.vue:94 @@ -2720,10 +2720,10 @@ msgid "Create User" msgstr "" #: src/views/apps/pureftpd/IndexView.vue:219 -#: src/views/backup/AccountView.vue:286 -#: src/views/backup/AccountView.vue:335 -#: src/views/backup/AccountView.vue:437 -#: src/views/backup/AccountView.vue:486 +#: src/views/backup/StorageView.vue:286 +#: src/views/backup/StorageView.vue:335 +#: src/views/backup/StorageView.vue:437 +#: src/views/backup/StorageView.vue:486 #: src/views/container/ImageView.vue:391 #: src/views/database/CreateDatabaseModal.vue:110 #: src/views/database/CreateUserModal.vue:93 @@ -2734,11 +2734,11 @@ msgstr "" #: src/views/apps/pureftpd/IndexView.vue:253 #: src/views/apps/rsync/IndexView.vue:280 #: src/views/apps/rsync/IndexView.vue:334 -#: src/views/backup/AccountView.vue:25 -#: src/views/backup/AccountView.vue:294 -#: src/views/backup/AccountView.vue:338 -#: src/views/backup/AccountView.vue:445 -#: src/views/backup/AccountView.vue:489 +#: src/views/backup/StorageView.vue:25 +#: src/views/backup/StorageView.vue:294 +#: src/views/backup/StorageView.vue:338 +#: src/views/backup/StorageView.vue:445 +#: src/views/backup/StorageView.vue:489 #: src/views/container/ImageView.vue:394 #: src/views/database/CreateDatabaseModal.vue:113 #: src/views/database/CreateServerModal.vue:102 @@ -2785,10 +2785,10 @@ msgstr "" #: src/views/apps/rsync/IndexView.vue:60 #: src/views/apps/rsync/IndexView.vue:288 #: src/views/apps/rsync/IndexView.vue:343 -#: src/views/backup/AccountView.vue:272 -#: src/views/backup/AccountView.vue:326 -#: src/views/backup/AccountView.vue:423 -#: src/views/backup/AccountView.vue:477 +#: src/views/backup/StorageView.vue:272 +#: src/views/backup/StorageView.vue:326 +#: src/views/backup/StorageView.vue:423 +#: src/views/backup/StorageView.vue:477 #: src/views/database/CreateDatabaseModal.vue:127 #: src/views/database/CreateServerModal.vue:73 #: src/views/database/ServerList.vue:115 @@ -2988,176 +2988,8 @@ msgstr "" msgid "Process Configuration" msgstr "" -#: src/views/backup/AccountView.vue:26 -#: src/views/backup/AccountView.vue:306 -#: src/views/backup/AccountView.vue:457 -#: 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/backup/AccountView.vue:66 -msgid "Local" -msgstr "" - -#: src/views/backup/AccountView.vue:75 -msgid "Created At" -msgstr "" - -#: src/views/backup/AccountView.vue:109 -msgid "Are you sure you want to delete this account?" -msgstr "" - -#: src/views/backup/AccountView.vue:163 -#: 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 "" - -#: src/views/backup/AccountView.vue:182 -#: src/views/backup/AccountView.vue:210 -msgid "Add Account" -msgstr "" - -#: src/views/backup/AccountView.vue:219 -#: src/views/backup/AccountView.vue:370 -msgid "Enter account name" -msgstr "" - -#: src/views/backup/AccountView.vue:227 -#: src/views/backup/AccountView.vue:378 -msgid "Access Key" -msgstr "" - -#: src/views/backup/AccountView.vue:230 -#: src/views/backup/AccountView.vue:381 -msgid "Enter access key" -msgstr "" - -#: src/views/backup/AccountView.vue:233 -#: src/views/backup/AccountView.vue:384 -msgid "Secret Key" -msgstr "" - -#: src/views/backup/AccountView.vue:238 -#: src/views/backup/AccountView.vue:389 -msgid "Enter secret key" -msgstr "" - -#: src/views/backup/AccountView.vue:241 -#: src/views/backup/AccountView.vue:392 -msgid "Style" -msgstr "" - -#: src/views/backup/AccountView.vue:244 -#: src/views/backup/AccountView.vue:395 -msgid "Region" -msgstr "" - -#: src/views/backup/AccountView.vue:247 -#: src/views/backup/AccountView.vue:398 -msgid "Enter region (e.g., us-east-1)" -msgstr "" - -#: src/views/backup/AccountView.vue:250 -#: src/views/backup/AccountView.vue:401 -msgid "Endpoint" -msgstr "" - -#: src/views/backup/AccountView.vue:253 -#: src/views/backup/AccountView.vue:404 -msgid "Enter endpoint URL" -msgstr "" - -#: src/views/backup/AccountView.vue:256 -#: src/views/backup/AccountView.vue:407 -msgid "Bucket" -msgstr "" - -#: src/views/backup/AccountView.vue:259 -#: src/views/backup/AccountView.vue:410 -msgid "Enter bucket name" -msgstr "" - -#: src/views/backup/AccountView.vue:265 -#: src/views/backup/AccountView.vue:349 -#: src/views/backup/AccountView.vue:416 -#: src/views/backup/AccountView.vue:500 -msgid "Enter path (optional)" -msgstr "" - -#: src/views/backup/AccountView.vue:273 -#: src/views/backup/AccountView.vue:424 -msgid "Enter host" -msgstr "" - -#: src/views/backup/AccountView.vue:275 -#: src/views/backup/AccountView.vue:426 -#: 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 -msgid "Port" -msgstr "" - -#: src/views/backup/AccountView.vue:280 -#: src/views/backup/AccountView.vue:431 -msgid "Enter port" -msgstr "" - -#: src/views/backup/AccountView.vue:289 -#: src/views/backup/AccountView.vue:440 -msgid "Auth Type" -msgstr "" - -#: src/views/backup/AccountView.vue:301 -#: src/views/backup/AccountView.vue:343 -#: src/views/backup/AccountView.vue:452 -#: src/views/backup/AccountView.vue:494 -#: src/views/container/ImageView.vue:400 -#: src/views/database/CreateDatabaseModal.vue:120 -#: src/views/database/CreateUserModal.vue:103 -#: src/views/database/UpdateUserModal.vue:61 -msgid "Enter password" -msgstr "" - -#: src/views/backup/AccountView.vue:313 -#: src/views/backup/AccountView.vue:464 -msgid "Enter private key" -msgstr "" - -#: src/views/backup/AccountView.vue:319 -#: src/views/backup/AccountView.vue:470 -msgid "Enter remote path" -msgstr "" - -#: src/views/backup/AccountView.vue:329 -#: src/views/backup/AccountView.vue:480 -msgid "Enter WebDAV URL" -msgstr "" - -#: src/views/backup/AccountView.vue:361 -msgid "Edit Account" -msgstr "" - #: src/views/backup/IndexView.vue:41 -#: src/views/cert/CertView.vue:466 -#: src/views/cert/CreateCertModal.vue:98 -#: src/views/cert/IndexView.vue:97 -msgid "Account" +msgid "Storage" msgstr "" #: src/views/backup/ListView.vue:38 @@ -3182,56 +3014,221 @@ msgstr "" msgid "Restored successfully" msgstr "" -#: src/views/backup/ListView.vue:205 -msgid "Only local backups are displayed here. Remote backups are stored in the corresponding backup account." +#: src/views/backup/ListView.vue:206 +msgid "Only local backups are displayed here. Remote backups are stored in the corresponding backup storage." msgstr "" -#: src/views/backup/ListView.vue:209 -#: src/views/backup/ListView.vue:239 +#: src/views/backup/ListView.vue:213 +#: src/views/backup/ListView.vue:243 msgid "Create Backup" msgstr "" -#: src/views/backup/ListView.vue:212 +#: src/views/backup/ListView.vue:216 #: src/views/backup/UploadModal.vue:39 msgid "Upload Backup" msgstr "" -#: src/views/backup/ListView.vue:251 -#: src/views/backup/ListView.vue:287 +#: src/views/backup/ListView.vue:255 +#: src/views/backup/ListView.vue:291 msgid "Select website" msgstr "" -#: src/views/backup/ListView.vue:254 +#: src/views/backup/ListView.vue:258 #: src/views/database/CreateDatabaseModal.vue:82 #: src/views/database/DatabaseList.vue:34 -#: src/views/task/CreateModal.vue:177 #: src/views/task/CreateModal.vue:179 +#: src/views/task/CreateModal.vue:181 #: src/views/website/CreateModal.vue:191 #: src/views/website/CreateModal.vue:196 msgid "Database Name" msgstr "" -#: src/views/backup/ListView.vue:259 +#: src/views/backup/ListView.vue:263 #: 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:262 -#: src/views/task/CreateModal.vue:181 -msgid "Backup Account" -msgstr "" - #: src/views/backup/ListView.vue:266 -#: src/views/task/CreateModal.vue:185 -msgid "Select backup account" +#: src/views/task/CreateModal.vue:183 +msgid "Backup Storage" msgstr "" -#: src/views/backup/ListView.vue:275 +#: src/views/backup/ListView.vue:270 +#: src/views/task/CreateModal.vue:187 +msgid "Select backup storage" +msgstr "" + +#: src/views/backup/ListView.vue:279 msgid "Restore Backup" msgstr "" +#: src/views/backup/StorageView.vue:26 +#: src/views/backup/StorageView.vue:306 +#: src/views/backup/StorageView.vue:457 +#: 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/backup/StorageView.vue:66 +msgid "Local" +msgstr "" + +#: src/views/backup/StorageView.vue:75 +msgid "Created At" +msgstr "" + +#: src/views/backup/StorageView.vue:109 +msgid "Are you sure you want to delete this storage?" +msgstr "" + +#: src/views/backup/StorageView.vue:163 +#: 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 "" + +#: src/views/backup/StorageView.vue:182 +#: src/views/backup/StorageView.vue:210 +msgid "Add Storage" +msgstr "" + +#: src/views/backup/StorageView.vue:219 +#: src/views/backup/StorageView.vue:370 +msgid "Enter storage name" +msgstr "" + +#: src/views/backup/StorageView.vue:227 +#: src/views/backup/StorageView.vue:378 +msgid "Access Key" +msgstr "" + +#: src/views/backup/StorageView.vue:230 +#: src/views/backup/StorageView.vue:381 +msgid "Enter access key" +msgstr "" + +#: src/views/backup/StorageView.vue:233 +#: src/views/backup/StorageView.vue:384 +msgid "Secret Key" +msgstr "" + +#: src/views/backup/StorageView.vue:238 +#: src/views/backup/StorageView.vue:389 +msgid "Enter secret key" +msgstr "" + +#: src/views/backup/StorageView.vue:241 +#: src/views/backup/StorageView.vue:392 +msgid "Style" +msgstr "" + +#: src/views/backup/StorageView.vue:244 +#: src/views/backup/StorageView.vue:395 +msgid "Region" +msgstr "" + +#: src/views/backup/StorageView.vue:247 +#: src/views/backup/StorageView.vue:398 +msgid "Enter region (e.g., us-east-1)" +msgstr "" + +#: src/views/backup/StorageView.vue:250 +#: src/views/backup/StorageView.vue:401 +msgid "Endpoint" +msgstr "" + +#: src/views/backup/StorageView.vue:253 +#: src/views/backup/StorageView.vue:404 +msgid "Enter endpoint URL" +msgstr "" + +#: src/views/backup/StorageView.vue:256 +#: src/views/backup/StorageView.vue:407 +msgid "Bucket" +msgstr "" + +#: src/views/backup/StorageView.vue:259 +#: src/views/backup/StorageView.vue:410 +msgid "Enter bucket name" +msgstr "" + +#: src/views/backup/StorageView.vue:265 +#: src/views/backup/StorageView.vue:349 +#: src/views/backup/StorageView.vue:416 +#: src/views/backup/StorageView.vue:500 +msgid "Enter path (optional)" +msgstr "" + +#: src/views/backup/StorageView.vue:273 +#: src/views/backup/StorageView.vue:424 +msgid "Enter host" +msgstr "" + +#: src/views/backup/StorageView.vue:275 +#: src/views/backup/StorageView.vue:426 +#: 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 +msgid "Port" +msgstr "" + +#: src/views/backup/StorageView.vue:280 +#: src/views/backup/StorageView.vue:431 +msgid "Enter port" +msgstr "" + +#: src/views/backup/StorageView.vue:289 +#: src/views/backup/StorageView.vue:440 +msgid "Auth Type" +msgstr "" + +#: src/views/backup/StorageView.vue:301 +#: src/views/backup/StorageView.vue:343 +#: src/views/backup/StorageView.vue:452 +#: src/views/backup/StorageView.vue:494 +#: src/views/container/ImageView.vue:400 +#: src/views/database/CreateDatabaseModal.vue:120 +#: src/views/database/CreateUserModal.vue:103 +#: src/views/database/UpdateUserModal.vue:61 +msgid "Enter password" +msgstr "" + +#: src/views/backup/StorageView.vue:313 +#: src/views/backup/StorageView.vue:464 +msgid "Enter private key" +msgstr "" + +#: src/views/backup/StorageView.vue:319 +#: src/views/backup/StorageView.vue:470 +msgid "Enter remote path" +msgstr "" + +#: src/views/backup/StorageView.vue:329 +#: src/views/backup/StorageView.vue:480 +msgid "Enter WebDAV URL" +msgstr "" + +#: src/views/backup/StorageView.vue:361 +msgid "Edit Storage" +msgstr "" + #: src/views/backup/UploadModal.vue:20 msgid "Upload %{ filename } successfully" msgstr "" @@ -3414,6 +3411,12 @@ msgstr "" msgid "Select website for certificate deployment" msgstr "" +#: 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 msgid "Select account for certificate issuance" @@ -6404,34 +6407,34 @@ msgstr "" msgid "Backup PostgreSQL" msgstr "" -#: src/views/task/CreateModal.vue:82 -#: src/views/task/CreateModal.vue:82 -#: src/views/task/CreateModal.vue:136 +#: src/views/task/CreateModal.vue:83 +#: src/views/task/CreateModal.vue:84 +#: src/views/task/CreateModal.vue:138 #: src/views/task/CronView.vue:48 msgid "Log Rotation" msgstr "" -#: src/views/task/CreateModal.vue:123 +#: src/views/task/CreateModal.vue:125 msgid "Create Scheduled Task" msgstr "" -#: src/views/task/CreateModal.vue:130 +#: src/views/task/CreateModal.vue:132 #: src/views/task/CronView.vue:32 msgid "Task Type" msgstr "" -#: src/views/task/CreateModal.vue:134 +#: src/views/task/CreateModal.vue:136 #: src/views/task/CronView.vue:45 msgid "Run Script" msgstr "" -#: src/views/task/CreateModal.vue:135 +#: src/views/task/CreateModal.vue:137 #: src/views/task/CronView.vue:47 msgid "Backup Data" msgstr "" -#: src/views/task/CreateModal.vue:141 -#: src/views/task/CreateModal.vue:142 +#: src/views/task/CreateModal.vue:143 +#: src/views/task/CreateModal.vue:144 #: src/views/task/CronView.vue:25 #: src/views/task/CronView.vue:250 #: src/views/task/CronView.vue:251 @@ -6439,29 +6442,29 @@ msgstr "" msgid "Task Name" msgstr "" -#: src/views/task/CreateModal.vue:144 +#: src/views/task/CreateModal.vue:146 #: src/views/task/CronView.vue:69 #: src/views/task/CronView.vue:253 msgid "Task Schedule" msgstr "" -#: src/views/task/CreateModal.vue:148 +#: src/views/task/CreateModal.vue:150 msgid "Script Content" msgstr "" -#: src/views/task/CreateModal.vue:151 +#: src/views/task/CreateModal.vue:153 msgid "Backup Type" msgstr "" -#: src/views/task/CreateModal.vue:155 +#: src/views/task/CreateModal.vue:157 msgid "MySQL Database" msgstr "" -#: src/views/task/CreateModal.vue:158 +#: src/views/task/CreateModal.vue:160 msgid "PostgreSQL Database" msgstr "" -#: src/views/task/CreateModal.vue:188 +#: src/views/task/CreateModal.vue:190 msgid "Retention Count" msgstr "" diff --git a/web/src/locales/zh_CN.po b/web/src/locales/zh_CN.po index ba798840..290b6cad 100644 --- a/web/src/locales/zh_CN.po +++ b/web/src/locales/zh_CN.po @@ -271,8 +271,8 @@ msgstr "选择文件" #: 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/backup/AccountView.vue:54 src/views/backup/AccountView.vue:218 -#: src/views/backup/AccountView.vue:369 src/views/container/ComposeView.vue:57 +#: src/views/backup/StorageView.vue:54 src/views/backup/StorageView.vue:218 +#: src/views/backup/StorageView.vue:369 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:68 @@ -323,8 +323,8 @@ msgstr "无效的名称" #: src/components/common/PathSelector.vue:254 #: src/components/file-editor/FileTree.vue:284 -#: src/views/app/TemplateDeployModal.vue:214 -#: src/views/backup/AccountView.vue:145 src/views/backup/ListView.vue:125 +#: src/views/app/TemplateDeployModal.vue:214 src/views/backup/ListView.vue:126 +#: src/views/backup/StorageView.vue:145 #: src/views/cert/CreateAccountModal.vue:52 #: src/views/cert/CreateCertModal.vue:50 src/views/cert/CreateDnsModal.vue:35 #: src/views/cert/UploadCertModal.vue:21 @@ -373,8 +373,8 @@ msgstr "根目录" #: src/views/apps/pureftpd/IndexView.vue:264 #: src/views/apps/rsync/IndexView.vue:305 src/views/apps/s3fs/IndexView.vue:181 #: src/views/apps/supervisor/IndexView.vue:409 -#: src/views/backup/AccountView.vue:354 src/views/backup/AccountView.vue:505 -#: src/views/backup/ListView.vue:270 src/views/backup/ListView.vue:294 +#: src/views/backup/ListView.vue:274 src/views/backup/ListView.vue:298 +#: src/views/backup/StorageView.vue:354 src/views/backup/StorageView.vue:505 #: 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 @@ -396,7 +396,7 @@ msgstr "根目录" #: 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:193 +#: src/views/task/CreateModal.vue:195 msgid "Submit" msgstr "提交" @@ -1026,10 +1026,10 @@ 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/AccountView.vue:120 src/views/backup/ListView.vue:99 -#: 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:99 +#: src/views/backup/StorageView.vue:120 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 @@ -1078,7 +1078,7 @@ msgstr "您确定要删除 %{ name } 吗?" #: src/views/apps/pureftpd/IndexView.vue:145 #: src/views/apps/rsync/IndexView.vue:158 src/views/apps/s3fs/IndexView.vue:89 #: src/views/apps/supervisor/IndexView.vue:261 -#: src/views/backup/AccountView.vue:170 src/views/backup/ListView.vue:148 +#: src/views/backup/ListView.vue:148 src/views/backup/StorageView.vue:170 #: src/views/container/ImageView.vue:156 #: src/views/container/NetworkView.vue:175 #: src/views/container/VolumeView.vue:129 @@ -1218,7 +1218,7 @@ msgstr "证书" msgid "Container" msgstr "容器" -#: src/locales/menu.ts:11 src/views/backup/ListView.vue:290 +#: src/locales/menu.ts:11 src/views/backup/ListView.vue:294 #: src/views/database/IndexView.vue:27 src/views/home/IndexView.vue:453 #: src/views/website/CreateModal.vue:170 msgid "Database" @@ -1264,10 +1264,10 @@ msgid "Update" msgstr "更新" #: src/locales/menu.ts:23 src/views/apps/fail2ban/IndexView.vue:315 -#: src/views/backup/IndexView.vue:38 src/views/backup/ListView.vue:247 -#: src/views/backup/ListView.vue:283 src/views/cert/CertView.vue:455 +#: src/views/backup/IndexView.vue:38 src/views/backup/ListView.vue:251 +#: src/views/backup/ListView.vue:287 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:153 +#: src/views/home/IndexView.vue:449 src/views/task/CreateModal.vue:155 msgid "Website" msgstr "网站" @@ -1331,10 +1331,10 @@ msgstr "在主页显示" #: 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/AccountView.vue:83 src/views/backup/ListView.vue:60 -#: 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/supervisor/IndexView.vue:74 src/views/backup/ListView.vue:60 +#: src/views/backup/StorageView.vue:83 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 @@ -2026,8 +2026,8 @@ msgstr "" "则,否则保护可能无效" #: src/views/apps/fail2ban/IndexView.vue:311 -#: src/views/backup/AccountView.vue:61 src/views/backup/AccountView.vue:221 -#: src/views/backup/AccountView.vue:372 src/views/cert/CertView.vue:86 +#: src/views/backup/StorageView.vue:61 src/views/backup/StorageView.vue:221 +#: src/views/backup/StorageView.vue:372 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:45 @@ -2042,8 +2042,8 @@ msgid "Service" msgstr "服务" #: src/views/apps/fail2ban/IndexView.vue:321 -#: src/views/apps/fail2ban/IndexView.vue:325 src/views/task/CreateModal.vue:167 -#: src/views/task/CreateModal.vue:172 +#: src/views/apps/fail2ban/IndexView.vue:325 src/views/task/CreateModal.vue:169 +#: src/views/task/CreateModal.vue:174 msgid "Select Website" msgstr "选择网站" @@ -2053,9 +2053,9 @@ msgstr "保护模式" #: src/views/apps/fail2ban/IndexView.vue:333 #: src/views/apps/pureftpd/IndexView.vue:39 -#: src/views/backup/AccountView.vue:262 src/views/backup/AccountView.vue:316 -#: src/views/backup/AccountView.vue:346 src/views/backup/AccountView.vue:413 -#: src/views/backup/AccountView.vue:467 src/views/backup/AccountView.vue:497 +#: src/views/backup/StorageView.vue:262 src/views/backup/StorageView.vue:316 +#: src/views/backup/StorageView.vue:346 src/views/backup/StorageView.vue:413 +#: src/views/backup/StorageView.vue:467 src/views/backup/StorageView.vue:497 #: src/views/log/HttpLog.vue:64 msgid "Path" msgstr "路径" @@ -2195,7 +2195,7 @@ msgid "Proxy Pass" msgstr "代理目标" #: src/views/apps/nginx/NginxIndex.vue:197 -#: src/views/apps/nginx/NginxIndex.vue:273 src/views/backup/AccountView.vue:100 +#: src/views/apps/nginx/NginxIndex.vue:273 src/views/backup/StorageView.vue:100 #: src/views/container/ComposeView.vue:122 src/views/file/ListView.vue:332 #: src/views/file/ListView.vue:1563 src/views/project/ListView.vue:178 #: src/views/ssh/IndexView.vue:69 src/views/task/CronView.vue:128 @@ -2456,8 +2456,8 @@ msgstr "慢日志" #: src/views/apps/pureftpd/IndexView.vue:32 #: src/views/apps/pureftpd/IndexView.vue:214 -#: src/views/backup/AccountView.vue:283 src/views/backup/AccountView.vue:332 -#: src/views/backup/AccountView.vue:434 src/views/backup/AccountView.vue:483 +#: src/views/backup/StorageView.vue:283 src/views/backup/StorageView.vue:332 +#: src/views/backup/StorageView.vue:434 src/views/backup/StorageView.vue:483 #: src/views/container/ImageView.vue:386 #: src/views/database/CreateDatabaseModal.vue:105 #: src/views/database/CreateServerModal.vue:94 @@ -2504,8 +2504,8 @@ msgid "Create User" msgstr "创建用户" #: src/views/apps/pureftpd/IndexView.vue:219 -#: src/views/backup/AccountView.vue:286 src/views/backup/AccountView.vue:335 -#: src/views/backup/AccountView.vue:437 src/views/backup/AccountView.vue:486 +#: src/views/backup/StorageView.vue:286 src/views/backup/StorageView.vue:335 +#: src/views/backup/StorageView.vue:437 src/views/backup/StorageView.vue:486 #: src/views/container/ImageView.vue:391 #: src/views/database/CreateDatabaseModal.vue:110 #: src/views/database/CreateUserModal.vue:93 @@ -2515,9 +2515,9 @@ 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/backup/AccountView.vue:25 -#: src/views/backup/AccountView.vue:294 src/views/backup/AccountView.vue:338 -#: src/views/backup/AccountView.vue:445 src/views/backup/AccountView.vue:489 +#: src/views/apps/rsync/IndexView.vue:334 src/views/backup/StorageView.vue:25 +#: src/views/backup/StorageView.vue:294 src/views/backup/StorageView.vue:338 +#: src/views/backup/StorageView.vue:445 src/views/backup/StorageView.vue:489 #: src/views/container/ImageView.vue:394 #: src/views/database/CreateDatabaseModal.vue:113 #: src/views/database/CreateServerModal.vue:102 @@ -2558,9 +2558,9 @@ msgstr "" "这将修改 Redis 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" #: src/views/apps/rsync/IndexView.vue:60 src/views/apps/rsync/IndexView.vue:288 -#: src/views/apps/rsync/IndexView.vue:343 src/views/backup/AccountView.vue:272 -#: src/views/backup/AccountView.vue:326 src/views/backup/AccountView.vue:423 -#: src/views/backup/AccountView.vue:477 +#: src/views/apps/rsync/IndexView.vue:343 src/views/backup/StorageView.vue:272 +#: src/views/backup/StorageView.vue:326 src/views/backup/StorageView.vue:423 +#: src/views/backup/StorageView.vue:477 #: src/views/database/CreateDatabaseModal.vue:127 #: src/views/database/CreateServerModal.vue:73 #: src/views/database/ServerList.vue:115 @@ -2758,159 +2758,10 @@ msgstr "进程数量" msgid "Process Configuration" msgstr "进程配置" -#: src/views/backup/AccountView.vue:26 src/views/backup/AccountView.vue:306 -#: src/views/backup/AccountView.vue:457 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/backup/AccountView.vue:66 -msgid "Local" -msgstr "" - -#: src/views/backup/AccountView.vue:75 +#: src/views/backup/IndexView.vue:41 #, fuzzy -msgid "Created At" -msgstr "创建主机" - -#: src/views/backup/AccountView.vue:109 -#, fuzzy -msgid "Are you sure you want to delete this account?" -msgstr "您确定要删除该账户吗?" - -#: src/views/backup/AccountView.vue:163 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 "更新成功" - -#: src/views/backup/AccountView.vue:182 src/views/backup/AccountView.vue:210 -#, fuzzy -msgid "Add Account" -msgstr "添加挂载" - -#: src/views/backup/AccountView.vue:219 src/views/backup/AccountView.vue:370 -#, fuzzy -msgid "Enter account name" -msgstr "输入备注名称" - -#: src/views/backup/AccountView.vue:227 src/views/backup/AccountView.vue:378 -#, fuzzy -msgid "Access Key" -msgstr "访问日志" - -#: src/views/backup/AccountView.vue:230 src/views/backup/AccountView.vue:381 -#, fuzzy -msgid "Enter access key" -msgstr "输入阿里云 Access Key" - -#: src/views/backup/AccountView.vue:233 src/views/backup/AccountView.vue:384 -#, fuzzy -msgid "Secret Key" -msgstr "输入阿里云 Secret Key" - -#: src/views/backup/AccountView.vue:238 src/views/backup/AccountView.vue:389 -#, fuzzy -msgid "Enter secret key" -msgstr "输入阿里云 Secret Key" - -#: src/views/backup/AccountView.vue:241 src/views/backup/AccountView.vue:392 -msgid "Style" -msgstr "" - -#: src/views/backup/AccountView.vue:244 src/views/backup/AccountView.vue:395 -msgid "Region" -msgstr "" - -#: src/views/backup/AccountView.vue:247 src/views/backup/AccountView.vue:398 -#, fuzzy -msgid "Enter region (e.g., us-east-1)" -msgstr "输入挂载目录(例如,/oss)" - -#: src/views/backup/AccountView.vue:250 src/views/backup/AccountView.vue:401 -#, fuzzy -msgid "Endpoint" -msgstr "入口点" - -#: src/views/backup/AccountView.vue:253 src/views/backup/AccountView.vue:404 -#, fuzzy -msgid "Enter endpoint URL" -msgstr "入口点" - -#: src/views/backup/AccountView.vue:256 src/views/backup/AccountView.vue:407 -msgid "Bucket" -msgstr "" - -#: src/views/backup/AccountView.vue:259 src/views/backup/AccountView.vue:410 -#, fuzzy -msgid "Enter bucket name" -msgstr "输入用户名" - -#: src/views/backup/AccountView.vue:265 src/views/backup/AccountView.vue:349 -#: src/views/backup/AccountView.vue:416 src/views/backup/AccountView.vue:500 -#, fuzzy -msgid "Enter path (optional)" -msgstr "IP(可选)" - -#: src/views/backup/AccountView.vue:273 src/views/backup/AccountView.vue:424 -#, fuzzy -msgid "Enter host" -msgstr "输入路径" - -#: src/views/backup/AccountView.vue:275 src/views/backup/AccountView.vue:426 -#: 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 -msgid "Port" -msgstr "端口" - -#: src/views/backup/AccountView.vue:280 src/views/backup/AccountView.vue:431 -#, fuzzy -msgid "Enter port" -msgstr "输入路径" - -#: src/views/backup/AccountView.vue:289 src/views/backup/AccountView.vue:440 -#, fuzzy -msgid "Auth Type" -msgstr "匹配类型" - -#: src/views/backup/AccountView.vue:301 src/views/backup/AccountView.vue:343 -#: src/views/backup/AccountView.vue:452 src/views/backup/AccountView.vue:494 -#: src/views/container/ImageView.vue:400 -#: src/views/database/CreateDatabaseModal.vue:120 -#: src/views/database/CreateUserModal.vue:103 -#: src/views/database/UpdateUserModal.vue:61 -msgid "Enter password" -msgstr "输入密码" - -#: src/views/backup/AccountView.vue:313 src/views/backup/AccountView.vue:464 -#, fuzzy -msgid "Enter private key" -msgstr "输入 AK 密钥" - -#: src/views/backup/AccountView.vue:319 src/views/backup/AccountView.vue:470 -#, fuzzy -msgid "Enter remote path" -msgstr "输入路径" - -#: src/views/backup/AccountView.vue:329 src/views/backup/AccountView.vue:480 -msgid "Enter WebDAV URL" -msgstr "" - -#: src/views/backup/AccountView.vue:361 -#, fuzzy -msgid "Edit Account" -msgstr "修改账户" - -#: src/views/backup/IndexView.vue:41 src/views/cert/CertView.vue:466 -#: src/views/cert/CreateCertModal.vue:98 src/views/cert/IndexView.vue:97 -msgid "Account" -msgstr "账户" +msgid "Storage" +msgstr "存储驱动" #: src/views/backup/ListView.vue:38 msgid "Filename" @@ -2933,52 +2784,202 @@ msgstr "正在恢复……" msgid "Restored successfully" msgstr "恢复成功" -#: src/views/backup/ListView.vue:205 +#: src/views/backup/ListView.vue:206 msgid "" "Only local backups are displayed here. Remote backups are stored in the " -"corresponding backup account." +"corresponding backup storage." msgstr "" -#: src/views/backup/ListView.vue:209 src/views/backup/ListView.vue:239 +#: src/views/backup/ListView.vue:213 src/views/backup/ListView.vue:243 msgid "Create Backup" msgstr "创建备份" -#: src/views/backup/ListView.vue:212 src/views/backup/UploadModal.vue:39 +#: src/views/backup/ListView.vue:216 src/views/backup/UploadModal.vue:39 msgid "Upload Backup" msgstr "上传备份" -#: src/views/backup/ListView.vue:251 src/views/backup/ListView.vue:287 +#: src/views/backup/ListView.vue:255 src/views/backup/ListView.vue:291 msgid "Select website" msgstr "选择网站" -#: src/views/backup/ListView.vue:254 +#: src/views/backup/ListView.vue:258 #: src/views/database/CreateDatabaseModal.vue:82 -#: src/views/database/DatabaseList.vue:34 src/views/task/CreateModal.vue:177 -#: src/views/task/CreateModal.vue:179 src/views/website/CreateModal.vue:191 +#: src/views/database/DatabaseList.vue:34 src/views/task/CreateModal.vue:179 +#: src/views/task/CreateModal.vue:181 src/views/website/CreateModal.vue:191 #: src/views/website/CreateModal.vue:196 msgid "Database Name" msgstr "数据库名称" -#: src/views/backup/ListView.vue:259 +#: src/views/backup/ListView.vue:263 #: 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:262 src/views/task/CreateModal.vue:181 +#: src/views/backup/ListView.vue:266 src/views/task/CreateModal.vue:183 #, fuzzy -msgid "Backup Account" -msgstr "账户" +msgid "Backup Storage" +msgstr "备份数据" -#: src/views/backup/ListView.vue:266 src/views/task/CreateModal.vue:185 -msgid "Select backup account" -msgstr "" +#: src/views/backup/ListView.vue:270 src/views/task/CreateModal.vue:187 +#, fuzzy +msgid "Select backup storage" +msgstr "选择存储驱动" -#: src/views/backup/ListView.vue:275 +#: src/views/backup/ListView.vue:279 msgid "Restore Backup" msgstr "恢复备份" +#: src/views/backup/StorageView.vue:26 src/views/backup/StorageView.vue:306 +#: src/views/backup/StorageView.vue:457 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/backup/StorageView.vue:66 +msgid "Local" +msgstr "" + +#: src/views/backup/StorageView.vue:75 +#, fuzzy +msgid "Created At" +msgstr "创建主机" + +#: src/views/backup/StorageView.vue:109 +#, fuzzy +msgid "Are you sure you want to delete this storage?" +msgstr "您确定要删除该用户吗?" + +#: src/views/backup/StorageView.vue:163 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 "更新成功" + +#: src/views/backup/StorageView.vue:182 src/views/backup/StorageView.vue:210 +#, fuzzy +msgid "Add Storage" +msgstr "添加服务器" + +#: src/views/backup/StorageView.vue:219 src/views/backup/StorageView.vue:370 +#, fuzzy +msgid "Enter storage name" +msgstr "输入备注名称" + +#: src/views/backup/StorageView.vue:227 src/views/backup/StorageView.vue:378 +#, fuzzy +msgid "Access Key" +msgstr "访问日志" + +#: src/views/backup/StorageView.vue:230 src/views/backup/StorageView.vue:381 +#, fuzzy +msgid "Enter access key" +msgstr "输入阿里云 Access Key" + +#: src/views/backup/StorageView.vue:233 src/views/backup/StorageView.vue:384 +#, fuzzy +msgid "Secret Key" +msgstr "输入阿里云 Secret Key" + +#: src/views/backup/StorageView.vue:238 src/views/backup/StorageView.vue:389 +#, fuzzy +msgid "Enter secret key" +msgstr "输入阿里云 Secret Key" + +#: src/views/backup/StorageView.vue:241 src/views/backup/StorageView.vue:392 +msgid "Style" +msgstr "" + +#: src/views/backup/StorageView.vue:244 src/views/backup/StorageView.vue:395 +msgid "Region" +msgstr "" + +#: src/views/backup/StorageView.vue:247 src/views/backup/StorageView.vue:398 +#, fuzzy +msgid "Enter region (e.g., us-east-1)" +msgstr "输入挂载目录(例如,/oss)" + +#: src/views/backup/StorageView.vue:250 src/views/backup/StorageView.vue:401 +#, fuzzy +msgid "Endpoint" +msgstr "入口点" + +#: src/views/backup/StorageView.vue:253 src/views/backup/StorageView.vue:404 +#, fuzzy +msgid "Enter endpoint URL" +msgstr "入口点" + +#: src/views/backup/StorageView.vue:256 src/views/backup/StorageView.vue:407 +msgid "Bucket" +msgstr "" + +#: src/views/backup/StorageView.vue:259 src/views/backup/StorageView.vue:410 +#, fuzzy +msgid "Enter bucket name" +msgstr "输入用户名" + +#: src/views/backup/StorageView.vue:265 src/views/backup/StorageView.vue:349 +#: src/views/backup/StorageView.vue:416 src/views/backup/StorageView.vue:500 +#, fuzzy +msgid "Enter path (optional)" +msgstr "IP(可选)" + +#: src/views/backup/StorageView.vue:273 src/views/backup/StorageView.vue:424 +#, fuzzy +msgid "Enter host" +msgstr "输入路径" + +#: src/views/backup/StorageView.vue:275 src/views/backup/StorageView.vue:426 +#: 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 +msgid "Port" +msgstr "端口" + +#: src/views/backup/StorageView.vue:280 src/views/backup/StorageView.vue:431 +#, fuzzy +msgid "Enter port" +msgstr "输入路径" + +#: src/views/backup/StorageView.vue:289 src/views/backup/StorageView.vue:440 +#, fuzzy +msgid "Auth Type" +msgstr "匹配类型" + +#: src/views/backup/StorageView.vue:301 src/views/backup/StorageView.vue:343 +#: src/views/backup/StorageView.vue:452 src/views/backup/StorageView.vue:494 +#: src/views/container/ImageView.vue:400 +#: src/views/database/CreateDatabaseModal.vue:120 +#: src/views/database/CreateUserModal.vue:103 +#: src/views/database/UpdateUserModal.vue:61 +msgid "Enter password" +msgstr "输入密码" + +#: src/views/backup/StorageView.vue:313 src/views/backup/StorageView.vue:464 +#, fuzzy +msgid "Enter private key" +msgstr "输入 AK 密钥" + +#: src/views/backup/StorageView.vue:319 src/views/backup/StorageView.vue:470 +#, fuzzy +msgid "Enter remote path" +msgstr "输入路径" + +#: src/views/backup/StorageView.vue:329 src/views/backup/StorageView.vue:480 +msgid "Enter WebDAV URL" +msgstr "" + +#: src/views/backup/StorageView.vue:361 +#, fuzzy +msgid "Edit Storage" +msgstr "编辑 Stream 服务器" + #: src/views/backup/UploadModal.vue:20 msgid "Upload %{ filename } successfully" msgstr "上传 %{ filename } 成功" @@ -3143,6 +3144,11 @@ msgstr "" msgid "Select website for certificate deployment" msgstr "选择要部署证书的网站" +#: 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 msgid "Select account for certificate issuance" msgstr "选择用于证书颁发的账户" @@ -6078,55 +6084,55 @@ msgstr "备份类型" msgid "Backup PostgreSQL" msgstr "" -#: src/views/task/CreateModal.vue:82 src/views/task/CreateModal.vue:136 -#: src/views/task/CronView.vue:48 +#: src/views/task/CreateModal.vue:83 src/views/task/CreateModal.vue:84 +#: src/views/task/CreateModal.vue:138 src/views/task/CronView.vue:48 msgid "Log Rotation" msgstr "日志切割" -#: src/views/task/CreateModal.vue:123 +#: src/views/task/CreateModal.vue:125 msgid "Create Scheduled Task" msgstr "创建计划任务" -#: src/views/task/CreateModal.vue:130 src/views/task/CronView.vue:32 +#: src/views/task/CreateModal.vue:132 src/views/task/CronView.vue:32 msgid "Task Type" msgstr "任务类型" -#: src/views/task/CreateModal.vue:134 src/views/task/CronView.vue:45 +#: src/views/task/CreateModal.vue:136 src/views/task/CronView.vue:45 msgid "Run Script" msgstr "运行脚本" -#: src/views/task/CreateModal.vue:135 src/views/task/CronView.vue:47 +#: src/views/task/CreateModal.vue:137 src/views/task/CronView.vue:47 msgid "Backup Data" msgstr "备份数据" -#: src/views/task/CreateModal.vue:141 src/views/task/CreateModal.vue:142 +#: src/views/task/CreateModal.vue:143 src/views/task/CreateModal.vue:144 #: 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:144 src/views/task/CronView.vue:69 +#: src/views/task/CreateModal.vue:146 src/views/task/CronView.vue:69 #: src/views/task/CronView.vue:253 msgid "Task Schedule" msgstr "任务周期" -#: src/views/task/CreateModal.vue:148 +#: src/views/task/CreateModal.vue:150 msgid "Script Content" msgstr "脚本内容" -#: src/views/task/CreateModal.vue:151 +#: src/views/task/CreateModal.vue:153 msgid "Backup Type" msgstr "备份类型" -#: src/views/task/CreateModal.vue:155 +#: src/views/task/CreateModal.vue:157 msgid "MySQL Database" msgstr "MySQL 数据库" -#: src/views/task/CreateModal.vue:158 +#: src/views/task/CreateModal.vue:160 msgid "PostgreSQL Database" msgstr "PostgreSQL 数据库" -#: src/views/task/CreateModal.vue:188 +#: src/views/task/CreateModal.vue:190 msgid "Retention Count" msgstr "保留数量" @@ -7644,6 +7650,26 @@ msgstr "默认密码套件" msgid "Enter the default cipher suite, leave blank to reset to default" msgstr "输入默认密码套件,留空以重置为默认值" +#, fuzzy +#~ msgid "Are you sure you want to delete this account?" +#~ msgstr "您确定要删除该账户吗?" + +#, fuzzy +#~ msgid "Add Account" +#~ msgstr "添加挂载" + +#, fuzzy +#~ msgid "Enter account name" +#~ msgstr "输入备注名称" + +#, fuzzy +#~ msgid "Edit Account" +#~ msgstr "修改账户" + +#, fuzzy +#~ msgid "Backup Account" +#~ msgstr "账户" + #~ msgid "Save Directory" #~ msgstr "保存目录" diff --git a/web/src/locales/zh_TW.po b/web/src/locales/zh_TW.po index c25913ea..ef291145 100644 --- a/web/src/locales/zh_TW.po +++ b/web/src/locales/zh_TW.po @@ -271,8 +271,8 @@ msgstr "選擇文件" #: 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/backup/AccountView.vue:54 src/views/backup/AccountView.vue:218 -#: src/views/backup/AccountView.vue:369 src/views/container/ComposeView.vue:57 +#: src/views/backup/StorageView.vue:54 src/views/backup/StorageView.vue:218 +#: src/views/backup/StorageView.vue:369 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:68 @@ -323,8 +323,8 @@ msgstr "無效的名稱" #: src/components/common/PathSelector.vue:254 #: src/components/file-editor/FileTree.vue:284 -#: src/views/app/TemplateDeployModal.vue:214 -#: src/views/backup/AccountView.vue:145 src/views/backup/ListView.vue:125 +#: src/views/app/TemplateDeployModal.vue:214 src/views/backup/ListView.vue:126 +#: src/views/backup/StorageView.vue:145 #: src/views/cert/CreateAccountModal.vue:52 #: src/views/cert/CreateCertModal.vue:50 src/views/cert/CreateDnsModal.vue:35 #: src/views/cert/UploadCertModal.vue:21 @@ -373,8 +373,8 @@ msgstr "根目錄" #: src/views/apps/pureftpd/IndexView.vue:264 #: src/views/apps/rsync/IndexView.vue:305 src/views/apps/s3fs/IndexView.vue:181 #: src/views/apps/supervisor/IndexView.vue:409 -#: src/views/backup/AccountView.vue:354 src/views/backup/AccountView.vue:505 -#: src/views/backup/ListView.vue:270 src/views/backup/ListView.vue:294 +#: src/views/backup/ListView.vue:274 src/views/backup/ListView.vue:298 +#: src/views/backup/StorageView.vue:354 src/views/backup/StorageView.vue:505 #: 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 @@ -396,7 +396,7 @@ msgstr "根目錄" #: 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:193 +#: src/views/task/CreateModal.vue:195 msgid "Submit" msgstr "提交" @@ -1026,10 +1026,10 @@ 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/AccountView.vue:120 src/views/backup/ListView.vue:99 -#: 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:99 +#: src/views/backup/StorageView.vue:120 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 @@ -1078,7 +1078,7 @@ msgstr "您確定要刪除 %{ name } 嗎?" #: src/views/apps/pureftpd/IndexView.vue:145 #: src/views/apps/rsync/IndexView.vue:158 src/views/apps/s3fs/IndexView.vue:89 #: src/views/apps/supervisor/IndexView.vue:261 -#: src/views/backup/AccountView.vue:170 src/views/backup/ListView.vue:148 +#: src/views/backup/ListView.vue:148 src/views/backup/StorageView.vue:170 #: src/views/container/ImageView.vue:156 #: src/views/container/NetworkView.vue:175 #: src/views/container/VolumeView.vue:129 @@ -1218,7 +1218,7 @@ msgstr "證書" msgid "Container" msgstr "容器" -#: src/locales/menu.ts:11 src/views/backup/ListView.vue:290 +#: src/locales/menu.ts:11 src/views/backup/ListView.vue:294 #: src/views/database/IndexView.vue:27 src/views/home/IndexView.vue:453 #: src/views/website/CreateModal.vue:170 msgid "Database" @@ -1264,10 +1264,10 @@ msgid "Update" msgstr "更新" #: src/locales/menu.ts:23 src/views/apps/fail2ban/IndexView.vue:315 -#: src/views/backup/IndexView.vue:38 src/views/backup/ListView.vue:247 -#: src/views/backup/ListView.vue:283 src/views/cert/CertView.vue:455 +#: src/views/backup/IndexView.vue:38 src/views/backup/ListView.vue:251 +#: src/views/backup/ListView.vue:287 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:153 +#: src/views/home/IndexView.vue:449 src/views/task/CreateModal.vue:155 msgid "Website" msgstr "網站" @@ -1331,10 +1331,10 @@ msgstr "在主頁顯示" #: 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/AccountView.vue:83 src/views/backup/ListView.vue:60 -#: 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/supervisor/IndexView.vue:74 src/views/backup/ListView.vue:60 +#: src/views/backup/StorageView.vue:83 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 @@ -2021,8 +2021,8 @@ msgstr "" "該規則,否則保護可能無效" #: src/views/apps/fail2ban/IndexView.vue:311 -#: src/views/backup/AccountView.vue:61 src/views/backup/AccountView.vue:221 -#: src/views/backup/AccountView.vue:372 src/views/cert/CertView.vue:86 +#: src/views/backup/StorageView.vue:61 src/views/backup/StorageView.vue:221 +#: src/views/backup/StorageView.vue:372 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:45 @@ -2037,8 +2037,8 @@ msgid "Service" msgstr "服務" #: src/views/apps/fail2ban/IndexView.vue:321 -#: src/views/apps/fail2ban/IndexView.vue:325 src/views/task/CreateModal.vue:167 -#: src/views/task/CreateModal.vue:172 +#: src/views/apps/fail2ban/IndexView.vue:325 src/views/task/CreateModal.vue:169 +#: src/views/task/CreateModal.vue:174 msgid "Select Website" msgstr "選擇網站" @@ -2048,9 +2048,9 @@ msgstr "保護模式" #: src/views/apps/fail2ban/IndexView.vue:333 #: src/views/apps/pureftpd/IndexView.vue:39 -#: src/views/backup/AccountView.vue:262 src/views/backup/AccountView.vue:316 -#: src/views/backup/AccountView.vue:346 src/views/backup/AccountView.vue:413 -#: src/views/backup/AccountView.vue:467 src/views/backup/AccountView.vue:497 +#: src/views/backup/StorageView.vue:262 src/views/backup/StorageView.vue:316 +#: src/views/backup/StorageView.vue:346 src/views/backup/StorageView.vue:413 +#: src/views/backup/StorageView.vue:467 src/views/backup/StorageView.vue:497 #: src/views/log/HttpLog.vue:64 msgid "Path" msgstr "路徑" @@ -2189,7 +2189,7 @@ msgid "Proxy Pass" msgstr "" #: src/views/apps/nginx/NginxIndex.vue:197 -#: src/views/apps/nginx/NginxIndex.vue:273 src/views/backup/AccountView.vue:100 +#: src/views/apps/nginx/NginxIndex.vue:273 src/views/backup/StorageView.vue:100 #: src/views/container/ComposeView.vue:122 src/views/file/ListView.vue:332 #: src/views/file/ListView.vue:1563 src/views/project/ListView.vue:178 #: src/views/ssh/IndexView.vue:69 src/views/task/CronView.vue:128 @@ -2450,8 +2450,8 @@ msgstr "慢日誌" #: src/views/apps/pureftpd/IndexView.vue:32 #: src/views/apps/pureftpd/IndexView.vue:214 -#: src/views/backup/AccountView.vue:283 src/views/backup/AccountView.vue:332 -#: src/views/backup/AccountView.vue:434 src/views/backup/AccountView.vue:483 +#: src/views/backup/StorageView.vue:283 src/views/backup/StorageView.vue:332 +#: src/views/backup/StorageView.vue:434 src/views/backup/StorageView.vue:483 #: src/views/container/ImageView.vue:386 #: src/views/database/CreateDatabaseModal.vue:105 #: src/views/database/CreateServerModal.vue:94 @@ -2498,8 +2498,8 @@ msgid "Create User" msgstr "建立使用者" #: src/views/apps/pureftpd/IndexView.vue:219 -#: src/views/backup/AccountView.vue:286 src/views/backup/AccountView.vue:335 -#: src/views/backup/AccountView.vue:437 src/views/backup/AccountView.vue:486 +#: src/views/backup/StorageView.vue:286 src/views/backup/StorageView.vue:335 +#: src/views/backup/StorageView.vue:437 src/views/backup/StorageView.vue:486 #: src/views/container/ImageView.vue:391 #: src/views/database/CreateDatabaseModal.vue:110 #: src/views/database/CreateUserModal.vue:93 @@ -2509,9 +2509,9 @@ 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/backup/AccountView.vue:25 -#: src/views/backup/AccountView.vue:294 src/views/backup/AccountView.vue:338 -#: src/views/backup/AccountView.vue:445 src/views/backup/AccountView.vue:489 +#: src/views/apps/rsync/IndexView.vue:334 src/views/backup/StorageView.vue:25 +#: src/views/backup/StorageView.vue:294 src/views/backup/StorageView.vue:338 +#: src/views/backup/StorageView.vue:445 src/views/backup/StorageView.vue:489 #: src/views/container/ImageView.vue:394 #: src/views/database/CreateDatabaseModal.vue:113 #: src/views/database/CreateServerModal.vue:102 @@ -2552,9 +2552,9 @@ msgstr "" "這將修改 Redis 主配置文件。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/rsync/IndexView.vue:60 src/views/apps/rsync/IndexView.vue:288 -#: src/views/apps/rsync/IndexView.vue:343 src/views/backup/AccountView.vue:272 -#: src/views/backup/AccountView.vue:326 src/views/backup/AccountView.vue:423 -#: src/views/backup/AccountView.vue:477 +#: src/views/apps/rsync/IndexView.vue:343 src/views/backup/StorageView.vue:272 +#: src/views/backup/StorageView.vue:326 src/views/backup/StorageView.vue:423 +#: src/views/backup/StorageView.vue:477 #: src/views/database/CreateDatabaseModal.vue:127 #: src/views/database/CreateServerModal.vue:73 #: src/views/database/ServerList.vue:115 @@ -2752,159 +2752,10 @@ msgstr "進程數量" msgid "Process Configuration" msgstr "進程配置" -#: src/views/backup/AccountView.vue:26 src/views/backup/AccountView.vue:306 -#: src/views/backup/AccountView.vue:457 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/backup/AccountView.vue:66 -msgid "Local" +#: src/views/backup/IndexView.vue:41 +msgid "Storage" msgstr "" -#: src/views/backup/AccountView.vue:75 -#, fuzzy -msgid "Created At" -msgstr "創建主機" - -#: src/views/backup/AccountView.vue:109 -#, fuzzy -msgid "Are you sure you want to delete this account?" -msgstr "您確定要刪除該賬戶嗎?" - -#: src/views/backup/AccountView.vue:163 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 "更新成功" - -#: src/views/backup/AccountView.vue:182 src/views/backup/AccountView.vue:210 -#, fuzzy -msgid "Add Account" -msgstr "添加掛載" - -#: src/views/backup/AccountView.vue:219 src/views/backup/AccountView.vue:370 -#, fuzzy -msgid "Enter account name" -msgstr "輸入備註名稱" - -#: src/views/backup/AccountView.vue:227 src/views/backup/AccountView.vue:378 -#, fuzzy -msgid "Access Key" -msgstr "訪問日誌" - -#: src/views/backup/AccountView.vue:230 src/views/backup/AccountView.vue:381 -#, fuzzy -msgid "Enter access key" -msgstr "輸入阿里雲 Access Key" - -#: src/views/backup/AccountView.vue:233 src/views/backup/AccountView.vue:384 -#, fuzzy -msgid "Secret Key" -msgstr "輸入阿里雲 Secret Key" - -#: src/views/backup/AccountView.vue:238 src/views/backup/AccountView.vue:389 -#, fuzzy -msgid "Enter secret key" -msgstr "輸入阿里雲 Secret Key" - -#: src/views/backup/AccountView.vue:241 src/views/backup/AccountView.vue:392 -msgid "Style" -msgstr "" - -#: src/views/backup/AccountView.vue:244 src/views/backup/AccountView.vue:395 -msgid "Region" -msgstr "" - -#: src/views/backup/AccountView.vue:247 src/views/backup/AccountView.vue:398 -#, fuzzy -msgid "Enter region (e.g., us-east-1)" -msgstr "輸入掛載目錄(例如,/oss)" - -#: src/views/backup/AccountView.vue:250 src/views/backup/AccountView.vue:401 -#, fuzzy -msgid "Endpoint" -msgstr "進入點" - -#: src/views/backup/AccountView.vue:253 src/views/backup/AccountView.vue:404 -#, fuzzy -msgid "Enter endpoint URL" -msgstr "進入點" - -#: src/views/backup/AccountView.vue:256 src/views/backup/AccountView.vue:407 -msgid "Bucket" -msgstr "" - -#: src/views/backup/AccountView.vue:259 src/views/backup/AccountView.vue:410 -#, fuzzy -msgid "Enter bucket name" -msgstr "輸入用戶名" - -#: src/views/backup/AccountView.vue:265 src/views/backup/AccountView.vue:349 -#: src/views/backup/AccountView.vue:416 src/views/backup/AccountView.vue:500 -msgid "Enter path (optional)" -msgstr "" - -#: src/views/backup/AccountView.vue:273 src/views/backup/AccountView.vue:424 -#, fuzzy -msgid "Enter host" -msgstr "輸入註釋" - -#: src/views/backup/AccountView.vue:275 src/views/backup/AccountView.vue:426 -#: 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 -msgid "Port" -msgstr "端口" - -#: src/views/backup/AccountView.vue:280 src/views/backup/AccountView.vue:431 -#, fuzzy -msgid "Enter port" -msgstr "輸入密碼" - -#: src/views/backup/AccountView.vue:289 src/views/backup/AccountView.vue:440 -#, fuzzy -msgid "Auth Type" -msgstr "匹配類型" - -#: src/views/backup/AccountView.vue:301 src/views/backup/AccountView.vue:343 -#: src/views/backup/AccountView.vue:452 src/views/backup/AccountView.vue:494 -#: src/views/container/ImageView.vue:400 -#: src/views/database/CreateDatabaseModal.vue:120 -#: src/views/database/CreateUserModal.vue:103 -#: src/views/database/UpdateUserModal.vue:61 -msgid "Enter password" -msgstr "輸入密碼" - -#: src/views/backup/AccountView.vue:313 src/views/backup/AccountView.vue:464 -#, fuzzy -msgid "Enter private key" -msgstr "輸入 AK 密鑰" - -#: src/views/backup/AccountView.vue:319 src/views/backup/AccountView.vue:470 -#, fuzzy -msgid "Enter remote path" -msgstr "輸入備註名稱" - -#: src/views/backup/AccountView.vue:329 src/views/backup/AccountView.vue:480 -msgid "Enter WebDAV URL" -msgstr "" - -#: src/views/backup/AccountView.vue:361 -#, fuzzy -msgid "Edit Account" -msgstr "修改帳戶" - -#: src/views/backup/IndexView.vue:41 src/views/cert/CertView.vue:466 -#: src/views/cert/CreateCertModal.vue:98 src/views/cert/IndexView.vue:97 -msgid "Account" -msgstr "帳戶" - #: src/views/backup/ListView.vue:38 msgid "Filename" msgstr "檔案名稱" @@ -2926,52 +2777,200 @@ msgstr "正在恢復……" msgid "Restored successfully" msgstr "恢復成功" -#: src/views/backup/ListView.vue:205 +#: src/views/backup/ListView.vue:206 msgid "" "Only local backups are displayed here. Remote backups are stored in the " -"corresponding backup account." +"corresponding backup storage." msgstr "" -#: src/views/backup/ListView.vue:209 src/views/backup/ListView.vue:239 +#: src/views/backup/ListView.vue:213 src/views/backup/ListView.vue:243 msgid "Create Backup" msgstr "創建備份" -#: src/views/backup/ListView.vue:212 src/views/backup/UploadModal.vue:39 +#: src/views/backup/ListView.vue:216 src/views/backup/UploadModal.vue:39 msgid "Upload Backup" msgstr "上傳備份" -#: src/views/backup/ListView.vue:251 src/views/backup/ListView.vue:287 +#: src/views/backup/ListView.vue:255 src/views/backup/ListView.vue:291 msgid "Select website" msgstr "選擇網站" -#: src/views/backup/ListView.vue:254 +#: src/views/backup/ListView.vue:258 #: src/views/database/CreateDatabaseModal.vue:82 -#: src/views/database/DatabaseList.vue:34 src/views/task/CreateModal.vue:177 -#: src/views/task/CreateModal.vue:179 src/views/website/CreateModal.vue:191 +#: src/views/database/DatabaseList.vue:34 src/views/task/CreateModal.vue:179 +#: src/views/task/CreateModal.vue:181 src/views/website/CreateModal.vue:191 #: src/views/website/CreateModal.vue:196 msgid "Database Name" msgstr "數據庫名稱" -#: src/views/backup/ListView.vue:259 +#: src/views/backup/ListView.vue:263 #: 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:262 src/views/task/CreateModal.vue:181 +#: src/views/backup/ListView.vue:266 src/views/task/CreateModal.vue:183 #, fuzzy -msgid "Backup Account" -msgstr "帳戶" +msgid "Backup Storage" +msgstr "備份數據" -#: src/views/backup/ListView.vue:266 src/views/task/CreateModal.vue:185 -msgid "Select backup account" -msgstr "" +#: src/views/backup/ListView.vue:270 src/views/task/CreateModal.vue:187 +#, fuzzy +msgid "Select backup storage" +msgstr "選擇網站" -#: src/views/backup/ListView.vue:275 +#: src/views/backup/ListView.vue:279 msgid "Restore Backup" msgstr "恢復備份" +#: src/views/backup/StorageView.vue:26 src/views/backup/StorageView.vue:306 +#: src/views/backup/StorageView.vue:457 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/backup/StorageView.vue:66 +msgid "Local" +msgstr "" + +#: src/views/backup/StorageView.vue:75 +#, fuzzy +msgid "Created At" +msgstr "創建主機" + +#: src/views/backup/StorageView.vue:109 +#, fuzzy +msgid "Are you sure you want to delete this storage?" +msgstr "您確定要刪除該用戶嗎?" + +#: src/views/backup/StorageView.vue:163 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 "更新成功" + +#: src/views/backup/StorageView.vue:182 src/views/backup/StorageView.vue:210 +#, fuzzy +msgid "Add Storage" +msgstr "添加伺服器" + +#: src/views/backup/StorageView.vue:219 src/views/backup/StorageView.vue:370 +#, fuzzy +msgid "Enter storage name" +msgstr "輸入備註名稱" + +#: src/views/backup/StorageView.vue:227 src/views/backup/StorageView.vue:378 +#, fuzzy +msgid "Access Key" +msgstr "訪問日誌" + +#: src/views/backup/StorageView.vue:230 src/views/backup/StorageView.vue:381 +#, fuzzy +msgid "Enter access key" +msgstr "輸入阿里雲 Access Key" + +#: src/views/backup/StorageView.vue:233 src/views/backup/StorageView.vue:384 +#, fuzzy +msgid "Secret Key" +msgstr "輸入阿里雲 Secret Key" + +#: src/views/backup/StorageView.vue:238 src/views/backup/StorageView.vue:389 +#, fuzzy +msgid "Enter secret key" +msgstr "輸入阿里雲 Secret Key" + +#: src/views/backup/StorageView.vue:241 src/views/backup/StorageView.vue:392 +msgid "Style" +msgstr "" + +#: src/views/backup/StorageView.vue:244 src/views/backup/StorageView.vue:395 +msgid "Region" +msgstr "" + +#: src/views/backup/StorageView.vue:247 src/views/backup/StorageView.vue:398 +#, fuzzy +msgid "Enter region (e.g., us-east-1)" +msgstr "輸入掛載目錄(例如,/oss)" + +#: src/views/backup/StorageView.vue:250 src/views/backup/StorageView.vue:401 +#, fuzzy +msgid "Endpoint" +msgstr "進入點" + +#: src/views/backup/StorageView.vue:253 src/views/backup/StorageView.vue:404 +#, fuzzy +msgid "Enter endpoint URL" +msgstr "進入點" + +#: src/views/backup/StorageView.vue:256 src/views/backup/StorageView.vue:407 +msgid "Bucket" +msgstr "" + +#: src/views/backup/StorageView.vue:259 src/views/backup/StorageView.vue:410 +#, fuzzy +msgid "Enter bucket name" +msgstr "輸入用戶名" + +#: src/views/backup/StorageView.vue:265 src/views/backup/StorageView.vue:349 +#: src/views/backup/StorageView.vue:416 src/views/backup/StorageView.vue:500 +msgid "Enter path (optional)" +msgstr "" + +#: src/views/backup/StorageView.vue:273 src/views/backup/StorageView.vue:424 +#, fuzzy +msgid "Enter host" +msgstr "輸入註釋" + +#: src/views/backup/StorageView.vue:275 src/views/backup/StorageView.vue:426 +#: 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 +msgid "Port" +msgstr "端口" + +#: src/views/backup/StorageView.vue:280 src/views/backup/StorageView.vue:431 +#, fuzzy +msgid "Enter port" +msgstr "輸入密碼" + +#: src/views/backup/StorageView.vue:289 src/views/backup/StorageView.vue:440 +#, fuzzy +msgid "Auth Type" +msgstr "匹配類型" + +#: src/views/backup/StorageView.vue:301 src/views/backup/StorageView.vue:343 +#: src/views/backup/StorageView.vue:452 src/views/backup/StorageView.vue:494 +#: src/views/container/ImageView.vue:400 +#: src/views/database/CreateDatabaseModal.vue:120 +#: src/views/database/CreateUserModal.vue:103 +#: src/views/database/UpdateUserModal.vue:61 +msgid "Enter password" +msgstr "輸入密碼" + +#: src/views/backup/StorageView.vue:313 src/views/backup/StorageView.vue:464 +#, fuzzy +msgid "Enter private key" +msgstr "輸入 AK 密鑰" + +#: src/views/backup/StorageView.vue:319 src/views/backup/StorageView.vue:470 +#, fuzzy +msgid "Enter remote path" +msgstr "輸入備註名稱" + +#: src/views/backup/StorageView.vue:329 src/views/backup/StorageView.vue:480 +msgid "Enter WebDAV URL" +msgstr "" + +#: src/views/backup/StorageView.vue:361 +msgid "Edit Storage" +msgstr "" + #: src/views/backup/UploadModal.vue:20 msgid "Upload %{ filename } successfully" msgstr "上傳 %{ filename } 成功" @@ -3136,6 +3135,11 @@ msgstr "" msgid "Select website for certificate deployment" msgstr "選擇要部署憑證的網站" +#: 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 msgid "Select account for certificate issuance" msgstr "選擇用於憑證頒發的帳戶" @@ -6048,55 +6052,55 @@ msgstr "備份類型" msgid "Backup PostgreSQL" msgstr "" -#: src/views/task/CreateModal.vue:82 src/views/task/CreateModal.vue:136 -#: src/views/task/CronView.vue:48 +#: src/views/task/CreateModal.vue:83 src/views/task/CreateModal.vue:84 +#: src/views/task/CreateModal.vue:138 src/views/task/CronView.vue:48 msgid "Log Rotation" msgstr "日誌輪替" -#: src/views/task/CreateModal.vue:123 +#: src/views/task/CreateModal.vue:125 msgid "Create Scheduled Task" msgstr "創建計劃任務" -#: src/views/task/CreateModal.vue:130 src/views/task/CronView.vue:32 +#: src/views/task/CreateModal.vue:132 src/views/task/CronView.vue:32 msgid "Task Type" msgstr "任務類型" -#: src/views/task/CreateModal.vue:134 src/views/task/CronView.vue:45 +#: src/views/task/CreateModal.vue:136 src/views/task/CronView.vue:45 msgid "Run Script" msgstr "運行腳本" -#: src/views/task/CreateModal.vue:135 src/views/task/CronView.vue:47 +#: src/views/task/CreateModal.vue:137 src/views/task/CronView.vue:47 msgid "Backup Data" msgstr "備份數據" -#: src/views/task/CreateModal.vue:141 src/views/task/CreateModal.vue:142 +#: src/views/task/CreateModal.vue:143 src/views/task/CreateModal.vue:144 #: 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:144 src/views/task/CronView.vue:69 +#: src/views/task/CreateModal.vue:146 src/views/task/CronView.vue:69 #: src/views/task/CronView.vue:253 msgid "Task Schedule" msgstr "任務週期" -#: src/views/task/CreateModal.vue:148 +#: src/views/task/CreateModal.vue:150 msgid "Script Content" msgstr "腳本內容" -#: src/views/task/CreateModal.vue:151 +#: src/views/task/CreateModal.vue:153 msgid "Backup Type" msgstr "備份類型" -#: src/views/task/CreateModal.vue:155 +#: src/views/task/CreateModal.vue:157 msgid "MySQL Database" msgstr "MySQL 數據庫" -#: src/views/task/CreateModal.vue:158 +#: src/views/task/CreateModal.vue:160 msgid "PostgreSQL Database" msgstr "PostgreSQL 數據庫" -#: src/views/task/CreateModal.vue:188 +#: src/views/task/CreateModal.vue:190 msgid "Retention Count" msgstr "保留數量" @@ -7609,6 +7613,26 @@ msgstr "" msgid "Enter the default cipher suite, leave blank to reset to default" msgstr "" +#, fuzzy +#~ msgid "Are you sure you want to delete this account?" +#~ msgstr "您確定要刪除該賬戶嗎?" + +#, fuzzy +#~ msgid "Add Account" +#~ msgstr "添加掛載" + +#, fuzzy +#~ msgid "Enter account name" +#~ msgstr "輸入備註名稱" + +#, fuzzy +#~ msgid "Edit Account" +#~ msgstr "修改帳戶" + +#, fuzzy +#~ msgid "Backup Account" +#~ msgstr "帳戶" + #~ msgid "Save Directory" #~ msgstr "保存目錄"