From b0b1e741bdbdda6918c7bb66ad841ddbe4dfd6a5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 15 Aug 2026 13:08:42 +0000 Subject: [PATCH] chore(l10n): update pot files --- pkg/embed/locales/backend.pot | 781 +++++--- web/src/locales/en.po | 141 +- web/src/locales/frontend.pot | 159 +- web/src/locales/zh_CN.po | 3424 +++++++++++++++------------------ web/src/locales/zh_TW.po | 3403 +++++++++++++++----------------- 5 files changed, 3701 insertions(+), 4207 deletions(-) diff --git a/pkg/embed/locales/backend.pot b/pkg/embed/locales/backend.pot index 668c7227..159b1dee 100644 --- a/pkg/embed/locales/backend.pot +++ b/pkg/embed/locales/backend.pot @@ -7,6 +7,10 @@ msgstr "" "Language: \n" "X-Generator: xgotext\n" +#: internal/service/cli.go:1107 +msgid "%d certificate(s) failed to renew" +msgstr "" + #: internal/service/toolbox_log.go:257 msgid "%d images" msgstr "" @@ -31,11 +35,11 @@ msgstr "" msgid "15 minutes load" msgstr "" -#: internal/service/cli.go:341 +#: internal/service/cli.go:416 msgid "2FA disabled for user %s" msgstr "" -#: internal/service/cli.go:349 +#: internal/service/cli.go:424 msgid "2FA url: %s" msgstr "" @@ -63,19 +67,19 @@ msgstr "" msgid "AcePanel CLI Tool" msgstr "" -#: internal/service/cli.go:105 +#: internal/service/cli.go:117 msgid "AcePanel service restarted" msgstr "" -#: internal/service/cli.go:121 +#: internal/service/cli.go:133 msgid "AcePanel service started" msgstr "" -#: internal/service/cli.go:96 +#: internal/service/cli.go:108 msgid "AcePanel service status: %s" msgstr "" -#: internal/service/cli.go:113 +#: internal/service/cli.go:125 msgid "AcePanel service stopped" msgstr "" @@ -109,11 +113,11 @@ msgstr "" msgid "Aliyun" msgstr "" -#: internal/service/cli.go:381 +#: internal/service/cli.go:456 msgid "All passkeys cleared for user %s" msgstr "" -#: internal/service/cli.go:1037 +#: internal/service/cli.go:1496 msgid "Already initialized" msgstr "" @@ -121,27 +125,27 @@ msgstr "" msgid "App %s %s" msgstr "" -#: internal/service/cli.go:886 +#: internal/service/cli.go:1345 msgid "App %s installed successfully" msgstr "" -#: internal/service/cli.go:900 +#: internal/service/cli.go:1359 msgid "App %s uninstalled successfully" msgstr "" -#: internal/service/cli.go:914 +#: internal/service/cli.go:1373 msgid "App %s updated successfully" msgstr "" -#: internal/service/cli.go:883 +#: internal/service/cli.go:1342 msgid "App install failed: %v" msgstr "" -#: internal/service/cli.go:897 +#: internal/service/cli.go:1356 msgid "App uninstall failed: %v" msgstr "" -#: internal/service/cli.go:911 +#: internal/service/cli.go:1370 msgid "App update failed: %v" msgstr "" @@ -149,15 +153,15 @@ msgstr "" msgid "Application Pool" msgstr "" -#: internal/data/backup.go:1838 +#: internal/data/backup.go:1848 msgid "Applying update failed: %v" msgstr "" -#: internal/data/backup.go:1836 +#: internal/data/backup.go:1846 msgid "Applying update..." msgstr "" -#: internal/data/backup.go:1800 +#: internal/data/backup.go:1810 msgid "Backing up panel data..." msgstr "" @@ -165,22 +169,34 @@ msgstr "" msgid "Backup %s: %s" msgstr "" -#: internal/service/cli.go:716 +#: internal/service/cli.go:1144 msgid "Backup failed: %v" msgstr "" -#: internal/service/cli.go:534 +#: internal/service/cli.go:651 msgid "Bind IP disabled" msgstr "" -#: internal/service/cli.go:550 +#: internal/service/cli.go:635 +msgid "Bind IP enabled: %s" +msgstr "" + +#: internal/service/cli.go:688 msgid "Bind UA disabled" msgstr "" -#: internal/service/cli.go:518 +#: internal/service/cli.go:672 +msgid "Bind UA enabled: %s" +msgstr "" + +#: internal/service/cli.go:614 msgid "Bind domain disabled" msgstr "" +#: internal/service/cli.go:598 +msgid "Bind domain enabled: %s" +msgstr "" + #: internal/apps/rocketmq/app.go:65 msgid "Broker Name" msgstr "" @@ -240,21 +256,25 @@ msgstr "" msgid "Certificate" msgstr "" +#: internal/service/cli.go:930 +msgid "Certificate for website %s updated successfully" +msgstr "" + #: internal/biz/notify.go:190 msgid "Channel" msgstr "" -#: internal/service/cli.go:735 -#: internal/service/cli.go:740 +#: internal/service/cli.go:1162 +#: internal/service/cli.go:1167 msgid "Cleaning failed: %v" msgstr "" -#: internal/data/backup.go:1691 +#: internal/data/backup.go:1701 msgid "Cleaning temporary directory failed: %v" msgstr "" -#: internal/data/backup.go:424 -#: internal/data/backup.go:485 +#: internal/data/backup.go:426 +#: internal/data/backup.go:490 msgid "Cleanup failed: %v" msgstr "" @@ -292,7 +312,7 @@ msgstr "" msgid "Connected Clients" msgstr "" -#: internal/service/cli.go:798 +#: internal/service/cli.go:1238 msgid "Container %s has no log file" msgstr "" @@ -304,6 +324,26 @@ msgstr "" msgid "Create container %s" msgstr "" +#: internal/service/cli.go:1648 +msgid "Cron task %d disabled" +msgstr "" + +#: internal/service/cli.go:1650 +msgid "Cron task %d enabled" +msgstr "" + +#: internal/service/cli.go:1638 +msgid "Cron task %s executed successfully" +msgstr "" + +#: internal/service/cli.go:1635 +msgid "Cron task %s failed: %v" +msgstr "" + +#: internal/service/cli.go:1626 +msgid "Cron task script %s not exists" +msgstr "" + #: internal/apps/mongodb/app.go:95 msgid "Current Connections" msgstr "" @@ -317,7 +357,7 @@ msgstr "" msgid "DESCRIPTION" msgstr "" -#: internal/service/cli.go:163 +#: internal/service/cli.go:175 msgid "Data synchronized successfully" msgstr "" @@ -325,14 +365,18 @@ msgstr "" msgid "Database" msgstr "" -#: internal/service/cli.go:672 +#: internal/service/cli.go:1043 msgid "Database server %s added successfully" msgstr "" -#: internal/service/cli.go:686 +#: internal/service/cli.go:1057 msgid "Database server %s deleted successfully" msgstr "" +#: internal/service/cli.go:901 +msgid "Database: %s, username: %s, password: %s" +msgstr "" + #: internal/apps/clickhouse/app.go:102 msgid "Databases" msgstr "" @@ -349,16 +393,16 @@ msgstr "" msgid "Docker container logs: %d files" msgstr "" -#: internal/service/cli.go:134 +#: internal/service/cli.go:146 msgid "Download URL is empty" msgstr "" -#: internal/data/backup.go:1811 -#: internal/data/backup.go:1814 +#: internal/data/backup.go:1821 +#: internal/data/backup.go:1824 msgid "Download failed: %v" msgstr "" -#: internal/data/backup.go:1817 +#: internal/data/backup.go:1827 msgid "Download file check failed" msgstr "" @@ -366,7 +410,7 @@ msgstr "" msgid "Download remote file %v" msgstr "" -#: internal/data/backup.go:1809 +#: internal/data/backup.go:1819 msgid "Downloading new version..." msgstr "" @@ -378,16 +422,16 @@ msgstr "" msgid "Enchant is a spell-checking library" msgstr "" -#: internal/service/cli.go:502 +#: internal/service/cli.go:577 msgid "Entrance disabled" msgstr "" -#: internal/service/cli.go:485 +#: internal/service/cli.go:560 msgid "Entrance enabled" msgstr "" -#: internal/service/cli.go:223 -#: internal/service/cli.go:486 +#: internal/service/cli.go:243 +#: internal/service/cli.go:561 msgid "Entrance: %s" msgstr "" @@ -405,7 +449,7 @@ msgstr "" msgid "Exif is a library for reading and writing image metadata" msgstr "" -#: internal/service/cli.go:1157 +#: internal/service/cli.go:1671 msgid "Exit Code" msgstr "" @@ -413,7 +457,7 @@ msgstr "" msgid "Expire Time" msgstr "" -#: internal/data/backup.go:1827 +#: internal/data/backup.go:1837 msgid "Extracting new version..." msgstr "" @@ -422,143 +466,173 @@ msgstr "" msgid "Failed Attempts" msgstr "" -#: internal/service/cli.go:339 +#: internal/service/cli.go:414 msgid "Failed to change 2FA status: %v" msgstr "" -#: internal/service/cli.go:314 +#: internal/service/cli.go:389 msgid "Failed to change password: %v" msgstr "" -#: internal/service/cli.go:283 +#: internal/service/cli.go:354 msgid "Failed to change username: %v" msgstr "" -#: internal/data/backup.go:1793 +#: internal/data/backup.go:1803 msgid "Failed to clean up temporary directory: %v" msgstr "" -#: internal/service/cli.go:378 +#: internal/service/cli.go:453 msgid "Failed to clear passkeys: %v" msgstr "" -#: internal/service/cli.go:974 +#: internal/service/cli.go:1433 msgid "Failed to clear tasks: %v" msgstr "" -#: internal/data/backup.go:1807 +#: internal/data/backup.go:1817 msgid "Failed to create temporary directory: %v" msgstr "" -#: internal/service/cli.go:949 +#: internal/service/cli.go:305 +msgid "Failed to create user: %v" +msgstr "" + +#: internal/service/cli.go:1408 msgid "Failed to delete app: %v" msgstr "" -#: internal/service/cli.go:1028 +#: internal/service/cli.go:1487 msgid "Failed to delete setting: %v" msgstr "" -#: internal/service/cli.go:347 +#: internal/service/cli.go:327 +msgid "Failed to delete user: %v" +msgstr "" + +#: internal/service/cli.go:422 msgid "Failed to generate 2FA: %v" msgstr "" -#: internal/service/cli.go:187 -#: internal/service/cli.go:310 +#: internal/service/cli.go:207 +#: internal/service/cli.go:385 msgid "Failed to generate password: %v" msgstr "" -#: internal/service/cli.go:444 +#: internal/service/cli.go:519 msgid "Failed to get ACME account: %v" msgstr "" -#: internal/service/cli.go:440 +#: internal/service/cli.go:515 msgid "Failed to get a panel user: %v" msgstr "" -#: internal/service/cli.go:929 +#: internal/service/cli.go:1319 +msgid "Failed to get app list: %v" +msgstr "" + +#: internal/service/cli.go:1388 msgid "Failed to get app: %v" msgstr "" -#: internal/service/cli.go:794 +#: internal/service/cli.go:1234 msgid "Failed to get container log path: %v" msgstr "" -#: internal/service/cli.go:213 +#: internal/service/cli.go:233 msgid "Failed to get entrance" msgstr "" -#: internal/service/cli.go:129 +#: internal/service/cli.go:141 msgid "Failed to get latest version: %v" msgstr "" -#: internal/service/cli.go:209 +#: internal/service/cli.go:229 msgid "Failed to get port" msgstr "" -#: internal/service/cli.go:1009 -#: internal/service/cli.go:992 +#: internal/service/cli.go:1451 +#: internal/service/cli.go:1468 msgid "Failed to get setting: %v" msgstr "" -#: internal/service/cli.go:174 +#: internal/service/cli.go:194 msgid "Failed to get user info: %v" msgstr "" -#: internal/service/cli.go:253 +#: internal/service/cli.go:273 msgid "Failed to get user list: %v" msgstr "" -#: internal/service/cli.go:278 -#: internal/service/cli.go:305 -#: internal/service/cli.go:332 -#: internal/service/cli.go:374 +#: internal/service/cli.go:323 +#: internal/service/cli.go:349 +#: internal/service/cli.go:380 +#: internal/service/cli.go:407 +#: internal/service/cli.go:449 msgid "Failed to get user: %v" msgstr "" -#: internal/service/cli.go:450 +#: internal/service/cli.go:994 +msgid "Failed to get website: %v" +msgstr "" + +#: internal/service/cli.go:525 msgid "Failed to obtain panel certificate via ACME, using self-signed certificate" msgstr "" -#: internal/data/backup.go:1796 +#: internal/data/backup.go:1806 msgid "Failed to optimize database: %v" msgstr "" -#: internal/service/cli.go:354 +#: internal/service/cli.go:910 +msgid "Failed to read certificate file: %v" +msgstr "" + +#: internal/service/cli.go:1724 +#: internal/service/cli.go:429 msgid "Failed to read input: %v" msgstr "" -#: internal/data/backup.go:1642 +#: internal/service/cli.go:914 +msgid "Failed to read private key file: %v" +msgstr "" + +#: internal/data/backup.go:1647 msgid "Failed to remove %s.db: %v" msgstr "" -#: internal/service/cli.go:936 +#: internal/service/cli.go:1395 msgid "Failed to save app: %v" msgstr "" -#: internal/service/cli.go:1015 -#: internal/service/cli.go:198 +#: internal/service/cli.go:1474 +#: internal/service/cli.go:218 msgid "Failed to save setting: %v" msgstr "" -#: internal/service/cli.go:193 +#: internal/service/cli.go:213 msgid "Failed to save user info: %v" msgstr "" +#: internal/service/cli.go:1004 +msgid "Failed to save website: %v" +msgstr "" + #: internal/service/ws.go:203 msgid "Failed to start command: %v" msgstr "" -#: internal/service/cli.go:154 -#: internal/service/cli.go:157 -#: internal/service/cli.go:160 +#: internal/service/cli.go:166 +#: internal/service/cli.go:169 +#: internal/service/cli.go:172 msgid "Failed to synchronize app data: %v" msgstr "" -#: internal/service/cli.go:151 +#: internal/service/cli.go:163 msgid "Failed to synchronize categories data: %v" msgstr "" -#: internal/service/cli.go:357 +#: internal/service/cli.go:432 msgid "Failed to update 2FA: %v" msgstr "" @@ -566,18 +640,34 @@ msgstr "" msgid "Fileinfo is a library used to identify file types" msgstr "" -#: internal/data/backup.go:1632 +#: internal/data/backup.go:1637 msgid "Files are normal and do not need to be repaired, please run acepanel update to update the panel" msgstr "" -#: internal/data/backup.go:1842 +#: internal/data/backup.go:1852 msgid "Finishing up..." msgstr "" -#: internal/data/backup.go:1844 +#: internal/data/backup.go:1854 msgid "Finishing update failed: %v" msgstr "" +#: internal/service/cli.go:773 +msgid "Firewall disabled" +msgstr "" + +#: internal/service/cli.go:764 +msgid "Firewall enabled" +msgstr "" + +#: internal/service/cli.go:812 +msgid "Firewall is not running" +msgstr "" + +#: internal/service/cli.go:750 +msgid "Firewall status: %s" +msgstr "" + #: internal/apps/rocketmq/app.go:69 msgid "Flush Disk Type" msgstr "" @@ -620,15 +710,15 @@ msgstr "" msgid "Goroutine Count" msgstr "" -#: internal/service/cli.go:469 +#: internal/service/cli.go:544 msgid "HTTPS certificate generated" msgstr "" -#: internal/service/cli.go:413 +#: internal/service/cli.go:488 msgid "HTTPS disabled" msgstr "" -#: internal/service/cli.go:397 +#: internal/service/cli.go:472 msgid "HTTPS enabled" msgstr "" @@ -640,7 +730,23 @@ msgstr "" msgid "Huawei Cloud" msgstr "" -#: internal/service/cli.go:257 +#: internal/service/cli.go:1069 +msgid "ID: %d, Domains: %s, Auto Renewal: %t, Expires At: %s" +msgstr "" + +#: internal/service/cli.go:1019 +msgid "ID: %d, Name: %s, Type: %s, Address: %s:%d, Username: %s" +msgstr "" + +#: internal/service/cli.go:1614 +msgid "ID: %d, Name: %s, Type: %s, Schedule: %s, Status: %s" +msgstr "" + +#: internal/service/cli.go:852 +msgid "ID: %d, Name: %s, Type: %s, Status: %s, Path: %s" +msgstr "" + +#: internal/service/cli.go:278 msgid "ID: %d, Username: %s, Email: %s, Created At: %s" msgstr "" @@ -664,11 +770,11 @@ msgstr "" msgid "Idle Workers" msgstr "" -#: internal/service/cli.go:243 +#: internal/service/cli.go:263 msgid "If you cannot access, please check whether the server's security group and firewall allow port %d" msgstr "" -#: internal/service/cli.go:244 +#: internal/service/cli.go:264 msgid "If you still cannot access, try running `acepanel https off` to turn off panel HTTPS" msgstr "" @@ -684,10 +790,10 @@ msgstr "" msgid "Index Hit Rate" msgstr "" -#: internal/service/cli.go:1085 -#: internal/service/cli.go:1090 -#: internal/service/cli.go:1095 -#: internal/service/cli.go:1137 +#: internal/service/cli.go:1544 +#: internal/service/cli.go:1549 +#: internal/service/cli.go:1554 +#: internal/service/cli.go:1596 msgid "Initialization failed: %v" msgstr "" @@ -771,11 +877,11 @@ msgstr "" msgid "Listeners" msgstr "" -#: internal/service/cli.go:227 +#: internal/service/cli.go:247 msgid "Local IPv4: %s://%s:%d%s" msgstr "" -#: internal/service/cli.go:231 +#: internal/service/cli.go:251 msgid "Local IPv6: %s://[%s]:%d%s" msgstr "" @@ -784,7 +890,7 @@ msgstr "" msgid "Local Storage" msgstr "" -#: internal/service/cli.go:1158 +#: internal/service/cli.go:1672 #: internal/taskqueue/runner.go:171 msgid "Log" msgstr "" @@ -859,11 +965,11 @@ msgstr "" msgid "MongoDB metrics" msgstr "" -#: internal/data/backup.go:1722 +#: internal/data/backup.go:1732 msgid "Move acepanel file failed: %v" msgstr "" -#: internal/data/backup.go:1713 +#: internal/data/backup.go:1723 msgid "Move panel file failed: %v" msgstr "" @@ -877,6 +983,10 @@ msgstr "" msgid "NAME" msgstr "" +#: internal/service/cli.go:1121 +msgid "Name: %s, Size: %s, Time: %s" +msgstr "" + #: internal/apps/rocketmq/app.go:67 msgid "NameServer Address" msgstr "" @@ -889,7 +999,7 @@ msgstr "" msgid "NameSilo" msgstr "" -#: internal/service/cli.go:271 +#: internal/service/cli.go:342 msgid "New username cannot be empty" msgstr "" @@ -897,7 +1007,7 @@ msgstr "" msgid "Nginx metrics" msgstr "" -#: internal/data/backup.go:1678 +#: internal/data/backup.go:1683 msgid "No backup file found, unable to automatically repair" msgstr "" @@ -915,10 +1025,6 @@ msgstr "" msgid "Node.js-%s is not installed" msgstr "" -#: internal/service/cli.go:653 -msgid "Not supported" -msgstr "" - #: internal/service/home.go:267 msgid "Not used" msgstr "" @@ -946,7 +1052,7 @@ msgstr "" msgid "OPcache stores precompiled PHP script bytecode in shared memory to improve PHP performance" msgstr "" -#: internal/service/cli.go:268 +#: internal/service/cli.go:339 msgid "Old username cannot be empty" msgstr "" @@ -958,10 +1064,14 @@ msgstr "" msgid "Operation" msgstr "" -#: internal/service/cli.go:1159 +#: internal/service/cli.go:1673 msgid "Output" msgstr "" +#: internal/bootstrap/cli.go:44 +msgid "Output in JSON format (list commands only)" +msgstr "" + #: internal/service/environment_php.go:111 #: internal/service/environment_php.go:130 #: internal/service/environment_php.go:150 @@ -980,14 +1090,14 @@ msgstr "" msgid "PHP-%d is not installed" msgstr "" -#: internal/service/cli.go:1003 -#: internal/service/cli.go:1024 -#: internal/service/cli.go:879 -#: internal/service/cli.go:893 -#: internal/service/cli.go:907 -#: internal/service/cli.go:923 -#: internal/service/cli.go:945 -#: internal/service/cli.go:984 +#: internal/service/cli.go:1332 +#: internal/service/cli.go:1352 +#: internal/service/cli.go:1366 +#: internal/service/cli.go:1382 +#: internal/service/cli.go:1404 +#: internal/service/cli.go:1443 +#: internal/service/cli.go:1462 +#: internal/service/cli.go:1483 msgid "Parameters cannot be empty" msgstr "" @@ -995,19 +1105,24 @@ msgstr "" msgid "Passkey" msgstr "" -#: internal/service/cli.go:317 +#: internal/service/cli.go:392 msgid "Password for user %s changed successfully" msgstr "" -#: internal/service/cli.go:298 +#: internal/service/cli.go:294 +#: internal/service/cli.go:373 msgid "Password length cannot be less than 6" msgstr "" -#: internal/service/cli.go:218 +#: internal/service/cli.go:1717 +msgid "Password not provided, pass it as an argument or set the %s environment variable" +msgstr "" + +#: internal/service/cli.go:238 msgid "Password: %s" msgstr "" -#: internal/service/cli.go:220 +#: internal/service/cli.go:240 msgid "Password: ******* (use -f to force reset)" msgstr "" @@ -1015,6 +1130,10 @@ msgstr "" msgid "Path" msgstr "" +#: internal/service/cli.go:899 +msgid "Path: %s" +msgstr "" + #: internal/apps/mysql/app.go:119 msgid "Peak Connections" msgstr "" @@ -1027,18 +1146,50 @@ msgstr "" msgid "PhpRedis connects to and operates on data in Redis databases (requires the igbinary module installed above)" msgstr "" -#: internal/service/cli.go:242 +#: internal/service/cli.go:753 +msgid "Ping allowed: %t" +msgstr "" + +#: internal/service/cli.go:262 msgid "Please choose the appropriate address to access the panel based on your network situation" msgstr "" -#: internal/service/cli.go:351 +#: internal/service/cli.go:426 msgid "Please enter the 2FA code: " msgstr "" -#: internal/biz/cert.go:252 +#: internal/service/cli.go:368 +msgid "Please enter the new password: " +msgstr "" + +#: internal/service/cli.go:289 +msgid "Please enter the password: " +msgstr "" + +#: internal/biz/cert.go:260 msgid "Please set the panel IP in settings first for ACME certificate generation" msgstr "" +#: internal/service/cli.go:621 +msgid "Please specify at least one IP" +msgstr "" + +#: internal/service/cli.go:658 +msgid "Please specify at least one User-Agent" +msgstr "" + +#: internal/service/cli.go:584 +msgid "Please specify at least one domain" +msgstr "" + +#: internal/service/cli.go:1090 +msgid "Please specify the certificate ID or use --all" +msgstr "" + +#: internal/service/cli.go:696 +msgid "Please specify the port" +msgstr "" + #: internal/service/toolbox_log.go:285 msgid "Podman container logs: %d files" msgstr "" @@ -1047,27 +1198,40 @@ msgstr "" msgid "Porkbun" msgstr "" -#: internal/service/cli.go:567 +#: internal/service/cli.go:831 +msgid "Port %s allowed successfully" +msgstr "" + +#: internal/service/cli.go:833 +msgid "Port %s removed successfully" +msgstr "" + +#: internal/service/cli.go:709 msgid "Port already in use" msgstr "" -#: internal/service/cli.go:593 +#: internal/service/cli.go:735 msgid "Port changed to %d" msgstr "" -#: internal/service/cli.go:557 +#: internal/service/cli.go:699 +#: internal/service/cli.go:802 msgid "Port range error" msgstr "" -#: internal/service/cli.go:222 +#: internal/service/cli.go:242 msgid "Port: %d" msgstr "" +#: internal/service/cli.go:785 +msgid "Port: %d-%d, Protocol: %s, Strategy: %s, Direction: %s, Address: %s" +msgstr "" + #: internal/apps/prometheus/app.go:393 msgid "PostgreSQL database metrics" msgstr "" -#: internal/data/backup.go:1791 +#: internal/data/backup.go:1801 msgid "Preparing to update to %s..." msgstr "" @@ -1091,11 +1255,11 @@ msgstr "" msgid "Pspell is a spell-checking library" msgstr "" -#: internal/service/cli.go:235 +#: internal/service/cli.go:255 msgid "Public IPv4: %s://%s:%d%s" msgstr "" -#: internal/service/cli.go:239 +#: internal/service/cli.go:259 msgid "Public IPv6: %s://[%s]:%d%s" msgstr "" @@ -1150,7 +1314,7 @@ msgstr "" msgid "Relocating Shards" msgstr "" -#: internal/data/backup.go:1710 +#: internal/data/backup.go:1720 msgid "Remove panel file failed: %v" msgstr "" @@ -1190,7 +1354,7 @@ msgstr "" msgid "SSH2 is a library for connecting to SSH servers" msgstr "" -#: internal/service/cli.go:1156 +#: internal/service/cli.go:1670 msgid "Schedule" msgstr "" @@ -1198,7 +1362,7 @@ msgstr "" msgid "Session save handler is not files, cannot clean" msgstr "" -#: internal/service/cli.go:990 +#: internal/service/cli.go:1449 msgid "Setting not exists" msgstr "" @@ -1206,6 +1370,10 @@ msgstr "" msgid "Slow Requests" msgstr "" +#: internal/service/cli.go:1324 +msgid "Slug: %s, Channel: %s, Version: %s" +msgstr "" + #: internal/apps/mysql/app.go:127 msgid "Sort Merge Passes" msgstr "" @@ -1232,7 +1400,7 @@ msgstr "" msgid "Subqueries without Index" msgstr "" -#: internal/service/cli.go:448 +#: internal/service/cli.go:523 msgid "Successfully obtained panel certificate via ACME" msgstr "" @@ -1272,12 +1440,12 @@ msgstr "" msgid "Target" msgstr "" -#: internal/service/cli.go:1155 +#: internal/service/cli.go:1669 #: internal/taskqueue/runner.go:170 msgid "Task" msgstr "" -#: internal/service/cli.go:977 +#: internal/service/cli.go:1436 msgid "Tasks cleared successfully" msgstr "" @@ -1305,7 +1473,7 @@ msgstr "" #: internal/biz/notify.go:191 #: internal/biz/tamper.go:311 #: internal/job/cert_renew.go:175 -#: internal/service/cli.go:1160 +#: internal/service/cli.go:1674 #: internal/service/user.go:182 #: internal/service/user.go:202 #: internal/service/user_passkey.go:305 @@ -1313,7 +1481,7 @@ msgstr "" msgid "Time" msgstr "" -#: internal/service/cli.go:965 +#: internal/service/cli.go:1424 msgid "Time synchronized successfully" msgstr "" @@ -1418,23 +1586,31 @@ msgstr "" msgid "Uninstall environment %s" msgstr "" -#: internal/service/cli.go:859 +#: internal/service/cli.go:807 +msgid "Unsupported protocol: %s" +msgstr "" + +#: internal/service/cli.go:1295 msgid "Unsupported rotation type: %s" msgstr "" +#: internal/service/cli.go:975 +msgid "Unsupported website type: %s" +msgstr "" + #: internal/service/toolbox_log.go:255 msgid "Unused container images: %d" msgstr "" -#: internal/data/backup.go:1694 +#: internal/data/backup.go:1704 msgid "Unzip backup file failed: %v" msgstr "" -#: internal/data/backup.go:1832 +#: internal/data/backup.go:1842 msgid "Unzip new version failed, missing file" msgstr "" -#: internal/data/backup.go:1829 +#: internal/data/backup.go:1839 msgid "Unzip new version failed: %v" msgstr "" @@ -1446,7 +1622,7 @@ msgstr "" msgid "Update app %s" msgstr "" -#: internal/data/backup.go:1849 +#: internal/data/backup.go:1859 msgid "Update completed" msgstr "" @@ -1471,16 +1647,26 @@ msgstr "" msgid "Uptime in Days" msgstr "" +#: internal/service/cli.go:308 +msgid "User %s created successfully" +msgstr "" + +#: internal/service/cli.go:330 +msgid "User %s deleted successfully" +msgstr "" + #: internal/service/user.go:181 #: internal/service/user.go:201 #: internal/service/user_passkey.go:304 msgid "User Agent" msgstr "" -#: internal/service/cli.go:276 -#: internal/service/cli.go:303 -#: internal/service/cli.go:330 -#: internal/service/cli.go:372 +#: internal/service/cli.go:192 +#: internal/service/cli.go:321 +#: internal/service/cli.go:347 +#: internal/service/cli.go:378 +#: internal/service/cli.go:405 +#: internal/service/cli.go:447 msgid "User not exists" msgstr "" @@ -1491,20 +1677,19 @@ msgstr "" msgid "Username" msgstr "" -#: internal/service/cli.go:286 +#: internal/service/cli.go:357 msgid "Username %s changed to %s successfully" msgstr "" -#: internal/service/cli.go:295 -msgid "Username and password cannot be empty" -msgstr "" - -#: internal/service/cli.go:325 -#: internal/service/cli.go:367 +#: internal/service/cli.go:286 +#: internal/service/cli.go:315 +#: internal/service/cli.go:365 +#: internal/service/cli.go:400 +#: internal/service/cli.go:442 msgid "Username cannot be empty" msgstr "" -#: internal/service/cli.go:216 +#: internal/service/cli.go:236 msgid "Username: %s" msgstr "" @@ -1512,11 +1697,11 @@ msgstr "" msgid "VERSION" msgstr "" -#: internal/data/backup.go:1823 +#: internal/data/backup.go:1833 msgid "Verify download file failed: %v" msgstr "" -#: internal/data/backup.go:1821 +#: internal/data/backup.go:1831 msgid "Verifying download file..." msgstr "" @@ -1530,7 +1715,7 @@ msgstr "" msgid "Waiting" msgstr "" -#: internal/service/cli.go:245 +#: internal/service/cli.go:265 msgid "Warning: After turning off panel HTTPS, the security of the panel will be greatly reduced, please operate with caution" msgstr "" @@ -1538,18 +1723,26 @@ msgstr "" msgid "Website" msgstr "" -#: internal/service/cli.go:612 +#: internal/service/cli.go:898 msgid "Website %s created successfully" msgstr "" -#: internal/service/cli.go:648 +#: internal/service/cli.go:966 msgid "Website %s deleted successfully" msgstr "" -#: internal/service/cli.go:629 +#: internal/service/cli.go:947 msgid "Website %s removed successfully" msgstr "" +#: internal/service/cli.go:1007 +msgid "Website %s written successfully" +msgstr "" + +#: internal/service/cli.go:987 +msgid "Website path must be an absolute path" +msgstr "" + #: internal/bootstrap/cli.go:33 msgid "Website:https://acepanel.net" msgstr "" @@ -1611,7 +1804,7 @@ msgstr "" msgid "[AcePanel] Certificate Renewal Failed" msgstr "" -#: internal/service/cli.go:1153 +#: internal/service/cli.go:1667 msgid "[AcePanel] Cron Task Failed" msgstr "" @@ -1750,7 +1943,7 @@ msgstr "" msgid "can't download a directory" msgstr "" -#: internal/biz/website.go:140 +#: internal/biz/website.go:141 msgid "can't find %s database server, please add it first" msgstr "" @@ -1807,7 +2000,7 @@ msgstr "" msgid "container status" msgstr "" -#: internal/data/backup.go:1469 +#: internal/data/backup.go:1474 msgid "could not find database backup file" msgstr "" @@ -1820,24 +2013,24 @@ msgstr "" msgid "create target file error: %v" msgstr "" -#: internal/service/cli.go:1154 +#: internal/service/cli.go:1668 msgid "cron task exited abnormally" msgstr "" -#: internal/data/backup.go:1491 +#: internal/data/backup.go:1496 msgid "database backup archive contains multiple dump files" msgstr "" -#: internal/data/backup.go:1427 +#: internal/data/backup.go:1432 msgid "database backup contains too many nested archives" msgstr "" -#: internal/data/backup.go:1001 -#: internal/data/backup.go:1050 -#: internal/data/backup.go:583 -#: internal/data/backup.go:651 -#: internal/data/backup.go:716 -#: internal/data/backup.go:968 +#: internal/data/backup.go:1006 +#: internal/data/backup.go:1055 +#: internal/data/backup.go:588 +#: internal/data/backup.go:656 +#: internal/data/backup.go:721 +#: internal/data/backup.go:973 msgid "database does not exist: %s" msgstr "" @@ -1874,8 +2067,8 @@ msgstr "" msgid "default site is only supported with nginx" msgstr "" -#: internal/biz/cert.go:232 -#: internal/biz/cert.go:360 +#: internal/biz/cert.go:240 +#: internal/biz/cert.go:367 msgid "deploying certificate to website" msgstr "" @@ -1911,7 +2104,7 @@ msgstr "" msgid "downloading" msgstr "" -#: internal/data/backup.go:1248 +#: internal/data/backup.go:1253 msgid "dump.rdb not found in backup file" msgstr "" @@ -2097,7 +2290,7 @@ msgstr "" msgid "failed to encode auth: %v" msgstr "" -#: internal/data/backup.go:1196 +#: internal/data/backup.go:1201 msgid "failed to export RDB snapshot" msgstr "" @@ -2381,10 +2574,10 @@ msgstr "" msgid "failed to parse SMART info: %v" msgstr "" -#: internal/biz/cert.go:95 +#: internal/biz/cert.go:103 #: internal/biz/setting.go:241 #: internal/biz/setting.go:315 -#: internal/data/website.go:1244 +#: internal/data/website.go:1250 #: internal/data/website.go:862 msgid "failed to parse certificate: %v" msgstr "" @@ -2401,10 +2594,10 @@ msgstr "" msgid "failed to parse phpMyAdmin login page" msgstr "" -#: internal/biz/cert.go:98 +#: internal/biz/cert.go:106 #: internal/biz/setting.go:244 #: internal/biz/setting.go:318 -#: internal/data/website.go:1247 +#: internal/data/website.go:1253 #: internal/data/website.go:865 msgid "failed to parse private key: %v" msgstr "" @@ -2757,7 +2950,7 @@ msgstr "" msgid "if the site connects to a database, change the host in its config from the 1Panel container name to localhost" msgstr "" -#: internal/biz/cert.go:180 +#: internal/biz/cert.go:188 msgid "initializing ACME client" msgstr "" @@ -2828,7 +3021,7 @@ msgstr "" msgid "ionCube is a professional-grade PHP encryption and decryption tool (must be installed after OPcache)" msgstr "" -#: internal/biz/cert.go:214 +#: internal/biz/cert.go:222 msgid "issuing certificate, domains: %s" msgstr "" @@ -2844,11 +3037,11 @@ msgstr "" msgid "less than or equal to" msgstr "" -#: internal/data/backup.go:336 +#: internal/data/backup.go:338 msgid "log file %s not exists" msgstr "" -#: internal/data/website.go:1348 +#: internal/data/website.go:1354 msgid "maximum number of custom configurations reached (limit: %d)" msgstr "" @@ -2944,8 +3137,8 @@ msgstr "" msgid "not running" msgstr "" -#: internal/biz/cert.go:222 -#: internal/biz/cert.go:350 +#: internal/biz/cert.go:230 +#: internal/biz/cert.go:357 msgid "obtaining and saving certificate" msgstr "" @@ -2961,7 +3154,7 @@ msgstr "" msgid "open upload file error: %v" msgstr "" -#: internal/data/backup.go:1909 +#: internal/data/backup.go:1919 msgid "panel binary is missing after update" msgstr "" @@ -2973,7 +3166,7 @@ msgstr "" msgid "panel certificate" msgstr "" -#: internal/data/backup.go:1773 +#: internal/data/backup.go:1783 msgid "panel is already updating, please try again later" msgstr "" @@ -3002,7 +3195,7 @@ msgstr "" msgid "panel run error, please check or contact support" msgstr "" -#: internal/data/backup.go:1905 +#: internal/data/backup.go:1915 msgid "panel service file is missing" msgstr "" @@ -3022,11 +3215,11 @@ msgstr "" msgid "passkey registration failed: %v" msgstr "" -#: internal/data/backup.go:817 +#: internal/data/backup.go:822 msgid "path does not exist: %s" msgstr "" -#: internal/data/backup.go:820 +#: internal/data/backup.go:825 msgid "path is not a directory: %s" msgstr "" @@ -3101,7 +3294,7 @@ msgstr "" msgid "port is already in use" msgstr "" -#: internal/biz/cert.go:299 +#: internal/biz/cert.go:307 msgid "preparing renewal" msgstr "" @@ -3145,11 +3338,11 @@ msgstr "" msgid "read directory error: %v" msgstr "" -#: internal/biz/cert.go:343 +#: internal/biz/cert.go:350 msgid "renewal failed, attempting re-issuance" msgstr "" -#: internal/biz/cert.go:337 +#: internal/biz/cert.go:344 msgid "renewing certificate, domains: %s" msgstr "" @@ -3170,7 +3363,10 @@ msgstr "" msgid "rule not found" msgstr "" -#: internal/service/cli.go:91 +#: internal/service/cli.go:103 +#: internal/service/cli.go:1612 +#: internal/service/cli.go:748 +#: internal/service/cli.go:850 msgid "running" msgstr "" @@ -3237,6 +3433,10 @@ msgstr "" msgid "smartmontools is not installed, please install it first (e.g., apt install smartmontools or dnf install smartmontools)" msgstr "" +#: internal/data/cert.go:205 +msgid "some of the selected websites do not exist" +msgstr "" + #: internal/service/ws.go:290 msgid "source and destination are the same file" msgstr "" @@ -3253,7 +3453,10 @@ msgstr "" msgid "sqlsrv is a driver for connecting to SQL Server" msgstr "" -#: internal/service/cli.go:93 +#: internal/service/cli.go:105 +#: internal/service/cli.go:1610 +#: internal/service/cli.go:746 +#: internal/service/cli.go:848 msgid "stopped" msgstr "" @@ -3443,20 +3646,20 @@ msgstr "" msgid "this 1Panel website type is not supported for automatic migration: %s" msgstr "" -#: internal/biz/cert.go:404 +#: internal/biz/cert.go:411 msgid "this certificate has not been obtained successfully and cannot be deployed" msgstr "" -#: internal/biz/cert.go:311 +#: internal/biz/cert.go:319 msgid "this certificate has not been obtained successfully and cannot be renewed" msgstr "" -#: internal/biz/cert.go:202 -#: internal/biz/cert.go:325 +#: internal/biz/cert.go:210 +#: internal/biz/cert.go:333 msgid "this certificate is not associated with a website and cannot be obtained. You can try to obtain it manually" msgstr "" -#: internal/data/cert.go:313 +#: internal/data/cert.go:368 msgid "this certificate is not associated with an ACME account and cannot be obtained" msgstr "" @@ -3482,18 +3685,18 @@ msgstr "" msgid "unable to update in offline mode" msgstr "" -#: internal/data/backup.go:892 +#: internal/data/backup.go:897 msgid "uncompressed backup is empty, restore aborted" msgstr "" #: internal/biz/toolbox_migration_import.go:320 #: internal/biz/toolbox_migration_import.go:89 -#: internal/service/cli.go:88 +#: internal/service/cli.go:100 msgid "unknown" msgstr "" #: internal/data/backup.go:157 -#: internal/data/backup.go:290 +#: internal/data/backup.go:292 msgid "unknown backup type" msgstr "" @@ -3506,7 +3709,7 @@ msgstr "" msgid "unknown service" msgstr "" -#: internal/data/backup.go:525 +#: internal/data/backup.go:530 msgid "unknown storage type" msgstr "" @@ -3549,17 +3752,17 @@ msgstr "" msgid "unsupported system" msgstr "" -#: internal/data/website.go:1437 -#: internal/data/website.go:1501 +#: internal/data/website.go:1443 +#: internal/data/website.go:1507 msgid "unsupported web server: %s" msgstr "" -#: internal/data/cert.go:276 -#: internal/data/website.go:1412 +#: internal/data/cert.go:331 +#: internal/data/website.go:1418 msgid "unsupported website type: %s" msgstr "" -#: internal/biz/cert.go:145 +#: internal/biz/cert.go:153 msgid "upload certificate cannot be set to auto renewal" msgstr "" @@ -3639,12 +3842,12 @@ msgstr "" msgid "website type is unchanged" msgstr "" -#: internal/biz/cert.go:208 -#: internal/biz/cert.go:329 +#: internal/biz/cert.go:216 +#: internal/biz/cert.go:337 msgid "wildcard domains cannot use HTTP verification" msgstr "" -#: internal/biz/website.go:255 +#: internal/biz/website.go:256 msgid "wildcard domains require DNS verification, please select a DNS provider" msgstr "" @@ -3680,18 +3883,18 @@ msgstr "" msgid "zstd is a library for compressing and decompressing files" msgstr "" -#: internal/data/backup.go:1683 +#: internal/data/backup.go:1688 msgid "|-Backup file used: %s" msgstr "" -#: internal/data/backup.go:1217 +#: internal/data/backup.go:1222 #: internal/data/backup.go:232 #: internal/data/backup.go:269 -#: internal/data/backup.go:565 -#: internal/data/backup.go:632 -#: internal/data/backup.go:695 -#: internal/data/backup.go:788 -#: internal/data/backup.go:852 +#: internal/data/backup.go:570 +#: internal/data/backup.go:637 +#: internal/data/backup.go:700 +#: internal/data/backup.go:793 +#: internal/data/backup.go:857 msgid "|-Backup file: %s" msgstr "" @@ -3712,81 +3915,93 @@ msgstr "" msgid "|-Backup type: %s" msgstr "" -#: internal/service/cli.go:714 +#: internal/service/cli.go:1142 msgid "|-Backup type: panel" msgstr "" -#: internal/data/backup.go:421 -#: internal/data/backup.go:482 +#: internal/service/cli.go:1100 +msgid "|-Certificate %d renewal failed: %v" +msgstr "" + +#: internal/service/cli.go:1103 +msgid "|-Certificate %d renewed successfully" +msgstr "" + +#: internal/data/backup.go:423 +#: internal/data/backup.go:487 msgid "|-Cleaning expired file: %s" msgstr "" -#: internal/service/cli.go:730 -#: internal/service/cli.go:837 +#: internal/service/cli.go:1157 +#: internal/service/cli.go:1277 msgid "|-Cleaning target: %s" msgstr "" -#: internal/service/cli.go:729 -#: internal/service/cli.go:836 +#: internal/service/cli.go:1156 +#: internal/service/cli.go:1276 msgid "|-Cleaning type: %s" msgstr "" -#: internal/data/backup.go:939 +#: internal/data/backup.go:944 msgid "|-File size: %s" msgstr "" -#: internal/data/backup.go:1652 -#: internal/data/backup.go:1758 +#: internal/data/backup.go:1657 +#: internal/data/backup.go:1768 msgid "|-Fix completed" msgstr "" -#: internal/data/backup.go:911 +#: internal/data/backup.go:916 msgid "|-Fixing file permissions..." msgstr "" -#: internal/data/backup.go:1645 +#: internal/data/backup.go:1650 msgid "|-Found %s.db is abnormal, removed it" msgstr "" -#: internal/data/backup.go:1021 +#: internal/data/backup.go:1026 msgid "|-Importing PostgreSQL backup..." msgstr "" -#: internal/data/backup.go:1056 -#: internal/data/backup.go:983 +#: internal/data/backup.go:1061 +#: internal/data/backup.go:988 msgid "|-Importing SQL into database..." msgstr "" -#: internal/data/backup.go:1098 +#: internal/data/backup.go:1103 msgid "|-Importing table: %s" msgstr "" -#: internal/data/backup.go:946 +#: internal/data/backup.go:951 msgid "|-Importing: %s (%s/s)" msgstr "" -#: internal/data/backup.go:942 +#: internal/data/backup.go:947 msgid "|-Importing: %s / %s (%.1f%%, %s/s)" msgstr "" -#: internal/service/cli.go:731 -#: internal/service/cli.go:838 +#: internal/service/cli.go:1158 +#: internal/service/cli.go:1278 msgid "|-Keep count: %d" msgstr "" -#: internal/data/backup.go:1699 +#: internal/data/backup.go:1709 msgid "|-Move backup file..." msgstr "" -#: internal/data/backup.go:1294 +#: internal/data/backup.go:1299 msgid "|-Re-enabling AOF..." msgstr "" -#: internal/data/backup.go:1264 +#: internal/service/cli.go:1095 +msgid "|-Renewing certificate %d..." +msgstr "" + +#: internal/data/backup.go:1269 msgid "|-Replacing dump.rdb..." msgstr "" -#: internal/data/backup.go:901 +#: internal/data/backup.go:906 msgid "|-Replacing website files..." msgstr "" @@ -3794,7 +4009,7 @@ msgstr "" msgid "|-Restore target: %s" msgstr "" -#: internal/data/backup.go:294 +#: internal/data/backup.go:296 msgid "|-Restore time: %s" msgstr "" @@ -3802,81 +4017,85 @@ msgstr "" msgid "|-Restore type: %s" msgstr "" -#: internal/data/backup.go:1080 +#: internal/data/backup.go:1085 msgid "|-Restoring schema..." msgstr "" -#: internal/service/cli.go:761 -#: internal/service/cli.go:807 +#: internal/service/cli.go:1201 +#: internal/service/cli.go:1247 msgid "|-Rotation target: %s" msgstr "" -#: internal/service/cli.go:806 +#: internal/service/cli.go:1246 msgid "|-Rotation type: container" msgstr "" -#: internal/service/cli.go:760 +#: internal/service/cli.go:1200 msgid "|-Rotation type: website" msgstr "" -#: internal/data/backup.go:1735 +#: internal/service/cli.go:1629 +msgid "|-Running cron task: %s" +msgstr "" + +#: internal/data/backup.go:1745 msgid "|-Set key file permissions..." msgstr "" -#: internal/data/backup.go:1598 +#: internal/data/backup.go:1603 msgid "|-Start fixing the panel..." msgstr "" -#: internal/data/backup.go:1284 +#: internal/data/backup.go:1289 msgid "|-Starting %s service (loading RDB)..." msgstr "" -#: internal/data/backup.go:1253 +#: internal/data/backup.go:1258 msgid "|-Stopping %s service..." msgstr "" -#: internal/data/backup.go:1069 -#: internal/data/backup.go:1187 -#: internal/data/backup.go:1240 -#: internal/data/backup.go:544 -#: internal/data/backup.go:594 -#: internal/data/backup.go:662 -#: internal/data/backup.go:727 -#: internal/data/backup.go:831 +#: internal/data/backup.go:1074 +#: internal/data/backup.go:1192 +#: internal/data/backup.go:1245 +#: internal/data/backup.go:549 +#: internal/data/backup.go:599 +#: internal/data/backup.go:667 +#: internal/data/backup.go:732 +#: internal/data/backup.go:836 msgid "|-Temporary directory: %s" msgstr "" -#: internal/data/backup.go:1016 -#: internal/data/backup.go:1070 -#: internal/data/backup.go:1241 -#: internal/data/backup.go:875 -#: internal/data/backup.go:978 +#: internal/data/backup.go:1021 +#: internal/data/backup.go:1075 +#: internal/data/backup.go:1246 +#: internal/data/backup.go:880 +#: internal/data/backup.go:983 msgid "|-Uncompressing backup..." msgstr "" -#: internal/data/backup.go:1688 +#: internal/data/backup.go:1698 msgid "|-Unzip backup file..." msgstr "" -#: internal/data/backup.go:874 +#: internal/data/backup.go:879 msgid "|-Website path: %s" msgstr "" #: internal/data/backup.go:134 -#: internal/service/cli.go:712 +#: internal/service/cli.go:1140 msgid "★ Start backup [%s]" msgstr "" -#: internal/service/cli.go:727 +#: internal/service/cli.go:1154 msgid "★ Start cleaning [%s]" msgstr "" -#: internal/service/cli.go:834 +#: internal/service/cli.go:1274 msgid "★ Start cleaning rotated logs [%s]" msgstr "" -#: internal/service/cli.go:758 -#: internal/service/cli.go:804 +#: internal/service/cli.go:1198 +#: internal/service/cli.go:1244 msgid "★ Start log rotation [%s]" msgstr "" @@ -3892,24 +4111,24 @@ msgstr "" msgid "☆ Backup failed: %v [%s]" msgstr "" -#: internal/service/cli.go:719 +#: internal/service/cli.go:1147 msgid "☆ Backup successful [%s]" msgstr "" -#: internal/service/cli.go:745 -#: internal/service/cli.go:870 +#: internal/service/cli.go:1172 +#: internal/service/cli.go:1311 msgid "☆ Cleaning successful [%s]" msgstr "" -#: internal/data/backup.go:299 +#: internal/data/backup.go:301 msgid "☆ Restore completed [%s]" msgstr "" -#: internal/data/backup.go:297 +#: internal/data/backup.go:299 msgid "☆ Restore failed: %v [%s]" msgstr "" -#: internal/service/cli.go:783 -#: internal/service/cli.go:822 +#: internal/service/cli.go:1223 +#: internal/service/cli.go:1262 msgid "☆ Rotation successful [%s]" msgstr "" \ No newline at end of file diff --git a/web/src/locales/en.po b/web/src/locales/en.po index c70ae066..1493bd0b 100644 --- a/web/src/locales/en.po +++ b/web/src/locales/en.po @@ -24,7 +24,7 @@ msgstr "QQ Group" #: src/components/common/AppFooter.vue:38 src/locales/menu.ts:24 #: src/views/apps/fail2ban/IndexView.vue:313 src/views/backup/IndexView.vue:53 #: src/views/backup/ListView.vue:276 src/views/backup/ListView.vue:324 -#: src/views/cert/CertView.vue:526 src/views/cert/CertView.vue:642 +#: src/views/cert/CertView.vue:550 src/views/cert/CertView.vue:667 #: src/views/cert/CreateCertModal.vue:118 src/views/home/IndexView.vue:542 #: src/views/task/CreateModal.vue:445 src/views/task/CreateModal.vue:467 #: src/views/toolbox/MigrationView.vue:75 @@ -483,9 +483,9 @@ msgstr "Root Directory" #: src/views/apps/supervisor/IndexView.vue:435 #: src/views/backup/ListView.vue:310 src/views/backup/ListView.vue:351 #: src/views/backup/StorageView.vue:376 src/views/backup/StorageView.vue:529 -#: src/views/cert/AccountView.vue:258 src/views/cert/CertView.vue:627 -#: src/views/cert/CertView.vue:675 src/views/cert/CreateAccountModal.vue:136 -#: src/views/cert/CreateCertModal.vue:163 src/views/cert/CreateDnsModal.vue:199 +#: src/views/cert/AccountView.vue:258 src/views/cert/CertView.vue:652 +#: src/views/cert/CertView.vue:700 src/views/cert/CreateAccountModal.vue:136 +#: src/views/cert/CreateCertModal.vue:164 src/views/cert/CreateDnsModal.vue:199 #: src/views/cert/DnsView.vue:330 src/views/cert/ObtainModal.vue:180 #: src/views/cert/UploadCertModal.vue:64 #: src/views/container/ComposeView.vue:341 @@ -550,7 +550,7 @@ msgstr "Files to compress" #: src/views/apps/supervisor/IndexView.vue:151 #: src/views/container/ComposeView.vue:171 #: src/views/file/composables/usePaste.ts:72 src/views/file/UploadModal.vue:784 -#: src/views/home/IndexView.vue:1041 src/views/home/UpdateView.vue:104 +#: src/views/home/IndexView.vue:1041 src/views/home/UpdateView.vue:119 #: src/views/toolbox/DiskView.vue:353 src/views/toolbox/DiskView.vue:355 #: src/views/toolbox/DiskView.vue:375 src/views/toolbox/DiskView.vue:377 #: src/views/toolbox/DiskView.vue:441 src/views/toolbox/DiskView.vue:445 @@ -590,7 +590,7 @@ msgstr "" #: src/views/file/ListView.vue:851 src/views/file/ToolBar.vue:181 #: src/views/file/UploadModal.vue:505 src/views/file/UploadModal.vue:640 #: src/views/file/UploadModal.vue:783 src/views/home/IndexView.vue:1042 -#: src/views/home/UpdateView.vue:105 src/views/monitor/AlertRuleModal.vue:193 +#: src/views/home/UpdateView.vue:120 src/views/monitor/AlertRuleModal.vue:193 #: src/views/monitor/ChannelModal.vue:148 src/views/project/EditModal.vue:579 #: src/views/ssh/SftpPanel.vue:299 src/views/tamper/RuleModal.vue:134 #: src/views/task/TaskView.vue:110 src/views/toolbox/DiskView.vue:356 @@ -1144,7 +1144,7 @@ msgstr "" #: src/components/file-editor/EditorToolbar.vue:169 #: src/components/file-editor/EditorToolbar.vue:174 #: src/components/file-editor/FileTree.vue:680 src/views/file/PathInput.vue:133 -#: src/views/home/UpdateView.vue:163 src/views/log/DatabaseLog.vue:132 +#: src/views/home/UpdateView.vue:178 src/views/log/DatabaseLog.vue:132 #: src/views/log/HttpLog.vue:161 src/views/log/OperationLog.vue:184 #: src/views/log/SSHLog.vue:115 src/views/monitor/AlertView.vue:240 #: src/views/ssh/SftpBrowser.vue:138 src/views/tamper/TamperView.vue:379 @@ -1288,8 +1288,9 @@ msgstr "" #: src/components/file-editor/FileEditorView.vue:225 #: src/views/apps/docker/IndexView.vue:83 src/views/cert/CertView.vue:152 -#: src/views/cert/CertView.vue:206 src/views/cert/CertView.vue:217 -#: src/views/cert/CertView.vue:235 src/views/container/ContainerCreate.vue:57 +#: src/views/cert/CertView.vue:206 src/views/cert/CertView.vue:218 +#: src/views/cert/CertView.vue:241 src/views/cert/CertView.vue:259 +#: src/views/container/ContainerCreate.vue:57 #: src/views/database/ServerList.vue:78 src/views/database/ServerList.vue:93 #: src/views/database/UserList.vue:28 src/views/database/UserList.vue:68 #: src/views/firewall/ForwardView.vue:27 src/views/firewall/IpRuleView.vue:27 @@ -1452,7 +1453,7 @@ msgstr "Rename" #: src/views/apps/rsync/IndexView.vue:101 #: src/views/apps/supervisor/IndexView.vue:178 #: src/views/backup/ListView.vue:106 src/views/backup/StorageView.vue:126 -#: src/views/cert/AccountView.vue:113 src/views/cert/CertView.vue:366 +#: src/views/cert/AccountView.vue:113 src/views/cert/CertView.vue:390 #: src/views/cert/DnsView.vue:109 src/views/container/ComposeView.vue:209 #: src/views/container/ComposeView.vue:289 #: src/views/container/ContainerView.vue:211 @@ -1703,8 +1704,8 @@ msgstr "Apps" msgid "Backup" msgstr "Backup" -#: src/locales/menu.ts:9 src/views/cert/CertView.vue:582 -#: src/views/cert/CertView.vue:691 src/views/cert/IndexView.vue:97 +#: src/locales/menu.ts:9 src/views/cert/CertView.vue:607 +#: src/views/cert/CertView.vue:716 src/views/cert/IndexView.vue:97 #: src/views/cert/UploadCertModal.vue:46 src/views/setting/SettingSafe.vue:275 #: src/views/website/EditModal.vue:1774 msgid "Certificate" @@ -1841,7 +1842,7 @@ msgstr "Show in Home" #: src/views/apps/rsync/IndexView.vue:72 src/views/apps/s3fs/IndexView.vue:35 #: src/views/apps/supervisor/IndexView.vue:84 src/views/backup/ListView.vue:63 #: src/views/backup/StorageView.vue:95 src/views/cert/AccountView.vue:74 -#: src/views/cert/CertView.vue:253 src/views/cert/DnsView.vue:69 +#: src/views/cert/CertView.vue:277 src/views/cert/DnsView.vue:69 #: src/views/container/ComposeView.vue:102 #: src/views/container/ContainerView.vue:113 #: src/views/container/ImageView.vue:97 src/views/container/NetworkView.vue:112 @@ -2061,7 +2062,7 @@ msgid "Please select a compose" msgstr "Please select a timezone" #: src/views/app/TemplateDeployModal.vue:258 src/views/cert/AccountView.vue:145 -#: src/views/cert/CertView.vue:401 src/views/cert/CertView.vue:422 +#: src/views/cert/CertView.vue:425 src/views/cert/CertView.vue:446 #: src/views/cert/DnsView.vue:137 src/views/container/ComposeView.vue:249 msgid "Update successful" msgstr "Update successful" @@ -2245,7 +2246,7 @@ msgstr "Create Compose" msgid "Local" msgstr "" -#: src/views/app/TemplateView.vue:152 src/views/cert/CertView.vue:285 +#: src/views/app/TemplateView.vue:152 src/views/cert/CertView.vue:309 msgid "Deploy" msgstr "Deploy" @@ -2902,7 +2903,7 @@ msgstr "Ban Time" msgid "Find Time" msgstr "Find Time" -#: src/views/apps/fail2ban/IndexView.vue:80 src/views/cert/CertView.vue:319 +#: src/views/apps/fail2ban/IndexView.vue:80 src/views/cert/CertView.vue:343 #: src/views/database/ElasticsearchDataView.vue:186 #: src/views/database/RedisDataView.vue:141 msgid "View" @@ -5137,8 +5138,8 @@ msgid "Restore Backup" msgstr "Restore Backup" #: src/views/backup/StorageView.vue:36 src/views/backup/StorageView.vue:321 -#: src/views/backup/StorageView.vue:477 src/views/cert/CertView.vue:594 -#: src/views/cert/CertView.vue:694 src/views/cert/UploadCertModal.vue:54 +#: src/views/backup/StorageView.vue:477 src/views/cert/CertView.vue:619 +#: src/views/cert/CertView.vue:719 src/views/cert/UploadCertModal.vue:54 #: src/views/setting/SettingSafe.vue:282 src/views/ssh/CreateModal.vue:81 #: src/views/ssh/CreateModal.vue:92 src/views/ssh/UpdateModal.vue:87 #: src/views/ssh/UpdateModal.vue:98 src/views/website/EditModal.vue:1784 @@ -5317,12 +5318,12 @@ msgid "Email" msgstr "Email" #: src/views/cert/AccountView.vue:67 src/views/cert/AccountView.vue:218 -#: src/views/cert/CertView.vue:518 src/views/cert/CreateAccountModal.vue:96 +#: src/views/cert/CertView.vue:542 src/views/cert/CreateAccountModal.vue:96 #: src/views/cert/CreateCertModal.vue:110 msgid "Key Type" msgstr "Key Type" -#: src/views/cert/AccountView.vue:95 src/views/cert/CertView.vue:348 +#: src/views/cert/AccountView.vue:95 src/views/cert/CertView.vue:372 #: src/views/cert/DnsView.vue:91 src/views/database/ServerList.vue:214 #: src/views/database/UserList.vue:150 src/views/file/PermissionModal.vue:156 #: src/views/setting/TokenModal.vue:73 @@ -5333,7 +5334,7 @@ msgstr "Modify" msgid "Are you sure you want to delete the account?" msgstr "Are you sure you want to delete the account?" -#: src/views/cert/AccountView.vue:108 src/views/cert/CertView.vue:362 +#: src/views/cert/AccountView.vue:108 src/views/cert/CertView.vue:386 #: src/views/cert/DnsView.vue:105 msgid "Deletion successful" msgstr "Deletion successful" @@ -5372,7 +5373,7 @@ msgstr "CA" msgid "Select CA" msgstr "Select CA" -#: src/views/cert/AccountView.vue:221 src/views/cert/CertView.vue:521 +#: src/views/cert/AccountView.vue:221 src/views/cert/CertView.vue:545 #: src/views/cert/CreateAccountModal.vue:99 #: src/views/cert/CreateCertModal.vue:113 msgid "Select key type" @@ -5395,7 +5396,7 @@ msgstr "Enter HMAC" msgid "No matching websites found" msgstr "Database" -#: src/views/cert/CertView.vue:146 src/views/cert/CertView.vue:510 +#: src/views/cert/CertView.vue:146 src/views/cert/CertView.vue:534 #: src/views/cert/CreateCertModal.vue:102 src/views/project/CreateModal.vue:661 #: src/views/website/CreateModal.vue:201 src/views/website/EditModal.vue:938 msgid "Domain" @@ -5410,46 +5411,51 @@ msgstr "Upload" msgid "Associated Account" msgstr "Associated Account" -#: src/views/cert/CertView.vue:212 src/views/website/EditModal.vue:1711 +#: src/views/cert/CertView.vue:212 +#, fuzzy +msgid "Associated Website" +msgstr "Create Website" + +#: src/views/cert/CertView.vue:236 src/views/website/EditModal.vue:1711 msgid "Issuer" msgstr "Issuer" -#: src/views/cert/CertView.vue:221 src/views/setting/TokenModal.vue:48 +#: src/views/cert/CertView.vue:245 src/views/setting/TokenModal.vue:48 #: src/views/setting/TokenModal.vue:255 src/views/setting/TokenModal.vue:293 msgid "Expiration Time" msgstr "Expiration Time" -#: src/views/cert/CertView.vue:230 +#: src/views/cert/CertView.vue:254 msgid "Next Renewal Time" msgstr "" -#: src/views/cert/CertView.vue:239 +#: src/views/cert/CertView.vue:263 #, fuzzy msgid "Auto Renewal" msgstr "Auto Renew" -#: src/views/cert/CertView.vue:272 src/views/website/EditModal.vue:2289 +#: src/views/cert/CertView.vue:296 src/views/website/EditModal.vue:2289 msgid "Issue" msgstr "Issue" -#: src/views/cert/CertView.vue:302 +#: src/views/cert/CertView.vue:326 #, fuzzy msgid "Renewal" msgstr "Renew" -#: src/views/cert/CertView.vue:357 +#: src/views/cert/CertView.vue:381 msgid "Are you sure you want to delete the certificate?" msgstr "Are you sure you want to delete the certificate?" -#: src/views/cert/CertView.vue:450 +#: src/views/cert/CertView.vue:473 msgid "Deployment successful" msgstr "Deployment successful" -#: src/views/cert/CertView.vue:495 +#: src/views/cert/CertView.vue:519 msgid "Modify Certificate" msgstr "Modify Certificate" -#: src/views/cert/CertView.vue:504 +#: src/views/cert/CertView.vue:528 msgid "" "You can automatically issue and deploy certificates by selecting any website/" "DNS, or manually enter domain names and set DNS resolution to issue " @@ -5461,58 +5467,59 @@ msgstr "" "certificates, or fill in deployment scripts to automatically deploy " "certificates." -#: src/views/cert/CertView.vue:529 src/views/cert/CreateCertModal.vue:121 -msgid "Select website for certificate deployment" +#: src/views/cert/CertView.vue:553 src/views/cert/CreateCertModal.vue:121 +#, fuzzy +msgid "Select websites for certificate deployment" msgstr "Select website for certificate deployment" -#: src/views/cert/CertView.vue:537 src/views/cert/CreateCertModal.vue:126 +#: src/views/cert/CertView.vue:562 src/views/cert/CreateCertModal.vue:127 #: src/views/cert/IndexView.vue:98 msgid "Account" msgstr "Account" -#: src/views/cert/CertView.vue:541 src/views/cert/CreateCertModal.vue:129 +#: src/views/cert/CertView.vue:566 src/views/cert/CreateCertModal.vue:130 msgid "Select account for certificate issuance" msgstr "Select account for certificate issuance" -#: src/views/cert/CertView.vue:546 src/views/cert/CreateCertModal.vue:134 +#: src/views/cert/CertView.vue:571 src/views/cert/CreateCertModal.vue:135 #: src/views/cert/CreateDnsModal.vue:71 src/views/cert/DnsView.vue:196 #: src/views/cert/IndexView.vue:99 src/views/website/EditModal.vue:2280 msgid "DNS" msgstr "DNS" -#: src/views/cert/CertView.vue:549 src/views/cert/CreateCertModal.vue:137 +#: src/views/cert/CertView.vue:574 src/views/cert/CreateCertModal.vue:138 #: src/views/website/EditModal.vue:2283 msgid "Select DNS for certificate issuance" msgstr "Select DNS for certificate issuance" -#: src/views/cert/CertView.vue:556 src/views/cert/CreateCertModal.vue:142 +#: src/views/cert/CertView.vue:581 src/views/cert/CreateCertModal.vue:143 #, fuzzy msgid "DNS Alias" msgstr "DNS List" -#: src/views/cert/CertView.vue:566 src/views/cert/CreateCertModal.vue:148 +#: src/views/cert/CertView.vue:591 src/views/cert/CreateCertModal.vue:149 msgid "Original domain, e.g. example.com" msgstr "" -#: src/views/cert/CertView.vue:572 src/views/cert/CreateCertModal.vue:154 +#: src/views/cert/CertView.vue:597 src/views/cert/CreateCertModal.vue:155 msgid "Alias record, e.g. _acme-challenge.delegated.com" msgstr "" -#: src/views/cert/CertView.vue:587 src/views/cert/UploadCertModal.vue:50 +#: src/views/cert/CertView.vue:612 src/views/cert/UploadCertModal.vue:50 #: src/views/website/EditModal.vue:1778 msgid "Enter the content of the PEM certificate file" msgstr "Enter the content of the PEM certificate file" -#: src/views/cert/CertView.vue:599 src/views/cert/UploadCertModal.vue:58 +#: src/views/cert/CertView.vue:624 src/views/cert/UploadCertModal.vue:58 #: src/views/website/EditModal.vue:1788 msgid "Enter the content of the KEY private key file" msgstr "Enter the content of the KEY private key file" -#: src/views/cert/CertView.vue:606 +#: src/views/cert/CertView.vue:631 msgid "Deployment Script" msgstr "Deployment Script" -#: src/views/cert/CertView.vue:612 +#: src/views/cert/CertView.vue:637 msgid "" "The {cert} and {key} in the script will be replaced with the certificate and " "private key content" @@ -5520,32 +5527,32 @@ msgstr "" "The {cert} and {key} in the script will be replaced with the certificate and " "private key content" -#: src/views/cert/CertView.vue:634 +#: src/views/cert/CertView.vue:659 msgid "Deploy Certificate" msgstr "Deploy Certificate" -#: src/views/cert/CertView.vue:651 +#: src/views/cert/CertView.vue:676 #, fuzzy msgid "Match Websites" msgstr "Website" -#: src/views/cert/CertView.vue:657 src/views/tamper/TamperView.vue:313 +#: src/views/cert/CertView.vue:682 src/views/tamper/TamperView.vue:313 #: src/views/toolbox/DiskView.vue:250 #, fuzzy msgid "Available" msgstr "SWAP Available" -#: src/views/cert/CertView.vue:658 +#: src/views/cert/CertView.vue:683 #, fuzzy msgid "Selected" msgstr "Time Selection" -#: src/views/cert/CertView.vue:665 +#: src/views/cert/CertView.vue:690 #, fuzzy msgid "Enable HTTPS" msgstr "Enable SNI" -#: src/views/cert/CertView.vue:682 +#: src/views/cert/CertView.vue:707 msgid "View Certificate" msgstr "View Certificate" @@ -5699,7 +5706,7 @@ msgid "Issuance successful" msgstr "Issuance successful" #: src/views/cert/ObtainModal.vue:84 src/views/cert/ObtainModal.vue:90 -#: src/views/home/UpdateView.vue:91 src/views/home/UpdateView.vue:96 +#: src/views/home/UpdateView.vue:106 src/views/home/UpdateView.vue:111 msgid "WebSocket connection failed" msgstr "" @@ -7438,7 +7445,7 @@ msgstr "Modify permissions - %{ path }" msgid "Failed to copy path" msgstr "Files to compress" -#: src/views/file/PathInput.vue:109 src/views/home/UpdateView.vue:161 +#: src/views/file/PathInput.vue:109 src/views/home/UpdateView.vue:176 #: src/views/toolbox/MigrationView.vue:589 #, fuzzy msgid "Back" @@ -8403,63 +8410,63 @@ msgstr "" "Are you sure you want to restart the server? This will disconnect all " "connections." -#: src/views/home/UpdateView.vue:102 +#: src/views/home/UpdateView.vue:117 msgid "Update Panel" msgstr "Update Panel" -#: src/views/home/UpdateView.vue:103 +#: src/views/home/UpdateView.vue:118 msgid "Are you sure you want to update the panel?" msgstr "Are you sure you want to update the panel?" -#: src/views/home/UpdateView.vue:125 +#: src/views/home/UpdateView.vue:140 #, fuzzy msgid "Update failed" msgstr "Update canceled" -#: src/views/home/UpdateView.vue:126 +#: src/views/home/UpdateView.vue:141 #, fuzzy msgid "Update timed out" msgstr "Update Date" -#: src/views/home/UpdateView.vue:128 +#: src/views/home/UpdateView.vue:143 msgid "Updating to v%{ v }..." msgstr "" -#: src/views/home/UpdateView.vue:143 +#: src/views/home/UpdateView.vue:158 #, fuzzy msgid "Panel is restarting, please wait..." msgstr "Panel restarting..." -#: src/views/home/UpdateView.vue:149 +#: src/views/home/UpdateView.vue:164 msgid "" "Update may have failed, please check the panel logs and refresh manually." msgstr "" -#: src/views/home/UpdateView.vue:155 +#: src/views/home/UpdateView.vue:170 #, fuzzy msgid "Error" msgstr "Error Logs" -#: src/views/home/UpdateView.vue:176 +#: src/views/home/UpdateView.vue:191 #, fuzzy msgid "A new version is available" msgstr "Inodes Available" -#: src/views/home/UpdateView.vue:179 +#: src/views/home/UpdateView.vue:194 #, fuzzy msgid "Current" msgstr "Current Value" -#: src/views/home/UpdateView.vue:186 src/views/home/UpdateView.vue:208 +#: src/views/home/UpdateView.vue:201 src/views/home/UpdateView.vue:223 #, fuzzy msgid "Latest" msgstr "System Version" -#: src/views/home/UpdateView.vue:196 +#: src/views/home/UpdateView.vue:211 msgid "Update Now" msgstr "Update Now" -#: src/views/home/UpdateView.vue:202 +#: src/views/home/UpdateView.vue:217 #, fuzzy msgid "Changelog" msgstr "Channel" diff --git a/web/src/locales/frontend.pot b/web/src/locales/frontend.pot index c8168b0b..31c305b9 100644 --- a/web/src/locales/frontend.pot +++ b/web/src/locales/frontend.pot @@ -21,8 +21,8 @@ msgstr "" #: src/views/backup/IndexView.vue:53 #: src/views/backup/ListView.vue:276 #: src/views/backup/ListView.vue:324 -#: src/views/cert/CertView.vue:526 -#: src/views/cert/CertView.vue:642 +#: src/views/cert/CertView.vue:550 +#: src/views/cert/CertView.vue:667 #: src/views/cert/CreateCertModal.vue:118 #: src/views/home/IndexView.vue:542 #: src/views/task/CreateModal.vue:445 @@ -531,10 +531,10 @@ msgstr "" #: src/views/backup/StorageView.vue:376 #: src/views/backup/StorageView.vue:529 #: src/views/cert/AccountView.vue:258 -#: src/views/cert/CertView.vue:627 -#: src/views/cert/CertView.vue:675 +#: src/views/cert/CertView.vue:652 +#: src/views/cert/CertView.vue:700 #: src/views/cert/CreateAccountModal.vue:136 -#: src/views/cert/CreateCertModal.vue:163 +#: src/views/cert/CreateCertModal.vue:164 #: src/views/cert/CreateDnsModal.vue:199 #: src/views/cert/DnsView.vue:330 #: src/views/cert/ObtainModal.vue:180 @@ -604,7 +604,7 @@ msgstr "" #: src/views/file/composables/usePaste.ts:72 #: src/views/file/UploadModal.vue:784 #: src/views/home/IndexView.vue:1041 -#: src/views/home/UpdateView.vue:104 +#: src/views/home/UpdateView.vue:119 #: src/views/toolbox/DiskView.vue:353 #: src/views/toolbox/DiskView.vue:355 #: src/views/toolbox/DiskView.vue:375 @@ -656,7 +656,7 @@ msgstr "" #: src/views/file/UploadModal.vue:640 #: src/views/file/UploadModal.vue:783 #: src/views/home/IndexView.vue:1042 -#: src/views/home/UpdateView.vue:105 +#: src/views/home/UpdateView.vue:120 #: src/views/monitor/AlertRuleModal.vue:193 #: src/views/monitor/ChannelModal.vue:148 #: src/views/project/EditModal.vue:579 @@ -1233,7 +1233,7 @@ msgstr "" #: src/components/file-editor/EditorToolbar.vue:174 #: src/components/file-editor/FileTree.vue:680 #: src/views/file/PathInput.vue:133 -#: src/views/home/UpdateView.vue:163 +#: src/views/home/UpdateView.vue:178 #: src/views/log/DatabaseLog.vue:132 #: src/views/log/HttpLog.vue:161 #: src/views/log/OperationLog.vue:184 @@ -1378,8 +1378,9 @@ msgstr "" #: src/views/apps/docker/IndexView.vue:83 #: src/views/cert/CertView.vue:152 #: src/views/cert/CertView.vue:206 -#: src/views/cert/CertView.vue:217 -#: src/views/cert/CertView.vue:235 +#: src/views/cert/CertView.vue:218 +#: src/views/cert/CertView.vue:241 +#: src/views/cert/CertView.vue:259 #: src/views/container/ContainerCreate.vue:57 #: src/views/database/ServerList.vue:78 #: src/views/database/ServerList.vue:93 @@ -1550,7 +1551,7 @@ msgstr "" #: src/views/backup/ListView.vue:106 #: src/views/backup/StorageView.vue:126 #: src/views/cert/AccountView.vue:113 -#: src/views/cert/CertView.vue:366 +#: src/views/cert/CertView.vue:390 #: src/views/cert/DnsView.vue:109 #: src/views/container/ComposeView.vue:209 #: src/views/container/ComposeView.vue:289 @@ -1832,8 +1833,8 @@ msgid "Backup" msgstr "" #: src/locales/menu.ts:9 -#: src/views/cert/CertView.vue:582 -#: src/views/cert/CertView.vue:691 +#: src/views/cert/CertView.vue:607 +#: src/views/cert/CertView.vue:716 #: src/views/cert/IndexView.vue:97 #: src/views/cert/UploadCertModal.vue:46 #: src/views/setting/SettingSafe.vue:275 @@ -1994,7 +1995,7 @@ msgstr "" #: src/views/backup/ListView.vue:63 #: src/views/backup/StorageView.vue:95 #: src/views/cert/AccountView.vue:74 -#: src/views/cert/CertView.vue:253 +#: src/views/cert/CertView.vue:277 #: src/views/cert/DnsView.vue:69 #: src/views/container/ComposeView.vue:102 #: src/views/container/ContainerView.vue:113 @@ -2228,8 +2229,8 @@ msgstr "" #: src/views/app/TemplateDeployModal.vue:258 #: src/views/cert/AccountView.vue:145 -#: src/views/cert/CertView.vue:401 -#: src/views/cert/CertView.vue:422 +#: src/views/cert/CertView.vue:425 +#: src/views/cert/CertView.vue:446 #: src/views/cert/DnsView.vue:137 #: src/views/container/ComposeView.vue:249 msgid "Update successful" @@ -2401,7 +2402,7 @@ msgid "Local" msgstr "" #: src/views/app/TemplateView.vue:152 -#: src/views/cert/CertView.vue:285 +#: src/views/cert/CertView.vue:309 msgid "Deploy" msgstr "" @@ -3016,7 +3017,7 @@ msgid "Find Time" msgstr "" #: src/views/apps/fail2ban/IndexView.vue:80 -#: src/views/cert/CertView.vue:319 +#: src/views/cert/CertView.vue:343 #: src/views/database/ElasticsearchDataView.vue:186 #: src/views/database/RedisDataView.vue:141 msgid "View" @@ -5130,8 +5131,8 @@ msgstr "" #: src/views/backup/StorageView.vue:36 #: src/views/backup/StorageView.vue:321 #: src/views/backup/StorageView.vue:477 -#: src/views/cert/CertView.vue:594 -#: src/views/cert/CertView.vue:694 +#: src/views/cert/CertView.vue:619 +#: src/views/cert/CertView.vue:719 #: src/views/cert/UploadCertModal.vue:54 #: src/views/setting/SettingSafe.vue:282 #: src/views/ssh/CreateModal.vue:81 @@ -5328,14 +5329,14 @@ msgstr "" #: src/views/cert/AccountView.vue:67 #: src/views/cert/AccountView.vue:218 -#: src/views/cert/CertView.vue:518 +#: src/views/cert/CertView.vue:542 #: src/views/cert/CreateAccountModal.vue:96 #: src/views/cert/CreateCertModal.vue:110 msgid "Key Type" msgstr "" #: src/views/cert/AccountView.vue:95 -#: src/views/cert/CertView.vue:348 +#: src/views/cert/CertView.vue:372 #: src/views/cert/DnsView.vue:91 #: src/views/database/ServerList.vue:214 #: src/views/database/UserList.vue:150 @@ -5349,7 +5350,7 @@ msgid "Are you sure you want to delete the account?" msgstr "" #: src/views/cert/AccountView.vue:108 -#: src/views/cert/CertView.vue:362 +#: src/views/cert/CertView.vue:386 #: src/views/cert/DnsView.vue:105 msgid "Deletion successful" msgstr "" @@ -5384,7 +5385,7 @@ msgid "Select CA" msgstr "" #: src/views/cert/AccountView.vue:221 -#: src/views/cert/CertView.vue:521 +#: src/views/cert/CertView.vue:545 #: src/views/cert/CreateAccountModal.vue:99 #: src/views/cert/CreateCertModal.vue:113 msgid "Select key type" @@ -5410,7 +5411,7 @@ msgid "No matching websites found" msgstr "" #: src/views/cert/CertView.vue:146 -#: src/views/cert/CertView.vue:510 +#: src/views/cert/CertView.vue:534 #: src/views/cert/CreateCertModal.vue:102 #: src/views/project/CreateModal.vue:661 #: src/views/website/CreateModal.vue:201 @@ -5430,68 +5431,72 @@ msgid "Associated Account" msgstr "" #: src/views/cert/CertView.vue:212 +msgid "Associated Website" +msgstr "" + +#: src/views/cert/CertView.vue:236 #: src/views/website/EditModal.vue:1711 msgid "Issuer" msgstr "" -#: src/views/cert/CertView.vue:221 +#: src/views/cert/CertView.vue:245 #: src/views/setting/TokenModal.vue:48 #: src/views/setting/TokenModal.vue:255 #: src/views/setting/TokenModal.vue:293 msgid "Expiration Time" msgstr "" -#: src/views/cert/CertView.vue:230 +#: src/views/cert/CertView.vue:254 msgid "Next Renewal Time" msgstr "" -#: src/views/cert/CertView.vue:239 +#: src/views/cert/CertView.vue:263 msgid "Auto Renewal" msgstr "" -#: src/views/cert/CertView.vue:272 +#: src/views/cert/CertView.vue:296 #: src/views/website/EditModal.vue:2289 msgid "Issue" msgstr "" -#: src/views/cert/CertView.vue:302 +#: src/views/cert/CertView.vue:326 msgid "Renewal" msgstr "" -#: src/views/cert/CertView.vue:357 +#: src/views/cert/CertView.vue:381 msgid "Are you sure you want to delete the certificate?" msgstr "" -#: src/views/cert/CertView.vue:450 +#: src/views/cert/CertView.vue:473 msgid "Deployment successful" msgstr "" -#: src/views/cert/CertView.vue:495 +#: src/views/cert/CertView.vue:519 msgid "Modify Certificate" msgstr "" -#: src/views/cert/CertView.vue:504 +#: src/views/cert/CertView.vue:528 msgid "You can automatically issue and deploy certificates by selecting any website/DNS, or manually enter domain names and set DNS resolution to issue certificates, or fill in deployment scripts to automatically deploy certificates." msgstr "" -#: src/views/cert/CertView.vue:529 +#: src/views/cert/CertView.vue:553 #: src/views/cert/CreateCertModal.vue:121 -msgid "Select website for certificate deployment" +msgid "Select websites for certificate deployment" msgstr "" -#: src/views/cert/CertView.vue:537 -#: src/views/cert/CreateCertModal.vue:126 +#: src/views/cert/CertView.vue:562 +#: src/views/cert/CreateCertModal.vue:127 #: src/views/cert/IndexView.vue:98 msgid "Account" msgstr "" -#: src/views/cert/CertView.vue:541 -#: src/views/cert/CreateCertModal.vue:129 +#: src/views/cert/CertView.vue:566 +#: src/views/cert/CreateCertModal.vue:130 msgid "Select account for certificate issuance" msgstr "" -#: src/views/cert/CertView.vue:546 -#: src/views/cert/CreateCertModal.vue:134 +#: src/views/cert/CertView.vue:571 +#: src/views/cert/CreateCertModal.vue:135 #: src/views/cert/CreateDnsModal.vue:71 #: src/views/cert/DnsView.vue:196 #: src/views/cert/IndexView.vue:99 @@ -5499,70 +5504,70 @@ msgstr "" msgid "DNS" msgstr "" -#: src/views/cert/CertView.vue:549 -#: src/views/cert/CreateCertModal.vue:137 +#: src/views/cert/CertView.vue:574 +#: src/views/cert/CreateCertModal.vue:138 #: src/views/website/EditModal.vue:2283 msgid "Select DNS for certificate issuance" msgstr "" -#: src/views/cert/CertView.vue:556 -#: src/views/cert/CreateCertModal.vue:142 +#: src/views/cert/CertView.vue:581 +#: src/views/cert/CreateCertModal.vue:143 msgid "DNS Alias" msgstr "" -#: src/views/cert/CertView.vue:566 -#: src/views/cert/CreateCertModal.vue:148 +#: src/views/cert/CertView.vue:591 +#: src/views/cert/CreateCertModal.vue:149 msgid "Original domain, e.g. example.com" msgstr "" -#: src/views/cert/CertView.vue:572 -#: src/views/cert/CreateCertModal.vue:154 +#: src/views/cert/CertView.vue:597 +#: src/views/cert/CreateCertModal.vue:155 msgid "Alias record, e.g. _acme-challenge.delegated.com" msgstr "" -#: src/views/cert/CertView.vue:587 +#: src/views/cert/CertView.vue:612 #: src/views/cert/UploadCertModal.vue:50 #: src/views/website/EditModal.vue:1778 msgid "Enter the content of the PEM certificate file" msgstr "" -#: src/views/cert/CertView.vue:599 +#: src/views/cert/CertView.vue:624 #: src/views/cert/UploadCertModal.vue:58 #: src/views/website/EditModal.vue:1788 msgid "Enter the content of the KEY private key file" msgstr "" -#: src/views/cert/CertView.vue:606 +#: src/views/cert/CertView.vue:631 msgid "Deployment Script" msgstr "" -#: src/views/cert/CertView.vue:612 +#: src/views/cert/CertView.vue:637 msgid "The {cert} and {key} in the script will be replaced with the certificate and private key content" msgstr "" -#: src/views/cert/CertView.vue:634 +#: src/views/cert/CertView.vue:659 msgid "Deploy Certificate" msgstr "" -#: src/views/cert/CertView.vue:651 +#: src/views/cert/CertView.vue:676 msgid "Match Websites" msgstr "" -#: src/views/cert/CertView.vue:657 +#: src/views/cert/CertView.vue:682 #: src/views/tamper/TamperView.vue:313 #: src/views/toolbox/DiskView.vue:250 msgid "Available" msgstr "" -#: src/views/cert/CertView.vue:658 +#: src/views/cert/CertView.vue:683 msgid "Selected" msgstr "" -#: src/views/cert/CertView.vue:665 +#: src/views/cert/CertView.vue:690 msgid "Enable HTTPS" msgstr "" -#: src/views/cert/CertView.vue:682 +#: src/views/cert/CertView.vue:707 msgid "View Certificate" msgstr "" @@ -5737,8 +5742,8 @@ msgstr "" #: src/views/cert/ObtainModal.vue:84 #: src/views/cert/ObtainModal.vue:90 -#: src/views/home/UpdateView.vue:91 -#: src/views/home/UpdateView.vue:96 +#: src/views/home/UpdateView.vue:106 +#: src/views/home/UpdateView.vue:111 msgid "WebSocket connection failed" msgstr "" @@ -7350,7 +7355,7 @@ msgid "Failed to copy path" msgstr "" #: src/views/file/PathInput.vue:109 -#: src/views/home/UpdateView.vue:161 +#: src/views/home/UpdateView.vue:176 #: src/views/toolbox/MigrationView.vue:589 msgid "Back" msgstr "" @@ -8297,56 +8302,56 @@ msgstr "" msgid "Are you sure you want to restart the server? This will disconnect all connections." msgstr "" -#: src/views/home/UpdateView.vue:102 +#: src/views/home/UpdateView.vue:117 msgid "Update Panel" msgstr "" -#: src/views/home/UpdateView.vue:103 +#: src/views/home/UpdateView.vue:118 msgid "Are you sure you want to update the panel?" msgstr "" -#: src/views/home/UpdateView.vue:125 +#: src/views/home/UpdateView.vue:140 msgid "Update failed" msgstr "" -#: src/views/home/UpdateView.vue:126 +#: src/views/home/UpdateView.vue:141 msgid "Update timed out" msgstr "" -#: src/views/home/UpdateView.vue:128 +#: src/views/home/UpdateView.vue:143 msgid "Updating to v%{ v }..." msgstr "" -#: src/views/home/UpdateView.vue:143 +#: src/views/home/UpdateView.vue:158 msgid "Panel is restarting, please wait..." msgstr "" -#: src/views/home/UpdateView.vue:149 +#: src/views/home/UpdateView.vue:164 msgid "Update may have failed, please check the panel logs and refresh manually." msgstr "" -#: src/views/home/UpdateView.vue:155 +#: src/views/home/UpdateView.vue:170 msgid "Error" msgstr "" -#: src/views/home/UpdateView.vue:176 +#: src/views/home/UpdateView.vue:191 msgid "A new version is available" msgstr "" -#: src/views/home/UpdateView.vue:179 +#: src/views/home/UpdateView.vue:194 msgid "Current" msgstr "" -#: src/views/home/UpdateView.vue:186 -#: src/views/home/UpdateView.vue:208 +#: src/views/home/UpdateView.vue:201 +#: src/views/home/UpdateView.vue:223 msgid "Latest" msgstr "" -#: src/views/home/UpdateView.vue:196 +#: src/views/home/UpdateView.vue:211 msgid "Update Now" msgstr "" -#: src/views/home/UpdateView.vue:202 +#: src/views/home/UpdateView.vue:217 msgid "Changelog" msgstr "" diff --git a/web/src/locales/zh_CN.po b/web/src/locales/zh_CN.po index 4deca0b7..2f5ee56f 100644 --- a/web/src/locales/zh_CN.po +++ b/web/src/locales/zh_CN.po @@ -1,5 +1,9 @@ msgid "" msgstr "" +"Project-Id-Version: acepanel\n" +"PO-Revision-Date: 2026-08-15 10:05\n" +"Language-Team: Chinese Simplified\n" +"Language: zh_CN\n" "Content-Type: text/plain; charset=UTF-8\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Crowdin-Project: acepanel\n" @@ -7,13 +11,8 @@ msgstr "" "X-Crowdin-Language: zh-CN\n" "X-Crowdin-File: frontend.pot\n" "X-Crowdin-File-ID: 1168\n" -"Project-Id-Version: acepanel\n" -"Language-Team: Chinese Simplified\n" -"Language: zh_CN\n" -"PO-Revision-Date: 2026-08-15 10:05\n" -#: src/components/common/AppFooter.vue:18 -#: src/views/home/IndexView.vue:560 +#: src/components/common/AppFooter.vue:18 src/views/home/IndexView.vue:560 msgid "AcePanel" msgstr "AcePanel" @@ -25,18 +24,12 @@ msgstr "版权所有" msgid "QQ Group" msgstr "QQ 群" -#: src/components/common/AppFooter.vue:38 -#: src/locales/menu.ts:24 -#: src/views/apps/fail2ban/IndexView.vue:313 -#: src/views/backup/IndexView.vue:53 -#: src/views/backup/ListView.vue:276 -#: src/views/backup/ListView.vue:324 -#: src/views/cert/CertView.vue:526 -#: src/views/cert/CertView.vue:642 -#: src/views/cert/CreateCertModal.vue:118 -#: src/views/home/IndexView.vue:542 -#: src/views/task/CreateModal.vue:445 -#: src/views/task/CreateModal.vue:467 +#: src/components/common/AppFooter.vue:38 src/locales/menu.ts:24 +#: src/views/apps/fail2ban/IndexView.vue:313 src/views/backup/IndexView.vue:53 +#: src/views/backup/ListView.vue:276 src/views/backup/ListView.vue:324 +#: src/views/cert/CertView.vue:550 src/views/cert/CertView.vue:667 +#: src/views/cert/CreateCertModal.vue:118 src/views/home/IndexView.vue:542 +#: src/views/task/CreateModal.vue:445 src/views/task/CreateModal.vue:467 #: src/views/toolbox/MigrationView.vue:75 msgid "Website" msgstr "网站" @@ -189,16 +182,11 @@ msgid "After Reboot" msgstr "重启后" #: src/components/common/CronSelector.vue:192 -#: src/views/monitor/SystemView.vue:713 -#: src/views/monitor/SystemView.vue:767 -#: src/views/monitor/SystemView.vue:819 -#: src/views/monitor/SystemView.vue:875 -#: src/views/monitor/SystemView.vue:942 -#: src/views/project/CreateModal.vue:22 -#: src/views/project/CreateModal.vue:33 -#: src/views/project/CreateModal.vue:46 -#: src/views/project/CreateModal.vue:58 -#: src/views/project/CreateModal.vue:70 +#: src/views/monitor/SystemView.vue:713 src/views/monitor/SystemView.vue:767 +#: src/views/monitor/SystemView.vue:819 src/views/monitor/SystemView.vue:875 +#: src/views/monitor/SystemView.vue:942 src/views/project/CreateModal.vue:22 +#: src/views/project/CreateModal.vue:33 src/views/project/CreateModal.vue:46 +#: src/views/project/CreateModal.vue:58 src/views/project/CreateModal.vue:70 #: src/views/website/StatsView.vue:160 msgid "Custom" msgstr "自定义" @@ -208,20 +196,17 @@ msgid "Month %{month}" msgstr "%{month} 月" #: src/components/common/CronSelector.vue:347 -#: src/views/apps/nginx/NginxIndex.vue:799 -#: src/views/website/EditModal.vue:748 +#: src/views/apps/nginx/NginxIndex.vue:799 src/views/website/EditModal.vue:748 msgid "Seconds" msgstr "秒" #: src/components/common/CronSelector.vue:358 -#: src/views/apps/nginx/NginxIndex.vue:800 -#: src/views/website/EditModal.vue:749 +#: src/views/apps/nginx/NginxIndex.vue:800 src/views/website/EditModal.vue:749 msgid "Minutes" msgstr "分" #: src/components/common/CronSelector.vue:369 -#: src/views/apps/nginx/NginxIndex.vue:801 -#: src/views/website/EditModal.vue:750 +#: src/views/apps/nginx/NginxIndex.vue:801 src/views/website/EditModal.vue:750 msgid "Hours" msgstr "时" @@ -261,8 +246,7 @@ msgstr "最大化" #: src/components/common/DraggableWindow.vue:289 #: src/components/file-editor/EditorPane.vue:282 #: src/layouts/tab/components/ContextMenu.vue:29 -#: src/views/cert/ObtainModal.vue:183 -#: src/views/ssh/IndexView.vue:512 +#: src/views/cert/ObtainModal.vue:183 src/views/ssh/IndexView.vue:512 msgid "Close" msgstr "关闭" @@ -286,8 +270,7 @@ msgstr "当前状态无法保存" #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:58 #: src/views/apps/elasticsearch/IndexView.vue:51 #: src/views/apps/fail2ban/IndexView.vue:146 -#: src/views/apps/frp/IndexView.vue:38 -#: src/views/apps/frp/IndexView.vue:49 +#: src/views/apps/frp/IndexView.vue:38 src/views/apps/frp/IndexView.vue:49 #: src/views/apps/gitea/IndexView.vue:24 #: src/views/apps/grafana/GrafanaConfigTuneView.vue:139 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:174 @@ -333,26 +316,18 @@ msgstr "当前状态无法保存" #: src/views/apps/valkey/IndexView.vue:51 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:103 #: src/views/database/ElasticsearchDocModal.vue:61 -#: src/views/database/RedisKeyModal.vue:77 -#: src/views/environment/GoView.vue:52 +#: src/views/database/RedisKeyModal.vue:77 src/views/environment/GoView.vue:52 #: src/views/environment/NodejsView.vue:55 #: src/views/environment/PhpConfigTuneView.vue:183 -#: src/views/environment/PHPView.vue:149 -#: src/views/environment/PHPView.vue:155 +#: src/views/environment/PHPView.vue:149 src/views/environment/PHPView.vue:155 #: src/views/environment/PythonView.vue:59 #: src/views/monitor/AlertRuleModal.vue:116 -#: src/views/monitor/ChannelModal.vue:70 -#: src/views/monitor/SettingView.vue:35 -#: src/views/monitor/SettingView.vue:183 -#: src/views/project/EditModal.vue:159 -#: src/views/setting/IndexView.vue:84 -#: src/views/tamper/RuleModal.vue:76 -#: src/views/tamper/TamperView.vue:55 -#: src/views/toolbox/SystemView.vue:62 -#: src/views/toolbox/SystemView.vue:76 -#: src/views/toolbox/SystemView.vue:90 -#: src/views/toolbox/SystemView.vue:137 -#: src/views/website/EditModal.vue:197 +#: src/views/monitor/ChannelModal.vue:70 src/views/monitor/SettingView.vue:35 +#: src/views/monitor/SettingView.vue:183 src/views/project/EditModal.vue:159 +#: src/views/setting/IndexView.vue:84 src/views/tamper/RuleModal.vue:76 +#: src/views/tamper/TamperView.vue:55 src/views/toolbox/SystemView.vue:62 +#: src/views/toolbox/SystemView.vue:76 src/views/toolbox/SystemView.vue:90 +#: src/views/toolbox/SystemView.vue:137 src/views/website/EditModal.vue:197 msgid "Saved successfully" msgstr "保存成功" @@ -361,8 +336,7 @@ msgstr "保存成功" msgid "Remove" msgstr "移除" -#: src/components/common/PathSelector.vue:28 -#: src/views/task/CreateModal.vue:506 +#: src/components/common/PathSelector.vue:28 src/views/task/CreateModal.vue:506 msgid "Select Directory" msgstr "选择目录" @@ -372,8 +346,7 @@ msgstr "选择文件" #: src/components/common/PathSelector.vue:51 #: src/components/common/PathSelector.vue:395 -#: src/views/app/EnvironmentView.vue:38 -#: src/views/app/InstalledView.vue:158 +#: src/views/app/EnvironmentView.vue:38 src/views/app/InstalledView.vue:158 #: src/views/apps/fail2ban/IndexView.vue:41 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:72 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:206 @@ -382,43 +355,27 @@ msgstr "选择文件" #: src/views/apps/nginx/NginxIndex.vue:619 #: src/views/apps/nginx/NginxIndex.vue:705 #: src/views/apps/prometheus/PrometheusExportersView.vue:26 -#: src/views/apps/rsync/IndexView.vue:43 -#: src/views/apps/rsync/IndexView.vue:263 +#: src/views/apps/rsync/IndexView.vue:43 src/views/apps/rsync/IndexView.vue:263 #: src/views/apps/supervisor/IndexView.vue:56 #: src/views/apps/supervisor/IndexView.vue:392 -#: src/views/backup/StorageView.vue:66 -#: src/views/backup/StorageView.vue:230 -#: src/views/backup/StorageView.vue:392 -#: src/views/container/ComposeView.vue:59 -#: src/views/container/NetworkView.vue:48 -#: src/views/container/VolumeView.vue:29 +#: src/views/backup/StorageView.vue:66 src/views/backup/StorageView.vue:230 +#: src/views/backup/StorageView.vue:392 src/views/container/ComposeView.vue:59 +#: src/views/container/NetworkView.vue:48 src/views/container/VolumeView.vue:29 #: src/views/database/CreateServerModal.vue:108 #: src/views/database/ServerList.vue:66 -#: src/views/database/UpdateServerModal.vue:66 -#: src/views/file/ListView.vue:1444 -#: src/views/file/PropertyModal.vue:27 -#: src/views/file/ToolBar.vue:123 -#: src/views/home/IndexView.vue:671 -#: src/views/home/IndexView.vue:772 -#: src/views/monitor/AlertRuleModal.vue:136 -#: src/views/monitor/AlertView.vue:53 -#: src/views/monitor/ChannelModal.vue:90 -#: src/views/monitor/SettingView.vue:102 -#: src/views/project/ListView.vue:37 -#: src/views/setting/PasskeyModal.vue:26 -#: src/views/ssh/CreateModal.vue:60 -#: src/views/ssh/UpdateModal.vue:66 -#: src/views/tamper/RuleModal.vue:105 -#: src/views/tamper/TamperView.vue:118 -#: src/views/toolbox/LogView.vue:219 -#: src/views/toolbox/MigrationView.vue:132 +#: src/views/database/UpdateServerModal.vue:66 src/views/file/ListView.vue:1444 +#: src/views/file/PropertyModal.vue:27 src/views/file/ToolBar.vue:123 +#: src/views/home/IndexView.vue:671 src/views/home/IndexView.vue:772 +#: src/views/monitor/AlertRuleModal.vue:136 src/views/monitor/AlertView.vue:53 +#: src/views/monitor/ChannelModal.vue:90 src/views/monitor/SettingView.vue:102 +#: src/views/project/ListView.vue:37 src/views/setting/PasskeyModal.vue:26 +#: src/views/ssh/CreateModal.vue:60 src/views/ssh/UpdateModal.vue:66 +#: src/views/tamper/RuleModal.vue:105 src/views/tamper/TamperView.vue:118 +#: src/views/toolbox/LogView.vue:219 src/views/toolbox/MigrationView.vue:132 #: src/views/toolbox/MigrationView.vue:207 -#: src/views/toolbox/ProcessView.vue:106 -#: src/views/toolbox/ProcessView.vue:393 -#: src/views/toolbox/WebHookView.vue:37 -#: src/views/toolbox/WebHookView.vue:330 -#: src/views/toolbox/WebHookView.vue:371 -#: src/views/website/CreateModal.vue:187 +#: src/views/toolbox/ProcessView.vue:106 src/views/toolbox/ProcessView.vue:393 +#: src/views/toolbox/WebHookView.vue:37 src/views/toolbox/WebHookView.vue:330 +#: src/views/toolbox/WebHookView.vue:371 src/views/website/CreateModal.vue:187 #: src/views/website/EditModal.vue:2140 msgid "Name" msgstr "名称" @@ -427,49 +384,37 @@ msgstr "名称" msgid "Permissions" msgstr "权限" -#: src/components/common/PathSelector.vue:102 -#: src/views/file/ListView.vue:1455 +#: src/components/common/PathSelector.vue:102 src/views/file/ListView.vue:1455 msgid "Owner / Group" msgstr "所有者 / 组" -#: src/components/common/PathSelector.vue:114 -#: src/views/backup/ListView.vue:48 +#: src/components/common/PathSelector.vue:114 src/views/backup/ListView.vue:48 #: src/views/container/ImageView.vue:81 #: src/views/database/ElasticsearchDataView.vue:112 -#: src/views/database/RedisDataView.vue:116 -#: src/views/file/ListView.vue:1451 -#: src/views/file/PropertyModal.vue:39 -#: src/views/file/ToolBar.vue:124 +#: src/views/database/RedisDataView.vue:116 src/views/file/ListView.vue:1451 +#: src/views/file/PropertyModal.vue:39 src/views/file/ToolBar.vue:124 #: src/views/toolbox/disk/RaidView.vue:95 -#: src/views/toolbox/disk/RaidView.vue:177 -#: src/views/toolbox/DiskView.vue:233 -#: src/views/toolbox/LogView.vue:220 -#: src/views/toolbox/MigrationView.vue:153 +#: src/views/toolbox/disk/RaidView.vue:177 src/views/toolbox/DiskView.vue:233 +#: src/views/toolbox/LogView.vue:220 src/views/toolbox/MigrationView.vue:153 msgid "Size" msgstr "大小" -#: src/components/common/PathSelector.vue:149 -#: src/views/file/ListView.vue:1618 +#: src/components/common/PathSelector.vue:149 src/views/file/ListView.vue:1618 msgid "Calculate" msgstr "计算" -#: src/components/common/PathSelector.vue:154 -#: src/views/file/ListView.vue:1460 -#: src/views/file/PropertyModal.vue:51 -#: src/views/file/ToolBar.vue:125 +#: src/components/common/PathSelector.vue:154 src/views/file/ListView.vue:1460 +#: src/views/file/PropertyModal.vue:51 src/views/file/ToolBar.vue:125 msgid "Modification Time" msgstr "修改时间" -#: src/components/common/PathSelector.vue:188 -#: src/views/file/ListView.vue:1284 +#: src/components/common/PathSelector.vue:188 src/views/file/ListView.vue:1284 #: src/views/file/PathInput.vue:43 msgid "Invalid path" msgstr "无效路径" -#: src/components/common/PathSelector.vue:248 -#: src/views/file/ListView.vue:147 -#: src/views/file/ListView.vue:825 -#: src/views/file/ToolBar.vue:46 +#: src/components/common/PathSelector.vue:248 src/views/file/ListView.vue:147 +#: src/views/file/ListView.vue:825 src/views/file/ToolBar.vue:46 msgid "Invalid name" msgstr "无效的名称" @@ -478,8 +423,7 @@ msgstr "无效的名称" #: src/views/app/TemplateDeployModal.vue:237 #: src/views/backup/StorageView.vue:150 #: src/views/cert/CreateAccountModal.vue:55 -#: src/views/cert/CreateCertModal.vue:75 -#: src/views/cert/CreateDnsModal.vue:44 +#: src/views/cert/CreateCertModal.vue:75 src/views/cert/CreateDnsModal.vue:44 #: src/views/cert/UploadCertModal.vue:26 #: src/views/container/ComposeView.vue:231 #: src/views/container/ContainerCreate.vue:124 @@ -488,24 +432,19 @@ msgstr "无效的名称" #: src/views/database/CreateDatabaseModal.vue:48 #: src/views/database/CreateUserModal.vue:56 #: src/views/database/ElasticsearchDataView.vue:263 -#: src/views/file/ListView.vue:156 -#: src/views/firewall/CreateForwardModal.vue:44 -#: src/views/setting/CreateModal.vue:22 -#: src/views/setting/TokenModal.vue:117 -#: src/views/ssh/CreateModal.vue:41 -#: src/views/task/CreateModal.vue:120 +#: src/views/file/ListView.vue:156 src/views/firewall/CreateForwardModal.vue:44 +#: src/views/setting/CreateModal.vue:22 src/views/setting/TokenModal.vue:117 +#: src/views/ssh/CreateModal.vue:41 src/views/task/CreateModal.vue:120 #: src/views/toolbox/WebHookView.vue:249 msgid "Created successfully" msgstr "创建成功" #: src/components/common/PathSelector.vue:319 -#: src/views/file/PropertyModal.vue:34 -#: src/views/file/ToolBar.vue:147 +#: src/views/file/PropertyModal.vue:34 src/views/file/ToolBar.vue:147 msgid "File" msgstr "文件" -#: src/components/common/PathSelector.vue:320 -#: src/views/file/ToolBar.vue:148 +#: src/components/common/PathSelector.vue:320 src/views/file/ToolBar.vue:148 msgid "Folder" msgstr "文件夹" @@ -513,17 +452,14 @@ msgstr "文件夹" #: src/components/common/PathSelector.vue:387 #: src/views/app/TemplateDeployModal.vue:652 #: src/views/container/ContainerCreate.vue:653 -#: src/views/project/CreateModal.vue:693 -#: src/views/setting/TokenModal.vue:270 -#: src/views/ssh/SftpBrowser.vue:160 -#: src/views/toolbox/WebHookView.vue:356 +#: src/views/project/CreateModal.vue:693 src/views/setting/TokenModal.vue:270 +#: src/views/ssh/SftpBrowser.vue:160 src/views/toolbox/WebHookView.vue:356 #: src/views/website/BulkCreateModal.vue:240 #: src/views/website/CreateModal.vue:342 msgid "Create" msgstr "创建" -#: src/components/common/PathSelector.vue:333 -#: src/views/file/PathInput.vue:155 +#: src/components/common/PathSelector.vue:333 src/views/file/PathInput.vue:155 msgid "Root Directory" msgstr "根目录" @@ -533,21 +469,14 @@ msgstr "根目录" #: src/views/apps/nginx/NginxIndex.vue:816 #: src/views/apps/pureftpd/IndexView.vue:266 #: src/views/apps/pureftpd/IndexView.vue:296 -#: src/views/apps/rsync/IndexView.vue:319 -#: src/views/apps/s3fs/IndexView.vue:185 +#: src/views/apps/rsync/IndexView.vue:319 src/views/apps/s3fs/IndexView.vue:185 #: src/views/apps/supervisor/IndexView.vue:435 -#: src/views/backup/ListView.vue:310 -#: src/views/backup/ListView.vue:351 -#: src/views/backup/StorageView.vue:376 -#: src/views/backup/StorageView.vue:529 -#: src/views/cert/AccountView.vue:258 -#: src/views/cert/CertView.vue:627 -#: src/views/cert/CertView.vue:675 -#: src/views/cert/CreateAccountModal.vue:136 -#: src/views/cert/CreateCertModal.vue:163 -#: src/views/cert/CreateDnsModal.vue:199 -#: src/views/cert/DnsView.vue:330 -#: src/views/cert/ObtainModal.vue:180 +#: src/views/backup/ListView.vue:310 src/views/backup/ListView.vue:351 +#: src/views/backup/StorageView.vue:376 src/views/backup/StorageView.vue:529 +#: src/views/cert/AccountView.vue:258 src/views/cert/CertView.vue:652 +#: src/views/cert/CertView.vue:700 src/views/cert/CreateAccountModal.vue:136 +#: src/views/cert/CreateCertModal.vue:164 src/views/cert/CreateDnsModal.vue:199 +#: src/views/cert/DnsView.vue:330 src/views/cert/ObtainModal.vue:180 #: src/views/cert/UploadCertModal.vue:64 #: src/views/container/ComposeView.vue:341 #: src/views/container/ComposeView.vue:367 @@ -565,16 +494,12 @@ msgstr "根目录" #: src/views/database/RedisDataView.vue:378 #: src/views/database/RedisKeyModal.vue:130 #: src/views/database/UpdateServerModal.vue:124 -#: src/views/database/UpdateUserModal.vue:88 -#: src/views/file/ToolBar.vue:230 +#: src/views/database/UpdateUserModal.vue:88 src/views/file/ToolBar.vue:230 #: src/views/firewall/CreateForwardModal.vue:94 #: src/views/firewall/CreateIpModal.vue:125 -#: src/views/firewall/CreateModal.vue:205 -#: src/views/setting/CreateModal.vue:71 -#: src/views/setting/PasswordModal.vue:53 -#: src/views/setting/TwoFaModal.vue:95 -#: src/views/ssh/CreateModal.vue:110 -#: src/views/ssh/UpdateModal.vue:116 +#: src/views/firewall/CreateModal.vue:205 src/views/setting/CreateModal.vue:71 +#: src/views/setting/PasswordModal.vue:53 src/views/setting/TwoFaModal.vue:95 +#: src/views/ssh/CreateModal.vue:110 src/views/ssh/UpdateModal.vue:116 #: src/views/task/CreateModal.vue:548 msgid "Submit" msgstr "提交" @@ -597,8 +522,7 @@ msgstr "连接错误" #: src/components/common/PtyTerminalModal.vue:143 #: src/views/container/ImagePullModal.vue:104 -#: src/views/container/ImageView.vue:252 -#: src/views/ssh/SftpPanel.vue:158 +#: src/views/container/ImageView.vue:252 src/views/ssh/SftpPanel.vue:158 msgid "Failed to connect" msgstr "连接失败" @@ -611,34 +535,25 @@ msgstr "连接失败" #: src/views/apps/supervisor/IndexView.vue:133 #: src/views/apps/supervisor/IndexView.vue:151 #: src/views/container/ComposeView.vue:171 -#: src/views/file/composables/usePaste.ts:72 -#: src/views/file/UploadModal.vue:784 -#: src/views/home/IndexView.vue:1041 -#: src/views/home/UpdateView.vue:104 -#: src/views/toolbox/DiskView.vue:353 -#: src/views/toolbox/DiskView.vue:355 -#: src/views/toolbox/DiskView.vue:375 -#: src/views/toolbox/DiskView.vue:377 -#: src/views/toolbox/DiskView.vue:441 -#: src/views/toolbox/DiskView.vue:445 -#: src/views/toolbox/DiskView.vue:463 -#: src/views/toolbox/DiskView.vue:480 -#: src/views/toolbox/DiskView.vue:484 -#: src/views/toolbox/DiskView.vue:504 -#: src/views/toolbox/DiskView.vue:521 -#: src/views/toolbox/DiskView.vue:526 -#: src/views/toolbox/DiskView.vue:547 -#: src/views/toolbox/DiskView.vue:564 -#: src/views/toolbox/DiskView.vue:569 -#: src/views/toolbox/DiskView.vue:591 +#: src/views/file/composables/usePaste.ts:72 src/views/file/UploadModal.vue:784 +#: src/views/home/IndexView.vue:1041 src/views/home/UpdateView.vue:119 +#: src/views/toolbox/DiskView.vue:353 src/views/toolbox/DiskView.vue:355 +#: src/views/toolbox/DiskView.vue:375 src/views/toolbox/DiskView.vue:377 +#: src/views/toolbox/DiskView.vue:441 src/views/toolbox/DiskView.vue:445 +#: src/views/toolbox/DiskView.vue:463 src/views/toolbox/DiskView.vue:480 +#: src/views/toolbox/DiskView.vue:484 src/views/toolbox/DiskView.vue:504 +#: src/views/toolbox/DiskView.vue:521 src/views/toolbox/DiskView.vue:526 +#: src/views/toolbox/DiskView.vue:547 src/views/toolbox/DiskView.vue:564 +#: src/views/toolbox/DiskView.vue:569 src/views/toolbox/DiskView.vue:591 #: src/views/toolbox/network/InterfaceView.vue:296 -#: src/views/toolbox/ProcessView.vue:242 -#: src/views/toolbox/ProcessView.vue:247 +#: src/views/toolbox/ProcessView.vue:242 src/views/toolbox/ProcessView.vue:247 msgid "Confirm" msgstr "确认" #: src/components/common/PtyTerminalModal.vue:203 -msgid "Command may still running. Closing the window will terminate the command. Are you sure?" +msgid "" +"Command may still running. Closing the window will terminate the command. " +"Are you sure?" msgstr "命令可能仍在运行。关闭窗口将终止命令。您确定吗?" #: src/components/common/PtyTerminalModal.vue:207 @@ -655,54 +570,35 @@ msgstr "命令可能仍在运行。关闭窗口将终止命令。您确定吗? #: src/views/container/ImagePullModal.vue:197 #: src/views/container/ImagePullModal.vue:211 #: src/views/container/ImagePullModal.vue:228 -#: src/views/container/ImageView.vue:370 -#: src/views/container/ImageView.vue:385 +#: src/views/container/ImageView.vue:370 src/views/container/ImageView.vue:385 #: src/views/file/composables/usePaste.ts:73 -#: src/views/file/composables/usePaste.ts:153 -#: src/views/file/ListView.vue:312 -#: src/views/file/ListView.vue:851 -#: src/views/file/ToolBar.vue:181 -#: src/views/file/UploadModal.vue:505 -#: src/views/file/UploadModal.vue:640 -#: src/views/file/UploadModal.vue:783 -#: src/views/home/IndexView.vue:1042 -#: src/views/home/UpdateView.vue:105 -#: src/views/monitor/AlertRuleModal.vue:193 -#: src/views/monitor/ChannelModal.vue:148 -#: src/views/project/EditModal.vue:579 -#: src/views/ssh/SftpPanel.vue:299 -#: src/views/tamper/RuleModal.vue:134 -#: src/views/task/TaskView.vue:110 -#: src/views/toolbox/DiskView.vue:356 -#: src/views/toolbox/DiskView.vue:378 -#: src/views/toolbox/DiskView.vue:399 -#: src/views/toolbox/DiskView.vue:423 -#: src/views/toolbox/DiskView.vue:446 -#: src/views/toolbox/DiskView.vue:464 -#: src/views/toolbox/DiskView.vue:485 -#: src/views/toolbox/DiskView.vue:505 -#: src/views/toolbox/DiskView.vue:527 -#: src/views/toolbox/DiskView.vue:548 -#: src/views/toolbox/DiskView.vue:570 -#: src/views/toolbox/DiskView.vue:592 -#: src/views/toolbox/MigrationView.vue:346 +#: src/views/file/composables/usePaste.ts:153 src/views/file/ListView.vue:312 +#: src/views/file/ListView.vue:851 src/views/file/ToolBar.vue:181 +#: src/views/file/UploadModal.vue:505 src/views/file/UploadModal.vue:640 +#: src/views/file/UploadModal.vue:783 src/views/home/IndexView.vue:1042 +#: src/views/home/UpdateView.vue:120 src/views/monitor/AlertRuleModal.vue:193 +#: src/views/monitor/ChannelModal.vue:148 src/views/project/EditModal.vue:579 +#: src/views/ssh/SftpPanel.vue:299 src/views/tamper/RuleModal.vue:134 +#: src/views/task/TaskView.vue:110 src/views/toolbox/DiskView.vue:356 +#: src/views/toolbox/DiskView.vue:378 src/views/toolbox/DiskView.vue:399 +#: src/views/toolbox/DiskView.vue:423 src/views/toolbox/DiskView.vue:446 +#: src/views/toolbox/DiskView.vue:464 src/views/toolbox/DiskView.vue:485 +#: src/views/toolbox/DiskView.vue:505 src/views/toolbox/DiskView.vue:527 +#: src/views/toolbox/DiskView.vue:548 src/views/toolbox/DiskView.vue:570 +#: src/views/toolbox/DiskView.vue:592 src/views/toolbox/MigrationView.vue:346 #: src/views/toolbox/MigrationView.vue:416 #: src/views/toolbox/network/InterfaceView.vue:297 #: src/views/toolbox/network/InterfaceView.vue:429 -#: src/views/toolbox/ProcessView.vue:248 -#: src/views/website/EditModal.vue:215 +#: src/views/toolbox/ProcessView.vue:248 src/views/website/EditModal.vue:215 #: src/views/website/EditModal.vue:2249 msgid "Cancel" msgstr "取消" -#: src/components/common/PtyTerminalModal.vue:259 -#: src/locales/menu.ts:20 +#: src/components/common/PtyTerminalModal.vue:259 src/locales/menu.ts:20 #: src/views/container/ContainerView.vue:142 #: src/views/container/ContainerView.vue:669 -#: src/views/database/ServerList.vue:174 -#: src/views/file/ListView.vue:422 -#: src/views/file/ListView.vue:1024 -#: src/views/file/ToolBar.vue:156 +#: src/views/database/ServerList.vue:174 src/views/file/ListView.vue:422 +#: src/views/file/ListView.vue:1024 src/views/file/ToolBar.vue:156 msgid "Terminal" msgstr "终端" @@ -725,8 +621,7 @@ msgstr "连接失败,正在重试..." #: src/views/apps/mongodb/IndexView.vue:77 #: src/views/apps/mysql/MysqlIndex.vue:110 #: src/views/apps/postgresql/IndexView.vue:144 -#: src/views/database/ServerList.vue:102 -#: src/views/database/UserList.vue:52 +#: src/views/database/ServerList.vue:102 src/views/database/UserList.vue:52 #: src/views/file/composables/usePaste.ts:29 #: src/views/setting/TokenModal.vue:155 msgid "Copied successfully" @@ -754,10 +649,8 @@ msgstr "跳转到底部" #: src/components/common/RealtimeLog.vue:409 #: src/components/file-editor/EditorToolbar.vue:190 -#: src/components/file-editor/FileTree.vue:702 -#: src/views/app/AppView.vue:237 -#: src/views/app/EnvironmentView.vue:264 -#: src/views/app/TemplateView.vue:102 +#: src/components/file-editor/FileTree.vue:702 src/views/app/AppView.vue:237 +#: src/views/app/EnvironmentView.vue:264 src/views/app/TemplateView.vue:102 #: src/views/database/ElasticsearchDataView.vue:314 #: src/views/database/RedisDataView.vue:289 msgid "Search" @@ -802,13 +695,11 @@ msgstr "减小字体大小" msgid "Increase Font Size" msgstr "增大字体大小" -#: src/components/common/RealtimeLog.vue:456 -#: src/views/ssh/IndexView.vue:549 +#: src/components/common/RealtimeLog.vue:456 src/views/ssh/IndexView.vue:549 msgid "Exit Fullscreen" msgstr "退出全屏" -#: src/components/common/RealtimeLog.vue:456 -#: src/views/ssh/IndexView.vue:549 +#: src/components/common/RealtimeLog.vue:456 src/views/ssh/IndexView.vue:549 msgid "Fullscreen" msgstr "全屏" @@ -825,13 +716,10 @@ msgstr[0] "%{ count } 行新日志" msgid "No logs available" msgstr "暂无日志数据" -#: src/components/common/RealtimeLogModal.vue:42 -#: src/locales/menu.ts:16 +#: src/components/common/RealtimeLogModal.vue:42 src/locales/menu.ts:16 #: src/views/apps/supervisor/IndexView.vue:98 -#: src/views/container/ContainerView.vue:154 -#: src/views/project/ListView.vue:168 -#: src/views/project/ListView.vue:334 -#: src/views/task/CronView.vue:146 +#: src/views/container/ContainerView.vue:154 src/views/project/ListView.vue:168 +#: src/views/project/ListView.vue:334 src/views/task/CronView.vue:146 #: src/views/task/TaskView.vue:88 msgid "Logs" msgstr "日志" @@ -856,12 +744,9 @@ msgstr "您确定要清除日志吗?" msgid "Clear Log" msgstr "清除日志" -#: src/components/common/ServiceStatus.vue:29 -#: src/views/home/IndexView.vue:903 -#: src/views/home/IndexView.vue:911 -#: src/views/home/IndexView.vue:918 -#: src/views/home/IndexView.vue:924 -#: src/views/home/IndexView.vue:935 +#: src/components/common/ServiceStatus.vue:29 src/views/home/IndexView.vue:903 +#: src/views/home/IndexView.vue:911 src/views/home/IndexView.vue:918 +#: src/views/home/IndexView.vue:924 src/views/home/IndexView.vue:935 #: src/views/home/IndexView.vue:947 msgid "Loading..." msgstr "加载中……" @@ -869,23 +754,18 @@ msgstr "加载中……" #: src/components/common/ServiceStatus.vue:30 #: src/views/app/InstalledView.vue:16 #: src/views/apps/prometheus/PrometheusExportersView.vue:50 -#: src/views/project/ListView.vue:70 -#: src/views/task/TaskView.vue:47 +#: src/views/project/ListView.vue:70 src/views/task/TaskView.vue:47 #: src/views/toolbox/MigrationView.vue:83 -#: src/views/toolbox/MigrationView.vue:149 -#: src/views/toolbox/ProcessView.vue:48 -#: src/views/toolbox/ProcessView.vue:77 -#: src/views/website/ListView.vue:135 +#: src/views/toolbox/MigrationView.vue:149 src/views/toolbox/ProcessView.vue:48 +#: src/views/toolbox/ProcessView.vue:77 src/views/website/ListView.vue:135 msgid "Running" msgstr "运行中" #: src/components/common/ServiceStatus.vue:30 #: src/views/app/InstalledView.vue:17 #: src/views/apps/prometheus/PrometheusExportersView.vue:51 -#: src/views/project/ListView.vue:72 -#: src/views/tamper/TamperView.vue:234 -#: src/views/toolbox/MigrationView.vue:149 -#: src/views/toolbox/ProcessView.vue:50 +#: src/views/project/ListView.vue:72 src/views/tamper/TamperView.vue:234 +#: src/views/toolbox/MigrationView.vue:149 src/views/toolbox/ProcessView.vue:50 #: src/views/toolbox/ProcessView.vue:83 msgid "Stopped" msgstr "已停止" @@ -897,8 +777,7 @@ msgstr "正在启动……" #: src/components/common/ServiceStatus.vue:52 #: src/views/apps/prometheus/PrometheusExportersView.vue:160 #: src/views/apps/supervisor/IndexView.vue:236 -#: src/views/project/ListView.vue:222 -#: src/views/website/ListView.vue:335 +#: src/views/project/ListView.vue:222 src/views/website/ListView.vue:335 msgid "Started successfully" msgstr "启动成功" @@ -910,8 +789,7 @@ msgstr "停止中..." #: src/components/common/ServiceStatus.vue:67 #: src/views/apps/prometheus/PrometheusExportersView.vue:167 #: src/views/apps/supervisor/IndexView.vue:243 -#: src/views/project/ListView.vue:217 -#: src/views/website/ListView.vue:337 +#: src/views/project/ListView.vue:217 src/views/website/ListView.vue:337 msgid "Stopped successfully" msgstr "停止成功" @@ -973,8 +851,7 @@ msgstr "自启动已成功禁用" #: src/views/apps/supervisor/IndexView.vue:308 #: src/views/apps/valkey/IndexView.vue:62 #: src/views/container/ContainerView.vue:106 -#: src/views/environment/PHPView.vue:189 -#: src/views/tamper/TamperView.vue:230 +#: src/views/environment/PHPView.vue:189 src/views/tamper/TamperView.vue:230 msgid "Running Status" msgstr "运行状态" @@ -991,8 +868,7 @@ msgstr "自启动关闭" #: src/views/apps/supervisor/IndexView.vue:120 #: src/views/container/ComposeView.vue:160 #: src/views/container/ContainerView.vue:181 -#: src/views/container/ContainerView.vue:593 -#: src/views/project/ListView.vue:130 +#: src/views/container/ContainerView.vue:593 src/views/project/ListView.vue:130 msgid "Start" msgstr "启动" @@ -1005,8 +881,7 @@ msgstr "您确定要停止 %{ service } 吗?" #: src/views/apps/supervisor/IndexView.vue:141 #: src/views/container/ComposeView.vue:189 #: src/views/container/ContainerView.vue:186 -#: src/views/container/ContainerView.vue:596 -#: src/views/project/ListView.vue:130 +#: src/views/container/ContainerView.vue:596 src/views/project/ListView.vue:130 msgid "Stop" msgstr "停止" @@ -1014,8 +889,7 @@ msgstr "停止" #: src/views/apps/prometheus/PrometheusExportersView.vue:103 #: src/views/apps/supervisor/IndexView.vue:159 #: src/views/container/ContainerView.vue:191 -#: src/views/container/ContainerView.vue:599 -#: src/views/home/IndexView.vue:567 +#: src/views/container/ContainerView.vue:599 src/views/home/IndexView.vue:567 #: src/views/project/ListView.vue:145 msgid "Restart" msgstr "重启" @@ -1061,10 +935,8 @@ msgstr "放弃" #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:97 #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:132 #: src/views/apps/elasticsearch/IndexView.vue:82 -#: src/views/apps/frp/IndexView.vue:76 -#: src/views/apps/frp/IndexView.vue:91 -#: src/views/apps/frp/IndexView.vue:109 -#: src/views/apps/frp/IndexView.vue:124 +#: src/views/apps/frp/IndexView.vue:76 src/views/apps/frp/IndexView.vue:91 +#: src/views/apps/frp/IndexView.vue:109 src/views/apps/frp/IndexView.vue:124 #: src/views/apps/gitea/IndexView.vue:55 #: src/views/apps/grafana/GrafanaConfigTuneView.vue:184 #: src/views/apps/grafana/GrafanaConfigTuneView.vue:218 @@ -1137,34 +1009,24 @@ msgstr "放弃" #: src/views/apps/valkey/ValkeyConfigTuneView.vue:205 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:230 #: src/views/container/ContainerCreate.vue:653 -#: src/views/environment/GoView.vue:90 -#: src/views/environment/NodejsView.vue:93 +#: src/views/environment/GoView.vue:90 src/views/environment/NodejsView.vue:93 #: src/views/environment/PhpConfigTuneView.vue:274 #: src/views/environment/PhpConfigTuneView.vue:305 #: src/views/environment/PhpConfigTuneView.vue:376 #: src/views/environment/PhpConfigTuneView.vue:421 #: src/views/environment/PhpConfigTuneView.vue:486 #: src/views/environment/PhpConfigTuneView.vue:561 -#: src/views/environment/PHPView.vue:236 -#: src/views/environment/PHPView.vue:254 -#: src/views/environment/PythonView.vue:97 -#: src/views/file/EditModal.vue:89 +#: src/views/environment/PHPView.vue:236 src/views/environment/PHPView.vue:254 +#: src/views/environment/PythonView.vue:97 src/views/file/EditModal.vue:89 #: src/views/firewall/SettingView.vue:136 #: src/views/monitor/AlertRuleModal.vue:195 -#: src/views/monitor/ChannelModal.vue:150 -#: src/views/monitor/SettingView.vue:226 -#: src/views/monitor/SettingView.vue:293 -#: src/views/project/EditModal.vue:582 -#: src/views/setting/IndexView.vue:169 -#: src/views/tamper/RuleModal.vue:136 -#: src/views/task/CreateModal.vue:548 -#: src/views/task/CronView.vue:344 -#: src/views/toolbox/SshView.vue:220 -#: src/views/toolbox/SystemView.vue:171 -#: src/views/toolbox/SystemView.vue:194 -#: src/views/toolbox/SystemView.vue:237 -#: src/views/toolbox/SystemView.vue:319 -#: src/views/toolbox/WebHookView.vue:400 +#: src/views/monitor/ChannelModal.vue:150 src/views/monitor/SettingView.vue:226 +#: src/views/monitor/SettingView.vue:293 src/views/project/EditModal.vue:582 +#: src/views/setting/IndexView.vue:169 src/views/tamper/RuleModal.vue:136 +#: src/views/task/CreateModal.vue:548 src/views/task/CronView.vue:344 +#: src/views/toolbox/SshView.vue:220 src/views/toolbox/SystemView.vue:171 +#: src/views/toolbox/SystemView.vue:194 src/views/toolbox/SystemView.vue:237 +#: src/views/toolbox/SystemView.vue:319 src/views/toolbox/WebHookView.vue:400 #: src/views/website/EditModal.vue:2258 msgid "Save" msgstr "保存" @@ -1240,22 +1102,15 @@ msgstr "此文件有未保存的更改。刷新将丢弃它们。是否继续? #: src/components/file-editor/EditorToolbar.vue:76 #: src/components/file-editor/EditorToolbar.vue:169 #: src/components/file-editor/EditorToolbar.vue:174 -#: src/components/file-editor/FileTree.vue:680 -#: src/views/file/PathInput.vue:133 -#: src/views/home/UpdateView.vue:163 -#: src/views/log/DatabaseLog.vue:132 -#: src/views/log/HttpLog.vue:161 -#: src/views/log/OperationLog.vue:184 -#: src/views/log/SSHLog.vue:115 -#: src/views/monitor/AlertView.vue:240 -#: src/views/ssh/SftpBrowser.vue:138 -#: src/views/tamper/TamperView.vue:379 +#: src/components/file-editor/FileTree.vue:680 src/views/file/PathInput.vue:133 +#: src/views/home/UpdateView.vue:178 src/views/log/DatabaseLog.vue:132 +#: src/views/log/HttpLog.vue:161 src/views/log/OperationLog.vue:184 +#: src/views/log/SSHLog.vue:115 src/views/monitor/AlertView.vue:240 +#: src/views/ssh/SftpBrowser.vue:138 src/views/tamper/TamperView.vue:379 #: src/views/toolbox/MigrationView.vue:566 #: src/views/toolbox/network/InterfaceView.vue:350 -#: src/views/toolbox/NetworkView.vue:193 -#: src/views/toolbox/PanelView.vue:100 -#: src/views/toolbox/PanelView.vue:233 -#: src/views/toolbox/ProcessView.vue:335 +#: src/views/toolbox/NetworkView.vue:193 src/views/toolbox/PanelView.vue:100 +#: src/views/toolbox/PanelView.vue:233 src/views/toolbox/ProcessView.vue:335 #: src/views/website/StatsView.vue:176 msgid "Refresh" msgstr "刷新" @@ -1305,10 +1160,8 @@ msgid "Toggle Minimap" msgstr "切换小地图" #: src/components/file-editor/EditorToolbar.vue:260 -#: src/views/firewall/IndexView.vue:28 -#: src/views/monitor/IndexView.vue:22 -#: src/views/ssh/IndexView.vue:527 -#: src/views/tamper/TamperView.vue:224 +#: src/views/firewall/IndexView.vue:28 src/views/monitor/IndexView.vue:22 +#: src/views/ssh/IndexView.vue:527 src/views/tamper/TamperView.vue:224 #: src/views/website/IndexView.vue:30 msgid "Settings" msgstr "设置" @@ -1384,20 +1237,14 @@ msgid "Render Whitespace" msgstr "渲染空格" #: src/components/file-editor/FileEditorView.vue:225 -#: src/views/apps/docker/IndexView.vue:83 -#: src/views/cert/CertView.vue:152 -#: src/views/cert/CertView.vue:206 -#: src/views/cert/CertView.vue:217 -#: src/views/cert/CertView.vue:235 +#: src/views/apps/docker/IndexView.vue:83 src/views/cert/CertView.vue:152 +#: src/views/cert/CertView.vue:206 src/views/cert/CertView.vue:218 +#: src/views/cert/CertView.vue:241 src/views/cert/CertView.vue:259 #: src/views/container/ContainerCreate.vue:57 -#: src/views/database/ServerList.vue:78 -#: src/views/database/ServerList.vue:93 -#: src/views/database/UserList.vue:28 -#: src/views/database/UserList.vue:68 -#: src/views/firewall/ForwardView.vue:27 -#: src/views/firewall/IpRuleView.vue:27 -#: src/views/firewall/IpRuleView.vue:44 -#: src/views/firewall/RuleView.vue:67 +#: src/views/database/ServerList.vue:78 src/views/database/ServerList.vue:93 +#: src/views/database/UserList.vue:28 src/views/database/UserList.vue:68 +#: src/views/firewall/ForwardView.vue:27 src/views/firewall/IpRuleView.vue:27 +#: src/views/firewall/IpRuleView.vue:44 src/views/firewall/RuleView.vue:67 #: src/views/firewall/RuleView.vue:84 msgid "None" msgstr "无" @@ -1415,12 +1262,9 @@ msgid "Trailing" msgstr "尾部" #: src/components/file-editor/FileEditorView.vue:229 -#: src/views/app/AppView.vue:222 -#: src/views/app/EnvironmentView.vue:249 -#: src/views/app/TemplateView.vue:87 -#: src/views/firewall/RuleView.vue:255 -#: src/views/project/IndexView.vue:21 -#: src/views/website/IndexView.vue:25 +#: src/views/app/AppView.vue:222 src/views/app/EnvironmentView.vue:249 +#: src/views/app/TemplateView.vue:87 src/views/firewall/RuleView.vue:255 +#: src/views/project/IndexView.vue:21 src/views/website/IndexView.vue:25 #: src/views/website/stats/ErrorsTab.vue:18 msgid "All" msgstr "全部" @@ -1517,14 +1361,12 @@ msgstr "输入时格式化" msgid "Failed to create" msgstr "创建失败" -#: src/components/file-editor/FileTree.vue:360 -#: src/views/file/ListView.vue:1481 +#: src/components/file-editor/FileTree.vue:360 src/views/file/ListView.vue:1481 #: src/views/file/ListView.vue:1502 msgid "Folder name" msgstr "文件夹名" -#: src/components/file-editor/FileTree.vue:360 -#: src/views/file/ListView.vue:1481 +#: src/components/file-editor/FileTree.vue:360 src/views/file/ListView.vue:1481 #: src/views/file/ListView.vue:1502 msgid "File name" msgstr "文件名" @@ -1534,10 +1376,8 @@ msgstr "文件名" #: src/views/container/ContainerView.vue:640 #: src/views/database/RedisDataView.vue:168 #: src/views/file/composables/usePaste.ts:48 -#: src/views/file/composables/usePaste.ts:164 -#: src/views/file/ListView.vue:420 -#: src/views/file/ListView.vue:1674 -#: src/views/file/UploadModal.vue:747 +#: src/views/file/composables/usePaste.ts:164 src/views/file/ListView.vue:420 +#: src/views/file/ListView.vue:1674 src/views/file/UploadModal.vue:747 #: src/views/file/UploadModal.vue:776 msgid "Rename" msgstr "重命名" @@ -1556,62 +1396,40 @@ msgstr "重命名" #: src/views/apps/pureftpd/IndexView.vue:87 #: src/views/apps/rsync/IndexView.vue:101 #: src/views/apps/supervisor/IndexView.vue:178 -#: src/views/backup/ListView.vue:106 -#: src/views/backup/StorageView.vue:126 -#: src/views/cert/AccountView.vue:113 -#: src/views/cert/CertView.vue:366 -#: src/views/cert/DnsView.vue:109 -#: src/views/container/ComposeView.vue:209 +#: src/views/backup/ListView.vue:106 src/views/backup/StorageView.vue:126 +#: src/views/cert/AccountView.vue:113 src/views/cert/CertView.vue:390 +#: src/views/cert/DnsView.vue:109 src/views/container/ComposeView.vue:209 #: src/views/container/ComposeView.vue:289 #: src/views/container/ContainerView.vue:211 #: src/views/container/ContainerView.vue:611 -#: src/views/container/ImageView.vue:114 -#: src/views/container/ImageView.vue:296 +#: src/views/container/ImageView.vue:114 src/views/container/ImageView.vue:296 #: src/views/container/NetworkView.vue:130 #: src/views/container/NetworkView.vue:221 -#: src/views/container/VolumeView.vue:83 -#: src/views/container/VolumeView.vue:167 +#: src/views/container/VolumeView.vue:83 src/views/container/VolumeView.vue:167 #: src/views/database/DatabaseList.vue:86 #: src/views/database/ElasticsearchDataView.vue:146 #: src/views/database/ElasticsearchDataView.vue:200 #: src/views/database/RedisDataView.vue:182 -#: src/views/database/ServerList.vue:247 -#: src/views/database/UserList.vue:165 -#: src/views/environment/PHPView.vue:107 -#: src/views/file/ListView.vue:378 -#: src/views/file/ListView.vue:434 -#: src/views/file/ListView.vue:1685 -#: src/views/file/ToolBar.vue:198 -#: src/views/firewall/ForwardView.vue:98 -#: src/views/firewall/ForwardView.vue:162 -#: src/views/firewall/IpRuleView.vue:140 -#: src/views/firewall/IpRuleView.vue:204 -#: src/views/firewall/RuleView.vue:280 -#: src/views/firewall/RuleView.vue:361 -#: src/views/monitor/AlertView.vue:118 -#: src/views/monitor/SettingView.vue:151 -#: src/views/project/ListView.vue:194 -#: src/views/project/ListView.vue:305 -#: src/views/setting/PasskeyModal.vue:68 -#: src/views/setting/SettingUser.vue:142 -#: src/views/setting/TokenModal.vue:87 -#: src/views/ssh/IndexView.vue:625 -#: src/views/tamper/TamperView.vue:156 -#: src/views/task/CronView.vue:169 -#: src/views/task/IndexView.vue:41 -#: src/views/task/TaskView.vue:127 -#: src/views/toolbox/WebHookView.vue:172 -#: src/views/website/ListView.vue:305 -#: src/views/website/ListView.vue:423 +#: src/views/database/ServerList.vue:247 src/views/database/UserList.vue:165 +#: src/views/environment/PHPView.vue:107 src/views/file/ListView.vue:378 +#: src/views/file/ListView.vue:434 src/views/file/ListView.vue:1685 +#: src/views/file/ToolBar.vue:198 src/views/firewall/ForwardView.vue:98 +#: src/views/firewall/ForwardView.vue:162 src/views/firewall/IpRuleView.vue:140 +#: src/views/firewall/IpRuleView.vue:204 src/views/firewall/RuleView.vue:280 +#: src/views/firewall/RuleView.vue:361 src/views/monitor/AlertView.vue:118 +#: src/views/monitor/SettingView.vue:151 src/views/project/ListView.vue:194 +#: src/views/project/ListView.vue:305 src/views/setting/PasskeyModal.vue:68 +#: src/views/setting/SettingUser.vue:142 src/views/setting/TokenModal.vue:87 +#: src/views/ssh/IndexView.vue:625 src/views/tamper/TamperView.vue:156 +#: src/views/task/CronView.vue:169 src/views/task/IndexView.vue:41 +#: src/views/task/TaskView.vue:127 src/views/toolbox/WebHookView.vue:172 +#: src/views/website/ListView.vue:305 src/views/website/ListView.vue:423 msgid "Delete" msgstr "删除" -#: src/components/file-editor/FileTree.vue:463 -#: src/views/backup/ListView.vue:79 -#: src/views/file/ListView.vue:412 -#: src/views/file/ListView.vue:1669 -#: src/views/monitor/SystemView.vue:590 -#: src/views/toolbox/SshView.vue:345 +#: src/components/file-editor/FileTree.vue:463 src/views/backup/ListView.vue:79 +#: src/views/file/ListView.vue:412 src/views/file/ListView.vue:1669 +#: src/views/monitor/SystemView.vue:590 src/views/toolbox/SshView.vue:345 msgid "Download" msgstr "下载" @@ -1630,8 +1448,7 @@ msgstr "重命名失败" #: src/components/file-editor/FileTree.vue:588 #: src/views/apps/nginx/NginxIndex.vue:211 -#: src/views/apps/nginx/NginxIndex.vue:275 -#: src/views/file/ListView.vue:894 +#: src/views/apps/nginx/NginxIndex.vue:275 src/views/file/ListView.vue:894 #: src/views/file/ListView.vue:1679 msgid "Are you sure you want to delete %{ name }?" msgstr "您确定要删除 %{ name } 吗?" @@ -1642,11 +1459,9 @@ msgstr "您确定要删除 %{ name } 吗?" #: src/views/apps/nginx/NginxIndex.vue:405 #: src/views/apps/nginx/NginxIndex.vue:489 #: src/views/apps/pureftpd/IndexView.vue:155 -#: src/views/apps/rsync/IndexView.vue:160 -#: src/views/apps/s3fs/IndexView.vue:87 +#: src/views/apps/rsync/IndexView.vue:160 src/views/apps/s3fs/IndexView.vue:87 #: src/views/apps/supervisor/IndexView.vue:257 -#: src/views/backup/ListView.vue:156 -#: src/views/backup/StorageView.vue:183 +#: src/views/backup/ListView.vue:156 src/views/backup/StorageView.vue:183 #: src/views/container/ImageView.vue:155 #: src/views/container/NetworkView.vue:178 #: src/views/container/VolumeView.vue:124 @@ -1654,28 +1469,18 @@ msgstr "您确定要删除 %{ name } 吗?" #: src/views/database/ElasticsearchDataView.vue:241 #: src/views/database/ElasticsearchDataView.vue:250 #: src/views/database/RedisDataView.vue:211 -#: src/views/database/ServerList.vue:269 -#: src/views/database/UserList.vue:185 +#: src/views/database/ServerList.vue:269 src/views/database/UserList.vue:185 #: src/views/file/composables/useFileOps.ts:29 #: src/views/firewall/ForwardView.vue:119 -#: src/views/firewall/ForwardView.vue:137 -#: src/views/firewall/IpRuleView.vue:161 -#: src/views/firewall/IpRuleView.vue:179 -#: src/views/firewall/RuleView.vue:322 -#: src/views/firewall/RuleView.vue:340 -#: src/views/monitor/AlertView.vue:47 -#: src/views/monitor/SettingView.vue:84 -#: src/views/project/ListView.vue:268 -#: src/views/project/ListView.vue:278 -#: src/views/setting/PasskeyModal.vue:96 -#: src/views/setting/SettingUser.vue:173 -#: src/views/setting/TokenModal.vue:106 -#: src/views/tamper/TamperView.vue:112 -#: src/views/task/CronView.vue:231 -#: src/views/task/CronView.vue:241 -#: src/views/task/TaskView.vue:149 -#: src/views/toolbox/WebHookView.vue:225 -#: src/views/website/ListView.vue:379 +#: src/views/firewall/ForwardView.vue:137 src/views/firewall/IpRuleView.vue:161 +#: src/views/firewall/IpRuleView.vue:179 src/views/firewall/RuleView.vue:322 +#: src/views/firewall/RuleView.vue:340 src/views/monitor/AlertView.vue:47 +#: src/views/monitor/SettingView.vue:84 src/views/project/ListView.vue:268 +#: src/views/project/ListView.vue:278 src/views/setting/PasskeyModal.vue:96 +#: src/views/setting/SettingUser.vue:173 src/views/setting/TokenModal.vue:106 +#: src/views/tamper/TamperView.vue:112 src/views/task/CronView.vue:231 +#: src/views/task/CronView.vue:241 src/views/task/TaskView.vue:149 +#: src/views/toolbox/WebHookView.vue:225 src/views/website/ListView.vue:379 #: src/views/website/ListView.vue:389 msgid "Deleted successfully" msgstr "删除成功" @@ -1688,18 +1493,15 @@ msgstr "删除失败" msgid "Go Up" msgstr "上一级" -#: src/components/file-editor/FileTree.vue:687 -#: src/views/file/ListView.vue:359 +#: src/components/file-editor/FileTree.vue:687 src/views/file/ListView.vue:359 msgid "New File" msgstr "新文件" -#: src/components/file-editor/FileTree.vue:688 -#: src/views/file/ListView.vue:360 +#: src/components/file-editor/FileTree.vue:688 src/views/file/ListView.vue:360 msgid "New Folder" msgstr "新文件夹" -#: src/components/file-editor/FileTree.vue:692 -#: src/views/file/ToolBar.vue:152 +#: src/components/file-editor/FileTree.vue:692 src/views/file/ToolBar.vue:152 msgid "New" msgstr "新建" @@ -1737,7 +1539,9 @@ msgid "Panel encountered a fault: %{key}" msgstr "面板遇到故障:%{key}" #: src/components/system/HealthBanner.vue:36 -msgid "Try running \"acepanel fix\" on the server to detect and rebuild the broken database file." +msgid "" +"Try running \"acepanel fix\" on the server to detect and rebuild the broken " +"database file." msgstr "尝试在服务器上运行「acepanel fix」来检测并重建损坏的数据库文件。" #: src/layouts/header/components/FullScreen.vue:16 @@ -1780,8 +1584,7 @@ msgstr "切换主题" #: src/layouts/header/components/UserAvatar.vue:14 #: src/views/apps/pureftpd/IndexView.vue:71 #: src/views/apps/pureftpd/IndexView.vue:274 -#: src/views/setting/PasswordModal.vue:34 -#: src/views/setting/SettingUser.vue:128 +#: src/views/setting/PasswordModal.vue:34 src/views/setting/SettingUser.vue:128 msgid "Change Password" msgstr "更改密码" @@ -1802,16 +1605,12 @@ msgid "Logged out successfully!" msgstr "退出登录成功!" #: src/layouts/header/components/UserAvatar.vue:49 -#: src/views/cert/DnsView.vue:61 -#: src/views/firewall/IpRuleView.vue:78 -#: src/views/firewall/IpRuleView.vue:103 -#: src/views/firewall/RuleView.vue:215 -#: src/views/firewall/RuleView.vue:240 -#: src/views/toolbox/DiskView.vue:159 +#: src/views/cert/DnsView.vue:61 src/views/firewall/IpRuleView.vue:78 +#: src/views/firewall/IpRuleView.vue:103 src/views/firewall/RuleView.vue:215 +#: src/views/firewall/RuleView.vue:240 src/views/toolbox/DiskView.vue:159 #: src/views/website/stats/GeoTab.vue:102 #: src/views/website/stats/GeoTab.vue:104 -#: src/views/website/stats/GeoTab.vue:225 -#: src/views/website/stats/IPsTab.vue:98 +#: src/views/website/stats/GeoTab.vue:225 src/views/website/stats/IPsTab.vue:98 msgid "Unknown" msgstr "未知" @@ -1835,34 +1634,26 @@ msgstr "关闭右侧" msgid "Apps" msgstr "应用" -#: src/locales/menu.ts:8 -#: src/views/task/CreateModal.vue:145 +#: src/locales/menu.ts:8 src/views/task/CreateModal.vue:145 msgid "Backup" msgstr "备份" -#: src/locales/menu.ts:9 -#: src/views/cert/CertView.vue:582 -#: src/views/cert/CertView.vue:691 -#: src/views/cert/IndexView.vue:97 -#: src/views/cert/UploadCertModal.vue:46 -#: src/views/setting/SettingSafe.vue:275 +#: src/locales/menu.ts:9 src/views/cert/CertView.vue:607 +#: src/views/cert/CertView.vue:716 src/views/cert/IndexView.vue:97 +#: src/views/cert/UploadCertModal.vue:46 src/views/setting/SettingSafe.vue:275 #: src/views/website/EditModal.vue:1774 msgid "Certificate" msgstr "证书" -#: src/locales/menu.ts:10 -#: src/views/home/IndexView.vue:537 +#: src/locales/menu.ts:10 src/views/home/IndexView.vue:537 #: src/views/task/CreateModal.vue:469 msgid "Container" msgstr "容器" -#: src/locales/menu.ts:11 -#: src/views/apps/grafana/GrafanaConfigTuneView.vue:189 +#: src/locales/menu.ts:11 src/views/apps/grafana/GrafanaConfigTuneView.vue:189 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:222 -#: src/views/backup/ListView.vue:334 -#: src/views/home/IndexView.vue:546 -#: src/views/toolbox/MigrationView.vue:76 -#: src/views/website/CreateModal.vue:248 +#: src/views/backup/ListView.vue:334 src/views/home/IndexView.vue:546 +#: src/views/toolbox/MigrationView.vue:76 src/views/website/CreateModal.vue:248 msgid "Database" msgstr "数据库" @@ -1878,18 +1669,15 @@ msgstr "防火墙" msgid "Home" msgstr "首页" -#: src/locales/menu.ts:15 -#: src/views/apps/grafana/GrafanaConfigTuneView.vue:223 +#: src/locales/menu.ts:15 src/views/apps/grafana/GrafanaConfigTuneView.vue:223 msgid "Security" msgstr "安全" -#: src/locales/menu.ts:17 -#: src/views/monitor/SettingView.vue:198 +#: src/locales/menu.ts:17 src/views/monitor/SettingView.vue:198 msgid "Monitoring" msgstr "监控" -#: src/locales/menu.ts:18 -#: src/views/home/IndexView.vue:551 +#: src/locales/menu.ts:18 src/views/home/IndexView.vue:551 #: src/views/toolbox/MigrationView.vue:78 msgid "Project" msgstr "项目" @@ -1906,13 +1694,10 @@ msgstr "任务" msgid "Toolbox" msgstr "工具箱" -#: src/locales/menu.ts:23 -#: src/views/app/AppView.vue:97 -#: src/views/app/EnvironmentView.vue:88 -#: src/views/app/InstalledView.vue:103 +#: src/locales/menu.ts:23 src/views/app/AppView.vue:97 +#: src/views/app/EnvironmentView.vue:88 src/views/app/InstalledView.vue:103 #: src/views/app/InstalledView.vue:202 -#: src/views/app/TemplateDeployModal.vue:652 -#: src/views/home/IndexView.vue:575 +#: src/views/app/TemplateDeployModal.vue:652 src/views/home/IndexView.vue:575 #: src/views/setting/TokenModal.vue:308 msgid "Update" msgstr "更新" @@ -1941,54 +1726,41 @@ msgstr "Rsync 管理器" msgid "Frp Manager" msgstr "Frp 管理器" -#: src/router/routes/index.ts:44 -#: src/views/login/IndexView.vue:309 +#: src/router/routes/index.ts:44 src/views/login/IndexView.vue:309 msgid "Login" msgstr "登录" -#: src/views/app/AppView.vue:19 -#: src/views/app/AppView.vue:143 -#: src/views/app/AppView.vue:147 -#: src/views/app/EnvironmentView.vue:147 -#: src/views/app/EnvironmentView.vue:292 -#: src/views/app/EnvironmentView.vue:312 +#: src/views/app/AppView.vue:19 src/views/app/AppView.vue:143 +#: src/views/app/AppView.vue:147 src/views/app/EnvironmentView.vue:147 +#: src/views/app/EnvironmentView.vue:292 src/views/app/EnvironmentView.vue:312 #: src/views/apps/prometheus/PrometheusExportersView.vue:79 #: src/views/environment/PHPView.vue:107 msgid "Install" msgstr "安装" -#: src/views/app/AppView.vue:37 -#: src/views/app/InstalledView.vue:33 +#: src/views/app/AppView.vue:37 src/views/app/InstalledView.vue:33 msgid "App Name" msgstr "应用名称" -#: src/views/app/AppView.vue:43 -#: src/views/app/EnvironmentView.vue:44 -#: src/views/app/InstalledView.vue:39 -#: src/views/app/InstalledView.vue:164 +#: src/views/app/AppView.vue:43 src/views/app/EnvironmentView.vue:44 +#: src/views/app/InstalledView.vue:39 src/views/app/InstalledView.vue:164 #: src/views/apps/prometheus/PrometheusExportersView.vue:32 -#: src/views/environment/PHPView.vue:64 -#: src/views/project/EditModal.vue:193 +#: src/views/environment/PHPView.vue:64 src/views/project/EditModal.vue:193 #: src/views/project/ListView.vue:44 msgid "Description" msgstr "描述" -#: src/views/app/AppView.vue:49 -#: src/views/app/EnvironmentView.vue:56 -#: src/views/app/InstalledView.vue:45 -#: src/views/app/InstalledView.vue:170 +#: src/views/app/AppView.vue:49 src/views/app/EnvironmentView.vue:56 +#: src/views/app/InstalledView.vue:45 src/views/app/InstalledView.vue:170 msgid "Installed Version" msgstr "已安装版本" -#: src/views/app/AppView.vue:55 -#: src/views/app/InstalledView.vue:61 +#: src/views/app/AppView.vue:55 src/views/app/InstalledView.vue:61 msgid "Show in Home" msgstr "在主页显示" -#: src/views/app/AppView.vue:68 -#: src/views/app/EnvironmentView.vue:62 -#: src/views/app/InstalledView.vue:74 -#: src/views/app/InstalledView.vue:176 +#: src/views/app/AppView.vue:68 src/views/app/EnvironmentView.vue:62 +#: src/views/app/InstalledView.vue:74 src/views/app/InstalledView.vue:176 #: src/views/apps/fail2ban/IndexView.vue:63 #: src/views/apps/fail2ban/IndexView.vue:112 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:99 @@ -1997,129 +1769,104 @@ msgstr "在主页显示" #: src/views/apps/nginx/NginxIndex.vue:751 #: src/views/apps/prometheus/PrometheusExportersView.vue:55 #: src/views/apps/pureftpd/IndexView.vue:53 -#: src/views/apps/rsync/IndexView.vue:72 -#: src/views/apps/s3fs/IndexView.vue:35 -#: src/views/apps/supervisor/IndexView.vue:84 -#: src/views/backup/ListView.vue:63 -#: src/views/backup/StorageView.vue:95 -#: src/views/cert/AccountView.vue:74 -#: src/views/cert/CertView.vue:253 -#: src/views/cert/DnsView.vue:69 +#: src/views/apps/rsync/IndexView.vue:72 src/views/apps/s3fs/IndexView.vue:35 +#: src/views/apps/supervisor/IndexView.vue:84 src/views/backup/ListView.vue:63 +#: src/views/backup/StorageView.vue:95 src/views/cert/AccountView.vue:74 +#: src/views/cert/CertView.vue:277 src/views/cert/DnsView.vue:69 #: src/views/container/ComposeView.vue:102 #: src/views/container/ContainerView.vue:113 -#: src/views/container/ImageView.vue:97 -#: src/views/container/NetworkView.vue:112 -#: src/views/container/VolumeView.vue:66 -#: src/views/database/DatabaseList.vue:68 +#: src/views/container/ImageView.vue:97 src/views/container/NetworkView.vue:112 +#: src/views/container/VolumeView.vue:66 src/views/database/DatabaseList.vue:68 #: src/views/database/ElasticsearchDataView.vue:117 #: src/views/database/ElasticsearchDataView.vue:169 #: src/views/database/RedisDataView.vue:124 -#: src/views/database/ServerList.vue:161 -#: src/views/database/UserList.vue:134 -#: src/views/environment/PHPView.vue:71 -#: src/views/file/ListView.vue:1463 -#: src/views/file/ShareModal.vue:102 -#: src/views/firewall/ForwardView.vue:81 -#: src/views/firewall/IpRuleView.vue:123 -#: src/views/firewall/RuleView.vue:263 -#: src/views/firewall/ScanView.vue:256 -#: src/views/monitor/AlertView.vue:103 -#: src/views/monitor/SettingView.vue:126 -#: src/views/project/ListView.vue:117 -#: src/views/setting/PasskeyModal.vue:51 -#: src/views/setting/SettingUser.vue:88 -#: src/views/setting/TokenModal.vue:57 -#: src/views/tamper/TamperView.vue:141 -#: src/views/task/CronView.vue:119 -#: src/views/task/TaskView.vue:69 -#: src/views/toolbox/DiskView.vue:298 -#: src/views/toolbox/DiskView.vue:608 +#: src/views/database/ServerList.vue:161 src/views/database/UserList.vue:134 +#: src/views/environment/PHPView.vue:71 src/views/file/ListView.vue:1463 +#: src/views/file/ShareModal.vue:102 src/views/firewall/ForwardView.vue:81 +#: src/views/firewall/IpRuleView.vue:123 src/views/firewall/RuleView.vue:263 +#: src/views/firewall/ScanView.vue:256 src/views/monitor/AlertView.vue:103 +#: src/views/monitor/SettingView.vue:126 src/views/project/ListView.vue:117 +#: src/views/setting/PasskeyModal.vue:51 src/views/setting/SettingUser.vue:88 +#: src/views/setting/TokenModal.vue:57 src/views/tamper/TamperView.vue:141 +#: src/views/task/CronView.vue:119 src/views/task/TaskView.vue:69 +#: src/views/toolbox/DiskView.vue:298 src/views/toolbox/DiskView.vue:608 #: src/views/toolbox/network/InterfaceView.vue:197 -#: src/views/toolbox/WebHookView.vue:135 -#: src/views/website/ListView.vue:246 +#: src/views/toolbox/WebHookView.vue:135 src/views/website/ListView.vue:246 msgid "Actions" msgstr "操作" -#: src/views/app/AppView.vue:88 -#: src/views/app/EnvironmentView.vue:80 -#: src/views/app/InstalledView.vue:94 -#: src/views/app/InstalledView.vue:194 +#: src/views/app/AppView.vue:88 src/views/app/EnvironmentView.vue:80 +#: src/views/app/InstalledView.vue:94 src/views/app/InstalledView.vue:194 #: src/views/container/ContainerCreate.vue:157 msgid "Confirm Update" msgstr "确认更新" -#: src/views/app/AppView.vue:89 -#: src/views/app/InstalledView.vue:95 -msgid "Updating app %{ app } to %{ version } may reset related configurations to default state, are you sure to continue?" -msgstr "更新应用 %{ app } 到 %{ version } 可能会将相关配置重置为默认状态,您确定要继续吗?" +#: src/views/app/AppView.vue:89 src/views/app/InstalledView.vue:95 +msgid "" +"Updating app %{ app } to %{ version } may reset related configurations to " +"default state, are you sure to continue?" +msgstr "" +"更新应用 %{ app } 到 %{ version } 可能会将相关配置重置为默认状态,您确定要继" +"续吗?" -#: src/views/app/AppView.vue:110 -#: src/views/app/EnvironmentView.vue:101 -#: src/views/app/InstalledView.vue:115 -#: src/views/app/InstalledView.vue:214 +#: src/views/app/AppView.vue:110 src/views/app/EnvironmentView.vue:101 +#: src/views/app/InstalledView.vue:115 src/views/app/InstalledView.vue:214 msgid "Manage" msgstr "管理" -#: src/views/app/AppView.vue:119 -#: src/views/app/EnvironmentView.vue:110 -#: src/views/app/InstalledView.vue:124 -#: src/views/app/InstalledView.vue:223 +#: src/views/app/AppView.vue:119 src/views/app/EnvironmentView.vue:110 +#: src/views/app/InstalledView.vue:124 src/views/app/InstalledView.vue:223 #: src/views/apps/prometheus/PrometheusExportersView.vue:124 #: src/views/environment/PHPView.vue:85 msgid "Confirm Uninstall" msgstr "确认卸载" -#: src/views/app/AppView.vue:121 -#: src/views/app/InstalledView.vue:126 -msgid "Reinstalling/Switching to a different web server will reset the configuration of all websites, are you sure to continue?" +#: src/views/app/AppView.vue:121 src/views/app/InstalledView.vue:126 +msgid "" +"Reinstalling/Switching to a different web server will reset the " +"configuration of all websites, are you sure to continue?" msgstr "重新安装/切换到不同的 Web 服务器将重置所有网站的配置,您确定要继续吗?" -#: src/views/app/AppView.vue:124 -#: src/views/app/InstalledView.vue:129 +#: src/views/app/AppView.vue:124 src/views/app/InstalledView.vue:129 msgid "Are you sure to uninstall app %{ app }?" msgstr "您确定要卸载应用 %{ app } 吗?" -#: src/views/app/AppView.vue:125 -#: src/views/app/AppView.vue:131 -#: src/views/app/EnvironmentView.vue:114 -#: src/views/app/EnvironmentView.vue:120 -#: src/views/app/InstalledView.vue:130 -#: src/views/app/InstalledView.vue:136 -#: src/views/app/InstalledView.vue:227 -#: src/views/app/InstalledView.vue:233 +#: src/views/app/AppView.vue:125 src/views/app/AppView.vue:131 +#: src/views/app/EnvironmentView.vue:114 src/views/app/EnvironmentView.vue:120 +#: src/views/app/InstalledView.vue:130 src/views/app/InstalledView.vue:136 +#: src/views/app/InstalledView.vue:227 src/views/app/InstalledView.vue:233 #: src/views/apps/prometheus/PrometheusExportersView.vue:128 msgid "Uninstall" msgstr "卸载" -#: src/views/app/AppView.vue:183 -#: src/views/app/InstalledView.vue:272 +#: src/views/app/AppView.vue:183 src/views/app/InstalledView.vue:272 msgid "Setup successfully" msgstr "设置成功" -#: src/views/app/AppView.vue:190 -#: src/views/app/AppView.vue:198 -#: src/views/app/EnvironmentView.vue:184 -#: src/views/app/EnvironmentView.vue:206 -#: src/views/app/EnvironmentView.vue:217 -#: src/views/app/EnvironmentView.vue:225 -#: src/views/app/InstalledView.vue:279 -#: src/views/app/InstalledView.vue:287 -#: src/views/app/InstalledView.vue:300 -#: src/views/app/InstalledView.vue:308 +#: src/views/app/AppView.vue:190 src/views/app/AppView.vue:198 +#: src/views/app/EnvironmentView.vue:184 src/views/app/EnvironmentView.vue:206 +#: src/views/app/EnvironmentView.vue:217 src/views/app/EnvironmentView.vue:225 +#: src/views/app/InstalledView.vue:279 src/views/app/InstalledView.vue:287 +#: src/views/app/InstalledView.vue:300 src/views/app/InstalledView.vue:308 #: src/views/app/VersionModal.vue:53 msgid "Task submitted, please check the progress in background tasks" msgstr "任务已提交,请在后台任务中查看进度" #: src/views/app/CustomForm.vue:46 -msgid "Settings are saved persistently and applied automatically on every install and update (recompile), no need to re-enter after reinstalling." -msgstr "设置持久保存,每次安装与更新(重新编译)时自动应用,重装后无需重新填写。" +msgid "" +"Settings are saved persistently and applied automatically on every install " +"and update (recompile), no need to re-enter after reinstalling." +msgstr "" +"设置持久保存,每次安装与更新(重新编译)时自动应用,重装后无需重新填写。" #: src/views/app/CustomForm.vue:52 msgid "Pre-script" msgstr "前置脚本" #: src/views/app/CustomForm.vue:56 -msgid "Runs before configure, can be used to download and prepare third-party module sources." +msgid "" +"Runs before configure, can be used to download and prepare third-party " +"module sources." msgstr "在 configure 之前运行,可用于下载和准备第三方模块源码。" #: src/views/app/CustomForm.vue:64 @@ -2127,20 +1874,20 @@ msgid "Compile Params" msgstr "编译参数" #: src/views/app/CustomForm.vue:68 -msgid "One param per line, appended to the end of configure. Lines starting with # are ignored." +msgid "" +"One param per line, appended to the end of configure. Lines starting with # " +"are ignored." msgstr "每行一个参数,追加到 configure 末尾,以 # 开头的行将被忽略。" #: src/views/app/EnvironmentView.vue:50 msgid "Latest Version" msgstr "最新版本" -#: src/views/app/EnvironmentView.vue:81 -#: src/views/app/InstalledView.vue:195 +#: src/views/app/EnvironmentView.vue:81 src/views/app/InstalledView.vue:195 msgid "Are you sure to update environment %{ environment }?" msgstr "您确定要更新环境 %{ environment } 吗?" -#: src/views/app/EnvironmentView.vue:111 -#: src/views/app/InstalledView.vue:224 +#: src/views/app/EnvironmentView.vue:111 src/views/app/InstalledView.vue:224 msgid "Are you sure to uninstall environment %{ environment }?" msgstr "您确定要卸载环境 %{ environment } 吗?" @@ -2162,13 +1909,11 @@ msgstr "缓存更新成功" msgid "Installed" msgstr "已安装" -#: src/views/app/IndexView.vue:41 -#: src/views/app/InstalledView.vue:327 +#: src/views/app/IndexView.vue:41 src/views/app/InstalledView.vue:327 msgid "Native App" msgstr "原生应用" -#: src/views/app/IndexView.vue:42 -#: src/views/app/InstalledView.vue:351 +#: src/views/app/IndexView.vue:42 src/views/app/InstalledView.vue:351 msgid "Operating Environment" msgstr "运行环境" @@ -2184,32 +1929,24 @@ msgstr "更新缓存" msgid "Partial" msgstr "部分运行" -#: src/views/app/InstalledView.vue:51 -#: src/views/apps/fail2ban/IndexView.vue:47 +#: src/views/app/InstalledView.vue:51 src/views/apps/fail2ban/IndexView.vue:47 #: src/views/apps/phpmyadmin/IndexView.vue:67 #: src/views/apps/prometheus/PrometheusExportersView.vue:38 #: src/views/apps/supervisor/IndexView.vue:63 #: src/views/container/ComposeView.vue:86 #: src/views/container/ContainerInfoModal.vue:112 #: src/views/container/ContainerView.vue:58 -#: src/views/database/ServerList.vue:140 -#: src/views/database/UserList.vue:113 -#: src/views/firewall/RuleView.vue:103 -#: src/views/log/HttpLog.vue:95 -#: src/views/log/SSHLog.vue:63 -#: src/views/monitor/AlertView.vue:93 -#: src/views/monitor/SettingView.vue:116 -#: src/views/project/ListView.vue:59 -#: src/views/tamper/TamperView.vue:131 -#: src/views/tamper/TamperView.vue:232 -#: src/views/task/TaskView.vue:34 -#: src/views/toolbox/disk/RaidView.vue:97 +#: src/views/database/ServerList.vue:140 src/views/database/UserList.vue:113 +#: src/views/firewall/RuleView.vue:103 src/views/log/HttpLog.vue:95 +#: src/views/log/SSHLog.vue:63 src/views/monitor/AlertView.vue:93 +#: src/views/monitor/SettingView.vue:116 src/views/project/ListView.vue:59 +#: src/views/tamper/TamperView.vue:131 src/views/tamper/TamperView.vue:232 +#: src/views/task/TaskView.vue:34 src/views/toolbox/disk/RaidView.vue:97 #: src/views/toolbox/disk/SmartView.vue:217 #: src/views/toolbox/MigrationView.vue:142 #: src/views/toolbox/MigrationView.vue:209 #: src/views/toolbox/network/InterfaceView.vue:160 -#: src/views/toolbox/NetworkView.vue:99 -#: src/views/toolbox/ProcessView.vue:134 +#: src/views/toolbox/NetworkView.vue:99 src/views/toolbox/ProcessView.vue:134 #: src/views/toolbox/ProcessView.vue:399 #: src/views/website/stats/ErrorsTab.vue:95 msgid "Status" @@ -2235,12 +1972,9 @@ msgstr "请输入编排名称" msgid "Please select a compose" msgstr "请选择一个编排" -#: src/views/app/TemplateDeployModal.vue:258 -#: src/views/cert/AccountView.vue:145 -#: src/views/cert/CertView.vue:401 -#: src/views/cert/CertView.vue:422 -#: src/views/cert/DnsView.vue:137 -#: src/views/container/ComposeView.vue:249 +#: src/views/app/TemplateDeployModal.vue:258 src/views/cert/AccountView.vue:145 +#: src/views/cert/CertView.vue:425 src/views/cert/CertView.vue:446 +#: src/views/cert/DnsView.vue:137 src/views/container/ComposeView.vue:249 msgid "Update successful" msgstr "更新成功" @@ -2317,8 +2051,7 @@ msgstr "自动放行在 compose 中定义的端口" #: src/views/container/ComposeView.vue:357 #: src/views/container/ContainerCreate.vue:568 #: src/views/container/ContainerInfoModal.vue:185 -#: src/views/project/EditModal.vue:380 -#: src/views/toolbox/ProcessView.vue:445 +#: src/views/project/EditModal.vue:380 src/views/toolbox/ProcessView.vue:445 msgid "Environment Variables" msgstr "环境变量" @@ -2340,7 +2073,9 @@ msgid "Compose File" msgstr "编排文件" #: src/views/app/TemplateDeployModal.vue:567 -msgid "Left side shows the original compose, right side shows the new compose. You can edit the right side." +msgid "" +"Left side shows the original compose, right side shows the new compose. You " +"can edit the right side." msgstr "左侧显示旧编排,右侧显示新编排。您可以编辑右侧。" #: src/views/app/TemplateDeployModal.vue:586 @@ -2368,10 +2103,8 @@ msgstr "更新现有" #: src/views/apps/grafana/GrafanaDataSourcesView.vue:94 #: src/views/apps/nginx/NginxIndex.vue:186 #: src/views/container/ContainerInfoModal.vue:130 -#: src/views/file/ListView.vue:269 -#: src/views/file/ListView.vue:899 -#: src/views/file/PropertyModal.vue:55 -#: src/views/file/PropertyModal.vue:59 +#: src/views/file/ListView.vue:269 src/views/file/ListView.vue:899 +#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 #: src/views/toolbox/WebHookView.vue:85 msgid "Yes" msgstr "是" @@ -2381,10 +2114,8 @@ msgstr "是" #: src/views/apps/grafana/GrafanaDataSourcesView.vue:95 #: src/views/apps/nginx/NginxIndex.vue:186 #: src/views/container/ContainerInfoModal.vue:130 -#: src/views/file/ListView.vue:270 -#: src/views/file/ListView.vue:900 -#: src/views/file/PropertyModal.vue:55 -#: src/views/file/PropertyModal.vue:59 +#: src/views/file/ListView.vue:270 src/views/file/ListView.vue:900 +#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 #: src/views/toolbox/WebHookView.vue:85 msgid "No" msgstr "否" @@ -2402,15 +2133,12 @@ msgstr "编排内容" msgid "Starting Compose" msgstr "正在启动编排" -#: src/views/app/TemplateView.vue:142 -#: src/views/backup/StorageView.vue:78 -#: src/views/ssh/IndexView.vue:82 -#: src/views/ssh/IndexView.vue:88 +#: src/views/app/TemplateView.vue:142 src/views/backup/StorageView.vue:78 +#: src/views/ssh/IndexView.vue:82 src/views/ssh/IndexView.vue:88 msgid "Local" msgstr "本地" -#: src/views/app/TemplateView.vue:152 -#: src/views/cert/CertView.vue:285 +#: src/views/app/TemplateView.vue:152 src/views/cert/CertView.vue:309 msgid "Deploy" msgstr "部署" @@ -2448,8 +2176,7 @@ msgstr "自定义编译参数" #: src/views/apps/prometheus/IndexView.vue:44 #: src/views/apps/redis/IndexView.vue:33 #: src/views/apps/rocketmq/IndexView.vue:33 -#: src/views/apps/valkey/IndexView.vue:33 -#: src/views/environment/PHPView.vue:115 +#: src/views/apps/valkey/IndexView.vue:33 src/views/environment/PHPView.vue:115 msgid "Property" msgstr "属性" @@ -2467,8 +2194,7 @@ msgstr "属性" #: src/views/apps/prometheus/IndexView.vue:51 #: src/views/apps/redis/IndexView.vue:40 #: src/views/apps/rocketmq/IndexView.vue:40 -#: src/views/apps/valkey/IndexView.vue:40 -#: src/views/environment/PHPView.vue:122 +#: src/views/apps/valkey/IndexView.vue:40 src/views/environment/PHPView.vue:122 msgid "Current Value" msgstr "当前值" @@ -2482,23 +2208,17 @@ msgstr "当前值" #: src/views/apps/supervisor/IndexView.vue:213 #: src/views/apps/supervisor/IndexView.vue:269 #: src/views/database/RedisDataView.vue:252 -#: src/views/environment/PHPView.vue:162 -#: src/views/environment/PHPView.vue:169 -#: src/views/firewall/ScanView.vue:336 -#: src/views/monitor/AlertView.vue:180 -#: src/views/monitor/SettingView.vue:49 -#: src/views/tamper/TamperView.vue:216 -#: src/views/task/CronView.vue:23 -#: src/views/task/TaskView.vue:21 -#: src/views/website/EditModal.vue:333 -#: src/views/website/StatsView.vue:93 +#: src/views/environment/PHPView.vue:162 src/views/environment/PHPView.vue:169 +#: src/views/firewall/ScanView.vue:336 src/views/monitor/AlertView.vue:180 +#: src/views/monitor/SettingView.vue:49 src/views/tamper/TamperView.vue:216 +#: src/views/task/CronView.vue:23 src/views/task/TaskView.vue:21 +#: src/views/website/EditModal.vue:333 src/views/website/StatsView.vue:93 msgid "Cleared successfully" msgstr "清除成功" #: src/views/apps/apache/IndexView.vue:74 #: src/views/apps/codeserver/IndexView.vue:40 -#: src/views/apps/frp/IndexView.vue:88 -#: src/views/apps/frp/IndexView.vue:121 +#: src/views/apps/frp/IndexView.vue:88 src/views/apps/frp/IndexView.vue:121 #: src/views/apps/gitea/IndexView.vue:38 #: src/views/apps/mysql/MysqlIndex.vue:150 #: src/views/apps/nginx/NginxIndex.vue:501 @@ -2508,8 +2228,11 @@ msgstr "修改配置" #: src/views/apps/apache/IndexView.vue:78 #: src/views/apps/nginx/NginxIndex.vue:505 -msgid "This modifies the %{name} main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 %{name} 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the %{name} main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 %{name} 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" #: src/views/apps/apache/IndexView.vue:97 #: src/views/apps/clickhouse/IndexView.vue:146 @@ -2525,8 +2248,7 @@ msgstr "这将修改 %{name} 主配置文件。如果您不了解每个参数的 #: src/views/apps/prometheus/IndexView.vue:147 #: src/views/apps/redis/IndexView.vue:90 #: src/views/apps/rocketmq/IndexView.vue:93 -#: src/views/apps/valkey/IndexView.vue:90 -#: src/views/environment/PHPView.vue:259 +#: src/views/apps/valkey/IndexView.vue:90 src/views/environment/PHPView.vue:259 #: src/views/home/IndexView.vue:587 msgid "Load Status" msgstr "负载状态" @@ -2568,10 +2290,8 @@ msgstr "错误日志" #: src/views/apps/mongodb/MongoDBConfigTuneView.vue:88 #: src/views/container/ContainerCreate.vue:329 #: src/views/container/ContainerInfoModal.vue:132 -#: src/views/home/IndexView.vue:188 -#: src/views/home/IndexView.vue:967 -#: src/views/monitor/SystemView.vue:914 -#: src/views/toolbox/IndexView.vue:28 +#: src/views/home/IndexView.vue:188 src/views/home/IndexView.vue:967 +#: src/views/monitor/SystemView.vue:914 src/views/toolbox/IndexView.vue:28 msgid "Network" msgstr "网络" @@ -2641,20 +2361,13 @@ msgstr "日志级别(logger.level)" #: src/views/database/ServerList.vue:275 #: src/views/database/UpdateServerModal.vue:27 #: src/views/database/UpdateUserModal.vue:23 -#: src/views/database/UserList.vue:191 -#: src/views/file/PermissionModal.vue:57 -#: src/views/firewall/RuleView.vue:29 -#: src/views/setting/SettingUser.vue:161 -#: src/views/setting/SettingUser.vue:167 -#: src/views/task/CreateModal.vue:121 -#: src/views/task/CronView.vue:189 -#: src/views/task/CronView.vue:259 -#: src/views/toolbox/WebHookView.vue:200 -#: src/views/toolbox/WebHookView.vue:278 -#: src/views/website/ListView.vue:360 -#: src/views/website/ListView.vue:366 -#: src/views/website/SettingView.vue:47 -#: src/views/website/SettingView.vue:58 +#: src/views/database/UserList.vue:191 src/views/file/PermissionModal.vue:57 +#: src/views/firewall/RuleView.vue:29 src/views/setting/SettingUser.vue:161 +#: src/views/setting/SettingUser.vue:167 src/views/task/CreateModal.vue:121 +#: src/views/task/CronView.vue:189 src/views/task/CronView.vue:259 +#: src/views/toolbox/WebHookView.vue:200 src/views/toolbox/WebHookView.vue:278 +#: src/views/website/ListView.vue:360 src/views/website/ListView.vue:366 +#: src/views/website/SettingView.vue:47 src/views/website/SettingView.vue:58 #: src/views/website/SettingView.vue:89 msgid "Modified successfully" msgstr "修改成功" @@ -2664,19 +2377,18 @@ msgid "Default User Password" msgstr "默认用户密码" #: src/views/apps/clickhouse/IndexView.vue:92 -msgid "The ClickHouse default user password is used to access the database. Keep it safe!" +msgid "" +"The ClickHouse default user password is used to access the database. Keep it " +"safe!" msgstr "ClickHouse 默认用户密码用于访问数据库。请妥善保管!" #: src/views/apps/clickhouse/IndexView.vue:105 #: src/views/apps/mongodb/IndexView.vue:101 #: src/views/apps/mysql/MysqlIndex.vue:134 #: src/views/apps/postgresql/IndexView.vue:172 -#: src/views/database/ServerList.vue:106 -#: src/views/database/UserList.vue:56 -#: src/views/file/ListView.vue:374 -#: src/views/file/ListView.vue:408 -#: src/views/file/ListView.vue:1004 -#: src/views/file/ToolBar.vue:187 +#: src/views/database/ServerList.vue:106 src/views/database/UserList.vue:56 +#: src/views/file/ListView.vue:374 src/views/file/ListView.vue:408 +#: src/views/file/ListView.vue:1004 src/views/file/ToolBar.vue:187 msgid "Copy" msgstr "复制" @@ -2692,14 +2404,16 @@ msgstr "复制" #: src/views/apps/rocketmq/IndexView.vue:68 #: src/views/apps/rsync/IndexView.vue:225 #: src/views/apps/supervisor/IndexView.vue:339 -#: src/views/apps/valkey/IndexView.vue:65 -#: src/views/environment/PHPView.vue:223 +#: src/views/apps/valkey/IndexView.vue:65 src/views/environment/PHPView.vue:223 msgid "Main Configuration" msgstr "主配置" #: src/views/apps/clickhouse/IndexView.vue:125 -msgid "This modifies the ClickHouse configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 ClickHouse 配置文件。如果您不理解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the ClickHouse configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 ClickHouse 配置文件。如果您不理解每个参数的含义,请不要随意修改!" #: src/views/apps/clickhouse/IndexView.vue:143 #: src/views/apps/elasticsearch/IndexView.vue:87 @@ -2715,14 +2429,16 @@ msgstr "这将修改 ClickHouse 配置文件。如果您不理解每个参数的 #: src/views/apps/pureftpd/IndexView.vue:215 #: src/views/apps/redis/IndexView.vue:87 #: src/views/apps/rocketmq/IndexView.vue:90 -#: src/views/apps/valkey/IndexView.vue:87 -#: src/views/environment/PHPView.vue:220 +#: src/views/apps/valkey/IndexView.vue:87 src/views/environment/PHPView.vue:220 msgid "Parameter Tuning" msgstr "参数调优" #: src/views/apps/codeserver/IndexView.vue:44 -msgid "This modifies the Code Server configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 Code Server 配置文件。如果您不理解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the Code Server configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 Code Server 配置文件。如果您不理解每个参数的含义,请不要随意修改!" #: src/views/apps/docker/IndexView.vue:63 #: src/views/apps/docker/IndexView.vue:70 @@ -2746,8 +2462,7 @@ msgstr "中国 - 腾讯(仅内网)" #: src/views/apps/docker/IndexView.vue:194 #: src/views/container/ContainerCreate.vue:309 -#: src/views/project/EditModal.vue:182 -#: src/views/website/EditModal.vue:979 +#: src/views/project/EditModal.vue:182 src/views/website/EditModal.vue:979 msgid "Basic Settings" msgstr "基本设置" @@ -2755,13 +2470,14 @@ msgstr "基本设置" msgid "Registry Mirrors" msgstr "注册表镜像" -#: src/views/apps/docker/IndexView.vue:203 -#: src/views/website/EditModal.vue:1801 +#: src/views/apps/docker/IndexView.vue:203 src/views/website/EditModal.vue:1801 msgid "Presets" msgstr "预设" #: src/views/apps/docker/IndexView.vue:226 -msgid "Configure registry mirrors to speed up image downloads. Domestic users can configure domestic mirrors." +msgid "" +"Configure registry mirrors to speed up image downloads. Domestic users can " +"configure domestic mirrors." msgstr "配置注册表镜像以加快镜像下载。国内用户可以配置国内镜像。" #: src/views/apps/docker/IndexView.vue:235 @@ -2772,8 +2488,7 @@ msgstr "输入镜像地址,例如 https://registry.example.com" #: src/views/apps/docker/IndexView.vue:392 #: src/views/apps/docker/IndexView.vue:420 #: src/views/apps/docker/IndexView.vue:445 -#: src/views/apps/nginx/NginxIndex.vue:743 -#: src/views/toolbox/SystemView.vue:307 +#: src/views/apps/nginx/NginxIndex.vue:743 src/views/toolbox/SystemView.vue:307 msgid "Add" msgstr "添加" @@ -2782,8 +2497,12 @@ msgid "Log Configuration" msgstr "日志配置" #: src/views/apps/docker/IndexView.vue:253 -msgid "Configure log driver and rotation settings. Setting max-size and max-file can prevent log files from growing indefinitely." -msgstr "配置日志驱动程序和轮转设置。设置 max-size 和 max-file 可以防止日志文件无限增长。" +msgid "" +"Configure log driver and rotation settings. Setting max-size and max-file " +"can prevent log files from growing indefinitely." +msgstr "" +"配置日志驱动程序和轮转设置。设置 max-size 和 max-file 可以防止日志文件无限增" +"长。" #: src/views/apps/docker/IndexView.vue:259 msgid "Log Driver" @@ -2856,7 +2575,9 @@ msgid "Firewall Configuration" msgstr "防火墙配置" #: src/views/apps/docker/IndexView.vue:347 -msgid "Configure Docker firewall backend. nftables is experimental and does not support Swarm mode." +msgid "" +"Configure Docker firewall backend. nftables is experimental and does not " +"support Swarm mode." msgstr "配置 Docker 防火墙后端。nftables 是实验性的,不支持 Swarm 模式。" #: src/views/apps/docker/IndexView.vue:353 @@ -2920,8 +2641,12 @@ msgid "Insecure Registries" msgstr "不安全的注册表" #: src/views/apps/docker/IndexView.vue:433 -msgid "Insecure registries allow Docker to communicate with registries using HTTP or self-signed certificates. Use with caution." -msgstr "不安全的注册表允许 Docker 使用 HTTP 或自签名证书与注册表进行通信。请谨慎使用。" +msgid "" +"Insecure registries allow Docker to communicate with registries using HTTP " +"or self-signed certificates. Use with caution." +msgstr "" +"不安全的注册表允许 Docker 使用 HTTP 或自签名证书与注册表进行通信。请谨慎使" +"用。" #: src/views/apps/docker/IndexView.vue:441 msgid "e.g., 192.168.1.100:5000" @@ -2976,7 +2701,9 @@ msgstr "路径和 JVM" #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:106 #: src/views/apps/opensearch/OpenSearchConfigTuneView.vue:106 -msgid "Data paths and JVM heap memory settings. Heap size is recommended to be 50% of system RAM, max 31g." +msgid "" +"Data paths and JVM heap memory settings. Heap size is recommended to be 50% " +"of system RAM, max 31g." msgstr "数据路径和 JVM 堆内存设置。建议堆大小为系统 RAM 的 50%,最大 31g。" #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:112 @@ -3006,8 +2733,12 @@ msgid "Max Heap Size (-Xmx)" msgstr "最大堆大小(-Xmx)" #: src/views/apps/elasticsearch/IndexView.vue:69 -msgid "This modifies the ElasticSearch main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 ElasticSearch 主配置文件。如果您不理解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the ElasticSearch main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 ElasticSearch 主配置文件。如果您不理解每个参数的含义,请不要随意修" +"改!" #: src/views/apps/fail2ban/IndexView.vue:59 #: src/views/apps/fail2ban/IndexView.vue:356 @@ -3024,8 +2755,7 @@ msgstr "封禁时间" msgid "Find Time" msgstr "查找时间" -#: src/views/apps/fail2ban/IndexView.vue:80 -#: src/views/cert/CertView.vue:319 +#: src/views/apps/fail2ban/IndexView.vue:80 src/views/cert/CertView.vue:343 #: src/views/database/ElasticsearchDataView.vue:186 #: src/views/database/RedisDataView.vue:141 msgid "View" @@ -3046,8 +2776,7 @@ msgstr "解封" #: src/views/apps/fail2ban/IndexView.vue:179 #: src/views/apps/pureftpd/IndexView.vue:130 -#: src/views/apps/rsync/IndexView.vue:149 -#: src/views/apps/s3fs/IndexView.vue:77 +#: src/views/apps/rsync/IndexView.vue:149 src/views/apps/s3fs/IndexView.vue:77 #: src/views/apps/supervisor/IndexView.vue:226 #: src/views/database/CreateServerModal.vue:79 msgid "Added successfully" @@ -3081,38 +2810,39 @@ msgstr "规则列表" #: src/views/apps/fail2ban/IndexView.vue:275 #: src/views/apps/fail2ban/IndexView.vue:285 #: src/views/apps/fail2ban/IndexView.vue:289 -#: src/views/monitor/AlertRuleModal.vue:129 -#: src/views/monitor/AlertView.vue:202 -#: src/views/tamper/RuleModal.vue:89 -#: src/views/tamper/TamperView.vue:342 +#: src/views/monitor/AlertRuleModal.vue:129 src/views/monitor/AlertView.vue:202 +#: src/views/tamper/RuleModal.vue:89 src/views/tamper/TamperView.vue:342 msgid "Add Rule" msgstr "添加规则" #: src/views/apps/fail2ban/IndexView.vue:295 -msgid "If an IP exceeds the maximum retries within the find time (seconds), it will be banned for the ban time (seconds)" -msgstr "如果一个 IP 在查找时间(秒)内超过最大重试次数,它将被禁止访问指定的禁止时间(秒)" +msgid "" +"If an IP exceeds the maximum retries within the find time (seconds), it will " +"be banned for the ban time (seconds)" +msgstr "" +"如果一个 IP 在查找时间(秒)内超过最大重试次数,它将被禁止访问指定的禁止时间" +"(秒)" #: src/views/apps/fail2ban/IndexView.vue:302 -msgid "Protected ports are automatically obtained. If you modify the port corresponding to a rule, please delete and re-add the rule, otherwise protection may not be effective" -msgstr "受保护的端口会自动获取。如果您修改了某个规则对应的端口,请删除并重新添加该规则,否则保护可能无效" +msgid "" +"Protected ports are automatically obtained. If you modify the port " +"corresponding to a rule, please delete and re-add the rule, otherwise " +"protection may not be effective" +msgstr "" +"受保护的端口会自动获取。如果您修改了某个规则对应的端口,请删除并重新添加该规" +"则,否则保护可能无效" #: src/views/apps/fail2ban/IndexView.vue:309 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:78 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:209 -#: src/views/backup/StorageView.vue:73 -#: src/views/backup/StorageView.vue:233 -#: src/views/backup/StorageView.vue:395 -#: src/views/cert/CertView.vue:169 -#: src/views/cert/DnsView.vue:43 -#: src/views/container/ContainerInfoModal.vue:156 +#: src/views/backup/StorageView.vue:73 src/views/backup/StorageView.vue:233 +#: src/views/backup/StorageView.vue:395 src/views/cert/CertView.vue:169 +#: src/views/cert/DnsView.vue:43 src/views/container/ContainerInfoModal.vue:156 #: src/views/database/CreateServerModal.vue:100 #: src/views/database/RedisDataView.vue:94 -#: src/views/database/RedisKeyModal.vue:99 -#: src/views/file/PropertyModal.vue:33 -#: src/views/log/OperationLog.vue:74 -#: src/views/monitor/ChannelModal.vue:93 -#: src/views/monitor/SettingView.vue:104 -#: src/views/project/ListView.vue:51 +#: src/views/database/RedisKeyModal.vue:99 src/views/file/PropertyModal.vue:33 +#: src/views/log/OperationLog.vue:74 src/views/monitor/ChannelModal.vue:93 +#: src/views/monitor/SettingView.vue:104 src/views/project/ListView.vue:51 #: src/views/toolbox/MigrationView.vue:126 #: src/views/toolbox/MigrationView.vue:202 #: src/views/toolbox/network/InterfaceView.vue:154 @@ -3126,8 +2856,7 @@ msgid "Service" msgstr "服务" #: src/views/apps/fail2ban/IndexView.vue:319 -#: src/views/apps/fail2ban/IndexView.vue:323 -#: src/views/task/CreateModal.vue:479 +#: src/views/apps/fail2ban/IndexView.vue:323 src/views/task/CreateModal.vue:479 #: src/views/task/CreateModal.vue:485 msgid "Select Website" msgstr "选择网站" @@ -3139,14 +2868,10 @@ msgstr "保护模式" #: src/views/apps/fail2ban/IndexView.vue:331 #: src/views/apps/pureftpd/IndexView.vue:46 -#: src/views/backup/StorageView.vue:277 -#: src/views/backup/StorageView.vue:331 -#: src/views/backup/StorageView.vue:361 -#: src/views/backup/StorageView.vue:433 -#: src/views/backup/StorageView.vue:487 -#: src/views/backup/StorageView.vue:514 -#: src/views/log/HttpLog.vue:85 -#: src/views/tamper/TamperView.vue:204 +#: src/views/backup/StorageView.vue:277 src/views/backup/StorageView.vue:331 +#: src/views/backup/StorageView.vue:361 src/views/backup/StorageView.vue:433 +#: src/views/backup/StorageView.vue:487 src/views/backup/StorageView.vue:514 +#: src/views/log/HttpLog.vue:85 src/views/tamper/TamperView.vue:204 msgid "Path" msgstr "路径" @@ -3176,55 +2901,42 @@ msgstr "总封禁次数" msgid "Ban List" msgstr "封禁列表" -#: src/views/apps/frp/IndexView.vue:68 -#: src/views/apps/frp/IndexView.vue:101 -#: src/views/project/CreateModal.vue:622 -#: src/views/project/EditModal.vue:237 +#: src/views/apps/frp/IndexView.vue:68 src/views/apps/frp/IndexView.vue:101 +#: src/views/project/CreateModal.vue:622 src/views/project/EditModal.vue:237 msgid "Run User" msgstr "运行用户" -#: src/views/apps/frp/IndexView.vue:80 -#: src/views/apps/frp/IndexView.vue:81 -#: src/views/apps/frp/IndexView.vue:113 -#: src/views/apps/frp/IndexView.vue:114 +#: src/views/apps/frp/IndexView.vue:80 src/views/apps/frp/IndexView.vue:81 +#: src/views/apps/frp/IndexView.vue:113 src/views/apps/frp/IndexView.vue:114 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:225 -#: src/views/apps/rsync/IndexView.vue:57 -#: src/views/apps/rsync/IndexView.vue:279 -#: src/views/apps/rsync/IndexView.vue:340 -#: src/views/database/IndexView.vue:131 -#: src/views/home/IndexView.vue:673 -#: src/views/home/IndexView.vue:774 -#: src/views/log/SSHLog.vue:73 -#: src/views/monitor/SystemView.vue:323 -#: src/views/monitor/SystemView.vue:335 -#: src/views/setting/IndexView.vue:149 -#: src/views/toolbox/ProcessView.vue:128 -#: src/views/toolbox/ProcessView.vue:396 -#: src/views/toolbox/WebHookView.vue:333 -#: src/views/toolbox/WebHookView.vue:374 +#: src/views/apps/rsync/IndexView.vue:57 src/views/apps/rsync/IndexView.vue:279 +#: src/views/apps/rsync/IndexView.vue:340 src/views/database/IndexView.vue:131 +#: src/views/home/IndexView.vue:673 src/views/home/IndexView.vue:774 +#: src/views/log/SSHLog.vue:73 src/views/monitor/SystemView.vue:323 +#: src/views/monitor/SystemView.vue:335 src/views/setting/IndexView.vue:149 +#: src/views/toolbox/ProcessView.vue:128 src/views/toolbox/ProcessView.vue:396 +#: src/views/toolbox/WebHookView.vue:333 src/views/toolbox/WebHookView.vue:374 msgid "User" msgstr "用户" -#: src/views/apps/frp/IndexView.vue:83 -#: src/views/apps/frp/IndexView.vue:84 -#: src/views/apps/frp/IndexView.vue:116 -#: src/views/apps/frp/IndexView.vue:117 +#: src/views/apps/frp/IndexView.vue:83 src/views/apps/frp/IndexView.vue:84 +#: src/views/apps/frp/IndexView.vue:116 src/views/apps/frp/IndexView.vue:117 #: src/views/file/PermissionModal.vue:128 -#: src/views/file/PermissionModal.vue:152 -#: src/views/file/PropertyModal.vue:48 +#: src/views/file/PermissionModal.vue:152 src/views/file/PropertyModal.vue:48 msgid "Group" msgstr "组" #: src/views/apps/gitea/IndexView.vue:42 -msgid "This modifies the Gitea configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" +msgid "" +"This modifies the Gitea configuration file. If you do not understand the " +"meaning of each parameter, please do not modify it randomly!" msgstr "这将修改 Gitea 配置文件。如果您不理解每个参数的含义,请不要随意修改!" #: src/views/apps/grafana/GrafanaConfigTuneView.vue:149 #: src/views/apps/nginx/NginxIndex.vue:529 #: src/views/database/CreateDatabaseModal.vue:86 #: src/views/database/CreateUserModal.vue:104 -#: src/views/database/DatabaseList.vue:28 -#: src/views/database/IndexView.vue:132 +#: src/views/database/DatabaseList.vue:28 src/views/database/IndexView.vue:132 #: src/views/database/UserList.vue:73 msgid "Server" msgstr "服务器" @@ -3374,19 +3086,13 @@ msgstr "浏览器(直连)" #: src/views/apps/grafana/GrafanaDataSourcesView.vue:111 #: src/views/apps/nginx/NginxIndex.vue:202 -#: src/views/apps/nginx/NginxIndex.vue:266 -#: src/views/backup/StorageView.vue:111 +#: src/views/apps/nginx/NginxIndex.vue:266 src/views/backup/StorageView.vue:111 #: src/views/container/ComposeView.vue:123 -#: src/views/container/ContainerView.vue:177 -#: src/views/file/ListView.vue:399 -#: src/views/file/ListView.vue:1666 -#: src/views/monitor/AlertView.vue:110 -#: src/views/monitor/SettingView.vue:143 -#: src/views/project/ListView.vue:177 -#: src/views/ssh/IndexView.vue:613 -#: src/views/tamper/TamperView.vue:148 -#: src/views/task/CronView.vue:155 -#: src/views/toolbox/WebHookView.vue:158 +#: src/views/container/ContainerView.vue:177 src/views/file/ListView.vue:399 +#: src/views/file/ListView.vue:1666 src/views/monitor/AlertView.vue:110 +#: src/views/monitor/SettingView.vue:143 src/views/project/ListView.vue:177 +#: src/views/ssh/IndexView.vue:613 src/views/tamper/TamperView.vue:148 +#: src/views/task/CronView.vue:155 src/views/toolbox/WebHookView.vue:158 #: src/views/website/ListView.vue:259 msgid "Edit" msgstr "编辑" @@ -3416,28 +3122,20 @@ msgstr "访问" #: src/views/apps/pureftpd/IndexView.vue:239 #: src/views/apps/pureftpd/IndexView.vue:278 #: src/views/apps/rsync/IndexView.vue:287 -#: src/views/apps/rsync/IndexView.vue:348 -#: src/views/backup/StorageView.vue:35 -#: src/views/backup/StorageView.vue:309 -#: src/views/backup/StorageView.vue:353 -#: src/views/backup/StorageView.vue:465 -#: src/views/backup/StorageView.vue:506 +#: src/views/apps/rsync/IndexView.vue:348 src/views/backup/StorageView.vue:35 +#: src/views/backup/StorageView.vue:309 src/views/backup/StorageView.vue:353 +#: src/views/backup/StorageView.vue:465 src/views/backup/StorageView.vue:506 #: src/views/container/ImageView.vue:419 #: src/views/database/CreateDatabaseModal.vue:125 #: src/views/database/CreateServerModal.vue:179 #: src/views/database/CreateUserModal.vue:120 #: src/views/database/ServerList.vue:82 #: src/views/database/UpdateServerModal.vue:105 -#: src/views/database/UpdateUserModal.vue:63 -#: src/views/database/UserList.vue:32 -#: src/views/login/IndexView.vue:261 -#: src/views/monitor/ChannelModal.vue:119 -#: src/views/setting/CreateModal.vue:53 -#: src/views/setting/PasswordModal.vue:42 -#: src/views/ssh/CreateModal.vue:80 -#: src/views/ssh/CreateModal.vue:89 -#: src/views/ssh/UpdateModal.vue:86 -#: src/views/ssh/UpdateModal.vue:95 +#: src/views/database/UpdateUserModal.vue:63 src/views/database/UserList.vue:32 +#: src/views/login/IndexView.vue:261 src/views/monitor/ChannelModal.vue:119 +#: src/views/setting/CreateModal.vue:53 src/views/setting/PasswordModal.vue:42 +#: src/views/ssh/CreateModal.vue:80 src/views/ssh/CreateModal.vue:89 +#: src/views/ssh/UpdateModal.vue:86 src/views/ssh/UpdateModal.vue:95 #: src/views/website/EditModal.vue:2099 msgid "Password" msgstr "密码" @@ -3455,20 +3153,30 @@ msgid "Import dashboards in Grafana via Dashboard ID:" msgstr "通过 Dashboard ID 在 Grafana 中导入仪表盘:" #: src/views/apps/grafana/IndexView.vue:83 -msgid "Go to Grafana → Dashboards → New → Import, enter the ID above and select the Prometheus data source." -msgstr "前往 Grafana → Dashboards → New → Import,输入上方 ID 并选择 Prometheus 数据源。" +msgid "" +"Go to Grafana → Dashboards → New → Import, enter the ID above and select the " +"Prometheus data source." +msgstr "" +"前往 Grafana → Dashboards → New → Import,输入上方 ID 并选择 Prometheus 数据" +"源。" #: src/views/apps/grafana/IndexView.vue:96 -msgid "This modifies the Grafana main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 Grafana 主配置文件。如果您不理解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the Grafana main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 Grafana 主配置文件。如果您不理解每个参数的含义,请不要随意修改!" #: src/views/apps/grafana/IndexView.vue:117 msgid "Data Sources" msgstr "数据源" #: src/views/apps/kafka/IndexView.vue:69 -msgid "This modifies the Kafka main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 Kafka 主配置文件。如果您不理解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the Kafka main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 Kafka 主配置文件。如果您不理解每个参数的含义,请不要随意修改!" #: src/views/apps/kafka/KafkaConfigTuneView.vue:60 #: src/views/apps/rocketmq/RocketMQConfigTuneView.vue:83 @@ -3575,25 +3283,33 @@ msgid "e.g. 4" msgstr "例如 4" #: src/views/apps/minio/IndexView.vue:42 -msgid "This is modifying the MinIO environment variable file /etc/default/minio. If you do not understand the meaning of each parameter, please do not modify it arbitrarily!" -msgstr "这将修改 MinIO 环境变量文件 /etc/default/minio。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This is modifying the MinIO environment variable file /etc/default/minio. If " +"you do not understand the meaning of each parameter, please do not modify it " +"arbitrarily!" +msgstr "" +"这将修改 MinIO 环境变量文件 /etc/default/minio。如果您不了解每个参数的含义," +"请不要随意修改!" #: src/views/apps/mongodb/IndexView.vue:88 msgid "Admin Password" msgstr "管理员密码" #: src/views/apps/mongodb/IndexView.vue:92 -msgid "The MongoDB admin password is used to manage the database. Keep it safe!" +msgid "" +"The MongoDB admin password is used to manage the database. Keep it safe!" msgstr "MongoDB 管理员密码用于管理数据库。请妥善保管!" #: src/views/apps/mongodb/IndexView.vue:121 -msgid "This modifies the MongoDB configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 MongoDB 配置文件。如果您不理解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the MongoDB configuration file. If you do not understand the " +"meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 MongoDB 配置文件。如果您不理解每个参数的含义,请不要随意修改!" #: src/views/apps/mongodb/MongoDBConfigTuneView.vue:59 #: src/views/apps/rocketmq/RocketMQConfigTuneView.vue:117 -#: src/views/backup/IndexView.vue:59 -#: src/views/task/CreateModal.vue:538 +#: src/views/backup/IndexView.vue:59 src/views/task/CreateModal.vue:538 msgid "Storage" msgstr "存储" @@ -3634,8 +3350,7 @@ msgstr "系统日志路径(systemLog.path)" #: src/views/apps/redis/RedisConfigTuneView.vue:119 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:113 #: src/views/environment/PhpConfigTuneView.vue:248 -#: src/views/project/IndexView.vue:22 -#: src/views/project/ListView.vue:25 +#: src/views/project/IndexView.vue:22 src/views/project/ListView.vue:25 msgid "General" msgstr "通用" @@ -3846,12 +3561,17 @@ msgid "Root Password" msgstr "Root 密码" #: src/views/apps/mysql/MysqlIndex.vue:125 -msgid "The \"root\" user password is used to manage the database system. Keep it safe!" +msgid "" +"The \"root\" user password is used to manage the database system. Keep it " +"safe!" msgstr "\"root\" 用户密码用于管理数据库系统。请妥善保管!" #: src/views/apps/mysql/MysqlIndex.vue:154 -msgid "This modifies the %{ name } main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 %{ name } 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the %{ name } main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 %{ name } 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" #: src/views/apps/mysql/MysqlIndex.vue:201 msgid "Slow Query Log" @@ -3927,7 +3647,9 @@ msgid "Server Tokens (server_tokens)" msgstr "服务器标识(server_tokens)" #: src/views/apps/nginx/NginxConfigTuneView.vue:281 -msgid "Gzip compression settings. Gzip is the most widely supported compression method." +msgid "" +"Gzip compression settings. Gzip is the most widely supported compression " +"method." msgstr "Gzip 压缩设置。Gzip 是支持最广泛的压缩方法。" #: src/views/apps/nginx/NginxConfigTuneView.vue:287 @@ -3965,7 +3687,9 @@ msgid "e.g. any" msgstr "例如 any" #: src/views/apps/nginx/NginxConfigTuneView.vue:331 -msgid "Brotli compression settings. Brotli provides better compression ratio than Gzip." +msgid "" +"Brotli compression settings. Brotli provides better compression ratio than " +"Gzip." msgstr "Brotli 压缩设置。Brotli 提供比 Gzip 更好的压缩率。" #: src/views/apps/nginx/NginxConfigTuneView.vue:337 @@ -3989,7 +3713,8 @@ msgid "Static (brotli_static)" msgstr "静态(brotli_static)" #: src/views/apps/nginx/NginxConfigTuneView.vue:382 -msgid "Zstd compression settings. Zstd provides fast compression with high ratio." +msgid "" +"Zstd compression settings. Zstd provides fast compression with high ratio." msgstr "Zstd 压缩设置。Zstd 提供快速压缩和高压缩率。" #: src/views/apps/nginx/NginxConfigTuneView.vue:386 @@ -4016,15 +3741,13 @@ msgstr "静态(zstd_static)" msgid "Listen" msgstr "监听" -#: src/views/apps/nginx/NginxIndex.vue:167 -#: src/views/firewall/ScanView.vue:301 +#: src/views/apps/nginx/NginxIndex.vue:167 src/views/firewall/ScanView.vue:301 #: src/views/firewall/ScanView.vue:317 msgid "Protocol" msgstr "协议" #: src/views/apps/nginx/NginxIndex.vue:175 -#: src/views/apps/nginx/NginxIndex.vue:635 -#: src/views/website/EditModal.vue:1176 +#: src/views/apps/nginx/NginxIndex.vue:635 src/views/website/EditModal.vue:1176 msgid "Proxy Pass" msgstr "代理目标" @@ -4075,18 +3798,15 @@ msgstr "Stream" #: src/views/apps/nginx/NginxIndex.vue:533 #: src/views/database/CreateServerModal.vue:92 -#: src/views/database/IndexView.vue:189 -#: src/views/website/EditModal.vue:1113 +#: src/views/database/IndexView.vue:189 src/views/website/EditModal.vue:1113 msgid "Add Server" msgstr "添加服务器" -#: src/views/apps/nginx/NginxIndex.vue:546 -#: src/views/website/EditModal.vue:1032 +#: src/views/apps/nginx/NginxIndex.vue:546 src/views/website/EditModal.vue:1032 msgid "Upstream" msgstr "上游" -#: src/views/apps/nginx/NginxIndex.vue:550 -#: src/views/website/EditModal.vue:1129 +#: src/views/apps/nginx/NginxIndex.vue:550 src/views/website/EditModal.vue:1129 msgid "Add Upstream" msgstr "添加上游" @@ -4143,8 +3863,7 @@ msgstr "SSL 私钥路径" msgid "e.g. /path/to/key.pem" msgstr "例如 /path/to/key.pem" -#: src/views/apps/nginx/NginxIndex.vue:713 -#: src/views/website/EditModal.vue:1043 +#: src/views/apps/nginx/NginxIndex.vue:713 src/views/website/EditModal.vue:1043 msgid "Load Balancing Algorithm" msgstr "负载均衡算法" @@ -4166,8 +3885,7 @@ msgstr "地址" #: src/views/apps/nginx/NginxIndex.vue:750 #: src/views/container/NetworkView.vue:331 -#: src/views/container/VolumeView.vue:223 -#: src/views/toolbox/DiskView.vue:606 +#: src/views/container/VolumeView.vue:223 src/views/toolbox/DiskView.vue:606 msgid "Options" msgstr "选项" @@ -4175,27 +3893,27 @@ msgstr "选项" msgid "No servers added yet" msgstr "尚未添加服务器" -#: src/views/apps/nginx/NginxIndex.vue:777 -#: src/views/website/EditModal.vue:1073 +#: src/views/apps/nginx/NginxIndex.vue:777 src/views/website/EditModal.vue:1073 #: src/views/website/EditModal.vue:1210 msgid "DNS Resolver" msgstr "DNS 解析器" -#: src/views/apps/nginx/NginxIndex.vue:780 -#: src/views/website/EditModal.vue:1076 +#: src/views/apps/nginx/NginxIndex.vue:780 src/views/website/EditModal.vue:1076 #: src/views/website/EditModal.vue:1213 msgid "e.g., 8.8.8.8" msgstr "例如 8.8.8.8" -#: src/views/apps/nginx/NginxIndex.vue:786 -#: src/views/website/EditModal.vue:1082 +#: src/views/apps/nginx/NginxIndex.vue:786 src/views/website/EditModal.vue:1082 #: src/views/website/EditModal.vue:1219 msgid "Resolver Timeout" msgstr "解析超时" #: src/views/apps/opensearch/IndexView.vue:69 -msgid "This modifies the OpenSearch main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 OpenSearch 主配置文件。如果您不理解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the OpenSearch main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 OpenSearch 主配置文件。如果您不理解每个参数的含义,请不要随意修改!" #: src/views/apps/opensearch/OpenSearchConfigTuneView.vue:71 msgid "OpenSearch cluster and network settings." @@ -4224,7 +3942,9 @@ msgid "Login Password" msgstr "登录密码" #: src/views/apps/pgadmin/IndexView.vue:95 -msgid "If the password has been changed in pgAdmin, the actual password shall prevail." +msgid "" +"If the password has been changed in pgAdmin, the actual password shall " +"prevail." msgstr "若已在 pgAdmin 中修改过密码,以实际密码为准。" #: src/views/apps/pgadmin/IndexView.vue:102 @@ -4241,7 +3961,9 @@ msgid "Modify Username" msgstr "修改用户名" #: src/views/apps/pgadmin/IndexView.vue:129 -msgid "Modify the login email of the pgAdmin administrator account, server configurations will be migrated automatically" +msgid "" +"Modify the login email of the pgAdmin administrator account, server " +"configurations will be migrated automatically" msgstr "修改 pgAdmin 管理员帐户的登录邮箱,服务器配置将自动迁移" #: src/views/apps/pgadmin/IndexView.vue:134 @@ -4253,8 +3975,7 @@ msgid "New password" msgstr "新密码" #: src/views/apps/pgadmin/IndexView.vue:149 -#: src/views/toolbox/MigrationView.vue:415 -#: src/views/toolbox/SshView.vue:314 +#: src/views/toolbox/MigrationView.vue:415 src/views/toolbox/SshView.vue:314 msgid "Reset" msgstr "重置" @@ -4267,19 +3988,28 @@ msgid "Modify phpMyAdmin access port" msgstr "修改 phpMyAdmin 访问端口" #: src/views/apps/phpmyadmin/IndexView.vue:94 -msgid "This modifies the OpenResty configuration file for phpMyAdmin. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 phpMyAdmin 的 OpenResty 配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the OpenResty configuration file for phpMyAdmin. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 phpMyAdmin 的 OpenResty 配置文件。如果您不了解每个参数的含义,请不要" +"随意修改!" #: src/views/apps/podman/IndexView.vue:55 -msgid "Podman is a daemonless container management tool. Being in a stopped state is normal and does not affect usage!" -msgstr "Podman 是一个无守护进程的容器管理工具。处于停止状态是正常的,不影响使用!" +msgid "" +"Podman is a daemonless container management tool. Being in a stopped state " +"is normal and does not affect usage!" +msgstr "" +"Podman 是一个无守护进程的容器管理工具。处于停止状态是正常的,不影响使用!" #: src/views/apps/podman/IndexView.vue:63 msgid "Registry Configuration" msgstr "注册表配置" #: src/views/apps/podman/IndexView.vue:67 -msgid "This modifies the Podman registry configuration file (/etc/containers/registries.conf)" +msgid "" +"This modifies the Podman registry configuration file (/etc/containers/" +"registries.conf)" msgstr "这会修改 Podman 注册表配置文件 (/etc/containers/registries.conf)" #: src/views/apps/podman/IndexView.vue:85 @@ -4287,7 +4017,9 @@ msgid "Storage Configuration" msgstr "存储配置" #: src/views/apps/podman/IndexView.vue:89 -msgid "This modifies the Podman storage configuration file (/etc/containers/storage.conf)" +msgid "" +"This modifies the Podman storage configuration file (/etc/containers/storage." +"conf)" msgstr "这会修改 Podman 存储配置文件 (/etc/containers/storage.conf)" #: src/views/apps/postgresql/IndexView.vue:155 @@ -4295,20 +4027,29 @@ msgid "Super Password" msgstr "超级密码" #: src/views/apps/postgresql/IndexView.vue:159 -msgid "The \"postgres\" superuser password is used to manage the database system. Keep it safe!" +msgid "" +"The \"postgres\" superuser password is used to manage the database system. " +"Keep it safe!" msgstr "\"postgres\" 超级用户密码用于管理数据库系统。请妥善保管!" #: src/views/apps/postgresql/IndexView.vue:192 -msgid "This modifies the PostgreSQL main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 PostgreSQL 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the PostgreSQL main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 PostgreSQL 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" #: src/views/apps/postgresql/IndexView.vue:213 msgid "User Configuration" msgstr "用户配置" #: src/views/apps/postgresql/IndexView.vue:217 -msgid "This modifies the PostgreSQL user configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 PostgreSQL 用户配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the PostgreSQL user configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 PostgreSQL 用户配置文件。如果您不了解每个参数的含义,请不要随意修" +"改!" #: src/views/apps/postgresql/IndexView.vue:260 msgid "Application Logs" @@ -4346,16 +4087,11 @@ msgstr "例如 3" #: src/views/apps/postgresql/PostgresqlConfigTuneView.vue:226 #: src/views/apps/redis/RedisConfigTuneView.vue:182 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:176 -#: src/views/container/ContainerCreate.vue:542 -#: src/views/home/IndexView.vue:700 -#: src/views/home/IndexView.vue:773 -#: src/views/monitor/SystemView.vue:520 -#: src/views/monitor/SystemView.vue:527 -#: src/views/monitor/SystemView.vue:543 -#: src/views/monitor/SystemView.vue:791 -#: src/views/toolbox/BenchmarkView.vue:178 -#: src/views/toolbox/PanelView.vue:122 -#: src/views/toolbox/ProcessView.vue:152 +#: src/views/container/ContainerCreate.vue:542 src/views/home/IndexView.vue:700 +#: src/views/home/IndexView.vue:773 src/views/monitor/SystemView.vue:520 +#: src/views/monitor/SystemView.vue:527 src/views/monitor/SystemView.vue:543 +#: src/views/monitor/SystemView.vue:791 src/views/toolbox/BenchmarkView.vue:178 +#: src/views/toolbox/PanelView.vue:122 src/views/toolbox/ProcessView.vue:152 msgid "Memory" msgstr "内存" @@ -4485,20 +4221,33 @@ msgid "IO Method (io_method)" msgstr "IO 方法(io_method)" #: src/views/apps/prometheus/IndexView.vue:89 -msgid "By default, the firewall does not allow access to the Prometheus port (9090). If you need external access, please manually open the port in the firewall settings." -msgstr "默认情况下,防火墙不允许访问 Prometheus 端口(9090)。如果您需要外部访问,请在防火墙设置中手动开放该端口。" +msgid "" +"By default, the firewall does not allow access to the Prometheus port " +"(9090). If you need external access, please manually open the port in the " +"firewall settings." +msgstr "" +"默认情况下,防火墙不允许访问 Prometheus 端口(9090)。如果您需要外部访问,请" +"在防火墙设置中手动开放该端口。" #: src/views/apps/prometheus/IndexView.vue:100 -msgid "This modifies the Prometheus main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 Prometheus 主配置文件。如果您不理解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the Prometheus main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 Prometheus 主配置文件。如果您不理解每个参数的含义,请不要随意修改!" #: src/views/apps/prometheus/IndexView.vue:121 msgid "Alertmanager" msgstr "Alertmanager" #: src/views/apps/prometheus/IndexView.vue:126 -msgid "Configure Alertmanager notification channels (email, webhook, Slack, etc). To enable alert rules, uncomment the rule_files section in the main configuration and create rule files in the rules directory." -msgstr "配置 Alertmanager 通知渠道(邮件、webhook、Slack 等)。要启用告警规则,请在主配置中取消注释 rule_files 部分,并在 rules 目录中创建规则文件。" +msgid "" +"Configure Alertmanager notification channels (email, webhook, Slack, etc). " +"To enable alert rules, uncomment the rule_files section in the main " +"configuration and create rule files in the rules directory." +msgstr "" +"配置 Alertmanager 通知渠道(邮件、webhook、Slack 等)。要启用告警规则,请在主" +"配置中取消注释 rule_files 部分,并在 rules 目录中创建规则文件。" #: src/views/apps/prometheus/IndexView.vue:144 msgid "Exporters" @@ -4551,14 +4300,14 @@ msgstr "您确定要卸载 %{ name } 吗?" #: src/views/apps/prometheus/PrometheusExportersView.vue:146 #: src/views/apps/prometheus/PrometheusExportersView.vue:153 #: src/views/container/ContainerCreate.vue:120 -#: src/views/container/ImageView.vue:186 -#: src/views/environment/PHPView.vue:175 +#: src/views/container/ImageView.vue:186 src/views/environment/PHPView.vue:175 #: src/views/environment/PHPView.vue:181 msgid "Task submitted, please check progress in background tasks" msgstr "任务已提交,请在后台任务中查看进度" #: src/views/apps/prometheus/PrometheusExportersView.vue:204 -msgid "Manage Prometheus exporters. Exporters collect metrics from various services." +msgid "" +"Manage Prometheus exporters. Exporters collect metrics from various services." msgstr "管理 Prometheus exporters。Exporters 从各种服务中收集指标。" #: src/views/apps/prometheus/PrometheusExportersView.vue:211 @@ -4571,24 +4320,18 @@ msgstr "修改 exporter 配置将重启 exporter 服务。" #: src/views/apps/pureftpd/IndexView.vue:39 #: src/views/apps/pureftpd/IndexView.vue:231 -#: src/views/backup/StorageView.vue:298 -#: src/views/backup/StorageView.vue:347 -#: src/views/backup/StorageView.vue:454 -#: src/views/backup/StorageView.vue:500 +#: src/views/backup/StorageView.vue:298 src/views/backup/StorageView.vue:347 +#: src/views/backup/StorageView.vue:454 src/views/backup/StorageView.vue:500 #: src/views/container/ImageView.vue:411 #: src/views/database/CreateDatabaseModal.vue:117 #: src/views/database/CreateServerModal.vue:167 #: src/views/database/CreateUserModal.vue:112 #: src/views/database/ServerList.vue:73 #: src/views/database/UpdateServerModal.vue:97 -#: src/views/database/UserList.vue:22 -#: src/views/login/IndexView.vue:252 -#: src/views/monitor/ChannelModal.vue:116 -#: src/views/setting/CreateModal.vue:46 -#: src/views/setting/SettingUser.vue:24 -#: src/views/ssh/CreateModal.vue:86 -#: src/views/ssh/UpdateModal.vue:92 -#: src/views/website/EditModal.vue:2098 +#: src/views/database/UserList.vue:22 src/views/login/IndexView.vue:252 +#: src/views/monitor/ChannelModal.vue:116 src/views/setting/CreateModal.vue:46 +#: src/views/setting/SettingUser.vue:24 src/views/ssh/CreateModal.vue:86 +#: src/views/ssh/UpdateModal.vue:92 src/views/website/EditModal.vue:2098 msgid "Username" msgstr "用户名" @@ -4621,17 +4364,14 @@ msgstr "运行日志" #: src/views/apps/pureftpd/IndexView.vue:227 #: src/views/database/CreateDatabaseModal.vue:102 #: src/views/database/CreateUserModal.vue:90 -#: src/views/database/IndexView.vue:182 -#: src/views/setting/CreateModal.vue:38 +#: src/views/database/IndexView.vue:182 src/views/setting/CreateModal.vue:38 #: src/views/setting/IndexView.vue:155 msgid "Create User" msgstr "创建用户" #: src/views/apps/pureftpd/IndexView.vue:236 -#: src/views/backup/StorageView.vue:301 -#: src/views/backup/StorageView.vue:350 -#: src/views/backup/StorageView.vue:457 -#: src/views/backup/StorageView.vue:503 +#: src/views/backup/StorageView.vue:301 src/views/backup/StorageView.vue:350 +#: src/views/backup/StorageView.vue:457 src/views/backup/StorageView.vue:503 #: src/views/container/ImageView.vue:416 #: src/views/database/CreateDatabaseModal.vue:122 #: src/views/database/CreateUserModal.vue:117 @@ -4644,15 +4384,11 @@ msgid "It is recommended to use the generator to generate a random password" msgstr "建议使用生成器生成随机密码" #: src/views/apps/pureftpd/IndexView.vue:250 -#: src/views/apps/rsync/IndexView.vue:50 -#: src/views/apps/rsync/IndexView.vue:271 +#: src/views/apps/rsync/IndexView.vue:50 src/views/apps/rsync/IndexView.vue:271 #: src/views/apps/rsync/IndexView.vue:332 -#: src/views/container/ComposeView.vue:66 -#: src/views/file/PropertyModal.vue:34 -#: src/views/project/ListView.vue:97 -#: src/views/task/CreateModal.vue:461 -#: src/views/website/CreateModal.vue:305 -#: src/views/website/ListView.vue:148 +#: src/views/container/ComposeView.vue:66 src/views/file/PropertyModal.vue:34 +#: src/views/project/ListView.vue:97 src/views/task/CreateModal.vue:461 +#: src/views/website/CreateModal.vue:305 src/views/website/ListView.vue:148 msgid "Directory" msgstr "目录" @@ -4709,8 +4445,11 @@ msgid "e.g. 99" msgstr "例如 99" #: src/views/apps/redis/IndexView.vue:69 -msgid "This modifies the Redis main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 Redis 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the Redis main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 Redis 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" #: src/views/apps/redis/RedisConfigTuneView.vue:122 msgid "Common Redis general settings." @@ -4795,8 +4534,12 @@ msgid "Append Fsync (appendfsync)" msgstr "追加同步(appendfsync)" #: src/views/apps/rocketmq/IndexView.vue:72 -msgid "This modifies the RocketMQ broker configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 RocketMQ broker 配置文件。如果您不理解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the RocketMQ broker configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 RocketMQ broker 配置文件。如果您不理解每个参数的含义,请不要随意修" +"改!" #: src/views/apps/rocketmq/RocketMQConfigTuneView.vue:86 msgid "RocketMQ broker basic settings." @@ -4846,33 +4589,26 @@ msgstr "JVM" msgid "JVM heap memory settings for NameServer and Broker." msgstr "NameServer 和 Broker 的 JVM 堆内存设置。" -#: src/views/apps/rsync/IndexView.vue:64 -#: src/views/apps/rsync/IndexView.vue:295 -#: src/views/apps/rsync/IndexView.vue:357 -#: src/views/backup/StorageView.vue:287 +#: src/views/apps/rsync/IndexView.vue:64 src/views/apps/rsync/IndexView.vue:295 +#: src/views/apps/rsync/IndexView.vue:357 src/views/backup/StorageView.vue:287 #: src/views/backup/StorageView.vue:443 #: src/views/database/CreateDatabaseModal.vue:142 #: src/views/database/CreateServerModal.vue:143 #: src/views/database/CreateUserModal.vue:137 #: src/views/database/ServerList.vue:113 #: src/views/database/UpdateServerModal.vue:76 -#: src/views/database/UserList.vue:63 -#: src/views/ssh/CreateModal.vue:65 -#: src/views/ssh/UpdateModal.vue:71 -#: src/views/toolbox/SystemView.vue:176 +#: src/views/database/UserList.vue:63 src/views/ssh/CreateModal.vue:65 +#: src/views/ssh/UpdateModal.vue:71 src/views/toolbox/SystemView.vue:176 msgid "Host" msgstr "主机" -#: src/views/apps/rsync/IndexView.vue:70 -#: src/views/apps/rsync/IndexView.vue:303 +#: src/views/apps/rsync/IndexView.vue:70 src/views/apps/rsync/IndexView.vue:303 #: src/views/apps/rsync/IndexView.vue:365 #: src/views/database/CreateServerModal.vue:190 #: src/views/database/CreateUserModal.vue:164 -#: src/views/database/DatabaseList.vue:49 -#: src/views/database/ServerList.vue:123 +#: src/views/database/DatabaseList.vue:49 src/views/database/ServerList.vue:123 #: src/views/database/UpdateServerModal.vue:114 -#: src/views/database/UpdateUserModal.vue:78 -#: src/views/database/UserList.vue:96 +#: src/views/database/UpdateUserModal.vue:78 src/views/database/UserList.vue:96 msgid "Comment" msgstr "注释" @@ -4886,8 +4622,7 @@ msgstr "配置" msgid "Are you sure you want to delete module %{ name }?" msgstr "确定要删除模块 %{ name } 吗?" -#: src/views/apps/rsync/IndexView.vue:197 -#: src/views/environment/PHPView.vue:207 +#: src/views/apps/rsync/IndexView.vue:197 src/views/environment/PHPView.vue:207 msgid "Module Management" msgstr "模块管理" @@ -4897,8 +4632,11 @@ msgid "Add Module" msgstr "添加模块" #: src/views/apps/rsync/IndexView.vue:229 -msgid "This modifies the Rsync main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 Rsync 主配置文件。如果您不理解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the Rsync main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 Rsync 主配置文件。如果您不理解每个参数的含义,请不要随意修改!" #: src/views/apps/rsync/IndexView.vue:268 #: src/views/apps/supervisor/IndexView.vue:397 @@ -4934,8 +4672,7 @@ msgstr "输入注释" msgid "Module Configuration" msgstr "模块配置" -#: src/views/apps/s3fs/IndexView.vue:27 -#: src/views/toolbox/DiskView.vue:696 +#: src/views/apps/s3fs/IndexView.vue:27 src/views/toolbox/DiskView.vue:696 msgid "Mount Path" msgstr "挂载路径" @@ -4943,14 +4680,12 @@ msgstr "挂载路径" msgid "Are you sure you want to delete mount %{ path }?" msgstr "您确定要删除挂载 %{ path } 吗?" -#: src/views/apps/s3fs/IndexView.vue:50 -#: src/views/apps/s3fs/IndexView.vue:55 +#: src/views/apps/s3fs/IndexView.vue:50 src/views/apps/s3fs/IndexView.vue:55 #: src/views/toolbox/DiskView.vue:312 msgid "Unmount" msgstr "卸载" -#: src/views/apps/s3fs/IndexView.vue:101 -#: src/views/apps/s3fs/IndexView.vue:125 +#: src/views/apps/s3fs/IndexView.vue:101 src/views/apps/s3fs/IndexView.vue:125 #: src/views/apps/s3fs/IndexView.vue:129 msgid "Add Mount" msgstr "添加挂载" @@ -4972,7 +4707,9 @@ msgid "Region Endpoint" msgstr "区域端点" #: src/views/apps/s3fs/IndexView.vue:163 -msgid "Enter complete URL of region endpoint (e.g., https://oss-cn-beijing.aliyuncs.com)" +msgid "" +"Enter complete URL of region endpoint (e.g., https://oss-cn-beijing.aliyuncs." +"com)" msgstr "输入完整的区域端点 URL(例如:https://oss-cn-beijing.aliyuncs.com)" #: src/views/apps/s3fs/IndexView.vue:169 @@ -5010,16 +4747,18 @@ msgid "Add Process" msgstr "添加进程" #: src/views/apps/supervisor/IndexView.vue:343 -msgid "This modifies the Supervisor main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 Supervisor 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the Supervisor main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 Supervisor 主配置文件。如果您不了解每个参数的含义,请不要随意修改!" #: src/views/apps/supervisor/IndexView.vue:364 msgid "Daemon Logs" msgstr "守护进程日志" #: src/views/apps/supervisor/IndexView.vue:400 -#: src/views/project/CreateModal.vue:641 -#: src/views/project/EditModal.vue:257 +#: src/views/project/CreateModal.vue:641 src/views/project/EditModal.vue:257 msgid "Start Command" msgstr "启动命令" @@ -5028,8 +4767,7 @@ msgid "Please enter absolute path for files in start command" msgstr "请在启动命令中输入文件的绝对路径" #: src/views/apps/supervisor/IndexView.vue:408 -#: src/views/project/EditModal.vue:219 -#: src/views/toolbox/ProcessView.vue:431 +#: src/views/project/EditModal.vue:219 src/views/toolbox/ProcessView.vue:431 msgid "Working Directory" msgstr "工作目录" @@ -5055,8 +4793,11 @@ msgid "Process Configuration" msgstr "进程配置" #: src/views/apps/valkey/IndexView.vue:69 -msgid "This modifies the Valkey main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 Valkey 主配置文件。如果您不理解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the Valkey main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 Valkey 主配置文件。如果您不理解每个参数的含义,请不要随意修改!" #: src/views/apps/valkey/ValkeyConfigTuneView.vue:116 msgid "Common Valkey general settings." @@ -5074,8 +4815,7 @@ msgstr "Valkey AOF 持久化设置。" msgid "Filename" msgstr "文件名" -#: src/views/backup/ListView.vue:54 -#: src/views/database/ServerList.vue:152 +#: src/views/backup/ListView.vue:54 src/views/database/ServerList.vue:152 #: src/views/database/UserList.vue:125 msgid "Update Date" msgstr "更新日期" @@ -5093,34 +4833,31 @@ msgid "Restore task created, please check the progress in background tasks" msgstr "恢复任务已创建,请在后台任务中查看进度" #: src/views/backup/ListView.vue:232 -msgid "Only local backups are displayed here. Remote backups are stored in the corresponding backup storage." +msgid "" +"Only local backups are displayed here. Remote backups are stored in the " +"corresponding backup storage." msgstr "此处仅显示本地备份。远程备份存储在相应的备份存储中。" -#: src/views/backup/ListView.vue:239 -#: src/views/backup/ListView.vue:268 +#: src/views/backup/ListView.vue:239 src/views/backup/ListView.vue:268 msgid "Create Backup" msgstr "创建备份" -#: src/views/backup/ListView.vue:242 -#: src/views/backup/UploadModal.vue:38 +#: src/views/backup/ListView.vue:242 src/views/backup/UploadModal.vue:38 msgid "Upload Backup" msgstr "上传备份" -#: src/views/backup/ListView.vue:280 -#: src/views/backup/ListView.vue:328 +#: src/views/backup/ListView.vue:280 src/views/backup/ListView.vue:328 msgid "Select website" msgstr "选择网站" #: src/views/backup/ListView.vue:286 #: src/views/database/CreateDatabaseModal.vue:94 -#: src/views/database/DatabaseList.vue:21 -#: src/views/website/CreateModal.vue:269 +#: src/views/database/DatabaseList.vue:21 src/views/website/CreateModal.vue:269 #: src/views/website/CreateModal.vue:274 msgid "Database Name" msgstr "数据库名称" -#: src/views/backup/ListView.vue:292 -#: src/views/backup/ListView.vue:340 +#: src/views/backup/ListView.vue:292 src/views/backup/ListView.vue:340 msgid "Select database" msgstr "选择数据库" @@ -5136,18 +4873,12 @@ msgstr "选择备份存储" msgid "Restore Backup" msgstr "恢复备份" -#: src/views/backup/StorageView.vue:36 -#: src/views/backup/StorageView.vue:321 -#: src/views/backup/StorageView.vue:477 -#: src/views/cert/CertView.vue:594 -#: src/views/cert/CertView.vue:694 -#: src/views/cert/UploadCertModal.vue:54 -#: src/views/setting/SettingSafe.vue:282 -#: src/views/ssh/CreateModal.vue:81 -#: src/views/ssh/CreateModal.vue:92 -#: src/views/ssh/UpdateModal.vue:87 -#: src/views/ssh/UpdateModal.vue:98 -#: src/views/website/EditModal.vue:1784 +#: src/views/backup/StorageView.vue:36 src/views/backup/StorageView.vue:321 +#: src/views/backup/StorageView.vue:477 src/views/cert/CertView.vue:619 +#: src/views/cert/CertView.vue:719 src/views/cert/UploadCertModal.vue:54 +#: src/views/setting/SettingSafe.vue:282 src/views/ssh/CreateModal.vue:81 +#: src/views/ssh/CreateModal.vue:92 src/views/ssh/UpdateModal.vue:87 +#: src/views/ssh/UpdateModal.vue:98 src/views/website/EditModal.vue:1784 msgid "Private Key" msgstr "私钥" @@ -5162,50 +4893,40 @@ msgstr "您确定要删除此存储吗?" #: src/views/backup/StorageView.vue:173 #: src/views/container/ContainerCreate.vue:124 -#: src/views/setting/PasswordModal.vue:21 -#: src/views/setting/TokenModal.vue:178 -#: src/views/setting/TwoFaModal.vue:28 -#: src/views/ssh/UpdateModal.vue:32 +#: src/views/setting/PasswordModal.vue:21 src/views/setting/TokenModal.vue:178 +#: src/views/setting/TwoFaModal.vue:28 src/views/ssh/UpdateModal.vue:32 msgid "Updated successfully" msgstr "更新成功" -#: src/views/backup/StorageView.vue:195 -#: src/views/backup/StorageView.vue:222 +#: src/views/backup/StorageView.vue:195 src/views/backup/StorageView.vue:222 msgid "Add Storage" msgstr "添加存储" -#: src/views/backup/StorageView.vue:231 -#: src/views/backup/StorageView.vue:393 +#: src/views/backup/StorageView.vue:231 src/views/backup/StorageView.vue:393 msgid "Enter storage name" msgstr "输入存储名称" -#: src/views/backup/StorageView.vue:239 -#: src/views/backup/StorageView.vue:401 +#: src/views/backup/StorageView.vue:239 src/views/backup/StorageView.vue:401 msgid "Access Key" msgstr "Access Key" -#: src/views/backup/StorageView.vue:242 -#: src/views/backup/StorageView.vue:404 +#: src/views/backup/StorageView.vue:242 src/views/backup/StorageView.vue:404 msgid "Enter access key" msgstr "输入 Access Key" -#: src/views/backup/StorageView.vue:245 -#: src/views/backup/StorageView.vue:407 +#: src/views/backup/StorageView.vue:245 src/views/backup/StorageView.vue:407 msgid "Secret Key" msgstr "Secret Key" -#: src/views/backup/StorageView.vue:250 -#: src/views/backup/StorageView.vue:412 +#: src/views/backup/StorageView.vue:250 src/views/backup/StorageView.vue:412 msgid "Enter secret key" msgstr "输入 Secret Key" -#: src/views/backup/StorageView.vue:253 -#: src/views/backup/StorageView.vue:415 +#: src/views/backup/StorageView.vue:253 src/views/backup/StorageView.vue:415 msgid "Style" msgstr "风格" -#: src/views/backup/StorageView.vue:256 -#: src/views/website/stats/GeoTab.vue:91 +#: src/views/backup/StorageView.vue:256 src/views/website/stats/GeoTab.vue:91 #: src/views/website/stats/GeoTab.vue:248 msgid "Region" msgstr "区域" @@ -5214,75 +4935,57 @@ msgstr "区域" msgid "Enter region (e.g., us-east-1)" msgstr "输入区域(例如 us-east-1)" -#: src/views/backup/StorageView.vue:262 -#: src/views/backup/StorageView.vue:418 +#: src/views/backup/StorageView.vue:262 src/views/backup/StorageView.vue:418 msgid "Endpoint" msgstr "端点" -#: src/views/backup/StorageView.vue:265 -#: src/views/backup/StorageView.vue:421 +#: src/views/backup/StorageView.vue:265 src/views/backup/StorageView.vue:421 msgid "Enter endpoint URL" msgstr "输入端点 URL" -#: src/views/backup/StorageView.vue:268 -#: src/views/backup/StorageView.vue:424 +#: src/views/backup/StorageView.vue:268 src/views/backup/StorageView.vue:424 msgid "Scheme" msgstr "协议" -#: src/views/backup/StorageView.vue:271 -#: src/views/backup/StorageView.vue:427 +#: src/views/backup/StorageView.vue:271 src/views/backup/StorageView.vue:427 msgid "Bucket" msgstr "存储桶" -#: src/views/backup/StorageView.vue:274 -#: src/views/backup/StorageView.vue:430 +#: src/views/backup/StorageView.vue:274 src/views/backup/StorageView.vue:430 msgid "Enter bucket name" msgstr "输入存储桶名称" -#: src/views/backup/StorageView.vue:280 -#: src/views/backup/StorageView.vue:364 -#: src/views/backup/StorageView.vue:436 -#: src/views/backup/StorageView.vue:517 +#: src/views/backup/StorageView.vue:280 src/views/backup/StorageView.vue:364 +#: src/views/backup/StorageView.vue:436 src/views/backup/StorageView.vue:517 msgid "Enter path (optional)" msgstr "输入路径(可选)" -#: src/views/backup/StorageView.vue:288 -#: src/views/backup/StorageView.vue:444 +#: src/views/backup/StorageView.vue:288 src/views/backup/StorageView.vue:444 msgid "Enter host" msgstr "输入主机" -#: src/views/backup/StorageView.vue:290 -#: src/views/backup/StorageView.vue:446 +#: src/views/backup/StorageView.vue:290 src/views/backup/StorageView.vue:446 #: src/views/database/CreateServerModal.vue:154 #: src/views/database/UpdateServerModal.vue:87 -#: src/views/firewall/CreateModal.vue:159 -#: src/views/firewall/ForwardView.vue:33 -#: src/views/firewall/RuleView.vue:90 -#: src/views/firewall/ScanView.vue:300 -#: src/views/firewall/ScanView.vue:316 -#: src/views/firewall/ScanView.vue:380 -#: src/views/log/SSHLog.vue:83 -#: src/views/setting/SettingBase.vue:137 -#: src/views/ssh/CreateModal.vue:71 -#: src/views/ssh/UpdateModal.vue:77 +#: src/views/firewall/CreateModal.vue:159 src/views/firewall/ForwardView.vue:33 +#: src/views/firewall/RuleView.vue:90 src/views/firewall/ScanView.vue:300 +#: src/views/firewall/ScanView.vue:316 src/views/firewall/ScanView.vue:380 +#: src/views/log/SSHLog.vue:83 src/views/setting/SettingBase.vue:137 +#: src/views/ssh/CreateModal.vue:71 src/views/ssh/UpdateModal.vue:77 #: src/views/website/CreateModal.vue:224 msgid "Port" msgstr "端口" -#: src/views/backup/StorageView.vue:295 -#: src/views/backup/StorageView.vue:451 +#: src/views/backup/StorageView.vue:295 src/views/backup/StorageView.vue:451 msgid "Enter port" msgstr "输入端口" -#: src/views/backup/StorageView.vue:304 -#: src/views/backup/StorageView.vue:460 +#: src/views/backup/StorageView.vue:304 src/views/backup/StorageView.vue:460 msgid "Auth Type" msgstr "认证类型" -#: src/views/backup/StorageView.vue:316 -#: src/views/backup/StorageView.vue:358 -#: src/views/backup/StorageView.vue:472 -#: src/views/backup/StorageView.vue:511 +#: src/views/backup/StorageView.vue:316 src/views/backup/StorageView.vue:358 +#: src/views/backup/StorageView.vue:472 src/views/backup/StorageView.vue:511 #: src/views/container/ImageView.vue:425 #: src/views/database/CreateDatabaseModal.vue:132 #: src/views/database/CreateUserModal.vue:127 @@ -5290,23 +4993,19 @@ msgstr "认证类型" msgid "Enter password" msgstr "输入密码" -#: src/views/backup/StorageView.vue:328 -#: src/views/backup/StorageView.vue:484 +#: src/views/backup/StorageView.vue:328 src/views/backup/StorageView.vue:484 msgid "Enter private key" msgstr "输入私钥" -#: src/views/backup/StorageView.vue:334 -#: src/views/backup/StorageView.vue:490 +#: src/views/backup/StorageView.vue:334 src/views/backup/StorageView.vue:490 msgid "Enter remote path" msgstr "输入远程路径" -#: src/views/backup/StorageView.vue:341 -#: src/views/backup/StorageView.vue:497 +#: src/views/backup/StorageView.vue:341 src/views/backup/StorageView.vue:497 msgid "URL" msgstr "URL" -#: src/views/backup/StorageView.vue:344 -#: src/views/backup/StorageView.vue:498 +#: src/views/backup/StorageView.vue:344 src/views/backup/StorageView.vue:498 msgid "Enter WebDAV URL" msgstr "输入 WebDAV URL" @@ -5318,37 +5017,30 @@ msgstr "编辑存储" msgid "Upload %{ filename } successfully" msgstr "上传 %{ filename } 成功" -#: src/views/backup/UploadModal.vue:50 -#: src/views/file/UploadModal.vue:710 +#: src/views/backup/UploadModal.vue:50 src/views/file/UploadModal.vue:710 msgid "Click or drag files to this area to upload" msgstr "点击或将文件拖到此区域上传" #: src/views/backup/UploadModal.vue:52 -msgid "For large files, it is recommended to use SFTP or other methods to upload" +msgid "" +"For large files, it is recommended to use SFTP or other methods to upload" msgstr "对于大文件,建议使用 SFTP 或其他方法上传" -#: src/views/cert/AccountView.vue:39 -#: src/views/cert/AccountView.vue:226 +#: src/views/cert/AccountView.vue:39 src/views/cert/AccountView.vue:226 #: src/views/cert/CreateAccountModal.vue:104 -#: src/views/setting/CreateModal.vue:62 -#: src/views/setting/SettingUser.vue:40 +#: src/views/setting/CreateModal.vue:62 src/views/setting/SettingUser.vue:40 msgid "Email" msgstr "邮箱" -#: src/views/cert/AccountView.vue:67 -#: src/views/cert/AccountView.vue:218 -#: src/views/cert/CertView.vue:518 -#: src/views/cert/CreateAccountModal.vue:96 +#: src/views/cert/AccountView.vue:67 src/views/cert/AccountView.vue:218 +#: src/views/cert/CertView.vue:542 src/views/cert/CreateAccountModal.vue:96 #: src/views/cert/CreateCertModal.vue:110 msgid "Key Type" msgstr "密钥类型" -#: src/views/cert/AccountView.vue:95 -#: src/views/cert/CertView.vue:348 -#: src/views/cert/DnsView.vue:91 -#: src/views/database/ServerList.vue:214 -#: src/views/database/UserList.vue:150 -#: src/views/file/PermissionModal.vue:156 +#: src/views/cert/AccountView.vue:95 src/views/cert/CertView.vue:372 +#: src/views/cert/DnsView.vue:91 src/views/database/ServerList.vue:214 +#: src/views/database/UserList.vue:150 src/views/file/PermissionModal.vue:156 #: src/views/setting/TokenModal.vue:73 msgid "Modify" msgstr "修改" @@ -5357,14 +5049,12 @@ msgstr "修改" msgid "Are you sure you want to delete the account?" msgstr "您确定要删除该账户吗?" -#: src/views/cert/AccountView.vue:108 -#: src/views/cert/CertView.vue:362 +#: src/views/cert/AccountView.vue:108 src/views/cert/CertView.vue:386 #: src/views/cert/DnsView.vue:105 msgid "Deletion successful" msgstr "删除成功" -#: src/views/cert/AccountView.vue:133 -#: src/views/cert/CreateAccountModal.vue:42 +#: src/views/cert/AccountView.vue:133 src/views/cert/CreateAccountModal.vue:42 msgid "Registering account with CA, please wait patiently" msgstr "正在向 CA 注册账户,请耐心等待" @@ -5372,45 +5062,43 @@ msgstr "正在向 CA 注册账户,请耐心等待" msgid "Modify Account" msgstr "修改账户" -#: src/views/cert/AccountView.vue:198 -#: src/views/cert/CreateAccountModal.vue:76 -msgid "LiteSSL, Google and SSL.com require obtaining EAB (KID and HMAC) from their official websites first" +#: src/views/cert/AccountView.vue:198 src/views/cert/CreateAccountModal.vue:76 +msgid "" +"LiteSSL, Google and SSL.com require obtaining EAB (KID and HMAC) from their " +"official websites first" msgstr "LiteSSL、Google 和 SSL.com 需要先从其官网获取 EAB(KID 和 HMAC)" -#: src/views/cert/AccountView.vue:204 -#: src/views/cert/CreateAccountModal.vue:82 -msgid "Google is not accessible in mainland China, other CAs depend on network conditions, recommend using Let's Encrypt or LiteSSL" -msgstr "Google 在中国大陆无法访问,其他 CA 取决于网络条件,建议使用 Let's Encrypt 或 LiteSSL" +#: src/views/cert/AccountView.vue:204 src/views/cert/CreateAccountModal.vue:82 +msgid "" +"Google is not accessible in mainland China, other CAs depend on network " +"conditions, recommend using Let's Encrypt or LiteSSL" +msgstr "" +"Google 在中国大陆无法访问,其他 CA 取决于网络条件,建议使用 Let's Encrypt 或 " +"LiteSSL" -#: src/views/cert/AccountView.vue:210 -#: src/views/cert/CreateAccountModal.vue:88 +#: src/views/cert/AccountView.vue:210 src/views/cert/CreateAccountModal.vue:88 msgid "CA" msgstr "CA" -#: src/views/cert/AccountView.vue:213 -#: src/views/cert/CreateAccountModal.vue:91 +#: src/views/cert/AccountView.vue:213 src/views/cert/CreateAccountModal.vue:91 msgid "Select CA" msgstr "选择 CA" -#: src/views/cert/AccountView.vue:221 -#: src/views/cert/CertView.vue:521 +#: src/views/cert/AccountView.vue:221 src/views/cert/CertView.vue:545 #: src/views/cert/CreateAccountModal.vue:99 #: src/views/cert/CreateCertModal.vue:113 msgid "Select key type" msgstr "选择密钥类型" -#: src/views/cert/AccountView.vue:231 -#: src/views/cert/CreateAccountModal.vue:109 +#: src/views/cert/AccountView.vue:231 src/views/cert/CreateAccountModal.vue:109 msgid "Enter email address" msgstr "输入电子邮件地址" -#: src/views/cert/AccountView.vue:239 -#: src/views/cert/CreateAccountModal.vue:117 +#: src/views/cert/AccountView.vue:239 src/views/cert/CreateAccountModal.vue:117 msgid "Enter KID" msgstr "输入 KID" -#: src/views/cert/AccountView.vue:247 -#: src/views/cert/CreateAccountModal.vue:125 +#: src/views/cert/AccountView.vue:247 src/views/cert/CreateAccountModal.vue:125 msgid "Enter HMAC" msgstr "输入 HMAC" @@ -5418,19 +5106,14 @@ msgstr "输入 HMAC" msgid "No matching websites found" msgstr "未找到匹配的网站" -#: src/views/cert/CertView.vue:146 -#: src/views/cert/CertView.vue:510 -#: src/views/cert/CreateCertModal.vue:102 -#: src/views/project/CreateModal.vue:661 -#: src/views/website/CreateModal.vue:201 -#: src/views/website/EditModal.vue:938 +#: src/views/cert/CertView.vue:146 src/views/cert/CertView.vue:534 +#: src/views/cert/CreateCertModal.vue:102 src/views/project/CreateModal.vue:661 +#: src/views/website/CreateModal.vue:201 src/views/website/EditModal.vue:938 msgid "Domain" msgstr "域名" -#: src/views/cert/CertView.vue:191 -#: src/views/file/ToolBar.vue:154 -#: src/views/file/UploadModal.vue:674 -#: src/views/monitor/SystemView.vue:584 +#: src/views/cert/CertView.vue:191 src/views/file/ToolBar.vue:154 +#: src/views/file/UploadModal.vue:674 src/views/monitor/SystemView.vue:584 msgid "Upload" msgstr "上传" @@ -5439,158 +5122,157 @@ msgid "Associated Account" msgstr "关联账户" #: src/views/cert/CertView.vue:212 -#: src/views/website/EditModal.vue:1711 +#, fuzzy +msgid "Associated Website" +msgstr "创建网站" + +#: src/views/cert/CertView.vue:236 src/views/website/EditModal.vue:1711 msgid "Issuer" msgstr "颁发者" -#: src/views/cert/CertView.vue:221 -#: src/views/setting/TokenModal.vue:48 -#: src/views/setting/TokenModal.vue:255 -#: src/views/setting/TokenModal.vue:293 +#: src/views/cert/CertView.vue:245 src/views/setting/TokenModal.vue:48 +#: src/views/setting/TokenModal.vue:255 src/views/setting/TokenModal.vue:293 msgid "Expiration Time" msgstr "过期时间" -#: src/views/cert/CertView.vue:230 +#: src/views/cert/CertView.vue:254 msgid "Next Renewal Time" msgstr "下次续签时间" -#: src/views/cert/CertView.vue:239 +#: src/views/cert/CertView.vue:263 msgid "Auto Renewal" msgstr "自动续签" -#: src/views/cert/CertView.vue:272 -#: src/views/website/EditModal.vue:2289 +#: src/views/cert/CertView.vue:296 src/views/website/EditModal.vue:2289 msgid "Issue" msgstr "签发" -#: src/views/cert/CertView.vue:302 +#: src/views/cert/CertView.vue:326 msgid "Renewal" msgstr "续签" -#: src/views/cert/CertView.vue:357 +#: src/views/cert/CertView.vue:381 msgid "Are you sure you want to delete the certificate?" msgstr "您确定要删除证书吗?" -#: src/views/cert/CertView.vue:450 +#: src/views/cert/CertView.vue:473 msgid "Deployment successful" msgstr "部署成功" -#: src/views/cert/CertView.vue:495 +#: src/views/cert/CertView.vue:519 msgid "Modify Certificate" msgstr "修改证书" -#: src/views/cert/CertView.vue:504 -msgid "You can automatically issue and deploy certificates by selecting any website/DNS, or manually enter domain names and set DNS resolution to issue certificates, or fill in deployment scripts to automatically deploy certificates." -msgstr "您可以通过选择任何网站 / DNS 自动颁发和部署证书,或手动输入域名并设置 DNS 解析以颁发证书,或填写部署脚本以自动部署证书。" +#: src/views/cert/CertView.vue:528 +msgid "" +"You can automatically issue and deploy certificates by selecting any website/" +"DNS, or manually enter domain names and set DNS resolution to issue " +"certificates, or fill in deployment scripts to automatically deploy " +"certificates." +msgstr "" +"您可以通过选择任何网站 / DNS 自动颁发和部署证书,或手动输入域名并设置 DNS 解" +"析以颁发证书,或填写部署脚本以自动部署证书。" -#: src/views/cert/CertView.vue:529 -#: src/views/cert/CreateCertModal.vue:121 -msgid "Select website for certificate deployment" +#: src/views/cert/CertView.vue:553 src/views/cert/CreateCertModal.vue:121 +#, fuzzy +msgid "Select websites for certificate deployment" msgstr "选择要部署证书的网站" -#: src/views/cert/CertView.vue:537 -#: src/views/cert/CreateCertModal.vue:126 +#: src/views/cert/CertView.vue:562 src/views/cert/CreateCertModal.vue:127 #: src/views/cert/IndexView.vue:98 msgid "Account" msgstr "账户" -#: src/views/cert/CertView.vue:541 -#: src/views/cert/CreateCertModal.vue:129 +#: src/views/cert/CertView.vue:566 src/views/cert/CreateCertModal.vue:130 msgid "Select account for certificate issuance" msgstr "选择用于证书颁发的账户" -#: src/views/cert/CertView.vue:546 -#: src/views/cert/CreateCertModal.vue:134 -#: src/views/cert/CreateDnsModal.vue:71 -#: src/views/cert/DnsView.vue:196 -#: src/views/cert/IndexView.vue:99 -#: src/views/website/EditModal.vue:2280 +#: src/views/cert/CertView.vue:571 src/views/cert/CreateCertModal.vue:135 +#: src/views/cert/CreateDnsModal.vue:71 src/views/cert/DnsView.vue:196 +#: src/views/cert/IndexView.vue:99 src/views/website/EditModal.vue:2280 msgid "DNS" msgstr "DNS" -#: src/views/cert/CertView.vue:549 -#: src/views/cert/CreateCertModal.vue:137 +#: src/views/cert/CertView.vue:574 src/views/cert/CreateCertModal.vue:138 #: src/views/website/EditModal.vue:2283 msgid "Select DNS for certificate issuance" msgstr "选择用于证书颁发的 DNS" -#: src/views/cert/CertView.vue:556 -#: src/views/cert/CreateCertModal.vue:142 +#: src/views/cert/CertView.vue:581 src/views/cert/CreateCertModal.vue:143 msgid "DNS Alias" msgstr "DNS 别名" -#: src/views/cert/CertView.vue:566 -#: src/views/cert/CreateCertModal.vue:148 +#: src/views/cert/CertView.vue:591 src/views/cert/CreateCertModal.vue:149 msgid "Original domain, e.g. example.com" msgstr "原始域名,例如 example.com" -#: src/views/cert/CertView.vue:572 -#: src/views/cert/CreateCertModal.vue:154 +#: src/views/cert/CertView.vue:597 src/views/cert/CreateCertModal.vue:155 msgid "Alias record, e.g. _acme-challenge.delegated.com" msgstr "别名记录,例如 _acme-challenge.delegated.com" -#: src/views/cert/CertView.vue:587 -#: src/views/cert/UploadCertModal.vue:50 +#: src/views/cert/CertView.vue:612 src/views/cert/UploadCertModal.vue:50 #: src/views/website/EditModal.vue:1778 msgid "Enter the content of the PEM certificate file" msgstr "输入 PEM 证书文件的内容" -#: src/views/cert/CertView.vue:599 -#: src/views/cert/UploadCertModal.vue:58 +#: src/views/cert/CertView.vue:624 src/views/cert/UploadCertModal.vue:58 #: src/views/website/EditModal.vue:1788 msgid "Enter the content of the KEY private key file" msgstr "输入 KEY 私钥文件的内容" -#: src/views/cert/CertView.vue:606 +#: src/views/cert/CertView.vue:631 msgid "Deployment Script" msgstr "部署脚本" -#: src/views/cert/CertView.vue:612 -msgid "The {cert} and {key} in the script will be replaced with the certificate and private key content" +#: src/views/cert/CertView.vue:637 +msgid "" +"The {cert} and {key} in the script will be replaced with the certificate and " +"private key content" msgstr "脚本中的 {cert} 和 {key} 将被替换为证书和私钥内容" -#: src/views/cert/CertView.vue:634 +#: src/views/cert/CertView.vue:659 msgid "Deploy Certificate" msgstr "部署证书" -#: src/views/cert/CertView.vue:651 +#: src/views/cert/CertView.vue:676 msgid "Match Websites" msgstr "匹配网站" -#: src/views/cert/CertView.vue:657 -#: src/views/tamper/TamperView.vue:313 +#: src/views/cert/CertView.vue:682 src/views/tamper/TamperView.vue:313 #: src/views/toolbox/DiskView.vue:250 msgid "Available" msgstr "可用" -#: src/views/cert/CertView.vue:658 +#: src/views/cert/CertView.vue:683 msgid "Selected" msgstr "已选择" -#: src/views/cert/CertView.vue:665 +#: src/views/cert/CertView.vue:690 msgid "Enable HTTPS" msgstr "启用 HTTPS" -#: src/views/cert/CertView.vue:682 +#: src/views/cert/CertView.vue:707 msgid "View Certificate" msgstr "查看证书" -#: src/views/cert/CreateAccountModal.vue:68 -#: src/views/cert/IndexView.vue:111 +#: src/views/cert/CreateAccountModal.vue:68 src/views/cert/IndexView.vue:111 msgid "Create Account" msgstr "创建账户" -#: src/views/cert/CreateCertModal.vue:87 -#: src/views/cert/IndexView.vue:108 +#: src/views/cert/CreateCertModal.vue:87 src/views/cert/IndexView.vue:108 msgid "Create Certificate" msgstr "创建证书" #: src/views/cert/CreateCertModal.vue:96 -msgid "You can automatically issue and deploy certificates by selecting either Website or DNS, or you can manually enter domain names and set up DNS resolution to issue certificates" -msgstr "您可以通过选择网站或 DNS 来自动颁发和部署证书,或者手动输入域名并设置 DNS 解析以颁发证书" +msgid "" +"You can automatically issue and deploy certificates by selecting either " +"Website or DNS, or you can manually enter domain names and set up DNS " +"resolution to issue certificates" +msgstr "" +"您可以通过选择网站或 DNS 来自动颁发和部署证书,或者手动输入域名并设置 DNS 解" +"析以颁发证书" -#: src/views/cert/CreateDnsModal.vue:56 -#: src/views/cert/IndexView.vue:114 +#: src/views/cert/CreateDnsModal.vue:56 src/views/cert/IndexView.vue:114 msgid "Create DNS" msgstr "创建 DNS" @@ -5602,108 +5284,87 @@ msgstr "备注名称" msgid "Enter comment name" msgstr "输入备注名称" -#: src/views/cert/CreateDnsModal.vue:74 -#: src/views/cert/DnsView.vue:199 +#: src/views/cert/CreateDnsModal.vue:74 src/views/cert/DnsView.vue:199 msgid "Select DNS" msgstr "选择 DNS" -#: src/views/cert/CreateDnsModal.vue:83 -#: src/views/cert/DnsView.vue:208 +#: src/views/cert/CreateDnsModal.vue:83 src/views/cert/DnsView.vue:208 msgid "Enter Aliyun Access Key" msgstr "输入阿里云 Access Key" -#: src/views/cert/CreateDnsModal.vue:90 -#: src/views/cert/DnsView.vue:215 +#: src/views/cert/CreateDnsModal.vue:90 src/views/cert/DnsView.vue:215 msgid "Enter Aliyun Secret Key" msgstr "输入阿里云 Secret Key" -#: src/views/cert/CreateDnsModal.vue:97 -#: src/views/cert/DnsView.vue:222 +#: src/views/cert/CreateDnsModal.vue:97 src/views/cert/DnsView.vue:222 msgid "Enter Tencent Cloud SecretId" msgstr "输入腾讯云 SecretId" -#: src/views/cert/CreateDnsModal.vue:104 -#: src/views/cert/DnsView.vue:229 +#: src/views/cert/CreateDnsModal.vue:104 src/views/cert/DnsView.vue:229 msgid "Enter Tencent Cloud SecretKey" msgstr "输入腾讯云 SecretKey" -#: src/views/cert/CreateDnsModal.vue:111 -#: src/views/cert/DnsView.vue:236 +#: src/views/cert/CreateDnsModal.vue:111 src/views/cert/DnsView.vue:236 msgid "Enter Huawei Cloud AccessKeyId" msgstr "输入华为云 AccessKeyId" -#: src/views/cert/CreateDnsModal.vue:118 -#: src/views/cert/DnsView.vue:243 +#: src/views/cert/CreateDnsModal.vue:118 src/views/cert/DnsView.vue:243 msgid "Enter Huawei Cloud SecretAccessKey" msgstr "输入华为云 SecretAccessKey" -#: src/views/cert/CreateDnsModal.vue:125 -#: src/views/cert/DnsView.vue:250 +#: src/views/cert/CreateDnsModal.vue:125 src/views/cert/DnsView.vue:250 msgid "Enter West.cn Username" msgstr "输入西部数码用户名" -#: src/views/cert/CreateDnsModal.vue:132 -#: src/views/cert/DnsView.vue:257 +#: src/views/cert/CreateDnsModal.vue:132 src/views/cert/DnsView.vue:257 msgid "Enter West.cn API Password" msgstr "输入西部数码 API 密码" -#: src/views/cert/CreateDnsModal.vue:139 -#: src/views/cert/DnsView.vue:264 +#: src/views/cert/CreateDnsModal.vue:139 src/views/cert/DnsView.vue:264 msgid "Enter Cloudflare API Key" msgstr "输入 Cloudflare API 密钥" -#: src/views/cert/CreateDnsModal.vue:146 -#: src/views/cert/DnsView.vue:271 +#: src/views/cert/CreateDnsModal.vue:146 src/views/cert/DnsView.vue:271 msgid "Enter G-Core API Key" msgstr "输入 G-Core API 密钥" -#: src/views/cert/CreateDnsModal.vue:153 -#: src/views/cert/DnsView.vue:278 +#: src/views/cert/CreateDnsModal.vue:153 src/views/cert/DnsView.vue:278 msgid "Enter Porkbun API Key" msgstr "输入 Porkbun API 密钥" -#: src/views/cert/CreateDnsModal.vue:160 -#: src/views/cert/DnsView.vue:285 +#: src/views/cert/CreateDnsModal.vue:160 src/views/cert/DnsView.vue:285 msgid "Enter Porkbun Secret Key" msgstr "输入 Porkbun 密钥" -#: src/views/cert/CreateDnsModal.vue:167 -#: src/views/cert/DnsView.vue:292 +#: src/views/cert/CreateDnsModal.vue:167 src/views/cert/DnsView.vue:292 msgid "Enter NameSilo API Token" msgstr "输入 NameSilo API 令牌" -#: src/views/cert/CreateDnsModal.vue:174 -#: src/views/cert/DnsView.vue:299 +#: src/views/cert/CreateDnsModal.vue:174 src/views/cert/DnsView.vue:299 msgid "Enter ClouDNS Auth ID (use Sub Auth ID by adding sub-prefix)" msgstr "输入 ClouDNS 认证 ID(使用子认证 ID 时添加 sub- 前缀)" -#: src/views/cert/CreateDnsModal.vue:181 -#: src/views/cert/DnsView.vue:306 +#: src/views/cert/CreateDnsModal.vue:181 src/views/cert/DnsView.vue:306 msgid "Enter ClouDNS Auth Password" msgstr "输入 ClouDNS 认证密码" -#: src/views/cert/CreateDnsModal.vue:184 -#: src/views/cert/DnsView.vue:309 +#: src/views/cert/CreateDnsModal.vue:184 src/views/cert/DnsView.vue:309 msgid "DNS Server" msgstr "DNS 服务器" -#: src/views/cert/CreateDnsModal.vue:188 -#: src/views/cert/DnsView.vue:313 +#: src/views/cert/CreateDnsModal.vue:188 src/views/cert/DnsView.vue:313 msgid "DNS server for propagation check, e.g. 8.8.8.8" msgstr "用于生效检查的 DNS 服务器,例如 8.8.8.8" -#: src/views/cert/CreateDnsModal.vue:191 -#: src/views/cert/DnsView.vue:316 +#: src/views/cert/CreateDnsModal.vue:191 src/views/cert/DnsView.vue:316 msgid "Skip DNS Verification" msgstr "跳过 DNS 验证" -#: src/views/cert/CreateDnsModal.vue:194 -#: src/views/cert/DnsView.vue:319 +#: src/views/cert/CreateDnsModal.vue:194 src/views/cert/DnsView.vue:319 msgid "For intranet environments, will wait 60s instead of polling DNS" msgstr "在内网环境中,将等待 60 秒而不是轮询 DNS" -#: src/views/cert/DnsView.vue:36 -#: src/views/cert/DnsView.vue:189 +#: src/views/cert/DnsView.vue:36 src/views/cert/DnsView.vue:189 msgid "Note Name" msgstr "备注名称" @@ -5719,8 +5380,7 @@ msgstr "修改 DNS" msgid "Enter note name" msgstr "输入备注名称" -#: src/views/cert/IndexView.vue:105 -#: src/views/cert/UploadCertModal.vue:38 +#: src/views/cert/IndexView.vue:105 src/views/cert/UploadCertModal.vue:38 msgid "Upload Certificate" msgstr "上传证书" @@ -5733,21 +5393,17 @@ msgstr "自动" msgid "Self-signed" msgstr "自签名" -#: src/views/cert/ObtainModal.vue:67 -#: src/views/cert/ObtainModal.vue:167 +#: src/views/cert/ObtainModal.vue:67 src/views/cert/ObtainModal.vue:167 msgid "Renewal successful" msgstr "续签成功" -#: src/views/cert/ObtainModal.vue:68 -#: src/views/cert/ObtainModal.vue:110 +#: src/views/cert/ObtainModal.vue:68 src/views/cert/ObtainModal.vue:110 #: src/views/cert/ObtainModal.vue:167 msgid "Issuance successful" msgstr "签发成功" -#: src/views/cert/ObtainModal.vue:84 -#: src/views/cert/ObtainModal.vue:90 -#: src/views/home/UpdateView.vue:91 -#: src/views/home/UpdateView.vue:96 +#: src/views/cert/ObtainModal.vue:84 src/views/cert/ObtainModal.vue:90 +#: src/views/home/UpdateView.vue:106 src/views/home/UpdateView.vue:111 msgid "WebSocket connection failed" msgstr "WebSocket 连接失败" @@ -5763,15 +5419,11 @@ msgstr "签发证书" msgid "Issuance Mode" msgstr "签发模式" -#: src/views/container/ComposeView.vue:93 -#: src/views/container/ImageView.vue:88 +#: src/views/container/ComposeView.vue:93 src/views/container/ImageView.vue:88 #: src/views/container/NetworkView.vue:103 -#: src/views/container/VolumeView.vue:57 -#: src/views/setting/PasskeyModal.vue:33 -#: src/views/setting/SettingUser.vue:79 -#: src/views/setting/TokenModal.vue:39 -#: src/views/task/CronView.vue:100 -#: src/views/task/TaskView.vue:51 +#: src/views/container/VolumeView.vue:57 src/views/setting/PasskeyModal.vue:33 +#: src/views/setting/SettingUser.vue:79 src/views/setting/TokenModal.vue:39 +#: src/views/task/CronView.vue:100 src/views/task/TaskView.vue:51 #: src/views/toolbox/WebHookView.vue:125 msgid "Creation Time" msgstr "创建时间" @@ -5818,8 +5470,7 @@ msgid "Are you sure you want to delete the selected composes?" msgstr "您确定要删除所选的编排吗?" #: src/views/container/ComposeView.vue:328 -#: src/views/container/ComposeView.vue:354 -#: src/views/container/IndexView.vue:23 +#: src/views/container/ComposeView.vue:354 src/views/container/IndexView.vue:23 msgid "Compose" msgstr "编排" @@ -5855,13 +5506,15 @@ msgid "Please enter image name" msgstr "请输入镜像名" #: src/views/container/ContainerCreate.vue:158 -msgid "Updating will remove the current container and recreate it with the new configuration. Data not stored in mounted volumes will be lost. Continue?" -msgstr "更新将移除当前容器并使用新配置重新创建,未存储在挂载卷中的数据将丢失,是否继续?" +msgid "" +"Updating will remove the current container and recreate it with the new " +"configuration. Data not stored in mounted volumes will be lost. Continue?" +msgstr "" +"更新将移除当前容器并使用新配置重新创建,未存储在挂载卷中的数据将丢失,是否继" +"续?" -#: src/views/container/ContainerCreate.vue:161 -#: src/views/file/ListView.vue:311 -#: src/views/file/UploadModal.vue:504 -#: src/views/file/UploadModal.vue:639 +#: src/views/container/ContainerCreate.vue:161 src/views/file/ListView.vue:311 +#: src/views/file/UploadModal.vue:504 src/views/file/UploadModal.vue:639 #: src/views/tamper/TamperView.vue:70 msgid "Continue" msgstr "继续" @@ -5969,7 +5622,9 @@ msgid "Container End" msgstr "容器结束" #: src/views/container/ContainerCreate.vue:447 -msgid "All exposed ports in the image will be automatically mapped to random host ports." +msgid "" +"All exposed ports in the image will be automatically mapped to random host " +"ports." msgstr "镜像中的所有暴露端口将自动映射到随机主机端口。" #: src/views/container/ContainerCreate.vue:456 @@ -5990,7 +5645,9 @@ msgid "Container path" msgstr "容器路径" #: src/views/container/ContainerCreate.vue:485 -msgid "Mount host directories or volumes into the container. Use absolute paths for host directories." +msgid "" +"Mount host directories or volumes into the container. Use absolute paths for " +"host directories." msgstr "将主机目录或卷挂载到容器中。主机目录需使用绝对路径。" #: src/views/container/ContainerCreate.vue:494 @@ -5999,7 +5656,9 @@ msgid "Resource Limits" msgstr "资源限制" #: src/views/container/ContainerCreate.vue:498 -msgid "Set resource limits to prevent the container from consuming too many system resources. Set to 0 for no limit." +msgid "" +"Set resource limits to prevent the container from consuming too many system " +"resources. Set to 0 for no limit." msgstr "设置资源限制以防止容器消耗过多系统资源。设置为 0 表示无限制。" #: src/views/container/ContainerCreate.vue:506 @@ -6031,12 +5690,17 @@ msgid "Maximum memory the container can use, in MB. 0 means no limit." msgstr "容器可以使用的最大内存,单位为 MB。0 表示无限制。" #: src/views/container/ContainerCreate.vue:547 -msgid "Number of CPU cores the container can use. 0.5 means half a core, 2 means 2 cores." +msgid "" +"Number of CPU cores the container can use. 0.5 means half a core, 2 means 2 " +"cores." msgstr "容器可以使用的 CPU 核心数。0.5 意味着半个核心,2 意味着 2 个核心。" #: src/views/container/ContainerCreate.vue:554 -msgid "Relative CPU weight. Default is 1024. Higher values get more CPU time when competing." -msgstr "相对 CPU 权重。默认值为 1024。当竞争时,更高的值会获得更多的 CPU 时间。" +msgid "" +"Relative CPU weight. Default is 1024. Higher values get more CPU time when " +"competing." +msgstr "" +"相对 CPU 权重。默认值为 1024。当竞争时,更高的值会获得更多的 CPU 时间。" #: src/views/container/ContainerCreate.vue:566 msgid "Environment" @@ -6058,10 +5722,8 @@ msgstr "启动命令" #: src/views/container/ContainerCreate.vue:594 #: src/views/container/ContainerInfoModal.vue:146 -#: src/views/home/IndexView.vue:674 -#: src/views/home/IndexView.vue:775 -#: src/views/monitor/SystemView.vue:323 -#: src/views/monitor/SystemView.vue:335 +#: src/views/home/IndexView.vue:674 src/views/home/IndexView.vue:775 +#: src/views/monitor/SystemView.vue:323 src/views/monitor/SystemView.vue:335 msgid "Command" msgstr "命令" @@ -6109,8 +5771,7 @@ msgid "Container Info" msgstr "容器信息" #: src/views/container/ContainerInfoModal.vue:100 -#: src/views/toolbox/disk/SmartView.vue:280 -#: src/views/toolbox/PanelView.vue:98 +#: src/views/toolbox/disk/SmartView.vue:280 src/views/toolbox/PanelView.vue:98 msgid "Basic Info" msgstr "基本信息" @@ -6153,8 +5814,7 @@ msgid "No environment variables" msgstr "无环境变量" #: src/views/container/ContainerInfoModal.vue:214 -#: src/views/toolbox/WebHookView.vue:73 -#: src/views/toolbox/WebHookView.vue:339 +#: src/views/toolbox/WebHookView.vue:73 src/views/toolbox/WebHookView.vue:339 #: src/views/toolbox/WebHookView.vue:380 msgid "Raw Output" msgstr "原始输出" @@ -6178,8 +5838,7 @@ msgstr "暂停" msgid "Resume" msgstr "恢复" -#: src/views/container/ContainerView.vue:254 -#: src/views/file/ListView.vue:1695 +#: src/views/container/ContainerView.vue:254 src/views/file/ListView.vue:1695 msgid "More" msgstr "更多" @@ -6250,8 +5909,7 @@ msgid "Pull completed" msgstr "拉取完成" #: src/views/container/ImagePullModal.vue:152 -#: src/views/container/ImageView.vue:279 -#: src/views/container/ImageView.vue:325 +#: src/views/container/ImageView.vue:279 src/views/container/ImageView.vue:325 msgid "Pull Image" msgstr "拉取镜像" @@ -6291,10 +5949,8 @@ msgstr "容器数量" #: src/views/container/ImageView.vue:109 #: src/views/container/NetworkView.vue:125 -#: src/views/container/VolumeView.vue:78 -#: src/views/firewall/ForwardView.vue:93 -#: src/views/firewall/IpRuleView.vue:135 -#: src/views/firewall/RuleView.vue:275 +#: src/views/container/VolumeView.vue:78 src/views/firewall/ForwardView.vue:93 +#: src/views/firewall/IpRuleView.vue:135 src/views/firewall/RuleView.vue:275 #: src/views/task/TaskView.vue:122 msgid "Are you sure you want to delete?" msgstr "您确定要删除吗?" @@ -6333,13 +5989,11 @@ msgstr "网络" #: src/views/container/NetworkView.vue:55 #: src/views/container/NetworkView.vue:260 -#: src/views/container/VolumeView.vue:36 -#: src/views/container/VolumeView.vue:206 +#: src/views/container/VolumeView.vue:36 src/views/container/VolumeView.vue:206 msgid "Driver" msgstr "驱动" -#: src/views/container/NetworkView.vue:62 -#: src/views/container/VolumeView.vue:43 +#: src/views/container/NetworkView.vue:62 src/views/container/VolumeView.vue:43 #: src/views/website/EditModal.vue:2148 msgid "Scope" msgstr "范围" @@ -6419,10 +6073,8 @@ msgstr "选项名称" msgid "Option Value" msgstr "选项值" -#: src/views/container/VolumeView.vue:50 -#: src/views/home/IndexView.vue:818 -#: src/views/toolbox/DiskView.vue:282 -#: src/views/toolbox/DiskView.vue:604 +#: src/views/container/VolumeView.vue:50 src/views/home/IndexView.vue:818 +#: src/views/toolbox/DiskView.vue:282 src/views/toolbox/DiskView.vue:604 msgid "Mount Point" msgstr "挂载点" @@ -6550,12 +6202,12 @@ msgstr "输入数据库服务器备注" #: src/views/database/CreateUserModal.vue:100 #: src/views/database/UpdateUserModal.vue:59 -msgid "If the privilege databases does not exist, it will be created automatically." +msgid "" +"If the privilege databases does not exist, it will be created automatically." msgstr "如果特权数据库不存在,将会自动创建。" #: src/views/database/CreateUserModal.vue:158 -#: src/views/database/UpdateUserModal.vue:72 -#: src/views/database/UserList.vue:81 +#: src/views/database/UpdateUserModal.vue:72 src/views/database/UserList.vue:81 msgid "Privileges" msgstr "权限" @@ -6705,8 +6357,7 @@ msgstr "新键名" msgid "Enter new key name" msgstr "输入新的键名称" -#: src/views/database/RedisKeyModal.vue:90 -#: src/views/toolbox/SshView.vue:339 +#: src/views/database/RedisKeyModal.vue:90 src/views/toolbox/SshView.vue:339 msgid "View Key" msgstr "查看密钥" @@ -6736,13 +6387,11 @@ msgstr "输入 JSON 值" msgid "Unsupported database type" msgstr "不支持的数据库类型" -#: src/views/database/ServerList.vue:147 -#: src/views/database/UserList.vue:120 +#: src/views/database/ServerList.vue:147 src/views/database/UserList.vue:120 msgid "Valid" msgstr "有效" -#: src/views/database/ServerList.vue:147 -#: src/views/database/UserList.vue:120 +#: src/views/database/ServerList.vue:147 src/views/database/UserList.vue:120 msgid "Invalid" msgstr "无效" @@ -6751,11 +6400,12 @@ msgid "Confirm Sync" msgstr "确认同步" #: src/views/database/ServerList.vue:188 -msgid "Are you sure you want to synchronize database users (excluding password) to the panel?" +msgid "" +"Are you sure you want to synchronize database users (excluding password) to " +"the panel?" msgstr "您确定要将数据库用户(不包括密码)同步到面板吗?" -#: src/views/database/ServerList.vue:195 -#: src/views/toolbox/SystemView.vue:101 +#: src/views/database/ServerList.vue:195 src/views/toolbox/SystemView.vue:101 msgid "Synchronized successfully" msgstr "同步成功" @@ -6764,7 +6414,9 @@ msgid "Sync" msgstr "同步" #: src/views/database/ServerList.vue:234 -msgid "Built-in servers cannot be deleted. If you need to delete them, please uninstall the corresponding app" +msgid "" +"Built-in servers cannot be deleted. If you need to delete them, please " +"uninstall the corresponding app" msgstr "内置服务器无法删除。如果需要删除它们,请卸载相应的应用" #: src/views/database/ServerList.vue:241 @@ -6787,8 +6439,7 @@ msgstr "未保存" msgid "Are you sure you want to delete the user?" msgstr "您确定要删除该用户吗?" -#: src/views/environment/DotnetView.vue:13 -#: src/views/environment/GoView.vue:46 +#: src/views/environment/DotnetView.vue:13 src/views/environment/GoView.vue:46 #: src/views/environment/JavaView.vue:13 #: src/views/environment/NodejsView.vue:49 #: src/views/environment/PHPView.vue:131 @@ -6796,8 +6447,7 @@ msgstr "您确定要删除该用户吗?" msgid "Set successfully" msgstr "设置成功" -#: src/views/environment/DotnetView.vue:25 -#: src/views/environment/GoView.vue:64 +#: src/views/environment/DotnetView.vue:25 src/views/environment/GoView.vue:64 #: src/views/environment/JavaView.vue:25 #: src/views/environment/NodejsView.vue:67 #: src/views/environment/PHPView.vue:196 @@ -6806,8 +6456,11 @@ msgid "Set as CLI Default Version" msgstr "设置为 CLI 默认版本" #: src/views/environment/DotnetView.vue:30 -msgid ".NET is a free, open-source, cross-platform framework for building modern apps and powerful cloud services." -msgstr ".NET 是一个免费、开源、跨平台的框架,用于构建现代应用程序和强大的云服务。" +msgid "" +".NET is a free, open-source, cross-platform framework for building modern " +"apps and powerful cloud services." +msgstr "" +".NET 是一个免费、开源、跨平台的框架,用于构建现代应用程序和强大的云服务。" #: src/views/environment/GoView.vue:16 msgid "Official (proxy.golang.org)" @@ -6817,13 +6470,11 @@ msgstr "官方(proxy.golang.org)" msgid "China - Qiniu (goproxy.cn)" msgstr "中国 - 七牛云(goproxy.cn)" -#: src/views/environment/GoView.vue:19 -#: src/views/environment/PythonView.vue:18 +#: src/views/environment/GoView.vue:19 src/views/environment/PythonView.vue:18 msgid "China - Alibaba (mirrors.aliyun.com)" msgstr "中国 - 阿里巴巴(mirrors.aliyun.com)" -#: src/views/environment/GoView.vue:23 -#: src/views/environment/NodejsView.vue:22 +#: src/views/environment/GoView.vue:23 src/views/environment/NodejsView.vue:22 #: src/views/environment/PythonView.vue:22 msgid "China - Tencent (mirrors.tencent.com)" msgstr "中国 - 腾讯(mirrors.tencent.com)" @@ -6833,7 +6484,9 @@ msgid "Proxy Settings" msgstr "代理设置" #: src/views/environment/GoView.vue:74 -msgid "GOPROXY is used to configure the Go module proxy. Using a domestic mirror can speed up dependency downloads." +msgid "" +"GOPROXY is used to configure the Go module proxy. Using a domestic mirror " +"can speed up dependency downloads." msgstr "GOPROXY 用于配置 Go 模块代理。使用国内镜像可以加快依赖项下载速度。" #: src/views/environment/GoView.vue:79 @@ -6845,8 +6498,12 @@ msgid "Select or enter proxy address" msgstr "选择或输入代理地址" #: src/views/environment/JavaView.vue:30 -msgid "Amazon Corretto is a no-cost, multiplatform, production-ready distribution of the Open Java Development Kit (OpenJDK)." -msgstr "Amazon Corretto 是一个无成本、多平台、生产就绪的 Open Java Development Kit(OpenJDK)发行版。" +msgid "" +"Amazon Corretto is a no-cost, multiplatform, production-ready distribution " +"of the Open Java Development Kit (OpenJDK)." +msgstr "" +"Amazon Corretto 是一个无成本、多平台、生产就绪的 Open Java Development Kit" +"(OpenJDK)发行版。" #: src/views/environment/NodejsView.vue:16 msgid "Official (registry.npmjs.org)" @@ -6865,7 +6522,9 @@ msgid "Registry Settings" msgstr "注册表设置" #: src/views/environment/NodejsView.vue:77 -msgid "npm registry is used to configure the npm package source. Using a domestic mirror can speed up package downloads." +msgid "" +"npm registry is used to configure the npm package source. Using a domestic " +"mirror can speed up package downloads." msgstr "npm 注册表用于配置 npm 包源。使用国内镜像可以加速包下载。" #: src/views/environment/NodejsView.vue:82 @@ -6910,8 +6569,12 @@ msgid "Disabled Functions" msgstr "禁用函数" #: src/views/environment/PhpConfigTuneView.vue:283 -msgid "Enter the PHP functions to disable, separated by commas. Common dangerous functions include: exec, shell_exec, system, passthru, proc_open, popen, etc." -msgstr "输入要禁用的 PHP 函数,用逗号分隔。常见的危险函数包括:exec、shell_exec、system、passthru、proc_open、popen 等。" +msgid "" +"Enter the PHP functions to disable, separated by commas. Common dangerous " +"functions include: exec, shell_exec, system, passthru, proc_open, popen, etc." +msgstr "" +"输入要禁用的 PHP 函数,用逗号分隔。常见的危险函数包括:exec、shell_exec、" +"system、passthru、proc_open、popen 等。" #: src/views/environment/PhpConfigTuneView.vue:294 msgid "e.g. exec,shell_exec,system,passthru" @@ -6922,7 +6585,9 @@ msgid "Upload Limits" msgstr "上传限制" #: src/views/environment/PhpConfigTuneView.vue:314 -msgid "Adjust PHP file upload limits. post_max_size should be greater than upload_max_filesize." +msgid "" +"Adjust PHP file upload limits. post_max_size should be greater than " +"upload_max_filesize." msgstr "调整 PHP 文件上传限制。post_max_size 应大于 upload_max_filesize。" #: src/views/environment/PhpConfigTuneView.vue:320 @@ -6950,7 +6615,8 @@ msgid "Timeout Limits" msgstr "超时限制" #: src/views/environment/PhpConfigTuneView.vue:385 -msgid "Adjust PHP script timeout limits. Values are in seconds, -1 means no limit." +msgid "" +"Adjust PHP script timeout limits. Values are in seconds, -1 means no limit." msgstr "调整 PHP 脚本超时限制。值以秒为单位,-1 表示无限制。" #: src/views/environment/PhpConfigTuneView.vue:389 @@ -6975,7 +6641,8 @@ msgid "e.g. 1000" msgstr "例如 1000" #: src/views/environment/PhpConfigTuneView.vue:430 -msgid "Adjust PHP-FPM process manager settings. These settings are in php-fpm.conf." +msgid "" +"Adjust PHP-FPM process manager settings. These settings are in php-fpm.conf." msgstr "调整 PHP-FPM 进程管理器设置。这些设置在 php-fpm.conf 中。" #: src/views/environment/PhpConfigTuneView.vue:434 @@ -7003,8 +6670,12 @@ msgid "Max Spare Servers (pm.max_spare_servers)" msgstr "最大空闲服务器数(pm.max_spare_servers)" #: src/views/environment/PhpConfigTuneView.vue:495 -msgid "Adjust PHP session settings. When using redis or memcached, make sure the corresponding extension is installed and the service is running." -msgstr "调整 PHP 会话设置。使用 redis 或 memcached 时,请确保已安装相应扩展且服务正在运行。" +msgid "" +"Adjust PHP session settings. When using redis or memcached, make sure the " +"corresponding extension is installed and the service is running." +msgstr "" +"调整 PHP 会话设置。使用 redis 或 memcached 时,请确保已安装相应扩展且服务正在" +"运行。" #: src/views/environment/PhpConfigTuneView.vue:501 msgid "Save Handler (session.save_handler)" @@ -7075,16 +6746,24 @@ msgid "View PHPInfo" msgstr "查看 PHPInfo" #: src/views/environment/PHPView.vue:227 -msgid "This modifies the PHP %{ version } main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 PHP %{ version } 的主配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the PHP %{ version } main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 PHP %{ version } 的主配置文件。如果您不了解每个参数的含义,请不要随" +"意修改!" #: src/views/environment/PHPView.vue:241 msgid "FPM Configuration" msgstr "FPM 配置" #: src/views/environment/PHPView.vue:245 -msgid "This modifies the PHP %{ version } FPM configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "这将修改 PHP %{ version } 的 FPM 配置文件。如果您不了解每个参数的含义,请不要随意修改!" +msgid "" +"This modifies the PHP %{ version } FPM configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"这将修改 PHP %{ version } 的 FPM 配置文件。如果您不了解每个参数的含义,请不要" +"随意修改!" #: src/views/environment/PHPView.vue:282 msgid "Slow Logs" @@ -7111,7 +6790,9 @@ msgid "Mirror Settings" msgstr "镜像设置" #: src/views/environment/PythonView.vue:81 -msgid "pip mirror is used to configure the Python package source. Using a domestic mirror can speed up package downloads." +msgid "" +"pip mirror is used to configure the Python package source. Using a domestic " +"mirror can speed up package downloads." msgstr "pip 镜像用于配置 Python 包源。使用国内镜像可以加速包下载。" #: src/views/environment/PythonView.vue:86 @@ -7152,15 +6833,12 @@ msgid "Name cannot be empty" msgstr "名称不能为空" #: src/views/file/composables/usePaste.ts:96 -#: src/views/file/composables/usePaste.ts:150 -#: src/views/task/TaskView.vue:46 +#: src/views/file/composables/usePaste.ts:150 src/views/task/TaskView.vue:46 msgid "Canceled" msgstr "已取消" -#: src/views/file/composables/usePaste.ts:138 -#: src/views/file/ListView.vue:306 -#: src/views/file/ListView.vue:848 -#: src/views/file/ListView.vue:897 +#: src/views/file/composables/usePaste.ts:138 src/views/file/ListView.vue:306 +#: src/views/file/ListView.vue:848 src/views/file/ListView.vue:897 msgid "Warning" msgstr "警告" @@ -7168,23 +6846,19 @@ msgstr "警告" msgid "There are items with the same name %{ items } Do you want to overwrite?" msgstr "存在同名项目 %{ items } 是否要覆盖?" -#: src/views/file/composables/usePaste.ts:175 -#: src/views/file/ListView.vue:850 -#: src/views/file/UploadModal.vue:750 -#: src/views/file/UploadModal.vue:777 +#: src/views/file/composables/usePaste.ts:175 src/views/file/ListView.vue:850 +#: src/views/file/UploadModal.vue:750 src/views/file/UploadModal.vue:777 msgid "Overwrite" msgstr "覆盖" #: src/views/file/CompressModal.vue:52 -msgid "Compress task created successfully, please check the task list for progress" +msgid "" +"Compress task created successfully, please check the task list for progress" msgstr "压缩任务创建成功,请在任务列表中查看进度" -#: src/views/file/CompressModal.vue:97 -#: src/views/file/CompressModal.vue:120 -#: src/views/file/ListView.vue:376 -#: src/views/file/ListView.vue:412 -#: src/views/file/ListView.vue:1007 -#: src/views/file/ListView.vue:1660 +#: src/views/file/CompressModal.vue:97 src/views/file/CompressModal.vue:120 +#: src/views/file/ListView.vue:376 src/views/file/ListView.vue:412 +#: src/views/file/ListView.vue:1007 src/views/file/ListView.vue:1660 #: src/views/file/ToolBar.vue:189 msgid "Compress" msgstr "压缩" @@ -7217,14 +6891,12 @@ msgstr "文件编辑器" msgid "Drop files to upload" msgstr "拖放文件以上传" -#: src/views/file/ListView.vue:262 -#: src/views/file/ListView.vue:429 +#: src/views/file/ListView.vue:262 src/views/file/ListView.vue:429 #: src/views/file/ListView.vue:1030 msgid "Add Protection" msgstr "添加保护" -#: src/views/file/ListView.vue:262 -#: src/views/file/ListView.vue:428 +#: src/views/file/ListView.vue:262 src/views/file/ListView.vue:428 #: src/views/file/ListView.vue:1030 msgid "Remove Protection" msgstr "移除保护" @@ -7234,7 +6906,9 @@ msgid "Add tamper protection for %{ name }?" msgstr "为 %{ name } 添加防篡改保护?" #: src/views/file/ListView.vue:265 -msgid "Remove tamper protection for %{ name }? The matching rule or exclusions will be adjusted accordingly." +msgid "" +"Remove tamper protection for %{ name }? The matching rule or exclusions will " +"be adjusted accordingly." msgstr "移除 %{ name } 的防篡改保护?匹配的规则或排除项将相应调整。" #: src/views/file/ListView.vue:273 @@ -7242,56 +6916,49 @@ msgid "Operation successful" msgstr "操作成功" #: src/views/file/ListView.vue:307 -msgid "%{ name } has immutable attribute. The panel will temporarily remove the immutable attribute, perform the operation, and then restore the immutable attribute. Do you want to continue?" -msgstr "%{ name } 具有不可变属性。面板将暂时移除不可变属性,执行操作,然后恢复不可变属性。您要继续吗?" +msgid "" +"%{ name } has immutable attribute. The panel will temporarily remove the " +"immutable attribute, perform the operation, and then restore the immutable " +"attribute. Do you want to continue?" +msgstr "" +"%{ name } 具有不可变属性。面板将暂时移除不可变属性,执行操作,然后恢复不可变" +"属性。您要继续吗?" -#: src/views/file/ListView.vue:364 -#: src/views/file/ListView.vue:382 -#: src/views/file/ListView.vue:438 -#: src/views/file/ToolBar.vue:184 +#: src/views/file/ListView.vue:364 src/views/file/ListView.vue:382 +#: src/views/file/ListView.vue:438 src/views/file/ToolBar.vue:184 msgid "Paste" msgstr "粘贴" -#: src/views/file/ListView.vue:375 -#: src/views/file/ListView.vue:409 -#: src/views/file/ListView.vue:1005 -#: src/views/file/ToolBar.vue:188 +#: src/views/file/ListView.vue:375 src/views/file/ListView.vue:409 +#: src/views/file/ListView.vue:1005 src/views/file/ToolBar.vue:188 msgid "Move" msgstr "移动" -#: src/views/file/ListView.vue:377 -#: src/views/file/ListView.vue:410 -#: src/views/file/ListView.vue:1006 -#: src/views/file/ListView.vue:1454 -#: src/views/file/PermissionModal.vue:146 -#: src/views/file/PropertyModal.vue:42 +#: src/views/file/ListView.vue:377 src/views/file/ListView.vue:410 +#: src/views/file/ListView.vue:1006 src/views/file/ListView.vue:1454 +#: src/views/file/PermissionModal.vue:146 src/views/file/PropertyModal.vue:42 #: src/views/file/ToolBar.vue:190 msgid "Permission" msgstr "权限" -#: src/views/file/ListView.vue:394 -#: src/views/file/ListView.vue:1647 +#: src/views/file/ListView.vue:394 src/views/file/ListView.vue:1647 msgid "Open" msgstr "打开" -#: src/views/file/ListView.vue:396 -#: src/views/file/ListView.vue:1666 +#: src/views/file/ListView.vue:396 src/views/file/ListView.vue:1666 msgid "Preview" msgstr "预览" -#: src/views/file/ListView.vue:398 -#: src/views/file/ListView.vue:1012 +#: src/views/file/ListView.vue:398 src/views/file/ListView.vue:1012 #: src/views/file/ListView.vue:1769 msgid "Uncompress" msgstr "解压" -#: src/views/file/ListView.vue:416 -#: src/views/file/ListView.vue:1017 +#: src/views/file/ListView.vue:416 src/views/file/ListView.vue:1017 msgid "Share" msgstr "分享" -#: src/views/file/ListView.vue:433 -#: src/views/file/ListView.vue:1035 +#: src/views/file/ListView.vue:433 src/views/file/ListView.vue:1035 #: src/views/file/PropertyModal.vue:11 msgid "Properties" msgstr "属性" @@ -7312,8 +6979,7 @@ msgstr "某些文件是不可变的,无法删除" msgid "Are you sure you want to delete %{count} items?" msgstr "您确定要删除 %{count} 项吗?" -#: src/views/file/ListView.vue:908 -#: src/views/file/PathInput.vue:34 +#: src/views/file/ListView.vue:908 src/views/file/PathInput.vue:34 msgid "Path copied to clipboard" msgstr "路径已复制到剪贴板" @@ -7322,7 +6988,8 @@ msgid "Copy Path" msgstr "复制路径" #: src/views/file/ListView.vue:1291 -msgid "Uncompress task created successfully, please check the task list for progress" +msgid "" +"Uncompress task created successfully, please check the task list for progress" msgstr "解压任务创建成功,请在任务列表中查看进度" #: src/views/file/ListView.vue:1706 @@ -7349,8 +7016,7 @@ msgstr "解压 - %{ file }" msgid "Uncompress to" msgstr "解压到" -#: src/views/file/ListView.vue:1779 -#: src/views/file/ToolBar.vue:237 +#: src/views/file/ListView.vue:1779 src/views/file/ToolBar.vue:237 msgid "Terminal - %{ path }" msgstr "终端 - %{ path }" @@ -7358,8 +7024,7 @@ msgstr "终端 - %{ path }" msgid "Failed to copy path" msgstr "路径复制失败" -#: src/views/file/PathInput.vue:109 -#: src/views/home/UpdateView.vue:161 +#: src/views/file/PathInput.vue:109 src/views/home/UpdateView.vue:176 #: src/views/toolbox/MigrationView.vue:589 msgid "Back" msgstr "返回" @@ -7402,27 +7067,22 @@ msgid "Modify permissions - %{ path }" msgstr "修改权限 - %{ path }" #: src/views/file/PermissionModal.vue:119 -#: src/views/file/PermissionModal.vue:149 -#: src/views/file/PropertyModal.vue:45 +#: src/views/file/PermissionModal.vue:149 src/views/file/PropertyModal.vue:45 msgid "Owner" msgstr "所有者" #: src/views/file/PermissionModal.vue:121 #: src/views/file/PermissionModal.vue:130 -#: src/views/file/PermissionModal.vue:139 -#: src/views/home/IndexView.vue:212 -#: src/views/home/IndexView.vue:228 -#: src/views/home/IndexView.vue:1012 +#: src/views/file/PermissionModal.vue:139 src/views/home/IndexView.vue:212 +#: src/views/home/IndexView.vue:228 src/views/home/IndexView.vue:1012 #: src/views/monitor/SystemView.vue:627 msgid "Read" msgstr "读取" #: src/views/file/PermissionModal.vue:122 #: src/views/file/PermissionModal.vue:131 -#: src/views/file/PermissionModal.vue:140 -#: src/views/home/IndexView.vue:212 -#: src/views/home/IndexView.vue:252 -#: src/views/home/IndexView.vue:1013 +#: src/views/file/PermissionModal.vue:140 src/views/home/IndexView.vue:212 +#: src/views/home/IndexView.vue:252 src/views/home/IndexView.vue:1013 #: src/views/monitor/SystemView.vue:636 msgid "Write" msgstr "写入" @@ -7481,8 +7141,7 @@ msgstr "30 天" msgid "Share link created successfully" msgstr "分享链接创建成功" -#: src/views/file/ShareModal.vue:55 -#: src/views/file/ShareModal.vue:64 +#: src/views/file/ShareModal.vue:55 src/views/file/ShareModal.vue:64 msgid "Link copied to clipboard" msgstr "链接已复制到剪贴板" @@ -7526,12 +7185,9 @@ msgstr "有效期" msgid "Download Limit" msgstr "下载次数限制" -#: src/views/file/ShareModal.vue:162 -#: src/views/website/EditModal.vue:1564 -#: src/views/website/EditModal.vue:1579 -#: src/views/website/EditModal.vue:2001 -#: src/views/website/EditModal.vue:2014 -#: src/views/website/EditModal.vue:2027 +#: src/views/file/ShareModal.vue:162 src/views/website/EditModal.vue:1564 +#: src/views/website/EditModal.vue:1579 src/views/website/EditModal.vue:2001 +#: src/views/website/EditModal.vue:2014 src/views/website/EditModal.vue:2027 msgid "Unlimited" msgstr "无限制" @@ -7540,7 +7196,8 @@ msgid "Create Share Link" msgstr "创建分享链接" #: src/views/file/ToolBar.vue:57 -msgid "Download task created successfully, please check the task list for progress" +msgid "" +"Download task created successfully, please check the task list for progress" msgstr "下载任务创建成功,请在任务列表中查看进度" #: src/views/file/ToolBar.vue:67 @@ -7555,8 +7212,7 @@ msgstr "请选择要移动的文件/文件夹" msgid "Sort" msgstr "排序" -#: src/views/file/ToolBar.vue:155 -#: src/views/file/ToolBar.vue:209 +#: src/views/file/ToolBar.vue:155 src/views/file/ToolBar.vue:209 msgid "Remote Download" msgstr "远程下载" @@ -7592,19 +7248,18 @@ msgstr "无效的新名称「%{name}」" msgid "Duplicate new name \"%{name}\"" msgstr "重复的新名称「%{name}」" -#: src/views/file/UploadModal.vue:471 -#: src/views/file/UploadModal.vue:591 +#: src/views/file/UploadModal.vue:471 src/views/file/UploadModal.vue:591 msgid "Upload %{ fileName } successful" msgstr "上传 %{ fileName } 成功" -#: src/views/file/UploadModal.vue:499 -#: src/views/file/UploadModal.vue:634 +#: src/views/file/UploadModal.vue:499 src/views/file/UploadModal.vue:634 msgid "Confirm Upload" msgstr "确认上传" -#: src/views/file/UploadModal.vue:500 -#: src/views/file/UploadModal.vue:635 -msgid "You are about to upload %{count} files. This may take a while. Do you want to continue?" +#: src/views/file/UploadModal.vue:500 src/views/file/UploadModal.vue:635 +msgid "" +"You are about to upload %{count} files. This may take a while. Do you want " +"to continue?" msgstr "您即将上传 %{count} 个文件。这可能需要一些时间。您想继续吗?" #: src/views/file/UploadModal.vue:683 @@ -7616,7 +7271,8 @@ msgid "Preparing..." msgstr "准备中……" #: src/views/file/UploadModal.vue:713 -msgid "For large files, it is recommended to use SFTP and other methods to upload" +msgid "" +"For large files, it is recommended to use SFTP and other methods to upload" msgstr "对于大文件,建议使用 SFTP 等方法上传" #: src/views/file/UploadModal.vue:725 @@ -7624,15 +7280,16 @@ msgid "Files already exist" msgstr "文件已存在" #: src/views/file/UploadModal.vue:736 -msgid "The following files already exist in the target directory. Choose an action for each." +msgid "" +"The following files already exist in the target directory. Choose an action " +"for each." msgstr "目标目录中已存在以下文件。请为每个文件选择一个操作。" #: src/views/file/UploadModal.vue:742 msgid "Apply to all:" msgstr "应用于所有:" -#: src/views/file/UploadModal.vue:744 -#: src/views/file/UploadModal.vue:775 +#: src/views/file/UploadModal.vue:744 src/views/file/UploadModal.vue:775 msgid "Skip" msgstr "跳过" @@ -7647,10 +7304,8 @@ msgstr "创建转发" #: src/views/firewall/CreateForwardModal.vue:64 #: src/views/firewall/CreateIpModal.vue:104 -#: src/views/firewall/CreateModal.vue:144 -#: src/views/firewall/ForwardView.vue:16 -#: src/views/firewall/IpRuleView.vue:16 -#: src/views/firewall/RuleView.vue:56 +#: src/views/firewall/CreateModal.vue:144 src/views/firewall/ForwardView.vue:16 +#: src/views/firewall/IpRuleView.vue:16 src/views/firewall/RuleView.vue:56 msgid "Transport Protocol" msgstr "传输协议" @@ -7669,29 +7324,25 @@ msgid "Target Port" msgstr "目标端口" #: src/views/firewall/CreateIpModal.vue:39 -#: src/views/firewall/CreateModal.vue:42 -#: src/views/firewall/IpRuleView.vue:70 +#: src/views/firewall/CreateModal.vue:42 src/views/firewall/IpRuleView.vue:70 #: src/views/firewall/RuleView.vue:15 msgid "Accept" msgstr "接受" #: src/views/firewall/CreateIpModal.vue:43 -#: src/views/firewall/CreateModal.vue:46 -#: src/views/firewall/IpRuleView.vue:72 +#: src/views/firewall/CreateModal.vue:46 src/views/firewall/IpRuleView.vue:72 #: src/views/firewall/RuleView.vue:16 msgid "Drop" msgstr "丢弃" #: src/views/firewall/CreateIpModal.vue:47 -#: src/views/firewall/CreateModal.vue:50 -#: src/views/firewall/IpRuleView.vue:74 +#: src/views/firewall/CreateModal.vue:50 src/views/firewall/IpRuleView.vue:74 #: src/views/firewall/RuleView.vue:17 msgid "Reject" msgstr "拒绝" #: src/views/firewall/CreateIpModal.vue:54 -#: src/views/firewall/CreateModal.vue:57 -#: src/views/firewall/IpRuleView.vue:99 +#: src/views/firewall/CreateModal.vue:57 src/views/firewall/IpRuleView.vue:99 #: src/views/firewall/RuleView.vue:236 #: src/views/website/stats/OverviewTab.vue:390 #: src/views/website/stats/OverviewTab.vue:424 @@ -7701,8 +7352,7 @@ msgid "Inbound" msgstr "入站" #: src/views/firewall/CreateIpModal.vue:58 -#: src/views/firewall/CreateModal.vue:61 -#: src/views/firewall/IpRuleView.vue:101 +#: src/views/firewall/CreateModal.vue:61 src/views/firewall/IpRuleView.vue:101 #: src/views/firewall/RuleView.vue:238 #: src/views/website/stats/OverviewTab.vue:388 #: src/views/website/stats/OverviewTab.vue:389 @@ -7718,15 +7368,13 @@ msgid "%{ address } created successfully" msgstr "%{ address } 创建成功" #: src/views/firewall/CreateIpModal.vue:96 -#: src/views/firewall/CreateModal.vue:136 -#: src/views/firewall/IpRuleView.vue:195 +#: src/views/firewall/CreateModal.vue:136 src/views/firewall/IpRuleView.vue:195 #: src/views/firewall/RuleView.vue:352 msgid "Create Rule" msgstr "创建规则" #: src/views/firewall/CreateIpModal.vue:107 -#: src/views/firewall/CreateModal.vue:147 -#: src/views/firewall/IpRuleView.vue:33 +#: src/views/firewall/CreateModal.vue:147 src/views/firewall/IpRuleView.vue:33 #: src/views/firewall/RuleView.vue:73 msgid "Network Protocol" msgstr "网络协议" @@ -7741,15 +7389,13 @@ msgid "IP or IP range: 172.16.0.1 or 172.16.0.0/16" msgstr "IP 或 IP 范围:172.16.0.1 或 172.16.0.0/16" #: src/views/firewall/CreateIpModal.vue:117 -#: src/views/firewall/CreateModal.vue:197 -#: src/views/firewall/IpRuleView.vue:50 +#: src/views/firewall/CreateModal.vue:197 src/views/firewall/IpRuleView.vue:50 #: src/views/firewall/RuleView.vue:178 msgid "Strategy" msgstr "策略" #: src/views/firewall/CreateIpModal.vue:120 -#: src/views/firewall/CreateModal.vue:200 -#: src/views/firewall/IpRuleView.vue:86 +#: src/views/firewall/CreateModal.vue:200 src/views/firewall/IpRuleView.vue:86 #: src/views/firewall/RuleView.vue:223 msgid "Direction" msgstr "方向" @@ -7774,23 +7420,18 @@ msgstr "起始端口" msgid "End Port" msgstr "结束端口" -#: src/views/firewall/CreateModal.vue:190 -#: src/views/firewall/IpRuleView.vue:111 -#: src/views/firewall/RuleView.vue:248 -#: src/views/monitor/AlertRuleModal.vue:148 -#: src/views/toolbox/MigrationView.vue:159 -#: src/views/website/EditModal.vue:1869 +#: src/views/firewall/CreateModal.vue:190 src/views/firewall/IpRuleView.vue:111 +#: src/views/firewall/RuleView.vue:248 src/views/monitor/AlertRuleModal.vue:148 +#: src/views/toolbox/MigrationView.vue:159 src/views/website/EditModal.vue:1869 msgid "Target" msgstr "目标" -#: src/views/firewall/ForwardView.vue:125 -#: src/views/firewall/IpRuleView.vue:167 +#: src/views/firewall/ForwardView.vue:125 src/views/firewall/IpRuleView.vue:167 #: src/views/firewall/RuleView.vue:328 msgid "Please select rules to delete" msgstr "请选择要删除的规则" -#: src/views/firewall/ForwardView.vue:157 -#: src/views/firewall/IpRuleView.vue:199 +#: src/views/firewall/ForwardView.vue:157 src/views/firewall/IpRuleView.vue:199 #: src/views/firewall/RuleView.vue:356 msgid "Are you sure you want to delete the selected rules?" msgstr "您确定要删除所选规则吗?" @@ -7807,8 +7448,7 @@ msgstr "IP 规则" msgid "Port Forwarding" msgstr "端口转发" -#: src/views/firewall/IndexView.vue:26 -#: src/views/firewall/SettingView.vue:96 +#: src/views/firewall/IndexView.vue:26 src/views/firewall/SettingView.vue:96 msgid "Scan Awareness" msgstr "扫描感知" @@ -7816,8 +7456,7 @@ msgstr "扫描感知" msgid "Tamper Protection" msgstr "防篡改" -#: src/views/firewall/IpRuleView.vue:76 -#: src/views/firewall/RuleView.vue:213 +#: src/views/firewall/IpRuleView.vue:76 src/views/firewall/RuleView.vue:213 msgid "Mark" msgstr "标记" @@ -7825,8 +7464,7 @@ msgstr "标记" msgid "Not Used" msgstr "未使用" -#: src/views/firewall/RuleView.vue:129 -#: src/views/toolbox/PanelView.vue:154 +#: src/views/firewall/RuleView.vue:129 src/views/toolbox/PanelView.vue:154 msgid "In Use" msgstr "使用中" @@ -7846,19 +7484,14 @@ msgstr "导出" msgid "Import" msgstr "导入" -#: src/views/firewall/ScanView.vue:193 -#: src/views/firewall/ScanView.vue:211 -#: src/views/firewall/ScanView.vue:223 -#: src/views/firewall/ScanView.vue:288 -#: src/views/firewall/ScanView.vue:302 -#: src/views/firewall/ScanView.vue:318 +#: src/views/firewall/ScanView.vue:193 src/views/firewall/ScanView.vue:211 +#: src/views/firewall/ScanView.vue:223 src/views/firewall/ScanView.vue:288 +#: src/views/firewall/ScanView.vue:302 src/views/firewall/ScanView.vue:318 msgid "Scan Count" msgstr "扫描次数" -#: src/views/firewall/ScanView.vue:193 -#: src/views/firewall/ScanView.vue:216 -#: src/views/firewall/ScanView.vue:229 -#: src/views/firewall/ScanView.vue:440 +#: src/views/firewall/ScanView.vue:193 src/views/firewall/ScanView.vue:216 +#: src/views/firewall/ScanView.vue:229 src/views/firewall/ScanView.vue:440 msgid "Source IPs" msgstr "源 IP 数" @@ -7881,16 +7514,13 @@ msgctxt "firewall" msgid "Block" msgstr "阻止" -#: src/views/firewall/ScanView.vue:279 -#: src/views/firewall/ScanView.vue:307 +#: src/views/firewall/ScanView.vue:279 src/views/firewall/ScanView.vue:307 #: src/views/log/SSHLog.vue:78 msgid "Source IP" msgstr "源 IP" -#: src/views/firewall/ScanView.vue:281 -#: src/views/firewall/ScanView.vue:309 -#: src/views/firewall/ScanView.vue:390 -#: src/views/website/stats/IPsTab.vue:122 +#: src/views/firewall/ScanView.vue:281 src/views/firewall/ScanView.vue:309 +#: src/views/firewall/ScanView.vue:390 src/views/website/stats/IPsTab.vue:122 msgid "Location" msgstr "位置" @@ -7898,8 +7528,7 @@ msgstr "位置" msgid "Port Count" msgstr "端口数" -#: src/views/firewall/ScanView.vue:291 -#: src/views/firewall/ScanView.vue:326 +#: src/views/firewall/ScanView.vue:291 src/views/firewall/ScanView.vue:326 msgid "Last Seen" msgstr "最后记录" @@ -7916,11 +7545,11 @@ msgid "Scan Awareness Disabled" msgstr "扫描感知已禁用" #: src/views/firewall/ScanView.vue:348 -msgid "Enable scan awareness in the Settings tab to start detecting port scans." +msgid "" +"Enable scan awareness in the Settings tab to start detecting port scans." msgstr "在设置标签页中启用扫描感知以开始检测端口扫描。" -#: src/views/firewall/ScanView.vue:356 -#: src/views/website/StatsView.vue:194 +#: src/views/firewall/ScanView.vue:356 src/views/website/StatsView.vue:194 msgid "Overview" msgstr "概览" @@ -7936,8 +7565,7 @@ msgstr "搜索 IP" msgid "Are you sure you want to clear all scan data?" msgstr "您确定要清除所有扫描数据吗?" -#: src/views/firewall/ScanView.vue:403 -#: src/views/website/StatsView.vue:185 +#: src/views/firewall/ScanView.vue:403 src/views/website/StatsView.vue:185 msgid "Clear Data" msgstr "清除数据" @@ -7962,11 +7590,14 @@ msgid "Top 10 Scanned Ports" msgstr "扫描端口前 10" #: src/views/firewall/ScanView.vue:489 -msgid "Scan awareness runs before the system firewall, so it is normal for blocked IPs to continue generating scan records." -msgstr "扫描感知运行在系统防火墙之前,因此被拉黑的 IP 仍继续产生扫描记录属于正常现象。" +msgid "" +"Scan awareness runs before the system firewall, so it is normal for blocked " +"IPs to continue generating scan records." +msgstr "" +"扫描感知运行在系统防火墙之前,因此被拉黑的 IP 仍继续产生扫描记录属于正常现" +"象。" -#: src/views/firewall/SettingView.vue:22 -#: src/views/firewall/SettingView.vue:28 +#: src/views/firewall/SettingView.vue:22 src/views/firewall/SettingView.vue:28 #: src/views/firewall/SettingView.vue:79 msgid "Settings saved successfully" msgstr "设置保存成功" @@ -8027,22 +7658,17 @@ msgstr "运行正常" msgid "Running smoothly" msgstr "运行流畅" -#: src/views/home/IndexView.vue:188 -#: src/views/home/IndexView.vue:968 -#: src/views/home/IndexView.vue:988 -#: src/views/toolbox/BenchmarkView.vue:204 -#: src/views/toolbox/DiskView.vue:758 -#: src/views/toolbox/IndexView.vue:31 +#: src/views/home/IndexView.vue:188 src/views/home/IndexView.vue:968 +#: src/views/home/IndexView.vue:988 src/views/toolbox/BenchmarkView.vue:204 +#: src/views/toolbox/DiskView.vue:758 src/views/toolbox/IndexView.vue:31 msgid "Disk" msgstr "磁盘" -#: src/views/home/IndexView.vue:211 -#: src/views/home/IndexView.vue:228 +#: src/views/home/IndexView.vue:211 src/views/home/IndexView.vue:228 msgid "Send" msgstr "发送" -#: src/views/home/IndexView.vue:211 -#: src/views/home/IndexView.vue:252 +#: src/views/home/IndexView.vue:211 src/views/home/IndexView.vue:252 msgid "Receive" msgstr "接收" @@ -8050,26 +7676,20 @@ msgstr "接收" msgid "Unit %{unit}" msgstr "单位 %{unit}" -#: src/views/home/IndexView.vue:234 -#: src/views/home/IndexView.vue:258 -#: src/views/monitor/SystemView.vue:421 -#: src/views/monitor/SystemView.vue:490 +#: src/views/home/IndexView.vue:234 src/views/home/IndexView.vue:258 +#: src/views/monitor/SystemView.vue:421 src/views/monitor/SystemView.vue:490 #: src/views/monitor/SystemView.vue:552 msgid "Maximum" msgstr "最大值" -#: src/views/home/IndexView.vue:235 -#: src/views/home/IndexView.vue:259 -#: src/views/monitor/SystemView.vue:422 -#: src/views/monitor/SystemView.vue:491 +#: src/views/home/IndexView.vue:235 src/views/home/IndexView.vue:259 +#: src/views/monitor/SystemView.vue:422 src/views/monitor/SystemView.vue:491 #: src/views/monitor/SystemView.vue:553 msgid "Minimum" msgstr "最小值" -#: src/views/home/IndexView.vue:239 -#: src/views/home/IndexView.vue:263 -#: src/views/monitor/SystemView.vue:426 -#: src/views/monitor/SystemView.vue:495 +#: src/views/home/IndexView.vue:239 src/views/home/IndexView.vue:263 +#: src/views/monitor/SystemView.vue:426 src/views/monitor/SystemView.vue:495 #: src/views/monitor/SystemView.vue:557 msgid "Average" msgstr "平均值" @@ -8090,8 +7710,7 @@ msgstr "服务器重启中……" msgid "Restart Panel" msgstr "重启面板" -#: src/views/home/IndexView.vue:394 -#: src/views/home/IndexView.vue:1037 +#: src/views/home/IndexView.vue:394 src/views/home/IndexView.vue:1037 msgid "Restart Server" msgstr "重启服务器" @@ -8100,15 +7719,24 @@ msgid "Current version is the latest" msgstr "当前版本是最新版本" #: src/views/home/IndexView.vue:513 -msgid "Your operating system %{ os_name } has reached its end-of-life. Please consider upgrading to a supported version to ensure optimal performance and security." -msgstr "您的操作系统 %{ os_name } 已经结束生命周期。请考虑升级到受支持的版本,以确保最佳的性能和安全性。" +msgid "" +"Your operating system %{ os_name } has reached its end-of-life. Please " +"consider upgrading to a supported version to ensure optimal performance and " +"security." +msgstr "" +"您的操作系统 %{ os_name } 已经结束生命周期。请考虑升级到受支持的版本,以确保" +"最佳的性能和安全性。" #: src/views/home/IndexView.vue:524 -msgid "Your operating system %{ os_name } is not officially supported. Some features may not work as expected. Please consider using a supported operating system for the best experience." -msgstr "您的操作系统 %{ os_name } 不受官方支持。某些功能可能无法按预期工作。请考虑使用受支持的操作系统以获得最佳体验。" +msgid "" +"Your operating system %{ os_name } is not officially supported. Some " +"features may not work as expected. Please consider using a supported " +"operating system for the best experience." +msgstr "" +"您的操作系统 %{ os_name } 不受官方支持。某些功能可能无法按预期工作。请考虑使" +"用受支持的操作系统以获得最佳体验。" -#: src/views/home/IndexView.vue:555 -#: src/views/task/IndexView.vue:25 +#: src/views/home/IndexView.vue:555 src/views/task/IndexView.vue:25 msgid "Scheduled Tasks" msgstr "计划任务" @@ -8136,8 +7764,7 @@ msgstr "最近 15 分钟" msgid "cores" msgstr "核心" -#: src/views/home/IndexView.vue:629 -#: src/views/toolbox/disk/RaidView.vue:111 +#: src/views/home/IndexView.vue:629 src/views/toolbox/disk/RaidView.vue:111 #: src/views/toolbox/disk/RaidView.vue:142 #: src/views/toolbox/disk/SmartView.vue:104 msgid "Model" @@ -8171,8 +7798,7 @@ msgstr "已用物理内存" msgid "Physical Memory Available" msgstr "可用物理内存" -#: src/views/home/IndexView.vue:721 -#: src/views/toolbox/DiskView.vue:218 +#: src/views/home/IndexView.vue:721 src/views/toolbox/DiskView.vue:218 msgid "Free" msgstr "空闲" @@ -8180,8 +7806,7 @@ msgstr "空闲" msgid "Active" msgstr "活跃" -#: src/views/home/IndexView.vue:727 -#: src/views/project/ListView.vue:76 +#: src/views/home/IndexView.vue:727 src/views/project/ListView.vue:76 msgid "Inactive" msgstr "非活跃" @@ -8241,8 +7866,7 @@ msgstr "您尚未设置任何要在此处显示的应用!" msgid "Environment Information" msgstr "环境信息" -#: src/views/home/IndexView.vue:901 -#: src/views/toolbox/SystemView.vue:178 +#: src/views/home/IndexView.vue:901 src/views/toolbox/SystemView.vue:178 msgid "System Hostname" msgstr "系统主机名" @@ -8303,87 +7927,81 @@ msgid "Read/Write Latency" msgstr "读/写延迟" #: src/views/home/IndexView.vue:1039 -msgid "Are you sure you want to restart the server? This will disconnect all connections." +msgid "" +"Are you sure you want to restart the server? This will disconnect all " +"connections." msgstr "您确定要重启服务器吗?这将断开所有连接。" -#: src/views/home/UpdateView.vue:102 +#: src/views/home/UpdateView.vue:117 msgid "Update Panel" msgstr "更新面板" -#: src/views/home/UpdateView.vue:103 +#: src/views/home/UpdateView.vue:118 msgid "Are you sure you want to update the panel?" msgstr "您确定要更新面板吗?" -#: src/views/home/UpdateView.vue:125 +#: src/views/home/UpdateView.vue:140 msgid "Update failed" msgstr "更新失败" -#: src/views/home/UpdateView.vue:126 +#: src/views/home/UpdateView.vue:141 msgid "Update timed out" msgstr "更新超时" -#: src/views/home/UpdateView.vue:128 +#: src/views/home/UpdateView.vue:143 msgid "Updating to v%{ v }..." msgstr "正在更新到 v%{ v }……" -#: src/views/home/UpdateView.vue:143 +#: src/views/home/UpdateView.vue:158 msgid "Panel is restarting, please wait..." msgstr "正在重启面板,请稍候……" -#: src/views/home/UpdateView.vue:149 -msgid "Update may have failed, please check the panel logs and refresh manually." +#: src/views/home/UpdateView.vue:164 +msgid "" +"Update may have failed, please check the panel logs and refresh manually." msgstr "更新可能失败,请检查面板日志并手动刷新。" -#: src/views/home/UpdateView.vue:155 +#: src/views/home/UpdateView.vue:170 msgid "Error" msgstr "错误" -#: src/views/home/UpdateView.vue:176 +#: src/views/home/UpdateView.vue:191 msgid "A new version is available" msgstr "有一个新版本可用" -#: src/views/home/UpdateView.vue:179 +#: src/views/home/UpdateView.vue:194 msgid "Current" msgstr "当前" -#: src/views/home/UpdateView.vue:186 -#: src/views/home/UpdateView.vue:208 +#: src/views/home/UpdateView.vue:201 src/views/home/UpdateView.vue:223 msgid "Latest" msgstr "最新" -#: src/views/home/UpdateView.vue:196 +#: src/views/home/UpdateView.vue:211 msgid "Update Now" msgstr "立即更新" -#: src/views/home/UpdateView.vue:202 +#: src/views/home/UpdateView.vue:217 msgid "Changelog" msgstr "更新日志" -#: src/views/log/DatabaseLog.vue:30 -#: src/views/log/HttpLog.vue:30 -#: src/views/log/OperationLog.vue:33 -#: src/views/monitor/SystemView.vue:697 -#: src/views/monitor/SystemView.vue:751 -#: src/views/monitor/SystemView.vue:803 -#: src/views/monitor/SystemView.vue:859 -#: src/views/monitor/SystemView.vue:926 +#: src/views/log/DatabaseLog.vue:30 src/views/log/HttpLog.vue:30 +#: src/views/log/OperationLog.vue:33 src/views/monitor/SystemView.vue:697 +#: src/views/monitor/SystemView.vue:751 src/views/monitor/SystemView.vue:803 +#: src/views/monitor/SystemView.vue:859 src/views/monitor/SystemView.vue:926 #: src/views/website/StatsView.vue:138 msgid "Today" msgstr "今天" -#: src/views/log/DatabaseLog.vue:48 -#: src/views/log/HttpLog.vue:56 -#: src/views/log/OperationLog.vue:51 -#: src/views/log/SSHLog.vue:58 -#: src/views/monitor/AlertView.vue:145 -#: src/views/tamper/TamperView.vue:191 +#: src/views/log/DatabaseLog.vue:48 src/views/log/HttpLog.vue:56 +#: src/views/log/OperationLog.vue:51 src/views/log/SSHLog.vue:58 +#: src/views/monitor/AlertView.vue:145 src/views/tamper/TamperView.vue:191 #: src/views/toolbox/SystemView.vue:197 #: src/views/website/stats/ErrorsTab.vue:87 msgid "Time" msgstr "时间" -#: src/views/log/DatabaseLog.vue:57 -#: src/views/log/OperationLog.vue:60 +#: src/views/log/DatabaseLog.vue:57 src/views/log/OperationLog.vue:60 msgid "Level" msgstr "级别" @@ -8391,8 +8009,7 @@ msgstr "级别" msgid "Query" msgstr "查询" -#: src/views/log/DatabaseLog.vue:81 -#: src/views/log/HttpLog.vue:107 +#: src/views/log/DatabaseLog.vue:81 src/views/log/HttpLog.vue:107 #: src/views/toolbox/MigrationView.vue:222 msgid "Duration" msgstr "持续时间" @@ -8401,21 +8018,17 @@ msgstr "持续时间" msgid "Rows" msgstr "行" -#: src/views/log/DatabaseLog.vue:112 -#: src/views/log/HttpLog.vue:141 +#: src/views/log/DatabaseLog.vue:112 src/views/log/HttpLog.vue:141 #: src/views/log/OperationLog.vue:164 msgid "Date" msgstr "日期" -#: src/views/log/DatabaseLog.vue:119 -#: src/views/log/HttpLog.vue:148 -#: src/views/log/OperationLog.vue:171 -#: src/views/log/SSHLog.vue:102 +#: src/views/log/DatabaseLog.vue:119 src/views/log/HttpLog.vue:148 +#: src/views/log/OperationLog.vue:171 src/views/log/SSHLog.vue:102 msgid "Show entries" msgstr "显示条目" -#: src/views/log/HttpLog.vue:65 -#: src/views/website/stats/ErrorsTab.vue:94 +#: src/views/log/HttpLog.vue:65 src/views/website/stats/ErrorsTab.vue:94 msgid "Method" msgstr "方法" @@ -8443,10 +8056,8 @@ msgstr "SSH 日志" msgid "Operator" msgstr "操作员" -#: src/views/log/OperationLog.vue:87 -#: src/views/monitor/IndexView.vue:20 -#: src/views/toolbox/IndexView.vue:29 -#: src/views/toolbox/PanelView.vue:129 +#: src/views/log/OperationLog.vue:87 src/views/monitor/IndexView.vue:20 +#: src/views/toolbox/IndexView.vue:29 src/views/toolbox/PanelView.vue:129 #: src/views/toolbox/PanelView.vue:148 msgid "System" msgstr "系统" @@ -8467,10 +8078,8 @@ msgstr "%{count} 个字段" msgid "Accepted" msgstr "已接受" -#: src/views/log/SSHLog.vue:46 -#: src/views/project/ListView.vue:74 -#: src/views/task/TaskView.vue:44 -#: src/views/toolbox/MigrationView.vue:86 +#: src/views/log/SSHLog.vue:46 src/views/project/ListView.vue:74 +#: src/views/task/TaskView.vue:44 src/views/toolbox/MigrationView.vue:86 msgid "Failed" msgstr "失败" @@ -8499,7 +8108,8 @@ msgid "Please enter captcha code" msgstr "请输入验证码" #: src/views/login/IndexView.vue:153 -msgid "Failed to get encryption public key, please refresh the page and try again" +msgid "" +"Failed to get encryption public key, please refresh the page and try again" msgstr "获取加密公钥失败,请刷新页面后重试" #: src/views/login/IndexView.vue:238 @@ -8534,8 +8144,7 @@ msgstr "使用通行密钥登录" msgid "Please enter the target" msgstr "请输入目标" -#: src/views/monitor/AlertRuleModal.vue:129 -#: src/views/tamper/RuleModal.vue:89 +#: src/views/monitor/AlertRuleModal.vue:129 src/views/tamper/RuleModal.vue:89 msgid "Edit Rule" msgstr "编辑规则" @@ -8543,19 +8152,16 @@ msgstr "编辑规则" msgid "Rule name" msgstr "规则名称" -#: src/views/monitor/AlertRuleModal.vue:139 -#: src/views/monitor/AlertView.vue:55 +#: src/views/monitor/AlertRuleModal.vue:139 src/views/monitor/AlertView.vue:55 #: src/views/monitor/AlertView.vue:152 msgid "Metric" msgstr "指标" -#: src/views/monitor/AlertRuleModal.vue:153 -#: src/views/monitor/AlertView.vue:64 +#: src/views/monitor/AlertRuleModal.vue:153 src/views/monitor/AlertView.vue:64 msgid "Condition" msgstr "条件" -#: src/views/monitor/AlertRuleModal.vue:161 -#: src/views/monitor/AlertView.vue:70 +#: src/views/monitor/AlertRuleModal.vue:161 src/views/monitor/AlertView.vue:70 msgid "Trigger After" msgstr "连续满足" @@ -8563,22 +8169,17 @@ msgstr "连续满足" msgid "consecutive checks" msgstr "次检查后触发" -#: src/views/monitor/AlertRuleModal.vue:166 -#: src/views/monitor/AlertView.vue:76 +#: src/views/monitor/AlertRuleModal.vue:166 src/views/monitor/AlertView.vue:76 msgid "Silence Period" msgstr "静默期" -#: src/views/monitor/AlertRuleModal.vue:168 -#: src/views/monitor/AlertView.vue:79 -#: src/views/monitor/SettingView.vue:210 -#: src/views/setting/SettingSafe.vue:45 +#: src/views/monitor/AlertRuleModal.vue:168 src/views/monitor/AlertView.vue:79 +#: src/views/monitor/SettingView.vue:210 src/views/setting/SettingSafe.vue:45 msgid "minutes" msgstr "分钟" -#: src/views/monitor/AlertRuleModal.vue:171 -#: src/views/monitor/AlertView.vue:82 -#: src/views/monitor/SettingView.vue:236 -#: src/views/monitor/SettingView.vue:276 +#: src/views/monitor/AlertRuleModal.vue:171 src/views/monitor/AlertView.vue:82 +#: src/views/monitor/SettingView.vue:236 src/views/monitor/SettingView.vue:276 msgid "Notify Channels" msgstr "通知渠道" @@ -8586,24 +8187,24 @@ msgstr "通知渠道" msgid "Record only when empty" msgstr "留空则仅记录不通知" -#: src/views/monitor/AlertRuleModal.vue:180 -#: src/views/monitor/AlertView.vue:98 -#: src/views/monitor/ChannelModal.vue:142 -#: src/views/monitor/SettingView.vue:121 -#: src/views/tamper/RuleModal.vue:121 -#: src/views/tamper/TamperView.vue:136 -#: src/views/task/CronView.vue:76 -#: src/views/toolbox/WebHookView.vue:91 +#: src/views/monitor/AlertRuleModal.vue:180 src/views/monitor/AlertView.vue:98 +#: src/views/monitor/ChannelModal.vue:142 src/views/monitor/SettingView.vue:121 +#: src/views/tamper/RuleModal.vue:121 src/views/tamper/TamperView.vue:136 +#: src/views/task/CronView.vue:76 src/views/toolbox/WebHookView.vue:91 #: src/views/toolbox/WebHookView.vue:386 msgid "Enabled" msgstr "已启用" #: src/views/monitor/AlertRuleModal.vue:186 -msgid "Metrics are checked every minute. The alert fires only after the condition holds for the configured consecutive checks, and is not repeated within the silence period." -msgstr "指标每分钟检查一次。条件连续满足设定的次数后才会触发告警,静默期内不重复通知。" +msgid "" +"Metrics are checked every minute. The alert fires only after the condition " +"holds for the configured consecutive checks, and is not repeated within the " +"silence period." +msgstr "" +"指标每分钟检查一次。条件连续满足设定的次数后才会触发告警,静默期内不重复通" +"知。" -#: src/views/monitor/AlertView.vue:73 -#: src/views/monitor/metrics.ts:92 +#: src/views/monitor/AlertView.vue:73 src/views/monitor/metrics.ts:92 msgid "times" msgstr "次" @@ -8611,32 +8212,25 @@ msgstr "次" msgid "Record only" msgstr "仅记录" -#: src/views/monitor/AlertView.vue:98 -#: src/views/monitor/SettingView.vue:121 -#: src/views/project/EditModal.vue:72 -#: src/views/setting/SettingBase.vue:187 -#: src/views/setting/SettingSafe.vue:246 -#: src/views/tamper/TamperView.vue:136 +#: src/views/monitor/AlertView.vue:98 src/views/monitor/SettingView.vue:121 +#: src/views/project/EditModal.vue:72 src/views/setting/SettingBase.vue:187 +#: src/views/setting/SettingSafe.vue:246 src/views/tamper/TamperView.vue:136 #: src/views/toolbox/network/InterfaceView.vue:67 -#: src/views/website/EditModal.vue:850 -#: src/views/website/EditModal.vue:854 +#: src/views/website/EditModal.vue:850 src/views/website/EditModal.vue:854 #: src/views/website/EditModal.vue:1069 msgid "Disabled" msgstr "禁用" -#: src/views/monitor/AlertView.vue:120 -#: src/views/tamper/TamperView.vue:158 +#: src/views/monitor/AlertView.vue:120 src/views/tamper/TamperView.vue:158 msgid "Are you sure to delete this rule?" msgstr "确定要删除此规则吗?" -#: src/views/monitor/AlertView.vue:150 -#: src/views/website/EditModal.vue:1151 +#: src/views/monitor/AlertView.vue:150 src/views/website/EditModal.vue:1151 #: src/views/website/EditModal.vue:1831 msgid "Rule" msgstr "规则" -#: src/views/monitor/AlertView.vue:160 -#: src/views/toolbox/MigrationView.vue:228 +#: src/views/monitor/AlertView.vue:160 src/views/toolbox/MigrationView.vue:228 msgid "Detail" msgstr "详情" @@ -8652,8 +8246,7 @@ msgstr "已发送" msgid "Not sent" msgstr "未发送" -#: src/views/monitor/AlertView.vue:175 -#: src/views/monitor/AlertView.vue:234 +#: src/views/monitor/AlertView.vue:175 src/views/monitor/AlertView.vue:234 msgid "Clear Records" msgstr "清除记录" @@ -8666,15 +8259,16 @@ msgid "Alert Rules" msgstr "告警规则" #: src/views/monitor/AlertView.vue:193 -msgid "Rules are checked every minute and notifications are sent through the selected channels." +msgid "" +"Rules are checked every minute and notifications are sent through the " +"selected channels." msgstr "规则每分钟检查一次,命中后通过所选渠道发送通知。" #: src/views/monitor/AlertView.vue:227 msgid "Alert Records" msgstr "告警记录" -#: src/views/monitor/ChannelModal.vue:17 -#: src/views/monitor/SettingView.vue:107 +#: src/views/monitor/ChannelModal.vue:17 src/views/monitor/SettingView.vue:107 msgid "SMTP Email" msgstr "SMTP 邮件" @@ -8694,8 +8288,7 @@ msgstr "不加密(25)" msgid "Edit Channel" msgstr "编辑渠道" -#: src/views/monitor/ChannelModal.vue:83 -#: src/views/monitor/SettingView.vue:242 +#: src/views/monitor/ChannelModal.vue:83 src/views/monitor/SettingView.vue:242 msgid "Add Channel" msgstr "添加渠道" @@ -8731,8 +8324,7 @@ msgstr "默认与登录账号相同" msgid "Sender Name" msgstr "发件人名称" -#: src/views/monitor/ChannelModal.vue:136 -#: src/views/monitor/SettingView.vue:110 +#: src/views/monitor/ChannelModal.vue:136 src/views/monitor/SettingView.vue:110 msgid "Recipients" msgstr "收件人" @@ -8772,8 +8364,7 @@ msgstr "15 分钟负载" msgid "Disk Usage" msgstr "磁盘使用率" -#: src/views/monitor/metrics.ts:52 -#: src/views/monitor/metrics.ts:59 +#: src/views/monitor/metrics.ts:52 src/views/monitor/metrics.ts:59 msgid "Mount point, e.g. /, empty for all" msgstr "挂载点,如 /,留空表示全部" @@ -8785,8 +8376,7 @@ msgstr "磁盘 Inode 使用率" msgid "Disk Read Speed" msgstr "磁盘读取速率" -#: src/views/monitor/metrics.ts:66 -#: src/views/monitor/metrics.ts:73 +#: src/views/monitor/metrics.ts:66 src/views/monitor/metrics.ts:73 msgid "Device name, e.g. sda, empty for all" msgstr "设备名,如 sda,留空表示全部" @@ -8798,8 +8388,7 @@ msgstr "磁盘写入速率" msgid "Network Download Speed" msgstr "网络下行速率" -#: src/views/monitor/metrics.ts:80 -#: src/views/monitor/metrics.ts:87 +#: src/views/monitor/metrics.ts:80 src/views/monitor/metrics.ts:87 msgid "Interface name, e.g. eth0, empty for all" msgstr "网卡名,如 eth0,留空表示全部" @@ -8811,8 +8400,7 @@ msgstr "网络上行速率" msgid "Website 5xx Responses (this hour)" msgstr "网站 5xx 响应数(本小时)" -#: src/views/monitor/metrics.ts:94 -#: src/views/monitor/metrics.ts:101 +#: src/views/monitor/metrics.ts:94 src/views/monitor/metrics.ts:101 #: src/views/monitor/metrics.ts:150 msgid "Website name, empty for all" msgstr "网站名称,留空表示全部" @@ -8865,10 +8453,8 @@ msgstr "数据库服务器名称,留空表示全部" msgid "Certificate Remaining Days" msgstr "证书剩余天数" -#: src/views/monitor/metrics.ts:141 -#: src/views/monitor/metrics.ts:148 -#: src/views/monitor/SettingView.vue:205 -#: src/views/monitor/SettingView.vue:215 +#: src/views/monitor/metrics.ts:141 src/views/monitor/metrics.ts:148 +#: src/views/monitor/SettingView.vue:205 src/views/monitor/SettingView.vue:215 msgid "days" msgstr "天" @@ -8944,13 +8530,11 @@ msgstr "SSH 登录" msgid "SSH brute-force attempts" msgstr "SSH 暴力破解尝试" -#: src/views/monitor/SettingView.vue:44 -#: src/views/monitor/SettingView.vue:229 +#: src/views/monitor/SettingView.vue:44 src/views/monitor/SettingView.vue:229 msgid "Clear Monitoring Records" msgstr "清除监控记录" -#: src/views/monitor/SettingView.vue:45 -#: src/views/website/EditModal.vue:2219 +#: src/views/monitor/SettingView.vue:45 src/views/website/EditModal.vue:2219 msgid "Are you sure you want to clear?" msgstr "确定要清除吗?" @@ -8994,10 +8578,8 @@ msgstr "事件" msgid "Select channels to receive event notifications" msgstr "选择接收事件通知的渠道" -#: src/views/monitor/SystemView.vue:323 -#: src/views/monitor/SystemView.vue:335 -#: src/views/tamper/TamperView.vue:205 -#: src/views/toolbox/IndexView.vue:27 +#: src/views/monitor/SystemView.vue:323 src/views/monitor/SystemView.vue:335 +#: src/views/tamper/TamperView.vue:205 src/views/toolbox/IndexView.vue:27 #: src/views/toolbox/NetworkView.vue:78 msgid "Process" msgstr "进程" @@ -9026,8 +8608,7 @@ msgstr "15 分钟" msgid "Usage %" msgstr "使用率 %" -#: src/views/monitor/SystemView.vue:481 -#: src/views/toolbox/DiskView.vue:259 +#: src/views/monitor/SystemView.vue:481 src/views/toolbox/DiskView.vue:259 msgid "Usage" msgstr "使用率" @@ -9039,22 +8620,17 @@ msgstr "单位 MB" msgid "Load" msgstr "负载" -#: src/views/monitor/SystemView.vue:691 -#: src/views/monitor/SystemView.vue:745 -#: src/views/monitor/SystemView.vue:797 -#: src/views/monitor/SystemView.vue:853 +#: src/views/monitor/SystemView.vue:691 src/views/monitor/SystemView.vue:745 +#: src/views/monitor/SystemView.vue:797 src/views/monitor/SystemView.vue:853 #: src/views/monitor/SystemView.vue:920 #: src/views/website/stats/OverviewTab.vue:259 #: src/views/website/StatsView.vue:144 msgid "Yesterday" msgstr "昨天" -#: src/views/monitor/SystemView.vue:703 -#: src/views/monitor/SystemView.vue:757 -#: src/views/monitor/SystemView.vue:809 -#: src/views/monitor/SystemView.vue:865 -#: src/views/monitor/SystemView.vue:932 -#: src/views/website/StatsView.vue:147 +#: src/views/monitor/SystemView.vue:703 src/views/monitor/SystemView.vue:757 +#: src/views/monitor/SystemView.vue:809 src/views/monitor/SystemView.vue:865 +#: src/views/monitor/SystemView.vue:932 src/views/website/StatsView.vue:147 msgid "Last 7 Days" msgstr "近 7 天" @@ -9114,28 +8690,26 @@ msgstr "创建 Python 项目" msgid "Create .NET Project" msgstr "创建 .NET 项目" -#: src/views/project/CreateModal.vue:407 -#: src/views/project/ListView.vue:295 +#: src/views/project/CreateModal.vue:407 src/views/project/ListView.vue:295 msgid "Create Project" msgstr "创建项目" -#: src/views/project/CreateModal.vue:423 -#: src/views/project/EditModal.vue:184 +#: src/views/project/CreateModal.vue:423 src/views/project/EditModal.vue:184 msgid "Project Name" msgstr "项目名" -#: src/views/project/CreateModal.vue:428 -#: src/views/project/EditModal.vue:189 +#: src/views/project/CreateModal.vue:428 src/views/project/EditModal.vue:189 msgid "Project name, used as service identifier" msgstr "项目名称,用作服务标识符" -#: src/views/project/CreateModal.vue:432 -#: src/views/project/EditModal.vue:203 +#: src/views/project/CreateModal.vue:432 src/views/project/EditModal.vue:203 msgid "Project Directory" msgstr "项目目录" #: src/views/project/CreateModal.vue:439 -msgid "Project root directory (if left empty, defaults to project directory/project name)" +msgid "" +"Project root directory (if left empty, defaults to project directory/project " +"name)" msgstr "项目根目录(如果留空,默认为项目目录/项目名称)" #: src/views/project/CreateModal.vue:454 @@ -9166,18 +8740,14 @@ msgstr "Java 版本" msgid "Select Java Version" msgstr "选择 Java 版本" -#: src/views/project/CreateModal.vue:506 -#: src/views/project/CreateModal.vue:532 -#: src/views/project/CreateModal.vue:558 -#: src/views/project/CreateModal.vue:584 +#: src/views/project/CreateModal.vue:506 src/views/project/CreateModal.vue:532 +#: src/views/project/CreateModal.vue:558 src/views/project/CreateModal.vue:584 #: src/views/project/CreateModal.vue:610 msgid "Framework" msgstr "框架" -#: src/views/project/CreateModal.vue:510 -#: src/views/project/CreateModal.vue:536 -#: src/views/project/CreateModal.vue:562 -#: src/views/project/CreateModal.vue:588 +#: src/views/project/CreateModal.vue:510 src/views/project/CreateModal.vue:536 +#: src/views/project/CreateModal.vue:562 src/views/project/CreateModal.vue:588 #: src/views/project/CreateModal.vue:614 msgid "Select Framework" msgstr "选择框架" @@ -9190,17 +8760,13 @@ msgstr "Node.js 版本" msgid "Select Node.js Version" msgstr "选择 Node.js 版本" -#: src/views/project/CreateModal.vue:548 -#: src/views/website/CreateModal.vue:236 -#: src/views/website/EditModal.vue:998 -#: src/views/website/EditModal.vue:1917 +#: src/views/project/CreateModal.vue:548 src/views/website/CreateModal.vue:236 +#: src/views/website/EditModal.vue:998 src/views/website/EditModal.vue:1917 msgid "PHP Version" msgstr "PHP 版本" -#: src/views/project/CreateModal.vue:552 -#: src/views/website/CreateModal.vue:240 -#: src/views/website/EditModal.vue:1003 -#: src/views/website/EditModal.vue:1921 +#: src/views/project/CreateModal.vue:552 src/views/website/CreateModal.vue:240 +#: src/views/website/EditModal.vue:1003 src/views/website/EditModal.vue:1921 msgid "Select PHP Version" msgstr "选择 PHP 版本" @@ -9220,8 +8786,7 @@ msgstr ".NET 版本" msgid "Select .NET Version" msgstr "选择 .NET 版本" -#: src/views/project/CreateModal.vue:630 -#: src/views/project/EditModal.vue:245 +#: src/views/project/CreateModal.vue:630 src/views/project/EditModal.vue:245 msgid "Select or enter user" msgstr "选择或输入用户" @@ -9229,17 +8794,14 @@ msgstr "选择或输入用户" msgid "Select www user if no special requirements" msgstr "如果没有特殊要求,请选择 www 用户" -#: src/views/project/CreateModal.vue:646 -#: src/views/project/EditModal.vue:262 +#: src/views/project/CreateModal.vue:646 src/views/project/EditModal.vue:262 msgid "e.g., php artisan serve, node app.js" msgstr "例如,php artisan serve、node app.js" #: src/views/project/CreateModal.vue:649 #: src/views/website/BulkCreateModal.vue:59 -#: src/views/website/CreateModal.vue:28 -#: src/views/website/EditModal.vue:106 -#: src/views/website/IndexView.vue:26 -#: src/views/website/ListView.vue:126 +#: src/views/website/CreateModal.vue:28 src/views/website/EditModal.vue:106 +#: src/views/website/IndexView.vue:26 src/views/website/ListView.vue:126 msgid "Reverse Proxy" msgstr "反向代理" @@ -9380,8 +8942,12 @@ msgid "Dependencies" msgstr "依赖" #: src/views/project/EditModal.vue:411 -msgid "Configure service dependencies to control startup order. Common services: network.target, mysqld.service, postgresql.service, redis.service" -msgstr "配置服务依赖关系以控制启动顺序。常见服务:network.target、mysqld.service、postgresql.service、redis.service" +msgid "" +"Configure service dependencies to control startup order. Common services: " +"network.target, mysqld.service, postgresql.service, redis.service" +msgstr "" +"配置服务依赖关系以控制启动顺序。常见服务:network.target、mysqld.service、" +"postgresql.service、redis.service" #: src/views/project/EditModal.vue:417 msgid "Requires" @@ -9416,7 +8982,9 @@ msgid "Start this service before the specified services" msgstr "在指定的服务之前启动此服务" #: src/views/project/EditModal.vue:462 -msgid "Set resource limits to prevent the service from consuming too many system resources" +msgid "" +"Set resource limits to prevent the service from consuming too many system " +"resources" msgstr "设置资源限制以防止服务消耗过多系统资源" #: src/views/project/EditModal.vue:470 @@ -9448,7 +9016,9 @@ msgid "Security Settings" msgstr "安全设置" #: src/views/project/EditModal.vue:509 -msgid "Security settings can enhance service isolation but may affect functionality. Please test thoroughly before enabling." +msgid "" +"Security settings can enhance service isolation but may affect " +"functionality. Please test thoroughly before enabling." msgstr "安全设置可以增强服务隔离,但可能会影响功能。请在启用之前进行充分测试。" #: src/views/project/EditModal.vue:515 @@ -9472,8 +9042,11 @@ msgid "Protect System" msgstr "保护系统" #: src/views/project/EditModal.vue:544 -msgid "true: /usr, /boot read-only; full: + /etc read-only; strict: entire filesystem read-only" -msgstr "true:/usr,/boot 为只读;full:+ /etc 为只读;strict:整个文件系统为只读" +msgid "" +"true: /usr, /boot read-only; full: + /etc read-only; strict: entire " +"filesystem read-only" +msgstr "" +"true:/usr,/boot 为只读;full:+ /etc 为只读;strict:整个文件系统为只读" #: src/views/project/EditModal.vue:552 msgid "Path Access Control" @@ -9507,12 +9080,9 @@ msgstr "Java" msgid "Node.js" msgstr "Node.js" -#: src/views/project/IndexView.vue:26 -#: src/views/website/BulkCreateModal.vue:60 -#: src/views/website/CreateModal.vue:29 -#: src/views/website/EditModal.vue:107 -#: src/views/website/IndexView.vue:27 -#: src/views/website/ListView.vue:127 +#: src/views/project/IndexView.vue:26 src/views/website/BulkCreateModal.vue:60 +#: src/views/website/CreateModal.vue:29 src/views/website/EditModal.vue:107 +#: src/views/website/IndexView.vue:27 src/views/website/ListView.vue:127 msgid "PHP" msgstr "PHP" @@ -9548,8 +9118,7 @@ msgstr "您确定要删除所选项目吗?" msgid "Enter user name" msgstr "输入用户名" -#: src/views/setting/CreateModal.vue:59 -#: src/views/setting/PasswordModal.vue:48 +#: src/views/setting/CreateModal.vue:59 src/views/setting/PasswordModal.vue:48 msgid "Enter user password" msgstr "输入用户密码" @@ -9557,13 +9126,11 @@ msgstr "输入用户密码" msgid "Enter user email" msgstr "输入用户邮箱" -#: src/views/setting/IndexView.vue:100 -#: src/views/setting/IndexView.vue:124 +#: src/views/setting/IndexView.vue:100 src/views/setting/IndexView.vue:124 msgid "Panel is restarting, page will refresh in 5 seconds" msgstr "面板正在重启,页面将在 5 秒后刷新" -#: src/views/setting/IndexView.vue:118 -#: src/views/website/EditModal.vue:297 +#: src/views/setting/IndexView.vue:118 src/views/website/EditModal.vue:297 msgid "Please wait..." msgstr "请稍候……" @@ -9611,13 +9178,14 @@ msgstr "注册已取消" msgid "Passkey registration failed: %{msg}" msgstr "通行密钥注册失败:%{msg}" -#: src/views/setting/PasskeyModal.vue:152 -#: src/views/setting/SettingUser.vue:116 +#: src/views/setting/PasskeyModal.vue:152 src/views/setting/SettingUser.vue:116 msgid "Passkeys" msgstr "通行密钥" #: src/views/setting/PasskeyModal.vue:162 -msgid "Passkeys are only available when using a bound domain with a trusted HTTPS certificate." +msgid "" +"Passkeys are only available when using a bound domain with a trusted HTTPS " +"certificate." msgstr "通行密钥只有在绑定域名和使用可信任 HTTPS 证书时才可用。" #: src/views/setting/PasskeyModal.vue:171 @@ -9636,8 +9204,7 @@ msgstr "稳定版" msgid "Beta" msgstr "测试版" -#: src/views/setting/SettingBase.vue:128 -#: src/views/setting/SettingBase.vue:129 +#: src/views/setting/SettingBase.vue:128 src/views/setting/SettingBase.vue:129 msgid "Panel Name" msgstr "面板名称" @@ -9730,7 +9297,9 @@ msgid "Login Timeout" msgstr "登录超时" #: src/views/setting/SettingSafe.vue:31 -msgid "Set the maximum lifetime (in minutes) of the login state, after which you need to log in again" +msgid "" +"Set the maximum lifetime (in minutes) of the login state, after which you " +"need to log in again" msgstr "设置登录状态的最长生命周期(单位:分钟),超过该时间后需要重新登录" #: src/views/setting/SettingSafe.vue:39 @@ -9742,19 +9311,26 @@ msgid "Access Entrance" msgstr "访问入口" #: src/views/setting/SettingSafe.vue:59 -msgid "Set the access entrance of the panel (e.g. /mypanel) to prevent some malicious access. Leave blank to disable (not recommended)" -msgstr "设置面板的访问入口(例如 /mypanel)以防止恶意访问。留空以禁用(不推荐)" +msgid "" +"Set the access entrance of the panel (e.g. /mypanel) to prevent some " +"malicious access. Leave blank to disable (not recommended)" +msgstr "" +"设置面板的访问入口(例如 /mypanel)以防止恶意访问。留空以禁用(不推荐)" #: src/views/setting/SettingSafe.vue:72 msgid "Entrance Error Page" msgstr "入口错误页" #: src/views/setting/SettingSafe.vue:77 -msgid "Set the error page to display when accessing with wrong entrance. 418 shows teapot page, Nginx 404 shows nginx style 404 page, Close Connection will close the connection immediately" -msgstr "设置当通过错误入口访问时显示的错误页面。418 显示茶壶页面,Nginx 404 显示 Nginx 风格的 404 页面,关闭连接将立即关闭连接" +msgid "" +"Set the error page to display when accessing with wrong entrance. 418 shows " +"teapot page, Nginx 404 shows nginx style 404 page, Close Connection will " +"close the connection immediately" +msgstr "" +"设置当通过错误入口访问时显示的错误页面。418 显示茶壶页面,Nginx 404 显示 " +"Nginx 风格的 404 页面,关闭连接将立即关闭连接" -#: src/views/setting/SettingSafe.vue:86 -#: src/views/setting/SettingSafe.vue:90 +#: src/views/setting/SettingSafe.vue:86 src/views/setting/SettingSafe.vue:90 msgid "418 I'm a teapot" msgstr "418 I'm a teapot" @@ -9771,7 +9347,9 @@ msgid "Login Captcha" msgstr "登录验证码" #: src/views/setting/SettingSafe.vue:103 -msgid "When enabled, a captcha will be required after 3 failed login attempts to prevent brute force attacks" +msgid "" +"When enabled, a captcha will be required after 3 failed login attempts to " +"prevent brute force attacks" msgstr "启用后,在 3 次登录失败后将要求输入验证码,以防止暴力破解攻击" #: src/views/setting/SettingSafe.vue:116 @@ -9779,8 +9357,12 @@ msgid "Request IP Header" msgstr "请求 IP 头" #: src/views/setting/SettingSafe.vue:121 -msgid "Set the header that carries the real IP of the client, useful when using CDN or reverse proxy. Leave blank to use the client IP directly" -msgstr "设置承载客户端真实 IP 的请求头,在使用 CDN 或反向代理时非常有用。留空以直接使用客户端 IP" +msgid "" +"Set the header that carries the real IP of the client, useful when using CDN " +"or reverse proxy. Leave blank to use the client IP directly" +msgstr "" +"设置承载客户端真实 IP 的请求头,在使用 CDN 或反向代理时非常有用。留空以直接使" +"用客户端 IP" #: src/views/setting/SettingSafe.vue:127 msgid "X-Real-IP" @@ -9791,7 +9373,9 @@ msgid "Bind Domain" msgstr "绑定域名" #: src/views/setting/SettingSafe.vue:139 -msgid "Restrict panel access to the specified domain names. Leave blank to allow access from any domain" +msgid "" +"Restrict panel access to the specified domain names. Leave blank to allow " +"access from any domain" msgstr "限制面板访问为指定的域名。留空以允许来自任何域名的访问" #: src/views/setting/SettingSafe.vue:156 @@ -9799,7 +9383,9 @@ msgid "Bind IP" msgstr "绑定 IP" #: src/views/setting/SettingSafe.vue:161 -msgid "Restrict panel access to the specified IP addresses. Leave blank to allow access from any IP" +msgid "" +"Restrict panel access to the specified IP addresses. Leave blank to allow " +"access from any IP" msgstr "限制面板访问为指定的 IP 地址。留空以允许来自任何 IP 的访问" #: src/views/setting/SettingSafe.vue:174 @@ -9807,7 +9393,9 @@ msgid "Bind UA" msgstr "绑定 UA" #: src/views/setting/SettingSafe.vue:179 -msgid "Restrict panel access to the specified User-Agent strings. Leave blank to allow access from any User-Agent" +msgid "" +"Restrict panel access to the specified User-Agent strings. Leave blank to " +"allow access from any User-Agent" msgstr "限制面板访问为指定的用户代理字符串。留空以允许任何用户代理的访问" #: src/views/setting/SettingSafe.vue:196 @@ -9815,24 +9403,38 @@ msgid "Offline Mode" msgstr "离线模式" #: src/views/setting/SettingSafe.vue:201 -msgid "When enabled, the panel will not attempt to connect to external services for updates or other features. This may limit some functionalities" -msgstr "启用后,面板将不会尝试连接外部服务以获取更新或其他功能。这可能会限制某些功能" +msgid "" +"When enabled, the panel will not attempt to connect to external services for " +"updates or other features. This may limit some functionalities" +msgstr "" +"启用后,面板将不会尝试连接外部服务以获取更新或其他功能。这可能会限制某些功能" #: src/views/setting/SettingSafe.vue:214 msgid "Auto Update" msgstr "自动更新" #: src/views/setting/SettingSafe.vue:219 -msgid "When enabled, the panel will automatically check for and install updates when they are available. It is recommended to keep this enabled to ensure you have the latest features and security patches" -msgstr "启用后,面板将自动检查并安装可用的更新。建议保持此功能启用,以确保您拥有最新的功能和安全补丁" +msgid "" +"When enabled, the panel will automatically check for and install updates " +"when they are available. It is recommended to keep this enabled to ensure " +"you have the latest features and security patches" +msgstr "" +"启用后,面板将自动检查并安装可用的更新。建议保持此功能启用,以确保您拥有最新" +"的功能和安全补丁" #: src/views/setting/SettingSafe.vue:232 msgid "Panel HTTPS" msgstr "面板 HTTPS" #: src/views/setting/SettingSafe.vue:237 -msgid "Enable HTTPS for the panel. ACME will automatically obtain and renew the certificate daily (requires panel accessible via public IP). Self-Signed generates a certificate automatically (browsers will show a warning). Custom allows you to provide your own certificate" -msgstr "为面板启用 HTTPS。ACME 将每天自动获取并更新证书(需支持通过公网 IP 访问面板)。自签名会自动生成证书(浏览器会显示警告)。自定义允许您提供自己的证书" +msgid "" +"Enable HTTPS for the panel. ACME will automatically obtain and renew the " +"certificate daily (requires panel accessible via public IP). Self-Signed " +"generates a certificate automatically (browsers will show a warning). Custom " +"allows you to provide your own certificate" +msgstr "" +"为面板启用 HTTPS。ACME 将每天自动获取并更新证书(需支持通过公网 IP 访问面" +"板)。自签名会自动生成证书(浏览器会显示警告)。自定义允许您提供自己的证书" #: src/views/setting/SettingSafe.vue:247 msgid "ACME (Auto)" @@ -9846,14 +9448,16 @@ msgstr "自签名" msgid "Custom Certificate" msgstr "自定义证书" -#: src/views/setting/SettingSafe.vue:257 -#: src/views/setting/SettingSafe.vue:262 +#: src/views/setting/SettingSafe.vue:257 src/views/setting/SettingSafe.vue:262 msgid "Panel Public IP" msgstr "面板公网 IP" #: src/views/setting/SettingSafe.vue:267 -msgid "Panel public IP is used to issue HTTPS certificates using ACME. Ensure that the entered IP address is accessible from the public network." -msgstr "面板公网 IP 用于使用 ACME 颁发 HTTPS 证书。确保输入的 IP 地址可以从公网访问。" +msgid "" +"Panel public IP is used to issue HTTPS certificates using ACME. Ensure that " +"the entered IP address is accessible from the public network." +msgstr "" +"面板公网 IP 用于使用 ACME 颁发 HTTPS 证书。确保输入的 IP 地址可以从公网访问。" #: src/views/setting/SettingUser.vue:56 msgid "2FA" @@ -9863,8 +9467,7 @@ msgstr "两步验证" msgid "Disabled successfully" msgstr "禁用成功" -#: src/views/setting/SettingUser.vue:104 -#: src/views/setting/TokenModal.vue:202 +#: src/views/setting/SettingUser.vue:104 src/views/setting/TokenModal.vue:202 msgid "Access Tokens" msgstr "访问令牌" @@ -9892,23 +9495,19 @@ msgstr "复制并关闭" msgid "Copy failed" msgstr "复制失败" -#: src/views/setting/TokenModal.vue:212 -#: src/views/setting/TokenModal.vue:239 +#: src/views/setting/TokenModal.vue:212 src/views/setting/TokenModal.vue:239 msgid "Create Access Token" msgstr "创建访问令牌" -#: src/views/setting/TokenModal.vue:248 -#: src/views/setting/TokenModal.vue:286 +#: src/views/setting/TokenModal.vue:248 src/views/setting/TokenModal.vue:286 msgid "IP White List" msgstr "IP 白名单" -#: src/views/setting/TokenModal.vue:251 -#: src/views/setting/TokenModal.vue:289 +#: src/views/setting/TokenModal.vue:251 src/views/setting/TokenModal.vue:289 msgid "127.0.0.1" msgstr "127.0.0.1" -#: src/views/setting/TokenModal.vue:259 -#: src/views/setting/TokenModal.vue:297 +#: src/views/setting/TokenModal.vue:259 src/views/setting/TokenModal.vue:297 msgid "Please select the expiration time" msgstr "请选择到期时间" @@ -9929,7 +9528,8 @@ msgid "Scan the QR code with your 2FA app and enter the code below" msgstr "用您的两步验证应用扫描二维码并在下方输入代码" #: src/views/setting/TwoFaModal.vue:73 -msgid "If you cannot scan the QR code, please enter the URL below in your 2FA app" +msgid "" +"If you cannot scan the QR code, please enter the URL below in your 2FA app" msgstr "如果您不能扫描二维码,请在您的两步验证应用中输入下面的 URL" #: src/views/setting/TwoFaModal.vue:86 @@ -9940,37 +9540,32 @@ msgstr "代码" msgid "Enter the code" msgstr "输入代码" -#: src/views/ssh/CreateModal.vue:53 -#: src/views/ssh/IndexView.vue:586 +#: src/views/ssh/CreateModal.vue:53 src/views/ssh/IndexView.vue:586 msgid "Create Host" msgstr "创建主机" -#: src/views/ssh/CreateModal.vue:76 -#: src/views/ssh/UpdateModal.vue:82 +#: src/views/ssh/CreateModal.vue:76 src/views/ssh/UpdateModal.vue:82 msgid "Authentication Method" msgstr "认证方式" -#: src/views/ssh/CreateModal.vue:95 -#: src/views/ssh/UpdateModal.vue:101 +#: src/views/ssh/CreateModal.vue:95 src/views/ssh/UpdateModal.vue:101 msgid "Passphrase" msgstr "密码短语" -#: src/views/ssh/CreateModal.vue:100 -#: src/views/ssh/UpdateModal.vue:106 +#: src/views/ssh/CreateModal.vue:100 src/views/ssh/UpdateModal.vue:106 msgid "Leave empty if key has no passphrase" msgstr "如果密钥没有密码短语,请留空" -#: src/views/ssh/CreateModal.vue:103 -#: src/views/ssh/UpdateModal.vue:109 +#: src/views/ssh/CreateModal.vue:103 src/views/ssh/UpdateModal.vue:109 msgid "Remarks" msgstr "备注" #: src/views/ssh/IndexView.vue:67 -msgid "Clipboard is unavailable in non-HTTPS context, please use Ctrl+V to paste" +msgid "" +"Clipboard is unavailable in non-HTTPS context, please use Ctrl+V to paste" msgstr "剪贴板在非 HTTPS 环境下不可用,请使用 Ctrl+V 粘贴" -#: src/views/ssh/IndexView.vue:97 -#: src/views/ssh/IndexView.vue:178 +#: src/views/ssh/IndexView.vue:97 src/views/ssh/IndexView.vue:178 msgid "File Transfer" msgstr "文件互传" @@ -9994,8 +9589,7 @@ msgstr "新建会话" msgid "Manage Hosts" msgstr "管理主机" -#: src/views/ssh/IndexView.vue:580 -#: src/views/toolbox/SystemView.vue:184 +#: src/views/ssh/IndexView.vue:580 src/views/toolbox/SystemView.vue:184 msgid "Hosts" msgstr "Hosts" @@ -10032,8 +9626,13 @@ msgid "Transfer Directories" msgstr "传输目录" #: src/views/ssh/SftpPanel.vue:77 -msgid "The selection contains %{ count } directory(ies), which will be transferred recursively and may take a long time. For large directories, compressing before transferring is recommended. Continue?" -msgstr "所选内容包含 %{ count } 个目录,这些目录将进行递归传输且可能需要很长时间。对于大型目录,建议在传输前进行压缩。是否继续?" +msgid "" +"The selection contains %{ count } directory(ies), which will be transferred " +"recursively and may take a long time. For large directories, compressing " +"before transferring is recommended. Continue?" +msgstr "" +"所选内容包含 %{ count } 个目录,这些目录将进行递归传输且可能需要很长时间。对" +"于大型目录,建议在传输前进行压缩。是否继续?" #: src/views/ssh/SftpPanel.vue:152 msgid "Connection closed" @@ -10059,10 +9658,8 @@ msgstr "传输队列" msgid "Clear Finished" msgstr "清除已完成" -#: src/views/ssh/SftpPanel.vue:294 -#: src/views/task/TaskView.vue:42 -#: src/views/toolbox/ProcessView.vue:53 -#: src/views/toolbox/ProcessView.vue:89 +#: src/views/ssh/SftpPanel.vue:294 src/views/task/TaskView.vue:42 +#: src/views/toolbox/ProcessView.vue:53 src/views/toolbox/ProcessView.vue:89 msgid "Waiting" msgstr "等待中" @@ -10082,8 +9679,7 @@ msgstr "选择网站以自动填充名称与路径" msgid "Rule identifier, usually the website name" msgstr "规则标识,通常为网站名称" -#: src/views/tamper/RuleModal.vue:112 -#: src/views/tamper/TamperView.vue:119 +#: src/views/tamper/RuleModal.vue:112 src/views/tamper/TamperView.vue:119 msgid "Protected Directory" msgstr "保护目录" @@ -10096,8 +9692,12 @@ msgid "Exclude Paths" msgstr "排除路径" #: src/views/tamper/RuleModal.vue:127 -msgid "Leave extensions empty to protect all files (directories become append-only). Excludes accept a path segment name (e.g. cache) or an absolute path." -msgstr "扩展名留空则保护全部文件(目录变为仅可追加)。排除项可填路径段名称(如 cache)或绝对路径。" +msgid "" +"Leave extensions empty to protect all files (directories become append-" +"only). Excludes accept a path segment name (e.g. cache) or an absolute path." +msgstr "" +"扩展名留空则保护全部文件(目录变为仅可追加)。排除项可填路径段名称(如 " +"cache)或绝对路径。" #: src/views/tamper/TamperView.vue:49 msgid "eBPF mode is not available, please activate it first" @@ -10108,8 +9708,13 @@ msgid "Activate eBPF LSM" msgstr "激活 eBPF LSM" #: src/views/tamper/TamperView.vue:67 -msgid "The panel will modify the kernel boot parameters (append bpf to the LSM list) and reboot the server immediately. All services will be interrupted during the reboot. Continue?" -msgstr "面板将修改内核启动参数(向 LSM 列表追加 bpf)并立即重启服务器,重启期间所有服务将中断,是否继续?" +msgid "" +"The panel will modify the kernel boot parameters (append bpf to the LSM " +"list) and reboot the server immediately. All services will be interrupted " +"during the reboot. Continue?" +msgstr "" +"面板将修改内核启动参数(向 LSM 列表追加 bpf)并立即重启服务器,重启期间所有服" +"务将中断,是否继续?" #: src/views/tamper/TamperView.vue:77 msgid "The server is rebooting, please reconnect later" @@ -10127,8 +9732,7 @@ msgstr "全部文件" msgid "Operation" msgstr "操作" -#: src/views/tamper/TamperView.vue:211 -#: src/views/tamper/TamperView.vue:373 +#: src/views/tamper/TamperView.vue:211 src/views/tamper/TamperView.vue:373 #: src/views/website/EditModal.vue:2224 msgid "Clear Logs" msgstr "清除日志" @@ -10166,31 +9770,42 @@ msgid "Mode Description" msgstr "模式说明" #: src/views/tamper/TamperView.vue:260 -msgid "Locks files with the immutable attribute, enforced by the kernel at the VFS layer. Works on all distributions with no kernel dependency. Blocks tampering by web processes, but not root." -msgstr "通过不可变属性锁定文件,由内核在 VFS 层强制执行,适用于所有发行版且无内核依赖,可阻止网站进程篡改,但无法阻止 root。" +msgid "" +"Locks files with the immutable attribute, enforced by the kernel at the VFS " +"layer. Works on all distributions with no kernel dependency. Blocks " +"tampering by web processes, but not root." +msgstr "" +"通过不可变属性锁定文件,由内核在 VFS 层强制执行,适用于所有发行版且无内核依" +"赖,可阻止网站进程篡改,但无法阻止 root。" #: src/views/tamper/TamperView.vue:267 -msgid "Intercepts write/delete/rename via eBPF-LSM with per-process tracing. More precise and auditable, but requires the bpf LSM to be active in the kernel." -msgstr "通过 eBPF-LSM 拦截写入/删除/重命名并追踪进程,更精确且可审计,但要求内核已启用 bpf LSM。" +msgid "" +"Intercepts write/delete/rename via eBPF-LSM with per-process tracing. More " +"precise and auditable, but requires the bpf LSM to be active in the kernel." +msgstr "" +"通过 eBPF-LSM 拦截写入/删除/重命名并追踪进程,更精确且可审计,但要求内核已启" +"用 bpf LSM。" #: src/views/tamper/TamperView.vue:273 msgid "Block New Files" msgstr "阻止新建文件" #: src/views/tamper/TamperView.vue:278 -msgid "Reject newly created files of protected types in protected directories (denied by kernel in eBPF mode, deleted in chattr mode). When off, new files are logged and protected instead." -msgstr "拒绝在受保护目录中创建受保护类型的新文件(在 eBPF 模式下被内核拒绝,在 chattr 模式下被删除)。关闭时,新文件将被记录并受到保护。" +msgid "" +"Reject newly created files of protected types in protected directories " +"(denied by kernel in eBPF mode, deleted in chattr mode). When off, new files " +"are logged and protected instead." +msgstr "" +"拒绝在受保护目录中创建受保护类型的新文件(在 eBPF 模式下被内核拒绝,在 " +"chattr 模式下被删除)。关闭时,新文件将被记录并受到保护。" #: src/views/tamper/TamperView.vue:285 msgid "Log Retention (days)" msgstr "日志保留(天)" -#: src/views/tamper/TamperView.vue:295 -#: src/views/website/SettingView.vue:109 -#: src/views/website/SettingView.vue:124 -#: src/views/website/SettingView.vue:139 -#: src/views/website/SettingView.vue:163 -#: src/views/website/SettingView.vue:215 +#: src/views/tamper/TamperView.vue:295 src/views/website/SettingView.vue:109 +#: src/views/website/SettingView.vue:124 src/views/website/SettingView.vue:139 +#: src/views/website/SettingView.vue:163 src/views/website/SettingView.vue:215 #: src/views/website/SettingView.vue:278 msgid "Save Changes" msgstr "保存更改" @@ -10267,20 +9882,17 @@ msgstr "日志轮转 - 网站" msgid "Log Rotation - Container" msgstr "日志轮转 - 容器" -#: src/views/task/CreateModal.vue:152 -#: src/views/task/CreateModal.vue:335 +#: src/views/task/CreateModal.vue:152 src/views/task/CreateModal.vue:335 #: src/views/task/CronView.vue:71 msgid "Log Rotation" msgstr "日志轮转" -#: src/views/task/CreateModal.vue:157 -#: src/views/task/CreateModal.vue:336 +#: src/views/task/CreateModal.vue:157 src/views/task/CreateModal.vue:336 #: src/views/task/CronView.vue:68 msgid "Access URL" msgstr "访问 URL" -#: src/views/task/CreateModal.vue:159 -#: src/views/task/CreateModal.vue:337 +#: src/views/task/CreateModal.vue:159 src/views/task/CreateModal.vue:337 #: src/views/task/CronView.vue:69 msgid "Sync Time" msgstr "同步时间" @@ -10293,32 +9905,25 @@ msgstr "创建计划任务" msgid "Edit Scheduled Task" msgstr "编辑计划任务" -#: src/views/task/CreateModal.vue:329 -#: src/views/task/CronView.vue:57 +#: src/views/task/CreateModal.vue:329 src/views/task/CronView.vue:57 msgid "Task Type" msgstr "任务类型" -#: src/views/task/CreateModal.vue:333 -#: src/views/task/CronView.vue:66 +#: src/views/task/CreateModal.vue:333 src/views/task/CronView.vue:66 msgid "Run Script" msgstr "运行脚本" -#: src/views/task/CreateModal.vue:334 -#: src/views/task/CronView.vue:67 +#: src/views/task/CreateModal.vue:334 src/views/task/CronView.vue:67 msgid "Backup Data" msgstr "备份数据" -#: src/views/task/CreateModal.vue:341 -#: src/views/task/CreateModal.vue:342 -#: src/views/task/CronView.vue:50 -#: src/views/task/CronView.vue:318 -#: src/views/task/CronView.vue:319 -#: src/views/task/TaskView.vue:27 +#: src/views/task/CreateModal.vue:341 src/views/task/CreateModal.vue:342 +#: src/views/task/CronView.vue:50 src/views/task/CronView.vue:318 +#: src/views/task/CronView.vue:319 src/views/task/TaskView.vue:27 msgid "Task Name" msgstr "任务名称" -#: src/views/task/CreateModal.vue:349 -#: src/views/task/CronView.vue:90 +#: src/views/task/CreateModal.vue:349 src/views/task/CronView.vue:90 #: src/views/task/CronView.vue:321 msgid "Task Schedule" msgstr "任务周期" @@ -10327,14 +9932,14 @@ msgstr "任务周期" msgid "Retention Count" msgstr "保留数量" -#: src/views/task/CreateModal.vue:359 -#: src/views/task/CronView.vue:324 +#: src/views/task/CreateModal.vue:359 src/views/task/CronView.vue:324 msgid "Process Lock" msgstr "进程锁" -#: src/views/task/CreateModal.vue:363 -#: src/views/task/CronView.vue:328 -msgid "Prevent duplicate execution: skip this run if the previous one is still running" +#: src/views/task/CreateModal.vue:363 src/views/task/CronView.vue:328 +msgid "" +"Prevent duplicate execution: skip this run if the previous one is still " +"running" msgstr "防止重复执行:如果上次运行未结束,则跳过本次运行" #: src/views/task/CreateModal.vue:370 @@ -10357,8 +9962,7 @@ msgstr "头部名称" msgid "Header Value" msgstr "头部值" -#: src/views/task/CreateModal.vue:415 -#: src/views/task/CreateModal.vue:420 +#: src/views/task/CreateModal.vue:415 src/views/task/CreateModal.vue:420 msgid "Request Body" msgstr "请求体" @@ -10402,8 +10006,7 @@ msgstr "Valkey" msgid "Rotation Type" msgstr "轮转类型" -#: src/views/task/CreateModal.vue:494 -#: src/views/task/CreateModal.vue:500 +#: src/views/task/CreateModal.vue:494 src/views/task/CreateModal.vue:500 #: src/views/website/CreateModal.vue:252 msgid "Select Database" msgstr "选择数据库" @@ -10412,8 +10015,7 @@ msgstr "选择数据库" msgid "Enter directory path" msgstr "输入目录路径" -#: src/views/task/CreateModal.vue:526 -#: src/views/task/CreateModal.vue:532 +#: src/views/task/CreateModal.vue:526 src/views/task/CreateModal.vue:532 msgid "Select Container" msgstr "选择容器" @@ -10493,8 +10095,11 @@ msgid "Pending benchmark" msgstr "待跑分" #: src/views/toolbox/BenchmarkView.vue:90 -msgid "Benchmark results are for reference only and may differ from actual performance due to system resource scheduling, caching, and other factors!" -msgstr "跑分结果仅供参考,由于系统资源调度、缓存和其他因素,可能与实际性能有所不同!" +msgid "" +"Benchmark results are for reference only and may differ from actual " +"performance due to system resource scheduling, caching, and other factors!" +msgstr "" +"跑分结果仅供参考,由于系统资源调度、缓存和其他因素,可能与实际性能有所不同!" #: src/views/toolbox/BenchmarkView.vue:97 msgid "Benchmarking in progress, it may take some time..." @@ -10572,8 +10177,7 @@ msgstr "跑分中……" msgid "Start Benchmark" msgstr "开始跑分" -#: src/views/toolbox/disk/RaidView.vue:93 -#: src/views/toolbox/DiskView.vue:603 +#: src/views/toolbox/disk/RaidView.vue:93 src/views/toolbox/DiskView.vue:603 #: src/views/toolbox/DiskView.vue:912 msgid "Device" msgstr "设备" @@ -10778,8 +10382,7 @@ msgstr "无可用 SMART 属性" msgid "Failed to parse disk data, please refresh and try again" msgstr "无法解析磁盘数据,请刷新并重试" -#: src/views/toolbox/DiskView.vue:231 -#: src/views/toolbox/DiskView.vue:687 +#: src/views/toolbox/DiskView.vue:231 src/views/toolbox/DiskView.vue:687 #: src/views/toolbox/DiskView.vue:726 msgid "Partition" msgstr "分区" @@ -10792,21 +10395,21 @@ msgstr "已用" msgid "Not Mounted" msgstr "未挂载" -#: src/views/toolbox/DiskView.vue:290 -#: src/views/toolbox/DiskView.vue:605 +#: src/views/toolbox/DiskView.vue:290 src/views/toolbox/DiskView.vue:605 msgid "FS" msgstr "文件系统" -#: src/views/toolbox/DiskView.vue:340 -#: src/views/toolbox/DiskView.vue:476 -#: src/views/toolbox/DiskView.vue:517 -#: src/views/toolbox/DiskView.vue:560 +#: src/views/toolbox/DiskView.vue:340 src/views/toolbox/DiskView.vue:476 +#: src/views/toolbox/DiskView.vue:517 src/views/toolbox/DiskView.vue:560 msgid "Please fill in all fields" msgstr "请填写所有字段" #: src/views/toolbox/DiskView.vue:344 -msgid "Are you sure you want to mount %{ device } to %{ path } and write to fstab for auto-mount on boot?" -msgstr "您确定要将 %{ device } 挂载到 %{ path } 并写入 fstab 以在启动时自动挂载吗?" +msgid "" +"Are you sure you want to mount %{ device } to %{ path } and write to fstab " +"for auto-mount on boot?" +msgstr "" +"您确定要将 %{ device } 挂载到 %{ path } 并写入 fstab 以在启动时自动挂载吗?" #: src/views/toolbox/DiskView.vue:348 msgid "Are you sure you want to mount %{ device } to %{ path }?" @@ -10824,22 +10427,20 @@ msgstr "您确定要卸载这个分区吗?" msgid "Unmounted successfully" msgstr "卸载成功" -#: src/views/toolbox/DiskView.vue:390 -#: src/views/toolbox/DiskView.vue:437 +#: src/views/toolbox/DiskView.vue:390 src/views/toolbox/DiskView.vue:437 msgid "Please select a device" msgstr "请选择一个设备" -#: src/views/toolbox/DiskView.vue:394 -#: src/views/toolbox/DiskView.vue:417 -#: src/views/toolbox/DiskView.vue:459 -#: src/views/toolbox/DiskView.vue:499 -#: src/views/toolbox/DiskView.vue:542 -#: src/views/toolbox/DiskView.vue:586 +#: src/views/toolbox/DiskView.vue:394 src/views/toolbox/DiskView.vue:417 +#: src/views/toolbox/DiskView.vue:459 src/views/toolbox/DiskView.vue:499 +#: src/views/toolbox/DiskView.vue:542 src/views/toolbox/DiskView.vue:586 msgid "Dangerous Operation" msgstr "危险操作" #: src/views/toolbox/DiskView.vue:395 -msgid "Formatting will erase all data on the partition. This operation is irreversible. Are you sure?" +msgid "" +"Formatting will erase all data on the partition. This operation is " +"irreversible. Are you sure?" msgstr "格式化将删除分区上的所有数据。此操作是不可逆的。您确定吗?" #: src/views/toolbox/DiskView.vue:398 @@ -10855,8 +10456,12 @@ msgid "Please enter disk name" msgstr "请输入磁盘名称" #: src/views/toolbox/DiskView.vue:418 -msgid "This will delete all partitions on %{ device } and create a single partition. All data will be permanently lost. Are you absolutely sure?" -msgstr "这将删除 %{ device } 上的所有分区并创建一个单一的分区。所有数据将永久丢失。您确定吗?" +msgid "" +"This will delete all partitions on %{ device } and create a single " +"partition. All data will be permanently lost. Are you absolutely sure?" +msgstr "" +"这将删除 %{ device } 上的所有分区并创建一个单一的分区。所有数据将永久丢失。您" +"确定吗?" #: src/views/toolbox/DiskView.vue:422 msgid "Confirm Initialize" @@ -10891,7 +10496,9 @@ msgid "Volume group created successfully" msgstr "卷组创建成功" #: src/views/toolbox/DiskView.vue:500 -msgid "Are you sure you want to remove the volume group %{ name }? All logical volumes in this group will be deleted!" +msgid "" +"Are you sure you want to remove the volume group %{ name }? All logical " +"volumes in this group will be deleted!" msgstr "您确定要删除卷组 %{ name } 吗?此组中的所有逻辑卷将被删除!" #: src/views/toolbox/DiskView.vue:508 @@ -10899,7 +10506,8 @@ msgid "Volume group removed successfully" msgstr "卷组删除成功" #: src/views/toolbox/DiskView.vue:522 -msgid "Are you sure you want to create logical volume %{ name } with %{ size }GB?" +msgid "" +"Are you sure you want to create logical volume %{ name } with %{ size }GB?" msgstr "您确定要创建逻辑卷 %{ name },大小为 %{ size }GB 吗?" #: src/views/toolbox/DiskView.vue:530 @@ -10907,7 +10515,9 @@ msgid "Logical volume created successfully" msgstr "逻辑卷创建成功" #: src/views/toolbox/DiskView.vue:543 -msgid "Are you sure you want to remove the logical volume %{ path }? All data on this volume will be lost!" +msgid "" +"Are you sure you want to remove the logical volume %{ path }? All data on " +"this volume will be lost!" msgstr "您确定要删除逻辑卷 %{ path } 吗?该卷上的所有数据将丢失!" #: src/views/toolbox/DiskView.vue:551 @@ -10923,8 +10533,11 @@ msgid "Logical volume extended successfully" msgstr "逻辑卷扩展成功" #: src/views/toolbox/DiskView.vue:587 -msgid "Are you sure you want to remove the fstab entry for %{ mountPoint }? This will prevent auto-mount on boot." -msgstr "您确定要删除 %{ mountPoint } 的 fstab 条目吗?这将阻止在启动时自动挂载。" +msgid "" +"Are you sure you want to remove the fstab entry for %{ mountPoint }? This " +"will prevent auto-mount on boot." +msgstr "" +"您确定要删除 %{ mountPoint } 的 fstab 条目吗?这将阻止在启动时自动挂载。" #: src/views/toolbox/DiskView.vue:595 msgid "Fstab entry removed successfully" @@ -10946,13 +10559,11 @@ msgstr "%{ count } 个分区" msgid "No disks found" msgstr "未找到磁盘" -#: src/views/toolbox/DiskView.vue:683 -#: src/views/toolbox/DiskView.vue:713 +#: src/views/toolbox/DiskView.vue:683 src/views/toolbox/DiskView.vue:713 msgid "Mount" msgstr "挂载" -#: src/views/toolbox/DiskView.vue:691 -#: src/views/toolbox/DiskView.vue:730 +#: src/views/toolbox/DiskView.vue:691 src/views/toolbox/DiskView.vue:730 msgid "Select partition" msgstr "选择分区" @@ -10972,8 +10583,7 @@ msgstr "例如 defaults,noatime" msgid "Auto-mount on boot" msgstr "启动时自动挂载" -#: src/views/toolbox/DiskView.vue:719 -#: src/views/toolbox/DiskView.vue:741 +#: src/views/toolbox/DiskView.vue:719 src/views/toolbox/DiskView.vue:741 msgctxt "disk action" msgid "Format" msgstr "格式化" @@ -10982,18 +10592,18 @@ msgstr "格式化" msgid "Warning: Formatting will erase all data!" msgstr "警告:格式化将清除所有数据!" -#: src/views/toolbox/DiskView.vue:735 -#: src/views/toolbox/DiskView.vue:767 +#: src/views/toolbox/DiskView.vue:735 src/views/toolbox/DiskView.vue:767 msgid "Filesystem Type" msgstr "文件系统类型" -#: src/views/toolbox/DiskView.vue:747 -#: src/views/toolbox/DiskView.vue:773 +#: src/views/toolbox/DiskView.vue:747 src/views/toolbox/DiskView.vue:773 msgid "Initialize" msgstr "初始化" #: src/views/toolbox/DiskView.vue:751 -msgid "Warning: This will delete all partitions and create a single partition. All data will be lost!" +msgid "" +"Warning: This will delete all partitions and create a single partition. All " +"data will be lost!" msgstr "警告:这将删除所有分区并创建一个单分区。所有数据将丢失!" #: src/views/toolbox/DiskView.vue:762 @@ -11012,8 +10622,7 @@ msgstr "无 fstab 条目" msgid "LVM Management" msgstr "LVM 管理" -#: src/views/toolbox/DiskView.vue:803 -#: src/views/toolbox/DiskView.vue:935 +#: src/views/toolbox/DiskView.vue:803 src/views/toolbox/DiskView.vue:935 msgid "Physical Volumes" msgstr "物理卷" @@ -11037,8 +10646,7 @@ msgstr "逻辑卷" msgid "No logical volumes" msgstr "无逻辑卷" -#: src/views/toolbox/DiskView.vue:909 -#: src/views/toolbox/DiskView.vue:922 +#: src/views/toolbox/DiskView.vue:909 src/views/toolbox/DiskView.vue:922 msgid "Create PV" msgstr "创建物理卷" @@ -11046,8 +10654,7 @@ msgstr "创建物理卷" msgid "Select device" msgstr "选择设备" -#: src/views/toolbox/DiskView.vue:928 -#: src/views/toolbox/DiskView.vue:946 +#: src/views/toolbox/DiskView.vue:928 src/views/toolbox/DiskView.vue:946 msgid "Create VG" msgstr "创建卷组" @@ -11063,8 +10670,7 @@ msgstr "输入卷组名" msgid "Select PVs" msgstr "选择物理卷" -#: src/views/toolbox/DiskView.vue:952 -#: src/views/toolbox/DiskView.vue:975 +#: src/views/toolbox/DiskView.vue:952 src/views/toolbox/DiskView.vue:975 msgid "Create LV" msgstr "创建逻辑卷" @@ -11088,8 +10694,7 @@ msgstr "选择卷组" msgid "Size (GB)" msgstr "大小(GB)" -#: src/views/toolbox/DiskView.vue:981 -#: src/views/toolbox/DiskView.vue:1004 +#: src/views/toolbox/DiskView.vue:981 src/views/toolbox/DiskView.vue:1004 msgid "Extend LV" msgstr "扩展逻辑卷" @@ -11178,7 +10783,9 @@ msgid "Log Cleaner" msgstr "日志清理" #: src/views/toolbox/LogView.vue:142 -msgid "Scan and clean redundant logs to free up disk space. Cleaning is irreversible." +msgid "" +"Scan and clean redundant logs to free up disk space. Cleaning is " +"irreversible." msgstr "扫描并清理冗余日志以释放磁盘空间。清理操作不可逆。" #: src/views/toolbox/LogView.vue:158 @@ -11237,8 +10844,7 @@ msgstr "1Panel → AcePanel" msgid "Pull websites and databases from 1Panel." msgstr "从 1Panel 拉取网站和数据库。" -#: src/views/toolbox/MigrationView.vue:77 -#: src/views/website/CreateModal.vue:280 +#: src/views/toolbox/MigrationView.vue:77 src/views/website/CreateModal.vue:280 #: src/views/website/CreateModal.vue:285 msgid "Database User" msgstr "数据库用户" @@ -11317,7 +10923,9 @@ msgid "Please select at least one resource to migrate." msgstr "请至少选择一个要迁移的资源。" #: src/views/toolbox/MigrationView.vue:337 -msgid "The selection contains blocked resources. Resolve them or enable skipping first." +msgid "" +"The selection contains blocked resources. Resolve them or enable skipping " +"first." msgstr "所选内容包含受阻资源。请先解决问题或启用跳过。" #: src/views/toolbox/MigrationView.vue:343 @@ -11389,8 +10997,12 @@ msgid "API key of the source panel" msgstr "源面板 API 密钥" #: src/views/toolbox/MigrationView.vue:543 -msgid "The target API must allow this server address. Missing database servers and runtimes are reported in the next step." -msgstr "目标 API 必须允许本服务器地址访问。缺少的数据库服务器和运行环境将在下一步提示。" +msgid "" +"The target API must allow this server address. Missing database servers and " +"runtimes are reported in the next step." +msgstr "" +"目标 API 必须允许本服务器地址访问。缺少的数据库服务器和运行环境将在下一步提" +"示。" #: src/views/toolbox/MigrationView.vue:546 msgid "The source panel API must be enabled and allow this server address." @@ -11583,11 +11195,18 @@ msgid "Confirm Network Configuration Change" msgstr "确认更改网络配置" #: src/views/toolbox/network/InterfaceView.vue:293 -msgid "Changing the primary IP address, gateway, or automatic address assignment may interrupt the panel connection. The change will be rolled back automatically unless you confirm it afterwards. Continue?" -msgstr "更改主 IP 地址、网关或自动地址分配可能会中断面板连接。除非随后进行确认,否则更改将自动回滚。是否继续?" +msgid "" +"Changing the primary IP address, gateway, or automatic address assignment " +"may interrupt the panel connection. The change will be rolled back " +"automatically unless you confirm it afterwards. Continue?" +msgstr "" +"更改主 IP 地址、网关或自动地址分配可能会中断面板连接。除非随后进行确认,否则" +"更改将自动回滚。是否继续?" #: src/views/toolbox/network/InterfaceView.vue:323 -msgid "Network configuration changed. Confirm within %{ seconds }s to keep it, otherwise it will be rolled back automatically." +msgid "" +"Network configuration changed. Confirm within %{ seconds }s to keep it, " +"otherwise it will be rolled back automatically." msgstr "网络配置已更改。请在 %{ seconds } 秒内确认以保留更改,否则将自动回滚。" #: src/views/toolbox/network/InterfaceView.vue:327 @@ -11638,8 +11257,7 @@ msgstr "本地地址" msgid "Remote Address" msgstr "远程地址" -#: src/views/toolbox/NetworkView.vue:150 -#: src/views/toolbox/ProcessView.vue:477 +#: src/views/toolbox/NetworkView.vue:150 src/views/toolbox/ProcessView.vue:477 msgid "Network Connections" msgstr "网络连接" @@ -11675,8 +11293,7 @@ msgstr "Goroutines" msgid "Cgo Calls" msgstr "Cgo 调用" -#: src/views/toolbox/PanelView.vue:123 -#: src/views/toolbox/PanelView.vue:145 +#: src/views/toolbox/PanelView.vue:123 src/views/toolbox/PanelView.vue:145 msgid "Allocated" msgstr "已分配" @@ -11696,8 +11313,7 @@ msgstr "分配次数" msgid "Frees" msgstr "释放次数" -#: src/views/toolbox/PanelView.vue:151 -#: src/views/toolbox/ProcessView.vue:51 +#: src/views/toolbox/PanelView.vue:151 src/views/toolbox/ProcessView.vue:51 #: src/views/toolbox/ProcessView.vue:85 msgid "Idle" msgstr "空闲" @@ -11778,18 +11394,15 @@ msgstr "总计:%{ count }" msgid "All Status" msgstr "所有状态" -#: src/views/toolbox/ProcessView.vue:49 -#: src/views/toolbox/ProcessView.vue:81 +#: src/views/toolbox/ProcessView.vue:49 src/views/toolbox/ProcessView.vue:81 msgid "Sleeping" msgstr "睡眠" -#: src/views/toolbox/ProcessView.vue:52 -#: src/views/toolbox/ProcessView.vue:87 +#: src/views/toolbox/ProcessView.vue:52 src/views/toolbox/ProcessView.vue:87 msgid "Zombie" msgstr "僵尸进程" -#: src/views/toolbox/ProcessView.vue:54 -#: src/views/toolbox/ProcessView.vue:91 +#: src/views/toolbox/ProcessView.vue:54 src/views/toolbox/ProcessView.vue:91 msgid "Locked" msgstr "已锁定" @@ -11833,18 +11446,15 @@ msgstr "用户信号 2(SIGUSR2)" msgid "Blocked" msgstr "阻塞" -#: src/views/toolbox/ProcessView.vue:114 -#: src/views/toolbox/ProcessView.vue:390 +#: src/views/toolbox/ProcessView.vue:114 src/views/toolbox/ProcessView.vue:390 msgid "Parent PID" msgstr "父进程 PID" -#: src/views/toolbox/ProcessView.vue:121 -#: src/views/toolbox/ProcessView.vue:402 +#: src/views/toolbox/ProcessView.vue:121 src/views/toolbox/ProcessView.vue:402 msgid "Threads" msgstr "线程" -#: src/views/toolbox/ProcessView.vue:162 -#: src/views/toolbox/ProcessView.vue:423 +#: src/views/toolbox/ProcessView.vue:162 src/views/toolbox/ProcessView.vue:423 msgid "Start Time" msgstr "启动时间" @@ -11944,8 +11554,7 @@ msgstr "请输入密码" msgid "Root password updated" msgstr "Root 密码已更新" -#: src/views/toolbox/SshView.vue:135 -#: src/views/toolbox/SshView.vue:148 +#: src/views/toolbox/SshView.vue:135 src/views/toolbox/SshView.vue:148 msgid "SSH key generated" msgstr "SSH 密钥已生成" @@ -12026,7 +11635,9 @@ msgid "Root Private Key" msgstr "Root 私钥" #: src/views/toolbox/SshView.vue:365 -msgid "This is the private key of the root user. Keep it safe and use it to login to this server." +msgid "" +"This is the private key of the root user. Keep it safe and use it to login " +"to this server." msgstr "这是 root 用户的私钥。请妥善保管,并用它登录到此服务器。" #: src/views/toolbox/SshView.vue:375 @@ -12058,7 +11669,9 @@ msgid "Enter hostname, e.g. myserver" msgstr "输入主机名,例如 myserver" #: src/views/toolbox/SystemView.vue:201 -msgid "After manually changing the time, it may still be overwritten by system automatic time synchronization." +msgid "" +"After manually changing the time, it may still be overwritten by system " +"automatic time synchronization." msgstr "手动更改时间后,系统自动时间同步可能仍会覆盖设置。" #: src/views/toolbox/SystemView.vue:207 @@ -12094,11 +11707,15 @@ msgid "System NTP Server Configuration" msgstr "系统 NTP 服务器配置" #: src/views/toolbox/SystemView.vue:265 -msgid "Unable to detect NTP service. Please ensure chrony or systemd-timesyncd is installed." +msgid "" +"Unable to detect NTP service. Please ensure chrony or systemd-timesyncd is " +"installed." msgstr "无法检测到 NTP 服务。请确保已安装 chrony 或 systemd-timesyncd。" #: src/views/toolbox/SystemView.vue:272 -msgid "Current NTP service: %{ service }. Changes will be applied to system configuration." +msgid "" +"Current NTP service: %{ service }. Changes will be applied to system " +"configuration." msgstr "当前 NTP 服务:%{ service }。更改将应用于系统配置。" #: src/views/toolbox/SystemView.vue:285 @@ -12129,38 +11746,31 @@ msgstr "您确定要删除此 Web 钩子吗?" msgid "URL copied to clipboard" msgstr "URL 已复制到剪贴板" -#: src/views/toolbox/WebHookView.vue:232 -#: src/views/toolbox/WebHookView.vue:259 +#: src/views/toolbox/WebHookView.vue:232 src/views/toolbox/WebHookView.vue:259 msgid "Please enter a name" msgstr "请输入名称" -#: src/views/toolbox/WebHookView.vue:236 -#: src/views/toolbox/WebHookView.vue:263 +#: src/views/toolbox/WebHookView.vue:236 src/views/toolbox/WebHookView.vue:263 msgid "Please enter a script" msgstr "请输入脚本" -#: src/views/toolbox/WebHookView.vue:295 -#: src/views/toolbox/WebHookView.vue:323 +#: src/views/toolbox/WebHookView.vue:295 src/views/toolbox/WebHookView.vue:323 msgid "Create WebHook" msgstr "创建 Web 钩子" -#: src/views/toolbox/WebHookView.vue:331 -#: src/views/toolbox/WebHookView.vue:372 +#: src/views/toolbox/WebHookView.vue:331 src/views/toolbox/WebHookView.vue:372 msgid "Enter WebHook name" msgstr "输入 Web 钩子名称" -#: src/views/toolbox/WebHookView.vue:336 -#: src/views/toolbox/WebHookView.vue:377 +#: src/views/toolbox/WebHookView.vue:336 src/views/toolbox/WebHookView.vue:377 msgid "User to run the script (default: root)" msgstr "运行脚本用户(默认:root)" -#: src/views/toolbox/WebHookView.vue:342 -#: src/views/toolbox/WebHookView.vue:383 +#: src/views/toolbox/WebHookView.vue:342 src/views/toolbox/WebHookView.vue:383 msgid "Return script output as raw text instead of JSON" msgstr "将脚本输出作为原始文本而非 JSON 返回" -#: src/views/toolbox/WebHookView.vue:345 -#: src/views/toolbox/WebHookView.vue:389 +#: src/views/toolbox/WebHookView.vue:345 src/views/toolbox/WebHookView.vue:389 msgid "Script" msgstr "脚本" @@ -12169,16 +11779,13 @@ msgid "Edit WebHook" msgstr "编辑 Web 钩子" #: src/views/website/BulkCreateModal.vue:32 -#: src/views/website/CreateModal.vue:57 -#: src/views/website/EditModal.vue:90 +#: src/views/website/CreateModal.vue:57 src/views/website/EditModal.vue:90 msgid "Not used" msgstr "未使用" #: src/views/website/BulkCreateModal.vue:61 -#: src/views/website/CreateModal.vue:30 -#: src/views/website/EditModal.vue:108 -#: src/views/website/IndexView.vue:28 -#: src/views/website/ListView.vue:128 +#: src/views/website/CreateModal.vue:30 src/views/website/EditModal.vue:108 +#: src/views/website/IndexView.vue:28 src/views/website/ListView.vue:128 msgid "Pure Static" msgstr "纯静态" @@ -12194,8 +11801,7 @@ msgstr "批量创建 PHP 网站" msgid "Bulk Create Pure Static Website" msgstr "批量创建纯静态网站" -#: src/views/website/BulkCreateModal.vue:74 -#: src/views/website/ListView.vue:409 +#: src/views/website/BulkCreateModal.vue:74 src/views/website/ListView.vue:409 msgid "Bulk Create Website" msgstr "批量创建网站" @@ -12212,7 +11818,9 @@ msgid "name|domain|port|path|remark" msgstr "名称|域名|端口|路径|备注" #: src/views/website/BulkCreateModal.vue:92 -msgid "Proxy Target: The target address for reverse proxy (e.g., http://127.0.0.1:3000)." +msgid "" +"Proxy Target: The target address for reverse proxy (e.g., " +"http://127.0.0.1:3000)." msgstr "代理目标地址(如:http://127.0.0.1:3000)" #: src/views/website/BulkCreateModal.vue:96 @@ -12233,32 +11841,38 @@ msgid "Website %{ name } created successfully" msgstr "网站 %{ name } 创建成功" #: src/views/website/BulkCreateModal.vue:189 -#: src/views/website/CreateModal.vue:180 -#: src/views/website/EditModal.vue:1905 +#: src/views/website/CreateModal.vue:180 src/views/website/EditModal.vue:1905 #: src/views/website/ListView.vue:120 msgid "Website Type" msgstr "网站类型" #: src/views/website/BulkCreateModal.vue:193 -#: src/views/website/CreateModal.vue:184 -#: src/views/website/EditModal.vue:1914 +#: src/views/website/CreateModal.vue:184 src/views/website/EditModal.vue:1914 msgid "Select Website Type" msgstr "选择网站类型" #: src/views/website/BulkCreateModal.vue:198 -msgid "Please enter the website name, domain, port, path, and remark in the text area below, one per line." +msgid "" +"Please enter the website name, domain, port, path, and remark in the text " +"area below, one per line." msgstr "请在下面的文本区域输入网站名称、域名、端口、路径和注释,每行一个。" #: src/views/website/BulkCreateModal.vue:211 -msgid "Name: The name of the website, which will be displayed in the website list, must be unique." +msgid "" +"Name: The name of the website, which will be displayed in the website list, " +"must be unique." msgstr "名称:网站的名称,将显示在网站列表中,必须是唯一的。" #: src/views/website/BulkCreateModal.vue:218 -msgid "Domain: The domain name of the website, multiple domains can be separated by commas." +msgid "" +"Domain: The domain name of the website, multiple domains can be separated by " +"commas." msgstr "域名:网站的域名,多个域名可以用英文逗号分隔。" #: src/views/website/BulkCreateModal.vue:225 -msgid "Port: The port number of the website, multiple ports can be separated by commas." +msgid "" +"Port: The port number of the website, multiple ports can be separated by " +"commas." msgstr "端口:网站的端口号,多个端口可以用英文逗号分隔。" #: src/views/website/BulkCreateModal.vue:237 @@ -12277,26 +11891,27 @@ msgstr "创建 PHP 网站" msgid "Create Pure Static Website" msgstr "创建纯静态网站" -#: src/views/website/CreateModal.vue:80 -#: src/views/website/ListView.vue:406 +#: src/views/website/CreateModal.vue:80 src/views/website/ListView.vue:406 msgid "Create Website" msgstr "创建网站" #: src/views/website/CreateModal.vue:193 -msgid "Must be unique, used for directory naming, database naming, etc., and only supports letters, numbers, hyphens, and underscores" +msgid "" +"Must be unique, used for directory naming, database naming, etc., and only " +"supports letters, numbers, hyphens, and underscores" msgstr "必须唯一,用于目录命名、数据库命名等。只支持字母、数字、连字符和下划线" -#: src/views/website/CreateModal.vue:294 -#: src/views/website/CreateModal.vue:300 +#: src/views/website/CreateModal.vue:294 src/views/website/CreateModal.vue:300 msgid "Database Password" msgstr "数据库密码" #: src/views/website/CreateModal.vue:312 -msgid "Website root directory (if left empty, defaults to website directory/website name/public)" +msgid "" +"Website root directory (if left empty, defaults to website directory/website " +"name/public)" msgstr "网站根目录(如果留空,默认为网站目录/网站名称/public)" -#: src/views/website/CreateModal.vue:324 -#: src/views/website/EditModal.vue:1926 +#: src/views/website/CreateModal.vue:324 src/views/website/EditModal.vue:1926 msgid "Proxy Target" msgstr "代理目标" @@ -12304,8 +11919,7 @@ msgstr "代理目标" msgid "Proxy target address (e.g., http://127.0.0.1:3000)" msgstr "代理目标地址(如:http://127.0.0.1:3000)" -#: src/views/website/CreateModal.vue:332 -#: src/views/website/CreateModal.vue:337 +#: src/views/website/CreateModal.vue:332 src/views/website/CreateModal.vue:337 #: src/views/website/ListView.vue:229 msgid "Remark" msgstr "备注" @@ -12323,8 +11937,13 @@ msgid "Confirm Website Type Switch" msgstr "确认切换网站类型" #: src/views/website/EditModal.vue:210 -msgid "Switch the website type from %{ from } to %{ to }? Common settings and website files will be preserved. The original type-specific configuration will be deleted and rebuilt for the new type." -msgstr "将网站类型从 %{ from } 切换为 %{ to }?通用设置和网站文件将被保留。原类型专用配置将被删除,并按新类型重新生成。" +msgid "" +"Switch the website type from %{ from } to %{ to }? Common settings and " +"website files will be preserved. The original type-specific configuration " +"will be deleted and rebuilt for the new type." +msgstr "" +"将网站类型从 %{ from } 切换为 %{ to }?通用设置和网站文件将被保留。原类型专用" +"配置将被删除,并按新类型重新生成。" #: src/views/website/EditModal.vue:214 msgid "Confirm Switch" @@ -12339,8 +11958,12 @@ msgid "Reset successfully" msgstr "重置成功" #: src/views/website/EditModal.vue:271 -msgid "Your website contains wildcard domains, which require DNS verification. Please add a DNS provider in Certificate Management first." -msgstr "您的网站包含通配符域名,这需要进行 DNS 验证。请先在证书管理中添加一个 DNS 提供商。" +msgid "" +"Your website contains wildcard domains, which require DNS verification. " +"Please add a DNS provider in Certificate Management first." +msgstr "" +"您的网站包含通配符域名,这需要进行 DNS 验证。请先在证书管理中添加一个 DNS 提" +"供商。" #: src/views/website/EditModal.vue:288 msgid "Please select a DNS provider" @@ -12402,8 +12025,7 @@ msgstr "临时重定向" msgid "Permanent Redirect" msgstr "永久重定向" -#: src/views/website/EditModal.vue:851 -#: src/views/website/EditModal.vue:855 +#: src/views/website/EditModal.vue:851 src/views/website/EditModal.vue:855 msgid "Default Path" msgstr "默认路径" @@ -12447,8 +12069,7 @@ msgstr "上游" msgid "Upstream name" msgstr "上游名称" -#: src/views/website/EditModal.vue:1049 -#: src/views/website/EditModal.vue:1056 +#: src/views/website/EditModal.vue:1049 src/views/website/EditModal.vue:1056 msgid "Round Robin (default)" msgstr "轮询(默认)" @@ -12592,8 +12213,7 @@ msgstr "自定义缓存键,例如 $scheme$host$request_uri" msgid "Custom Request Headers" msgstr "自定义请求头" -#: src/views/website/EditModal.vue:1345 -#: src/views/website/EditModal.vue:1644 +#: src/views/website/EditModal.vue:1345 src/views/website/EditModal.vue:1644 msgid "Header name" msgstr "请求头" @@ -12621,8 +12241,7 @@ msgstr "替换内容" msgid "Add Replacement Rule" msgstr "添加替换规则" -#: src/views/website/EditModal.vue:1373 -#: src/views/website/EditModal.vue:1903 +#: src/views/website/EditModal.vue:1373 src/views/website/EditModal.vue:1903 msgid "Advanced Settings" msgstr "高级设置" @@ -12840,8 +12459,12 @@ msgid "For example: http://127.0.0.1:3000" msgstr "例如:http://127.0.0.1:3000" #: src/views/website/EditModal.vue:1935 -msgid "After switching, common settings and website files will be preserved. The original type-specific configuration will be deleted and rebuilt for the new type." -msgstr "切换后将保留通用设置和网站文件。原类型专用配置将被删除,并按新类型重新生成。" +msgid "" +"After switching, common settings and website files will be preserved. The " +"original type-specific configuration will be deleted and rebuilt for the new " +"type." +msgstr "" +"切换后将保留通用设置和网站文件。原类型专用配置将被删除,并按新类型重新生成。" #: src/views/website/EditModal.vue:1946 msgid "Switch Website Type" @@ -12859,13 +12482,11 @@ msgstr "启用统计" msgid "Log Settings" msgstr "日志设置" -#: src/views/website/EditModal.vue:1967 -#: src/views/website/EditModal.vue:2184 +#: src/views/website/EditModal.vue:1967 src/views/website/EditModal.vue:2184 msgid "Access Log" msgstr "访问日志" -#: src/views/website/EditModal.vue:1976 -#: src/views/website/EditModal.vue:2200 +#: src/views/website/EditModal.vue:1976 src/views/website/EditModal.vue:2200 msgid "Error Log" msgstr "错误日志" @@ -12906,12 +12527,18 @@ msgid "Real IP" msgstr "真实 IP" #: src/views/website/EditModal.vue:2042 -msgid "Configure trusted proxy IPs (e.g., CDN or Frp) to identify real visitor IPs." +msgid "" +"Configure trusted proxy IPs (e.g., CDN or Frp) to identify real visitor IPs." msgstr "配置可信的代理 IP(例如 CDN 或 Frp)以识别真实的访客 IP。" #: src/views/website/EditModal.vue:2049 -msgid "If using Frp, fill in the Frp IP address (e.g., 127.0.0.1). If using CDN, fill in the CDN IP ranges. If unsure, you can fill in 0.0.0.0/0 (ipv4) or ::/0 (ipv6) [insecure]." -msgstr "如果使用 Frp,请填写 Frp IP 地址(例如 127.0.0.1)。如果使用 CDN,请填写 CDN IP 范围。如果不确定,可以填写 0.0.0.0/0(ipv4)或 ::/0(ipv6)[不安全]。" +msgid "" +"If using Frp, fill in the Frp IP address (e.g., 127.0.0.1). If using CDN, " +"fill in the CDN IP ranges. If unsure, you can fill in 0.0.0.0/0 (ipv4) " +"or ::/0 (ipv6) [insecure]." +msgstr "" +"如果使用 Frp,请填写 Frp IP 地址(例如 127.0.0.1)。如果使用 CDN,请填写 CDN " +"IP 范围。如果不确定,可以填写 0.0.0.0/0(ipv4)或 ::/0(ipv6)[不安全]。" #: src/views/website/EditModal.vue:2055 msgid "Enable" @@ -12946,7 +12573,8 @@ msgid "User Credentials" msgstr "用户凭据" #: src/views/website/EditModal.vue:2109 -msgid "Visitors will need to enter a username and password to access this website." +msgid "" +"Visitors will need to enter a username and password to access this website." msgstr "访客需要输入用户名和密码才能访问此网站。" #: src/views/website/EditModal.vue:2117 @@ -12977,13 +12605,11 @@ msgstr "没有自定义配置" msgid "Add Custom Config" msgstr "添加自定义配置" -#: src/views/website/EditModal.vue:2189 -#: src/views/website/EditModal.vue:2205 +#: src/views/website/EditModal.vue:2189 src/views/website/EditModal.vue:2205 msgid "All logs can be viewed by downloading the file" msgstr "所有日志可通过下载文件查看" -#: src/views/website/EditModal.vue:2191 -#: src/views/website/EditModal.vue:2207 +#: src/views/website/EditModal.vue:2191 src/views/website/EditModal.vue:2207 msgid "view" msgstr "查看" @@ -13004,8 +12630,11 @@ msgid "Select DNS Provider" msgstr "选择 DNS 提供商" #: src/views/website/EditModal.vue:2274 -msgid "Your website contains wildcard domains (e.g. *.example.com), which require DNS verification to issue certificates." -msgstr "您网站包含通配符域名(例如 *.example.com),这需要 DNS 验证才能签发证书。" +msgid "" +"Your website contains wildcard domains (e.g. *.example.com), which require " +"DNS verification to issue certificates." +msgstr "" +"您网站包含通配符域名(例如 *.example.com),这需要 DNS 验证才能签发证书。" #: src/views/website/IndexView.vue:29 msgid "Stats" @@ -13056,7 +12685,9 @@ msgid "Delete local database with the same name" msgstr "删除同名的本地数据库" #: src/views/website/ListView.vue:415 -msgid "This will delete the website directory but not the database with the same name. Are you sure you want to delete the selected websites?" +msgid "" +"This will delete the website directory but not the database with the same " +"name. Are you sure you want to delete the selected websites?" msgstr "这将删除网站目录,但不会删除同名的数据库。您确定要删除所选网站吗?" #: src/views/website/SettingView.vue:81 @@ -13075,25 +12706,33 @@ msgstr "停止页面" msgid "404 Page" msgstr "404 页面" -#: src/views/website/SettingView.vue:144 -#: src/views/website/SettingView.vue:154 +#: src/views/website/SettingView.vue:144 src/views/website/SettingView.vue:154 msgid "Default Site" msgstr "默认网站" #: src/views/website/SettingView.vue:148 -msgid "The default site handles requests that do not match any website domain, such as direct access via IP address. By default, the panel built-in page is displayed." -msgstr "默认站点处理未匹配任何网站域名的请求(如通过 IP 直接访问),默认显示面板内置页面。" +msgid "" +"The default site handles requests that do not match any website domain, such " +"as direct access via IP address. By default, the panel built-in page is " +"displayed." +msgstr "" +"默认站点处理未匹配任何网站域名的请求(如通过 IP 直接访问),默认显示面板内置" +"页面。" #: src/views/website/SettingView.vue:168 msgid "Default Settings" msgstr "默认设置" #: src/views/website/SettingView.vue:172 -msgid "Modifying the default TLS version will affect all newly created websites. Existing websites will not be affected." +msgid "" +"Modifying the default TLS version will affect all newly created websites. " +"Existing websites will not be affected." msgstr "修改默认 TLS 版本将影响所有新创建的网站。现有网站不受影响。" #: src/views/website/SettingView.vue:179 -msgid "Please adjust the settings carefully, improper configuration may lead to website inaccessible." +msgid "" +"Please adjust the settings carefully, improper configuration may lead to " +"website inaccessible." msgstr "请小心调整设置,配置不当可能导致网站无法访问。" #: src/views/website/SettingView.vue:185 @@ -13105,7 +12744,8 @@ msgid "Listen IPv6" msgstr "监听 IPv6" #: src/views/website/SettingView.vue:202 -msgid "When enabled, new websites will listen on IPv6 for all configured ports." +msgid "" +"When enabled, new websites will listen on IPv6 for all configured ports." msgstr "启用后,新建网站将在所有已配置端口上监听 IPv6。" #: src/views/website/SettingView.vue:220 @@ -13113,7 +12753,9 @@ msgid "Statistics" msgstr "统计" #: src/views/website/SettingView.vue:224 -msgid "Modifications to the limits below will take effect after restarting the panel." +msgid "" +"Modifications to the limits below will take effect after restarting the " +"panel." msgstr "下面的限制修改将在重启面板后生效。" #: src/views/website/SettingView.vue:230 @@ -13152,8 +12794,7 @@ msgstr "操作系统" #: src/views/website/stats/ClientsTab.vue:95 #: src/views/website/stats/GeoTab.vue:108 #: src/views/website/stats/GeoTab.vue:165 -#: src/views/website/stats/GeoTab.vue:218 -#: src/views/website/stats/IPsTab.vue:91 +#: src/views/website/stats/GeoTab.vue:218 src/views/website/stats/IPsTab.vue:91 #: src/views/website/stats/IPsTab.vue:134 #: src/views/website/stats/OverviewTab.vue:141 #: src/views/website/stats/SitesTab.vue:53 @@ -13177,15 +12818,13 @@ msgstr "没有请求体" msgid "Site" msgstr "站点" -#: src/views/website/stats/GeoTab.vue:92 -#: src/views/website/stats/GeoTab.vue:247 +#: src/views/website/stats/GeoTab.vue:92 src/views/website/stats/GeoTab.vue:247 msgid "Country" msgstr "国家" #: src/views/website/stats/GeoTab.vue:113 #: src/views/website/stats/GeoTab.vue:165 -#: src/views/website/stats/GeoTab.vue:218 -#: src/views/website/stats/IPsTab.vue:91 +#: src/views/website/stats/GeoTab.vue:218 src/views/website/stats/IPsTab.vue:91 #: src/views/website/stats/IPsTab.vue:139 #: src/views/website/stats/OverviewTab.vue:140 #: src/views/website/stats/SlowURIsTab.vue:76 @@ -13208,14 +12847,12 @@ msgstr "ISP 分布" #: src/views/website/stats/OverviewTab.vue:142 #: src/views/website/stats/SitesTab.vue:57 #: src/views/website/stats/SlowURIsTab.vue:81 -#: src/views/website/stats/URIsTab.vue:59 -#: src/views/website/StatsView.vue:221 +#: src/views/website/stats/URIsTab.vue:59 src/views/website/StatsView.vue:221 msgid "Errors" msgstr "错误" #: src/views/website/stats/OverviewTab.vue:143 -#: src/views/website/stats/SitesTab.vue:59 -#: src/views/website/StatsView.vue:200 +#: src/views/website/stats/SitesTab.vue:59 src/views/website/StatsView.vue:200 msgid "Spiders" msgstr "蜘蛛" @@ -13291,4 +12928,3 @@ msgstr "URIs" #: src/views/website/StatsView.vue:218 msgid "Slow Requests" msgstr "慢请求" - diff --git a/web/src/locales/zh_TW.po b/web/src/locales/zh_TW.po index 33e379d4..166201b6 100644 --- a/web/src/locales/zh_TW.po +++ b/web/src/locales/zh_TW.po @@ -1,5 +1,9 @@ msgid "" msgstr "" +"Project-Id-Version: acepanel\n" +"PO-Revision-Date: 2026-08-15 10:05\n" +"Language-Team: Chinese Traditional\n" +"Language: zh_TW\n" "Content-Type: text/plain; charset=UTF-8\n" "Plural-Forms: nplurals=1; plural=0;\n" "X-Crowdin-Project: acepanel\n" @@ -7,13 +11,8 @@ msgstr "" "X-Crowdin-Language: zh-TW\n" "X-Crowdin-File: frontend.pot\n" "X-Crowdin-File-ID: 1168\n" -"Project-Id-Version: acepanel\n" -"Language-Team: Chinese Traditional\n" -"Language: zh_TW\n" -"PO-Revision-Date: 2026-08-15 10:05\n" -#: src/components/common/AppFooter.vue:18 -#: src/views/home/IndexView.vue:560 +#: src/components/common/AppFooter.vue:18 src/views/home/IndexView.vue:560 msgid "AcePanel" msgstr "AcePanel" @@ -25,18 +24,12 @@ msgstr "版權所有" msgid "QQ Group" msgstr "QQ 群" -#: src/components/common/AppFooter.vue:38 -#: src/locales/menu.ts:24 -#: src/views/apps/fail2ban/IndexView.vue:313 -#: src/views/backup/IndexView.vue:53 -#: src/views/backup/ListView.vue:276 -#: src/views/backup/ListView.vue:324 -#: src/views/cert/CertView.vue:526 -#: src/views/cert/CertView.vue:642 -#: src/views/cert/CreateCertModal.vue:118 -#: src/views/home/IndexView.vue:542 -#: src/views/task/CreateModal.vue:445 -#: src/views/task/CreateModal.vue:467 +#: src/components/common/AppFooter.vue:38 src/locales/menu.ts:24 +#: src/views/apps/fail2ban/IndexView.vue:313 src/views/backup/IndexView.vue:53 +#: src/views/backup/ListView.vue:276 src/views/backup/ListView.vue:324 +#: src/views/cert/CertView.vue:550 src/views/cert/CertView.vue:667 +#: src/views/cert/CreateCertModal.vue:118 src/views/home/IndexView.vue:542 +#: src/views/task/CreateModal.vue:445 src/views/task/CreateModal.vue:467 #: src/views/toolbox/MigrationView.vue:75 msgid "Website" msgstr "網站" @@ -189,16 +182,11 @@ msgid "After Reboot" msgstr "重啟後" #: src/components/common/CronSelector.vue:192 -#: src/views/monitor/SystemView.vue:713 -#: src/views/monitor/SystemView.vue:767 -#: src/views/monitor/SystemView.vue:819 -#: src/views/monitor/SystemView.vue:875 -#: src/views/monitor/SystemView.vue:942 -#: src/views/project/CreateModal.vue:22 -#: src/views/project/CreateModal.vue:33 -#: src/views/project/CreateModal.vue:46 -#: src/views/project/CreateModal.vue:58 -#: src/views/project/CreateModal.vue:70 +#: src/views/monitor/SystemView.vue:713 src/views/monitor/SystemView.vue:767 +#: src/views/monitor/SystemView.vue:819 src/views/monitor/SystemView.vue:875 +#: src/views/monitor/SystemView.vue:942 src/views/project/CreateModal.vue:22 +#: src/views/project/CreateModal.vue:33 src/views/project/CreateModal.vue:46 +#: src/views/project/CreateModal.vue:58 src/views/project/CreateModal.vue:70 #: src/views/website/StatsView.vue:160 msgid "Custom" msgstr "自訂" @@ -208,20 +196,17 @@ msgid "Month %{month}" msgstr "%{month} 月" #: src/components/common/CronSelector.vue:347 -#: src/views/apps/nginx/NginxIndex.vue:799 -#: src/views/website/EditModal.vue:748 +#: src/views/apps/nginx/NginxIndex.vue:799 src/views/website/EditModal.vue:748 msgid "Seconds" msgstr "秒" #: src/components/common/CronSelector.vue:358 -#: src/views/apps/nginx/NginxIndex.vue:800 -#: src/views/website/EditModal.vue:749 +#: src/views/apps/nginx/NginxIndex.vue:800 src/views/website/EditModal.vue:749 msgid "Minutes" msgstr "分" #: src/components/common/CronSelector.vue:369 -#: src/views/apps/nginx/NginxIndex.vue:801 -#: src/views/website/EditModal.vue:750 +#: src/views/apps/nginx/NginxIndex.vue:801 src/views/website/EditModal.vue:750 msgid "Hours" msgstr "時" @@ -261,8 +246,7 @@ msgstr "最大化" #: src/components/common/DraggableWindow.vue:289 #: src/components/file-editor/EditorPane.vue:282 #: src/layouts/tab/components/ContextMenu.vue:29 -#: src/views/cert/ObtainModal.vue:183 -#: src/views/ssh/IndexView.vue:512 +#: src/views/cert/ObtainModal.vue:183 src/views/ssh/IndexView.vue:512 msgid "Close" msgstr "關閉" @@ -286,8 +270,7 @@ msgstr "目前狀態無法儲存" #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:58 #: src/views/apps/elasticsearch/IndexView.vue:51 #: src/views/apps/fail2ban/IndexView.vue:146 -#: src/views/apps/frp/IndexView.vue:38 -#: src/views/apps/frp/IndexView.vue:49 +#: src/views/apps/frp/IndexView.vue:38 src/views/apps/frp/IndexView.vue:49 #: src/views/apps/gitea/IndexView.vue:24 #: src/views/apps/grafana/GrafanaConfigTuneView.vue:139 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:174 @@ -333,26 +316,18 @@ msgstr "目前狀態無法儲存" #: src/views/apps/valkey/IndexView.vue:51 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:103 #: src/views/database/ElasticsearchDocModal.vue:61 -#: src/views/database/RedisKeyModal.vue:77 -#: src/views/environment/GoView.vue:52 +#: src/views/database/RedisKeyModal.vue:77 src/views/environment/GoView.vue:52 #: src/views/environment/NodejsView.vue:55 #: src/views/environment/PhpConfigTuneView.vue:183 -#: src/views/environment/PHPView.vue:149 -#: src/views/environment/PHPView.vue:155 +#: src/views/environment/PHPView.vue:149 src/views/environment/PHPView.vue:155 #: src/views/environment/PythonView.vue:59 #: src/views/monitor/AlertRuleModal.vue:116 -#: src/views/monitor/ChannelModal.vue:70 -#: src/views/monitor/SettingView.vue:35 -#: src/views/monitor/SettingView.vue:183 -#: src/views/project/EditModal.vue:159 -#: src/views/setting/IndexView.vue:84 -#: src/views/tamper/RuleModal.vue:76 -#: src/views/tamper/TamperView.vue:55 -#: src/views/toolbox/SystemView.vue:62 -#: src/views/toolbox/SystemView.vue:76 -#: src/views/toolbox/SystemView.vue:90 -#: src/views/toolbox/SystemView.vue:137 -#: src/views/website/EditModal.vue:197 +#: src/views/monitor/ChannelModal.vue:70 src/views/monitor/SettingView.vue:35 +#: src/views/monitor/SettingView.vue:183 src/views/project/EditModal.vue:159 +#: src/views/setting/IndexView.vue:84 src/views/tamper/RuleModal.vue:76 +#: src/views/tamper/TamperView.vue:55 src/views/toolbox/SystemView.vue:62 +#: src/views/toolbox/SystemView.vue:76 src/views/toolbox/SystemView.vue:90 +#: src/views/toolbox/SystemView.vue:137 src/views/website/EditModal.vue:197 msgid "Saved successfully" msgstr "儲存成功" @@ -361,8 +336,7 @@ msgstr "儲存成功" msgid "Remove" msgstr "移除" -#: src/components/common/PathSelector.vue:28 -#: src/views/task/CreateModal.vue:506 +#: src/components/common/PathSelector.vue:28 src/views/task/CreateModal.vue:506 msgid "Select Directory" msgstr "選擇目錄" @@ -372,8 +346,7 @@ msgstr "選擇檔案" #: src/components/common/PathSelector.vue:51 #: src/components/common/PathSelector.vue:395 -#: src/views/app/EnvironmentView.vue:38 -#: src/views/app/InstalledView.vue:158 +#: src/views/app/EnvironmentView.vue:38 src/views/app/InstalledView.vue:158 #: src/views/apps/fail2ban/IndexView.vue:41 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:72 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:206 @@ -382,43 +355,27 @@ msgstr "選擇檔案" #: src/views/apps/nginx/NginxIndex.vue:619 #: src/views/apps/nginx/NginxIndex.vue:705 #: src/views/apps/prometheus/PrometheusExportersView.vue:26 -#: src/views/apps/rsync/IndexView.vue:43 -#: src/views/apps/rsync/IndexView.vue:263 +#: src/views/apps/rsync/IndexView.vue:43 src/views/apps/rsync/IndexView.vue:263 #: src/views/apps/supervisor/IndexView.vue:56 #: src/views/apps/supervisor/IndexView.vue:392 -#: src/views/backup/StorageView.vue:66 -#: src/views/backup/StorageView.vue:230 -#: src/views/backup/StorageView.vue:392 -#: src/views/container/ComposeView.vue:59 -#: src/views/container/NetworkView.vue:48 -#: src/views/container/VolumeView.vue:29 +#: src/views/backup/StorageView.vue:66 src/views/backup/StorageView.vue:230 +#: src/views/backup/StorageView.vue:392 src/views/container/ComposeView.vue:59 +#: src/views/container/NetworkView.vue:48 src/views/container/VolumeView.vue:29 #: src/views/database/CreateServerModal.vue:108 #: src/views/database/ServerList.vue:66 -#: src/views/database/UpdateServerModal.vue:66 -#: src/views/file/ListView.vue:1444 -#: src/views/file/PropertyModal.vue:27 -#: src/views/file/ToolBar.vue:123 -#: src/views/home/IndexView.vue:671 -#: src/views/home/IndexView.vue:772 -#: src/views/monitor/AlertRuleModal.vue:136 -#: src/views/monitor/AlertView.vue:53 -#: src/views/monitor/ChannelModal.vue:90 -#: src/views/monitor/SettingView.vue:102 -#: src/views/project/ListView.vue:37 -#: src/views/setting/PasskeyModal.vue:26 -#: src/views/ssh/CreateModal.vue:60 -#: src/views/ssh/UpdateModal.vue:66 -#: src/views/tamper/RuleModal.vue:105 -#: src/views/tamper/TamperView.vue:118 -#: src/views/toolbox/LogView.vue:219 -#: src/views/toolbox/MigrationView.vue:132 +#: src/views/database/UpdateServerModal.vue:66 src/views/file/ListView.vue:1444 +#: src/views/file/PropertyModal.vue:27 src/views/file/ToolBar.vue:123 +#: src/views/home/IndexView.vue:671 src/views/home/IndexView.vue:772 +#: src/views/monitor/AlertRuleModal.vue:136 src/views/monitor/AlertView.vue:53 +#: src/views/monitor/ChannelModal.vue:90 src/views/monitor/SettingView.vue:102 +#: src/views/project/ListView.vue:37 src/views/setting/PasskeyModal.vue:26 +#: src/views/ssh/CreateModal.vue:60 src/views/ssh/UpdateModal.vue:66 +#: src/views/tamper/RuleModal.vue:105 src/views/tamper/TamperView.vue:118 +#: src/views/toolbox/LogView.vue:219 src/views/toolbox/MigrationView.vue:132 #: src/views/toolbox/MigrationView.vue:207 -#: src/views/toolbox/ProcessView.vue:106 -#: src/views/toolbox/ProcessView.vue:393 -#: src/views/toolbox/WebHookView.vue:37 -#: src/views/toolbox/WebHookView.vue:330 -#: src/views/toolbox/WebHookView.vue:371 -#: src/views/website/CreateModal.vue:187 +#: src/views/toolbox/ProcessView.vue:106 src/views/toolbox/ProcessView.vue:393 +#: src/views/toolbox/WebHookView.vue:37 src/views/toolbox/WebHookView.vue:330 +#: src/views/toolbox/WebHookView.vue:371 src/views/website/CreateModal.vue:187 #: src/views/website/EditModal.vue:2140 msgid "Name" msgstr "名稱" @@ -427,49 +384,37 @@ msgstr "名稱" msgid "Permissions" msgstr "權限" -#: src/components/common/PathSelector.vue:102 -#: src/views/file/ListView.vue:1455 +#: src/components/common/PathSelector.vue:102 src/views/file/ListView.vue:1455 msgid "Owner / Group" msgstr "所有者 / 群組" -#: src/components/common/PathSelector.vue:114 -#: src/views/backup/ListView.vue:48 +#: src/components/common/PathSelector.vue:114 src/views/backup/ListView.vue:48 #: src/views/container/ImageView.vue:81 #: src/views/database/ElasticsearchDataView.vue:112 -#: src/views/database/RedisDataView.vue:116 -#: src/views/file/ListView.vue:1451 -#: src/views/file/PropertyModal.vue:39 -#: src/views/file/ToolBar.vue:124 +#: src/views/database/RedisDataView.vue:116 src/views/file/ListView.vue:1451 +#: src/views/file/PropertyModal.vue:39 src/views/file/ToolBar.vue:124 #: src/views/toolbox/disk/RaidView.vue:95 -#: src/views/toolbox/disk/RaidView.vue:177 -#: src/views/toolbox/DiskView.vue:233 -#: src/views/toolbox/LogView.vue:220 -#: src/views/toolbox/MigrationView.vue:153 +#: src/views/toolbox/disk/RaidView.vue:177 src/views/toolbox/DiskView.vue:233 +#: src/views/toolbox/LogView.vue:220 src/views/toolbox/MigrationView.vue:153 msgid "Size" msgstr "大小" -#: src/components/common/PathSelector.vue:149 -#: src/views/file/ListView.vue:1618 +#: src/components/common/PathSelector.vue:149 src/views/file/ListView.vue:1618 msgid "Calculate" msgstr "計算" -#: src/components/common/PathSelector.vue:154 -#: src/views/file/ListView.vue:1460 -#: src/views/file/PropertyModal.vue:51 -#: src/views/file/ToolBar.vue:125 +#: src/components/common/PathSelector.vue:154 src/views/file/ListView.vue:1460 +#: src/views/file/PropertyModal.vue:51 src/views/file/ToolBar.vue:125 msgid "Modification Time" msgstr "修改時間" -#: src/components/common/PathSelector.vue:188 -#: src/views/file/ListView.vue:1284 +#: src/components/common/PathSelector.vue:188 src/views/file/ListView.vue:1284 #: src/views/file/PathInput.vue:43 msgid "Invalid path" msgstr "無效路徑" -#: src/components/common/PathSelector.vue:248 -#: src/views/file/ListView.vue:147 -#: src/views/file/ListView.vue:825 -#: src/views/file/ToolBar.vue:46 +#: src/components/common/PathSelector.vue:248 src/views/file/ListView.vue:147 +#: src/views/file/ListView.vue:825 src/views/file/ToolBar.vue:46 msgid "Invalid name" msgstr "無效的名稱" @@ -478,8 +423,7 @@ msgstr "無效的名稱" #: src/views/app/TemplateDeployModal.vue:237 #: src/views/backup/StorageView.vue:150 #: src/views/cert/CreateAccountModal.vue:55 -#: src/views/cert/CreateCertModal.vue:75 -#: src/views/cert/CreateDnsModal.vue:44 +#: src/views/cert/CreateCertModal.vue:75 src/views/cert/CreateDnsModal.vue:44 #: src/views/cert/UploadCertModal.vue:26 #: src/views/container/ComposeView.vue:231 #: src/views/container/ContainerCreate.vue:124 @@ -488,24 +432,19 @@ msgstr "無效的名稱" #: src/views/database/CreateDatabaseModal.vue:48 #: src/views/database/CreateUserModal.vue:56 #: src/views/database/ElasticsearchDataView.vue:263 -#: src/views/file/ListView.vue:156 -#: src/views/firewall/CreateForwardModal.vue:44 -#: src/views/setting/CreateModal.vue:22 -#: src/views/setting/TokenModal.vue:117 -#: src/views/ssh/CreateModal.vue:41 -#: src/views/task/CreateModal.vue:120 +#: src/views/file/ListView.vue:156 src/views/firewall/CreateForwardModal.vue:44 +#: src/views/setting/CreateModal.vue:22 src/views/setting/TokenModal.vue:117 +#: src/views/ssh/CreateModal.vue:41 src/views/task/CreateModal.vue:120 #: src/views/toolbox/WebHookView.vue:249 msgid "Created successfully" msgstr "建立成功" #: src/components/common/PathSelector.vue:319 -#: src/views/file/PropertyModal.vue:34 -#: src/views/file/ToolBar.vue:147 +#: src/views/file/PropertyModal.vue:34 src/views/file/ToolBar.vue:147 msgid "File" msgstr "檔案" -#: src/components/common/PathSelector.vue:320 -#: src/views/file/ToolBar.vue:148 +#: src/components/common/PathSelector.vue:320 src/views/file/ToolBar.vue:148 msgid "Folder" msgstr "資料夾" @@ -513,17 +452,14 @@ msgstr "資料夾" #: src/components/common/PathSelector.vue:387 #: src/views/app/TemplateDeployModal.vue:652 #: src/views/container/ContainerCreate.vue:653 -#: src/views/project/CreateModal.vue:693 -#: src/views/setting/TokenModal.vue:270 -#: src/views/ssh/SftpBrowser.vue:160 -#: src/views/toolbox/WebHookView.vue:356 +#: src/views/project/CreateModal.vue:693 src/views/setting/TokenModal.vue:270 +#: src/views/ssh/SftpBrowser.vue:160 src/views/toolbox/WebHookView.vue:356 #: src/views/website/BulkCreateModal.vue:240 #: src/views/website/CreateModal.vue:342 msgid "Create" msgstr "建立" -#: src/components/common/PathSelector.vue:333 -#: src/views/file/PathInput.vue:155 +#: src/components/common/PathSelector.vue:333 src/views/file/PathInput.vue:155 msgid "Root Directory" msgstr "根目錄" @@ -533,21 +469,14 @@ msgstr "根目錄" #: src/views/apps/nginx/NginxIndex.vue:816 #: src/views/apps/pureftpd/IndexView.vue:266 #: src/views/apps/pureftpd/IndexView.vue:296 -#: src/views/apps/rsync/IndexView.vue:319 -#: src/views/apps/s3fs/IndexView.vue:185 +#: src/views/apps/rsync/IndexView.vue:319 src/views/apps/s3fs/IndexView.vue:185 #: src/views/apps/supervisor/IndexView.vue:435 -#: src/views/backup/ListView.vue:310 -#: src/views/backup/ListView.vue:351 -#: src/views/backup/StorageView.vue:376 -#: src/views/backup/StorageView.vue:529 -#: src/views/cert/AccountView.vue:258 -#: src/views/cert/CertView.vue:627 -#: src/views/cert/CertView.vue:675 -#: src/views/cert/CreateAccountModal.vue:136 -#: src/views/cert/CreateCertModal.vue:163 -#: src/views/cert/CreateDnsModal.vue:199 -#: src/views/cert/DnsView.vue:330 -#: src/views/cert/ObtainModal.vue:180 +#: src/views/backup/ListView.vue:310 src/views/backup/ListView.vue:351 +#: src/views/backup/StorageView.vue:376 src/views/backup/StorageView.vue:529 +#: src/views/cert/AccountView.vue:258 src/views/cert/CertView.vue:652 +#: src/views/cert/CertView.vue:700 src/views/cert/CreateAccountModal.vue:136 +#: src/views/cert/CreateCertModal.vue:164 src/views/cert/CreateDnsModal.vue:199 +#: src/views/cert/DnsView.vue:330 src/views/cert/ObtainModal.vue:180 #: src/views/cert/UploadCertModal.vue:64 #: src/views/container/ComposeView.vue:341 #: src/views/container/ComposeView.vue:367 @@ -565,16 +494,12 @@ msgstr "根目錄" #: src/views/database/RedisDataView.vue:378 #: src/views/database/RedisKeyModal.vue:130 #: src/views/database/UpdateServerModal.vue:124 -#: src/views/database/UpdateUserModal.vue:88 -#: src/views/file/ToolBar.vue:230 +#: src/views/database/UpdateUserModal.vue:88 src/views/file/ToolBar.vue:230 #: src/views/firewall/CreateForwardModal.vue:94 #: src/views/firewall/CreateIpModal.vue:125 -#: src/views/firewall/CreateModal.vue:205 -#: src/views/setting/CreateModal.vue:71 -#: src/views/setting/PasswordModal.vue:53 -#: src/views/setting/TwoFaModal.vue:95 -#: src/views/ssh/CreateModal.vue:110 -#: src/views/ssh/UpdateModal.vue:116 +#: src/views/firewall/CreateModal.vue:205 src/views/setting/CreateModal.vue:71 +#: src/views/setting/PasswordModal.vue:53 src/views/setting/TwoFaModal.vue:95 +#: src/views/ssh/CreateModal.vue:110 src/views/ssh/UpdateModal.vue:116 #: src/views/task/CreateModal.vue:548 msgid "Submit" msgstr "提交" @@ -597,8 +522,7 @@ msgstr "連接錯誤" #: src/components/common/PtyTerminalModal.vue:143 #: src/views/container/ImagePullModal.vue:104 -#: src/views/container/ImageView.vue:252 -#: src/views/ssh/SftpPanel.vue:158 +#: src/views/container/ImageView.vue:252 src/views/ssh/SftpPanel.vue:158 msgid "Failed to connect" msgstr "連接失敗" @@ -611,34 +535,25 @@ msgstr "連接失敗" #: src/views/apps/supervisor/IndexView.vue:133 #: src/views/apps/supervisor/IndexView.vue:151 #: src/views/container/ComposeView.vue:171 -#: src/views/file/composables/usePaste.ts:72 -#: src/views/file/UploadModal.vue:784 -#: src/views/home/IndexView.vue:1041 -#: src/views/home/UpdateView.vue:104 -#: src/views/toolbox/DiskView.vue:353 -#: src/views/toolbox/DiskView.vue:355 -#: src/views/toolbox/DiskView.vue:375 -#: src/views/toolbox/DiskView.vue:377 -#: src/views/toolbox/DiskView.vue:441 -#: src/views/toolbox/DiskView.vue:445 -#: src/views/toolbox/DiskView.vue:463 -#: src/views/toolbox/DiskView.vue:480 -#: src/views/toolbox/DiskView.vue:484 -#: src/views/toolbox/DiskView.vue:504 -#: src/views/toolbox/DiskView.vue:521 -#: src/views/toolbox/DiskView.vue:526 -#: src/views/toolbox/DiskView.vue:547 -#: src/views/toolbox/DiskView.vue:564 -#: src/views/toolbox/DiskView.vue:569 -#: src/views/toolbox/DiskView.vue:591 +#: src/views/file/composables/usePaste.ts:72 src/views/file/UploadModal.vue:784 +#: src/views/home/IndexView.vue:1041 src/views/home/UpdateView.vue:119 +#: src/views/toolbox/DiskView.vue:353 src/views/toolbox/DiskView.vue:355 +#: src/views/toolbox/DiskView.vue:375 src/views/toolbox/DiskView.vue:377 +#: src/views/toolbox/DiskView.vue:441 src/views/toolbox/DiskView.vue:445 +#: src/views/toolbox/DiskView.vue:463 src/views/toolbox/DiskView.vue:480 +#: src/views/toolbox/DiskView.vue:484 src/views/toolbox/DiskView.vue:504 +#: src/views/toolbox/DiskView.vue:521 src/views/toolbox/DiskView.vue:526 +#: src/views/toolbox/DiskView.vue:547 src/views/toolbox/DiskView.vue:564 +#: src/views/toolbox/DiskView.vue:569 src/views/toolbox/DiskView.vue:591 #: src/views/toolbox/network/InterfaceView.vue:296 -#: src/views/toolbox/ProcessView.vue:242 -#: src/views/toolbox/ProcessView.vue:247 +#: src/views/toolbox/ProcessView.vue:242 src/views/toolbox/ProcessView.vue:247 msgid "Confirm" msgstr "確認" #: src/components/common/PtyTerminalModal.vue:203 -msgid "Command may still running. Closing the window will terminate the command. Are you sure?" +msgid "" +"Command may still running. Closing the window will terminate the command. " +"Are you sure?" msgstr "命令可能仍在執行。關閉視窗將終止命令,您確定嗎?" #: src/components/common/PtyTerminalModal.vue:207 @@ -655,54 +570,35 @@ msgstr "命令可能仍在執行。關閉視窗將終止命令,您確定嗎? #: src/views/container/ImagePullModal.vue:197 #: src/views/container/ImagePullModal.vue:211 #: src/views/container/ImagePullModal.vue:228 -#: src/views/container/ImageView.vue:370 -#: src/views/container/ImageView.vue:385 +#: src/views/container/ImageView.vue:370 src/views/container/ImageView.vue:385 #: src/views/file/composables/usePaste.ts:73 -#: src/views/file/composables/usePaste.ts:153 -#: src/views/file/ListView.vue:312 -#: src/views/file/ListView.vue:851 -#: src/views/file/ToolBar.vue:181 -#: src/views/file/UploadModal.vue:505 -#: src/views/file/UploadModal.vue:640 -#: src/views/file/UploadModal.vue:783 -#: src/views/home/IndexView.vue:1042 -#: src/views/home/UpdateView.vue:105 -#: src/views/monitor/AlertRuleModal.vue:193 -#: src/views/monitor/ChannelModal.vue:148 -#: src/views/project/EditModal.vue:579 -#: src/views/ssh/SftpPanel.vue:299 -#: src/views/tamper/RuleModal.vue:134 -#: src/views/task/TaskView.vue:110 -#: src/views/toolbox/DiskView.vue:356 -#: src/views/toolbox/DiskView.vue:378 -#: src/views/toolbox/DiskView.vue:399 -#: src/views/toolbox/DiskView.vue:423 -#: src/views/toolbox/DiskView.vue:446 -#: src/views/toolbox/DiskView.vue:464 -#: src/views/toolbox/DiskView.vue:485 -#: src/views/toolbox/DiskView.vue:505 -#: src/views/toolbox/DiskView.vue:527 -#: src/views/toolbox/DiskView.vue:548 -#: src/views/toolbox/DiskView.vue:570 -#: src/views/toolbox/DiskView.vue:592 -#: src/views/toolbox/MigrationView.vue:346 +#: src/views/file/composables/usePaste.ts:153 src/views/file/ListView.vue:312 +#: src/views/file/ListView.vue:851 src/views/file/ToolBar.vue:181 +#: src/views/file/UploadModal.vue:505 src/views/file/UploadModal.vue:640 +#: src/views/file/UploadModal.vue:783 src/views/home/IndexView.vue:1042 +#: src/views/home/UpdateView.vue:120 src/views/monitor/AlertRuleModal.vue:193 +#: src/views/monitor/ChannelModal.vue:148 src/views/project/EditModal.vue:579 +#: src/views/ssh/SftpPanel.vue:299 src/views/tamper/RuleModal.vue:134 +#: src/views/task/TaskView.vue:110 src/views/toolbox/DiskView.vue:356 +#: src/views/toolbox/DiskView.vue:378 src/views/toolbox/DiskView.vue:399 +#: src/views/toolbox/DiskView.vue:423 src/views/toolbox/DiskView.vue:446 +#: src/views/toolbox/DiskView.vue:464 src/views/toolbox/DiskView.vue:485 +#: src/views/toolbox/DiskView.vue:505 src/views/toolbox/DiskView.vue:527 +#: src/views/toolbox/DiskView.vue:548 src/views/toolbox/DiskView.vue:570 +#: src/views/toolbox/DiskView.vue:592 src/views/toolbox/MigrationView.vue:346 #: src/views/toolbox/MigrationView.vue:416 #: src/views/toolbox/network/InterfaceView.vue:297 #: src/views/toolbox/network/InterfaceView.vue:429 -#: src/views/toolbox/ProcessView.vue:248 -#: src/views/website/EditModal.vue:215 +#: src/views/toolbox/ProcessView.vue:248 src/views/website/EditModal.vue:215 #: src/views/website/EditModal.vue:2249 msgid "Cancel" msgstr "取消" -#: src/components/common/PtyTerminalModal.vue:259 -#: src/locales/menu.ts:20 +#: src/components/common/PtyTerminalModal.vue:259 src/locales/menu.ts:20 #: src/views/container/ContainerView.vue:142 #: src/views/container/ContainerView.vue:669 -#: src/views/database/ServerList.vue:174 -#: src/views/file/ListView.vue:422 -#: src/views/file/ListView.vue:1024 -#: src/views/file/ToolBar.vue:156 +#: src/views/database/ServerList.vue:174 src/views/file/ListView.vue:422 +#: src/views/file/ListView.vue:1024 src/views/file/ToolBar.vue:156 msgid "Terminal" msgstr "終端機" @@ -725,8 +621,7 @@ msgstr "連接失敗,正在重試..." #: src/views/apps/mongodb/IndexView.vue:77 #: src/views/apps/mysql/MysqlIndex.vue:110 #: src/views/apps/postgresql/IndexView.vue:144 -#: src/views/database/ServerList.vue:102 -#: src/views/database/UserList.vue:52 +#: src/views/database/ServerList.vue:102 src/views/database/UserList.vue:52 #: src/views/file/composables/usePaste.ts:29 #: src/views/setting/TokenModal.vue:155 msgid "Copied successfully" @@ -754,10 +649,8 @@ msgstr "跳至底部" #: src/components/common/RealtimeLog.vue:409 #: src/components/file-editor/EditorToolbar.vue:190 -#: src/components/file-editor/FileTree.vue:702 -#: src/views/app/AppView.vue:237 -#: src/views/app/EnvironmentView.vue:264 -#: src/views/app/TemplateView.vue:102 +#: src/components/file-editor/FileTree.vue:702 src/views/app/AppView.vue:237 +#: src/views/app/EnvironmentView.vue:264 src/views/app/TemplateView.vue:102 #: src/views/database/ElasticsearchDataView.vue:314 #: src/views/database/RedisDataView.vue:289 msgid "Search" @@ -802,13 +695,11 @@ msgstr "縮小字體" msgid "Increase Font Size" msgstr "放大字體" -#: src/components/common/RealtimeLog.vue:456 -#: src/views/ssh/IndexView.vue:549 +#: src/components/common/RealtimeLog.vue:456 src/views/ssh/IndexView.vue:549 msgid "Exit Fullscreen" msgstr "結束全螢幕" -#: src/components/common/RealtimeLog.vue:456 -#: src/views/ssh/IndexView.vue:549 +#: src/components/common/RealtimeLog.vue:456 src/views/ssh/IndexView.vue:549 msgid "Fullscreen" msgstr "全螢幕" @@ -825,13 +716,10 @@ msgstr[0] "%{ count } 行新日誌" msgid "No logs available" msgstr "暫無日誌資料" -#: src/components/common/RealtimeLogModal.vue:42 -#: src/locales/menu.ts:16 +#: src/components/common/RealtimeLogModal.vue:42 src/locales/menu.ts:16 #: src/views/apps/supervisor/IndexView.vue:98 -#: src/views/container/ContainerView.vue:154 -#: src/views/project/ListView.vue:168 -#: src/views/project/ListView.vue:334 -#: src/views/task/CronView.vue:146 +#: src/views/container/ContainerView.vue:154 src/views/project/ListView.vue:168 +#: src/views/project/ListView.vue:334 src/views/task/CronView.vue:146 #: src/views/task/TaskView.vue:88 msgid "Logs" msgstr "日誌" @@ -856,12 +744,9 @@ msgstr "您確定要清除日誌嗎?" msgid "Clear Log" msgstr "清除日誌" -#: src/components/common/ServiceStatus.vue:29 -#: src/views/home/IndexView.vue:903 -#: src/views/home/IndexView.vue:911 -#: src/views/home/IndexView.vue:918 -#: src/views/home/IndexView.vue:924 -#: src/views/home/IndexView.vue:935 +#: src/components/common/ServiceStatus.vue:29 src/views/home/IndexView.vue:903 +#: src/views/home/IndexView.vue:911 src/views/home/IndexView.vue:918 +#: src/views/home/IndexView.vue:924 src/views/home/IndexView.vue:935 #: src/views/home/IndexView.vue:947 msgid "Loading..." msgstr "載入中……" @@ -869,23 +754,18 @@ msgstr "載入中……" #: src/components/common/ServiceStatus.vue:30 #: src/views/app/InstalledView.vue:16 #: src/views/apps/prometheus/PrometheusExportersView.vue:50 -#: src/views/project/ListView.vue:70 -#: src/views/task/TaskView.vue:47 +#: src/views/project/ListView.vue:70 src/views/task/TaskView.vue:47 #: src/views/toolbox/MigrationView.vue:83 -#: src/views/toolbox/MigrationView.vue:149 -#: src/views/toolbox/ProcessView.vue:48 -#: src/views/toolbox/ProcessView.vue:77 -#: src/views/website/ListView.vue:135 +#: src/views/toolbox/MigrationView.vue:149 src/views/toolbox/ProcessView.vue:48 +#: src/views/toolbox/ProcessView.vue:77 src/views/website/ListView.vue:135 msgid "Running" msgstr "執行中" #: src/components/common/ServiceStatus.vue:30 #: src/views/app/InstalledView.vue:17 #: src/views/apps/prometheus/PrometheusExportersView.vue:51 -#: src/views/project/ListView.vue:72 -#: src/views/tamper/TamperView.vue:234 -#: src/views/toolbox/MigrationView.vue:149 -#: src/views/toolbox/ProcessView.vue:50 +#: src/views/project/ListView.vue:72 src/views/tamper/TamperView.vue:234 +#: src/views/toolbox/MigrationView.vue:149 src/views/toolbox/ProcessView.vue:50 #: src/views/toolbox/ProcessView.vue:83 msgid "Stopped" msgstr "已停止" @@ -897,8 +777,7 @@ msgstr "正在啟動……" #: src/components/common/ServiceStatus.vue:52 #: src/views/apps/prometheus/PrometheusExportersView.vue:160 #: src/views/apps/supervisor/IndexView.vue:236 -#: src/views/project/ListView.vue:222 -#: src/views/website/ListView.vue:335 +#: src/views/project/ListView.vue:222 src/views/website/ListView.vue:335 msgid "Started successfully" msgstr "啟動成功" @@ -910,8 +789,7 @@ msgstr "停止中..." #: src/components/common/ServiceStatus.vue:67 #: src/views/apps/prometheus/PrometheusExportersView.vue:167 #: src/views/apps/supervisor/IndexView.vue:243 -#: src/views/project/ListView.vue:217 -#: src/views/website/ListView.vue:337 +#: src/views/project/ListView.vue:217 src/views/website/ListView.vue:337 msgid "Stopped successfully" msgstr "停止成功" @@ -973,8 +851,7 @@ msgstr "自啟動已成功禁用" #: src/views/apps/supervisor/IndexView.vue:308 #: src/views/apps/valkey/IndexView.vue:62 #: src/views/container/ContainerView.vue:106 -#: src/views/environment/PHPView.vue:189 -#: src/views/tamper/TamperView.vue:230 +#: src/views/environment/PHPView.vue:189 src/views/tamper/TamperView.vue:230 msgid "Running Status" msgstr "執行狀態" @@ -991,8 +868,7 @@ msgstr "自動啟動關閉" #: src/views/apps/supervisor/IndexView.vue:120 #: src/views/container/ComposeView.vue:160 #: src/views/container/ContainerView.vue:181 -#: src/views/container/ContainerView.vue:593 -#: src/views/project/ListView.vue:130 +#: src/views/container/ContainerView.vue:593 src/views/project/ListView.vue:130 msgid "Start" msgstr "開始" @@ -1005,8 +881,7 @@ msgstr "您確定要停止 %{ service } 嗎?" #: src/views/apps/supervisor/IndexView.vue:141 #: src/views/container/ComposeView.vue:189 #: src/views/container/ContainerView.vue:186 -#: src/views/container/ContainerView.vue:596 -#: src/views/project/ListView.vue:130 +#: src/views/container/ContainerView.vue:596 src/views/project/ListView.vue:130 msgid "Stop" msgstr "停止" @@ -1014,8 +889,7 @@ msgstr "停止" #: src/views/apps/prometheus/PrometheusExportersView.vue:103 #: src/views/apps/supervisor/IndexView.vue:159 #: src/views/container/ContainerView.vue:191 -#: src/views/container/ContainerView.vue:599 -#: src/views/home/IndexView.vue:567 +#: src/views/container/ContainerView.vue:599 src/views/home/IndexView.vue:567 #: src/views/project/ListView.vue:145 msgid "Restart" msgstr "重啟" @@ -1061,10 +935,8 @@ msgstr "放棄" #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:97 #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:132 #: src/views/apps/elasticsearch/IndexView.vue:82 -#: src/views/apps/frp/IndexView.vue:76 -#: src/views/apps/frp/IndexView.vue:91 -#: src/views/apps/frp/IndexView.vue:109 -#: src/views/apps/frp/IndexView.vue:124 +#: src/views/apps/frp/IndexView.vue:76 src/views/apps/frp/IndexView.vue:91 +#: src/views/apps/frp/IndexView.vue:109 src/views/apps/frp/IndexView.vue:124 #: src/views/apps/gitea/IndexView.vue:55 #: src/views/apps/grafana/GrafanaConfigTuneView.vue:184 #: src/views/apps/grafana/GrafanaConfigTuneView.vue:218 @@ -1137,34 +1009,24 @@ msgstr "放棄" #: src/views/apps/valkey/ValkeyConfigTuneView.vue:205 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:230 #: src/views/container/ContainerCreate.vue:653 -#: src/views/environment/GoView.vue:90 -#: src/views/environment/NodejsView.vue:93 +#: src/views/environment/GoView.vue:90 src/views/environment/NodejsView.vue:93 #: src/views/environment/PhpConfigTuneView.vue:274 #: src/views/environment/PhpConfigTuneView.vue:305 #: src/views/environment/PhpConfigTuneView.vue:376 #: src/views/environment/PhpConfigTuneView.vue:421 #: src/views/environment/PhpConfigTuneView.vue:486 #: src/views/environment/PhpConfigTuneView.vue:561 -#: src/views/environment/PHPView.vue:236 -#: src/views/environment/PHPView.vue:254 -#: src/views/environment/PythonView.vue:97 -#: src/views/file/EditModal.vue:89 +#: src/views/environment/PHPView.vue:236 src/views/environment/PHPView.vue:254 +#: src/views/environment/PythonView.vue:97 src/views/file/EditModal.vue:89 #: src/views/firewall/SettingView.vue:136 #: src/views/monitor/AlertRuleModal.vue:195 -#: src/views/monitor/ChannelModal.vue:150 -#: src/views/monitor/SettingView.vue:226 -#: src/views/monitor/SettingView.vue:293 -#: src/views/project/EditModal.vue:582 -#: src/views/setting/IndexView.vue:169 -#: src/views/tamper/RuleModal.vue:136 -#: src/views/task/CreateModal.vue:548 -#: src/views/task/CronView.vue:344 -#: src/views/toolbox/SshView.vue:220 -#: src/views/toolbox/SystemView.vue:171 -#: src/views/toolbox/SystemView.vue:194 -#: src/views/toolbox/SystemView.vue:237 -#: src/views/toolbox/SystemView.vue:319 -#: src/views/toolbox/WebHookView.vue:400 +#: src/views/monitor/ChannelModal.vue:150 src/views/monitor/SettingView.vue:226 +#: src/views/monitor/SettingView.vue:293 src/views/project/EditModal.vue:582 +#: src/views/setting/IndexView.vue:169 src/views/tamper/RuleModal.vue:136 +#: src/views/task/CreateModal.vue:548 src/views/task/CronView.vue:344 +#: src/views/toolbox/SshView.vue:220 src/views/toolbox/SystemView.vue:171 +#: src/views/toolbox/SystemView.vue:194 src/views/toolbox/SystemView.vue:237 +#: src/views/toolbox/SystemView.vue:319 src/views/toolbox/WebHookView.vue:400 #: src/views/website/EditModal.vue:2258 msgid "Save" msgstr "儲存" @@ -1240,22 +1102,15 @@ msgstr "此檔案有未儲存的變更。重新整理將捨棄它們。是否繼 #: src/components/file-editor/EditorToolbar.vue:76 #: src/components/file-editor/EditorToolbar.vue:169 #: src/components/file-editor/EditorToolbar.vue:174 -#: src/components/file-editor/FileTree.vue:680 -#: src/views/file/PathInput.vue:133 -#: src/views/home/UpdateView.vue:163 -#: src/views/log/DatabaseLog.vue:132 -#: src/views/log/HttpLog.vue:161 -#: src/views/log/OperationLog.vue:184 -#: src/views/log/SSHLog.vue:115 -#: src/views/monitor/AlertView.vue:240 -#: src/views/ssh/SftpBrowser.vue:138 -#: src/views/tamper/TamperView.vue:379 +#: src/components/file-editor/FileTree.vue:680 src/views/file/PathInput.vue:133 +#: src/views/home/UpdateView.vue:178 src/views/log/DatabaseLog.vue:132 +#: src/views/log/HttpLog.vue:161 src/views/log/OperationLog.vue:184 +#: src/views/log/SSHLog.vue:115 src/views/monitor/AlertView.vue:240 +#: src/views/ssh/SftpBrowser.vue:138 src/views/tamper/TamperView.vue:379 #: src/views/toolbox/MigrationView.vue:566 #: src/views/toolbox/network/InterfaceView.vue:350 -#: src/views/toolbox/NetworkView.vue:193 -#: src/views/toolbox/PanelView.vue:100 -#: src/views/toolbox/PanelView.vue:233 -#: src/views/toolbox/ProcessView.vue:335 +#: src/views/toolbox/NetworkView.vue:193 src/views/toolbox/PanelView.vue:100 +#: src/views/toolbox/PanelView.vue:233 src/views/toolbox/ProcessView.vue:335 #: src/views/website/StatsView.vue:176 msgid "Refresh" msgstr "重新整理" @@ -1305,10 +1160,8 @@ msgid "Toggle Minimap" msgstr "切換小地圖" #: src/components/file-editor/EditorToolbar.vue:260 -#: src/views/firewall/IndexView.vue:28 -#: src/views/monitor/IndexView.vue:22 -#: src/views/ssh/IndexView.vue:527 -#: src/views/tamper/TamperView.vue:224 +#: src/views/firewall/IndexView.vue:28 src/views/monitor/IndexView.vue:22 +#: src/views/ssh/IndexView.vue:527 src/views/tamper/TamperView.vue:224 #: src/views/website/IndexView.vue:30 msgid "Settings" msgstr "設定" @@ -1384,20 +1237,14 @@ msgid "Render Whitespace" msgstr "渲染空格" #: src/components/file-editor/FileEditorView.vue:225 -#: src/views/apps/docker/IndexView.vue:83 -#: src/views/cert/CertView.vue:152 -#: src/views/cert/CertView.vue:206 -#: src/views/cert/CertView.vue:217 -#: src/views/cert/CertView.vue:235 +#: src/views/apps/docker/IndexView.vue:83 src/views/cert/CertView.vue:152 +#: src/views/cert/CertView.vue:206 src/views/cert/CertView.vue:218 +#: src/views/cert/CertView.vue:241 src/views/cert/CertView.vue:259 #: src/views/container/ContainerCreate.vue:57 -#: src/views/database/ServerList.vue:78 -#: src/views/database/ServerList.vue:93 -#: src/views/database/UserList.vue:28 -#: src/views/database/UserList.vue:68 -#: src/views/firewall/ForwardView.vue:27 -#: src/views/firewall/IpRuleView.vue:27 -#: src/views/firewall/IpRuleView.vue:44 -#: src/views/firewall/RuleView.vue:67 +#: src/views/database/ServerList.vue:78 src/views/database/ServerList.vue:93 +#: src/views/database/UserList.vue:28 src/views/database/UserList.vue:68 +#: src/views/firewall/ForwardView.vue:27 src/views/firewall/IpRuleView.vue:27 +#: src/views/firewall/IpRuleView.vue:44 src/views/firewall/RuleView.vue:67 #: src/views/firewall/RuleView.vue:84 msgid "None" msgstr "無" @@ -1415,12 +1262,9 @@ msgid "Trailing" msgstr "尾部" #: src/components/file-editor/FileEditorView.vue:229 -#: src/views/app/AppView.vue:222 -#: src/views/app/EnvironmentView.vue:249 -#: src/views/app/TemplateView.vue:87 -#: src/views/firewall/RuleView.vue:255 -#: src/views/project/IndexView.vue:21 -#: src/views/website/IndexView.vue:25 +#: src/views/app/AppView.vue:222 src/views/app/EnvironmentView.vue:249 +#: src/views/app/TemplateView.vue:87 src/views/firewall/RuleView.vue:255 +#: src/views/project/IndexView.vue:21 src/views/website/IndexView.vue:25 #: src/views/website/stats/ErrorsTab.vue:18 msgid "All" msgstr "全部" @@ -1517,14 +1361,12 @@ msgstr "輸入時格式化" msgid "Failed to create" msgstr "建立失敗" -#: src/components/file-editor/FileTree.vue:360 -#: src/views/file/ListView.vue:1481 +#: src/components/file-editor/FileTree.vue:360 src/views/file/ListView.vue:1481 #: src/views/file/ListView.vue:1502 msgid "Folder name" msgstr "資料夾名稱" -#: src/components/file-editor/FileTree.vue:360 -#: src/views/file/ListView.vue:1481 +#: src/components/file-editor/FileTree.vue:360 src/views/file/ListView.vue:1481 #: src/views/file/ListView.vue:1502 msgid "File name" msgstr "檔案名稱" @@ -1534,10 +1376,8 @@ msgstr "檔案名稱" #: src/views/container/ContainerView.vue:640 #: src/views/database/RedisDataView.vue:168 #: src/views/file/composables/usePaste.ts:48 -#: src/views/file/composables/usePaste.ts:164 -#: src/views/file/ListView.vue:420 -#: src/views/file/ListView.vue:1674 -#: src/views/file/UploadModal.vue:747 +#: src/views/file/composables/usePaste.ts:164 src/views/file/ListView.vue:420 +#: src/views/file/ListView.vue:1674 src/views/file/UploadModal.vue:747 #: src/views/file/UploadModal.vue:776 msgid "Rename" msgstr "重新命名" @@ -1556,62 +1396,40 @@ msgstr "重新命名" #: src/views/apps/pureftpd/IndexView.vue:87 #: src/views/apps/rsync/IndexView.vue:101 #: src/views/apps/supervisor/IndexView.vue:178 -#: src/views/backup/ListView.vue:106 -#: src/views/backup/StorageView.vue:126 -#: src/views/cert/AccountView.vue:113 -#: src/views/cert/CertView.vue:366 -#: src/views/cert/DnsView.vue:109 -#: src/views/container/ComposeView.vue:209 +#: src/views/backup/ListView.vue:106 src/views/backup/StorageView.vue:126 +#: src/views/cert/AccountView.vue:113 src/views/cert/CertView.vue:390 +#: src/views/cert/DnsView.vue:109 src/views/container/ComposeView.vue:209 #: src/views/container/ComposeView.vue:289 #: src/views/container/ContainerView.vue:211 #: src/views/container/ContainerView.vue:611 -#: src/views/container/ImageView.vue:114 -#: src/views/container/ImageView.vue:296 +#: src/views/container/ImageView.vue:114 src/views/container/ImageView.vue:296 #: src/views/container/NetworkView.vue:130 #: src/views/container/NetworkView.vue:221 -#: src/views/container/VolumeView.vue:83 -#: src/views/container/VolumeView.vue:167 +#: src/views/container/VolumeView.vue:83 src/views/container/VolumeView.vue:167 #: src/views/database/DatabaseList.vue:86 #: src/views/database/ElasticsearchDataView.vue:146 #: src/views/database/ElasticsearchDataView.vue:200 #: src/views/database/RedisDataView.vue:182 -#: src/views/database/ServerList.vue:247 -#: src/views/database/UserList.vue:165 -#: src/views/environment/PHPView.vue:107 -#: src/views/file/ListView.vue:378 -#: src/views/file/ListView.vue:434 -#: src/views/file/ListView.vue:1685 -#: src/views/file/ToolBar.vue:198 -#: src/views/firewall/ForwardView.vue:98 -#: src/views/firewall/ForwardView.vue:162 -#: src/views/firewall/IpRuleView.vue:140 -#: src/views/firewall/IpRuleView.vue:204 -#: src/views/firewall/RuleView.vue:280 -#: src/views/firewall/RuleView.vue:361 -#: src/views/monitor/AlertView.vue:118 -#: src/views/monitor/SettingView.vue:151 -#: src/views/project/ListView.vue:194 -#: src/views/project/ListView.vue:305 -#: src/views/setting/PasskeyModal.vue:68 -#: src/views/setting/SettingUser.vue:142 -#: src/views/setting/TokenModal.vue:87 -#: src/views/ssh/IndexView.vue:625 -#: src/views/tamper/TamperView.vue:156 -#: src/views/task/CronView.vue:169 -#: src/views/task/IndexView.vue:41 -#: src/views/task/TaskView.vue:127 -#: src/views/toolbox/WebHookView.vue:172 -#: src/views/website/ListView.vue:305 -#: src/views/website/ListView.vue:423 +#: src/views/database/ServerList.vue:247 src/views/database/UserList.vue:165 +#: src/views/environment/PHPView.vue:107 src/views/file/ListView.vue:378 +#: src/views/file/ListView.vue:434 src/views/file/ListView.vue:1685 +#: src/views/file/ToolBar.vue:198 src/views/firewall/ForwardView.vue:98 +#: src/views/firewall/ForwardView.vue:162 src/views/firewall/IpRuleView.vue:140 +#: src/views/firewall/IpRuleView.vue:204 src/views/firewall/RuleView.vue:280 +#: src/views/firewall/RuleView.vue:361 src/views/monitor/AlertView.vue:118 +#: src/views/monitor/SettingView.vue:151 src/views/project/ListView.vue:194 +#: src/views/project/ListView.vue:305 src/views/setting/PasskeyModal.vue:68 +#: src/views/setting/SettingUser.vue:142 src/views/setting/TokenModal.vue:87 +#: src/views/ssh/IndexView.vue:625 src/views/tamper/TamperView.vue:156 +#: src/views/task/CronView.vue:169 src/views/task/IndexView.vue:41 +#: src/views/task/TaskView.vue:127 src/views/toolbox/WebHookView.vue:172 +#: src/views/website/ListView.vue:305 src/views/website/ListView.vue:423 msgid "Delete" msgstr "刪除" -#: src/components/file-editor/FileTree.vue:463 -#: src/views/backup/ListView.vue:79 -#: src/views/file/ListView.vue:412 -#: src/views/file/ListView.vue:1669 -#: src/views/monitor/SystemView.vue:590 -#: src/views/toolbox/SshView.vue:345 +#: src/components/file-editor/FileTree.vue:463 src/views/backup/ListView.vue:79 +#: src/views/file/ListView.vue:412 src/views/file/ListView.vue:1669 +#: src/views/monitor/SystemView.vue:590 src/views/toolbox/SshView.vue:345 msgid "Download" msgstr "下載" @@ -1630,8 +1448,7 @@ msgstr "重命名失敗" #: src/components/file-editor/FileTree.vue:588 #: src/views/apps/nginx/NginxIndex.vue:211 -#: src/views/apps/nginx/NginxIndex.vue:275 -#: src/views/file/ListView.vue:894 +#: src/views/apps/nginx/NginxIndex.vue:275 src/views/file/ListView.vue:894 #: src/views/file/ListView.vue:1679 msgid "Are you sure you want to delete %{ name }?" msgstr "您確定要刪除 %{ name } 嗎?" @@ -1642,11 +1459,9 @@ msgstr "您確定要刪除 %{ name } 嗎?" #: src/views/apps/nginx/NginxIndex.vue:405 #: src/views/apps/nginx/NginxIndex.vue:489 #: src/views/apps/pureftpd/IndexView.vue:155 -#: src/views/apps/rsync/IndexView.vue:160 -#: src/views/apps/s3fs/IndexView.vue:87 +#: src/views/apps/rsync/IndexView.vue:160 src/views/apps/s3fs/IndexView.vue:87 #: src/views/apps/supervisor/IndexView.vue:257 -#: src/views/backup/ListView.vue:156 -#: src/views/backup/StorageView.vue:183 +#: src/views/backup/ListView.vue:156 src/views/backup/StorageView.vue:183 #: src/views/container/ImageView.vue:155 #: src/views/container/NetworkView.vue:178 #: src/views/container/VolumeView.vue:124 @@ -1654,28 +1469,18 @@ msgstr "您確定要刪除 %{ name } 嗎?" #: src/views/database/ElasticsearchDataView.vue:241 #: src/views/database/ElasticsearchDataView.vue:250 #: src/views/database/RedisDataView.vue:211 -#: src/views/database/ServerList.vue:269 -#: src/views/database/UserList.vue:185 +#: src/views/database/ServerList.vue:269 src/views/database/UserList.vue:185 #: src/views/file/composables/useFileOps.ts:29 #: src/views/firewall/ForwardView.vue:119 -#: src/views/firewall/ForwardView.vue:137 -#: src/views/firewall/IpRuleView.vue:161 -#: src/views/firewall/IpRuleView.vue:179 -#: src/views/firewall/RuleView.vue:322 -#: src/views/firewall/RuleView.vue:340 -#: src/views/monitor/AlertView.vue:47 -#: src/views/monitor/SettingView.vue:84 -#: src/views/project/ListView.vue:268 -#: src/views/project/ListView.vue:278 -#: src/views/setting/PasskeyModal.vue:96 -#: src/views/setting/SettingUser.vue:173 -#: src/views/setting/TokenModal.vue:106 -#: src/views/tamper/TamperView.vue:112 -#: src/views/task/CronView.vue:231 -#: src/views/task/CronView.vue:241 -#: src/views/task/TaskView.vue:149 -#: src/views/toolbox/WebHookView.vue:225 -#: src/views/website/ListView.vue:379 +#: src/views/firewall/ForwardView.vue:137 src/views/firewall/IpRuleView.vue:161 +#: src/views/firewall/IpRuleView.vue:179 src/views/firewall/RuleView.vue:322 +#: src/views/firewall/RuleView.vue:340 src/views/monitor/AlertView.vue:47 +#: src/views/monitor/SettingView.vue:84 src/views/project/ListView.vue:268 +#: src/views/project/ListView.vue:278 src/views/setting/PasskeyModal.vue:96 +#: src/views/setting/SettingUser.vue:173 src/views/setting/TokenModal.vue:106 +#: src/views/tamper/TamperView.vue:112 src/views/task/CronView.vue:231 +#: src/views/task/CronView.vue:241 src/views/task/TaskView.vue:149 +#: src/views/toolbox/WebHookView.vue:225 src/views/website/ListView.vue:379 #: src/views/website/ListView.vue:389 msgid "Deleted successfully" msgstr "刪除成功" @@ -1688,18 +1493,15 @@ msgstr "刪除失敗" msgid "Go Up" msgstr "上一級" -#: src/components/file-editor/FileTree.vue:687 -#: src/views/file/ListView.vue:359 +#: src/components/file-editor/FileTree.vue:687 src/views/file/ListView.vue:359 msgid "New File" msgstr "新增檔案" -#: src/components/file-editor/FileTree.vue:688 -#: src/views/file/ListView.vue:360 +#: src/components/file-editor/FileTree.vue:688 src/views/file/ListView.vue:360 msgid "New Folder" msgstr "新增資料夾" -#: src/components/file-editor/FileTree.vue:692 -#: src/views/file/ToolBar.vue:152 +#: src/components/file-editor/FileTree.vue:692 src/views/file/ToolBar.vue:152 msgid "New" msgstr "新建" @@ -1737,7 +1539,9 @@ msgid "Panel encountered a fault: %{key}" msgstr "面板遇到故障:%{key}" #: src/components/system/HealthBanner.vue:36 -msgid "Try running \"acepanel fix\" on the server to detect and rebuild the broken database file." +msgid "" +"Try running \"acepanel fix\" on the server to detect and rebuild the broken " +"database file." msgstr "請嘗試在伺服器上執行 \"acepanel fix\" 來偵測並重建損壞的資料庫檔案。" #: src/layouts/header/components/FullScreen.vue:16 @@ -1780,8 +1584,7 @@ msgstr "切換主題" #: src/layouts/header/components/UserAvatar.vue:14 #: src/views/apps/pureftpd/IndexView.vue:71 #: src/views/apps/pureftpd/IndexView.vue:274 -#: src/views/setting/PasswordModal.vue:34 -#: src/views/setting/SettingUser.vue:128 +#: src/views/setting/PasswordModal.vue:34 src/views/setting/SettingUser.vue:128 msgid "Change Password" msgstr "更改密碼" @@ -1802,16 +1605,12 @@ msgid "Logged out successfully!" msgstr "成功登出!" #: src/layouts/header/components/UserAvatar.vue:49 -#: src/views/cert/DnsView.vue:61 -#: src/views/firewall/IpRuleView.vue:78 -#: src/views/firewall/IpRuleView.vue:103 -#: src/views/firewall/RuleView.vue:215 -#: src/views/firewall/RuleView.vue:240 -#: src/views/toolbox/DiskView.vue:159 +#: src/views/cert/DnsView.vue:61 src/views/firewall/IpRuleView.vue:78 +#: src/views/firewall/IpRuleView.vue:103 src/views/firewall/RuleView.vue:215 +#: src/views/firewall/RuleView.vue:240 src/views/toolbox/DiskView.vue:159 #: src/views/website/stats/GeoTab.vue:102 #: src/views/website/stats/GeoTab.vue:104 -#: src/views/website/stats/GeoTab.vue:225 -#: src/views/website/stats/IPsTab.vue:98 +#: src/views/website/stats/GeoTab.vue:225 src/views/website/stats/IPsTab.vue:98 msgid "Unknown" msgstr "未知" @@ -1835,34 +1634,26 @@ msgstr "關閉右側" msgid "Apps" msgstr "應用程式" -#: src/locales/menu.ts:8 -#: src/views/task/CreateModal.vue:145 +#: src/locales/menu.ts:8 src/views/task/CreateModal.vue:145 msgid "Backup" msgstr "備份" -#: src/locales/menu.ts:9 -#: src/views/cert/CertView.vue:582 -#: src/views/cert/CertView.vue:691 -#: src/views/cert/IndexView.vue:97 -#: src/views/cert/UploadCertModal.vue:46 -#: src/views/setting/SettingSafe.vue:275 +#: src/locales/menu.ts:9 src/views/cert/CertView.vue:607 +#: src/views/cert/CertView.vue:716 src/views/cert/IndexView.vue:97 +#: src/views/cert/UploadCertModal.vue:46 src/views/setting/SettingSafe.vue:275 #: src/views/website/EditModal.vue:1774 msgid "Certificate" msgstr "證書" -#: src/locales/menu.ts:10 -#: src/views/home/IndexView.vue:537 +#: src/locales/menu.ts:10 src/views/home/IndexView.vue:537 #: src/views/task/CreateModal.vue:469 msgid "Container" msgstr "容器" -#: src/locales/menu.ts:11 -#: src/views/apps/grafana/GrafanaConfigTuneView.vue:189 +#: src/locales/menu.ts:11 src/views/apps/grafana/GrafanaConfigTuneView.vue:189 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:222 -#: src/views/backup/ListView.vue:334 -#: src/views/home/IndexView.vue:546 -#: src/views/toolbox/MigrationView.vue:76 -#: src/views/website/CreateModal.vue:248 +#: src/views/backup/ListView.vue:334 src/views/home/IndexView.vue:546 +#: src/views/toolbox/MigrationView.vue:76 src/views/website/CreateModal.vue:248 msgid "Database" msgstr "資料庫" @@ -1878,18 +1669,15 @@ msgstr "防火牆" msgid "Home" msgstr "首頁" -#: src/locales/menu.ts:15 -#: src/views/apps/grafana/GrafanaConfigTuneView.vue:223 +#: src/locales/menu.ts:15 src/views/apps/grafana/GrafanaConfigTuneView.vue:223 msgid "Security" msgstr "安全" -#: src/locales/menu.ts:17 -#: src/views/monitor/SettingView.vue:198 +#: src/locales/menu.ts:17 src/views/monitor/SettingView.vue:198 msgid "Monitoring" msgstr "監控" -#: src/locales/menu.ts:18 -#: src/views/home/IndexView.vue:551 +#: src/locales/menu.ts:18 src/views/home/IndexView.vue:551 #: src/views/toolbox/MigrationView.vue:78 msgid "Project" msgstr "項目" @@ -1906,13 +1694,10 @@ msgstr "任務" msgid "Toolbox" msgstr "工具箱" -#: src/locales/menu.ts:23 -#: src/views/app/AppView.vue:97 -#: src/views/app/EnvironmentView.vue:88 -#: src/views/app/InstalledView.vue:103 +#: src/locales/menu.ts:23 src/views/app/AppView.vue:97 +#: src/views/app/EnvironmentView.vue:88 src/views/app/InstalledView.vue:103 #: src/views/app/InstalledView.vue:202 -#: src/views/app/TemplateDeployModal.vue:652 -#: src/views/home/IndexView.vue:575 +#: src/views/app/TemplateDeployModal.vue:652 src/views/home/IndexView.vue:575 #: src/views/setting/TokenModal.vue:308 msgid "Update" msgstr "更新" @@ -1941,54 +1726,41 @@ msgstr "Rsync 管理器" msgid "Frp Manager" msgstr "Frp 管理器" -#: src/router/routes/index.ts:44 -#: src/views/login/IndexView.vue:309 +#: src/router/routes/index.ts:44 src/views/login/IndexView.vue:309 msgid "Login" msgstr "登入" -#: src/views/app/AppView.vue:19 -#: src/views/app/AppView.vue:143 -#: src/views/app/AppView.vue:147 -#: src/views/app/EnvironmentView.vue:147 -#: src/views/app/EnvironmentView.vue:292 -#: src/views/app/EnvironmentView.vue:312 +#: src/views/app/AppView.vue:19 src/views/app/AppView.vue:143 +#: src/views/app/AppView.vue:147 src/views/app/EnvironmentView.vue:147 +#: src/views/app/EnvironmentView.vue:292 src/views/app/EnvironmentView.vue:312 #: src/views/apps/prometheus/PrometheusExportersView.vue:79 #: src/views/environment/PHPView.vue:107 msgid "Install" msgstr "安裝" -#: src/views/app/AppView.vue:37 -#: src/views/app/InstalledView.vue:33 +#: src/views/app/AppView.vue:37 src/views/app/InstalledView.vue:33 msgid "App Name" msgstr "應用名稱" -#: src/views/app/AppView.vue:43 -#: src/views/app/EnvironmentView.vue:44 -#: src/views/app/InstalledView.vue:39 -#: src/views/app/InstalledView.vue:164 +#: src/views/app/AppView.vue:43 src/views/app/EnvironmentView.vue:44 +#: src/views/app/InstalledView.vue:39 src/views/app/InstalledView.vue:164 #: src/views/apps/prometheus/PrometheusExportersView.vue:32 -#: src/views/environment/PHPView.vue:64 -#: src/views/project/EditModal.vue:193 +#: src/views/environment/PHPView.vue:64 src/views/project/EditModal.vue:193 #: src/views/project/ListView.vue:44 msgid "Description" msgstr "描述" -#: src/views/app/AppView.vue:49 -#: src/views/app/EnvironmentView.vue:56 -#: src/views/app/InstalledView.vue:45 -#: src/views/app/InstalledView.vue:170 +#: src/views/app/AppView.vue:49 src/views/app/EnvironmentView.vue:56 +#: src/views/app/InstalledView.vue:45 src/views/app/InstalledView.vue:170 msgid "Installed Version" msgstr "已安裝版本" -#: src/views/app/AppView.vue:55 -#: src/views/app/InstalledView.vue:61 +#: src/views/app/AppView.vue:55 src/views/app/InstalledView.vue:61 msgid "Show in Home" msgstr "在主頁顯示" -#: src/views/app/AppView.vue:68 -#: src/views/app/EnvironmentView.vue:62 -#: src/views/app/InstalledView.vue:74 -#: src/views/app/InstalledView.vue:176 +#: src/views/app/AppView.vue:68 src/views/app/EnvironmentView.vue:62 +#: src/views/app/InstalledView.vue:74 src/views/app/InstalledView.vue:176 #: src/views/apps/fail2ban/IndexView.vue:63 #: src/views/apps/fail2ban/IndexView.vue:112 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:99 @@ -1997,129 +1769,104 @@ msgstr "在主頁顯示" #: src/views/apps/nginx/NginxIndex.vue:751 #: src/views/apps/prometheus/PrometheusExportersView.vue:55 #: src/views/apps/pureftpd/IndexView.vue:53 -#: src/views/apps/rsync/IndexView.vue:72 -#: src/views/apps/s3fs/IndexView.vue:35 -#: src/views/apps/supervisor/IndexView.vue:84 -#: src/views/backup/ListView.vue:63 -#: src/views/backup/StorageView.vue:95 -#: src/views/cert/AccountView.vue:74 -#: src/views/cert/CertView.vue:253 -#: src/views/cert/DnsView.vue:69 +#: src/views/apps/rsync/IndexView.vue:72 src/views/apps/s3fs/IndexView.vue:35 +#: src/views/apps/supervisor/IndexView.vue:84 src/views/backup/ListView.vue:63 +#: src/views/backup/StorageView.vue:95 src/views/cert/AccountView.vue:74 +#: src/views/cert/CertView.vue:277 src/views/cert/DnsView.vue:69 #: src/views/container/ComposeView.vue:102 #: src/views/container/ContainerView.vue:113 -#: src/views/container/ImageView.vue:97 -#: src/views/container/NetworkView.vue:112 -#: src/views/container/VolumeView.vue:66 -#: src/views/database/DatabaseList.vue:68 +#: src/views/container/ImageView.vue:97 src/views/container/NetworkView.vue:112 +#: src/views/container/VolumeView.vue:66 src/views/database/DatabaseList.vue:68 #: src/views/database/ElasticsearchDataView.vue:117 #: src/views/database/ElasticsearchDataView.vue:169 #: src/views/database/RedisDataView.vue:124 -#: src/views/database/ServerList.vue:161 -#: src/views/database/UserList.vue:134 -#: src/views/environment/PHPView.vue:71 -#: src/views/file/ListView.vue:1463 -#: src/views/file/ShareModal.vue:102 -#: src/views/firewall/ForwardView.vue:81 -#: src/views/firewall/IpRuleView.vue:123 -#: src/views/firewall/RuleView.vue:263 -#: src/views/firewall/ScanView.vue:256 -#: src/views/monitor/AlertView.vue:103 -#: src/views/monitor/SettingView.vue:126 -#: src/views/project/ListView.vue:117 -#: src/views/setting/PasskeyModal.vue:51 -#: src/views/setting/SettingUser.vue:88 -#: src/views/setting/TokenModal.vue:57 -#: src/views/tamper/TamperView.vue:141 -#: src/views/task/CronView.vue:119 -#: src/views/task/TaskView.vue:69 -#: src/views/toolbox/DiskView.vue:298 -#: src/views/toolbox/DiskView.vue:608 +#: src/views/database/ServerList.vue:161 src/views/database/UserList.vue:134 +#: src/views/environment/PHPView.vue:71 src/views/file/ListView.vue:1463 +#: src/views/file/ShareModal.vue:102 src/views/firewall/ForwardView.vue:81 +#: src/views/firewall/IpRuleView.vue:123 src/views/firewall/RuleView.vue:263 +#: src/views/firewall/ScanView.vue:256 src/views/monitor/AlertView.vue:103 +#: src/views/monitor/SettingView.vue:126 src/views/project/ListView.vue:117 +#: src/views/setting/PasskeyModal.vue:51 src/views/setting/SettingUser.vue:88 +#: src/views/setting/TokenModal.vue:57 src/views/tamper/TamperView.vue:141 +#: src/views/task/CronView.vue:119 src/views/task/TaskView.vue:69 +#: src/views/toolbox/DiskView.vue:298 src/views/toolbox/DiskView.vue:608 #: src/views/toolbox/network/InterfaceView.vue:197 -#: src/views/toolbox/WebHookView.vue:135 -#: src/views/website/ListView.vue:246 +#: src/views/toolbox/WebHookView.vue:135 src/views/website/ListView.vue:246 msgid "Actions" msgstr "操作" -#: src/views/app/AppView.vue:88 -#: src/views/app/EnvironmentView.vue:80 -#: src/views/app/InstalledView.vue:94 -#: src/views/app/InstalledView.vue:194 +#: src/views/app/AppView.vue:88 src/views/app/EnvironmentView.vue:80 +#: src/views/app/InstalledView.vue:94 src/views/app/InstalledView.vue:194 #: src/views/container/ContainerCreate.vue:157 msgid "Confirm Update" msgstr "確認更新" -#: src/views/app/AppView.vue:89 -#: src/views/app/InstalledView.vue:95 -msgid "Updating app %{ app } to %{ version } may reset related configurations to default state, are you sure to continue?" -msgstr "更新應用 %{ app } 到 %{ version } 可能會將相關設定重設為預設狀態,您確定要繼續嗎?" +#: src/views/app/AppView.vue:89 src/views/app/InstalledView.vue:95 +msgid "" +"Updating app %{ app } to %{ version } may reset related configurations to " +"default state, are you sure to continue?" +msgstr "" +"更新應用 %{ app } 到 %{ version } 可能會將相關設定重設為預設狀態,您確定要繼" +"續嗎?" -#: src/views/app/AppView.vue:110 -#: src/views/app/EnvironmentView.vue:101 -#: src/views/app/InstalledView.vue:115 -#: src/views/app/InstalledView.vue:214 +#: src/views/app/AppView.vue:110 src/views/app/EnvironmentView.vue:101 +#: src/views/app/InstalledView.vue:115 src/views/app/InstalledView.vue:214 msgid "Manage" msgstr "管理" -#: src/views/app/AppView.vue:119 -#: src/views/app/EnvironmentView.vue:110 -#: src/views/app/InstalledView.vue:124 -#: src/views/app/InstalledView.vue:223 +#: src/views/app/AppView.vue:119 src/views/app/EnvironmentView.vue:110 +#: src/views/app/InstalledView.vue:124 src/views/app/InstalledView.vue:223 #: src/views/apps/prometheus/PrometheusExportersView.vue:124 #: src/views/environment/PHPView.vue:85 msgid "Confirm Uninstall" msgstr "確認卸載" -#: src/views/app/AppView.vue:121 -#: src/views/app/InstalledView.vue:126 -msgid "Reinstalling/Switching to a different web server will reset the configuration of all websites, are you sure to continue?" +#: src/views/app/AppView.vue:121 src/views/app/InstalledView.vue:126 +msgid "" +"Reinstalling/Switching to a different web server will reset the " +"configuration of all websites, are you sure to continue?" msgstr "重新安裝/切換到不同的 Web 伺服器將重設所有網站的設定,您確定要繼續嗎?" -#: src/views/app/AppView.vue:124 -#: src/views/app/InstalledView.vue:129 +#: src/views/app/AppView.vue:124 src/views/app/InstalledView.vue:129 msgid "Are you sure to uninstall app %{ app }?" msgstr "您確定要卸載應用程式 %{ app } 嗎?" -#: src/views/app/AppView.vue:125 -#: src/views/app/AppView.vue:131 -#: src/views/app/EnvironmentView.vue:114 -#: src/views/app/EnvironmentView.vue:120 -#: src/views/app/InstalledView.vue:130 -#: src/views/app/InstalledView.vue:136 -#: src/views/app/InstalledView.vue:227 -#: src/views/app/InstalledView.vue:233 +#: src/views/app/AppView.vue:125 src/views/app/AppView.vue:131 +#: src/views/app/EnvironmentView.vue:114 src/views/app/EnvironmentView.vue:120 +#: src/views/app/InstalledView.vue:130 src/views/app/InstalledView.vue:136 +#: src/views/app/InstalledView.vue:227 src/views/app/InstalledView.vue:233 #: src/views/apps/prometheus/PrometheusExportersView.vue:128 msgid "Uninstall" msgstr "卸載" -#: src/views/app/AppView.vue:183 -#: src/views/app/InstalledView.vue:272 +#: src/views/app/AppView.vue:183 src/views/app/InstalledView.vue:272 msgid "Setup successfully" msgstr "設定成功" -#: src/views/app/AppView.vue:190 -#: src/views/app/AppView.vue:198 -#: src/views/app/EnvironmentView.vue:184 -#: src/views/app/EnvironmentView.vue:206 -#: src/views/app/EnvironmentView.vue:217 -#: src/views/app/EnvironmentView.vue:225 -#: src/views/app/InstalledView.vue:279 -#: src/views/app/InstalledView.vue:287 -#: src/views/app/InstalledView.vue:300 -#: src/views/app/InstalledView.vue:308 +#: src/views/app/AppView.vue:190 src/views/app/AppView.vue:198 +#: src/views/app/EnvironmentView.vue:184 src/views/app/EnvironmentView.vue:206 +#: src/views/app/EnvironmentView.vue:217 src/views/app/EnvironmentView.vue:225 +#: src/views/app/InstalledView.vue:279 src/views/app/InstalledView.vue:287 +#: src/views/app/InstalledView.vue:300 src/views/app/InstalledView.vue:308 #: src/views/app/VersionModal.vue:53 msgid "Task submitted, please check the progress in background tasks" msgstr "任務已提交,請在後台任務中查看進度" #: src/views/app/CustomForm.vue:46 -msgid "Settings are saved persistently and applied automatically on every install and update (recompile), no need to re-enter after reinstalling." -msgstr "設定會持久儲存,每次安裝與更新(重新編譯)時自動套用,重裝後無需重新填寫。" +msgid "" +"Settings are saved persistently and applied automatically on every install " +"and update (recompile), no need to re-enter after reinstalling." +msgstr "" +"設定會持久儲存,每次安裝與更新(重新編譯)時自動套用,重裝後無需重新填寫。" #: src/views/app/CustomForm.vue:52 msgid "Pre-script" msgstr "前置指令碼" #: src/views/app/CustomForm.vue:56 -msgid "Runs before configure, can be used to download and prepare third-party module sources." +msgid "" +"Runs before configure, can be used to download and prepare third-party " +"module sources." msgstr "在 configure 之前執行,可用於下載與準備第三方模組原始碼。" #: src/views/app/CustomForm.vue:64 @@ -2127,20 +1874,20 @@ msgid "Compile Params" msgstr "編譯參數" #: src/views/app/CustomForm.vue:68 -msgid "One param per line, appended to the end of configure. Lines starting with # are ignored." +msgid "" +"One param per line, appended to the end of configure. Lines starting with # " +"are ignored." msgstr "每行一個參數,附加到 configure 結尾,以 # 開頭的行將被忽略。" #: src/views/app/EnvironmentView.vue:50 msgid "Latest Version" msgstr "最新版本" -#: src/views/app/EnvironmentView.vue:81 -#: src/views/app/InstalledView.vue:195 +#: src/views/app/EnvironmentView.vue:81 src/views/app/InstalledView.vue:195 msgid "Are you sure to update environment %{ environment }?" msgstr "您確定要更新環境 %{ environment } 嗎?" -#: src/views/app/EnvironmentView.vue:111 -#: src/views/app/InstalledView.vue:224 +#: src/views/app/EnvironmentView.vue:111 src/views/app/InstalledView.vue:224 msgid "Are you sure to uninstall environment %{ environment }?" msgstr "您確定要卸載環境 %{ environment } 嗎?" @@ -2162,13 +1909,11 @@ msgstr "快取更新成功" msgid "Installed" msgstr "已安裝" -#: src/views/app/IndexView.vue:41 -#: src/views/app/InstalledView.vue:327 +#: src/views/app/IndexView.vue:41 src/views/app/InstalledView.vue:327 msgid "Native App" msgstr "原生應用" -#: src/views/app/IndexView.vue:42 -#: src/views/app/InstalledView.vue:351 +#: src/views/app/IndexView.vue:42 src/views/app/InstalledView.vue:351 msgid "Operating Environment" msgstr "執行環境" @@ -2184,32 +1929,24 @@ msgstr "更新快取" msgid "Partial" msgstr "部分" -#: src/views/app/InstalledView.vue:51 -#: src/views/apps/fail2ban/IndexView.vue:47 +#: src/views/app/InstalledView.vue:51 src/views/apps/fail2ban/IndexView.vue:47 #: src/views/apps/phpmyadmin/IndexView.vue:67 #: src/views/apps/prometheus/PrometheusExportersView.vue:38 #: src/views/apps/supervisor/IndexView.vue:63 #: src/views/container/ComposeView.vue:86 #: src/views/container/ContainerInfoModal.vue:112 #: src/views/container/ContainerView.vue:58 -#: src/views/database/ServerList.vue:140 -#: src/views/database/UserList.vue:113 -#: src/views/firewall/RuleView.vue:103 -#: src/views/log/HttpLog.vue:95 -#: src/views/log/SSHLog.vue:63 -#: src/views/monitor/AlertView.vue:93 -#: src/views/monitor/SettingView.vue:116 -#: src/views/project/ListView.vue:59 -#: src/views/tamper/TamperView.vue:131 -#: src/views/tamper/TamperView.vue:232 -#: src/views/task/TaskView.vue:34 -#: src/views/toolbox/disk/RaidView.vue:97 +#: src/views/database/ServerList.vue:140 src/views/database/UserList.vue:113 +#: src/views/firewall/RuleView.vue:103 src/views/log/HttpLog.vue:95 +#: src/views/log/SSHLog.vue:63 src/views/monitor/AlertView.vue:93 +#: src/views/monitor/SettingView.vue:116 src/views/project/ListView.vue:59 +#: src/views/tamper/TamperView.vue:131 src/views/tamper/TamperView.vue:232 +#: src/views/task/TaskView.vue:34 src/views/toolbox/disk/RaidView.vue:97 #: src/views/toolbox/disk/SmartView.vue:217 #: src/views/toolbox/MigrationView.vue:142 #: src/views/toolbox/MigrationView.vue:209 #: src/views/toolbox/network/InterfaceView.vue:160 -#: src/views/toolbox/NetworkView.vue:99 -#: src/views/toolbox/ProcessView.vue:134 +#: src/views/toolbox/NetworkView.vue:99 src/views/toolbox/ProcessView.vue:134 #: src/views/toolbox/ProcessView.vue:399 #: src/views/website/stats/ErrorsTab.vue:95 msgid "Status" @@ -2235,12 +1972,9 @@ msgstr "請輸入編排名稱" msgid "Please select a compose" msgstr "請選擇一個編排" -#: src/views/app/TemplateDeployModal.vue:258 -#: src/views/cert/AccountView.vue:145 -#: src/views/cert/CertView.vue:401 -#: src/views/cert/CertView.vue:422 -#: src/views/cert/DnsView.vue:137 -#: src/views/container/ComposeView.vue:249 +#: src/views/app/TemplateDeployModal.vue:258 src/views/cert/AccountView.vue:145 +#: src/views/cert/CertView.vue:425 src/views/cert/CertView.vue:446 +#: src/views/cert/DnsView.vue:137 src/views/container/ComposeView.vue:249 msgid "Update successful" msgstr "更新成功" @@ -2317,8 +2051,7 @@ msgstr "自動放行 compose 中定義的連接埠" #: src/views/container/ComposeView.vue:357 #: src/views/container/ContainerCreate.vue:568 #: src/views/container/ContainerInfoModal.vue:185 -#: src/views/project/EditModal.vue:380 -#: src/views/toolbox/ProcessView.vue:445 +#: src/views/project/EditModal.vue:380 src/views/toolbox/ProcessView.vue:445 msgid "Environment Variables" msgstr "環境變數" @@ -2340,7 +2073,9 @@ msgid "Compose File" msgstr "編排檔案" #: src/views/app/TemplateDeployModal.vue:567 -msgid "Left side shows the original compose, right side shows the new compose. You can edit the right side." +msgid "" +"Left side shows the original compose, right side shows the new compose. You " +"can edit the right side." msgstr "左側顯示舊編排,右側顯示新編排。您可以編輯右側。" #: src/views/app/TemplateDeployModal.vue:586 @@ -2368,10 +2103,8 @@ msgstr "更新現有" #: src/views/apps/grafana/GrafanaDataSourcesView.vue:94 #: src/views/apps/nginx/NginxIndex.vue:186 #: src/views/container/ContainerInfoModal.vue:130 -#: src/views/file/ListView.vue:269 -#: src/views/file/ListView.vue:899 -#: src/views/file/PropertyModal.vue:55 -#: src/views/file/PropertyModal.vue:59 +#: src/views/file/ListView.vue:269 src/views/file/ListView.vue:899 +#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 #: src/views/toolbox/WebHookView.vue:85 msgid "Yes" msgstr "是" @@ -2381,10 +2114,8 @@ msgstr "是" #: src/views/apps/grafana/GrafanaDataSourcesView.vue:95 #: src/views/apps/nginx/NginxIndex.vue:186 #: src/views/container/ContainerInfoModal.vue:130 -#: src/views/file/ListView.vue:270 -#: src/views/file/ListView.vue:900 -#: src/views/file/PropertyModal.vue:55 -#: src/views/file/PropertyModal.vue:59 +#: src/views/file/ListView.vue:270 src/views/file/ListView.vue:900 +#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 #: src/views/toolbox/WebHookView.vue:85 msgid "No" msgstr "否" @@ -2402,15 +2133,12 @@ msgstr "編排內容" msgid "Starting Compose" msgstr "正在啟動編排" -#: src/views/app/TemplateView.vue:142 -#: src/views/backup/StorageView.vue:78 -#: src/views/ssh/IndexView.vue:82 -#: src/views/ssh/IndexView.vue:88 +#: src/views/app/TemplateView.vue:142 src/views/backup/StorageView.vue:78 +#: src/views/ssh/IndexView.vue:82 src/views/ssh/IndexView.vue:88 msgid "Local" msgstr "本地" -#: src/views/app/TemplateView.vue:152 -#: src/views/cert/CertView.vue:285 +#: src/views/app/TemplateView.vue:152 src/views/cert/CertView.vue:309 msgid "Deploy" msgstr "部署" @@ -2448,8 +2176,7 @@ msgstr "自訂編譯參數" #: src/views/apps/prometheus/IndexView.vue:44 #: src/views/apps/redis/IndexView.vue:33 #: src/views/apps/rocketmq/IndexView.vue:33 -#: src/views/apps/valkey/IndexView.vue:33 -#: src/views/environment/PHPView.vue:115 +#: src/views/apps/valkey/IndexView.vue:33 src/views/environment/PHPView.vue:115 msgid "Property" msgstr "屬性" @@ -2467,8 +2194,7 @@ msgstr "屬性" #: src/views/apps/prometheus/IndexView.vue:51 #: src/views/apps/redis/IndexView.vue:40 #: src/views/apps/rocketmq/IndexView.vue:40 -#: src/views/apps/valkey/IndexView.vue:40 -#: src/views/environment/PHPView.vue:122 +#: src/views/apps/valkey/IndexView.vue:40 src/views/environment/PHPView.vue:122 msgid "Current Value" msgstr "當前值" @@ -2482,23 +2208,17 @@ msgstr "當前值" #: src/views/apps/supervisor/IndexView.vue:213 #: src/views/apps/supervisor/IndexView.vue:269 #: src/views/database/RedisDataView.vue:252 -#: src/views/environment/PHPView.vue:162 -#: src/views/environment/PHPView.vue:169 -#: src/views/firewall/ScanView.vue:336 -#: src/views/monitor/AlertView.vue:180 -#: src/views/monitor/SettingView.vue:49 -#: src/views/tamper/TamperView.vue:216 -#: src/views/task/CronView.vue:23 -#: src/views/task/TaskView.vue:21 -#: src/views/website/EditModal.vue:333 -#: src/views/website/StatsView.vue:93 +#: src/views/environment/PHPView.vue:162 src/views/environment/PHPView.vue:169 +#: src/views/firewall/ScanView.vue:336 src/views/monitor/AlertView.vue:180 +#: src/views/monitor/SettingView.vue:49 src/views/tamper/TamperView.vue:216 +#: src/views/task/CronView.vue:23 src/views/task/TaskView.vue:21 +#: src/views/website/EditModal.vue:333 src/views/website/StatsView.vue:93 msgid "Cleared successfully" msgstr "清除成功" #: src/views/apps/apache/IndexView.vue:74 #: src/views/apps/codeserver/IndexView.vue:40 -#: src/views/apps/frp/IndexView.vue:88 -#: src/views/apps/frp/IndexView.vue:121 +#: src/views/apps/frp/IndexView.vue:88 src/views/apps/frp/IndexView.vue:121 #: src/views/apps/gitea/IndexView.vue:38 #: src/views/apps/mysql/MysqlIndex.vue:150 #: src/views/apps/nginx/NginxIndex.vue:501 @@ -2508,8 +2228,11 @@ msgstr "修改配置" #: src/views/apps/apache/IndexView.vue:78 #: src/views/apps/nginx/NginxIndex.vue:505 -msgid "This modifies the %{name} main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 %{name} 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the %{name} main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 %{name} 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/apache/IndexView.vue:97 #: src/views/apps/clickhouse/IndexView.vue:146 @@ -2525,8 +2248,7 @@ msgstr "這將修改 %{name} 主設定檔。如果您不了解每個參數的含 #: src/views/apps/prometheus/IndexView.vue:147 #: src/views/apps/redis/IndexView.vue:90 #: src/views/apps/rocketmq/IndexView.vue:93 -#: src/views/apps/valkey/IndexView.vue:90 -#: src/views/environment/PHPView.vue:259 +#: src/views/apps/valkey/IndexView.vue:90 src/views/environment/PHPView.vue:259 #: src/views/home/IndexView.vue:587 msgid "Load Status" msgstr "負載狀態" @@ -2568,10 +2290,8 @@ msgstr "錯誤日誌" #: src/views/apps/mongodb/MongoDBConfigTuneView.vue:88 #: src/views/container/ContainerCreate.vue:329 #: src/views/container/ContainerInfoModal.vue:132 -#: src/views/home/IndexView.vue:188 -#: src/views/home/IndexView.vue:967 -#: src/views/monitor/SystemView.vue:914 -#: src/views/toolbox/IndexView.vue:28 +#: src/views/home/IndexView.vue:188 src/views/home/IndexView.vue:967 +#: src/views/monitor/SystemView.vue:914 src/views/toolbox/IndexView.vue:28 msgid "Network" msgstr "網路" @@ -2641,20 +2361,13 @@ msgstr "日誌級別(logger.level)" #: src/views/database/ServerList.vue:275 #: src/views/database/UpdateServerModal.vue:27 #: src/views/database/UpdateUserModal.vue:23 -#: src/views/database/UserList.vue:191 -#: src/views/file/PermissionModal.vue:57 -#: src/views/firewall/RuleView.vue:29 -#: src/views/setting/SettingUser.vue:161 -#: src/views/setting/SettingUser.vue:167 -#: src/views/task/CreateModal.vue:121 -#: src/views/task/CronView.vue:189 -#: src/views/task/CronView.vue:259 -#: src/views/toolbox/WebHookView.vue:200 -#: src/views/toolbox/WebHookView.vue:278 -#: src/views/website/ListView.vue:360 -#: src/views/website/ListView.vue:366 -#: src/views/website/SettingView.vue:47 -#: src/views/website/SettingView.vue:58 +#: src/views/database/UserList.vue:191 src/views/file/PermissionModal.vue:57 +#: src/views/firewall/RuleView.vue:29 src/views/setting/SettingUser.vue:161 +#: src/views/setting/SettingUser.vue:167 src/views/task/CreateModal.vue:121 +#: src/views/task/CronView.vue:189 src/views/task/CronView.vue:259 +#: src/views/toolbox/WebHookView.vue:200 src/views/toolbox/WebHookView.vue:278 +#: src/views/website/ListView.vue:360 src/views/website/ListView.vue:366 +#: src/views/website/SettingView.vue:47 src/views/website/SettingView.vue:58 #: src/views/website/SettingView.vue:89 msgid "Modified successfully" msgstr "修改成功" @@ -2664,19 +2377,18 @@ msgid "Default User Password" msgstr "預設使用者密碼" #: src/views/apps/clickhouse/IndexView.vue:92 -msgid "The ClickHouse default user password is used to access the database. Keep it safe!" +msgid "" +"The ClickHouse default user password is used to access the database. Keep it " +"safe!" msgstr "ClickHouse 預設使用者密碼用於存取資料庫。請妥善保管!" #: src/views/apps/clickhouse/IndexView.vue:105 #: src/views/apps/mongodb/IndexView.vue:101 #: src/views/apps/mysql/MysqlIndex.vue:134 #: src/views/apps/postgresql/IndexView.vue:172 -#: src/views/database/ServerList.vue:106 -#: src/views/database/UserList.vue:56 -#: src/views/file/ListView.vue:374 -#: src/views/file/ListView.vue:408 -#: src/views/file/ListView.vue:1004 -#: src/views/file/ToolBar.vue:187 +#: src/views/database/ServerList.vue:106 src/views/database/UserList.vue:56 +#: src/views/file/ListView.vue:374 src/views/file/ListView.vue:408 +#: src/views/file/ListView.vue:1004 src/views/file/ToolBar.vue:187 msgid "Copy" msgstr "複製" @@ -2692,14 +2404,16 @@ msgstr "複製" #: src/views/apps/rocketmq/IndexView.vue:68 #: src/views/apps/rsync/IndexView.vue:225 #: src/views/apps/supervisor/IndexView.vue:339 -#: src/views/apps/valkey/IndexView.vue:65 -#: src/views/environment/PHPView.vue:223 +#: src/views/apps/valkey/IndexView.vue:65 src/views/environment/PHPView.vue:223 msgid "Main Configuration" msgstr "主配置" #: src/views/apps/clickhouse/IndexView.vue:125 -msgid "This modifies the ClickHouse configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 ClickHouse 設定檔。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the ClickHouse configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 ClickHouse 設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/clickhouse/IndexView.vue:143 #: src/views/apps/elasticsearch/IndexView.vue:87 @@ -2715,14 +2429,16 @@ msgstr "這將修改 ClickHouse 設定檔。如果您不了解每個參數的含 #: src/views/apps/pureftpd/IndexView.vue:215 #: src/views/apps/redis/IndexView.vue:87 #: src/views/apps/rocketmq/IndexView.vue:90 -#: src/views/apps/valkey/IndexView.vue:87 -#: src/views/environment/PHPView.vue:220 +#: src/views/apps/valkey/IndexView.vue:87 src/views/environment/PHPView.vue:220 msgid "Parameter Tuning" msgstr "參數調優" #: src/views/apps/codeserver/IndexView.vue:44 -msgid "This modifies the Code Server configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 Code Server 的設定檔。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the Code Server configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 Code Server 的設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/docker/IndexView.vue:63 #: src/views/apps/docker/IndexView.vue:70 @@ -2746,8 +2462,7 @@ msgstr "中國 - 騰訊(僅內網)" #: src/views/apps/docker/IndexView.vue:194 #: src/views/container/ContainerCreate.vue:309 -#: src/views/project/EditModal.vue:182 -#: src/views/website/EditModal.vue:979 +#: src/views/project/EditModal.vue:182 src/views/website/EditModal.vue:979 msgid "Basic Settings" msgstr "基本設定" @@ -2755,13 +2470,14 @@ msgstr "基本設定" msgid "Registry Mirrors" msgstr "註冊表鏡像" -#: src/views/apps/docker/IndexView.vue:203 -#: src/views/website/EditModal.vue:1801 +#: src/views/apps/docker/IndexView.vue:203 src/views/website/EditModal.vue:1801 msgid "Presets" msgstr "預設" #: src/views/apps/docker/IndexView.vue:226 -msgid "Configure registry mirrors to speed up image downloads. Domestic users can configure domestic mirrors." +msgid "" +"Configure registry mirrors to speed up image downloads. Domestic users can " +"configure domestic mirrors." msgstr "設定映像加速來源以加快映像檔下載。中國大陸使用者可設定當地的鏡像來源。" #: src/views/apps/docker/IndexView.vue:235 @@ -2772,8 +2488,7 @@ msgstr "輸入鏡像地址,例如 https://registry.example.com" #: src/views/apps/docker/IndexView.vue:392 #: src/views/apps/docker/IndexView.vue:420 #: src/views/apps/docker/IndexView.vue:445 -#: src/views/apps/nginx/NginxIndex.vue:743 -#: src/views/toolbox/SystemView.vue:307 +#: src/views/apps/nginx/NginxIndex.vue:743 src/views/toolbox/SystemView.vue:307 msgid "Add" msgstr "新增" @@ -2782,8 +2497,12 @@ msgid "Log Configuration" msgstr "日誌配置" #: src/views/apps/docker/IndexView.vue:253 -msgid "Configure log driver and rotation settings. Setting max-size and max-file can prevent log files from growing indefinitely." -msgstr "配置日誌驅動程式和輪轉設定。設定 max-size 和 max-file 可以防止日誌檔案無限增長。" +msgid "" +"Configure log driver and rotation settings. Setting max-size and max-file " +"can prevent log files from growing indefinitely." +msgstr "" +"配置日誌驅動程式和輪轉設定。設定 max-size 和 max-file 可以防止日誌檔案無限增" +"長。" #: src/views/apps/docker/IndexView.vue:259 msgid "Log Driver" @@ -2856,7 +2575,9 @@ msgid "Firewall Configuration" msgstr "防火牆配置" #: src/views/apps/docker/IndexView.vue:347 -msgid "Configure Docker firewall backend. nftables is experimental and does not support Swarm mode." +msgid "" +"Configure Docker firewall backend. nftables is experimental and does not " +"support Swarm mode." msgstr "配置 Docker 防火牆後端。nftables 是實驗性的,不支援 Swarm 模式。" #: src/views/apps/docker/IndexView.vue:353 @@ -2920,8 +2641,12 @@ msgid "Insecure Registries" msgstr "不安全的註冊表" #: src/views/apps/docker/IndexView.vue:433 -msgid "Insecure registries allow Docker to communicate with registries using HTTP or self-signed certificates. Use with caution." -msgstr "不安全的註冊表允許 Docker 使用 HTTP 或自簽名憑證與註冊表進行通訊。請謹慎使用。" +msgid "" +"Insecure registries allow Docker to communicate with registries using HTTP " +"or self-signed certificates. Use with caution." +msgstr "" +"不安全的註冊表允許 Docker 使用 HTTP 或自簽名憑證與註冊表進行通訊。請謹慎使" +"用。" #: src/views/apps/docker/IndexView.vue:441 msgid "e.g., 192.168.1.100:5000" @@ -2976,8 +2701,11 @@ msgstr "路徑和 JVM" #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:106 #: src/views/apps/opensearch/OpenSearchConfigTuneView.vue:106 -msgid "Data paths and JVM heap memory settings. Heap size is recommended to be 50% of system RAM, max 31g." -msgstr "資料路徑與 JVM 堆積記憶體設定。建議堆積大小為系統 RAM 的 50%,最大 31g。" +msgid "" +"Data paths and JVM heap memory settings. Heap size is recommended to be 50% " +"of system RAM, max 31g." +msgstr "" +"資料路徑與 JVM 堆積記憶體設定。建議堆積大小為系統 RAM 的 50%,最大 31g。" #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:112 #: src/views/apps/opensearch/OpenSearchConfigTuneView.vue:112 @@ -3006,8 +2734,11 @@ msgid "Max Heap Size (-Xmx)" msgstr "最大堆大小(-Xmx)" #: src/views/apps/elasticsearch/IndexView.vue:69 -msgid "This modifies the ElasticSearch main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 ElasticSearch 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the ElasticSearch main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 ElasticSearch 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/fail2ban/IndexView.vue:59 #: src/views/apps/fail2ban/IndexView.vue:356 @@ -3024,8 +2755,7 @@ msgstr "封禁時間" msgid "Find Time" msgstr "查找時間" -#: src/views/apps/fail2ban/IndexView.vue:80 -#: src/views/cert/CertView.vue:319 +#: src/views/apps/fail2ban/IndexView.vue:80 src/views/cert/CertView.vue:343 #: src/views/database/ElasticsearchDataView.vue:186 #: src/views/database/RedisDataView.vue:141 msgid "View" @@ -3046,8 +2776,7 @@ msgstr "解封" #: src/views/apps/fail2ban/IndexView.vue:179 #: src/views/apps/pureftpd/IndexView.vue:130 -#: src/views/apps/rsync/IndexView.vue:149 -#: src/views/apps/s3fs/IndexView.vue:77 +#: src/views/apps/rsync/IndexView.vue:149 src/views/apps/s3fs/IndexView.vue:77 #: src/views/apps/supervisor/IndexView.vue:226 #: src/views/database/CreateServerModal.vue:79 msgid "Added successfully" @@ -3081,38 +2810,38 @@ msgstr "規則列表" #: src/views/apps/fail2ban/IndexView.vue:275 #: src/views/apps/fail2ban/IndexView.vue:285 #: src/views/apps/fail2ban/IndexView.vue:289 -#: src/views/monitor/AlertRuleModal.vue:129 -#: src/views/monitor/AlertView.vue:202 -#: src/views/tamper/RuleModal.vue:89 -#: src/views/tamper/TamperView.vue:342 +#: src/views/monitor/AlertRuleModal.vue:129 src/views/monitor/AlertView.vue:202 +#: src/views/tamper/RuleModal.vue:89 src/views/tamper/TamperView.vue:342 msgid "Add Rule" msgstr "新增規則" #: src/views/apps/fail2ban/IndexView.vue:295 -msgid "If an IP exceeds the maximum retries within the find time (seconds), it will be banned for the ban time (seconds)" -msgstr "如果一個 IP 在偵測時間(秒)內超過最大重試次數,將被封鎖指定的封鎖時間(秒)" +msgid "" +"If an IP exceeds the maximum retries within the find time (seconds), it will " +"be banned for the ban time (seconds)" +msgstr "" +"如果一個 IP 在偵測時間(秒)內超過最大重試次數,將被封鎖指定的封鎖時間(秒)" #: src/views/apps/fail2ban/IndexView.vue:302 -msgid "Protected ports are automatically obtained. If you modify the port corresponding to a rule, please delete and re-add the rule, otherwise protection may not be effective" -msgstr "受保護的連接埠會自動取得。如果您修改了某個規則對應的連接埠,請刪除並重新新增該規則,否則保護可能無效" +msgid "" +"Protected ports are automatically obtained. If you modify the port " +"corresponding to a rule, please delete and re-add the rule, otherwise " +"protection may not be effective" +msgstr "" +"受保護的連接埠會自動取得。如果您修改了某個規則對應的連接埠,請刪除並重新新增" +"該規則,否則保護可能無效" #: src/views/apps/fail2ban/IndexView.vue:309 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:78 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:209 -#: src/views/backup/StorageView.vue:73 -#: src/views/backup/StorageView.vue:233 -#: src/views/backup/StorageView.vue:395 -#: src/views/cert/CertView.vue:169 -#: src/views/cert/DnsView.vue:43 -#: src/views/container/ContainerInfoModal.vue:156 +#: src/views/backup/StorageView.vue:73 src/views/backup/StorageView.vue:233 +#: src/views/backup/StorageView.vue:395 src/views/cert/CertView.vue:169 +#: src/views/cert/DnsView.vue:43 src/views/container/ContainerInfoModal.vue:156 #: src/views/database/CreateServerModal.vue:100 #: src/views/database/RedisDataView.vue:94 -#: src/views/database/RedisKeyModal.vue:99 -#: src/views/file/PropertyModal.vue:33 -#: src/views/log/OperationLog.vue:74 -#: src/views/monitor/ChannelModal.vue:93 -#: src/views/monitor/SettingView.vue:104 -#: src/views/project/ListView.vue:51 +#: src/views/database/RedisKeyModal.vue:99 src/views/file/PropertyModal.vue:33 +#: src/views/log/OperationLog.vue:74 src/views/monitor/ChannelModal.vue:93 +#: src/views/monitor/SettingView.vue:104 src/views/project/ListView.vue:51 #: src/views/toolbox/MigrationView.vue:126 #: src/views/toolbox/MigrationView.vue:202 #: src/views/toolbox/network/InterfaceView.vue:154 @@ -3126,8 +2855,7 @@ msgid "Service" msgstr "服務" #: src/views/apps/fail2ban/IndexView.vue:319 -#: src/views/apps/fail2ban/IndexView.vue:323 -#: src/views/task/CreateModal.vue:479 +#: src/views/apps/fail2ban/IndexView.vue:323 src/views/task/CreateModal.vue:479 #: src/views/task/CreateModal.vue:485 msgid "Select Website" msgstr "選擇網站" @@ -3139,14 +2867,10 @@ msgstr "保護模式" #: src/views/apps/fail2ban/IndexView.vue:331 #: src/views/apps/pureftpd/IndexView.vue:46 -#: src/views/backup/StorageView.vue:277 -#: src/views/backup/StorageView.vue:331 -#: src/views/backup/StorageView.vue:361 -#: src/views/backup/StorageView.vue:433 -#: src/views/backup/StorageView.vue:487 -#: src/views/backup/StorageView.vue:514 -#: src/views/log/HttpLog.vue:85 -#: src/views/tamper/TamperView.vue:204 +#: src/views/backup/StorageView.vue:277 src/views/backup/StorageView.vue:331 +#: src/views/backup/StorageView.vue:361 src/views/backup/StorageView.vue:433 +#: src/views/backup/StorageView.vue:487 src/views/backup/StorageView.vue:514 +#: src/views/log/HttpLog.vue:85 src/views/tamper/TamperView.vue:204 msgid "Path" msgstr "路徑" @@ -3176,55 +2900,42 @@ msgstr "總封禁次數" msgid "Ban List" msgstr "封禁列表" -#: src/views/apps/frp/IndexView.vue:68 -#: src/views/apps/frp/IndexView.vue:101 -#: src/views/project/CreateModal.vue:622 -#: src/views/project/EditModal.vue:237 +#: src/views/apps/frp/IndexView.vue:68 src/views/apps/frp/IndexView.vue:101 +#: src/views/project/CreateModal.vue:622 src/views/project/EditModal.vue:237 msgid "Run User" msgstr "執行使用者" -#: src/views/apps/frp/IndexView.vue:80 -#: src/views/apps/frp/IndexView.vue:81 -#: src/views/apps/frp/IndexView.vue:113 -#: src/views/apps/frp/IndexView.vue:114 +#: src/views/apps/frp/IndexView.vue:80 src/views/apps/frp/IndexView.vue:81 +#: src/views/apps/frp/IndexView.vue:113 src/views/apps/frp/IndexView.vue:114 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:225 -#: src/views/apps/rsync/IndexView.vue:57 -#: src/views/apps/rsync/IndexView.vue:279 -#: src/views/apps/rsync/IndexView.vue:340 -#: src/views/database/IndexView.vue:131 -#: src/views/home/IndexView.vue:673 -#: src/views/home/IndexView.vue:774 -#: src/views/log/SSHLog.vue:73 -#: src/views/monitor/SystemView.vue:323 -#: src/views/monitor/SystemView.vue:335 -#: src/views/setting/IndexView.vue:149 -#: src/views/toolbox/ProcessView.vue:128 -#: src/views/toolbox/ProcessView.vue:396 -#: src/views/toolbox/WebHookView.vue:333 -#: src/views/toolbox/WebHookView.vue:374 +#: src/views/apps/rsync/IndexView.vue:57 src/views/apps/rsync/IndexView.vue:279 +#: src/views/apps/rsync/IndexView.vue:340 src/views/database/IndexView.vue:131 +#: src/views/home/IndexView.vue:673 src/views/home/IndexView.vue:774 +#: src/views/log/SSHLog.vue:73 src/views/monitor/SystemView.vue:323 +#: src/views/monitor/SystemView.vue:335 src/views/setting/IndexView.vue:149 +#: src/views/toolbox/ProcessView.vue:128 src/views/toolbox/ProcessView.vue:396 +#: src/views/toolbox/WebHookView.vue:333 src/views/toolbox/WebHookView.vue:374 msgid "User" msgstr "使用者" -#: src/views/apps/frp/IndexView.vue:83 -#: src/views/apps/frp/IndexView.vue:84 -#: src/views/apps/frp/IndexView.vue:116 -#: src/views/apps/frp/IndexView.vue:117 +#: src/views/apps/frp/IndexView.vue:83 src/views/apps/frp/IndexView.vue:84 +#: src/views/apps/frp/IndexView.vue:116 src/views/apps/frp/IndexView.vue:117 #: src/views/file/PermissionModal.vue:128 -#: src/views/file/PermissionModal.vue:152 -#: src/views/file/PropertyModal.vue:48 +#: src/views/file/PermissionModal.vue:152 src/views/file/PropertyModal.vue:48 msgid "Group" msgstr "群組" #: src/views/apps/gitea/IndexView.vue:42 -msgid "This modifies the Gitea configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" +msgid "" +"This modifies the Gitea configuration file. If you do not understand the " +"meaning of each parameter, please do not modify it randomly!" msgstr "這將修改 Gitea 設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/grafana/GrafanaConfigTuneView.vue:149 #: src/views/apps/nginx/NginxIndex.vue:529 #: src/views/database/CreateDatabaseModal.vue:86 #: src/views/database/CreateUserModal.vue:104 -#: src/views/database/DatabaseList.vue:28 -#: src/views/database/IndexView.vue:132 +#: src/views/database/DatabaseList.vue:28 src/views/database/IndexView.vue:132 #: src/views/database/UserList.vue:73 msgid "Server" msgstr "伺服器" @@ -3374,19 +3085,13 @@ msgstr "瀏覽器(直連)" #: src/views/apps/grafana/GrafanaDataSourcesView.vue:111 #: src/views/apps/nginx/NginxIndex.vue:202 -#: src/views/apps/nginx/NginxIndex.vue:266 -#: src/views/backup/StorageView.vue:111 +#: src/views/apps/nginx/NginxIndex.vue:266 src/views/backup/StorageView.vue:111 #: src/views/container/ComposeView.vue:123 -#: src/views/container/ContainerView.vue:177 -#: src/views/file/ListView.vue:399 -#: src/views/file/ListView.vue:1666 -#: src/views/monitor/AlertView.vue:110 -#: src/views/monitor/SettingView.vue:143 -#: src/views/project/ListView.vue:177 -#: src/views/ssh/IndexView.vue:613 -#: src/views/tamper/TamperView.vue:148 -#: src/views/task/CronView.vue:155 -#: src/views/toolbox/WebHookView.vue:158 +#: src/views/container/ContainerView.vue:177 src/views/file/ListView.vue:399 +#: src/views/file/ListView.vue:1666 src/views/monitor/AlertView.vue:110 +#: src/views/monitor/SettingView.vue:143 src/views/project/ListView.vue:177 +#: src/views/ssh/IndexView.vue:613 src/views/tamper/TamperView.vue:148 +#: src/views/task/CronView.vue:155 src/views/toolbox/WebHookView.vue:158 #: src/views/website/ListView.vue:259 msgid "Edit" msgstr "編輯" @@ -3416,28 +3121,20 @@ msgstr "存取" #: src/views/apps/pureftpd/IndexView.vue:239 #: src/views/apps/pureftpd/IndexView.vue:278 #: src/views/apps/rsync/IndexView.vue:287 -#: src/views/apps/rsync/IndexView.vue:348 -#: src/views/backup/StorageView.vue:35 -#: src/views/backup/StorageView.vue:309 -#: src/views/backup/StorageView.vue:353 -#: src/views/backup/StorageView.vue:465 -#: src/views/backup/StorageView.vue:506 +#: src/views/apps/rsync/IndexView.vue:348 src/views/backup/StorageView.vue:35 +#: src/views/backup/StorageView.vue:309 src/views/backup/StorageView.vue:353 +#: src/views/backup/StorageView.vue:465 src/views/backup/StorageView.vue:506 #: src/views/container/ImageView.vue:419 #: src/views/database/CreateDatabaseModal.vue:125 #: src/views/database/CreateServerModal.vue:179 #: src/views/database/CreateUserModal.vue:120 #: src/views/database/ServerList.vue:82 #: src/views/database/UpdateServerModal.vue:105 -#: src/views/database/UpdateUserModal.vue:63 -#: src/views/database/UserList.vue:32 -#: src/views/login/IndexView.vue:261 -#: src/views/monitor/ChannelModal.vue:119 -#: src/views/setting/CreateModal.vue:53 -#: src/views/setting/PasswordModal.vue:42 -#: src/views/ssh/CreateModal.vue:80 -#: src/views/ssh/CreateModal.vue:89 -#: src/views/ssh/UpdateModal.vue:86 -#: src/views/ssh/UpdateModal.vue:95 +#: src/views/database/UpdateUserModal.vue:63 src/views/database/UserList.vue:32 +#: src/views/login/IndexView.vue:261 src/views/monitor/ChannelModal.vue:119 +#: src/views/setting/CreateModal.vue:53 src/views/setting/PasswordModal.vue:42 +#: src/views/ssh/CreateModal.vue:80 src/views/ssh/CreateModal.vue:89 +#: src/views/ssh/UpdateModal.vue:86 src/views/ssh/UpdateModal.vue:95 #: src/views/website/EditModal.vue:2099 msgid "Password" msgstr "密碼" @@ -3455,19 +3152,28 @@ msgid "Import dashboards in Grafana via Dashboard ID:" msgstr "透過 Dashboard ID 在 Grafana 中匯入儀表盤:" #: src/views/apps/grafana/IndexView.vue:83 -msgid "Go to Grafana → Dashboards → New → Import, enter the ID above and select the Prometheus data source." -msgstr "前往 Grafana → Dashboards → New → Import,輸入上方 ID 並選擇 Prometheus 資料源。" +msgid "" +"Go to Grafana → Dashboards → New → Import, enter the ID above and select the " +"Prometheus data source." +msgstr "" +"前往 Grafana → Dashboards → New → Import,輸入上方 ID 並選擇 Prometheus 資料" +"源。" #: src/views/apps/grafana/IndexView.vue:96 -msgid "This modifies the Grafana main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 Grafana 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the Grafana main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 Grafana 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/grafana/IndexView.vue:117 msgid "Data Sources" msgstr "資料源" #: src/views/apps/kafka/IndexView.vue:69 -msgid "This modifies the Kafka main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" +msgid "" +"This modifies the Kafka main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" msgstr "這將修改 Kafka 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/kafka/KafkaConfigTuneView.vue:60 @@ -3575,25 +3281,32 @@ msgid "e.g. 4" msgstr "例如 4" #: src/views/apps/minio/IndexView.vue:42 -msgid "This is modifying the MinIO environment variable file /etc/default/minio. If you do not understand the meaning of each parameter, please do not modify it arbitrarily!" -msgstr "這將修改 MinIO 環境變數檔案 /etc/default/minio。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This is modifying the MinIO environment variable file /etc/default/minio. If " +"you do not understand the meaning of each parameter, please do not modify it " +"arbitrarily!" +msgstr "" +"這將修改 MinIO 環境變數檔案 /etc/default/minio。如果您不了解每個參數的含義," +"請不要隨意修改!" #: src/views/apps/mongodb/IndexView.vue:88 msgid "Admin Password" msgstr "管理員密碼" #: src/views/apps/mongodb/IndexView.vue:92 -msgid "The MongoDB admin password is used to manage the database. Keep it safe!" +msgid "" +"The MongoDB admin password is used to manage the database. Keep it safe!" msgstr "MongoDB 管理員密碼用於管理資料庫。請妥善保管!" #: src/views/apps/mongodb/IndexView.vue:121 -msgid "This modifies the MongoDB configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" +msgid "" +"This modifies the MongoDB configuration file. If you do not understand the " +"meaning of each parameter, please do not modify it randomly!" msgstr "這將修改 MongoDB 設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/mongodb/MongoDBConfigTuneView.vue:59 #: src/views/apps/rocketmq/RocketMQConfigTuneView.vue:117 -#: src/views/backup/IndexView.vue:59 -#: src/views/task/CreateModal.vue:538 +#: src/views/backup/IndexView.vue:59 src/views/task/CreateModal.vue:538 msgid "Storage" msgstr "儲存" @@ -3634,8 +3347,7 @@ msgstr "系統日誌路徑(systemLog.path)" #: src/views/apps/redis/RedisConfigTuneView.vue:119 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:113 #: src/views/environment/PhpConfigTuneView.vue:248 -#: src/views/project/IndexView.vue:22 -#: src/views/project/ListView.vue:25 +#: src/views/project/IndexView.vue:22 src/views/project/ListView.vue:25 msgid "General" msgstr "通用" @@ -3846,12 +3558,17 @@ msgid "Root Password" msgstr "Root 密碼" #: src/views/apps/mysql/MysqlIndex.vue:125 -msgid "The \"root\" user password is used to manage the database system. Keep it safe!" +msgid "" +"The \"root\" user password is used to manage the database system. Keep it " +"safe!" msgstr "\"root\" 使用者密碼用於管理資料庫系統。請妥善保管!" #: src/views/apps/mysql/MysqlIndex.vue:154 -msgid "This modifies the %{ name } main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 %{ name } 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the %{ name } main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 %{ name } 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/mysql/MysqlIndex.vue:201 msgid "Slow Query Log" @@ -3927,7 +3644,9 @@ msgid "Server Tokens (server_tokens)" msgstr "伺服器識別(server_tokens)" #: src/views/apps/nginx/NginxConfigTuneView.vue:281 -msgid "Gzip compression settings. Gzip is the most widely supported compression method." +msgid "" +"Gzip compression settings. Gzip is the most widely supported compression " +"method." msgstr "Gzip 壓縮設定。Gzip 是支援最廣泛的壓縮方式。" #: src/views/apps/nginx/NginxConfigTuneView.vue:287 @@ -3965,7 +3684,9 @@ msgid "e.g. any" msgstr "例如 any" #: src/views/apps/nginx/NginxConfigTuneView.vue:331 -msgid "Brotli compression settings. Brotli provides better compression ratio than Gzip." +msgid "" +"Brotli compression settings. Brotli provides better compression ratio than " +"Gzip." msgstr "Brotli 壓縮設定。Brotli 提供比 Gzip 更好的壓縮率。" #: src/views/apps/nginx/NginxConfigTuneView.vue:337 @@ -3989,7 +3710,8 @@ msgid "Static (brotli_static)" msgstr "靜態(brotli_static)" #: src/views/apps/nginx/NginxConfigTuneView.vue:382 -msgid "Zstd compression settings. Zstd provides fast compression with high ratio." +msgid "" +"Zstd compression settings. Zstd provides fast compression with high ratio." msgstr "Zstd 壓縮設定。Zstd 提供快速壓縮與高壓縮率。" #: src/views/apps/nginx/NginxConfigTuneView.vue:386 @@ -4016,15 +3738,13 @@ msgstr "靜態(zstd_static)" msgid "Listen" msgstr "監聽" -#: src/views/apps/nginx/NginxIndex.vue:167 -#: src/views/firewall/ScanView.vue:301 +#: src/views/apps/nginx/NginxIndex.vue:167 src/views/firewall/ScanView.vue:301 #: src/views/firewall/ScanView.vue:317 msgid "Protocol" msgstr "協議" #: src/views/apps/nginx/NginxIndex.vue:175 -#: src/views/apps/nginx/NginxIndex.vue:635 -#: src/views/website/EditModal.vue:1176 +#: src/views/apps/nginx/NginxIndex.vue:635 src/views/website/EditModal.vue:1176 msgid "Proxy Pass" msgstr "代理目標" @@ -4075,18 +3795,15 @@ msgstr "Stream" #: src/views/apps/nginx/NginxIndex.vue:533 #: src/views/database/CreateServerModal.vue:92 -#: src/views/database/IndexView.vue:189 -#: src/views/website/EditModal.vue:1113 +#: src/views/database/IndexView.vue:189 src/views/website/EditModal.vue:1113 msgid "Add Server" msgstr "新增伺服器" -#: src/views/apps/nginx/NginxIndex.vue:546 -#: src/views/website/EditModal.vue:1032 +#: src/views/apps/nginx/NginxIndex.vue:546 src/views/website/EditModal.vue:1032 msgid "Upstream" msgstr "上游" -#: src/views/apps/nginx/NginxIndex.vue:550 -#: src/views/website/EditModal.vue:1129 +#: src/views/apps/nginx/NginxIndex.vue:550 src/views/website/EditModal.vue:1129 msgid "Add Upstream" msgstr "新增上游" @@ -4143,8 +3860,7 @@ msgstr "SSL 私鑰路徑" msgid "e.g. /path/to/key.pem" msgstr "例如 /path/to/key.pem" -#: src/views/apps/nginx/NginxIndex.vue:713 -#: src/views/website/EditModal.vue:1043 +#: src/views/apps/nginx/NginxIndex.vue:713 src/views/website/EditModal.vue:1043 msgid "Load Balancing Algorithm" msgstr "負載均衡算法" @@ -4166,8 +3882,7 @@ msgstr "地址" #: src/views/apps/nginx/NginxIndex.vue:750 #: src/views/container/NetworkView.vue:331 -#: src/views/container/VolumeView.vue:223 -#: src/views/toolbox/DiskView.vue:606 +#: src/views/container/VolumeView.vue:223 src/views/toolbox/DiskView.vue:606 msgid "Options" msgstr "選項" @@ -4175,27 +3890,27 @@ msgstr "選項" msgid "No servers added yet" msgstr "尚未新增伺服器" -#: src/views/apps/nginx/NginxIndex.vue:777 -#: src/views/website/EditModal.vue:1073 +#: src/views/apps/nginx/NginxIndex.vue:777 src/views/website/EditModal.vue:1073 #: src/views/website/EditModal.vue:1210 msgid "DNS Resolver" msgstr "DNS 解析器" -#: src/views/apps/nginx/NginxIndex.vue:780 -#: src/views/website/EditModal.vue:1076 +#: src/views/apps/nginx/NginxIndex.vue:780 src/views/website/EditModal.vue:1076 #: src/views/website/EditModal.vue:1213 msgid "e.g., 8.8.8.8" msgstr "例如 8.8.8.8" -#: src/views/apps/nginx/NginxIndex.vue:786 -#: src/views/website/EditModal.vue:1082 +#: src/views/apps/nginx/NginxIndex.vue:786 src/views/website/EditModal.vue:1082 #: src/views/website/EditModal.vue:1219 msgid "Resolver Timeout" msgstr "解析超時" #: src/views/apps/opensearch/IndexView.vue:69 -msgid "This modifies the OpenSearch main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 OpenSearch 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the OpenSearch main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 OpenSearch 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/opensearch/OpenSearchConfigTuneView.vue:71 msgid "OpenSearch cluster and network settings." @@ -4224,7 +3939,9 @@ msgid "Login Password" msgstr "登入密碼" #: src/views/apps/pgadmin/IndexView.vue:95 -msgid "If the password has been changed in pgAdmin, the actual password shall prevail." +msgid "" +"If the password has been changed in pgAdmin, the actual password shall " +"prevail." msgstr "若已在 pgAdmin 中修改過密碼,以實際密碼為準。" #: src/views/apps/pgadmin/IndexView.vue:102 @@ -4241,7 +3958,9 @@ msgid "Modify Username" msgstr "修改使用者" #: src/views/apps/pgadmin/IndexView.vue:129 -msgid "Modify the login email of the pgAdmin administrator account, server configurations will be migrated automatically" +msgid "" +"Modify the login email of the pgAdmin administrator account, server " +"configurations will be migrated automatically" msgstr "修改 pgAdmin 管理員帳戶的登錄電子郵件,伺服器配置將自動遷移" #: src/views/apps/pgadmin/IndexView.vue:134 @@ -4253,8 +3972,7 @@ msgid "New password" msgstr "新密碼" #: src/views/apps/pgadmin/IndexView.vue:149 -#: src/views/toolbox/MigrationView.vue:415 -#: src/views/toolbox/SshView.vue:314 +#: src/views/toolbox/MigrationView.vue:415 src/views/toolbox/SshView.vue:314 msgid "Reset" msgstr "重設" @@ -4267,19 +3985,28 @@ msgid "Modify phpMyAdmin access port" msgstr "修改 phpMyAdmin 存取連接埠" #: src/views/apps/phpmyadmin/IndexView.vue:94 -msgid "This modifies the OpenResty configuration file for phpMyAdmin. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 phpMyAdmin 的 OpenResty 設定檔。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the OpenResty configuration file for phpMyAdmin. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 phpMyAdmin 的 OpenResty 設定檔。如果您不了解每個參數的含義,請不要隨" +"意修改!" #: src/views/apps/podman/IndexView.vue:55 -msgid "Podman is a daemonless container management tool. Being in a stopped state is normal and does not affect usage!" -msgstr "Podman 是一個無守護程序的容器管理工具,處於停止狀態是正常的,不影響使用!" +msgid "" +"Podman is a daemonless container management tool. Being in a stopped state " +"is normal and does not affect usage!" +msgstr "" +"Podman 是一個無守護程序的容器管理工具,處於停止狀態是正常的,不影響使用!" #: src/views/apps/podman/IndexView.vue:63 msgid "Registry Configuration" msgstr "註冊表配置" #: src/views/apps/podman/IndexView.vue:67 -msgid "This modifies the Podman registry configuration file (/etc/containers/registries.conf)" +msgid "" +"This modifies the Podman registry configuration file (/etc/containers/" +"registries.conf)" msgstr "這會修改 Podman 映像倉庫設定檔 (/etc/containers/registries.conf)" #: src/views/apps/podman/IndexView.vue:85 @@ -4287,7 +4014,9 @@ msgid "Storage Configuration" msgstr "儲存配置" #: src/views/apps/podman/IndexView.vue:89 -msgid "This modifies the Podman storage configuration file (/etc/containers/storage.conf)" +msgid "" +"This modifies the Podman storage configuration file (/etc/containers/storage." +"conf)" msgstr "這會修改 Podman 儲存設定檔 (/etc/containers/storage.conf)" #: src/views/apps/postgresql/IndexView.vue:155 @@ -4295,20 +4024,29 @@ msgid "Super Password" msgstr "超級密碼" #: src/views/apps/postgresql/IndexView.vue:159 -msgid "The \"postgres\" superuser password is used to manage the database system. Keep it safe!" +msgid "" +"The \"postgres\" superuser password is used to manage the database system. " +"Keep it safe!" msgstr "\"postgres\" 超級使用者密碼用於管理資料庫系統。請妥善保管!" #: src/views/apps/postgresql/IndexView.vue:192 -msgid "This modifies the PostgreSQL main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 PostgreSQL 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the PostgreSQL main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 PostgreSQL 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/postgresql/IndexView.vue:213 msgid "User Configuration" msgstr "使用者設定" #: src/views/apps/postgresql/IndexView.vue:217 -msgid "This modifies the PostgreSQL user configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 PostgreSQL 使用者設定檔。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the PostgreSQL user configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 PostgreSQL 使用者設定檔。如果您不了解每個參數的含義,請不要隨意修" +"改!" #: src/views/apps/postgresql/IndexView.vue:260 msgid "Application Logs" @@ -4346,16 +4084,11 @@ msgstr "例如 3" #: src/views/apps/postgresql/PostgresqlConfigTuneView.vue:226 #: src/views/apps/redis/RedisConfigTuneView.vue:182 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:176 -#: src/views/container/ContainerCreate.vue:542 -#: src/views/home/IndexView.vue:700 -#: src/views/home/IndexView.vue:773 -#: src/views/monitor/SystemView.vue:520 -#: src/views/monitor/SystemView.vue:527 -#: src/views/monitor/SystemView.vue:543 -#: src/views/monitor/SystemView.vue:791 -#: src/views/toolbox/BenchmarkView.vue:178 -#: src/views/toolbox/PanelView.vue:122 -#: src/views/toolbox/ProcessView.vue:152 +#: src/views/container/ContainerCreate.vue:542 src/views/home/IndexView.vue:700 +#: src/views/home/IndexView.vue:773 src/views/monitor/SystemView.vue:520 +#: src/views/monitor/SystemView.vue:527 src/views/monitor/SystemView.vue:543 +#: src/views/monitor/SystemView.vue:791 src/views/toolbox/BenchmarkView.vue:178 +#: src/views/toolbox/PanelView.vue:122 src/views/toolbox/ProcessView.vue:152 msgid "Memory" msgstr "記憶體" @@ -4485,20 +4218,33 @@ msgid "IO Method (io_method)" msgstr "IO 方法(io_method)" #: src/views/apps/prometheus/IndexView.vue:89 -msgid "By default, the firewall does not allow access to the Prometheus port (9090). If you need external access, please manually open the port in the firewall settings." -msgstr "預設情況下,防火牆不允許存取 Prometheus 連接埠(9090)。如果您需要外部存取,請在防火牆設定中手動開放該連接埠。" +msgid "" +"By default, the firewall does not allow access to the Prometheus port " +"(9090). If you need external access, please manually open the port in the " +"firewall settings." +msgstr "" +"預設情況下,防火牆不允許存取 Prometheus 連接埠(9090)。如果您需要外部存取," +"請在防火牆設定中手動開放該連接埠。" #: src/views/apps/prometheus/IndexView.vue:100 -msgid "This modifies the Prometheus main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 Prometheus 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the Prometheus main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 Prometheus 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/prometheus/IndexView.vue:121 msgid "Alertmanager" msgstr "Alertmanager" #: src/views/apps/prometheus/IndexView.vue:126 -msgid "Configure Alertmanager notification channels (email, webhook, Slack, etc). To enable alert rules, uncomment the rule_files section in the main configuration and create rule files in the rules directory." -msgstr "設定 Alertmanager 通知管道(郵件、webhook、Slack 等)。要啟用告警規則,請在主設定中取消 rule_files 部分的註解,並在 rules 目錄中建立規則檔案。" +msgid "" +"Configure Alertmanager notification channels (email, webhook, Slack, etc). " +"To enable alert rules, uncomment the rule_files section in the main " +"configuration and create rule files in the rules directory." +msgstr "" +"設定 Alertmanager 通知管道(郵件、webhook、Slack 等)。要啟用告警規則,請在主" +"設定中取消 rule_files 部分的註解,並在 rules 目錄中建立規則檔案。" #: src/views/apps/prometheus/IndexView.vue:144 msgid "Exporters" @@ -4551,14 +4297,14 @@ msgstr "您確定要卸載 %{ name } 嗎?" #: src/views/apps/prometheus/PrometheusExportersView.vue:146 #: src/views/apps/prometheus/PrometheusExportersView.vue:153 #: src/views/container/ContainerCreate.vue:120 -#: src/views/container/ImageView.vue:186 -#: src/views/environment/PHPView.vue:175 +#: src/views/container/ImageView.vue:186 src/views/environment/PHPView.vue:175 #: src/views/environment/PHPView.vue:181 msgid "Task submitted, please check progress in background tasks" msgstr "任務已提交,請在後台任務中查看進度" #: src/views/apps/prometheus/PrometheusExportersView.vue:204 -msgid "Manage Prometheus exporters. Exporters collect metrics from various services." +msgid "" +"Manage Prometheus exporters. Exporters collect metrics from various services." msgstr "管理 Prometheus exporters。Exporters 從各種服務中收集指標。" #: src/views/apps/prometheus/PrometheusExportersView.vue:211 @@ -4571,24 +4317,18 @@ msgstr "修改 exporter 配置將重啟 exporter 服務。" #: src/views/apps/pureftpd/IndexView.vue:39 #: src/views/apps/pureftpd/IndexView.vue:231 -#: src/views/backup/StorageView.vue:298 -#: src/views/backup/StorageView.vue:347 -#: src/views/backup/StorageView.vue:454 -#: src/views/backup/StorageView.vue:500 +#: src/views/backup/StorageView.vue:298 src/views/backup/StorageView.vue:347 +#: src/views/backup/StorageView.vue:454 src/views/backup/StorageView.vue:500 #: src/views/container/ImageView.vue:411 #: src/views/database/CreateDatabaseModal.vue:117 #: src/views/database/CreateServerModal.vue:167 #: src/views/database/CreateUserModal.vue:112 #: src/views/database/ServerList.vue:73 #: src/views/database/UpdateServerModal.vue:97 -#: src/views/database/UserList.vue:22 -#: src/views/login/IndexView.vue:252 -#: src/views/monitor/ChannelModal.vue:116 -#: src/views/setting/CreateModal.vue:46 -#: src/views/setting/SettingUser.vue:24 -#: src/views/ssh/CreateModal.vue:86 -#: src/views/ssh/UpdateModal.vue:92 -#: src/views/website/EditModal.vue:2098 +#: src/views/database/UserList.vue:22 src/views/login/IndexView.vue:252 +#: src/views/monitor/ChannelModal.vue:116 src/views/setting/CreateModal.vue:46 +#: src/views/setting/SettingUser.vue:24 src/views/ssh/CreateModal.vue:86 +#: src/views/ssh/UpdateModal.vue:92 src/views/website/EditModal.vue:2098 msgid "Username" msgstr "使用者名稱" @@ -4621,17 +4361,14 @@ msgstr "執行日誌" #: src/views/apps/pureftpd/IndexView.vue:227 #: src/views/database/CreateDatabaseModal.vue:102 #: src/views/database/CreateUserModal.vue:90 -#: src/views/database/IndexView.vue:182 -#: src/views/setting/CreateModal.vue:38 +#: src/views/database/IndexView.vue:182 src/views/setting/CreateModal.vue:38 #: src/views/setting/IndexView.vue:155 msgid "Create User" msgstr "建立使用者" #: src/views/apps/pureftpd/IndexView.vue:236 -#: src/views/backup/StorageView.vue:301 -#: src/views/backup/StorageView.vue:350 -#: src/views/backup/StorageView.vue:457 -#: src/views/backup/StorageView.vue:503 +#: src/views/backup/StorageView.vue:301 src/views/backup/StorageView.vue:350 +#: src/views/backup/StorageView.vue:457 src/views/backup/StorageView.vue:503 #: src/views/container/ImageView.vue:416 #: src/views/database/CreateDatabaseModal.vue:122 #: src/views/database/CreateUserModal.vue:117 @@ -4644,15 +4381,11 @@ msgid "It is recommended to use the generator to generate a random password" msgstr "建議使用生成器生成隨機密碼" #: src/views/apps/pureftpd/IndexView.vue:250 -#: src/views/apps/rsync/IndexView.vue:50 -#: src/views/apps/rsync/IndexView.vue:271 +#: src/views/apps/rsync/IndexView.vue:50 src/views/apps/rsync/IndexView.vue:271 #: src/views/apps/rsync/IndexView.vue:332 -#: src/views/container/ComposeView.vue:66 -#: src/views/file/PropertyModal.vue:34 -#: src/views/project/ListView.vue:97 -#: src/views/task/CreateModal.vue:461 -#: src/views/website/CreateModal.vue:305 -#: src/views/website/ListView.vue:148 +#: src/views/container/ComposeView.vue:66 src/views/file/PropertyModal.vue:34 +#: src/views/project/ListView.vue:97 src/views/task/CreateModal.vue:461 +#: src/views/website/CreateModal.vue:305 src/views/website/ListView.vue:148 msgid "Directory" msgstr "目錄" @@ -4709,7 +4442,9 @@ msgid "e.g. 99" msgstr "例如 99" #: src/views/apps/redis/IndexView.vue:69 -msgid "This modifies the Redis main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" +msgid "" +"This modifies the Redis main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" msgstr "這將修改 Redis 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/redis/RedisConfigTuneView.vue:122 @@ -4795,8 +4530,11 @@ msgid "Append Fsync (appendfsync)" msgstr "追加同步(appendfsync)" #: src/views/apps/rocketmq/IndexView.vue:72 -msgid "This modifies the RocketMQ broker configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 RocketMQ broker 設定檔。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the RocketMQ broker configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 RocketMQ broker 設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/rocketmq/RocketMQConfigTuneView.vue:86 msgid "RocketMQ broker basic settings." @@ -4846,33 +4584,26 @@ msgstr "JVM" msgid "JVM heap memory settings for NameServer and Broker." msgstr "NameServer 與 Broker 的 JVM 堆積記憶體設定。" -#: src/views/apps/rsync/IndexView.vue:64 -#: src/views/apps/rsync/IndexView.vue:295 -#: src/views/apps/rsync/IndexView.vue:357 -#: src/views/backup/StorageView.vue:287 +#: src/views/apps/rsync/IndexView.vue:64 src/views/apps/rsync/IndexView.vue:295 +#: src/views/apps/rsync/IndexView.vue:357 src/views/backup/StorageView.vue:287 #: src/views/backup/StorageView.vue:443 #: src/views/database/CreateDatabaseModal.vue:142 #: src/views/database/CreateServerModal.vue:143 #: src/views/database/CreateUserModal.vue:137 #: src/views/database/ServerList.vue:113 #: src/views/database/UpdateServerModal.vue:76 -#: src/views/database/UserList.vue:63 -#: src/views/ssh/CreateModal.vue:65 -#: src/views/ssh/UpdateModal.vue:71 -#: src/views/toolbox/SystemView.vue:176 +#: src/views/database/UserList.vue:63 src/views/ssh/CreateModal.vue:65 +#: src/views/ssh/UpdateModal.vue:71 src/views/toolbox/SystemView.vue:176 msgid "Host" msgstr "主機" -#: src/views/apps/rsync/IndexView.vue:70 -#: src/views/apps/rsync/IndexView.vue:303 +#: src/views/apps/rsync/IndexView.vue:70 src/views/apps/rsync/IndexView.vue:303 #: src/views/apps/rsync/IndexView.vue:365 #: src/views/database/CreateServerModal.vue:190 #: src/views/database/CreateUserModal.vue:164 -#: src/views/database/DatabaseList.vue:49 -#: src/views/database/ServerList.vue:123 +#: src/views/database/DatabaseList.vue:49 src/views/database/ServerList.vue:123 #: src/views/database/UpdateServerModal.vue:114 -#: src/views/database/UpdateUserModal.vue:78 -#: src/views/database/UserList.vue:96 +#: src/views/database/UpdateUserModal.vue:78 src/views/database/UserList.vue:96 msgid "Comment" msgstr "備註" @@ -4886,8 +4617,7 @@ msgstr "配置" msgid "Are you sure you want to delete module %{ name }?" msgstr "您確定要刪除模組 %{ name } 嗎?" -#: src/views/apps/rsync/IndexView.vue:197 -#: src/views/environment/PHPView.vue:207 +#: src/views/apps/rsync/IndexView.vue:197 src/views/environment/PHPView.vue:207 msgid "Module Management" msgstr "模組管理" @@ -4897,7 +4627,9 @@ msgid "Add Module" msgstr "新增模組" #: src/views/apps/rsync/IndexView.vue:229 -msgid "This modifies the Rsync main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" +msgid "" +"This modifies the Rsync main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" msgstr "這將修改 Rsync 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/rsync/IndexView.vue:268 @@ -4934,8 +4666,7 @@ msgstr "輸入備註" msgid "Module Configuration" msgstr "模組配置" -#: src/views/apps/s3fs/IndexView.vue:27 -#: src/views/toolbox/DiskView.vue:696 +#: src/views/apps/s3fs/IndexView.vue:27 src/views/toolbox/DiskView.vue:696 msgid "Mount Path" msgstr "掛載路徑" @@ -4943,14 +4674,12 @@ msgstr "掛載路徑" msgid "Are you sure you want to delete mount %{ path }?" msgstr "您確定要刪除掛載 %{ path } 嗎?" -#: src/views/apps/s3fs/IndexView.vue:50 -#: src/views/apps/s3fs/IndexView.vue:55 +#: src/views/apps/s3fs/IndexView.vue:50 src/views/apps/s3fs/IndexView.vue:55 #: src/views/toolbox/DiskView.vue:312 msgid "Unmount" msgstr "卸載" -#: src/views/apps/s3fs/IndexView.vue:101 -#: src/views/apps/s3fs/IndexView.vue:125 +#: src/views/apps/s3fs/IndexView.vue:101 src/views/apps/s3fs/IndexView.vue:125 #: src/views/apps/s3fs/IndexView.vue:129 msgid "Add Mount" msgstr "新增掛載" @@ -4972,7 +4701,9 @@ msgid "Region Endpoint" msgstr "區域端點" #: src/views/apps/s3fs/IndexView.vue:163 -msgid "Enter complete URL of region endpoint (e.g., https://oss-cn-beijing.aliyuncs.com)" +msgid "" +"Enter complete URL of region endpoint (e.g., https://oss-cn-beijing.aliyuncs." +"com)" msgstr "輸入完整的區域端點 URL(例如:https://oss-cn-beijing.aliyuncs.com)" #: src/views/apps/s3fs/IndexView.vue:169 @@ -5010,16 +4741,18 @@ msgid "Add Process" msgstr "新增處理程序" #: src/views/apps/supervisor/IndexView.vue:343 -msgid "This modifies the Supervisor main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 Supervisor 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the Supervisor main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 Supervisor 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/supervisor/IndexView.vue:364 msgid "Daemon Logs" msgstr "守護程序日誌" #: src/views/apps/supervisor/IndexView.vue:400 -#: src/views/project/CreateModal.vue:641 -#: src/views/project/EditModal.vue:257 +#: src/views/project/CreateModal.vue:641 src/views/project/EditModal.vue:257 msgid "Start Command" msgstr "啟動命令" @@ -5028,8 +4761,7 @@ msgid "Please enter absolute path for files in start command" msgstr "請在啟動命令中輸入檔案的絕對路徑" #: src/views/apps/supervisor/IndexView.vue:408 -#: src/views/project/EditModal.vue:219 -#: src/views/toolbox/ProcessView.vue:431 +#: src/views/project/EditModal.vue:219 src/views/toolbox/ProcessView.vue:431 msgid "Working Directory" msgstr "工作目錄" @@ -5055,7 +4787,9 @@ msgid "Process Configuration" msgstr "處理程序設定" #: src/views/apps/valkey/IndexView.vue:69 -msgid "This modifies the Valkey main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" +msgid "" +"This modifies the Valkey main configuration file. If you do not understand " +"the meaning of each parameter, please do not modify it randomly!" msgstr "這將修改 Valkey 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/valkey/ValkeyConfigTuneView.vue:116 @@ -5074,8 +4808,7 @@ msgstr "Valkey AOF 持久化設定。" msgid "Filename" msgstr "檔案名稱" -#: src/views/backup/ListView.vue:54 -#: src/views/database/ServerList.vue:152 +#: src/views/backup/ListView.vue:54 src/views/database/ServerList.vue:152 #: src/views/database/UserList.vue:125 msgid "Update Date" msgstr "更新日期" @@ -5093,34 +4826,31 @@ msgid "Restore task created, please check the progress in background tasks" msgstr "恢復任務已建立,請在背景任務中檢視進度" #: src/views/backup/ListView.vue:232 -msgid "Only local backups are displayed here. Remote backups are stored in the corresponding backup storage." +msgid "" +"Only local backups are displayed here. Remote backups are stored in the " +"corresponding backup storage." msgstr "此處僅顯示本地備份。遠端備份儲存在相應的備份儲存中。" -#: src/views/backup/ListView.vue:239 -#: src/views/backup/ListView.vue:268 +#: src/views/backup/ListView.vue:239 src/views/backup/ListView.vue:268 msgid "Create Backup" msgstr "建立備份" -#: src/views/backup/ListView.vue:242 -#: src/views/backup/UploadModal.vue:38 +#: src/views/backup/ListView.vue:242 src/views/backup/UploadModal.vue:38 msgid "Upload Backup" msgstr "上傳備份" -#: src/views/backup/ListView.vue:280 -#: src/views/backup/ListView.vue:328 +#: src/views/backup/ListView.vue:280 src/views/backup/ListView.vue:328 msgid "Select website" msgstr "選擇網站" #: src/views/backup/ListView.vue:286 #: src/views/database/CreateDatabaseModal.vue:94 -#: src/views/database/DatabaseList.vue:21 -#: src/views/website/CreateModal.vue:269 +#: src/views/database/DatabaseList.vue:21 src/views/website/CreateModal.vue:269 #: src/views/website/CreateModal.vue:274 msgid "Database Name" msgstr "資料庫名稱" -#: src/views/backup/ListView.vue:292 -#: src/views/backup/ListView.vue:340 +#: src/views/backup/ListView.vue:292 src/views/backup/ListView.vue:340 msgid "Select database" msgstr "選取資料庫" @@ -5136,18 +4866,12 @@ msgstr "選擇備份儲存" msgid "Restore Backup" msgstr "恢復備份" -#: src/views/backup/StorageView.vue:36 -#: src/views/backup/StorageView.vue:321 -#: src/views/backup/StorageView.vue:477 -#: src/views/cert/CertView.vue:594 -#: src/views/cert/CertView.vue:694 -#: src/views/cert/UploadCertModal.vue:54 -#: src/views/setting/SettingSafe.vue:282 -#: src/views/ssh/CreateModal.vue:81 -#: src/views/ssh/CreateModal.vue:92 -#: src/views/ssh/UpdateModal.vue:87 -#: src/views/ssh/UpdateModal.vue:98 -#: src/views/website/EditModal.vue:1784 +#: src/views/backup/StorageView.vue:36 src/views/backup/StorageView.vue:321 +#: src/views/backup/StorageView.vue:477 src/views/cert/CertView.vue:619 +#: src/views/cert/CertView.vue:719 src/views/cert/UploadCertModal.vue:54 +#: src/views/setting/SettingSafe.vue:282 src/views/ssh/CreateModal.vue:81 +#: src/views/ssh/CreateModal.vue:92 src/views/ssh/UpdateModal.vue:87 +#: src/views/ssh/UpdateModal.vue:98 src/views/website/EditModal.vue:1784 msgid "Private Key" msgstr "私鑰" @@ -5162,50 +4886,40 @@ msgstr "您確定要刪除此儲存嗎?" #: src/views/backup/StorageView.vue:173 #: src/views/container/ContainerCreate.vue:124 -#: src/views/setting/PasswordModal.vue:21 -#: src/views/setting/TokenModal.vue:178 -#: src/views/setting/TwoFaModal.vue:28 -#: src/views/ssh/UpdateModal.vue:32 +#: src/views/setting/PasswordModal.vue:21 src/views/setting/TokenModal.vue:178 +#: src/views/setting/TwoFaModal.vue:28 src/views/ssh/UpdateModal.vue:32 msgid "Updated successfully" msgstr "更新成功" -#: src/views/backup/StorageView.vue:195 -#: src/views/backup/StorageView.vue:222 +#: src/views/backup/StorageView.vue:195 src/views/backup/StorageView.vue:222 msgid "Add Storage" msgstr "新增儲存" -#: src/views/backup/StorageView.vue:231 -#: src/views/backup/StorageView.vue:393 +#: src/views/backup/StorageView.vue:231 src/views/backup/StorageView.vue:393 msgid "Enter storage name" msgstr "輸入儲存名稱" -#: src/views/backup/StorageView.vue:239 -#: src/views/backup/StorageView.vue:401 +#: src/views/backup/StorageView.vue:239 src/views/backup/StorageView.vue:401 msgid "Access Key" msgstr "Access Key" -#: src/views/backup/StorageView.vue:242 -#: src/views/backup/StorageView.vue:404 +#: src/views/backup/StorageView.vue:242 src/views/backup/StorageView.vue:404 msgid "Enter access key" msgstr "輸入 Access Key" -#: src/views/backup/StorageView.vue:245 -#: src/views/backup/StorageView.vue:407 +#: src/views/backup/StorageView.vue:245 src/views/backup/StorageView.vue:407 msgid "Secret Key" msgstr "Secret Key" -#: src/views/backup/StorageView.vue:250 -#: src/views/backup/StorageView.vue:412 +#: src/views/backup/StorageView.vue:250 src/views/backup/StorageView.vue:412 msgid "Enter secret key" msgstr "輸入 Secret Key" -#: src/views/backup/StorageView.vue:253 -#: src/views/backup/StorageView.vue:415 +#: src/views/backup/StorageView.vue:253 src/views/backup/StorageView.vue:415 msgid "Style" msgstr "風格" -#: src/views/backup/StorageView.vue:256 -#: src/views/website/stats/GeoTab.vue:91 +#: src/views/backup/StorageView.vue:256 src/views/website/stats/GeoTab.vue:91 #: src/views/website/stats/GeoTab.vue:248 msgid "Region" msgstr "區域" @@ -5214,75 +4928,57 @@ msgstr "區域" msgid "Enter region (e.g., us-east-1)" msgstr "輸入區域(例如 us-east-1)" -#: src/views/backup/StorageView.vue:262 -#: src/views/backup/StorageView.vue:418 +#: src/views/backup/StorageView.vue:262 src/views/backup/StorageView.vue:418 msgid "Endpoint" msgstr "端點" -#: src/views/backup/StorageView.vue:265 -#: src/views/backup/StorageView.vue:421 +#: src/views/backup/StorageView.vue:265 src/views/backup/StorageView.vue:421 msgid "Enter endpoint URL" msgstr "輸入端點 URL" -#: src/views/backup/StorageView.vue:268 -#: src/views/backup/StorageView.vue:424 +#: src/views/backup/StorageView.vue:268 src/views/backup/StorageView.vue:424 msgid "Scheme" msgstr "協定" -#: src/views/backup/StorageView.vue:271 -#: src/views/backup/StorageView.vue:427 +#: src/views/backup/StorageView.vue:271 src/views/backup/StorageView.vue:427 msgid "Bucket" msgstr "儲存桶" -#: src/views/backup/StorageView.vue:274 -#: src/views/backup/StorageView.vue:430 +#: src/views/backup/StorageView.vue:274 src/views/backup/StorageView.vue:430 msgid "Enter bucket name" msgstr "輸入儲存桶名稱" -#: src/views/backup/StorageView.vue:280 -#: src/views/backup/StorageView.vue:364 -#: src/views/backup/StorageView.vue:436 -#: src/views/backup/StorageView.vue:517 +#: src/views/backup/StorageView.vue:280 src/views/backup/StorageView.vue:364 +#: src/views/backup/StorageView.vue:436 src/views/backup/StorageView.vue:517 msgid "Enter path (optional)" msgstr "輸入路徑(可選)" -#: src/views/backup/StorageView.vue:288 -#: src/views/backup/StorageView.vue:444 +#: src/views/backup/StorageView.vue:288 src/views/backup/StorageView.vue:444 msgid "Enter host" msgstr "輸入主機" -#: src/views/backup/StorageView.vue:290 -#: src/views/backup/StorageView.vue:446 +#: src/views/backup/StorageView.vue:290 src/views/backup/StorageView.vue:446 #: src/views/database/CreateServerModal.vue:154 #: src/views/database/UpdateServerModal.vue:87 -#: src/views/firewall/CreateModal.vue:159 -#: src/views/firewall/ForwardView.vue:33 -#: src/views/firewall/RuleView.vue:90 -#: src/views/firewall/ScanView.vue:300 -#: src/views/firewall/ScanView.vue:316 -#: src/views/firewall/ScanView.vue:380 -#: src/views/log/SSHLog.vue:83 -#: src/views/setting/SettingBase.vue:137 -#: src/views/ssh/CreateModal.vue:71 -#: src/views/ssh/UpdateModal.vue:77 +#: src/views/firewall/CreateModal.vue:159 src/views/firewall/ForwardView.vue:33 +#: src/views/firewall/RuleView.vue:90 src/views/firewall/ScanView.vue:300 +#: src/views/firewall/ScanView.vue:316 src/views/firewall/ScanView.vue:380 +#: src/views/log/SSHLog.vue:83 src/views/setting/SettingBase.vue:137 +#: src/views/ssh/CreateModal.vue:71 src/views/ssh/UpdateModal.vue:77 #: src/views/website/CreateModal.vue:224 msgid "Port" msgstr "連接埠" -#: src/views/backup/StorageView.vue:295 -#: src/views/backup/StorageView.vue:451 +#: src/views/backup/StorageView.vue:295 src/views/backup/StorageView.vue:451 msgid "Enter port" msgstr "輸入連接埠" -#: src/views/backup/StorageView.vue:304 -#: src/views/backup/StorageView.vue:460 +#: src/views/backup/StorageView.vue:304 src/views/backup/StorageView.vue:460 msgid "Auth Type" msgstr "認證類型" -#: src/views/backup/StorageView.vue:316 -#: src/views/backup/StorageView.vue:358 -#: src/views/backup/StorageView.vue:472 -#: src/views/backup/StorageView.vue:511 +#: src/views/backup/StorageView.vue:316 src/views/backup/StorageView.vue:358 +#: src/views/backup/StorageView.vue:472 src/views/backup/StorageView.vue:511 #: src/views/container/ImageView.vue:425 #: src/views/database/CreateDatabaseModal.vue:132 #: src/views/database/CreateUserModal.vue:127 @@ -5290,23 +4986,19 @@ msgstr "認證類型" msgid "Enter password" msgstr "輸入密碼" -#: src/views/backup/StorageView.vue:328 -#: src/views/backup/StorageView.vue:484 +#: src/views/backup/StorageView.vue:328 src/views/backup/StorageView.vue:484 msgid "Enter private key" msgstr "輸入私鑰" -#: src/views/backup/StorageView.vue:334 -#: src/views/backup/StorageView.vue:490 +#: src/views/backup/StorageView.vue:334 src/views/backup/StorageView.vue:490 msgid "Enter remote path" msgstr "輸入遠端路徑" -#: src/views/backup/StorageView.vue:341 -#: src/views/backup/StorageView.vue:497 +#: src/views/backup/StorageView.vue:341 src/views/backup/StorageView.vue:497 msgid "URL" msgstr "URL" -#: src/views/backup/StorageView.vue:344 -#: src/views/backup/StorageView.vue:498 +#: src/views/backup/StorageView.vue:344 src/views/backup/StorageView.vue:498 msgid "Enter WebDAV URL" msgstr "輸入 WebDAV URL" @@ -5318,37 +5010,30 @@ msgstr "編輯儲存" msgid "Upload %{ filename } successfully" msgstr "上傳 %{ filename } 成功" -#: src/views/backup/UploadModal.vue:50 -#: src/views/file/UploadModal.vue:710 +#: src/views/backup/UploadModal.vue:50 src/views/file/UploadModal.vue:710 msgid "Click or drag files to this area to upload" msgstr "點選或將檔案拖曳到此區域上傳" #: src/views/backup/UploadModal.vue:52 -msgid "For large files, it is recommended to use SFTP or other methods to upload" +msgid "" +"For large files, it is recommended to use SFTP or other methods to upload" msgstr "對於大檔案,建議使用 SFTP 或其他方式上傳" -#: src/views/cert/AccountView.vue:39 -#: src/views/cert/AccountView.vue:226 +#: src/views/cert/AccountView.vue:39 src/views/cert/AccountView.vue:226 #: src/views/cert/CreateAccountModal.vue:104 -#: src/views/setting/CreateModal.vue:62 -#: src/views/setting/SettingUser.vue:40 +#: src/views/setting/CreateModal.vue:62 src/views/setting/SettingUser.vue:40 msgid "Email" msgstr "電子郵件" -#: src/views/cert/AccountView.vue:67 -#: src/views/cert/AccountView.vue:218 -#: src/views/cert/CertView.vue:518 -#: src/views/cert/CreateAccountModal.vue:96 +#: src/views/cert/AccountView.vue:67 src/views/cert/AccountView.vue:218 +#: src/views/cert/CertView.vue:542 src/views/cert/CreateAccountModal.vue:96 #: src/views/cert/CreateCertModal.vue:110 msgid "Key Type" msgstr "密鑰類型" -#: src/views/cert/AccountView.vue:95 -#: src/views/cert/CertView.vue:348 -#: src/views/cert/DnsView.vue:91 -#: src/views/database/ServerList.vue:214 -#: src/views/database/UserList.vue:150 -#: src/views/file/PermissionModal.vue:156 +#: src/views/cert/AccountView.vue:95 src/views/cert/CertView.vue:372 +#: src/views/cert/DnsView.vue:91 src/views/database/ServerList.vue:214 +#: src/views/database/UserList.vue:150 src/views/file/PermissionModal.vue:156 #: src/views/setting/TokenModal.vue:73 msgid "Modify" msgstr "修改" @@ -5357,14 +5042,12 @@ msgstr "修改" msgid "Are you sure you want to delete the account?" msgstr "您確定要刪除該帳戶嗎?" -#: src/views/cert/AccountView.vue:108 -#: src/views/cert/CertView.vue:362 +#: src/views/cert/AccountView.vue:108 src/views/cert/CertView.vue:386 #: src/views/cert/DnsView.vue:105 msgid "Deletion successful" msgstr "刪除成功" -#: src/views/cert/AccountView.vue:133 -#: src/views/cert/CreateAccountModal.vue:42 +#: src/views/cert/AccountView.vue:133 src/views/cert/CreateAccountModal.vue:42 msgid "Registering account with CA, please wait patiently" msgstr "正在向 CA 註冊帳戶,請耐心等待" @@ -5372,45 +5055,43 @@ msgstr "正在向 CA 註冊帳戶,請耐心等待" msgid "Modify Account" msgstr "修改帳戶" -#: src/views/cert/AccountView.vue:198 -#: src/views/cert/CreateAccountModal.vue:76 -msgid "LiteSSL, Google and SSL.com require obtaining EAB (KID and HMAC) from their official websites first" +#: src/views/cert/AccountView.vue:198 src/views/cert/CreateAccountModal.vue:76 +msgid "" +"LiteSSL, Google and SSL.com require obtaining EAB (KID and HMAC) from their " +"official websites first" msgstr "LiteSSL、Google 和 SSL.com 需要先從其官方網站取得 EAB(KID 和 HMAC)" -#: src/views/cert/AccountView.vue:204 -#: src/views/cert/CreateAccountModal.vue:82 -msgid "Google is not accessible in mainland China, other CAs depend on network conditions, recommend using Let's Encrypt or LiteSSL" -msgstr "Google 在中國大陸無法存取,其他 CA 視網路狀況而定,建議使用 Let's Encrypt 或 LiteSSL" +#: src/views/cert/AccountView.vue:204 src/views/cert/CreateAccountModal.vue:82 +msgid "" +"Google is not accessible in mainland China, other CAs depend on network " +"conditions, recommend using Let's Encrypt or LiteSSL" +msgstr "" +"Google 在中國大陸無法存取,其他 CA 視網路狀況而定,建議使用 Let's Encrypt 或 " +"LiteSSL" -#: src/views/cert/AccountView.vue:210 -#: src/views/cert/CreateAccountModal.vue:88 +#: src/views/cert/AccountView.vue:210 src/views/cert/CreateAccountModal.vue:88 msgid "CA" msgstr "CA" -#: src/views/cert/AccountView.vue:213 -#: src/views/cert/CreateAccountModal.vue:91 +#: src/views/cert/AccountView.vue:213 src/views/cert/CreateAccountModal.vue:91 msgid "Select CA" msgstr "選擇 CA" -#: src/views/cert/AccountView.vue:221 -#: src/views/cert/CertView.vue:521 +#: src/views/cert/AccountView.vue:221 src/views/cert/CertView.vue:545 #: src/views/cert/CreateAccountModal.vue:99 #: src/views/cert/CreateCertModal.vue:113 msgid "Select key type" msgstr "選擇密鑰類型" -#: src/views/cert/AccountView.vue:231 -#: src/views/cert/CreateAccountModal.vue:109 +#: src/views/cert/AccountView.vue:231 src/views/cert/CreateAccountModal.vue:109 msgid "Enter email address" msgstr "輸入電子郵件地址" -#: src/views/cert/AccountView.vue:239 -#: src/views/cert/CreateAccountModal.vue:117 +#: src/views/cert/AccountView.vue:239 src/views/cert/CreateAccountModal.vue:117 msgid "Enter KID" msgstr "輸入 KID" -#: src/views/cert/AccountView.vue:247 -#: src/views/cert/CreateAccountModal.vue:125 +#: src/views/cert/AccountView.vue:247 src/views/cert/CreateAccountModal.vue:125 msgid "Enter HMAC" msgstr "輸入 HMAC" @@ -5418,19 +5099,14 @@ msgstr "輸入 HMAC" msgid "No matching websites found" msgstr "未找到匹配的網站" -#: src/views/cert/CertView.vue:146 -#: src/views/cert/CertView.vue:510 -#: src/views/cert/CreateCertModal.vue:102 -#: src/views/project/CreateModal.vue:661 -#: src/views/website/CreateModal.vue:201 -#: src/views/website/EditModal.vue:938 +#: src/views/cert/CertView.vue:146 src/views/cert/CertView.vue:534 +#: src/views/cert/CreateCertModal.vue:102 src/views/project/CreateModal.vue:661 +#: src/views/website/CreateModal.vue:201 src/views/website/EditModal.vue:938 msgid "Domain" msgstr "域名" -#: src/views/cert/CertView.vue:191 -#: src/views/file/ToolBar.vue:154 -#: src/views/file/UploadModal.vue:674 -#: src/views/monitor/SystemView.vue:584 +#: src/views/cert/CertView.vue:191 src/views/file/ToolBar.vue:154 +#: src/views/file/UploadModal.vue:674 src/views/monitor/SystemView.vue:584 msgid "Upload" msgstr "上傳" @@ -5439,158 +5115,157 @@ msgid "Associated Account" msgstr "關聯帳戶" #: src/views/cert/CertView.vue:212 -#: src/views/website/EditModal.vue:1711 +#, fuzzy +msgid "Associated Website" +msgstr "建立網站" + +#: src/views/cert/CertView.vue:236 src/views/website/EditModal.vue:1711 msgid "Issuer" msgstr "頒發者" -#: src/views/cert/CertView.vue:221 -#: src/views/setting/TokenModal.vue:48 -#: src/views/setting/TokenModal.vue:255 -#: src/views/setting/TokenModal.vue:293 +#: src/views/cert/CertView.vue:245 src/views/setting/TokenModal.vue:48 +#: src/views/setting/TokenModal.vue:255 src/views/setting/TokenModal.vue:293 msgid "Expiration Time" msgstr "過期時間" -#: src/views/cert/CertView.vue:230 +#: src/views/cert/CertView.vue:254 msgid "Next Renewal Time" msgstr "下次續簽時間" -#: src/views/cert/CertView.vue:239 +#: src/views/cert/CertView.vue:263 msgid "Auto Renewal" msgstr "自動續簽" -#: src/views/cert/CertView.vue:272 -#: src/views/website/EditModal.vue:2289 +#: src/views/cert/CertView.vue:296 src/views/website/EditModal.vue:2289 msgid "Issue" msgstr "簽發" -#: src/views/cert/CertView.vue:302 +#: src/views/cert/CertView.vue:326 msgid "Renewal" msgstr "續簽" -#: src/views/cert/CertView.vue:357 +#: src/views/cert/CertView.vue:381 msgid "Are you sure you want to delete the certificate?" msgstr "您確定要刪除證書嗎?" -#: src/views/cert/CertView.vue:450 +#: src/views/cert/CertView.vue:473 msgid "Deployment successful" msgstr "部署成功" -#: src/views/cert/CertView.vue:495 +#: src/views/cert/CertView.vue:519 msgid "Modify Certificate" msgstr "修改證書" -#: src/views/cert/CertView.vue:504 -msgid "You can automatically issue and deploy certificates by selecting any website/DNS, or manually enter domain names and set DNS resolution to issue certificates, or fill in deployment scripts to automatically deploy certificates." -msgstr "您可以透過選擇任意網站 / DNS 自動簽發與部署憑證,或手動輸入網域並設定 DNS 解析以簽發憑證,或填寫部署指令碼以自動部署憑證。" +#: src/views/cert/CertView.vue:528 +msgid "" +"You can automatically issue and deploy certificates by selecting any website/" +"DNS, or manually enter domain names and set DNS resolution to issue " +"certificates, or fill in deployment scripts to automatically deploy " +"certificates." +msgstr "" +"您可以透過選擇任意網站 / DNS 自動簽發與部署憑證,或手動輸入網域並設定 DNS 解" +"析以簽發憑證,或填寫部署指令碼以自動部署憑證。" -#: src/views/cert/CertView.vue:529 -#: src/views/cert/CreateCertModal.vue:121 -msgid "Select website for certificate deployment" +#: src/views/cert/CertView.vue:553 src/views/cert/CreateCertModal.vue:121 +#, fuzzy +msgid "Select websites for certificate deployment" msgstr "選擇要部署憑證的網站" -#: src/views/cert/CertView.vue:537 -#: src/views/cert/CreateCertModal.vue:126 +#: src/views/cert/CertView.vue:562 src/views/cert/CreateCertModal.vue:127 #: src/views/cert/IndexView.vue:98 msgid "Account" msgstr "帳戶" -#: src/views/cert/CertView.vue:541 -#: src/views/cert/CreateCertModal.vue:129 +#: src/views/cert/CertView.vue:566 src/views/cert/CreateCertModal.vue:130 msgid "Select account for certificate issuance" msgstr "選擇用於憑證頒發的帳戶" -#: src/views/cert/CertView.vue:546 -#: src/views/cert/CreateCertModal.vue:134 -#: src/views/cert/CreateDnsModal.vue:71 -#: src/views/cert/DnsView.vue:196 -#: src/views/cert/IndexView.vue:99 -#: src/views/website/EditModal.vue:2280 +#: src/views/cert/CertView.vue:571 src/views/cert/CreateCertModal.vue:135 +#: src/views/cert/CreateDnsModal.vue:71 src/views/cert/DnsView.vue:196 +#: src/views/cert/IndexView.vue:99 src/views/website/EditModal.vue:2280 msgid "DNS" msgstr "DNS" -#: src/views/cert/CertView.vue:549 -#: src/views/cert/CreateCertModal.vue:137 +#: src/views/cert/CertView.vue:574 src/views/cert/CreateCertModal.vue:138 #: src/views/website/EditModal.vue:2283 msgid "Select DNS for certificate issuance" msgstr "選擇用於證書頒發的 DNS" -#: src/views/cert/CertView.vue:556 -#: src/views/cert/CreateCertModal.vue:142 +#: src/views/cert/CertView.vue:581 src/views/cert/CreateCertModal.vue:143 msgid "DNS Alias" msgstr "DNS 別名" -#: src/views/cert/CertView.vue:566 -#: src/views/cert/CreateCertModal.vue:148 +#: src/views/cert/CertView.vue:591 src/views/cert/CreateCertModal.vue:149 msgid "Original domain, e.g. example.com" msgstr "原始域名,例如 example.com" -#: src/views/cert/CertView.vue:572 -#: src/views/cert/CreateCertModal.vue:154 +#: src/views/cert/CertView.vue:597 src/views/cert/CreateCertModal.vue:155 msgid "Alias record, e.g. _acme-challenge.delegated.com" msgstr "別名記錄,例如 _acme-challenge.delegated.com" -#: src/views/cert/CertView.vue:587 -#: src/views/cert/UploadCertModal.vue:50 +#: src/views/cert/CertView.vue:612 src/views/cert/UploadCertModal.vue:50 #: src/views/website/EditModal.vue:1778 msgid "Enter the content of the PEM certificate file" msgstr "輸入 PEM 憑證檔案的內容" -#: src/views/cert/CertView.vue:599 -#: src/views/cert/UploadCertModal.vue:58 +#: src/views/cert/CertView.vue:624 src/views/cert/UploadCertModal.vue:58 #: src/views/website/EditModal.vue:1788 msgid "Enter the content of the KEY private key file" msgstr "輸入 KEY 私鑰檔案的內容" -#: src/views/cert/CertView.vue:606 +#: src/views/cert/CertView.vue:631 msgid "Deployment Script" msgstr "部署腳本" -#: src/views/cert/CertView.vue:612 -msgid "The {cert} and {key} in the script will be replaced with the certificate and private key content" +#: src/views/cert/CertView.vue:637 +msgid "" +"The {cert} and {key} in the script will be replaced with the certificate and " +"private key content" msgstr "腳本中的 {cert} 和 {key} 將被替換為證書和私鑰內容" -#: src/views/cert/CertView.vue:634 +#: src/views/cert/CertView.vue:659 msgid "Deploy Certificate" msgstr "部署證書" -#: src/views/cert/CertView.vue:651 +#: src/views/cert/CertView.vue:676 msgid "Match Websites" msgstr "匹配網站" -#: src/views/cert/CertView.vue:657 -#: src/views/tamper/TamperView.vue:313 +#: src/views/cert/CertView.vue:682 src/views/tamper/TamperView.vue:313 #: src/views/toolbox/DiskView.vue:250 msgid "Available" msgstr "可用" -#: src/views/cert/CertView.vue:658 +#: src/views/cert/CertView.vue:683 msgid "Selected" msgstr "已選擇" -#: src/views/cert/CertView.vue:665 +#: src/views/cert/CertView.vue:690 msgid "Enable HTTPS" msgstr "啟用 HTTPS" -#: src/views/cert/CertView.vue:682 +#: src/views/cert/CertView.vue:707 msgid "View Certificate" msgstr "查看證書" -#: src/views/cert/CreateAccountModal.vue:68 -#: src/views/cert/IndexView.vue:111 +#: src/views/cert/CreateAccountModal.vue:68 src/views/cert/IndexView.vue:111 msgid "Create Account" msgstr "建立帳戶" -#: src/views/cert/CreateCertModal.vue:87 -#: src/views/cert/IndexView.vue:108 +#: src/views/cert/CreateCertModal.vue:87 src/views/cert/IndexView.vue:108 msgid "Create Certificate" msgstr "建立憑證" #: src/views/cert/CreateCertModal.vue:96 -msgid "You can automatically issue and deploy certificates by selecting either Website or DNS, or you can manually enter domain names and set up DNS resolution to issue certificates" -msgstr "您可以透過選擇網站或 DNS 自動簽發與部署憑證,或手動輸入網域並設定 DNS 解析以簽發憑證" +msgid "" +"You can automatically issue and deploy certificates by selecting either " +"Website or DNS, or you can manually enter domain names and set up DNS " +"resolution to issue certificates" +msgstr "" +"您可以透過選擇網站或 DNS 自動簽發與部署憑證,或手動輸入網域並設定 DNS 解析以" +"簽發憑證" -#: src/views/cert/CreateDnsModal.vue:56 -#: src/views/cert/IndexView.vue:114 +#: src/views/cert/CreateDnsModal.vue:56 src/views/cert/IndexView.vue:114 msgid "Create DNS" msgstr "建立 DNS" @@ -5602,108 +5277,87 @@ msgstr "備註名稱" msgid "Enter comment name" msgstr "輸入備註名稱" -#: src/views/cert/CreateDnsModal.vue:74 -#: src/views/cert/DnsView.vue:199 +#: src/views/cert/CreateDnsModal.vue:74 src/views/cert/DnsView.vue:199 msgid "Select DNS" msgstr "選擇 DNS" -#: src/views/cert/CreateDnsModal.vue:83 -#: src/views/cert/DnsView.vue:208 +#: src/views/cert/CreateDnsModal.vue:83 src/views/cert/DnsView.vue:208 msgid "Enter Aliyun Access Key" msgstr "輸入阿里雲 Access Key" -#: src/views/cert/CreateDnsModal.vue:90 -#: src/views/cert/DnsView.vue:215 +#: src/views/cert/CreateDnsModal.vue:90 src/views/cert/DnsView.vue:215 msgid "Enter Aliyun Secret Key" msgstr "輸入阿里雲 Secret Key" -#: src/views/cert/CreateDnsModal.vue:97 -#: src/views/cert/DnsView.vue:222 +#: src/views/cert/CreateDnsModal.vue:97 src/views/cert/DnsView.vue:222 msgid "Enter Tencent Cloud SecretId" msgstr "輸入騰訊雲 SecretId" -#: src/views/cert/CreateDnsModal.vue:104 -#: src/views/cert/DnsView.vue:229 +#: src/views/cert/CreateDnsModal.vue:104 src/views/cert/DnsView.vue:229 msgid "Enter Tencent Cloud SecretKey" msgstr "輸入騰訊雲 SecretKey" -#: src/views/cert/CreateDnsModal.vue:111 -#: src/views/cert/DnsView.vue:236 +#: src/views/cert/CreateDnsModal.vue:111 src/views/cert/DnsView.vue:236 msgid "Enter Huawei Cloud AccessKeyId" msgstr "輸入華為雲 AccessKeyId" -#: src/views/cert/CreateDnsModal.vue:118 -#: src/views/cert/DnsView.vue:243 +#: src/views/cert/CreateDnsModal.vue:118 src/views/cert/DnsView.vue:243 msgid "Enter Huawei Cloud SecretAccessKey" msgstr "輸入華為雲 SecretAccessKey" -#: src/views/cert/CreateDnsModal.vue:125 -#: src/views/cert/DnsView.vue:250 +#: src/views/cert/CreateDnsModal.vue:125 src/views/cert/DnsView.vue:250 msgid "Enter West.cn Username" msgstr "輸入西部數碼使用者名稱" -#: src/views/cert/CreateDnsModal.vue:132 -#: src/views/cert/DnsView.vue:257 +#: src/views/cert/CreateDnsModal.vue:132 src/views/cert/DnsView.vue:257 msgid "Enter West.cn API Password" msgstr "輸入西部數碼 API 密碼" -#: src/views/cert/CreateDnsModal.vue:139 -#: src/views/cert/DnsView.vue:264 +#: src/views/cert/CreateDnsModal.vue:139 src/views/cert/DnsView.vue:264 msgid "Enter Cloudflare API Key" msgstr "輸入 Cloudflare API 金鑰" -#: src/views/cert/CreateDnsModal.vue:146 -#: src/views/cert/DnsView.vue:271 +#: src/views/cert/CreateDnsModal.vue:146 src/views/cert/DnsView.vue:271 msgid "Enter G-Core API Key" msgstr "輸入 G-Core API 金鑰" -#: src/views/cert/CreateDnsModal.vue:153 -#: src/views/cert/DnsView.vue:278 +#: src/views/cert/CreateDnsModal.vue:153 src/views/cert/DnsView.vue:278 msgid "Enter Porkbun API Key" msgstr "輸入 Porkbun API 金鑰" -#: src/views/cert/CreateDnsModal.vue:160 -#: src/views/cert/DnsView.vue:285 +#: src/views/cert/CreateDnsModal.vue:160 src/views/cert/DnsView.vue:285 msgid "Enter Porkbun Secret Key" msgstr "輸入 Porkbun 密鑰" -#: src/views/cert/CreateDnsModal.vue:167 -#: src/views/cert/DnsView.vue:292 +#: src/views/cert/CreateDnsModal.vue:167 src/views/cert/DnsView.vue:292 msgid "Enter NameSilo API Token" msgstr "輸入 NameSilo API 令牌" -#: src/views/cert/CreateDnsModal.vue:174 -#: src/views/cert/DnsView.vue:299 +#: src/views/cert/CreateDnsModal.vue:174 src/views/cert/DnsView.vue:299 msgid "Enter ClouDNS Auth ID (use Sub Auth ID by adding sub-prefix)" msgstr "輸入 ClouDNS 驗證 ID(使用子驗證 ID 時加上 sub- 前綴)" -#: src/views/cert/CreateDnsModal.vue:181 -#: src/views/cert/DnsView.vue:306 +#: src/views/cert/CreateDnsModal.vue:181 src/views/cert/DnsView.vue:306 msgid "Enter ClouDNS Auth Password" msgstr "輸入 ClouDNS 認證密碼" -#: src/views/cert/CreateDnsModal.vue:184 -#: src/views/cert/DnsView.vue:309 +#: src/views/cert/CreateDnsModal.vue:184 src/views/cert/DnsView.vue:309 msgid "DNS Server" msgstr "DNS 伺服器" -#: src/views/cert/CreateDnsModal.vue:188 -#: src/views/cert/DnsView.vue:313 +#: src/views/cert/CreateDnsModal.vue:188 src/views/cert/DnsView.vue:313 msgid "DNS server for propagation check, e.g. 8.8.8.8" msgstr "用於生效檢查的 DNS 伺服器,例如 8.8.8.8" -#: src/views/cert/CreateDnsModal.vue:191 -#: src/views/cert/DnsView.vue:316 +#: src/views/cert/CreateDnsModal.vue:191 src/views/cert/DnsView.vue:316 msgid "Skip DNS Verification" msgstr "跳過 DNS 驗證" -#: src/views/cert/CreateDnsModal.vue:194 -#: src/views/cert/DnsView.vue:319 +#: src/views/cert/CreateDnsModal.vue:194 src/views/cert/DnsView.vue:319 msgid "For intranet environments, will wait 60s instead of polling DNS" msgstr "在內網環境中,將等待 60 秒而不是輪詢 DNS" -#: src/views/cert/DnsView.vue:36 -#: src/views/cert/DnsView.vue:189 +#: src/views/cert/DnsView.vue:36 src/views/cert/DnsView.vue:189 msgid "Note Name" msgstr "備註名稱" @@ -5719,8 +5373,7 @@ msgstr "修改 DNS" msgid "Enter note name" msgstr "輸入備註名稱" -#: src/views/cert/IndexView.vue:105 -#: src/views/cert/UploadCertModal.vue:38 +#: src/views/cert/IndexView.vue:105 src/views/cert/UploadCertModal.vue:38 msgid "Upload Certificate" msgstr "上傳證書" @@ -5733,21 +5386,17 @@ msgstr "自動" msgid "Self-signed" msgstr "自簽名" -#: src/views/cert/ObtainModal.vue:67 -#: src/views/cert/ObtainModal.vue:167 +#: src/views/cert/ObtainModal.vue:67 src/views/cert/ObtainModal.vue:167 msgid "Renewal successful" msgstr "續期成功" -#: src/views/cert/ObtainModal.vue:68 -#: src/views/cert/ObtainModal.vue:110 +#: src/views/cert/ObtainModal.vue:68 src/views/cert/ObtainModal.vue:110 #: src/views/cert/ObtainModal.vue:167 msgid "Issuance successful" msgstr "簽發成功" -#: src/views/cert/ObtainModal.vue:84 -#: src/views/cert/ObtainModal.vue:90 -#: src/views/home/UpdateView.vue:91 -#: src/views/home/UpdateView.vue:96 +#: src/views/cert/ObtainModal.vue:84 src/views/cert/ObtainModal.vue:90 +#: src/views/home/UpdateView.vue:106 src/views/home/UpdateView.vue:111 msgid "WebSocket connection failed" msgstr "WebSocket 連線失敗" @@ -5763,15 +5412,11 @@ msgstr "簽發證書" msgid "Issuance Mode" msgstr "簽發模式" -#: src/views/container/ComposeView.vue:93 -#: src/views/container/ImageView.vue:88 +#: src/views/container/ComposeView.vue:93 src/views/container/ImageView.vue:88 #: src/views/container/NetworkView.vue:103 -#: src/views/container/VolumeView.vue:57 -#: src/views/setting/PasskeyModal.vue:33 -#: src/views/setting/SettingUser.vue:79 -#: src/views/setting/TokenModal.vue:39 -#: src/views/task/CronView.vue:100 -#: src/views/task/TaskView.vue:51 +#: src/views/container/VolumeView.vue:57 src/views/setting/PasskeyModal.vue:33 +#: src/views/setting/SettingUser.vue:79 src/views/setting/TokenModal.vue:39 +#: src/views/task/CronView.vue:100 src/views/task/TaskView.vue:51 #: src/views/toolbox/WebHookView.vue:125 msgid "Creation Time" msgstr "建立時間" @@ -5818,8 +5463,7 @@ msgid "Are you sure you want to delete the selected composes?" msgstr "您確定要刪除所選的編排嗎?" #: src/views/container/ComposeView.vue:328 -#: src/views/container/ComposeView.vue:354 -#: src/views/container/IndexView.vue:23 +#: src/views/container/ComposeView.vue:354 src/views/container/IndexView.vue:23 msgid "Compose" msgstr "編排" @@ -5855,13 +5499,15 @@ msgid "Please enter image name" msgstr "請輸入鏡像名" #: src/views/container/ContainerCreate.vue:158 -msgid "Updating will remove the current container and recreate it with the new configuration. Data not stored in mounted volumes will be lost. Continue?" -msgstr "更新將移除目前容器並以新設定重新建立,未存放在掛載資料卷中的資料將遺失,是否繼續?" +msgid "" +"Updating will remove the current container and recreate it with the new " +"configuration. Data not stored in mounted volumes will be lost. Continue?" +msgstr "" +"更新將移除目前容器並以新設定重新建立,未存放在掛載資料卷中的資料將遺失,是否" +"繼續?" -#: src/views/container/ContainerCreate.vue:161 -#: src/views/file/ListView.vue:311 -#: src/views/file/UploadModal.vue:504 -#: src/views/file/UploadModal.vue:639 +#: src/views/container/ContainerCreate.vue:161 src/views/file/ListView.vue:311 +#: src/views/file/UploadModal.vue:504 src/views/file/UploadModal.vue:639 #: src/views/tamper/TamperView.vue:70 msgid "Continue" msgstr "繼續" @@ -5969,7 +5615,9 @@ msgid "Container End" msgstr "容器結束" #: src/views/container/ContainerCreate.vue:447 -msgid "All exposed ports in the image will be automatically mapped to random host ports." +msgid "" +"All exposed ports in the image will be automatically mapped to random host " +"ports." msgstr "映像檔中所有公開的連接埠將自動對應到隨機主機連接埠。" #: src/views/container/ContainerCreate.vue:456 @@ -5990,7 +5638,9 @@ msgid "Container path" msgstr "容器路徑" #: src/views/container/ContainerCreate.vue:485 -msgid "Mount host directories or volumes into the container. Use absolute paths for host directories." +msgid "" +"Mount host directories or volumes into the container. Use absolute paths for " +"host directories." msgstr "將主機目錄或卷掛載到容器中。主機目錄需使用絕對路徑。" #: src/views/container/ContainerCreate.vue:494 @@ -5999,7 +5649,9 @@ msgid "Resource Limits" msgstr "資源限制" #: src/views/container/ContainerCreate.vue:498 -msgid "Set resource limits to prevent the container from consuming too many system resources. Set to 0 for no limit." +msgid "" +"Set resource limits to prevent the container from consuming too many system " +"resources. Set to 0 for no limit." msgstr "設定資源限制以防止容器消耗過多系統資源。設為 0 表示無限制。" #: src/views/container/ContainerCreate.vue:506 @@ -6031,11 +5683,15 @@ msgid "Maximum memory the container can use, in MB. 0 means no limit." msgstr "容器可使用的最大記憶體,單位為 MB。0 表示無限制。" #: src/views/container/ContainerCreate.vue:547 -msgid "Number of CPU cores the container can use. 0.5 means half a core, 2 means 2 cores." +msgid "" +"Number of CPU cores the container can use. 0.5 means half a core, 2 means 2 " +"cores." msgstr "容器可以使用的 CPU 核心數。0.5 意味著半個核心,2 意味著 2 個核心。" #: src/views/container/ContainerCreate.vue:554 -msgid "Relative CPU weight. Default is 1024. Higher values get more CPU time when competing." +msgid "" +"Relative CPU weight. Default is 1024. Higher values get more CPU time when " +"competing." msgstr "相對 CPU 權重。預設值為 1024。競爭時,數值越高獲得的 CPU 時間越多。" #: src/views/container/ContainerCreate.vue:566 @@ -6058,10 +5714,8 @@ msgstr "啟動命令" #: src/views/container/ContainerCreate.vue:594 #: src/views/container/ContainerInfoModal.vue:146 -#: src/views/home/IndexView.vue:674 -#: src/views/home/IndexView.vue:775 -#: src/views/monitor/SystemView.vue:323 -#: src/views/monitor/SystemView.vue:335 +#: src/views/home/IndexView.vue:674 src/views/home/IndexView.vue:775 +#: src/views/monitor/SystemView.vue:323 src/views/monitor/SystemView.vue:335 msgid "Command" msgstr "命令" @@ -6109,8 +5763,7 @@ msgid "Container Info" msgstr "容器資訊" #: src/views/container/ContainerInfoModal.vue:100 -#: src/views/toolbox/disk/SmartView.vue:280 -#: src/views/toolbox/PanelView.vue:98 +#: src/views/toolbox/disk/SmartView.vue:280 src/views/toolbox/PanelView.vue:98 msgid "Basic Info" msgstr "基本資訊" @@ -6153,8 +5806,7 @@ msgid "No environment variables" msgstr "無環境變數" #: src/views/container/ContainerInfoModal.vue:214 -#: src/views/toolbox/WebHookView.vue:73 -#: src/views/toolbox/WebHookView.vue:339 +#: src/views/toolbox/WebHookView.vue:73 src/views/toolbox/WebHookView.vue:339 #: src/views/toolbox/WebHookView.vue:380 msgid "Raw Output" msgstr "原始輸出" @@ -6178,8 +5830,7 @@ msgstr "暫停" msgid "Resume" msgstr "恢復" -#: src/views/container/ContainerView.vue:254 -#: src/views/file/ListView.vue:1695 +#: src/views/container/ContainerView.vue:254 src/views/file/ListView.vue:1695 msgid "More" msgstr "更多" @@ -6250,8 +5901,7 @@ msgid "Pull completed" msgstr "拉取完成" #: src/views/container/ImagePullModal.vue:152 -#: src/views/container/ImageView.vue:279 -#: src/views/container/ImageView.vue:325 +#: src/views/container/ImageView.vue:279 src/views/container/ImageView.vue:325 msgid "Pull Image" msgstr "拉取鏡像" @@ -6291,10 +5941,8 @@ msgstr "容器數量" #: src/views/container/ImageView.vue:109 #: src/views/container/NetworkView.vue:125 -#: src/views/container/VolumeView.vue:78 -#: src/views/firewall/ForwardView.vue:93 -#: src/views/firewall/IpRuleView.vue:135 -#: src/views/firewall/RuleView.vue:275 +#: src/views/container/VolumeView.vue:78 src/views/firewall/ForwardView.vue:93 +#: src/views/firewall/IpRuleView.vue:135 src/views/firewall/RuleView.vue:275 #: src/views/task/TaskView.vue:122 msgid "Are you sure you want to delete?" msgstr "您確定要刪除嗎?" @@ -6333,13 +5981,11 @@ msgstr "網路" #: src/views/container/NetworkView.vue:55 #: src/views/container/NetworkView.vue:260 -#: src/views/container/VolumeView.vue:36 -#: src/views/container/VolumeView.vue:206 +#: src/views/container/VolumeView.vue:36 src/views/container/VolumeView.vue:206 msgid "Driver" msgstr "驅動程式" -#: src/views/container/NetworkView.vue:62 -#: src/views/container/VolumeView.vue:43 +#: src/views/container/NetworkView.vue:62 src/views/container/VolumeView.vue:43 #: src/views/website/EditModal.vue:2148 msgid "Scope" msgstr "範圍" @@ -6419,10 +6065,8 @@ msgstr "選項名稱" msgid "Option Value" msgstr "選項值" -#: src/views/container/VolumeView.vue:50 -#: src/views/home/IndexView.vue:818 -#: src/views/toolbox/DiskView.vue:282 -#: src/views/toolbox/DiskView.vue:604 +#: src/views/container/VolumeView.vue:50 src/views/home/IndexView.vue:818 +#: src/views/toolbox/DiskView.vue:282 src/views/toolbox/DiskView.vue:604 msgid "Mount Point" msgstr "掛載點" @@ -6550,12 +6194,12 @@ msgstr "輸入資料庫伺服器備註" #: src/views/database/CreateUserModal.vue:100 #: src/views/database/UpdateUserModal.vue:59 -msgid "If the privilege databases does not exist, it will be created automatically." +msgid "" +"If the privilege databases does not exist, it will be created automatically." msgstr "若授權的資料庫不存在,將自動建立。" #: src/views/database/CreateUserModal.vue:158 -#: src/views/database/UpdateUserModal.vue:72 -#: src/views/database/UserList.vue:81 +#: src/views/database/UpdateUserModal.vue:72 src/views/database/UserList.vue:81 msgid "Privileges" msgstr "權限" @@ -6705,8 +6349,7 @@ msgstr "新鍵名" msgid "Enter new key name" msgstr "輸入新鍵名稱" -#: src/views/database/RedisKeyModal.vue:90 -#: src/views/toolbox/SshView.vue:339 +#: src/views/database/RedisKeyModal.vue:90 src/views/toolbox/SshView.vue:339 msgid "View Key" msgstr "查看密鑰" @@ -6736,13 +6379,11 @@ msgstr "輸入 JSON 值" msgid "Unsupported database type" msgstr "不支援的資料庫類型" -#: src/views/database/ServerList.vue:147 -#: src/views/database/UserList.vue:120 +#: src/views/database/ServerList.vue:147 src/views/database/UserList.vue:120 msgid "Valid" msgstr "有效" -#: src/views/database/ServerList.vue:147 -#: src/views/database/UserList.vue:120 +#: src/views/database/ServerList.vue:147 src/views/database/UserList.vue:120 msgid "Invalid" msgstr "無效" @@ -6751,11 +6392,12 @@ msgid "Confirm Sync" msgstr "確認同步" #: src/views/database/ServerList.vue:188 -msgid "Are you sure you want to synchronize database users (excluding password) to the panel?" +msgid "" +"Are you sure you want to synchronize database users (excluding password) to " +"the panel?" msgstr "您確定要將資料庫使用者(不含密碼)同步到面板嗎?" -#: src/views/database/ServerList.vue:195 -#: src/views/toolbox/SystemView.vue:101 +#: src/views/database/ServerList.vue:195 src/views/toolbox/SystemView.vue:101 msgid "Synchronized successfully" msgstr "同步成功" @@ -6764,7 +6406,9 @@ msgid "Sync" msgstr "同步" #: src/views/database/ServerList.vue:234 -msgid "Built-in servers cannot be deleted. If you need to delete them, please uninstall the corresponding app" +msgid "" +"Built-in servers cannot be deleted. If you need to delete them, please " +"uninstall the corresponding app" msgstr "內建伺服器無法刪除,如需刪除請解除安裝相應的應用" #: src/views/database/ServerList.vue:241 @@ -6787,8 +6431,7 @@ msgstr "未儲存" msgid "Are you sure you want to delete the user?" msgstr "您確定要刪除該使用者嗎?" -#: src/views/environment/DotnetView.vue:13 -#: src/views/environment/GoView.vue:46 +#: src/views/environment/DotnetView.vue:13 src/views/environment/GoView.vue:46 #: src/views/environment/JavaView.vue:13 #: src/views/environment/NodejsView.vue:49 #: src/views/environment/PHPView.vue:131 @@ -6796,8 +6439,7 @@ msgstr "您確定要刪除該使用者嗎?" msgid "Set successfully" msgstr "設定成功" -#: src/views/environment/DotnetView.vue:25 -#: src/views/environment/GoView.vue:64 +#: src/views/environment/DotnetView.vue:25 src/views/environment/GoView.vue:64 #: src/views/environment/JavaView.vue:25 #: src/views/environment/NodejsView.vue:67 #: src/views/environment/PHPView.vue:196 @@ -6806,8 +6448,11 @@ msgid "Set as CLI Default Version" msgstr "設為 CLI 預設版本" #: src/views/environment/DotnetView.vue:30 -msgid ".NET is a free, open-source, cross-platform framework for building modern apps and powerful cloud services." -msgstr ".NET 是一個免費、開源、跨平台的框架,用於構建現代應用程式和強大的雲端服務。" +msgid "" +".NET is a free, open-source, cross-platform framework for building modern " +"apps and powerful cloud services." +msgstr "" +".NET 是一個免費、開源、跨平台的框架,用於構建現代應用程式和強大的雲端服務。" #: src/views/environment/GoView.vue:16 msgid "Official (proxy.golang.org)" @@ -6817,13 +6462,11 @@ msgstr "官方(proxy.golang.org)" msgid "China - Qiniu (goproxy.cn)" msgstr "中國 - 七牛雲(goproxy.cn)" -#: src/views/environment/GoView.vue:19 -#: src/views/environment/PythonView.vue:18 +#: src/views/environment/GoView.vue:19 src/views/environment/PythonView.vue:18 msgid "China - Alibaba (mirrors.aliyun.com)" msgstr "中國 - 阿里巴巴(mirrors.aliyun.com)" -#: src/views/environment/GoView.vue:23 -#: src/views/environment/NodejsView.vue:22 +#: src/views/environment/GoView.vue:23 src/views/environment/NodejsView.vue:22 #: src/views/environment/PythonView.vue:22 msgid "China - Tencent (mirrors.tencent.com)" msgstr "中國 - 騰訊(mirrors.tencent.com)" @@ -6833,7 +6476,9 @@ msgid "Proxy Settings" msgstr "代理設定" #: src/views/environment/GoView.vue:74 -msgid "GOPROXY is used to configure the Go module proxy. Using a domestic mirror can speed up dependency downloads." +msgid "" +"GOPROXY is used to configure the Go module proxy. Using a domestic mirror " +"can speed up dependency downloads." msgstr "GOPROXY 用於配置 Go 模塊代理。使用國內鏡像可以加快依賴項下載速度。" #: src/views/environment/GoView.vue:79 @@ -6845,8 +6490,12 @@ msgid "Select or enter proxy address" msgstr "選擇或輸入代理地址" #: src/views/environment/JavaView.vue:30 -msgid "Amazon Corretto is a no-cost, multiplatform, production-ready distribution of the Open Java Development Kit (OpenJDK)." -msgstr "Amazon Corretto 是一個無成本、多平台、生產就緒的 Open Java Development Kit(OpenJDK)發行版。" +msgid "" +"Amazon Corretto is a no-cost, multiplatform, production-ready distribution " +"of the Open Java Development Kit (OpenJDK)." +msgstr "" +"Amazon Corretto 是一個無成本、多平台、生產就緒的 Open Java Development Kit" +"(OpenJDK)發行版。" #: src/views/environment/NodejsView.vue:16 msgid "Official (registry.npmjs.org)" @@ -6865,7 +6514,9 @@ msgid "Registry Settings" msgstr "映像倉庫設定" #: src/views/environment/NodejsView.vue:77 -msgid "npm registry is used to configure the npm package source. Using a domestic mirror can speed up package downloads." +msgid "" +"npm registry is used to configure the npm package source. Using a domestic " +"mirror can speed up package downloads." msgstr "npm 註冊表用於配置 npm 包源。使用國內鏡像可以加速包下載。" #: src/views/environment/NodejsView.vue:82 @@ -6910,8 +6561,12 @@ msgid "Disabled Functions" msgstr "停用函式" #: src/views/environment/PhpConfigTuneView.vue:283 -msgid "Enter the PHP functions to disable, separated by commas. Common dangerous functions include: exec, shell_exec, system, passthru, proc_open, popen, etc." -msgstr "輸入要停用的 PHP 函式,用逗號分隔。常見的危險函式包括:exec、shell_exec、system、passthru、proc_open、popen 等。" +msgid "" +"Enter the PHP functions to disable, separated by commas. Common dangerous " +"functions include: exec, shell_exec, system, passthru, proc_open, popen, etc." +msgstr "" +"輸入要停用的 PHP 函式,用逗號分隔。常見的危險函式包括:exec、shell_exec、" +"system、passthru、proc_open、popen 等。" #: src/views/environment/PhpConfigTuneView.vue:294 msgid "e.g. exec,shell_exec,system,passthru" @@ -6922,7 +6577,9 @@ msgid "Upload Limits" msgstr "上傳限制" #: src/views/environment/PhpConfigTuneView.vue:314 -msgid "Adjust PHP file upload limits. post_max_size should be greater than upload_max_filesize." +msgid "" +"Adjust PHP file upload limits. post_max_size should be greater than " +"upload_max_filesize." msgstr "調整 PHP 檔案上傳限制。post_max_size 應大於 upload_max_filesize。" #: src/views/environment/PhpConfigTuneView.vue:320 @@ -6950,7 +6607,8 @@ msgid "Timeout Limits" msgstr "超時限制" #: src/views/environment/PhpConfigTuneView.vue:385 -msgid "Adjust PHP script timeout limits. Values are in seconds, -1 means no limit." +msgid "" +"Adjust PHP script timeout limits. Values are in seconds, -1 means no limit." msgstr "調整 PHP 腳本超時限制。值以秒為單位,-1 表示無限制。" #: src/views/environment/PhpConfigTuneView.vue:389 @@ -6975,7 +6633,8 @@ msgid "e.g. 1000" msgstr "例如 1000" #: src/views/environment/PhpConfigTuneView.vue:430 -msgid "Adjust PHP-FPM process manager settings. These settings are in php-fpm.conf." +msgid "" +"Adjust PHP-FPM process manager settings. These settings are in php-fpm.conf." msgstr "調整 PHP-FPM 處理程序管理設定。這些設定位於 php-fpm.conf 中。" #: src/views/environment/PhpConfigTuneView.vue:434 @@ -7003,8 +6662,12 @@ msgid "Max Spare Servers (pm.max_spare_servers)" msgstr "最大閒置處理程序數(pm.max_spare_servers)" #: src/views/environment/PhpConfigTuneView.vue:495 -msgid "Adjust PHP session settings. When using redis or memcached, make sure the corresponding extension is installed and the service is running." -msgstr "調整 PHP 工作階段設定。使用 redis 或 memcached 時,請確保已安裝相應擴充功能且服務正在執行。" +msgid "" +"Adjust PHP session settings. When using redis or memcached, make sure the " +"corresponding extension is installed and the service is running." +msgstr "" +"調整 PHP 工作階段設定。使用 redis 或 memcached 時,請確保已安裝相應擴充功能且" +"服務正在執行。" #: src/views/environment/PhpConfigTuneView.vue:501 msgid "Save Handler (session.save_handler)" @@ -7075,16 +6738,24 @@ msgid "View PHPInfo" msgstr "查看 PHPInfo" #: src/views/environment/PHPView.vue:227 -msgid "This modifies the PHP %{ version } main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 PHP %{ version } 的主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the PHP %{ version } main configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 PHP %{ version } 的主設定檔。如果您不了解每個參數的含義,請不要隨意" +"修改!" #: src/views/environment/PHPView.vue:241 msgid "FPM Configuration" msgstr "FPM 配置" #: src/views/environment/PHPView.vue:245 -msgid "This modifies the PHP %{ version } FPM configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" -msgstr "這將修改 PHP %{ version } 的 FPM 設定檔。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "" +"This modifies the PHP %{ version } FPM configuration file. If you do not " +"understand the meaning of each parameter, please do not modify it randomly!" +msgstr "" +"這將修改 PHP %{ version } 的 FPM 設定檔。如果您不了解每個參數的含義,請不要隨" +"意修改!" #: src/views/environment/PHPView.vue:282 msgid "Slow Logs" @@ -7111,7 +6782,9 @@ msgid "Mirror Settings" msgstr "鏡像來源設定" #: src/views/environment/PythonView.vue:81 -msgid "pip mirror is used to configure the Python package source. Using a domestic mirror can speed up package downloads." +msgid "" +"pip mirror is used to configure the Python package source. Using a domestic " +"mirror can speed up package downloads." msgstr "pip 鏡像用於配置 Python 包源。使用國內鏡像可以加速包下載。" #: src/views/environment/PythonView.vue:86 @@ -7152,15 +6825,12 @@ msgid "Name cannot be empty" msgstr "名稱不能為空" #: src/views/file/composables/usePaste.ts:96 -#: src/views/file/composables/usePaste.ts:150 -#: src/views/task/TaskView.vue:46 +#: src/views/file/composables/usePaste.ts:150 src/views/task/TaskView.vue:46 msgid "Canceled" msgstr "已取消" -#: src/views/file/composables/usePaste.ts:138 -#: src/views/file/ListView.vue:306 -#: src/views/file/ListView.vue:848 -#: src/views/file/ListView.vue:897 +#: src/views/file/composables/usePaste.ts:138 src/views/file/ListView.vue:306 +#: src/views/file/ListView.vue:848 src/views/file/ListView.vue:897 msgid "Warning" msgstr "警告" @@ -7168,23 +6838,19 @@ msgstr "警告" msgid "There are items with the same name %{ items } Do you want to overwrite?" msgstr "存在同名項目 %{ items } 是否要覆蓋?" -#: src/views/file/composables/usePaste.ts:175 -#: src/views/file/ListView.vue:850 -#: src/views/file/UploadModal.vue:750 -#: src/views/file/UploadModal.vue:777 +#: src/views/file/composables/usePaste.ts:175 src/views/file/ListView.vue:850 +#: src/views/file/UploadModal.vue:750 src/views/file/UploadModal.vue:777 msgid "Overwrite" msgstr "覆蓋" #: src/views/file/CompressModal.vue:52 -msgid "Compress task created successfully, please check the task list for progress" +msgid "" +"Compress task created successfully, please check the task list for progress" msgstr "壓縮任務建立成功,請在任務清單中檢視進度" -#: src/views/file/CompressModal.vue:97 -#: src/views/file/CompressModal.vue:120 -#: src/views/file/ListView.vue:376 -#: src/views/file/ListView.vue:412 -#: src/views/file/ListView.vue:1007 -#: src/views/file/ListView.vue:1660 +#: src/views/file/CompressModal.vue:97 src/views/file/CompressModal.vue:120 +#: src/views/file/ListView.vue:376 src/views/file/ListView.vue:412 +#: src/views/file/ListView.vue:1007 src/views/file/ListView.vue:1660 #: src/views/file/ToolBar.vue:189 msgid "Compress" msgstr "壓縮" @@ -7217,14 +6883,12 @@ msgstr "檔案編輯器" msgid "Drop files to upload" msgstr "拖放檔案以上傳" -#: src/views/file/ListView.vue:262 -#: src/views/file/ListView.vue:429 +#: src/views/file/ListView.vue:262 src/views/file/ListView.vue:429 #: src/views/file/ListView.vue:1030 msgid "Add Protection" msgstr "加入保護" -#: src/views/file/ListView.vue:262 -#: src/views/file/ListView.vue:428 +#: src/views/file/ListView.vue:262 src/views/file/ListView.vue:428 #: src/views/file/ListView.vue:1030 msgid "Remove Protection" msgstr "移除保護" @@ -7234,7 +6898,9 @@ msgid "Add tamper protection for %{ name }?" msgstr "為 %{ name } 加入防竄改保護?" #: src/views/file/ListView.vue:265 -msgid "Remove tamper protection for %{ name }? The matching rule or exclusions will be adjusted accordingly." +msgid "" +"Remove tamper protection for %{ name }? The matching rule or exclusions will " +"be adjusted accordingly." msgstr "移除 %{ name } 的防竄改保護?相符的規則或排除項將相應調整。" #: src/views/file/ListView.vue:273 @@ -7242,56 +6908,49 @@ msgid "Operation successful" msgstr "操作成功" #: src/views/file/ListView.vue:307 -msgid "%{ name } has immutable attribute. The panel will temporarily remove the immutable attribute, perform the operation, and then restore the immutable attribute. Do you want to continue?" -msgstr "%{ name } 具有不可變屬性。面板將暫時移除不可變屬性,執行操作,然後恢復不可變屬性。您要繼續嗎?" +msgid "" +"%{ name } has immutable attribute. The panel will temporarily remove the " +"immutable attribute, perform the operation, and then restore the immutable " +"attribute. Do you want to continue?" +msgstr "" +"%{ name } 具有不可變屬性。面板將暫時移除不可變屬性,執行操作,然後恢復不可變" +"屬性。您要繼續嗎?" -#: src/views/file/ListView.vue:364 -#: src/views/file/ListView.vue:382 -#: src/views/file/ListView.vue:438 -#: src/views/file/ToolBar.vue:184 +#: src/views/file/ListView.vue:364 src/views/file/ListView.vue:382 +#: src/views/file/ListView.vue:438 src/views/file/ToolBar.vue:184 msgid "Paste" msgstr "貼上" -#: src/views/file/ListView.vue:375 -#: src/views/file/ListView.vue:409 -#: src/views/file/ListView.vue:1005 -#: src/views/file/ToolBar.vue:188 +#: src/views/file/ListView.vue:375 src/views/file/ListView.vue:409 +#: src/views/file/ListView.vue:1005 src/views/file/ToolBar.vue:188 msgid "Move" msgstr "移動" -#: src/views/file/ListView.vue:377 -#: src/views/file/ListView.vue:410 -#: src/views/file/ListView.vue:1006 -#: src/views/file/ListView.vue:1454 -#: src/views/file/PermissionModal.vue:146 -#: src/views/file/PropertyModal.vue:42 +#: src/views/file/ListView.vue:377 src/views/file/ListView.vue:410 +#: src/views/file/ListView.vue:1006 src/views/file/ListView.vue:1454 +#: src/views/file/PermissionModal.vue:146 src/views/file/PropertyModal.vue:42 #: src/views/file/ToolBar.vue:190 msgid "Permission" msgstr "權限" -#: src/views/file/ListView.vue:394 -#: src/views/file/ListView.vue:1647 +#: src/views/file/ListView.vue:394 src/views/file/ListView.vue:1647 msgid "Open" msgstr "開啟" -#: src/views/file/ListView.vue:396 -#: src/views/file/ListView.vue:1666 +#: src/views/file/ListView.vue:396 src/views/file/ListView.vue:1666 msgid "Preview" msgstr "預覽" -#: src/views/file/ListView.vue:398 -#: src/views/file/ListView.vue:1012 +#: src/views/file/ListView.vue:398 src/views/file/ListView.vue:1012 #: src/views/file/ListView.vue:1769 msgid "Uncompress" msgstr "解壓縮" -#: src/views/file/ListView.vue:416 -#: src/views/file/ListView.vue:1017 +#: src/views/file/ListView.vue:416 src/views/file/ListView.vue:1017 msgid "Share" msgstr "分享" -#: src/views/file/ListView.vue:433 -#: src/views/file/ListView.vue:1035 +#: src/views/file/ListView.vue:433 src/views/file/ListView.vue:1035 #: src/views/file/PropertyModal.vue:11 msgid "Properties" msgstr "屬性" @@ -7312,8 +6971,7 @@ msgstr "某些檔案是不可變的,無法刪除" msgid "Are you sure you want to delete %{count} items?" msgstr "您確定要刪除 %{count} 項嗎?" -#: src/views/file/ListView.vue:908 -#: src/views/file/PathInput.vue:34 +#: src/views/file/ListView.vue:908 src/views/file/PathInput.vue:34 msgid "Path copied to clipboard" msgstr "路徑已複製到剪貼板" @@ -7322,7 +6980,8 @@ msgid "Copy Path" msgstr "複製路徑" #: src/views/file/ListView.vue:1291 -msgid "Uncompress task created successfully, please check the task list for progress" +msgid "" +"Uncompress task created successfully, please check the task list for progress" msgstr "解壓任務建立成功,請在任務清單中檢視進度" #: src/views/file/ListView.vue:1706 @@ -7349,8 +7008,7 @@ msgstr "解壓 - %{ file }" msgid "Uncompress to" msgstr "解壓到" -#: src/views/file/ListView.vue:1779 -#: src/views/file/ToolBar.vue:237 +#: src/views/file/ListView.vue:1779 src/views/file/ToolBar.vue:237 msgid "Terminal - %{ path }" msgstr "終端 - %{ path }" @@ -7358,8 +7016,7 @@ msgstr "終端 - %{ path }" msgid "Failed to copy path" msgstr "無法複製路徑" -#: src/views/file/PathInput.vue:109 -#: src/views/home/UpdateView.vue:161 +#: src/views/file/PathInput.vue:109 src/views/home/UpdateView.vue:176 #: src/views/toolbox/MigrationView.vue:589 msgid "Back" msgstr "返回" @@ -7402,27 +7059,22 @@ msgid "Modify permissions - %{ path }" msgstr "修改權限 - %{ path }" #: src/views/file/PermissionModal.vue:119 -#: src/views/file/PermissionModal.vue:149 -#: src/views/file/PropertyModal.vue:45 +#: src/views/file/PermissionModal.vue:149 src/views/file/PropertyModal.vue:45 msgid "Owner" msgstr "擁有者" #: src/views/file/PermissionModal.vue:121 #: src/views/file/PermissionModal.vue:130 -#: src/views/file/PermissionModal.vue:139 -#: src/views/home/IndexView.vue:212 -#: src/views/home/IndexView.vue:228 -#: src/views/home/IndexView.vue:1012 +#: src/views/file/PermissionModal.vue:139 src/views/home/IndexView.vue:212 +#: src/views/home/IndexView.vue:228 src/views/home/IndexView.vue:1012 #: src/views/monitor/SystemView.vue:627 msgid "Read" msgstr "讀取" #: src/views/file/PermissionModal.vue:122 #: src/views/file/PermissionModal.vue:131 -#: src/views/file/PermissionModal.vue:140 -#: src/views/home/IndexView.vue:212 -#: src/views/home/IndexView.vue:252 -#: src/views/home/IndexView.vue:1013 +#: src/views/file/PermissionModal.vue:140 src/views/home/IndexView.vue:212 +#: src/views/home/IndexView.vue:252 src/views/home/IndexView.vue:1013 #: src/views/monitor/SystemView.vue:636 msgid "Write" msgstr "寫入" @@ -7481,8 +7133,7 @@ msgstr "30 天" msgid "Share link created successfully" msgstr "分享連結建立成功" -#: src/views/file/ShareModal.vue:55 -#: src/views/file/ShareModal.vue:64 +#: src/views/file/ShareModal.vue:55 src/views/file/ShareModal.vue:64 msgid "Link copied to clipboard" msgstr "連結已複製到剪貼簿" @@ -7526,12 +7177,9 @@ msgstr "有效期限" msgid "Download Limit" msgstr "下載次數限制" -#: src/views/file/ShareModal.vue:162 -#: src/views/website/EditModal.vue:1564 -#: src/views/website/EditModal.vue:1579 -#: src/views/website/EditModal.vue:2001 -#: src/views/website/EditModal.vue:2014 -#: src/views/website/EditModal.vue:2027 +#: src/views/file/ShareModal.vue:162 src/views/website/EditModal.vue:1564 +#: src/views/website/EditModal.vue:1579 src/views/website/EditModal.vue:2001 +#: src/views/website/EditModal.vue:2014 src/views/website/EditModal.vue:2027 msgid "Unlimited" msgstr "無限制" @@ -7540,7 +7188,8 @@ msgid "Create Share Link" msgstr "建立分享連結" #: src/views/file/ToolBar.vue:57 -msgid "Download task created successfully, please check the task list for progress" +msgid "" +"Download task created successfully, please check the task list for progress" msgstr "下載任務建立成功,請在任務清單中檢視進度" #: src/views/file/ToolBar.vue:67 @@ -7555,8 +7204,7 @@ msgstr "請選擇要移動的檔案/資料夾" msgid "Sort" msgstr "排序" -#: src/views/file/ToolBar.vue:155 -#: src/views/file/ToolBar.vue:209 +#: src/views/file/ToolBar.vue:155 src/views/file/ToolBar.vue:209 msgid "Remote Download" msgstr "遠程下載" @@ -7592,19 +7240,18 @@ msgstr "無效的新名稱「%{name}」" msgid "Duplicate new name \"%{name}\"" msgstr "重複的新名稱「%{name}」" -#: src/views/file/UploadModal.vue:471 -#: src/views/file/UploadModal.vue:591 +#: src/views/file/UploadModal.vue:471 src/views/file/UploadModal.vue:591 msgid "Upload %{ fileName } successful" msgstr "上傳 %{ fileName } 成功" -#: src/views/file/UploadModal.vue:499 -#: src/views/file/UploadModal.vue:634 +#: src/views/file/UploadModal.vue:499 src/views/file/UploadModal.vue:634 msgid "Confirm Upload" msgstr "確認上傳" -#: src/views/file/UploadModal.vue:500 -#: src/views/file/UploadModal.vue:635 -msgid "You are about to upload %{count} files. This may take a while. Do you want to continue?" +#: src/views/file/UploadModal.vue:500 src/views/file/UploadModal.vue:635 +msgid "" +"You are about to upload %{count} files. This may take a while. Do you want " +"to continue?" msgstr "您即將上傳 %{count} 個檔案。這可能需要一些時間。是否繼續?" #: src/views/file/UploadModal.vue:683 @@ -7616,7 +7263,8 @@ msgid "Preparing..." msgstr "準備中……" #: src/views/file/UploadModal.vue:713 -msgid "For large files, it is recommended to use SFTP and other methods to upload" +msgid "" +"For large files, it is recommended to use SFTP and other methods to upload" msgstr "對於大檔案,建議使用 SFTP 等方法上傳" #: src/views/file/UploadModal.vue:725 @@ -7624,15 +7272,16 @@ msgid "Files already exist" msgstr "檔案已存在" #: src/views/file/UploadModal.vue:736 -msgid "The following files already exist in the target directory. Choose an action for each." +msgid "" +"The following files already exist in the target directory. Choose an action " +"for each." msgstr "目標目錄中已經存在以下檔案。請為每個檔案選擇一個動作。" #: src/views/file/UploadModal.vue:742 msgid "Apply to all:" msgstr "應用於所有:" -#: src/views/file/UploadModal.vue:744 -#: src/views/file/UploadModal.vue:775 +#: src/views/file/UploadModal.vue:744 src/views/file/UploadModal.vue:775 msgid "Skip" msgstr "跳過" @@ -7647,10 +7296,8 @@ msgstr "建立轉發" #: src/views/firewall/CreateForwardModal.vue:64 #: src/views/firewall/CreateIpModal.vue:104 -#: src/views/firewall/CreateModal.vue:144 -#: src/views/firewall/ForwardView.vue:16 -#: src/views/firewall/IpRuleView.vue:16 -#: src/views/firewall/RuleView.vue:56 +#: src/views/firewall/CreateModal.vue:144 src/views/firewall/ForwardView.vue:16 +#: src/views/firewall/IpRuleView.vue:16 src/views/firewall/RuleView.vue:56 msgid "Transport Protocol" msgstr "傳輸協議" @@ -7669,29 +7316,25 @@ msgid "Target Port" msgstr "目標連接埠" #: src/views/firewall/CreateIpModal.vue:39 -#: src/views/firewall/CreateModal.vue:42 -#: src/views/firewall/IpRuleView.vue:70 +#: src/views/firewall/CreateModal.vue:42 src/views/firewall/IpRuleView.vue:70 #: src/views/firewall/RuleView.vue:15 msgid "Accept" msgstr "接受" #: src/views/firewall/CreateIpModal.vue:43 -#: src/views/firewall/CreateModal.vue:46 -#: src/views/firewall/IpRuleView.vue:72 +#: src/views/firewall/CreateModal.vue:46 src/views/firewall/IpRuleView.vue:72 #: src/views/firewall/RuleView.vue:16 msgid "Drop" msgstr "丟棄" #: src/views/firewall/CreateIpModal.vue:47 -#: src/views/firewall/CreateModal.vue:50 -#: src/views/firewall/IpRuleView.vue:74 +#: src/views/firewall/CreateModal.vue:50 src/views/firewall/IpRuleView.vue:74 #: src/views/firewall/RuleView.vue:17 msgid "Reject" msgstr "拒絕" #: src/views/firewall/CreateIpModal.vue:54 -#: src/views/firewall/CreateModal.vue:57 -#: src/views/firewall/IpRuleView.vue:99 +#: src/views/firewall/CreateModal.vue:57 src/views/firewall/IpRuleView.vue:99 #: src/views/firewall/RuleView.vue:236 #: src/views/website/stats/OverviewTab.vue:390 #: src/views/website/stats/OverviewTab.vue:424 @@ -7701,8 +7344,7 @@ msgid "Inbound" msgstr "入站" #: src/views/firewall/CreateIpModal.vue:58 -#: src/views/firewall/CreateModal.vue:61 -#: src/views/firewall/IpRuleView.vue:101 +#: src/views/firewall/CreateModal.vue:61 src/views/firewall/IpRuleView.vue:101 #: src/views/firewall/RuleView.vue:238 #: src/views/website/stats/OverviewTab.vue:388 #: src/views/website/stats/OverviewTab.vue:389 @@ -7718,15 +7360,13 @@ msgid "%{ address } created successfully" msgstr "%{ address } 建立成功" #: src/views/firewall/CreateIpModal.vue:96 -#: src/views/firewall/CreateModal.vue:136 -#: src/views/firewall/IpRuleView.vue:195 +#: src/views/firewall/CreateModal.vue:136 src/views/firewall/IpRuleView.vue:195 #: src/views/firewall/RuleView.vue:352 msgid "Create Rule" msgstr "建立規則" #: src/views/firewall/CreateIpModal.vue:107 -#: src/views/firewall/CreateModal.vue:147 -#: src/views/firewall/IpRuleView.vue:33 +#: src/views/firewall/CreateModal.vue:147 src/views/firewall/IpRuleView.vue:33 #: src/views/firewall/RuleView.vue:73 msgid "Network Protocol" msgstr "網路協議" @@ -7741,15 +7381,13 @@ msgid "IP or IP range: 172.16.0.1 or 172.16.0.0/16" msgstr "IP 或 IP 範圍:172.16.0.1 或 172.16.0.0/16" #: src/views/firewall/CreateIpModal.vue:117 -#: src/views/firewall/CreateModal.vue:197 -#: src/views/firewall/IpRuleView.vue:50 +#: src/views/firewall/CreateModal.vue:197 src/views/firewall/IpRuleView.vue:50 #: src/views/firewall/RuleView.vue:178 msgid "Strategy" msgstr "策略" #: src/views/firewall/CreateIpModal.vue:120 -#: src/views/firewall/CreateModal.vue:200 -#: src/views/firewall/IpRuleView.vue:86 +#: src/views/firewall/CreateModal.vue:200 src/views/firewall/IpRuleView.vue:86 #: src/views/firewall/RuleView.vue:223 msgid "Direction" msgstr "方向" @@ -7774,23 +7412,18 @@ msgstr "起始連接埠" msgid "End Port" msgstr "結束連接埠" -#: src/views/firewall/CreateModal.vue:190 -#: src/views/firewall/IpRuleView.vue:111 -#: src/views/firewall/RuleView.vue:248 -#: src/views/monitor/AlertRuleModal.vue:148 -#: src/views/toolbox/MigrationView.vue:159 -#: src/views/website/EditModal.vue:1869 +#: src/views/firewall/CreateModal.vue:190 src/views/firewall/IpRuleView.vue:111 +#: src/views/firewall/RuleView.vue:248 src/views/monitor/AlertRuleModal.vue:148 +#: src/views/toolbox/MigrationView.vue:159 src/views/website/EditModal.vue:1869 msgid "Target" msgstr "目標" -#: src/views/firewall/ForwardView.vue:125 -#: src/views/firewall/IpRuleView.vue:167 +#: src/views/firewall/ForwardView.vue:125 src/views/firewall/IpRuleView.vue:167 #: src/views/firewall/RuleView.vue:328 msgid "Please select rules to delete" msgstr "請選擇要刪除的規則" -#: src/views/firewall/ForwardView.vue:157 -#: src/views/firewall/IpRuleView.vue:199 +#: src/views/firewall/ForwardView.vue:157 src/views/firewall/IpRuleView.vue:199 #: src/views/firewall/RuleView.vue:356 msgid "Are you sure you want to delete the selected rules?" msgstr "您確定要刪除所選規則嗎?" @@ -7807,8 +7440,7 @@ msgstr "IP 規則" msgid "Port Forwarding" msgstr "連接埠轉發" -#: src/views/firewall/IndexView.vue:26 -#: src/views/firewall/SettingView.vue:96 +#: src/views/firewall/IndexView.vue:26 src/views/firewall/SettingView.vue:96 msgid "Scan Awareness" msgstr "掃描感知" @@ -7816,8 +7448,7 @@ msgstr "掃描感知" msgid "Tamper Protection" msgstr "防竄改" -#: src/views/firewall/IpRuleView.vue:76 -#: src/views/firewall/RuleView.vue:213 +#: src/views/firewall/IpRuleView.vue:76 src/views/firewall/RuleView.vue:213 msgid "Mark" msgstr "標記" @@ -7825,8 +7456,7 @@ msgstr "標記" msgid "Not Used" msgstr "未使用" -#: src/views/firewall/RuleView.vue:129 -#: src/views/toolbox/PanelView.vue:154 +#: src/views/firewall/RuleView.vue:129 src/views/toolbox/PanelView.vue:154 msgid "In Use" msgstr "使用中" @@ -7846,19 +7476,14 @@ msgstr "匯出" msgid "Import" msgstr "匯入" -#: src/views/firewall/ScanView.vue:193 -#: src/views/firewall/ScanView.vue:211 -#: src/views/firewall/ScanView.vue:223 -#: src/views/firewall/ScanView.vue:288 -#: src/views/firewall/ScanView.vue:302 -#: src/views/firewall/ScanView.vue:318 +#: src/views/firewall/ScanView.vue:193 src/views/firewall/ScanView.vue:211 +#: src/views/firewall/ScanView.vue:223 src/views/firewall/ScanView.vue:288 +#: src/views/firewall/ScanView.vue:302 src/views/firewall/ScanView.vue:318 msgid "Scan Count" msgstr "掃描次數" -#: src/views/firewall/ScanView.vue:193 -#: src/views/firewall/ScanView.vue:216 -#: src/views/firewall/ScanView.vue:229 -#: src/views/firewall/ScanView.vue:440 +#: src/views/firewall/ScanView.vue:193 src/views/firewall/ScanView.vue:216 +#: src/views/firewall/ScanView.vue:229 src/views/firewall/ScanView.vue:440 msgid "Source IPs" msgstr "來源 IP 數" @@ -7881,16 +7506,13 @@ msgctxt "firewall" msgid "Block" msgstr "阻止" -#: src/views/firewall/ScanView.vue:279 -#: src/views/firewall/ScanView.vue:307 +#: src/views/firewall/ScanView.vue:279 src/views/firewall/ScanView.vue:307 #: src/views/log/SSHLog.vue:78 msgid "Source IP" msgstr "來源 IP" -#: src/views/firewall/ScanView.vue:281 -#: src/views/firewall/ScanView.vue:309 -#: src/views/firewall/ScanView.vue:390 -#: src/views/website/stats/IPsTab.vue:122 +#: src/views/firewall/ScanView.vue:281 src/views/firewall/ScanView.vue:309 +#: src/views/firewall/ScanView.vue:390 src/views/website/stats/IPsTab.vue:122 msgid "Location" msgstr "位置" @@ -7898,8 +7520,7 @@ msgstr "位置" msgid "Port Count" msgstr "連接埠數" -#: src/views/firewall/ScanView.vue:291 -#: src/views/firewall/ScanView.vue:326 +#: src/views/firewall/ScanView.vue:291 src/views/firewall/ScanView.vue:326 msgid "Last Seen" msgstr "最後記錄" @@ -7916,11 +7537,11 @@ msgid "Scan Awareness Disabled" msgstr "掃描感知已禁用" #: src/views/firewall/ScanView.vue:348 -msgid "Enable scan awareness in the Settings tab to start detecting port scans." +msgid "" +"Enable scan awareness in the Settings tab to start detecting port scans." msgstr "在設定分頁中啟用掃描感知以開始偵測連接埠掃描。" -#: src/views/firewall/ScanView.vue:356 -#: src/views/website/StatsView.vue:194 +#: src/views/firewall/ScanView.vue:356 src/views/website/StatsView.vue:194 msgid "Overview" msgstr "概覽" @@ -7936,8 +7557,7 @@ msgstr "搜尋 IP" msgid "Are you sure you want to clear all scan data?" msgstr "您確定要清除所有掃描資料嗎?" -#: src/views/firewall/ScanView.vue:403 -#: src/views/website/StatsView.vue:185 +#: src/views/firewall/ScanView.vue:403 src/views/website/StatsView.vue:185 msgid "Clear Data" msgstr "清除資料" @@ -7962,11 +7582,14 @@ msgid "Top 10 Scanned Ports" msgstr "掃描連接埠前 10" #: src/views/firewall/ScanView.vue:489 -msgid "Scan awareness runs before the system firewall, so it is normal for blocked IPs to continue generating scan records." -msgstr "掃描感知執行在系統防火牆之前,因此被拉黑的 IP 仍繼續產生掃描記錄屬於正常現象。" +msgid "" +"Scan awareness runs before the system firewall, so it is normal for blocked " +"IPs to continue generating scan records." +msgstr "" +"掃描感知執行在系統防火牆之前,因此被拉黑的 IP 仍繼續產生掃描記錄屬於正常現" +"象。" -#: src/views/firewall/SettingView.vue:22 -#: src/views/firewall/SettingView.vue:28 +#: src/views/firewall/SettingView.vue:22 src/views/firewall/SettingView.vue:28 #: src/views/firewall/SettingView.vue:79 msgid "Settings saved successfully" msgstr "設定儲存成功" @@ -8027,22 +7650,17 @@ msgstr "執行正常" msgid "Running smoothly" msgstr "執行流暢" -#: src/views/home/IndexView.vue:188 -#: src/views/home/IndexView.vue:968 -#: src/views/home/IndexView.vue:988 -#: src/views/toolbox/BenchmarkView.vue:204 -#: src/views/toolbox/DiskView.vue:758 -#: src/views/toolbox/IndexView.vue:31 +#: src/views/home/IndexView.vue:188 src/views/home/IndexView.vue:968 +#: src/views/home/IndexView.vue:988 src/views/toolbox/BenchmarkView.vue:204 +#: src/views/toolbox/DiskView.vue:758 src/views/toolbox/IndexView.vue:31 msgid "Disk" msgstr "磁碟" -#: src/views/home/IndexView.vue:211 -#: src/views/home/IndexView.vue:228 +#: src/views/home/IndexView.vue:211 src/views/home/IndexView.vue:228 msgid "Send" msgstr "發送" -#: src/views/home/IndexView.vue:211 -#: src/views/home/IndexView.vue:252 +#: src/views/home/IndexView.vue:211 src/views/home/IndexView.vue:252 msgid "Receive" msgstr "接收" @@ -8050,26 +7668,20 @@ msgstr "接收" msgid "Unit %{unit}" msgstr "單位 %{unit}" -#: src/views/home/IndexView.vue:234 -#: src/views/home/IndexView.vue:258 -#: src/views/monitor/SystemView.vue:421 -#: src/views/monitor/SystemView.vue:490 +#: src/views/home/IndexView.vue:234 src/views/home/IndexView.vue:258 +#: src/views/monitor/SystemView.vue:421 src/views/monitor/SystemView.vue:490 #: src/views/monitor/SystemView.vue:552 msgid "Maximum" msgstr "最大值" -#: src/views/home/IndexView.vue:235 -#: src/views/home/IndexView.vue:259 -#: src/views/monitor/SystemView.vue:422 -#: src/views/monitor/SystemView.vue:491 +#: src/views/home/IndexView.vue:235 src/views/home/IndexView.vue:259 +#: src/views/monitor/SystemView.vue:422 src/views/monitor/SystemView.vue:491 #: src/views/monitor/SystemView.vue:553 msgid "Minimum" msgstr "最小值" -#: src/views/home/IndexView.vue:239 -#: src/views/home/IndexView.vue:263 -#: src/views/monitor/SystemView.vue:426 -#: src/views/monitor/SystemView.vue:495 +#: src/views/home/IndexView.vue:239 src/views/home/IndexView.vue:263 +#: src/views/monitor/SystemView.vue:426 src/views/monitor/SystemView.vue:495 #: src/views/monitor/SystemView.vue:557 msgid "Average" msgstr "平均值" @@ -8090,8 +7702,7 @@ msgstr "伺服器重新啟動中……" msgid "Restart Panel" msgstr "重新啟動面板" -#: src/views/home/IndexView.vue:394 -#: src/views/home/IndexView.vue:1037 +#: src/views/home/IndexView.vue:394 src/views/home/IndexView.vue:1037 msgid "Restart Server" msgstr "重啟伺服器" @@ -8100,15 +7711,24 @@ msgid "Current version is the latest" msgstr "當前版本是最新版本" #: src/views/home/IndexView.vue:513 -msgid "Your operating system %{ os_name } has reached its end-of-life. Please consider upgrading to a supported version to ensure optimal performance and security." -msgstr "您的作業系統 %{ os_name } 已終止支援。請考慮升級到受支援的版本,以確保最佳的效能與安全性。" +msgid "" +"Your operating system %{ os_name } has reached its end-of-life. Please " +"consider upgrading to a supported version to ensure optimal performance and " +"security." +msgstr "" +"您的作業系統 %{ os_name } 已終止支援。請考慮升級到受支援的版本,以確保最佳的" +"效能與安全性。" #: src/views/home/IndexView.vue:524 -msgid "Your operating system %{ os_name } is not officially supported. Some features may not work as expected. Please consider using a supported operating system for the best experience." -msgstr "您的作業系統 %{ os_name } 不受官方支援。某些功能可能無法如預期運作。請考慮使用受支援的作業系統以獲得最佳體驗。" +msgid "" +"Your operating system %{ os_name } is not officially supported. Some " +"features may not work as expected. Please consider using a supported " +"operating system for the best experience." +msgstr "" +"您的作業系統 %{ os_name } 不受官方支援。某些功能可能無法如預期運作。請考慮使" +"用受支援的作業系統以獲得最佳體驗。" -#: src/views/home/IndexView.vue:555 -#: src/views/task/IndexView.vue:25 +#: src/views/home/IndexView.vue:555 src/views/task/IndexView.vue:25 msgid "Scheduled Tasks" msgstr "計劃任務" @@ -8136,8 +7756,7 @@ msgstr "最近 15 分鐘" msgid "cores" msgstr "核心" -#: src/views/home/IndexView.vue:629 -#: src/views/toolbox/disk/RaidView.vue:111 +#: src/views/home/IndexView.vue:629 src/views/toolbox/disk/RaidView.vue:111 #: src/views/toolbox/disk/RaidView.vue:142 #: src/views/toolbox/disk/SmartView.vue:104 msgid "Model" @@ -8171,8 +7790,7 @@ msgstr "已用物理記憶體" msgid "Physical Memory Available" msgstr "可用實體記憶體" -#: src/views/home/IndexView.vue:721 -#: src/views/toolbox/DiskView.vue:218 +#: src/views/home/IndexView.vue:721 src/views/toolbox/DiskView.vue:218 msgid "Free" msgstr "空閒" @@ -8180,8 +7798,7 @@ msgstr "空閒" msgid "Active" msgstr "活躍" -#: src/views/home/IndexView.vue:727 -#: src/views/project/ListView.vue:76 +#: src/views/home/IndexView.vue:727 src/views/project/ListView.vue:76 msgid "Inactive" msgstr "非活躍" @@ -8241,8 +7858,7 @@ msgstr "您尚未設定任何要在此處顯示的應用!" msgid "Environment Information" msgstr "環境資訊" -#: src/views/home/IndexView.vue:901 -#: src/views/toolbox/SystemView.vue:178 +#: src/views/home/IndexView.vue:901 src/views/toolbox/SystemView.vue:178 msgid "System Hostname" msgstr "系統主機名" @@ -8303,87 +7919,81 @@ msgid "Read/Write Latency" msgstr "讀/寫延遲" #: src/views/home/IndexView.vue:1039 -msgid "Are you sure you want to restart the server? This will disconnect all connections." +msgid "" +"Are you sure you want to restart the server? This will disconnect all " +"connections." msgstr "您確定要重新啟動伺服器嗎?這將斷開所有連接。" -#: src/views/home/UpdateView.vue:102 +#: src/views/home/UpdateView.vue:117 msgid "Update Panel" msgstr "更新面板" -#: src/views/home/UpdateView.vue:103 +#: src/views/home/UpdateView.vue:118 msgid "Are you sure you want to update the panel?" msgstr "您確定要更新面板嗎?" -#: src/views/home/UpdateView.vue:125 +#: src/views/home/UpdateView.vue:140 msgid "Update failed" msgstr "更新失敗" -#: src/views/home/UpdateView.vue:126 +#: src/views/home/UpdateView.vue:141 msgid "Update timed out" msgstr "更新超時" -#: src/views/home/UpdateView.vue:128 +#: src/views/home/UpdateView.vue:143 msgid "Updating to v%{ v }..." msgstr "正在更新到 v%{ v }……" -#: src/views/home/UpdateView.vue:143 +#: src/views/home/UpdateView.vue:158 msgid "Panel is restarting, please wait..." msgstr "正在重新啟動面板,請稍候……" -#: src/views/home/UpdateView.vue:149 -msgid "Update may have failed, please check the panel logs and refresh manually." +#: src/views/home/UpdateView.vue:164 +msgid "" +"Update may have failed, please check the panel logs and refresh manually." msgstr "更新可能失敗,請檢查面板日誌並手動重新整理。" -#: src/views/home/UpdateView.vue:155 +#: src/views/home/UpdateView.vue:170 msgid "Error" msgstr "錯誤" -#: src/views/home/UpdateView.vue:176 +#: src/views/home/UpdateView.vue:191 msgid "A new version is available" msgstr "有新版本可用" -#: src/views/home/UpdateView.vue:179 +#: src/views/home/UpdateView.vue:194 msgid "Current" msgstr "當前" -#: src/views/home/UpdateView.vue:186 -#: src/views/home/UpdateView.vue:208 +#: src/views/home/UpdateView.vue:201 src/views/home/UpdateView.vue:223 msgid "Latest" msgstr "最新" -#: src/views/home/UpdateView.vue:196 +#: src/views/home/UpdateView.vue:211 msgid "Update Now" msgstr "立即更新" -#: src/views/home/UpdateView.vue:202 +#: src/views/home/UpdateView.vue:217 msgid "Changelog" msgstr "變更日誌" -#: src/views/log/DatabaseLog.vue:30 -#: src/views/log/HttpLog.vue:30 -#: src/views/log/OperationLog.vue:33 -#: src/views/monitor/SystemView.vue:697 -#: src/views/monitor/SystemView.vue:751 -#: src/views/monitor/SystemView.vue:803 -#: src/views/monitor/SystemView.vue:859 -#: src/views/monitor/SystemView.vue:926 +#: src/views/log/DatabaseLog.vue:30 src/views/log/HttpLog.vue:30 +#: src/views/log/OperationLog.vue:33 src/views/monitor/SystemView.vue:697 +#: src/views/monitor/SystemView.vue:751 src/views/monitor/SystemView.vue:803 +#: src/views/monitor/SystemView.vue:859 src/views/monitor/SystemView.vue:926 #: src/views/website/StatsView.vue:138 msgid "Today" msgstr "今天" -#: src/views/log/DatabaseLog.vue:48 -#: src/views/log/HttpLog.vue:56 -#: src/views/log/OperationLog.vue:51 -#: src/views/log/SSHLog.vue:58 -#: src/views/monitor/AlertView.vue:145 -#: src/views/tamper/TamperView.vue:191 +#: src/views/log/DatabaseLog.vue:48 src/views/log/HttpLog.vue:56 +#: src/views/log/OperationLog.vue:51 src/views/log/SSHLog.vue:58 +#: src/views/monitor/AlertView.vue:145 src/views/tamper/TamperView.vue:191 #: src/views/toolbox/SystemView.vue:197 #: src/views/website/stats/ErrorsTab.vue:87 msgid "Time" msgstr "時間" -#: src/views/log/DatabaseLog.vue:57 -#: src/views/log/OperationLog.vue:60 +#: src/views/log/DatabaseLog.vue:57 src/views/log/OperationLog.vue:60 msgid "Level" msgstr "級別" @@ -8391,8 +8001,7 @@ msgstr "級別" msgid "Query" msgstr "查詢" -#: src/views/log/DatabaseLog.vue:81 -#: src/views/log/HttpLog.vue:107 +#: src/views/log/DatabaseLog.vue:81 src/views/log/HttpLog.vue:107 #: src/views/toolbox/MigrationView.vue:222 msgid "Duration" msgstr "持續時間" @@ -8401,21 +8010,17 @@ msgstr "持續時間" msgid "Rows" msgstr "行" -#: src/views/log/DatabaseLog.vue:112 -#: src/views/log/HttpLog.vue:141 +#: src/views/log/DatabaseLog.vue:112 src/views/log/HttpLog.vue:141 #: src/views/log/OperationLog.vue:164 msgid "Date" msgstr "日期" -#: src/views/log/DatabaseLog.vue:119 -#: src/views/log/HttpLog.vue:148 -#: src/views/log/OperationLog.vue:171 -#: src/views/log/SSHLog.vue:102 +#: src/views/log/DatabaseLog.vue:119 src/views/log/HttpLog.vue:148 +#: src/views/log/OperationLog.vue:171 src/views/log/SSHLog.vue:102 msgid "Show entries" msgstr "顯示條目" -#: src/views/log/HttpLog.vue:65 -#: src/views/website/stats/ErrorsTab.vue:94 +#: src/views/log/HttpLog.vue:65 src/views/website/stats/ErrorsTab.vue:94 msgid "Method" msgstr "方法" @@ -8443,10 +8048,8 @@ msgstr "SSH 日誌" msgid "Operator" msgstr "操作員" -#: src/views/log/OperationLog.vue:87 -#: src/views/monitor/IndexView.vue:20 -#: src/views/toolbox/IndexView.vue:29 -#: src/views/toolbox/PanelView.vue:129 +#: src/views/log/OperationLog.vue:87 src/views/monitor/IndexView.vue:20 +#: src/views/toolbox/IndexView.vue:29 src/views/toolbox/PanelView.vue:129 #: src/views/toolbox/PanelView.vue:148 msgid "System" msgstr "系統" @@ -8467,10 +8070,8 @@ msgstr "%{count} 個欄位" msgid "Accepted" msgstr "已接受" -#: src/views/log/SSHLog.vue:46 -#: src/views/project/ListView.vue:74 -#: src/views/task/TaskView.vue:44 -#: src/views/toolbox/MigrationView.vue:86 +#: src/views/log/SSHLog.vue:46 src/views/project/ListView.vue:74 +#: src/views/task/TaskView.vue:44 src/views/toolbox/MigrationView.vue:86 msgid "Failed" msgstr "失敗" @@ -8499,7 +8100,8 @@ msgid "Please enter captcha code" msgstr "請輸入驗證碼" #: src/views/login/IndexView.vue:153 -msgid "Failed to get encryption public key, please refresh the page and try again" +msgid "" +"Failed to get encryption public key, please refresh the page and try again" msgstr "取得加密公鑰失敗,請重新整理頁面後重試" #: src/views/login/IndexView.vue:238 @@ -8534,8 +8136,7 @@ msgstr "使用通行金鑰登入" msgid "Please enter the target" msgstr "請輸入目標" -#: src/views/monitor/AlertRuleModal.vue:129 -#: src/views/tamper/RuleModal.vue:89 +#: src/views/monitor/AlertRuleModal.vue:129 src/views/tamper/RuleModal.vue:89 msgid "Edit Rule" msgstr "編輯規則" @@ -8543,19 +8144,16 @@ msgstr "編輯規則" msgid "Rule name" msgstr "規則名稱" -#: src/views/monitor/AlertRuleModal.vue:139 -#: src/views/monitor/AlertView.vue:55 +#: src/views/monitor/AlertRuleModal.vue:139 src/views/monitor/AlertView.vue:55 #: src/views/monitor/AlertView.vue:152 msgid "Metric" msgstr "指標" -#: src/views/monitor/AlertRuleModal.vue:153 -#: src/views/monitor/AlertView.vue:64 +#: src/views/monitor/AlertRuleModal.vue:153 src/views/monitor/AlertView.vue:64 msgid "Condition" msgstr "條件" -#: src/views/monitor/AlertRuleModal.vue:161 -#: src/views/monitor/AlertView.vue:70 +#: src/views/monitor/AlertRuleModal.vue:161 src/views/monitor/AlertView.vue:70 msgid "Trigger After" msgstr "連續滿足" @@ -8563,22 +8161,17 @@ msgstr "連續滿足" msgid "consecutive checks" msgstr "次檢查後觸發" -#: src/views/monitor/AlertRuleModal.vue:166 -#: src/views/monitor/AlertView.vue:76 +#: src/views/monitor/AlertRuleModal.vue:166 src/views/monitor/AlertView.vue:76 msgid "Silence Period" msgstr "靜默期" -#: src/views/monitor/AlertRuleModal.vue:168 -#: src/views/monitor/AlertView.vue:79 -#: src/views/monitor/SettingView.vue:210 -#: src/views/setting/SettingSafe.vue:45 +#: src/views/monitor/AlertRuleModal.vue:168 src/views/monitor/AlertView.vue:79 +#: src/views/monitor/SettingView.vue:210 src/views/setting/SettingSafe.vue:45 msgid "minutes" msgstr "分鐘" -#: src/views/monitor/AlertRuleModal.vue:171 -#: src/views/monitor/AlertView.vue:82 -#: src/views/monitor/SettingView.vue:236 -#: src/views/monitor/SettingView.vue:276 +#: src/views/monitor/AlertRuleModal.vue:171 src/views/monitor/AlertView.vue:82 +#: src/views/monitor/SettingView.vue:236 src/views/monitor/SettingView.vue:276 msgid "Notify Channels" msgstr "通知渠道" @@ -8586,24 +8179,24 @@ msgstr "通知渠道" msgid "Record only when empty" msgstr "留空則僅記錄不通知" -#: src/views/monitor/AlertRuleModal.vue:180 -#: src/views/monitor/AlertView.vue:98 -#: src/views/monitor/ChannelModal.vue:142 -#: src/views/monitor/SettingView.vue:121 -#: src/views/tamper/RuleModal.vue:121 -#: src/views/tamper/TamperView.vue:136 -#: src/views/task/CronView.vue:76 -#: src/views/toolbox/WebHookView.vue:91 +#: src/views/monitor/AlertRuleModal.vue:180 src/views/monitor/AlertView.vue:98 +#: src/views/monitor/ChannelModal.vue:142 src/views/monitor/SettingView.vue:121 +#: src/views/tamper/RuleModal.vue:121 src/views/tamper/TamperView.vue:136 +#: src/views/task/CronView.vue:76 src/views/toolbox/WebHookView.vue:91 #: src/views/toolbox/WebHookView.vue:386 msgid "Enabled" msgstr "已啟用" #: src/views/monitor/AlertRuleModal.vue:186 -msgid "Metrics are checked every minute. The alert fires only after the condition holds for the configured consecutive checks, and is not repeated within the silence period." -msgstr "指標每分鐘檢查一次。條件連續滿足設定的次數後才會觸發警示,靜默期內不重複通知。" +msgid "" +"Metrics are checked every minute. The alert fires only after the condition " +"holds for the configured consecutive checks, and is not repeated within the " +"silence period." +msgstr "" +"指標每分鐘檢查一次。條件連續滿足設定的次數後才會觸發警示,靜默期內不重複通" +"知。" -#: src/views/monitor/AlertView.vue:73 -#: src/views/monitor/metrics.ts:92 +#: src/views/monitor/AlertView.vue:73 src/views/monitor/metrics.ts:92 msgid "times" msgstr "次" @@ -8611,32 +8204,25 @@ msgstr "次" msgid "Record only" msgstr "僅記錄" -#: src/views/monitor/AlertView.vue:98 -#: src/views/monitor/SettingView.vue:121 -#: src/views/project/EditModal.vue:72 -#: src/views/setting/SettingBase.vue:187 -#: src/views/setting/SettingSafe.vue:246 -#: src/views/tamper/TamperView.vue:136 +#: src/views/monitor/AlertView.vue:98 src/views/monitor/SettingView.vue:121 +#: src/views/project/EditModal.vue:72 src/views/setting/SettingBase.vue:187 +#: src/views/setting/SettingSafe.vue:246 src/views/tamper/TamperView.vue:136 #: src/views/toolbox/network/InterfaceView.vue:67 -#: src/views/website/EditModal.vue:850 -#: src/views/website/EditModal.vue:854 +#: src/views/website/EditModal.vue:850 src/views/website/EditModal.vue:854 #: src/views/website/EditModal.vue:1069 msgid "Disabled" msgstr "禁用" -#: src/views/monitor/AlertView.vue:120 -#: src/views/tamper/TamperView.vue:158 +#: src/views/monitor/AlertView.vue:120 src/views/tamper/TamperView.vue:158 msgid "Are you sure to delete this rule?" msgstr "確定要刪除此規則嗎?" -#: src/views/monitor/AlertView.vue:150 -#: src/views/website/EditModal.vue:1151 +#: src/views/monitor/AlertView.vue:150 src/views/website/EditModal.vue:1151 #: src/views/website/EditModal.vue:1831 msgid "Rule" msgstr "規則" -#: src/views/monitor/AlertView.vue:160 -#: src/views/toolbox/MigrationView.vue:228 +#: src/views/monitor/AlertView.vue:160 src/views/toolbox/MigrationView.vue:228 msgid "Detail" msgstr "詳情" @@ -8652,8 +8238,7 @@ msgstr "已發送" msgid "Not sent" msgstr "未發送" -#: src/views/monitor/AlertView.vue:175 -#: src/views/monitor/AlertView.vue:234 +#: src/views/monitor/AlertView.vue:175 src/views/monitor/AlertView.vue:234 msgid "Clear Records" msgstr "清除記錄" @@ -8666,15 +8251,16 @@ msgid "Alert Rules" msgstr "警示規則" #: src/views/monitor/AlertView.vue:193 -msgid "Rules are checked every minute and notifications are sent through the selected channels." +msgid "" +"Rules are checked every minute and notifications are sent through the " +"selected channels." msgstr "規則每分鐘檢查一次,命中後透過所選渠道發送通知。" #: src/views/monitor/AlertView.vue:227 msgid "Alert Records" msgstr "警示記錄" -#: src/views/monitor/ChannelModal.vue:17 -#: src/views/monitor/SettingView.vue:107 +#: src/views/monitor/ChannelModal.vue:17 src/views/monitor/SettingView.vue:107 msgid "SMTP Email" msgstr "SMTP 郵件" @@ -8694,8 +8280,7 @@ msgstr "不加密(25)" msgid "Edit Channel" msgstr "編輯渠道" -#: src/views/monitor/ChannelModal.vue:83 -#: src/views/monitor/SettingView.vue:242 +#: src/views/monitor/ChannelModal.vue:83 src/views/monitor/SettingView.vue:242 msgid "Add Channel" msgstr "新增渠道" @@ -8731,8 +8316,7 @@ msgstr "預設與登入帳號相同" msgid "Sender Name" msgstr "寄件者名稱" -#: src/views/monitor/ChannelModal.vue:136 -#: src/views/monitor/SettingView.vue:110 +#: src/views/monitor/ChannelModal.vue:136 src/views/monitor/SettingView.vue:110 msgid "Recipients" msgstr "收件者" @@ -8772,8 +8356,7 @@ msgstr "15 分鐘負載" msgid "Disk Usage" msgstr "磁碟使用率" -#: src/views/monitor/metrics.ts:52 -#: src/views/monitor/metrics.ts:59 +#: src/views/monitor/metrics.ts:52 src/views/monitor/metrics.ts:59 msgid "Mount point, e.g. /, empty for all" msgstr "掛載點,如 /,留空表示全部" @@ -8785,8 +8368,7 @@ msgstr "磁碟 Inode 使用率" msgid "Disk Read Speed" msgstr "磁碟讀取速率" -#: src/views/monitor/metrics.ts:66 -#: src/views/monitor/metrics.ts:73 +#: src/views/monitor/metrics.ts:66 src/views/monitor/metrics.ts:73 msgid "Device name, e.g. sda, empty for all" msgstr "裝置名稱,如 sda,留空表示全部" @@ -8798,8 +8380,7 @@ msgstr "磁碟寫入速率" msgid "Network Download Speed" msgstr "網路下行速率" -#: src/views/monitor/metrics.ts:80 -#: src/views/monitor/metrics.ts:87 +#: src/views/monitor/metrics.ts:80 src/views/monitor/metrics.ts:87 msgid "Interface name, e.g. eth0, empty for all" msgstr "網路卡名稱,如 eth0,留空表示全部" @@ -8811,8 +8392,7 @@ msgstr "網路上行速率" msgid "Website 5xx Responses (this hour)" msgstr "網站 5xx 回應數(本小時)" -#: src/views/monitor/metrics.ts:94 -#: src/views/monitor/metrics.ts:101 +#: src/views/monitor/metrics.ts:94 src/views/monitor/metrics.ts:101 #: src/views/monitor/metrics.ts:150 msgid "Website name, empty for all" msgstr "網站名稱,留空表示全部" @@ -8865,10 +8445,8 @@ msgstr "資料庫伺服器名稱,留空表示全部" msgid "Certificate Remaining Days" msgstr "證書剩餘天數" -#: src/views/monitor/metrics.ts:141 -#: src/views/monitor/metrics.ts:148 -#: src/views/monitor/SettingView.vue:205 -#: src/views/monitor/SettingView.vue:215 +#: src/views/monitor/metrics.ts:141 src/views/monitor/metrics.ts:148 +#: src/views/monitor/SettingView.vue:205 src/views/monitor/SettingView.vue:215 msgid "days" msgstr "天" @@ -8944,13 +8522,11 @@ msgstr "SSH 登入" msgid "SSH brute-force attempts" msgstr "SSH 暴力破解嘗試" -#: src/views/monitor/SettingView.vue:44 -#: src/views/monitor/SettingView.vue:229 +#: src/views/monitor/SettingView.vue:44 src/views/monitor/SettingView.vue:229 msgid "Clear Monitoring Records" msgstr "清除監控記錄" -#: src/views/monitor/SettingView.vue:45 -#: src/views/website/EditModal.vue:2219 +#: src/views/monitor/SettingView.vue:45 src/views/website/EditModal.vue:2219 msgid "Are you sure you want to clear?" msgstr "確定要清除嗎?" @@ -8994,10 +8570,8 @@ msgstr "事件" msgid "Select channels to receive event notifications" msgstr "選擇接收事件通知的渠道" -#: src/views/monitor/SystemView.vue:323 -#: src/views/monitor/SystemView.vue:335 -#: src/views/tamper/TamperView.vue:205 -#: src/views/toolbox/IndexView.vue:27 +#: src/views/monitor/SystemView.vue:323 src/views/monitor/SystemView.vue:335 +#: src/views/tamper/TamperView.vue:205 src/views/toolbox/IndexView.vue:27 #: src/views/toolbox/NetworkView.vue:78 msgid "Process" msgstr "處理程序" @@ -9026,8 +8600,7 @@ msgstr "15 分鐘" msgid "Usage %" msgstr "使用率 %" -#: src/views/monitor/SystemView.vue:481 -#: src/views/toolbox/DiskView.vue:259 +#: src/views/monitor/SystemView.vue:481 src/views/toolbox/DiskView.vue:259 msgid "Usage" msgstr "使用率" @@ -9039,22 +8612,17 @@ msgstr "單位 MB" msgid "Load" msgstr "負載" -#: src/views/monitor/SystemView.vue:691 -#: src/views/monitor/SystemView.vue:745 -#: src/views/monitor/SystemView.vue:797 -#: src/views/monitor/SystemView.vue:853 +#: src/views/monitor/SystemView.vue:691 src/views/monitor/SystemView.vue:745 +#: src/views/monitor/SystemView.vue:797 src/views/monitor/SystemView.vue:853 #: src/views/monitor/SystemView.vue:920 #: src/views/website/stats/OverviewTab.vue:259 #: src/views/website/StatsView.vue:144 msgid "Yesterday" msgstr "昨天" -#: src/views/monitor/SystemView.vue:703 -#: src/views/monitor/SystemView.vue:757 -#: src/views/monitor/SystemView.vue:809 -#: src/views/monitor/SystemView.vue:865 -#: src/views/monitor/SystemView.vue:932 -#: src/views/website/StatsView.vue:147 +#: src/views/monitor/SystemView.vue:703 src/views/monitor/SystemView.vue:757 +#: src/views/monitor/SystemView.vue:809 src/views/monitor/SystemView.vue:865 +#: src/views/monitor/SystemView.vue:932 src/views/website/StatsView.vue:147 msgid "Last 7 Days" msgstr "近 7 天" @@ -9114,28 +8682,26 @@ msgstr "建立 Python 專案" msgid "Create .NET Project" msgstr "建立 .NET 專案" -#: src/views/project/CreateModal.vue:407 -#: src/views/project/ListView.vue:295 +#: src/views/project/CreateModal.vue:407 src/views/project/ListView.vue:295 msgid "Create Project" msgstr "建立專案" -#: src/views/project/CreateModal.vue:423 -#: src/views/project/EditModal.vue:184 +#: src/views/project/CreateModal.vue:423 src/views/project/EditModal.vue:184 msgid "Project Name" msgstr "項目名" -#: src/views/project/CreateModal.vue:428 -#: src/views/project/EditModal.vue:189 +#: src/views/project/CreateModal.vue:428 src/views/project/EditModal.vue:189 msgid "Project name, used as service identifier" msgstr "項目名稱,用作服務標識符" -#: src/views/project/CreateModal.vue:432 -#: src/views/project/EditModal.vue:203 +#: src/views/project/CreateModal.vue:432 src/views/project/EditModal.vue:203 msgid "Project Directory" msgstr "項目目錄" #: src/views/project/CreateModal.vue:439 -msgid "Project root directory (if left empty, defaults to project directory/project name)" +msgid "" +"Project root directory (if left empty, defaults to project directory/project " +"name)" msgstr "專案根目錄(留空則預設為專案目錄/專案名稱)" #: src/views/project/CreateModal.vue:454 @@ -9166,18 +8732,14 @@ msgstr "Java 版本" msgid "Select Java Version" msgstr "選擇 Java 版本" -#: src/views/project/CreateModal.vue:506 -#: src/views/project/CreateModal.vue:532 -#: src/views/project/CreateModal.vue:558 -#: src/views/project/CreateModal.vue:584 +#: src/views/project/CreateModal.vue:506 src/views/project/CreateModal.vue:532 +#: src/views/project/CreateModal.vue:558 src/views/project/CreateModal.vue:584 #: src/views/project/CreateModal.vue:610 msgid "Framework" msgstr "框架" -#: src/views/project/CreateModal.vue:510 -#: src/views/project/CreateModal.vue:536 -#: src/views/project/CreateModal.vue:562 -#: src/views/project/CreateModal.vue:588 +#: src/views/project/CreateModal.vue:510 src/views/project/CreateModal.vue:536 +#: src/views/project/CreateModal.vue:562 src/views/project/CreateModal.vue:588 #: src/views/project/CreateModal.vue:614 msgid "Select Framework" msgstr "選擇框架" @@ -9190,17 +8752,13 @@ msgstr "Node.js 版本" msgid "Select Node.js Version" msgstr "選擇 Node.js 版本" -#: src/views/project/CreateModal.vue:548 -#: src/views/website/CreateModal.vue:236 -#: src/views/website/EditModal.vue:998 -#: src/views/website/EditModal.vue:1917 +#: src/views/project/CreateModal.vue:548 src/views/website/CreateModal.vue:236 +#: src/views/website/EditModal.vue:998 src/views/website/EditModal.vue:1917 msgid "PHP Version" msgstr "PHP 版本" -#: src/views/project/CreateModal.vue:552 -#: src/views/website/CreateModal.vue:240 -#: src/views/website/EditModal.vue:1003 -#: src/views/website/EditModal.vue:1921 +#: src/views/project/CreateModal.vue:552 src/views/website/CreateModal.vue:240 +#: src/views/website/EditModal.vue:1003 src/views/website/EditModal.vue:1921 msgid "Select PHP Version" msgstr "選擇 PHP 版本" @@ -9220,8 +8778,7 @@ msgstr ".NET 版本" msgid "Select .NET Version" msgstr "選擇 .NET 版本" -#: src/views/project/CreateModal.vue:630 -#: src/views/project/EditModal.vue:245 +#: src/views/project/CreateModal.vue:630 src/views/project/EditModal.vue:245 msgid "Select or enter user" msgstr "選擇或輸入使用者" @@ -9229,17 +8786,14 @@ msgstr "選擇或輸入使用者" msgid "Select www user if no special requirements" msgstr "如果沒有特殊要求,請選擇 www 使用者" -#: src/views/project/CreateModal.vue:646 -#: src/views/project/EditModal.vue:262 +#: src/views/project/CreateModal.vue:646 src/views/project/EditModal.vue:262 msgid "e.g., php artisan serve, node app.js" msgstr "例如,php artisan serve、node app.js" #: src/views/project/CreateModal.vue:649 #: src/views/website/BulkCreateModal.vue:59 -#: src/views/website/CreateModal.vue:28 -#: src/views/website/EditModal.vue:106 -#: src/views/website/IndexView.vue:26 -#: src/views/website/ListView.vue:126 +#: src/views/website/CreateModal.vue:28 src/views/website/EditModal.vue:106 +#: src/views/website/IndexView.vue:26 src/views/website/ListView.vue:126 msgid "Reverse Proxy" msgstr "反向代理" @@ -9380,8 +8934,12 @@ msgid "Dependencies" msgstr "依賴" #: src/views/project/EditModal.vue:411 -msgid "Configure service dependencies to control startup order. Common services: network.target, mysqld.service, postgresql.service, redis.service" -msgstr "配置服務依賴關係以控制啟動順序。常見服務:network.target、mysqld.service、postgresql.service、redis.service" +msgid "" +"Configure service dependencies to control startup order. Common services: " +"network.target, mysqld.service, postgresql.service, redis.service" +msgstr "" +"配置服務依賴關係以控制啟動順序。常見服務:network.target、mysqld.service、" +"postgresql.service、redis.service" #: src/views/project/EditModal.vue:417 msgid "Requires" @@ -9416,7 +8974,9 @@ msgid "Start this service before the specified services" msgstr "在指定的服務之前啟動此服務" #: src/views/project/EditModal.vue:462 -msgid "Set resource limits to prevent the service from consuming too many system resources" +msgid "" +"Set resource limits to prevent the service from consuming too many system " +"resources" msgstr "設定資源限制以防止服務消耗過多系統資源" #: src/views/project/EditModal.vue:470 @@ -9448,7 +9008,9 @@ msgid "Security Settings" msgstr "安全設定" #: src/views/project/EditModal.vue:509 -msgid "Security settings can enhance service isolation but may affect functionality. Please test thoroughly before enabling." +msgid "" +"Security settings can enhance service isolation but may affect " +"functionality. Please test thoroughly before enabling." msgstr "安全設定可以增強服務隔離,但可能會影響功能。請在啟用之前充分測試。" #: src/views/project/EditModal.vue:515 @@ -9472,7 +9034,9 @@ msgid "Protect System" msgstr "保護系統" #: src/views/project/EditModal.vue:544 -msgid "true: /usr, /boot read-only; full: + /etc read-only; strict: entire filesystem read-only" +msgid "" +"true: /usr, /boot read-only; full: + /etc read-only; strict: entire " +"filesystem read-only" msgstr "true:/usr、/boot 唯讀;full:加上 /etc 唯讀;strict:整個檔案系統唯讀" #: src/views/project/EditModal.vue:552 @@ -9507,12 +9071,9 @@ msgstr "Java" msgid "Node.js" msgstr "Node.js" -#: src/views/project/IndexView.vue:26 -#: src/views/website/BulkCreateModal.vue:60 -#: src/views/website/CreateModal.vue:29 -#: src/views/website/EditModal.vue:107 -#: src/views/website/IndexView.vue:27 -#: src/views/website/ListView.vue:127 +#: src/views/project/IndexView.vue:26 src/views/website/BulkCreateModal.vue:60 +#: src/views/website/CreateModal.vue:29 src/views/website/EditModal.vue:107 +#: src/views/website/IndexView.vue:27 src/views/website/ListView.vue:127 msgid "PHP" msgstr "PHP" @@ -9548,8 +9109,7 @@ msgstr "您確定要刪除所選項目嗎?" msgid "Enter user name" msgstr "輸入使用者名稱" -#: src/views/setting/CreateModal.vue:59 -#: src/views/setting/PasswordModal.vue:48 +#: src/views/setting/CreateModal.vue:59 src/views/setting/PasswordModal.vue:48 msgid "Enter user password" msgstr "輸入使用者密碼" @@ -9557,13 +9117,11 @@ msgstr "輸入使用者密碼" msgid "Enter user email" msgstr "輸入使用者信箱" -#: src/views/setting/IndexView.vue:100 -#: src/views/setting/IndexView.vue:124 +#: src/views/setting/IndexView.vue:100 src/views/setting/IndexView.vue:124 msgid "Panel is restarting, page will refresh in 5 seconds" msgstr "面板正在重啟,頁面將在 5 秒後重新整理" -#: src/views/setting/IndexView.vue:118 -#: src/views/website/EditModal.vue:297 +#: src/views/setting/IndexView.vue:118 src/views/website/EditModal.vue:297 msgid "Please wait..." msgstr "請稍候……" @@ -9611,13 +9169,14 @@ msgstr "註冊已取消" msgid "Passkey registration failed: %{msg}" msgstr "通行金鑰註冊失敗:%{msg}" -#: src/views/setting/PasskeyModal.vue:152 -#: src/views/setting/SettingUser.vue:116 +#: src/views/setting/PasskeyModal.vue:152 src/views/setting/SettingUser.vue:116 msgid "Passkeys" msgstr "通行金鑰" #: src/views/setting/PasskeyModal.vue:162 -msgid "Passkeys are only available when using a bound domain with a trusted HTTPS certificate." +msgid "" +"Passkeys are only available when using a bound domain with a trusted HTTPS " +"certificate." msgstr "通行金鑰只有在綁定網域和使用可信任 HTTPS 憑證時才可用。" #: src/views/setting/PasskeyModal.vue:171 @@ -9636,8 +9195,7 @@ msgstr "穩定版" msgid "Beta" msgstr "測試版" -#: src/views/setting/SettingBase.vue:128 -#: src/views/setting/SettingBase.vue:129 +#: src/views/setting/SettingBase.vue:128 src/views/setting/SettingBase.vue:129 msgid "Panel Name" msgstr "面板名稱" @@ -9730,7 +9288,9 @@ msgid "Login Timeout" msgstr "登入逾時" #: src/views/setting/SettingSafe.vue:31 -msgid "Set the maximum lifetime (in minutes) of the login state, after which you need to log in again" +msgid "" +"Set the maximum lifetime (in minutes) of the login state, after which you " +"need to log in again" msgstr "設定登入狀態的最長存留時間(單位:分鐘),超過該時間後需要重新登入" #: src/views/setting/SettingSafe.vue:39 @@ -9742,19 +9302,26 @@ msgid "Access Entrance" msgstr "存取入口" #: src/views/setting/SettingSafe.vue:59 -msgid "Set the access entrance of the panel (e.g. /mypanel) to prevent some malicious access. Leave blank to disable (not recommended)" -msgstr "設定面板的存取入口(例如 /mypanel)以防止惡意存取。留空以停用(不建議)" +msgid "" +"Set the access entrance of the panel (e.g. /mypanel) to prevent some " +"malicious access. Leave blank to disable (not recommended)" +msgstr "" +"設定面板的存取入口(例如 /mypanel)以防止惡意存取。留空以停用(不建議)" #: src/views/setting/SettingSafe.vue:72 msgid "Entrance Error Page" msgstr "入口錯誤頁" #: src/views/setting/SettingSafe.vue:77 -msgid "Set the error page to display when accessing with wrong entrance. 418 shows teapot page, Nginx 404 shows nginx style 404 page, Close Connection will close the connection immediately" -msgstr "設定透過錯誤入口存取時顯示的錯誤頁面。418 顯示茶壺頁面,Nginx 404 顯示 Nginx 風格的 404 頁面,關閉連線將立即關閉連線" +msgid "" +"Set the error page to display when accessing with wrong entrance. 418 shows " +"teapot page, Nginx 404 shows nginx style 404 page, Close Connection will " +"close the connection immediately" +msgstr "" +"設定透過錯誤入口存取時顯示的錯誤頁面。418 顯示茶壺頁面,Nginx 404 顯示 Nginx " +"風格的 404 頁面,關閉連線將立即關閉連線" -#: src/views/setting/SettingSafe.vue:86 -#: src/views/setting/SettingSafe.vue:90 +#: src/views/setting/SettingSafe.vue:86 src/views/setting/SettingSafe.vue:90 msgid "418 I'm a teapot" msgstr "418 I'm a teapot" @@ -9771,7 +9338,9 @@ msgid "Login Captcha" msgstr "登入驗證碼" #: src/views/setting/SettingSafe.vue:103 -msgid "When enabled, a captcha will be required after 3 failed login attempts to prevent brute force attacks" +msgid "" +"When enabled, a captcha will be required after 3 failed login attempts to " +"prevent brute force attacks" msgstr "啟用後,在 3 次登入失敗後將要求輸入驗證碼,以防止暴力破解攻擊" #: src/views/setting/SettingSafe.vue:116 @@ -9779,8 +9348,12 @@ msgid "Request IP Header" msgstr "請求 IP 頭" #: src/views/setting/SettingSafe.vue:121 -msgid "Set the header that carries the real IP of the client, useful when using CDN or reverse proxy. Leave blank to use the client IP directly" -msgstr "設定攜帶用戶端真實 IP 的請求標頭,在使用 CDN 或反向代理時非常有用。留空以直接使用用戶端 IP" +msgid "" +"Set the header that carries the real IP of the client, useful when using CDN " +"or reverse proxy. Leave blank to use the client IP directly" +msgstr "" +"設定攜帶用戶端真實 IP 的請求標頭,在使用 CDN 或反向代理時非常有用。留空以直接" +"使用用戶端 IP" #: src/views/setting/SettingSafe.vue:127 msgid "X-Real-IP" @@ -9791,7 +9364,9 @@ msgid "Bind Domain" msgstr "綁定域名" #: src/views/setting/SettingSafe.vue:139 -msgid "Restrict panel access to the specified domain names. Leave blank to allow access from any domain" +msgid "" +"Restrict panel access to the specified domain names. Leave blank to allow " +"access from any domain" msgstr "限制僅允許指定網域存取面板。留空以允許來自任何網域的存取" #: src/views/setting/SettingSafe.vue:156 @@ -9799,7 +9374,9 @@ msgid "Bind IP" msgstr "綁定 IP" #: src/views/setting/SettingSafe.vue:161 -msgid "Restrict panel access to the specified IP addresses. Leave blank to allow access from any IP" +msgid "" +"Restrict panel access to the specified IP addresses. Leave blank to allow " +"access from any IP" msgstr "限制僅允許指定 IP 位址存取面板。留空以允許來自任何 IP 的存取" #: src/views/setting/SettingSafe.vue:174 @@ -9807,7 +9384,9 @@ msgid "Bind UA" msgstr "綁定 UA" #: src/views/setting/SettingSafe.vue:179 -msgid "Restrict panel access to the specified User-Agent strings. Leave blank to allow access from any User-Agent" +msgid "" +"Restrict panel access to the specified User-Agent strings. Leave blank to " +"allow access from any User-Agent" msgstr "限制僅允許指定 User-Agent 字串存取面板。留空以允許任何 User-Agent 存取" #: src/views/setting/SettingSafe.vue:196 @@ -9815,24 +9394,38 @@ msgid "Offline Mode" msgstr "離線模式" #: src/views/setting/SettingSafe.vue:201 -msgid "When enabled, the panel will not attempt to connect to external services for updates or other features. This may limit some functionalities" -msgstr "啟用後,面板將不會嘗試連線外部服務以取得更新或其他功能。這可能會限制某些功能" +msgid "" +"When enabled, the panel will not attempt to connect to external services for " +"updates or other features. This may limit some functionalities" +msgstr "" +"啟用後,面板將不會嘗試連線外部服務以取得更新或其他功能。這可能會限制某些功能" #: src/views/setting/SettingSafe.vue:214 msgid "Auto Update" msgstr "自動更新" #: src/views/setting/SettingSafe.vue:219 -msgid "When enabled, the panel will automatically check for and install updates when they are available. It is recommended to keep this enabled to ensure you have the latest features and security patches" -msgstr "啟用後,面板將自動檢查並安裝可用的更新。建議保持此功能啟用,以確保您擁有最新的功能和安全補丁" +msgid "" +"When enabled, the panel will automatically check for and install updates " +"when they are available. It is recommended to keep this enabled to ensure " +"you have the latest features and security patches" +msgstr "" +"啟用後,面板將自動檢查並安裝可用的更新。建議保持此功能啟用,以確保您擁有最新" +"的功能和安全補丁" #: src/views/setting/SettingSafe.vue:232 msgid "Panel HTTPS" msgstr "面板 HTTPS" #: src/views/setting/SettingSafe.vue:237 -msgid "Enable HTTPS for the panel. ACME will automatically obtain and renew the certificate daily (requires panel accessible via public IP). Self-Signed generates a certificate automatically (browsers will show a warning). Custom allows you to provide your own certificate" -msgstr "為面板啟用 HTTPS。ACME 將每天自動取得並更新憑證(需支援透過公網 IP 存取面板)。自簽名會自動產生憑證(瀏覽器會顯示警告)。自訂允許您提供自己的憑證" +msgid "" +"Enable HTTPS for the panel. ACME will automatically obtain and renew the " +"certificate daily (requires panel accessible via public IP). Self-Signed " +"generates a certificate automatically (browsers will show a warning). Custom " +"allows you to provide your own certificate" +msgstr "" +"為面板啟用 HTTPS。ACME 將每天自動取得並更新憑證(需支援透過公網 IP 存取面" +"板)。自簽名會自動產生憑證(瀏覽器會顯示警告)。自訂允許您提供自己的憑證" #: src/views/setting/SettingSafe.vue:247 msgid "ACME (Auto)" @@ -9846,14 +9439,16 @@ msgstr "自簽名" msgid "Custom Certificate" msgstr "自訂證書" -#: src/views/setting/SettingSafe.vue:257 -#: src/views/setting/SettingSafe.vue:262 +#: src/views/setting/SettingSafe.vue:257 src/views/setting/SettingSafe.vue:262 msgid "Panel Public IP" msgstr "面板公網 IP" #: src/views/setting/SettingSafe.vue:267 -msgid "Panel public IP is used to issue HTTPS certificates using ACME. Ensure that the entered IP address is accessible from the public network." -msgstr "面板公網 IP 用於透過 ACME 簽發 HTTPS 憑證。請確保輸入的 IP 位址可從公網存取。" +msgid "" +"Panel public IP is used to issue HTTPS certificates using ACME. Ensure that " +"the entered IP address is accessible from the public network." +msgstr "" +"面板公網 IP 用於透過 ACME 簽發 HTTPS 憑證。請確保輸入的 IP 位址可從公網存取。" #: src/views/setting/SettingUser.vue:56 msgid "2FA" @@ -9863,8 +9458,7 @@ msgstr "兩步驗證" msgid "Disabled successfully" msgstr "禁用成功" -#: src/views/setting/SettingUser.vue:104 -#: src/views/setting/TokenModal.vue:202 +#: src/views/setting/SettingUser.vue:104 src/views/setting/TokenModal.vue:202 msgid "Access Tokens" msgstr "存取權杖" @@ -9892,23 +9486,19 @@ msgstr "複製並關閉" msgid "Copy failed" msgstr "複製失敗" -#: src/views/setting/TokenModal.vue:212 -#: src/views/setting/TokenModal.vue:239 +#: src/views/setting/TokenModal.vue:212 src/views/setting/TokenModal.vue:239 msgid "Create Access Token" msgstr "建立存取權杖" -#: src/views/setting/TokenModal.vue:248 -#: src/views/setting/TokenModal.vue:286 +#: src/views/setting/TokenModal.vue:248 src/views/setting/TokenModal.vue:286 msgid "IP White List" msgstr "IP 白名單" -#: src/views/setting/TokenModal.vue:251 -#: src/views/setting/TokenModal.vue:289 +#: src/views/setting/TokenModal.vue:251 src/views/setting/TokenModal.vue:289 msgid "127.0.0.1" msgstr "127.0.0.1" -#: src/views/setting/TokenModal.vue:259 -#: src/views/setting/TokenModal.vue:297 +#: src/views/setting/TokenModal.vue:259 src/views/setting/TokenModal.vue:297 msgid "Please select the expiration time" msgstr "請選擇到期時間" @@ -9929,7 +9519,8 @@ msgid "Scan the QR code with your 2FA app and enter the code below" msgstr "使用您的兩步驟驗證應用掃描 QR Code 並在下方輸入驗證碼" #: src/views/setting/TwoFaModal.vue:73 -msgid "If you cannot scan the QR code, please enter the URL below in your 2FA app" +msgid "" +"If you cannot scan the QR code, please enter the URL below in your 2FA app" msgstr "如果無法掃描 QR Code,請在您的兩步驟驗證應用中輸入下方的 URL" #: src/views/setting/TwoFaModal.vue:86 @@ -9940,37 +9531,32 @@ msgstr "驗證碼" msgid "Enter the code" msgstr "輸入驗證碼" -#: src/views/ssh/CreateModal.vue:53 -#: src/views/ssh/IndexView.vue:586 +#: src/views/ssh/CreateModal.vue:53 src/views/ssh/IndexView.vue:586 msgid "Create Host" msgstr "建立主機" -#: src/views/ssh/CreateModal.vue:76 -#: src/views/ssh/UpdateModal.vue:82 +#: src/views/ssh/CreateModal.vue:76 src/views/ssh/UpdateModal.vue:82 msgid "Authentication Method" msgstr "驗證方式" -#: src/views/ssh/CreateModal.vue:95 -#: src/views/ssh/UpdateModal.vue:101 +#: src/views/ssh/CreateModal.vue:95 src/views/ssh/UpdateModal.vue:101 msgid "Passphrase" msgstr "密碼短語" -#: src/views/ssh/CreateModal.vue:100 -#: src/views/ssh/UpdateModal.vue:106 +#: src/views/ssh/CreateModal.vue:100 src/views/ssh/UpdateModal.vue:106 msgid "Leave empty if key has no passphrase" msgstr "如果密鑰沒有密碼短語,請留空" -#: src/views/ssh/CreateModal.vue:103 -#: src/views/ssh/UpdateModal.vue:109 +#: src/views/ssh/CreateModal.vue:103 src/views/ssh/UpdateModal.vue:109 msgid "Remarks" msgstr "備註" #: src/views/ssh/IndexView.vue:67 -msgid "Clipboard is unavailable in non-HTTPS context, please use Ctrl+V to paste" +msgid "" +"Clipboard is unavailable in non-HTTPS context, please use Ctrl+V to paste" msgstr "剪貼簿在非 HTTPS 環境下不可用,請使用 Ctrl+V 貼上" -#: src/views/ssh/IndexView.vue:97 -#: src/views/ssh/IndexView.vue:178 +#: src/views/ssh/IndexView.vue:97 src/views/ssh/IndexView.vue:178 msgid "File Transfer" msgstr "檔案互傳" @@ -9994,8 +9580,7 @@ msgstr "新建會話" msgid "Manage Hosts" msgstr "管理主機" -#: src/views/ssh/IndexView.vue:580 -#: src/views/toolbox/SystemView.vue:184 +#: src/views/ssh/IndexView.vue:580 src/views/toolbox/SystemView.vue:184 msgid "Hosts" msgstr "Hosts" @@ -10032,8 +9617,13 @@ msgid "Transfer Directories" msgstr "傳送目錄" #: src/views/ssh/SftpPanel.vue:77 -msgid "The selection contains %{ count } directory(ies), which will be transferred recursively and may take a long time. For large directories, compressing before transferring is recommended. Continue?" -msgstr "選擇包含 %{ count } 個目錄,這將被遞迴轉移並可能需要很長時間。對於大型目錄,建議在轉移之前壓縮。繼續嗎?" +msgid "" +"The selection contains %{ count } directory(ies), which will be transferred " +"recursively and may take a long time. For large directories, compressing " +"before transferring is recommended. Continue?" +msgstr "" +"選擇包含 %{ count } 個目錄,這將被遞迴轉移並可能需要很長時間。對於大型目錄," +"建議在轉移之前壓縮。繼續嗎?" #: src/views/ssh/SftpPanel.vue:152 msgid "Connection closed" @@ -10059,10 +9649,8 @@ msgstr "傳輸佇列" msgid "Clear Finished" msgstr "清除已完成" -#: src/views/ssh/SftpPanel.vue:294 -#: src/views/task/TaskView.vue:42 -#: src/views/toolbox/ProcessView.vue:53 -#: src/views/toolbox/ProcessView.vue:89 +#: src/views/ssh/SftpPanel.vue:294 src/views/task/TaskView.vue:42 +#: src/views/toolbox/ProcessView.vue:53 src/views/toolbox/ProcessView.vue:89 msgid "Waiting" msgstr "正在駐留等待" @@ -10082,8 +9670,7 @@ msgstr "選擇網站以自動填入名稱與路徑" msgid "Rule identifier, usually the website name" msgstr "規則識別碼,通常為網站名稱" -#: src/views/tamper/RuleModal.vue:112 -#: src/views/tamper/TamperView.vue:119 +#: src/views/tamper/RuleModal.vue:112 src/views/tamper/TamperView.vue:119 msgid "Protected Directory" msgstr "保護目錄" @@ -10096,8 +9683,12 @@ msgid "Exclude Paths" msgstr "排除路徑" #: src/views/tamper/RuleModal.vue:127 -msgid "Leave extensions empty to protect all files (directories become append-only). Excludes accept a path segment name (e.g. cache) or an absolute path." -msgstr "副檔名留空則保護全部檔案(目錄變為僅可附加)。排除項可填路徑區段名稱(如 cache)或絕對路徑。" +msgid "" +"Leave extensions empty to protect all files (directories become append-" +"only). Excludes accept a path segment name (e.g. cache) or an absolute path." +msgstr "" +"副檔名留空則保護全部檔案(目錄變為僅可附加)。排除項可填路徑區段名稱(如 " +"cache)或絕對路徑。" #: src/views/tamper/TamperView.vue:49 msgid "eBPF mode is not available, please activate it first" @@ -10108,8 +9699,13 @@ msgid "Activate eBPF LSM" msgstr "啟用 eBPF LSM" #: src/views/tamper/TamperView.vue:67 -msgid "The panel will modify the kernel boot parameters (append bpf to the LSM list) and reboot the server immediately. All services will be interrupted during the reboot. Continue?" -msgstr "面板將修改核心開機參數(向 LSM 清單附加 bpf)並立即重新啟動伺服器,重啟期間所有服務將中斷,是否繼續?" +msgid "" +"The panel will modify the kernel boot parameters (append bpf to the LSM " +"list) and reboot the server immediately. All services will be interrupted " +"during the reboot. Continue?" +msgstr "" +"面板將修改核心開機參數(向 LSM 清單附加 bpf)並立即重新啟動伺服器,重啟期間所" +"有服務將中斷,是否繼續?" #: src/views/tamper/TamperView.vue:77 msgid "The server is rebooting, please reconnect later" @@ -10127,8 +9723,7 @@ msgstr "全部檔案" msgid "Operation" msgstr "操作" -#: src/views/tamper/TamperView.vue:211 -#: src/views/tamper/TamperView.vue:373 +#: src/views/tamper/TamperView.vue:211 src/views/tamper/TamperView.vue:373 #: src/views/website/EditModal.vue:2224 msgid "Clear Logs" msgstr "清除日誌" @@ -10166,31 +9761,42 @@ msgid "Mode Description" msgstr "模式說明" #: src/views/tamper/TamperView.vue:260 -msgid "Locks files with the immutable attribute, enforced by the kernel at the VFS layer. Works on all distributions with no kernel dependency. Blocks tampering by web processes, but not root." -msgstr "透過不可變屬性鎖定檔案,由核心在 VFS 層強制執行,適用於所有發行版且無核心相依性,可阻止網站處理程序竄改,但無法阻止 root。" +msgid "" +"Locks files with the immutable attribute, enforced by the kernel at the VFS " +"layer. Works on all distributions with no kernel dependency. Blocks " +"tampering by web processes, but not root." +msgstr "" +"透過不可變屬性鎖定檔案,由核心在 VFS 層強制執行,適用於所有發行版且無核心相依" +"性,可阻止網站處理程序竄改,但無法阻止 root。" #: src/views/tamper/TamperView.vue:267 -msgid "Intercepts write/delete/rename via eBPF-LSM with per-process tracing. More precise and auditable, but requires the bpf LSM to be active in the kernel." -msgstr "透過 eBPF-LSM 攔截寫入/刪除/重新命名並追蹤處理程序,更精確且可稽核,但要求核心已啟用 bpf LSM。" +msgid "" +"Intercepts write/delete/rename via eBPF-LSM with per-process tracing. More " +"precise and auditable, but requires the bpf LSM to be active in the kernel." +msgstr "" +"透過 eBPF-LSM 攔截寫入/刪除/重新命名並追蹤處理程序,更精確且可稽核,但要求核" +"心已啟用 bpf LSM。" #: src/views/tamper/TamperView.vue:273 msgid "Block New Files" msgstr "阻止新建檔案" #: src/views/tamper/TamperView.vue:278 -msgid "Reject newly created files of protected types in protected directories (denied by kernel in eBPF mode, deleted in chattr mode). When off, new files are logged and protected instead." -msgstr "在受保護的目錄中拒絕新建立的受保護類型檔案(在 eBPF 模式下被內核拒絕,在 chattr 模式下被刪除)。關閉時,新的檔案將被記錄並受保護。" +msgid "" +"Reject newly created files of protected types in protected directories " +"(denied by kernel in eBPF mode, deleted in chattr mode). When off, new files " +"are logged and protected instead." +msgstr "" +"在受保護的目錄中拒絕新建立的受保護類型檔案(在 eBPF 模式下被內核拒絕,在 " +"chattr 模式下被刪除)。關閉時,新的檔案將被記錄並受保護。" #: src/views/tamper/TamperView.vue:285 msgid "Log Retention (days)" msgstr "日誌保留(天)" -#: src/views/tamper/TamperView.vue:295 -#: src/views/website/SettingView.vue:109 -#: src/views/website/SettingView.vue:124 -#: src/views/website/SettingView.vue:139 -#: src/views/website/SettingView.vue:163 -#: src/views/website/SettingView.vue:215 +#: src/views/tamper/TamperView.vue:295 src/views/website/SettingView.vue:109 +#: src/views/website/SettingView.vue:124 src/views/website/SettingView.vue:139 +#: src/views/website/SettingView.vue:163 src/views/website/SettingView.vue:215 #: src/views/website/SettingView.vue:278 msgid "Save Changes" msgstr "儲存變更" @@ -10267,20 +9873,17 @@ msgstr "日誌輪轉 - 網站" msgid "Log Rotation - Container" msgstr "日誌輪轉 - 容器" -#: src/views/task/CreateModal.vue:152 -#: src/views/task/CreateModal.vue:335 +#: src/views/task/CreateModal.vue:152 src/views/task/CreateModal.vue:335 #: src/views/task/CronView.vue:71 msgid "Log Rotation" msgstr "日誌輪替" -#: src/views/task/CreateModal.vue:157 -#: src/views/task/CreateModal.vue:336 +#: src/views/task/CreateModal.vue:157 src/views/task/CreateModal.vue:336 #: src/views/task/CronView.vue:68 msgid "Access URL" msgstr "存取 URL" -#: src/views/task/CreateModal.vue:159 -#: src/views/task/CreateModal.vue:337 +#: src/views/task/CreateModal.vue:159 src/views/task/CreateModal.vue:337 #: src/views/task/CronView.vue:69 msgid "Sync Time" msgstr "同步時間" @@ -10293,32 +9896,25 @@ msgstr "建立排程任務" msgid "Edit Scheduled Task" msgstr "編輯計劃任務" -#: src/views/task/CreateModal.vue:329 -#: src/views/task/CronView.vue:57 +#: src/views/task/CreateModal.vue:329 src/views/task/CronView.vue:57 msgid "Task Type" msgstr "任務類型" -#: src/views/task/CreateModal.vue:333 -#: src/views/task/CronView.vue:66 +#: src/views/task/CreateModal.vue:333 src/views/task/CronView.vue:66 msgid "Run Script" msgstr "執行指令碼" -#: src/views/task/CreateModal.vue:334 -#: src/views/task/CronView.vue:67 +#: src/views/task/CreateModal.vue:334 src/views/task/CronView.vue:67 msgid "Backup Data" msgstr "備份資料" -#: src/views/task/CreateModal.vue:341 -#: src/views/task/CreateModal.vue:342 -#: src/views/task/CronView.vue:50 -#: src/views/task/CronView.vue:318 -#: src/views/task/CronView.vue:319 -#: src/views/task/TaskView.vue:27 +#: src/views/task/CreateModal.vue:341 src/views/task/CreateModal.vue:342 +#: src/views/task/CronView.vue:50 src/views/task/CronView.vue:318 +#: src/views/task/CronView.vue:319 src/views/task/TaskView.vue:27 msgid "Task Name" msgstr "任務名稱" -#: src/views/task/CreateModal.vue:349 -#: src/views/task/CronView.vue:90 +#: src/views/task/CreateModal.vue:349 src/views/task/CronView.vue:90 #: src/views/task/CronView.vue:321 msgid "Task Schedule" msgstr "任務週期" @@ -10327,14 +9923,14 @@ msgstr "任務週期" msgid "Retention Count" msgstr "保留數量" -#: src/views/task/CreateModal.vue:359 -#: src/views/task/CronView.vue:324 +#: src/views/task/CreateModal.vue:359 src/views/task/CronView.vue:324 msgid "Process Lock" msgstr "處理程序鎖" -#: src/views/task/CreateModal.vue:363 -#: src/views/task/CronView.vue:328 -msgid "Prevent duplicate execution: skip this run if the previous one is still running" +#: src/views/task/CreateModal.vue:363 src/views/task/CronView.vue:328 +msgid "" +"Prevent duplicate execution: skip this run if the previous one is still " +"running" msgstr "防止重複執行:如果上次執行未結束,則跳過本次執行" #: src/views/task/CreateModal.vue:370 @@ -10357,8 +9953,7 @@ msgstr "標頭名稱" msgid "Header Value" msgstr "標頭值" -#: src/views/task/CreateModal.vue:415 -#: src/views/task/CreateModal.vue:420 +#: src/views/task/CreateModal.vue:415 src/views/task/CreateModal.vue:420 msgid "Request Body" msgstr "請求體" @@ -10402,8 +9997,7 @@ msgstr "Valkey" msgid "Rotation Type" msgstr "輪轉類型" -#: src/views/task/CreateModal.vue:494 -#: src/views/task/CreateModal.vue:500 +#: src/views/task/CreateModal.vue:494 src/views/task/CreateModal.vue:500 #: src/views/website/CreateModal.vue:252 msgid "Select Database" msgstr "選擇資料庫" @@ -10412,8 +10006,7 @@ msgstr "選擇資料庫" msgid "Enter directory path" msgstr "輸入目錄路徑" -#: src/views/task/CreateModal.vue:526 -#: src/views/task/CreateModal.vue:532 +#: src/views/task/CreateModal.vue:526 src/views/task/CreateModal.vue:532 msgid "Select Container" msgstr "選擇容器" @@ -10493,8 +10086,11 @@ msgid "Pending benchmark" msgstr "待跑分" #: src/views/toolbox/BenchmarkView.vue:90 -msgid "Benchmark results are for reference only and may differ from actual performance due to system resource scheduling, caching, and other factors!" -msgstr "跑分結果僅供參考,由於系統資源調度、快取和其他因素,可能與實際性能有所不同!" +msgid "" +"Benchmark results are for reference only and may differ from actual " +"performance due to system resource scheduling, caching, and other factors!" +msgstr "" +"跑分結果僅供參考,由於系統資源調度、快取和其他因素,可能與實際性能有所不同!" #: src/views/toolbox/BenchmarkView.vue:97 msgid "Benchmarking in progress, it may take some time..." @@ -10572,8 +10168,7 @@ msgstr "跑分中……" msgid "Start Benchmark" msgstr "開始跑分" -#: src/views/toolbox/disk/RaidView.vue:93 -#: src/views/toolbox/DiskView.vue:603 +#: src/views/toolbox/disk/RaidView.vue:93 src/views/toolbox/DiskView.vue:603 #: src/views/toolbox/DiskView.vue:912 msgid "Device" msgstr "設備" @@ -10778,8 +10373,7 @@ msgstr "無可用 SMART 屬性" msgid "Failed to parse disk data, please refresh and try again" msgstr "無法解析磁碟資料,請重新整理後重試" -#: src/views/toolbox/DiskView.vue:231 -#: src/views/toolbox/DiskView.vue:687 +#: src/views/toolbox/DiskView.vue:231 src/views/toolbox/DiskView.vue:687 #: src/views/toolbox/DiskView.vue:726 msgid "Partition" msgstr "分區" @@ -10792,21 +10386,21 @@ msgstr "已用" msgid "Not Mounted" msgstr "未掛載" -#: src/views/toolbox/DiskView.vue:290 -#: src/views/toolbox/DiskView.vue:605 +#: src/views/toolbox/DiskView.vue:290 src/views/toolbox/DiskView.vue:605 msgid "FS" msgstr "檔案系統" -#: src/views/toolbox/DiskView.vue:340 -#: src/views/toolbox/DiskView.vue:476 -#: src/views/toolbox/DiskView.vue:517 -#: src/views/toolbox/DiskView.vue:560 +#: src/views/toolbox/DiskView.vue:340 src/views/toolbox/DiskView.vue:476 +#: src/views/toolbox/DiskView.vue:517 src/views/toolbox/DiskView.vue:560 msgid "Please fill in all fields" msgstr "請填寫所有欄位" #: src/views/toolbox/DiskView.vue:344 -msgid "Are you sure you want to mount %{ device } to %{ path } and write to fstab for auto-mount on boot?" -msgstr "您確定要將 %{ device } 掛載到 %{ path } 並寫入 fstab 以在啟動時自動掛載嗎?" +msgid "" +"Are you sure you want to mount %{ device } to %{ path } and write to fstab " +"for auto-mount on boot?" +msgstr "" +"您確定要將 %{ device } 掛載到 %{ path } 並寫入 fstab 以在啟動時自動掛載嗎?" #: src/views/toolbox/DiskView.vue:348 msgid "Are you sure you want to mount %{ device } to %{ path }?" @@ -10824,22 +10418,20 @@ msgstr "您確定要卸載這個分區嗎?" msgid "Unmounted successfully" msgstr "卸載成功" -#: src/views/toolbox/DiskView.vue:390 -#: src/views/toolbox/DiskView.vue:437 +#: src/views/toolbox/DiskView.vue:390 src/views/toolbox/DiskView.vue:437 msgid "Please select a device" msgstr "請選擇一個設備" -#: src/views/toolbox/DiskView.vue:394 -#: src/views/toolbox/DiskView.vue:417 -#: src/views/toolbox/DiskView.vue:459 -#: src/views/toolbox/DiskView.vue:499 -#: src/views/toolbox/DiskView.vue:542 -#: src/views/toolbox/DiskView.vue:586 +#: src/views/toolbox/DiskView.vue:394 src/views/toolbox/DiskView.vue:417 +#: src/views/toolbox/DiskView.vue:459 src/views/toolbox/DiskView.vue:499 +#: src/views/toolbox/DiskView.vue:542 src/views/toolbox/DiskView.vue:586 msgid "Dangerous Operation" msgstr "危險操作" #: src/views/toolbox/DiskView.vue:395 -msgid "Formatting will erase all data on the partition. This operation is irreversible. Are you sure?" +msgid "" +"Formatting will erase all data on the partition. This operation is " +"irreversible. Are you sure?" msgstr "格式化將清除分割區上的所有資料。此操作不可逆,您確定嗎?" #: src/views/toolbox/DiskView.vue:398 @@ -10855,8 +10447,12 @@ msgid "Please enter disk name" msgstr "請輸入磁碟名稱" #: src/views/toolbox/DiskView.vue:418 -msgid "This will delete all partitions on %{ device } and create a single partition. All data will be permanently lost. Are you absolutely sure?" -msgstr "這將刪除 %{ device } 上的所有分割區並建立單一分割區。所有資料將永久遺失,您確定嗎?" +msgid "" +"This will delete all partitions on %{ device } and create a single " +"partition. All data will be permanently lost. Are you absolutely sure?" +msgstr "" +"這將刪除 %{ device } 上的所有分割區並建立單一分割區。所有資料將永久遺失,您確" +"定嗎?" #: src/views/toolbox/DiskView.vue:422 msgid "Confirm Initialize" @@ -10891,7 +10487,9 @@ msgid "Volume group created successfully" msgstr "卷冊群組建立成功" #: src/views/toolbox/DiskView.vue:500 -msgid "Are you sure you want to remove the volume group %{ name }? All logical volumes in this group will be deleted!" +msgid "" +"Are you sure you want to remove the volume group %{ name }? All logical " +"volumes in this group will be deleted!" msgstr "您確定要刪除卷組 %{ name } 嗎?此組中的所有邏輯卷將被刪除!" #: src/views/toolbox/DiskView.vue:508 @@ -10899,7 +10497,8 @@ msgid "Volume group removed successfully" msgstr "卷組刪除成功" #: src/views/toolbox/DiskView.vue:522 -msgid "Are you sure you want to create logical volume %{ name } with %{ size }GB?" +msgid "" +"Are you sure you want to create logical volume %{ name } with %{ size }GB?" msgstr "您確定要建立大小為 %{ size }GB 的邏輯卷冊 %{ name } 嗎?" #: src/views/toolbox/DiskView.vue:530 @@ -10907,7 +10506,9 @@ msgid "Logical volume created successfully" msgstr "邏輯卷冊建立成功" #: src/views/toolbox/DiskView.vue:543 -msgid "Are you sure you want to remove the logical volume %{ path }? All data on this volume will be lost!" +msgid "" +"Are you sure you want to remove the logical volume %{ path }? All data on " +"this volume will be lost!" msgstr "您確定要刪除邏輯卷冊 %{ path } 嗎?該卷冊上的所有資料將遺失!" #: src/views/toolbox/DiskView.vue:551 @@ -10923,8 +10524,11 @@ msgid "Logical volume extended successfully" msgstr "邏輯卷擴展成功" #: src/views/toolbox/DiskView.vue:587 -msgid "Are you sure you want to remove the fstab entry for %{ mountPoint }? This will prevent auto-mount on boot." -msgstr "您確定要刪除 %{ mountPoint } 的 fstab 條目嗎?這將阻止在啟動時自動掛載。" +msgid "" +"Are you sure you want to remove the fstab entry for %{ mountPoint }? This " +"will prevent auto-mount on boot." +msgstr "" +"您確定要刪除 %{ mountPoint } 的 fstab 條目嗎?這將阻止在啟動時自動掛載。" #: src/views/toolbox/DiskView.vue:595 msgid "Fstab entry removed successfully" @@ -10946,13 +10550,11 @@ msgstr "%{ count } 個分區" msgid "No disks found" msgstr "未找到磁碟" -#: src/views/toolbox/DiskView.vue:683 -#: src/views/toolbox/DiskView.vue:713 +#: src/views/toolbox/DiskView.vue:683 src/views/toolbox/DiskView.vue:713 msgid "Mount" msgstr "掛載" -#: src/views/toolbox/DiskView.vue:691 -#: src/views/toolbox/DiskView.vue:730 +#: src/views/toolbox/DiskView.vue:691 src/views/toolbox/DiskView.vue:730 msgid "Select partition" msgstr "選擇分區" @@ -10972,8 +10574,7 @@ msgstr "例如 defaults,noatime" msgid "Auto-mount on boot" msgstr "啟動時自動掛載" -#: src/views/toolbox/DiskView.vue:719 -#: src/views/toolbox/DiskView.vue:741 +#: src/views/toolbox/DiskView.vue:719 src/views/toolbox/DiskView.vue:741 msgctxt "disk action" msgid "Format" msgstr "格式化" @@ -10982,18 +10583,18 @@ msgstr "格式化" msgid "Warning: Formatting will erase all data!" msgstr "警告:格式化將清除所有資料!" -#: src/views/toolbox/DiskView.vue:735 -#: src/views/toolbox/DiskView.vue:767 +#: src/views/toolbox/DiskView.vue:735 src/views/toolbox/DiskView.vue:767 msgid "Filesystem Type" msgstr "檔案系統類型" -#: src/views/toolbox/DiskView.vue:747 -#: src/views/toolbox/DiskView.vue:773 +#: src/views/toolbox/DiskView.vue:747 src/views/toolbox/DiskView.vue:773 msgid "Initialize" msgstr "初始化" #: src/views/toolbox/DiskView.vue:751 -msgid "Warning: This will delete all partitions and create a single partition. All data will be lost!" +msgid "" +"Warning: This will delete all partitions and create a single partition. All " +"data will be lost!" msgstr "警告:這將刪除所有分割區並建立單一分割區,所有資料將遺失!" #: src/views/toolbox/DiskView.vue:762 @@ -11012,8 +10613,7 @@ msgstr "無 fstab 條目" msgid "LVM Management" msgstr "LVM 管理" -#: src/views/toolbox/DiskView.vue:803 -#: src/views/toolbox/DiskView.vue:935 +#: src/views/toolbox/DiskView.vue:803 src/views/toolbox/DiskView.vue:935 msgid "Physical Volumes" msgstr "物理卷" @@ -11037,8 +10637,7 @@ msgstr "邏輯卷" msgid "No logical volumes" msgstr "無邏輯卷" -#: src/views/toolbox/DiskView.vue:909 -#: src/views/toolbox/DiskView.vue:922 +#: src/views/toolbox/DiskView.vue:909 src/views/toolbox/DiskView.vue:922 msgid "Create PV" msgstr "建立實體卷冊" @@ -11046,8 +10645,7 @@ msgstr "建立實體卷冊" msgid "Select device" msgstr "選擇設備" -#: src/views/toolbox/DiskView.vue:928 -#: src/views/toolbox/DiskView.vue:946 +#: src/views/toolbox/DiskView.vue:928 src/views/toolbox/DiskView.vue:946 msgid "Create VG" msgstr "建立卷冊群組" @@ -11063,8 +10661,7 @@ msgstr "輸入卷組名" msgid "Select PVs" msgstr "選擇物理卷" -#: src/views/toolbox/DiskView.vue:952 -#: src/views/toolbox/DiskView.vue:975 +#: src/views/toolbox/DiskView.vue:952 src/views/toolbox/DiskView.vue:975 msgid "Create LV" msgstr "建立邏輯卷冊" @@ -11088,8 +10685,7 @@ msgstr "選擇卷組" msgid "Size (GB)" msgstr "大小(GB)" -#: src/views/toolbox/DiskView.vue:981 -#: src/views/toolbox/DiskView.vue:1004 +#: src/views/toolbox/DiskView.vue:981 src/views/toolbox/DiskView.vue:1004 msgid "Extend LV" msgstr "擴展邏輯卷" @@ -11178,7 +10774,9 @@ msgid "Log Cleaner" msgstr "日誌清理" #: src/views/toolbox/LogView.vue:142 -msgid "Scan and clean redundant logs to free up disk space. Cleaning is irreversible." +msgid "" +"Scan and clean redundant logs to free up disk space. Cleaning is " +"irreversible." msgstr "掃描並清理冗餘日誌以釋放磁碟空間。清理操作不可逆。" #: src/views/toolbox/LogView.vue:158 @@ -11237,8 +10835,7 @@ msgstr "1Panel → AcePanel" msgid "Pull websites and databases from 1Panel." msgstr "從 1Panel 拉取網站和資料庫。" -#: src/views/toolbox/MigrationView.vue:77 -#: src/views/website/CreateModal.vue:280 +#: src/views/toolbox/MigrationView.vue:77 src/views/website/CreateModal.vue:280 #: src/views/website/CreateModal.vue:285 msgid "Database User" msgstr "資料庫使用者" @@ -11317,7 +10914,9 @@ msgid "Please select at least one resource to migrate." msgstr "請至少選擇一個要遷移的資源。" #: src/views/toolbox/MigrationView.vue:337 -msgid "The selection contains blocked resources. Resolve them or enable skipping first." +msgid "" +"The selection contains blocked resources. Resolve them or enable skipping " +"first." msgstr "所選內容包含受阻資源。請先解決問題或啟用跳過。" #: src/views/toolbox/MigrationView.vue:343 @@ -11389,8 +10988,12 @@ msgid "API key of the source panel" msgstr "源面板 API 金鑰" #: src/views/toolbox/MigrationView.vue:543 -msgid "The target API must allow this server address. Missing database servers and runtimes are reported in the next step." -msgstr "目標 API 必須允許本伺服器地址存取。缺少的資料庫伺服器和執行環境將在下一步提示。" +msgid "" +"The target API must allow this server address. Missing database servers and " +"runtimes are reported in the next step." +msgstr "" +"目標 API 必須允許本伺服器地址存取。缺少的資料庫伺服器和執行環境將在下一步提" +"示。" #: src/views/toolbox/MigrationView.vue:546 msgid "The source panel API must be enabled and allow this server address." @@ -11583,11 +11186,18 @@ msgid "Confirm Network Configuration Change" msgstr "確認更改網路配置" #: src/views/toolbox/network/InterfaceView.vue:293 -msgid "Changing the primary IP address, gateway, or automatic address assignment may interrupt the panel connection. The change will be rolled back automatically unless you confirm it afterwards. Continue?" -msgstr "更改主 IP 地址、網關或自動地址分配可能會中斷面板連接。除非隨後進行確認,否則更改將自動回滾。是否繼續?" +msgid "" +"Changing the primary IP address, gateway, or automatic address assignment " +"may interrupt the panel connection. The change will be rolled back " +"automatically unless you confirm it afterwards. Continue?" +msgstr "" +"更改主 IP 地址、網關或自動地址分配可能會中斷面板連接。除非隨後進行確認,否則" +"更改將自動回滾。是否繼續?" #: src/views/toolbox/network/InterfaceView.vue:323 -msgid "Network configuration changed. Confirm within %{ seconds }s to keep it, otherwise it will be rolled back automatically." +msgid "" +"Network configuration changed. Confirm within %{ seconds }s to keep it, " +"otherwise it will be rolled back automatically." msgstr "網路配置已更改。請在 %{ seconds } 秒內確認以保留更改,否則將自動回滾。" #: src/views/toolbox/network/InterfaceView.vue:327 @@ -11638,8 +11248,7 @@ msgstr "本地地址" msgid "Remote Address" msgstr "遠端地址" -#: src/views/toolbox/NetworkView.vue:150 -#: src/views/toolbox/ProcessView.vue:477 +#: src/views/toolbox/NetworkView.vue:150 src/views/toolbox/ProcessView.vue:477 msgid "Network Connections" msgstr "網路連接" @@ -11675,8 +11284,7 @@ msgstr "Goroutines" msgid "Cgo Calls" msgstr "Cgo 調用" -#: src/views/toolbox/PanelView.vue:123 -#: src/views/toolbox/PanelView.vue:145 +#: src/views/toolbox/PanelView.vue:123 src/views/toolbox/PanelView.vue:145 msgid "Allocated" msgstr "已分配" @@ -11696,8 +11304,7 @@ msgstr "分配次數" msgid "Frees" msgstr "釋放次數" -#: src/views/toolbox/PanelView.vue:151 -#: src/views/toolbox/ProcessView.vue:51 +#: src/views/toolbox/PanelView.vue:151 src/views/toolbox/ProcessView.vue:51 #: src/views/toolbox/ProcessView.vue:85 msgid "Idle" msgstr "空閒" @@ -11778,18 +11385,15 @@ msgstr "總計:%{ count }" msgid "All Status" msgstr "所有狀態" -#: src/views/toolbox/ProcessView.vue:49 -#: src/views/toolbox/ProcessView.vue:81 +#: src/views/toolbox/ProcessView.vue:49 src/views/toolbox/ProcessView.vue:81 msgid "Sleeping" msgstr "睡眠" -#: src/views/toolbox/ProcessView.vue:52 -#: src/views/toolbox/ProcessView.vue:87 +#: src/views/toolbox/ProcessView.vue:52 src/views/toolbox/ProcessView.vue:87 msgid "Zombie" msgstr "殭屍處理程序" -#: src/views/toolbox/ProcessView.vue:54 -#: src/views/toolbox/ProcessView.vue:91 +#: src/views/toolbox/ProcessView.vue:54 src/views/toolbox/ProcessView.vue:91 msgid "Locked" msgstr "已鎖定" @@ -11833,18 +11437,15 @@ msgstr "使用者訊號 2(SIGUSR2)" msgid "Blocked" msgstr "阻塞" -#: src/views/toolbox/ProcessView.vue:114 -#: src/views/toolbox/ProcessView.vue:390 +#: src/views/toolbox/ProcessView.vue:114 src/views/toolbox/ProcessView.vue:390 msgid "Parent PID" msgstr "父處理程序 PID" -#: src/views/toolbox/ProcessView.vue:121 -#: src/views/toolbox/ProcessView.vue:402 +#: src/views/toolbox/ProcessView.vue:121 src/views/toolbox/ProcessView.vue:402 msgid "Threads" msgstr "執行緒" -#: src/views/toolbox/ProcessView.vue:162 -#: src/views/toolbox/ProcessView.vue:423 +#: src/views/toolbox/ProcessView.vue:162 src/views/toolbox/ProcessView.vue:423 msgid "Start Time" msgstr "啟動時間" @@ -11944,8 +11545,7 @@ msgstr "請輸入密碼" msgid "Root password updated" msgstr "Root 密碼已更新" -#: src/views/toolbox/SshView.vue:135 -#: src/views/toolbox/SshView.vue:148 +#: src/views/toolbox/SshView.vue:135 src/views/toolbox/SshView.vue:148 msgid "SSH key generated" msgstr "SSH 密鑰已生成" @@ -12026,7 +11626,9 @@ msgid "Root Private Key" msgstr "Root 私鑰" #: src/views/toolbox/SshView.vue:365 -msgid "This is the private key of the root user. Keep it safe and use it to login to this server." +msgid "" +"This is the private key of the root user. Keep it safe and use it to login " +"to this server." msgstr "這是 root 使用者的私鑰。請妥善保管,並使用它登入此伺服器。" #: src/views/toolbox/SshView.vue:375 @@ -12058,7 +11660,9 @@ msgid "Enter hostname, e.g. myserver" msgstr "輸入主機名,例如 myserver" #: src/views/toolbox/SystemView.vue:201 -msgid "After manually changing the time, it may still be overwritten by system automatic time synchronization." +msgid "" +"After manually changing the time, it may still be overwritten by system " +"automatic time synchronization." msgstr "手動更改時間後,仍可能被系統自動時間同步覆蓋。" #: src/views/toolbox/SystemView.vue:207 @@ -12094,11 +11698,15 @@ msgid "System NTP Server Configuration" msgstr "系統 NTP 伺服器設定" #: src/views/toolbox/SystemView.vue:265 -msgid "Unable to detect NTP service. Please ensure chrony or systemd-timesyncd is installed." +msgid "" +"Unable to detect NTP service. Please ensure chrony or systemd-timesyncd is " +"installed." msgstr "無法檢測到 NTP 服務。請確保已安裝 chrony 或 systemd-timesyncd。" #: src/views/toolbox/SystemView.vue:272 -msgid "Current NTP service: %{ service }. Changes will be applied to system configuration." +msgid "" +"Current NTP service: %{ service }. Changes will be applied to system " +"configuration." msgstr "當前 NTP 服務:%{ service }。更改將應用於系統配置。" #: src/views/toolbox/SystemView.vue:285 @@ -12129,38 +11737,31 @@ msgstr "您確定要刪除此 Web 掛鉤嗎?" msgid "URL copied to clipboard" msgstr "URL 已複製到剪貼板" -#: src/views/toolbox/WebHookView.vue:232 -#: src/views/toolbox/WebHookView.vue:259 +#: src/views/toolbox/WebHookView.vue:232 src/views/toolbox/WebHookView.vue:259 msgid "Please enter a name" msgstr "請輸入名稱" -#: src/views/toolbox/WebHookView.vue:236 -#: src/views/toolbox/WebHookView.vue:263 +#: src/views/toolbox/WebHookView.vue:236 src/views/toolbox/WebHookView.vue:263 msgid "Please enter a script" msgstr "請輸入腳本" -#: src/views/toolbox/WebHookView.vue:295 -#: src/views/toolbox/WebHookView.vue:323 +#: src/views/toolbox/WebHookView.vue:295 src/views/toolbox/WebHookView.vue:323 msgid "Create WebHook" msgstr "建立 WebHook" -#: src/views/toolbox/WebHookView.vue:331 -#: src/views/toolbox/WebHookView.vue:372 +#: src/views/toolbox/WebHookView.vue:331 src/views/toolbox/WebHookView.vue:372 msgid "Enter WebHook name" msgstr "輸入 Web 掛鉤名稱" -#: src/views/toolbox/WebHookView.vue:336 -#: src/views/toolbox/WebHookView.vue:377 +#: src/views/toolbox/WebHookView.vue:336 src/views/toolbox/WebHookView.vue:377 msgid "User to run the script (default: root)" msgstr "執行指令碼的使用者(預設:root)" -#: src/views/toolbox/WebHookView.vue:342 -#: src/views/toolbox/WebHookView.vue:383 +#: src/views/toolbox/WebHookView.vue:342 src/views/toolbox/WebHookView.vue:383 msgid "Return script output as raw text instead of JSON" msgstr "將腳本輸出作為原始文本而非 JSON 返回" -#: src/views/toolbox/WebHookView.vue:345 -#: src/views/toolbox/WebHookView.vue:389 +#: src/views/toolbox/WebHookView.vue:345 src/views/toolbox/WebHookView.vue:389 msgid "Script" msgstr "腳本" @@ -12169,16 +11770,13 @@ msgid "Edit WebHook" msgstr "編輯 Web 掛鉤" #: src/views/website/BulkCreateModal.vue:32 -#: src/views/website/CreateModal.vue:57 -#: src/views/website/EditModal.vue:90 +#: src/views/website/CreateModal.vue:57 src/views/website/EditModal.vue:90 msgid "Not used" msgstr "未使用" #: src/views/website/BulkCreateModal.vue:61 -#: src/views/website/CreateModal.vue:30 -#: src/views/website/EditModal.vue:108 -#: src/views/website/IndexView.vue:28 -#: src/views/website/ListView.vue:128 +#: src/views/website/CreateModal.vue:30 src/views/website/EditModal.vue:108 +#: src/views/website/IndexView.vue:28 src/views/website/ListView.vue:128 msgid "Pure Static" msgstr "純靜態" @@ -12194,8 +11792,7 @@ msgstr "批次建立 PHP 網站" msgid "Bulk Create Pure Static Website" msgstr "批次建立純靜態網站" -#: src/views/website/BulkCreateModal.vue:74 -#: src/views/website/ListView.vue:409 +#: src/views/website/BulkCreateModal.vue:74 src/views/website/ListView.vue:409 msgid "Bulk Create Website" msgstr "批次建立網站" @@ -12212,7 +11809,9 @@ msgid "name|domain|port|path|remark" msgstr "名稱|網域|連接埠|路徑|備註" #: src/views/website/BulkCreateModal.vue:92 -msgid "Proxy Target: The target address for reverse proxy (e.g., http://127.0.0.1:3000)." +msgid "" +"Proxy Target: The target address for reverse proxy (e.g., " +"http://127.0.0.1:3000)." msgstr "代理目標:反向代理的目標地址(例如:http://127.0.0.1:3000)。" #: src/views/website/BulkCreateModal.vue:96 @@ -12233,32 +11832,38 @@ msgid "Website %{ name } created successfully" msgstr "網站 %{ name } 建立成功" #: src/views/website/BulkCreateModal.vue:189 -#: src/views/website/CreateModal.vue:180 -#: src/views/website/EditModal.vue:1905 +#: src/views/website/CreateModal.vue:180 src/views/website/EditModal.vue:1905 #: src/views/website/ListView.vue:120 msgid "Website Type" msgstr "網站類型" #: src/views/website/BulkCreateModal.vue:193 -#: src/views/website/CreateModal.vue:184 -#: src/views/website/EditModal.vue:1914 +#: src/views/website/CreateModal.vue:184 src/views/website/EditModal.vue:1914 msgid "Select Website Type" msgstr "選擇網站類型" #: src/views/website/BulkCreateModal.vue:198 -msgid "Please enter the website name, domain, port, path, and remark in the text area below, one per line." +msgid "" +"Please enter the website name, domain, port, path, and remark in the text " +"area below, one per line." msgstr "請在下方文字區域輸入網站名稱、網域、連接埠、路徑與備註,每行一個。" #: src/views/website/BulkCreateModal.vue:211 -msgid "Name: The name of the website, which will be displayed in the website list, must be unique." +msgid "" +"Name: The name of the website, which will be displayed in the website list, " +"must be unique." msgstr "名稱:網站的名稱,將顯示在網站列表中,必須是唯一的。" #: src/views/website/BulkCreateModal.vue:218 -msgid "Domain: The domain name of the website, multiple domains can be separated by commas." +msgid "" +"Domain: The domain name of the website, multiple domains can be separated by " +"commas." msgstr "域名:網站的域名,多個域名可以用英文逗號分隔。" #: src/views/website/BulkCreateModal.vue:225 -msgid "Port: The port number of the website, multiple ports can be separated by commas." +msgid "" +"Port: The port number of the website, multiple ports can be separated by " +"commas." msgstr "連接埠:網站的連接埠號,多個連接埠可以用英文逗號分隔。" #: src/views/website/BulkCreateModal.vue:237 @@ -12277,26 +11882,27 @@ msgstr "建立 PHP 網站" msgid "Create Pure Static Website" msgstr "建立純靜態網站" -#: src/views/website/CreateModal.vue:80 -#: src/views/website/ListView.vue:406 +#: src/views/website/CreateModal.vue:80 src/views/website/ListView.vue:406 msgid "Create Website" msgstr "建立網站" #: src/views/website/CreateModal.vue:193 -msgid "Must be unique, used for directory naming, database naming, etc., and only supports letters, numbers, hyphens, and underscores" +msgid "" +"Must be unique, used for directory naming, database naming, etc., and only " +"supports letters, numbers, hyphens, and underscores" msgstr "必須唯一,用於目錄命名、資料庫命名等,僅支援字母、數字、連字號和底線" -#: src/views/website/CreateModal.vue:294 -#: src/views/website/CreateModal.vue:300 +#: src/views/website/CreateModal.vue:294 src/views/website/CreateModal.vue:300 msgid "Database Password" msgstr "資料庫密碼" #: src/views/website/CreateModal.vue:312 -msgid "Website root directory (if left empty, defaults to website directory/website name/public)" +msgid "" +"Website root directory (if left empty, defaults to website directory/website " +"name/public)" msgstr "網站根目錄(如果留空,預設為網站目錄/網站名稱/public)" -#: src/views/website/CreateModal.vue:324 -#: src/views/website/EditModal.vue:1926 +#: src/views/website/CreateModal.vue:324 src/views/website/EditModal.vue:1926 msgid "Proxy Target" msgstr "代理目標" @@ -12304,8 +11910,7 @@ msgstr "代理目標" msgid "Proxy target address (e.g., http://127.0.0.1:3000)" msgstr "代理目標地址(如:http://127.0.0.1:3000)" -#: src/views/website/CreateModal.vue:332 -#: src/views/website/CreateModal.vue:337 +#: src/views/website/CreateModal.vue:332 src/views/website/CreateModal.vue:337 #: src/views/website/ListView.vue:229 msgid "Remark" msgstr "備註" @@ -12323,8 +11928,13 @@ msgid "Confirm Website Type Switch" msgstr "確認切換網站類型" #: src/views/website/EditModal.vue:210 -msgid "Switch the website type from %{ from } to %{ to }? Common settings and website files will be preserved. The original type-specific configuration will be deleted and rebuilt for the new type." -msgstr "將網站類型從 %{ from } 切換為 %{ to }?通用設定和網站檔案將被保留。原類型專用配置將被刪除,並按新類型重新生成。" +msgid "" +"Switch the website type from %{ from } to %{ to }? Common settings and " +"website files will be preserved. The original type-specific configuration " +"will be deleted and rebuilt for the new type." +msgstr "" +"將網站類型從 %{ from } 切換為 %{ to }?通用設定和網站檔案將被保留。原類型專用" +"配置將被刪除,並按新類型重新生成。" #: src/views/website/EditModal.vue:214 msgid "Confirm Switch" @@ -12339,8 +11949,12 @@ msgid "Reset successfully" msgstr "重設成功" #: src/views/website/EditModal.vue:271 -msgid "Your website contains wildcard domains, which require DNS verification. Please add a DNS provider in Certificate Management first." -msgstr "您的網站包含萬用字元域名,這需要進行 DNS 驗證。請先在憑證管理中新增一個 DNS 提供商。" +msgid "" +"Your website contains wildcard domains, which require DNS verification. " +"Please add a DNS provider in Certificate Management first." +msgstr "" +"您的網站包含萬用字元域名,這需要進行 DNS 驗證。請先在憑證管理中新增一個 DNS " +"提供商。" #: src/views/website/EditModal.vue:288 msgid "Please select a DNS provider" @@ -12402,8 +12016,7 @@ msgstr "臨時重定向" msgid "Permanent Redirect" msgstr "永久重定向" -#: src/views/website/EditModal.vue:851 -#: src/views/website/EditModal.vue:855 +#: src/views/website/EditModal.vue:851 src/views/website/EditModal.vue:855 msgid "Default Path" msgstr "預設路徑" @@ -12447,8 +12060,7 @@ msgstr "上游" msgid "Upstream name" msgstr "上游名稱" -#: src/views/website/EditModal.vue:1049 -#: src/views/website/EditModal.vue:1056 +#: src/views/website/EditModal.vue:1049 src/views/website/EditModal.vue:1056 msgid "Round Robin (default)" msgstr "輪詢(預設)" @@ -12592,8 +12204,7 @@ msgstr "自訂快取鍵,例如 $scheme$host$request_uri" msgid "Custom Request Headers" msgstr "自定義請求頭" -#: src/views/website/EditModal.vue:1345 -#: src/views/website/EditModal.vue:1644 +#: src/views/website/EditModal.vue:1345 src/views/website/EditModal.vue:1644 msgid "Header name" msgstr "請求頭" @@ -12621,8 +12232,7 @@ msgstr "替換內容" msgid "Add Replacement Rule" msgstr "新增替換規則" -#: src/views/website/EditModal.vue:1373 -#: src/views/website/EditModal.vue:1903 +#: src/views/website/EditModal.vue:1373 src/views/website/EditModal.vue:1903 msgid "Advanced Settings" msgstr "進階設定" @@ -12840,8 +12450,12 @@ msgid "For example: http://127.0.0.1:3000" msgstr "例如:http://127.0.0.1:3000" #: src/views/website/EditModal.vue:1935 -msgid "After switching, common settings and website files will be preserved. The original type-specific configuration will be deleted and rebuilt for the new type." -msgstr "切換後將保留通用設定和網站檔案。原類型專用配置將被刪除,並按新類型重新生成。" +msgid "" +"After switching, common settings and website files will be preserved. The " +"original type-specific configuration will be deleted and rebuilt for the new " +"type." +msgstr "" +"切換後將保留通用設定和網站檔案。原類型專用配置將被刪除,並按新類型重新生成。" #: src/views/website/EditModal.vue:1946 msgid "Switch Website Type" @@ -12859,13 +12473,11 @@ msgstr "啟用統計" msgid "Log Settings" msgstr "日誌設定" -#: src/views/website/EditModal.vue:1967 -#: src/views/website/EditModal.vue:2184 +#: src/views/website/EditModal.vue:1967 src/views/website/EditModal.vue:2184 msgid "Access Log" msgstr "存取日誌" -#: src/views/website/EditModal.vue:1976 -#: src/views/website/EditModal.vue:2200 +#: src/views/website/EditModal.vue:1976 src/views/website/EditModal.vue:2200 msgid "Error Log" msgstr "錯誤日誌" @@ -12906,12 +12518,18 @@ msgid "Real IP" msgstr "真實 IP" #: src/views/website/EditModal.vue:2042 -msgid "Configure trusted proxy IPs (e.g., CDN or Frp) to identify real visitor IPs." +msgid "" +"Configure trusted proxy IPs (e.g., CDN or Frp) to identify real visitor IPs." msgstr "配置可信的代理 IP(例如 CDN 或 Frp)以識別真實的訪客 IP。" #: src/views/website/EditModal.vue:2049 -msgid "If using Frp, fill in the Frp IP address (e.g., 127.0.0.1). If using CDN, fill in the CDN IP ranges. If unsure, you can fill in 0.0.0.0/0 (ipv4) or ::/0 (ipv6) [insecure]." -msgstr "如果使用 Frp,請填寫 Frp IP 地址(例如 127.0.0.1)。如果使用 CDN,請填寫 CDN IP 範圍。如果不確定,可以填寫 0.0.0.0/0(ipv4)或 ::/0(ipv6)[不安全]。" +msgid "" +"If using Frp, fill in the Frp IP address (e.g., 127.0.0.1). If using CDN, " +"fill in the CDN IP ranges. If unsure, you can fill in 0.0.0.0/0 (ipv4) " +"or ::/0 (ipv6) [insecure]." +msgstr "" +"如果使用 Frp,請填寫 Frp IP 地址(例如 127.0.0.1)。如果使用 CDN,請填寫 CDN " +"IP 範圍。如果不確定,可以填寫 0.0.0.0/0(ipv4)或 ::/0(ipv6)[不安全]。" #: src/views/website/EditModal.vue:2055 msgid "Enable" @@ -12946,7 +12564,8 @@ msgid "User Credentials" msgstr "使用者憑據" #: src/views/website/EditModal.vue:2109 -msgid "Visitors will need to enter a username and password to access this website." +msgid "" +"Visitors will need to enter a username and password to access this website." msgstr "訪客需要輸入使用者名稱和密碼才能存取此網站。" #: src/views/website/EditModal.vue:2117 @@ -12977,13 +12596,11 @@ msgstr "沒有自定義配置" msgid "Add Custom Config" msgstr "新增自訂設定" -#: src/views/website/EditModal.vue:2189 -#: src/views/website/EditModal.vue:2205 +#: src/views/website/EditModal.vue:2189 src/views/website/EditModal.vue:2205 msgid "All logs can be viewed by downloading the file" msgstr "所有日誌可透過下載檔案檢視" -#: src/views/website/EditModal.vue:2191 -#: src/views/website/EditModal.vue:2207 +#: src/views/website/EditModal.vue:2191 src/views/website/EditModal.vue:2207 msgid "view" msgstr "查看" @@ -13004,8 +12621,11 @@ msgid "Select DNS Provider" msgstr "選擇 DNS 提供商" #: src/views/website/EditModal.vue:2274 -msgid "Your website contains wildcard domains (e.g. *.example.com), which require DNS verification to issue certificates." -msgstr "您網站包含萬用字元域名(例如 *.example.com),這需要 DNS 驗證才能簽發憑證。" +msgid "" +"Your website contains wildcard domains (e.g. *.example.com), which require " +"DNS verification to issue certificates." +msgstr "" +"您網站包含萬用字元域名(例如 *.example.com),這需要 DNS 驗證才能簽發憑證。" #: src/views/website/IndexView.vue:29 msgid "Stats" @@ -13056,7 +12676,9 @@ msgid "Delete local database with the same name" msgstr "刪除同名的本機資料庫" #: src/views/website/ListView.vue:415 -msgid "This will delete the website directory but not the database with the same name. Are you sure you want to delete the selected websites?" +msgid "" +"This will delete the website directory but not the database with the same " +"name. Are you sure you want to delete the selected websites?" msgstr "這將刪除網站目錄,但不會刪除同名的資料庫。您確定要刪除所選網站嗎?" #: src/views/website/SettingView.vue:81 @@ -13075,25 +12697,33 @@ msgstr "停止頁面" msgid "404 Page" msgstr "404 頁面" -#: src/views/website/SettingView.vue:144 -#: src/views/website/SettingView.vue:154 +#: src/views/website/SettingView.vue:144 src/views/website/SettingView.vue:154 msgid "Default Site" msgstr "預設網站" #: src/views/website/SettingView.vue:148 -msgid "The default site handles requests that do not match any website domain, such as direct access via IP address. By default, the panel built-in page is displayed." -msgstr "預設站點處理未符合任何網站網域的請求(如透過 IP 直接存取),預設顯示面板內建頁面。" +msgid "" +"The default site handles requests that do not match any website domain, such " +"as direct access via IP address. By default, the panel built-in page is " +"displayed." +msgstr "" +"預設站點處理未符合任何網站網域的請求(如透過 IP 直接存取),預設顯示面板內建" +"頁面。" #: src/views/website/SettingView.vue:168 msgid "Default Settings" msgstr "預設設定" #: src/views/website/SettingView.vue:172 -msgid "Modifying the default TLS version will affect all newly created websites. Existing websites will not be affected." +msgid "" +"Modifying the default TLS version will affect all newly created websites. " +"Existing websites will not be affected." msgstr "修改預設 TLS 版本將影響所有新建立的網站。現有網站不受影響。" #: src/views/website/SettingView.vue:179 -msgid "Please adjust the settings carefully, improper configuration may lead to website inaccessible." +msgid "" +"Please adjust the settings carefully, improper configuration may lead to " +"website inaccessible." msgstr "請謹慎調整設定,設定不當可能導致網站無法存取。" #: src/views/website/SettingView.vue:185 @@ -13105,7 +12735,8 @@ msgid "Listen IPv6" msgstr "監聽 IPv6" #: src/views/website/SettingView.vue:202 -msgid "When enabled, new websites will listen on IPv6 for all configured ports." +msgid "" +"When enabled, new websites will listen on IPv6 for all configured ports." msgstr "啟用後,新建網站將在所有已配置連接埠上監聽 IPv6。" #: src/views/website/SettingView.vue:220 @@ -13113,7 +12744,9 @@ msgid "Statistics" msgstr "統計" #: src/views/website/SettingView.vue:224 -msgid "Modifications to the limits below will take effect after restarting the panel." +msgid "" +"Modifications to the limits below will take effect after restarting the " +"panel." msgstr "下面的限制修改將在重啟面板後生效。" #: src/views/website/SettingView.vue:230 @@ -13152,8 +12785,7 @@ msgstr "操作系統" #: src/views/website/stats/ClientsTab.vue:95 #: src/views/website/stats/GeoTab.vue:108 #: src/views/website/stats/GeoTab.vue:165 -#: src/views/website/stats/GeoTab.vue:218 -#: src/views/website/stats/IPsTab.vue:91 +#: src/views/website/stats/GeoTab.vue:218 src/views/website/stats/IPsTab.vue:91 #: src/views/website/stats/IPsTab.vue:134 #: src/views/website/stats/OverviewTab.vue:141 #: src/views/website/stats/SitesTab.vue:53 @@ -13177,15 +12809,13 @@ msgstr "沒有請求體" msgid "Site" msgstr "站點" -#: src/views/website/stats/GeoTab.vue:92 -#: src/views/website/stats/GeoTab.vue:247 +#: src/views/website/stats/GeoTab.vue:92 src/views/website/stats/GeoTab.vue:247 msgid "Country" msgstr "國家" #: src/views/website/stats/GeoTab.vue:113 #: src/views/website/stats/GeoTab.vue:165 -#: src/views/website/stats/GeoTab.vue:218 -#: src/views/website/stats/IPsTab.vue:91 +#: src/views/website/stats/GeoTab.vue:218 src/views/website/stats/IPsTab.vue:91 #: src/views/website/stats/IPsTab.vue:139 #: src/views/website/stats/OverviewTab.vue:140 #: src/views/website/stats/SlowURIsTab.vue:76 @@ -13208,14 +12838,12 @@ msgstr "ISP 分佈" #: src/views/website/stats/OverviewTab.vue:142 #: src/views/website/stats/SitesTab.vue:57 #: src/views/website/stats/SlowURIsTab.vue:81 -#: src/views/website/stats/URIsTab.vue:59 -#: src/views/website/StatsView.vue:221 +#: src/views/website/stats/URIsTab.vue:59 src/views/website/StatsView.vue:221 msgid "Errors" msgstr "錯誤" #: src/views/website/stats/OverviewTab.vue:143 -#: src/views/website/stats/SitesTab.vue:59 -#: src/views/website/StatsView.vue:200 +#: src/views/website/stats/SitesTab.vue:59 src/views/website/StatsView.vue:200 msgid "Spiders" msgstr "蜘蛛" @@ -13291,4 +12919,3 @@ msgstr "URIs" #: src/views/website/StatsView.vue:218 msgid "Slow Requests" msgstr "慢請求" -