diff --git a/pkg/embed/locales/zh_CN/backend.po b/pkg/embed/locales/zh_CN/backend.po index 227b184d..4e915686 100644 --- a/pkg/embed/locales/zh_CN/backend.po +++ b/pkg/embed/locales/zh_CN/backend.po @@ -13,7 +13,7 @@ msgstr "" "X-Crowdin-File-ID: 1166\n" "Project-Id-Version: acepanel\n" "Language-Team: Chinese Simplified\n" -"PO-Revision-Date: 2026-06-07 18:29\n" +"PO-Revision-Date: 2026-07-02 18:30\n" #: internal/service/toolbox_log.go:257 msgid "%d images" @@ -27,11 +27,11 @@ msgstr "%s 不支持数据库注释" msgid ".NET-%s is not installed" msgstr ".NET-%s 未安装" -#: internal/service/cli.go:314 +#: internal/service/cli.go:337 msgid "2FA disabled for user %s" msgstr "用户 %s 已禁用两步验证" -#: internal/service/cli.go:322 +#: internal/service/cli.go:345 msgid "2FA url: %s" msgstr "两步验证 URL: %s" @@ -97,11 +97,11 @@ msgstr "活跃分片" msgid "Active connections" msgstr "活动连接" -#: internal/route/cli.go:247 +#: internal/route/cli.go:254 msgid "Add database server" msgstr "添加数据库服务器" -#: internal/route/cli.go:494 +#: internal/route/cli.go:501 msgid "Add panel application mark (use only under guidance)" msgstr "添加面板应用标记(仅在指导下使用)" @@ -109,11 +109,11 @@ msgstr "添加面板应用标记(仅在指导下使用)" msgid "Aliyun" msgstr "阿里云" -#: internal/service/cli.go:354 +#: internal/service/cli.go:377 msgid "All passkeys cleared for user %s" msgstr "已清除用户 %s 的所有通行密钥" -#: internal/service/cli.go:1014 +#: internal/service/cli.go:1037 msgid "Already initialized" msgstr "已经初始化过了" @@ -121,27 +121,27 @@ msgstr "已经初始化过了" msgid "App %s %s" msgstr "应用 %s %s" -#: internal/service/cli.go:863 +#: internal/service/cli.go:886 msgid "App %s installed successfully" msgstr "应用 %s 安装成功" -#: internal/service/cli.go:877 +#: internal/service/cli.go:900 msgid "App %s uninstalled successfully" msgstr "应用 %s 卸载成功" -#: internal/service/cli.go:891 +#: internal/service/cli.go:914 msgid "App %s updated successfully" msgstr "应用 %s 更新成功" -#: internal/service/cli.go:860 +#: internal/service/cli.go:883 msgid "App install failed: %v" msgstr "应用安装失败:%v" -#: internal/service/cli.go:874 +#: internal/service/cli.go:897 msgid "App uninstall failed: %v" msgstr "应用卸载失败:%v" -#: internal/service/cli.go:888 +#: internal/service/cli.go:911 msgid "App update failed: %v" msgstr "应用更新失败:%v" @@ -149,51 +149,63 @@ msgstr "应用更新失败:%v" msgid "Application Pool" msgstr "应用程序池" -#: internal/route/cli.go:475 +#: internal/route/cli.go:482 msgid "Application management" msgstr "应用管理" +#: internal/data/backup.go:1432 +msgid "Applying update failed: %v" +msgstr "应用更新失败:%v" + +#: internal/data/backup.go:1430 +msgid "Applying update..." +msgstr "应用更新……" + +#: internal/data/backup.go:1394 +msgid "Backing up panel data..." +msgstr "备份面板数据……" + #: internal/service/backup.go:71 msgid "Backup %s: %s" msgstr "备份 %s: %s" -#: internal/route/cli.go:323 +#: internal/route/cli.go:330 msgid "Backup database" msgstr "备份数据库" -#: internal/route/cli.go:347 +#: internal/route/cli.go:354 msgid "Backup directory" msgstr "备份目录" -#: internal/service/cli.go:693 +#: internal/service/cli.go:716 msgid "Backup failed: %v" msgstr "备份失败:%v" -#: internal/route/cli.go:383 +#: internal/route/cli.go:390 msgid "Backup file" msgstr "备份文件" -#: internal/route/cli.go:365 +#: internal/route/cli.go:372 msgid "Backup panel" msgstr "备份面板" -#: internal/route/cli.go:377 +#: internal/route/cli.go:384 msgid "Backup type" msgstr "备份类型" -#: internal/route/cli.go:305 +#: internal/route/cli.go:312 msgid "Backup website" msgstr "备份网站" -#: internal/service/cli.go:516 +#: internal/service/cli.go:539 msgid "Bind IP disabled" msgstr "绑定 IP 已禁用" -#: internal/service/cli.go:532 +#: internal/service/cli.go:555 msgid "Bind UA disabled" msgstr "绑定 UA 已禁用" -#: internal/service/cli.go:500 +#: internal/service/cli.go:523 msgid "Bind domain disabled" msgstr "绑定域名已禁用" @@ -248,49 +260,45 @@ msgstr "版权" msgid "Calendar is a library for handling dates" msgstr "Calendar 是一个用于处理日期的库" -#: internal/route/cli.go:80 +#: internal/route/cli.go:87 msgid "Change a user's password" msgstr "更改用户密码" -#: internal/route/cli.go:75 +#: internal/route/cli.go:82 msgid "Change a user's username" msgstr "更改用户用户名" -#: internal/route/cli.go:167 +#: internal/route/cli.go:174 msgid "Change the AcePanel listening port" msgstr "更改 AcePanel 监听端口" -#: internal/service/cli.go:712 -#: internal/service/cli.go:717 +#: internal/service/cli.go:735 +#: internal/service/cli.go:740 msgid "Cleaning failed: %v" msgstr "清理失败:%v" -#: internal/data/backup.go:1303 +#: internal/data/backup.go:1296 msgid "Cleaning temporary directory failed: %v" msgstr "清理临时目录失败:%v" -#: internal/data/backup.go:1336 -msgid "Cleaning temporary file failed: %v" -msgstr "清理临时文件失败:%v" - -#: internal/data/backup.go:379 -#: internal/data/backup.go:443 +#: internal/data/backup.go:389 +#: internal/data/backup.go:453 msgid "Cleanup failed: %v" msgstr "清理失败:%v" -#: internal/route/cli.go:90 +#: internal/route/cli.go:97 msgid "Clear all passkeys for a user" msgstr "清除用户的所有通行密钥" -#: internal/route/cli.go:538 +#: internal/route/cli.go:545 msgid "Clear all tasks in the task queue if they are stuck (use only under guidance)" msgstr "清除任务队列中所有卡住的任务(仅在指导下使用)" -#: internal/route/cli.go:371 +#: internal/route/cli.go:378 msgid "Clear backups" msgstr "清理备份" -#: internal/route/cli.go:443 +#: internal/route/cli.go:450 msgid "Clear rotated logs" msgstr "清除轮转日志" @@ -317,6 +325,10 @@ msgstr "集群状态" msgid "Commands Per Second" msgstr "每秒执行命令数" +#: internal/service/file.go:571 +msgid "Compress %v" +msgstr "压缩 %v" + #: internal/apps/prometheus/app.go:100 msgid "Config Reload Success" msgstr "配置重载成功" @@ -326,19 +338,19 @@ msgstr "配置重载成功" msgid "Connected Clients" msgstr "已连接客户端数" -#: internal/route/cli.go:425 +#: internal/route/cli.go:432 msgid "Container" msgstr "容器" -#: internal/service/cli.go:775 +#: internal/service/cli.go:798 msgid "Container %s has no log file" msgstr "容器 %s 没有日志文件" -#: internal/route/cli.go:431 +#: internal/route/cli.go:438 msgid "Container name" msgstr "容器名称" -#: internal/route/cli.go:176 +#: internal/route/cli.go:183 msgid "Create new website" msgstr "创建新网站" @@ -351,11 +363,11 @@ msgstr "当前连接数" msgid "DESCRIPTION" msgstr "描述" -#: internal/route/cli.go:301 +#: internal/route/cli.go:308 msgid "Data backup" msgstr "数据备份" -#: internal/service/cli.go:153 +#: internal/service/cli.go:159 msgid "Data synchronized successfully" msgstr "数据同步成功" @@ -368,23 +380,23 @@ msgstr "数据库" msgid "Database User" msgstr "数据库用户" -#: internal/route/cli.go:243 +#: internal/route/cli.go:250 msgid "Database management" msgstr "数据库管理" -#: internal/route/cli.go:335 +#: internal/route/cli.go:342 msgid "Database name" msgstr "数据库名称" -#: internal/service/cli.go:654 +#: internal/service/cli.go:677 msgid "Database server %s added successfully" msgstr "数据库服务器 %s 添加成功" -#: internal/service/cli.go:668 +#: internal/service/cli.go:691 msgid "Database server %s deleted successfully" msgstr "数据库服务器 %s 删除成功" -#: internal/route/cli.go:329 +#: internal/route/cli.go:336 msgid "Database type" msgstr "数据库类型" @@ -396,35 +408,35 @@ msgstr "数据库" msgid "Delete Operations" msgstr "删除操作" -#: internal/route/cli.go:286 +#: internal/route/cli.go:293 msgid "Delete database server" msgstr "删除数据库服务器" -#: internal/route/cli.go:222 +#: internal/route/cli.go:229 msgid "Delete website (including website directory, database with the same name)" msgstr "删除网站(包括网站目录、同名数据库)" -#: internal/route/cli.go:353 +#: internal/route/cli.go:360 msgid "Directory path" msgstr "目录路径" -#: internal/route/cli.go:106 +#: internal/route/cli.go:113 msgid "Disable HTTPS" msgstr "禁用 HTTPS" -#: internal/route/cli.go:149 +#: internal/route/cli.go:156 msgid "Disable IP binding" msgstr "禁用绑定 IP" -#: internal/route/cli.go:160 +#: internal/route/cli.go:167 msgid "Disable UA binding" msgstr "禁用绑定 UA" -#: internal/route/cli.go:127 +#: internal/route/cli.go:134 msgid "Disable access entrance" msgstr "禁用访问入口" -#: internal/route/cli.go:138 +#: internal/route/cli.go:145 msgid "Disable domain binding" msgstr "禁用绑定域名" @@ -436,12 +448,12 @@ msgstr "Docker 容器日志:%d 个文件" msgid "Download URL is empty" msgstr "下载 URL 为空" -#: internal/data/backup.go:1399 -#: internal/data/backup.go:1402 +#: internal/data/backup.go:1405 +#: internal/data/backup.go:1408 msgid "Download failed: %v" msgstr "下载失败:%v" -#: internal/data/backup.go:1405 +#: internal/data/backup.go:1411 msgid "Download file check failed" msgstr "下载文件检查失败" @@ -449,15 +461,19 @@ msgstr "下载文件检查失败" msgid "Download remote file %v" msgstr "下载远程文件 %v" +#: internal/data/backup.go:1403 +msgid "Downloading new version..." +msgstr "正在下载新版本……" + #: internal/apps/prometheus/app.go:408 msgid "Elasticsearch metrics" msgstr "Elasticsearch 指标" -#: internal/route/cli.go:101 +#: internal/route/cli.go:108 msgid "Enable HTTPS" msgstr "启用 HTTPS" -#: internal/route/cli.go:122 +#: internal/route/cli.go:129 msgid "Enable access entrance" msgstr "启用访问入口" @@ -465,16 +481,16 @@ msgstr "启用访问入口" msgid "Enchant is a spell-checking library" msgstr "Enchant 是一个拼写检查库" -#: internal/service/cli.go:484 +#: internal/service/cli.go:507 msgid "Entrance disabled" msgstr "入口已禁用" -#: internal/service/cli.go:467 +#: internal/service/cli.go:490 msgid "Entrance enabled" msgstr "入口已启用" -#: internal/service/cli.go:196 -#: internal/service/cli.go:468 +#: internal/service/cli.go:219 +#: internal/service/cli.go:491 msgid "Entrance: %s" msgstr "入口: %s" @@ -486,60 +502,72 @@ msgstr "Event 是一个用于处理事件的库" msgid "Exif is a library for reading and writing image metadata" msgstr "Exif 是一个用于读取和写入图像元数据的库" -#: internal/service/cli.go:312 +#: internal/data/backup.go:1421 +msgid "Extracting new version..." +msgstr "正在提取新版本……" + +#: internal/service/cli.go:335 msgid "Failed to change 2FA status: %v" msgstr "修改两步验证失败:%v" -#: internal/service/cli.go:287 +#: internal/service/cli.go:310 msgid "Failed to change password: %v" msgstr "修改密码失败:%v" -#: internal/service/cli.go:256 +#: internal/service/cli.go:279 msgid "Failed to change username: %v" msgstr "修改用户名失败:%v" -#: internal/service/cli.go:351 +#: internal/data/backup.go:1387 +msgid "Failed to clean up temporary directory: %v" +msgstr "清理临时目录失败:%v" + +#: internal/service/cli.go:374 msgid "Failed to clear passkeys: %v" msgstr "清除通行密钥失败:%v" -#: internal/service/cli.go:951 +#: internal/service/cli.go:974 msgid "Failed to clear tasks: %v" msgstr "清除任务失败:%v" -#: internal/service/cli.go:926 +#: internal/data/backup.go:1401 +msgid "Failed to create temporary directory: %v" +msgstr "创建临时目录失败:%v" + +#: internal/service/cli.go:949 msgid "Failed to delete app: %v" msgstr "删除应用失败:%v" -#: internal/service/cli.go:1005 +#: internal/service/cli.go:1028 msgid "Failed to delete setting: %v" msgstr "删除设置失败:%v" -#: internal/service/cli.go:320 +#: internal/service/cli.go:343 msgid "Failed to generate 2FA: %v" msgstr "生成两步验证失败:%v" -#: internal/service/cli.go:170 -#: internal/service/cli.go:283 +#: internal/service/cli.go:183 +#: internal/service/cli.go:306 msgid "Failed to generate password: %v" msgstr "生成密码失败:%v" -#: internal/service/cli.go:426 +#: internal/service/cli.go:449 msgid "Failed to get ACME account: %v" msgstr "获取 ACME 帐户失败:%v" -#: internal/service/cli.go:422 +#: internal/service/cli.go:445 msgid "Failed to get a panel user: %v" msgstr "获取面板用户失败:%v" -#: internal/service/cli.go:906 +#: internal/service/cli.go:929 msgid "Failed to get app: %v" msgstr "获取应用失败:%v" -#: internal/service/cli.go:771 +#: internal/service/cli.go:794 msgid "Failed to get container log path: %v" msgstr "无法获取容器日志路径:%v" -#: internal/service/cli.go:190 +#: internal/service/cli.go:209 msgid "Failed to get entrance" msgstr "获取入口失败" @@ -547,69 +575,74 @@ msgstr "获取入口失败" msgid "Failed to get latest version: %v" msgstr "获取最新版本失败:%v" -#: internal/service/cli.go:186 +#: internal/service/cli.go:205 msgid "Failed to get port" msgstr "获取端口失败" -#: internal/service/cli.go:969 -#: internal/service/cli.go:986 +#: internal/service/cli.go:1009 +#: internal/service/cli.go:992 msgid "Failed to get setting: %v" msgstr "获取设置失败:%v" -#: internal/service/cli.go:164 +#: internal/service/cli.go:170 msgid "Failed to get user info: %v" msgstr "获取用户信息失败:%v" -#: internal/service/cli.go:226 +#: internal/service/cli.go:249 msgid "Failed to get user list: %v" msgstr "获取用户列表失败:%v" -#: internal/service/cli.go:251 -#: internal/service/cli.go:278 -#: internal/service/cli.go:305 -#: internal/service/cli.go:347 +#: internal/service/cli.go:274 +#: internal/service/cli.go:301 +#: internal/service/cli.go:328 +#: internal/service/cli.go:370 msgid "Failed to get user: %v" msgstr "获取用户失败:%v" -#: internal/service/cli.go:432 +#: internal/service/cli.go:455 msgid "Failed to obtain panel certificate via ACME, using self-signed certificate" msgstr "无法通过 ACME 获取面板证书,使用自签名证书" -#: internal/service/cli.go:327 +#: internal/data/backup.go:1390 +msgid "Failed to optimize database: %v" +msgstr "优化数据库失败:%v" + +#: internal/service/cli.go:350 msgid "Failed to read input: %v" msgstr "读取输入失败: %v" -#: internal/data/backup.go:1238 +#: internal/data/backup.go:1247 msgid "Failed to remove %s.db: %v" msgstr "删除 %s.db 失败:%v" -#: internal/service/cli.go:913 +#: internal/service/cli.go:936 msgid "Failed to save app: %v" msgstr "保存应用失败:%v" -#: internal/service/cli.go:992 +#: internal/service/cli.go:1015 +#: internal/service/cli.go:194 msgid "Failed to save setting: %v" msgstr "保存设置失败:%v" -#: internal/service/cli.go:176 +#: internal/service/cli.go:189 msgid "Failed to save user info: %v" msgstr "保存用户信息失败:%v" -#: internal/service/ws.go:192 +#: internal/service/ws.go:202 msgid "Failed to start command: %v" msgstr "启动命令失败:%v" -#: internal/service/cli.go:144 -#: internal/service/cli.go:147 #: internal/service/cli.go:150 +#: internal/service/cli.go:153 +#: internal/service/cli.go:156 msgid "Failed to synchronize app data: %v" msgstr "同步应用数据失败:%v" -#: internal/service/cli.go:141 +#: internal/service/cli.go:147 msgid "Failed to synchronize categories data: %v" msgstr "同步分类数据失败:%v" -#: internal/service/cli.go:330 +#: internal/service/cli.go:353 msgid "Failed to update 2FA: %v" msgstr "更新两步验证失败: %v" @@ -617,10 +650,18 @@ msgstr "更新两步验证失败: %v" msgid "Fileinfo is a library used to identify file types" msgstr "Fileinfo 是一个用于识别文件类型的库" -#: internal/data/backup.go:1228 +#: internal/data/backup.go:1237 msgid "Files are normal and do not need to be repaired, please run acepanel update to update the panel" msgstr "文件正常,无需修复,请运行 acepanel update 更新面板" +#: internal/data/backup.go:1436 +msgid "Finishing up..." +msgstr "正在结束更新……" + +#: internal/data/backup.go:1438 +msgid "Finishing update failed: %v" +msgstr "结束更新失败:%v" + #: internal/route/cli.go:56 msgid "Fix AcePanel upgrade issues" msgstr "修复 AcePanel 升级问题" @@ -629,6 +670,10 @@ msgstr "修复 AcePanel 升级问题" msgid "Flush Disk Type" msgstr "刷盘类型" +#: internal/route/cli.go:67 +msgid "Force reset password" +msgstr "强制重置密码" + #: internal/bootstrap/cli.go:34 msgid "Forum:https://tom.moe" msgstr "论坛:https://tom.moe" @@ -657,7 +702,7 @@ msgstr "Gcore" msgid "Get AcePanel service status" msgstr "获取 AcePanel 服务状态" -#: internal/route/cli.go:513 +#: internal/route/cli.go:520 msgid "Get panel setting (use only under guidance)" msgstr "获取面板设置(仅在指导下使用)" @@ -675,15 +720,15 @@ msgstr "Go-%s 未安装" msgid "Goroutine Count" msgstr "Goroutine 数量" -#: internal/service/cli.go:451 +#: internal/service/cli.go:474 msgid "HTTPS certificate generated" msgstr "HTTPS 证书已生成" -#: internal/service/cli.go:386 +#: internal/service/cli.go:409 msgid "HTTPS disabled" msgstr "HTTPS 已禁用" -#: internal/service/cli.go:370 +#: internal/service/cli.go:393 msgid "HTTPS enabled" msgstr "HTTPS 已启用" @@ -695,7 +740,7 @@ msgstr "硬件和操作系统指标" msgid "Huawei Cloud" msgstr "华为云" -#: internal/service/cli.go:230 +#: internal/service/cli.go:253 msgid "ID: %d, Username: %s, Email: %s, Created At: %s" msgstr "ID: %d, 用户名: %s, 邮箱: %s, 创建时间: %s" @@ -711,11 +756,11 @@ msgstr "空闲进程" msgid "Idle Workers" msgstr "空闲的 Worker" -#: internal/service/cli.go:216 +#: internal/service/cli.go:239 msgid "If you cannot access, please check whether the server's security group and firewall allow port %d" msgstr "如果您无法访问,请检查服务器的安全组和防火墙是否放行端口 %d" -#: internal/service/cli.go:217 +#: internal/service/cli.go:240 msgid "If you still cannot access, try running `acepanel https off` to turn off panel HTTPS" msgstr "如果您仍然无法访问,请尝试运行 `acepanel https off` 关闭面板 HTTPS" @@ -731,14 +776,14 @@ msgstr "ImageMagick 是一个创建、编辑、合成图片的免费软件" msgid "Index Hit Rate" msgstr "索引命中率" -#: internal/service/cli.go:1061 -#: internal/service/cli.go:1066 -#: internal/service/cli.go:1071 -#: internal/service/cli.go:1113 +#: internal/service/cli.go:1084 +#: internal/service/cli.go:1089 +#: internal/service/cli.go:1094 +#: internal/service/cli.go:1136 msgid "Initialization failed: %v" msgstr "初始化失败:%v" -#: internal/route/cli.go:544 +#: internal/route/cli.go:551 msgid "Initialize AcePanel (use only under guidance)" msgstr "初始化 AcePanel(仅在指导下使用)" @@ -762,7 +807,7 @@ msgstr "安装 Prometheus exporter %s" msgid "Install app %s" msgstr "安装应用 %s" -#: internal/route/cli.go:479 +#: internal/route/cli.go:486 msgid "Install application" msgstr "安装应用" @@ -805,15 +850,15 @@ msgstr "LDAP 是一种用于访问目录服务的协议" msgid "Latest Fork Time (ms)" msgstr "最近一次 fork() 操作耗费的毫秒数" -#: internal/route/cli.go:70 +#: internal/route/cli.go:77 msgid "List all users" msgstr "列出所有用户" -#: internal/route/cli.go:187 +#: internal/route/cli.go:194 msgid "List of domains associated with the website" msgstr "与网站关联的域名列表" -#: internal/route/cli.go:193 +#: internal/route/cli.go:200 msgid "List of listening addresses associated with the website" msgstr "与网站关联的监听地址列表" @@ -833,15 +878,15 @@ msgstr "监听队列长度" msgid "Listeners" msgstr "监听器" -#: internal/service/cli.go:200 +#: internal/service/cli.go:223 msgid "Local IPv4: %s://%s:%d%s" msgstr "本地 IPv4: %s://%s:%d%s" -#: internal/service/cli.go:204 +#: internal/service/cli.go:227 msgid "Local IPv6: %s://[%s]:%d%s" msgstr "本地 IPv6: %s://[%s]:%d%s" -#: internal/data/backup.go:96 +#: internal/data/backup.go:98 #: internal/data/backup_storage.go:62 msgid "Local Storage" msgstr "本地存储" @@ -858,7 +903,7 @@ msgstr "日志保留小时数" msgid "Log Segment Bytes" msgstr "日志段字节数" -#: internal/route/cli.go:403 +#: internal/route/cli.go:410 msgid "Log rotation" msgstr "日志轮转" @@ -908,11 +953,11 @@ msgstr "迁移已开始" msgid "MongoDB metrics" msgstr "MongoDB 指标" -#: internal/data/backup.go:1323 +#: internal/data/backup.go:1316 msgid "Move acepanel file failed: %v" msgstr "移动 acepanel 文件失败:%v" -#: internal/data/backup.go:1318 +#: internal/data/backup.go:1311 msgid "Move panel file failed: %v" msgstr "移动面板文件失败:%v" @@ -938,7 +983,7 @@ msgstr "NameServer 状态" msgid "NameSilo" msgstr "NameSilo" -#: internal/service/cli.go:244 +#: internal/service/cli.go:267 msgid "New username cannot be empty" msgstr "新用户名不能为空" @@ -946,7 +991,7 @@ msgstr "新用户名不能为空" msgid "Nginx metrics" msgstr "Nginx 指标" -#: internal/data/backup.go:1290 +#: internal/data/backup.go:1283 msgid "No backup file found, unable to automatically repair" msgstr "未找到备份文件,无法自动修复" @@ -960,7 +1005,7 @@ msgstr "节点 ID" msgid "Node.js-%s is not installed" msgstr "Node.js-%s 未安装" -#: internal/service/cli.go:635 +#: internal/service/cli.go:658 msgid "Not supported" msgstr "不支持" @@ -982,11 +1027,11 @@ msgstr "数据节点数量" msgid "Number of Nodes" msgstr "节点数量" -#: internal/route/cli.go:389 +#: internal/route/cli.go:396 msgid "Number of backups to keep" msgstr "要保留的备份数量" -#: internal/route/cli.go:461 +#: internal/route/cli.go:468 msgid "Number of logs to keep" msgstr "要保留的日志数量" @@ -999,11 +1044,11 @@ msgstr "选项" msgid "OPcache stores precompiled PHP script bytecode in shared memory to improve PHP performance" msgstr "OPcache 将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能" -#: internal/route/cli.go:111 +#: internal/route/cli.go:118 msgid "Obtain a free certificate or generate a self-signed certificate" msgstr "获取免费证书或生成自签名证书" -#: internal/service/cli.go:241 +#: internal/service/cli.go:264 msgid "Old username cannot be empty" msgstr "旧用户名不能为空" @@ -1011,35 +1056,35 @@ msgstr "旧用户名不能为空" msgid "Open Tables" msgstr "已打开的表" -#: internal/route/cli.go:97 +#: internal/route/cli.go:104 msgid "Operate AcePanel HTTPS" msgstr "操作 AcePanel HTTPS" -#: internal/route/cli.go:145 +#: internal/route/cli.go:152 msgid "Operate AcePanel IP binding" msgstr "操作 AcePanel 绑定 IP" -#: internal/route/cli.go:156 +#: internal/route/cli.go:163 msgid "Operate AcePanel UA binding" msgstr "操作 AcePanel 绑定 UA" -#: internal/route/cli.go:118 +#: internal/route/cli.go:125 msgid "Operate AcePanel access entrance" msgstr "操作 AcePanel 访问入口" -#: internal/route/cli.go:134 +#: internal/route/cli.go:141 msgid "Operate AcePanel domain binding" msgstr "操作 AcePanel 绑定域名" -#: internal/route/cli.go:66 +#: internal/route/cli.go:73 msgid "Operate AcePanel users" msgstr "操作 AcePanel 用户" #: internal/route/cli.go:61 -msgid "Output AcePanel basic information and generate new password" -msgstr "输出 AcePanel 基本信息并生成新密码" +msgid "Output AcePanel basic information" +msgstr "输出 AcePanel 基本信息" -#: internal/route/cli.go:203 +#: internal/route/cli.go:210 msgid "PHP version used by the website (not used if not filled)" msgstr "网站使用的 PHP 版本(不填则不使用)" @@ -1061,14 +1106,14 @@ msgstr "网站使用的 PHP 版本(不填则不使用)" msgid "PHP-%d is not installed" msgstr "PHP-%d 未安装" -#: internal/service/cli.go:1001 -#: internal/service/cli.go:856 -#: internal/service/cli.go:870 -#: internal/service/cli.go:884 -#: internal/service/cli.go:900 -#: internal/service/cli.go:922 -#: internal/service/cli.go:961 -#: internal/service/cli.go:980 +#: 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 msgid "Parameters cannot be empty" msgstr "参数不能为空" @@ -1076,19 +1121,23 @@ msgstr "参数不能为空" msgid "Passkey" msgstr "通行密钥" -#: internal/service/cli.go:290 +#: internal/service/cli.go:313 msgid "Password for user %s changed successfully" msgstr "用户 %s 的密码已成功更改" -#: internal/service/cli.go:271 +#: internal/service/cli.go:294 msgid "Password length cannot be less than 6" msgstr "密码长度不能少于6位" -#: internal/service/cli.go:194 +#: internal/service/cli.go:214 msgid "Password: %s" msgstr "密码: %s" -#: internal/route/cli.go:199 +#: internal/service/cli.go:216 +msgid "Password: ******* (use -f to force reset)" +msgstr "密码:*******(使用 -f 强制重置)" + +#: internal/route/cli.go:206 msgid "Path where the website is hosted (default path if not filled)" msgstr "网站托管的路径(不填则使用默认路径)" @@ -1105,15 +1154,15 @@ msgstr "占用内存峰值" msgid "PhpRedis connects to and operates on data in Redis databases (requires the igbinary module installed above)" msgstr "PhpRedis 连接并操作 Redis 数据库上的数据(需先安装上面 igbinary 模块)" -#: internal/service/cli.go:215 +#: internal/service/cli.go:238 msgid "Please choose the appropriate address to access the panel based on your network situation" msgstr "请根据您的网络情况选择合适的地址访问面板" -#: internal/service/cli.go:324 +#: internal/service/cli.go:347 msgid "Please enter the 2FA code: " msgstr "请输入两步验证代码: " -#: internal/service/cli.go:417 +#: internal/service/cli.go:440 msgid "Please set the panel IP in settings first for ACME certificate generation" msgstr "请先在设置中设置面板 IP 以生成 ACME 证书" @@ -1125,19 +1174,19 @@ msgstr "Podman 容器日志:%d 个文件" msgid "Porkbun" msgstr "Porkbun" -#: internal/service/cli.go:549 +#: internal/service/cli.go:572 msgid "Port already in use" msgstr "端口已被占用" -#: internal/service/cli.go:575 +#: internal/service/cli.go:598 msgid "Port changed to %d" msgstr "端口已更改为 %d" -#: internal/service/cli.go:539 +#: internal/service/cli.go:562 msgid "Port range error" msgstr "端口范围错误" -#: internal/service/cli.go:195 +#: internal/service/cli.go:218 msgid "Port: %d" msgstr "端口:%d" @@ -1145,6 +1194,10 @@ msgstr "端口:%d" msgid "PostgreSQL database metrics" msgstr "PostgreSQL 数据库指标" +#: internal/data/backup.go:1385 +msgid "Preparing to update to %s..." +msgstr "正在准备更新到 %s……" + #: internal/apps/postgresql/app.go:173 msgid "Process Count" msgstr "进程数" @@ -1165,11 +1218,11 @@ msgstr "项目" msgid "Pspell is a spell-checking library" msgstr "Pspell 是一个拼写检查库" -#: internal/service/cli.go:208 +#: internal/service/cli.go:231 msgid "Public IPv4: %s://%s:%d%s" msgstr "公网 IPv4: %s://%s:%d%s" -#: internal/service/cli.go:212 +#: internal/service/cli.go:235 msgid "Public IPv6: %s://[%s]:%d%s" msgstr "公网 IPv6: %s://[%s]:%d%s" @@ -1220,19 +1273,19 @@ msgstr "Redis 指标" msgid "Relocating Shards" msgstr "迁移中的分片" -#: internal/route/cli.go:500 +#: internal/route/cli.go:507 msgid "Remove panel application mark (use only under guidance)" msgstr "移除面板应用标记(仅在指导下使用)" -#: internal/data/backup.go:1315 +#: internal/data/backup.go:1308 msgid "Remove panel file failed: %v" msgstr "删除面板文件失败:%v" -#: internal/route/cli.go:525 +#: internal/route/cli.go:532 msgid "Remove panel setting (use only under guidance)" msgstr "移除面板设置(仅在指导下使用)" -#: internal/route/cli.go:209 +#: internal/route/cli.go:216 msgid "Remove website" msgstr "移除网站" @@ -1252,7 +1305,7 @@ msgstr "重启 AcePanel 服务" msgid "Rollbacks per Second" msgstr "每秒回滚" -#: internal/route/cli.go:449 +#: internal/route/cli.go:456 msgid "Rotation type" msgstr "轮转类型" @@ -1268,32 +1321,32 @@ msgstr "未找到 SSH 日志文件" msgid "SSH2 is a library for connecting to SSH servers" msgstr "SSH2 是一个用于连接 SSH 服务器的库" -#: internal/route/cli.go:262 +#: internal/route/cli.go:269 msgid "Server address" msgstr "服务器地址" -#: internal/route/cli.go:257 -#: internal/route/cli.go:291 +#: internal/route/cli.go:264 +#: internal/route/cli.go:298 msgid "Server name" msgstr "服务器名称" -#: internal/route/cli.go:276 +#: internal/route/cli.go:283 msgid "Server password" msgstr "服务器密码" -#: internal/route/cli.go:267 +#: internal/route/cli.go:274 msgid "Server port" msgstr "服务器端口" -#: internal/route/cli.go:280 +#: internal/route/cli.go:287 msgid "Server remark" msgstr "服务器备注" -#: internal/route/cli.go:252 +#: internal/route/cli.go:259 msgid "Server type" msgstr "服务器类型" -#: internal/route/cli.go:272 +#: internal/route/cli.go:279 msgid "Server username" msgstr "服务器用户名" @@ -1301,11 +1354,11 @@ msgstr "服务器用户名" msgid "Session save handler is not files, cannot clean" msgstr "Session 保存处理程序不是 files,无法清理" -#: internal/route/cli.go:508 +#: internal/route/cli.go:515 msgid "Setting management" msgstr "设置管理" -#: internal/service/cli.go:967 +#: internal/service/cli.go:990 msgid "Setting not exists" msgstr "设置不存在" @@ -1335,13 +1388,13 @@ msgstr "停止 AcePanel 服务" msgid "Storage Engine" msgstr "存储引擎" -#: internal/route/cli.go:317 -#: internal/route/cli.go:341 -#: internal/route/cli.go:359 -#: internal/route/cli.go:395 -#: internal/route/cli.go:419 -#: internal/route/cli.go:437 -#: internal/route/cli.go:467 +#: internal/route/cli.go:324 +#: internal/route/cli.go:348 +#: internal/route/cli.go:366 +#: internal/route/cli.go:402 +#: internal/route/cli.go:426 +#: internal/route/cli.go:444 +#: internal/route/cli.go:474 msgid "Storage ID (local storage if not filled)" msgstr "存储 ID(留空则为本地存储)" @@ -1357,7 +1410,7 @@ msgstr "存储使用" msgid "Subqueries without Index" msgstr "没有索引的子查询" -#: internal/service/cli.go:430 +#: internal/service/cli.go:453 msgid "Successfully obtained panel certificate via ACME" msgstr "成功通过 ACME 获取面板证书" @@ -1373,7 +1426,7 @@ msgstr "Swow 是构建高性能异步并发服务器的 PHP 模块" msgid "Sync AcePanel cached data with cloud" msgstr "与云端同步 AcePanel 缓存数据" -#: internal/route/cli.go:533 +#: internal/route/cli.go:540 msgid "Sync server time with NTP" msgstr "与 NTP 同步服务器时间" @@ -1402,11 +1455,11 @@ msgstr "锁表次数" msgid "Tables" msgstr "表" -#: internal/route/cli.go:455 +#: internal/route/cli.go:462 msgid "Target name" msgstr "目标名称" -#: internal/service/cli.go:954 +#: internal/service/cli.go:977 msgid "Tasks cleared successfully" msgstr "任务已成功清除" @@ -1414,23 +1467,19 @@ msgstr "任务已成功清除" msgid "Temporary Tables Created on Disk" msgstr "创建临时表到磁盘" -#: internal/data/backup.go:1419 -msgid "Temporary file detected in /tmp, this may be caused by the last update failure, please run acepanel fix to repair and try again" -msgstr "在 /tmp 中检测到临时文件,这可能是上次更新失败导致的,请运行 acepanel fix 进行修复并重试" - #: internal/service/cert.go:64 msgid "Tencent Cloud" msgstr "腾讯云" -#: internal/data/backup.go:1181 +#: internal/data/backup.go:1191 msgid "The number of files contained in the compressed file is not 1, actual %d" msgstr "压缩文件包含的文件数量不为1,实际为 %d" -#: internal/service/cli.go:942 +#: internal/service/cli.go:965 msgid "Time synchronized successfully" msgstr "时间同步成功" -#: internal/route/cli.go:85 +#: internal/route/cli.go:92 msgid "Toggle two-factor authentication for a user" msgstr "开关用户两步认证" @@ -1511,6 +1560,10 @@ msgstr "无法在离线模式下更新应用列表缓存" msgid "Unassigned Shards" msgstr "未分配的分片" +#: internal/service/file.go:597 +msgid "Uncompress %v" +msgstr "解压 %v" + #: internal/service/environment_php.go:343 msgid "Uninstall PHP-%d %s module" msgstr "卸载 PHP-%d %s 模块" @@ -1523,7 +1576,7 @@ msgstr "卸载 Prometheus exporter %s" msgid "Uninstall app %s" msgstr "卸载应用 %s" -#: internal/route/cli.go:484 +#: internal/route/cli.go:491 msgid "Uninstall application" msgstr "卸载应用" @@ -1531,7 +1584,7 @@ msgstr "卸载应用" msgid "Uninstall environment %s" msgstr "卸载环境 %s" -#: internal/service/cli.go:836 +#: internal/service/cli.go:859 msgid "Unsupported rotation type: %s" msgstr "不支持的轮转类型:%s" @@ -1539,13 +1592,17 @@ msgstr "不支持的轮转类型:%s" msgid "Unused container images: %d" msgstr "未使用的容器镜像: %d" -#: internal/data/backup.go:1306 +#: internal/data/backup.go:1299 msgid "Unzip backup file failed: %v" msgstr "解压备份文件失败:%v" -#: internal/data/backup.go:1333 -msgid "Unzip panel data failed: %v" -msgstr "解压面板数据失败:%v" +#: internal/data/backup.go:1426 +msgid "Unzip new version failed, missing file" +msgstr "解压新版本失败,缺少文件" + +#: internal/data/backup.go:1423 +msgid "Unzip new version failed: %v" +msgstr "解压新版本失败:%v" #: internal/route/cli.go:46 msgid "Update AcePanel to the latest version" @@ -1559,10 +1616,14 @@ msgstr "更新操作" msgid "Update app %s" msgstr "更新应用 %s" -#: internal/route/cli.go:489 +#: internal/route/cli.go:496 msgid "Update application" msgstr "更新应用" +#: internal/data/backup.go:1443 +msgid "Update completed" +msgstr "更新完成" + #: internal/data/environment.go:207 msgid "Update environment %s" msgstr "更新环境 %s" @@ -1581,27 +1642,27 @@ msgstr "运行时间(秒)" msgid "Uptime in Days" msgstr "已运行天数" -#: internal/service/cli.go:249 -#: internal/service/cli.go:276 -#: internal/service/cli.go:303 -#: internal/service/cli.go:345 +#: internal/service/cli.go:272 +#: internal/service/cli.go:299 +#: internal/service/cli.go:326 +#: internal/service/cli.go:368 msgid "User not exists" msgstr "用户不存在" -#: internal/service/cli.go:259 +#: internal/service/cli.go:282 msgid "Username %s changed to %s successfully" msgstr "用户名 %s 已成功更改为 %s" -#: internal/service/cli.go:268 +#: internal/service/cli.go:291 msgid "Username and password cannot be empty" msgstr "用户名和密码不能为空" -#: internal/service/cli.go:298 -#: internal/service/cli.go:340 +#: internal/service/cli.go:321 +#: internal/service/cli.go:363 msgid "Username cannot be empty" msgstr "用户名不能为空" -#: internal/service/cli.go:193 +#: internal/service/cli.go:212 msgid "Username: %s" msgstr "用户名: %s" @@ -1609,10 +1670,14 @@ msgstr "用户名: %s" msgid "VERSION" msgstr "版本" -#: internal/data/backup.go:1412 +#: internal/data/backup.go:1417 msgid "Verify download file failed: %v" msgstr "验证下载文件失败:%v" +#: internal/data/backup.go:1415 +msgid "Verifying download file..." +msgstr "验证下载文件……" + #: internal/apps/clickhouse/app.go:96 #: internal/apps/grafana/app.go:86 #: internal/apps/mongodb/app.go:93 @@ -1623,36 +1688,36 @@ msgstr "版本" msgid "Waiting" msgstr "正在驻留等待" -#: internal/service/cli.go:218 +#: internal/service/cli.go:241 msgid "Warning: After turning off panel HTTPS, the security of the panel will be greatly reduced, please operate with caution" msgstr "警告:关闭面板 HTTPS 后,面板的安全性将大大降低,请谨慎操作" -#: internal/route/cli.go:407 +#: internal/route/cli.go:414 #: internal/service/toolbox_migration.go:431 msgid "Website" msgstr "网站" -#: internal/service/cli.go:594 +#: internal/service/cli.go:617 msgid "Website %s created successfully" msgstr "网站 %s 创建成功" -#: internal/service/cli.go:630 +#: internal/service/cli.go:653 msgid "Website %s deleted successfully" msgstr "网站 %s 删除成功" -#: internal/service/cli.go:611 +#: internal/service/cli.go:634 msgid "Website %s removed successfully" msgstr "网站 %s 移除成功" -#: internal/route/cli.go:172 +#: internal/route/cli.go:179 msgid "Website management" msgstr "网站管理" -#: internal/route/cli.go:181 -#: internal/route/cli.go:214 -#: internal/route/cli.go:227 -#: internal/route/cli.go:311 -#: internal/route/cli.go:413 +#: internal/route/cli.go:188 +#: internal/route/cli.go:221 +#: internal/route/cli.go:234 +#: internal/route/cli.go:318 +#: internal/route/cli.go:420 msgid "Website name" msgstr "网站名称" @@ -1669,11 +1734,11 @@ msgstr "西部数码" msgid "Workers" msgstr "工作进程" -#: internal/route/cli.go:519 +#: internal/route/cli.go:526 msgid "Write panel setting (use only under guidance)" msgstr "写入面板设置(仅在指导下使用)" -#: internal/route/cli.go:235 +#: internal/route/cli.go:242 msgid "Write website data (use only under guidance)" msgstr "写入网站数据(仅在指导下使用)" @@ -1728,22 +1793,23 @@ msgstr "应用未找到" msgid "background task is running, modifying some settings is prohibited, please try again later" msgstr "后台任务正在运行,禁止修改某些设置,请稍后再试" -#: internal/service/home.go:405 -#: internal/service/home.go:415 +#: internal/service/home.go:403 +#: internal/service/home.go:413 msgid "background task is running, restart is prohibited, please try again later" msgstr "后台任务正在运行,禁止重启,请稍后再试" #: internal/service/home.go:371 +#: internal/service/ws.go:409 msgid "background task is running, updating is prohibited, please try again later" msgstr "后台任务正在运行,禁止更新,请稍后再试" -#: internal/data/backup.go:236 +#: internal/data/backup.go:246 msgid "backup file not exists" msgstr "备份文件不存在" -#: internal/data/backup.go:310 -#: internal/data/backup.go:391 -#: internal/data/backup.go:90 +#: internal/data/backup.go:320 +#: internal/data/backup.go:401 +#: internal/data/backup.go:92 msgid "backup storage not found" msgstr "未找到备份存储" @@ -1759,7 +1825,7 @@ msgstr "btrfs 文件系统未挂载,逻辑卷已扩展但文件系统未调整 msgid "can't download a directory" msgstr "无法下载目录" -#: internal/data/website.go:547 +#: internal/data/website.go:572 msgid "can't find %s database server, please add it first" msgstr "找不到 %s 数据库服务器,请先添加" @@ -1776,7 +1842,7 @@ msgstr "无法初始化系统磁盘" msgid "check server connection failed" msgstr "检查服务器连接失败" -#: internal/service/file.go:795 +#: internal/service/file.go:806 msgid "chunk hash mismatch" msgstr "分块哈希不匹配" @@ -1784,7 +1850,7 @@ msgstr "分块哈希不匹配" msgid "client ip changed, please login again" msgstr "客户端 IP 已更改,请重新登录" -#: internal/service/ws.go:185 +#: internal/service/ws.go:195 msgid "command is empty" msgstr "命令为空" @@ -1796,16 +1862,16 @@ msgstr "编排 %s 已存在" msgid "compressing directory: %s" msgstr "正在压缩目录:%s" -#: internal/data/backup.go:1189 +#: internal/data/backup.go:1199 msgid "could not find .sql backup file" msgstr "找不到 .sql 备份文件" #: internal/service/file.go:305 -#: internal/service/file.go:718 +#: internal/service/file.go:729 msgid "create directory error: %v" msgstr "创建目录错误:%v" -#: internal/service/file.go:838 +#: internal/service/file.go:849 msgid "create target file error: %v" msgstr "创建目标文件错误:%v" @@ -1825,12 +1891,12 @@ msgstr "正在远程服务器上创建项目" msgid "creating website on remote server" msgstr "正在远程服务器上创建网站" -#: internal/data/backup.go:541 -#: internal/data/backup.go:599 -#: internal/data/backup.go:660 -#: internal/data/backup.go:837 -#: internal/data/backup.go:873 -#: internal/data/backup.go:911 +#: internal/data/backup.go:551 +#: internal/data/backup.go:609 +#: internal/data/backup.go:670 +#: internal/data/backup.go:847 +#: internal/data/backup.go:883 +#: internal/data/backup.go:921 msgid "database does not exist: %s" msgstr "数据库不存在:%s" @@ -1872,7 +1938,7 @@ msgstr "目录 %s 不存在" msgid "disk space is insufficient, current free %s" msgstr "磁盘空间不足,当前可用 %s" -#: internal/data/backup.go:1092 +#: internal/data/backup.go:1102 msgid "dump.rdb not found in backup file" msgstr "备份文件中找不到 dump.rdb" @@ -1940,10 +2006,6 @@ msgstr "应用 PostgreSQL 配置失败:%v" msgid "failed to check ssh connection: %v" msgstr "检查 ssh 连接失败:%v" -#: internal/data/backup.go:1261 -msgid "failed to clean temporary files: %v" -msgstr "清理临时文件失败:%v" - #: internal/service/systemctl.go:153 msgid "failed to clear log for %s service: %v" msgstr "无法清除 %s 服务的日志:%v" @@ -1968,7 +2030,7 @@ msgstr "创建 .ssh 目录失败:%v" msgid "failed to create database user on remote: %v" msgstr "在远程创建数据库用户失败:%v" -#: internal/service/ws.go:309 +#: internal/service/ws.go:319 msgid "failed to create docker client: %v" msgstr "创建 docker 客户端失败:%v" @@ -2032,11 +2094,11 @@ msgstr "禁用 %s 服务失败:%v" msgid "failed to enable %s service: %v" msgstr "启用 %s 服务失败:%v" -#: internal/service/ws.go:323 +#: internal/service/ws.go:333 msgid "failed to encode auth: %v" msgstr "编码认证信息失败:%v" -#: internal/data/backup.go:1044 +#: internal/data/backup.go:1054 msgid "failed to export RDB snapshot" msgstr "导出 RDB 快照失败" @@ -2199,7 +2261,7 @@ msgstr "获取 grafana 状态失败:%v" msgid "failed to get home apps: %v" msgstr "获取主页应用失败: %v" -#: internal/data/website.go:442 +#: internal/data/website.go:467 msgid "failed to get index template file: %v" msgstr "获取首页模板文件失败:%v" @@ -2281,12 +2343,14 @@ msgid "failed to get system info: %v" msgstr "获取系统信息失败: %v" #: internal/service/home.go:384 +#: internal/service/ws.go:420 msgid "failed to get the latest version download link" msgstr "获取最新版本下载链接失败" #: internal/service/home.go:300 #: internal/service/home.go:336 #: internal/service/home.go:378 +#: internal/service/ws.go:415 msgid "failed to get the latest version: %v" msgstr "获取最新版本失败: %v" @@ -2354,8 +2418,8 @@ msgstr "解析 SMART 信息失败:%v" #: internal/data/cert.go:103 #: internal/data/setting.go:348 #: internal/data/setting.go:422 -#: internal/data/website.go:616 -#: internal/data/website.go:957 +#: internal/data/website.go:642 +#: internal/data/website.go:983 msgid "failed to parse certificate: %v" msgstr "解析证书失败: %v" @@ -2366,8 +2430,8 @@ msgstr "无法解析磁盘列表:%v" #: internal/data/cert.go:106 #: internal/data/setting.go:351 #: internal/data/setting.go:425 -#: internal/data/website.go:619 -#: internal/data/website.go:960 +#: internal/data/website.go:645 +#: internal/data/website.go:986 msgid "failed to parse private key: %v" msgstr "解析私钥失败: %v" @@ -2391,16 +2455,16 @@ msgstr "解析 fail2ban 的 ignoreip 失败" msgid "failed to parse version: %v" msgstr "解析版本失败: %v" -#: internal/service/ws.go:332 +#: internal/service/ws.go:342 msgid "failed to pull image: %v" msgstr "拉取镜像失败:%v" -#: internal/service/ws.go:80 +#: internal/service/ws.go:90 msgid "failed to read command output: %v" msgstr "读取命令输出失败: %v" -#: internal/service/ws.go:180 -#: internal/service/ws.go:63 +#: internal/service/ws.go:190 +#: internal/service/ws.go:73 msgid "failed to read command: %v" msgstr "读取命令失败: %v" @@ -2416,8 +2480,8 @@ msgstr "读取 fstab 失败:%v" msgid "failed to read generated key: %v" msgstr "读取生成的密钥失败:%v" -#: internal/service/ws.go:297 -#: internal/service/ws.go:408 +#: internal/service/ws.go:307 +#: internal/service/ws.go:472 msgid "failed to read params: %v" msgstr "读取参数失败:%v" @@ -2493,7 +2557,7 @@ msgstr "重启 %s 失败: %v" msgid "failed to restart MySQL: %v" msgstr "重启 MySQL 失败: %v" -#: internal/service/ws.go:69 +#: internal/service/ws.go:79 msgid "failed to run command: %v" msgstr "运行命令失败: %v" @@ -2547,7 +2611,7 @@ msgstr "设置 postgres 密码失败: %v" msgid "failed to start %s service: %v" msgstr "启动 %s 服务失败: %v" -#: internal/service/ws.go:271 +#: internal/service/ws.go:281 msgid "failed to start container terminal: %v" msgstr "启动容器终端失败:%v" @@ -2638,7 +2702,7 @@ msgstr "gRPC 是一个高性能、开源和通用的 RPC 框架" msgid "get service port failed, please check if it is installed" msgstr "获取服务端口失败,请检查是否安装" -#: internal/service/file.go:772 +#: internal/service/file.go:783 msgid "get upload file error: %v" msgstr "获取上传文件错误:%v" @@ -2672,8 +2736,8 @@ msgstr "无效的密钥,请刷新页面" msgid "invalid logical volume size" msgstr "无效的逻辑卷大小" -#: internal/service/ws.go:302 -#: internal/service/ws.go:415 +#: internal/service/ws.go:312 +#: internal/service/ws.go:479 msgid "invalid params: %v" msgstr "无效的参数:%v" @@ -2704,7 +2768,7 @@ msgstr "无效的签名" msgid "invalid size" msgstr "无效的大小" -#: internal/service/home.go:439 +#: internal/service/home.go:437 msgid "invalid type" msgstr "无效的类型" @@ -2724,11 +2788,11 @@ msgstr "签发证书,域名:%s" msgid "journalctl is not available" msgstr "journalctl 不可用" -#: internal/data/backup.go:288 +#: internal/data/backup.go:298 msgid "log file %s not exists" msgstr "日志文件 %s 不存在" -#: internal/data/website.go:1112 +#: internal/data/website.go:1138 msgid "maximum number of custom configurations reached (limit: %d)" msgstr "已达到自定义配置的最大数量(限制:%d)" @@ -2805,10 +2869,18 @@ msgstr "获取并保存证书" msgid "open file error: %v" msgstr "打开文件错误: %v" -#: internal/service/file.go:778 +#: internal/service/file.go:789 msgid "open upload file error: %v" msgstr "打开上传文件错误:%v" +#: internal/data/backup.go:1503 +msgid "panel binary is missing after update" +msgstr "更新后面板二进制文件丢失" + +#: internal/data/backup.go:1367 +msgid "panel is already updating, please try again later" +msgstr "面板正在更新,请稍后再试" + #: internal/http/middleware/status.go:23 msgid "panel is closed" msgstr "面板已关闭" @@ -2825,6 +2897,10 @@ msgstr "面板正在升级,请稍后刷新" msgid "panel run error, please check or contact support" msgstr "面板运行错误,请检查或联系技术支持" +#: internal/data/backup.go:1499 +msgid "panel service file is missing" +msgstr "面板服务文件丢失" + #: internal/service/toolbox_disk.go:120 msgid "partition has no UUID" msgstr "分区没有 UUID" @@ -2837,20 +2913,20 @@ msgstr "密钥登录失败:%v" msgid "passkey registration failed: %v" msgstr "通行密钥注册失败:%v" -#: internal/data/backup.go:761 +#: internal/data/backup.go:771 msgid "path does not exist: %s" msgstr "路径不存在:%s" -#: internal/data/backup.go:764 +#: internal/data/backup.go:774 msgid "path is not a directory: %s" msgstr "路径不是目录:%s" -#: internal/service/file.go:765 +#: internal/service/file.go:776 msgid "path, file_name and file_hash are required" msgstr "path,file_name 和 file_hash 是必需的" #: internal/service/file.go:133 -#: internal/service/ws.go:96 +#: internal/service/ws.go:106 msgid "path, service or container is required" msgstr "路径、服务或容器是必填项" @@ -2918,15 +2994,15 @@ msgstr "protobuf 是一个用于序列化和反序列化数据的库" msgid "rdkafka is a library for connecting to Apache Kafka" msgstr "rdkafka 是一个用于连接 Apache Kafka 的库" -#: internal/service/file.go:855 +#: internal/service/file.go:866 msgid "read chunk %d error: %v" msgstr "读取分块 %d 错误:%v" -#: internal/service/file.go:786 +#: internal/service/file.go:797 msgid "read chunk data error: %v" msgstr "读取分块数据错误:%v" -#: internal/service/file.go:727 +#: internal/service/file.go:738 msgid "read directory error: %v" msgstr "读取目录错误:%v" @@ -2954,7 +3030,7 @@ msgstr "找不到规则" msgid "running" msgstr "运行中" -#: internal/data/website.go:594 +#: internal/data/website.go:620 msgid "runtime directory does not exist" msgstr "运行目录不存在" @@ -2962,7 +3038,7 @@ msgstr "运行目录不存在" msgid "s3 configuration error: %v" msgstr "S3 配置错误:%v" -#: internal/service/file.go:805 +#: internal/service/file.go:816 msgid "save chunk error: %v" msgstr "保存分块错误:%v" @@ -3065,8 +3141,8 @@ msgid "target is a directory" msgstr "目标是一个目录" #: internal/service/file.go:294 -#: internal/service/file.go:711 -#: internal/service/file.go:826 +#: internal/service/file.go:722 +#: internal/service/file.go:837 msgid "target path %s already exists" msgstr "目标路径 %s 已存在" @@ -3105,6 +3181,7 @@ msgid "unable to check for updates in offline mode" msgstr "离线模式下无法检查更新" #: internal/service/home.go:366 +#: internal/service/ws.go:405 msgid "unable to update in offline mode" msgstr "离线模式下无法更新" @@ -3112,8 +3189,8 @@ msgstr "离线模式下无法更新" msgid "unknown" msgstr "未知" -#: internal/data/backup.go:140 -#: internal/data/backup.go:254 +#: internal/data/backup.go:142 +#: internal/data/backup.go:264 msgid "unknown backup type" msgstr "未知备份类型" @@ -3126,7 +3203,7 @@ msgstr "未知日志类型" msgid "unknown service" msgstr "未知服务" -#: internal/data/backup.go:483 +#: internal/data/backup.go:493 msgid "unknown storage type" msgstr "未知存储类型" @@ -3156,13 +3233,13 @@ msgstr "不支持的文件系统类型:%s" msgid "unsupported system" msgstr "不支持的系统" -#: internal/data/website.go:1214 -#: internal/data/website.go:1268 +#: internal/data/website.go:1240 +#: internal/data/website.go:1294 msgid "unsupported web server: %s" msgstr "不支持的 Web 服务器:%s" #: internal/data/cert.go:532 -#: internal/data/website.go:1180 +#: internal/data/website.go:1206 msgid "unsupported website type: %s" msgstr "不支持的网站类型:%s" @@ -3246,11 +3323,11 @@ msgstr "未找到 Web 钩子" msgid "webhook script not found" msgstr "未找到 Web 钩子脚本" -#: internal/data/website.go:799 +#: internal/data/website.go:825 msgid "website %s has bound certificates, please delete the certificate first" msgstr "网站 %s 已绑定证书,请先删除证书" -#: internal/data/website.go:601 +#: internal/data/website.go:627 msgid "website directory does not exist" msgstr "网站目录不存在" @@ -3263,11 +3340,11 @@ msgstr "网站迁移完成" msgid "wildcard domains cannot use HTTP verification" msgstr "通配符域名不能使用 HTTP 验证" -#: internal/data/website.go:990 +#: internal/data/website.go:1016 msgid "wildcard domains require DNS verification, please select a DNS provider" msgstr "通配符域名需要 DNS 验证,请选择一个 DNS 提供商" -#: internal/service/file.go:861 +#: internal/service/file.go:872 msgid "write chunk %d error: %v" msgstr "写入分块 %d 错误:%v" @@ -3299,248 +3376,145 @@ msgstr "yaml 是一个用于处理 YAML 的库" msgid "zstd is a library for compressing and decompressing files" msgstr "zstd 是一个压缩和解压文件的库" -#: internal/data/backup.go:1295 +#: internal/data/backup.go:1288 msgid "|-Backup file used: %s" msgstr "|-使用的备份文件:%s" -#: internal/data/backup.go:1065 -#: internal/data/backup.go:206 -#: internal/data/backup.go:523 -#: internal/data/backup.go:581 -#: internal/data/backup.go:639 -#: internal/data/backup.go:732 -#: internal/data/backup.go:796 +#: internal/data/backup.go:1075 +#: internal/data/backup.go:216 +#: internal/data/backup.go:533 +#: internal/data/backup.go:591 +#: internal/data/backup.go:649 +#: internal/data/backup.go:742 +#: internal/data/backup.go:806 msgid "|-Backup file: %s" msgstr "|-备份文件:%s" -#: internal/data/backup.go:1433 -msgid "|-Backup panel data failed, missing file" -msgstr "|-备份面板数据失败,缺少文件" - -#: internal/data/backup.go:1427 -#: internal/data/backup.go:1430 -msgid "|-Backup panel data failed: %v" -msgstr "|-备份面板数据失败:%v" - -#: internal/data/backup.go:1423 -msgid "|-Backup panel data..." -msgstr "|-备份面板数据……" - -#: internal/data/backup.go:120 +#: internal/data/backup.go:122 msgid "|-Backup storage: %s" msgstr "|-备份存储:%s" -#: internal/data/backup.go:121 +#: internal/data/backup.go:123 msgid "|-Backup target: %s" msgstr "|-备份目标:%s" -#: internal/data/backup.go:144 -#: internal/data/backup.go:205 +#: internal/data/backup.go:146 +#: internal/data/backup.go:215 msgid "|-Backup time: %s" msgstr "|-备份时间:%s" -#: internal/data/backup.go:119 +#: internal/data/backup.go:121 msgid "|-Backup type: %s" msgstr "|-备份类型:%s" -#: internal/service/cli.go:691 +#: internal/service/cli.go:714 msgid "|-Backup type: panel" msgstr "|-备份类型:面板" -#: internal/data/backup.go:1453 -msgid "|-Clean up temporary file failed: %v" -msgstr "|-清理临时文件失败:%v" - -#: internal/data/backup.go:1415 -msgid "|-Clean up verification file failed: %v" -msgstr "|-清理验证文件失败:%v" - -#: internal/data/backup.go:1264 -msgid "|-Cleaned up temporary files, please run acepanel update to update the panel" -msgstr "|-已清理临时文件,请运行 acepanel update 更新面板" - -#: internal/data/backup.go:376 -#: internal/data/backup.go:440 +#: internal/data/backup.go:386 +#: internal/data/backup.go:450 msgid "|-Cleaning expired file: %s" msgstr "|-清理过期文件:%s" -#: internal/data/backup.go:1440 -msgid "|-Cleaning old version failed: %v" -msgstr "|-清理旧版本失败:%v" - -#: internal/data/backup.go:1437 -msgid "|-Cleaning old version..." -msgstr "|-清理旧版本……" - -#: internal/service/cli.go:707 -#: internal/service/cli.go:814 +#: internal/service/cli.go:730 +#: internal/service/cli.go:837 msgid "|-Cleaning target: %s" msgstr "|-清理目标:%s" -#: internal/service/cli.go:706 -#: internal/service/cli.go:813 +#: internal/service/cli.go:729 +#: internal/service/cli.go:836 msgid "|-Cleaning type: %s" msgstr "|-清理类型:%s" -#: internal/data/backup.go:1391 -msgid "|-Download link: %s" -msgstr "|-下载链接:%s" - -#: internal/data/backup.go:1476 -msgid "|-Download panel service file failed: %v" -msgstr "|-下载面板服务文件失败:%v" - -#: internal/data/backup.go:1396 -msgid "|-Downloading..." -msgstr "|-下载中……" - -#: internal/data/backup.go:1392 -msgid "|-File name: %s" -msgstr "|-文件名:%s" - -#: internal/data/backup.go:1248 -#: internal/data/backup.go:1372 +#: internal/data/backup.go:1257 +#: internal/data/backup.go:1352 msgid "|-Fix completed" msgstr "|-修复完成" -#: internal/data/backup.go:1241 +#: internal/data/backup.go:1250 msgid "|-Found %s.db is abnormal, removed it" msgstr "|-发现 %s.db 异常,已删除" -#: internal/service/cli.go:708 -#: internal/service/cli.go:815 +#: internal/service/cli.go:731 +#: internal/service/cli.go:838 msgid "|-Keep count: %d" msgstr "|-保留数量:%d" -#: internal/data/backup.go:1482 -msgid "|-Move acepanel tool failed: %v" -msgstr "|-移动 acepanel 工具失败:%v" - -#: internal/data/backup.go:1311 +#: internal/data/backup.go:1304 msgid "|-Move backup file..." msgstr "|-移动备份文件……" -#: internal/data/backup.go:1463 -msgid "|-Restore panel data failed, missing file" -msgstr "|-恢复面板数据失败,缺少文件" - -#: internal/data/backup.go:1460 -msgid "|-Restore panel data failed: %v" -msgstr "|-恢复面板数据失败:%v" - -#: internal/data/backup.go:1329 -#: internal/data/backup.go:1457 -msgid "|-Restore panel data..." -msgstr "|-恢复面板数据……" - -#: internal/service/cli.go:738 -#: internal/service/cli.go:784 +#: internal/service/cli.go:761 +#: internal/service/cli.go:807 msgid "|-Rotation target: %s" msgstr "|-轮转目标:%s" -#: internal/service/cli.go:783 +#: internal/service/cli.go:806 msgid "|-Rotation type: container" msgstr "|-轮转类型:container" -#: internal/service/cli.go:737 +#: internal/service/cli.go:760 msgid "|-Rotation type: website" msgstr "|-轮转类型:website" -#: internal/data/backup.go:1470 -msgid "|-Run post-update script failed: %v" -msgstr "|-运行更新后脚本失败:%v" - -#: internal/data/backup.go:1467 -msgid "|-Run post-update script..." -msgstr "|-运行更新后脚本……" - -#: internal/data/backup.go:1349 -#: internal/data/backup.go:1486 +#: internal/data/backup.go:1329 msgid "|-Set key file permissions..." msgstr "|-设置关键文件权限……" -#: internal/data/backup.go:1197 +#: internal/data/backup.go:1207 msgid "|-Start fixing the panel..." msgstr "|-开始修复面板……" -#: internal/data/backup.go:1390 -msgid "|-Target version: %s" -msgstr "|-目标版本:%s" - -#: internal/data/backup.go:1035 -#: internal/data/backup.go:502 -#: internal/data/backup.go:552 -#: internal/data/backup.go:610 -#: internal/data/backup.go:671 -#: internal/data/backup.go:775 +#: internal/data/backup.go:1045 +#: internal/data/backup.go:512 +#: internal/data/backup.go:562 +#: internal/data/backup.go:620 +#: internal/data/backup.go:681 +#: internal/data/backup.go:785 msgid "|-Temporary directory: %s" msgstr "|-临时目录:%s" -#: internal/data/backup.go:1300 +#: internal/data/backup.go:1293 msgid "|-Unzip backup file..." msgstr "|-解压备份文件……" -#: internal/data/backup.go:1450 -msgid "|-Unzip new version failed, missing file" -msgstr "|-解压新版本失败,缺少文件" - -#: internal/data/backup.go:1447 -msgid "|-Unzip new version failed: %v" -msgstr "|-解压新版本失败:%v" - -#: internal/data/backup.go:1444 -msgid "|-Unzip new version..." -msgstr "|-解压新版本……" - -#: internal/data/backup.go:1493 -msgid "|-Update completed" -msgstr "|-更新完成" - -#: internal/data/backup.go:1409 -msgid "|-Verify download file..." -msgstr "|-验证下载文件……" - -#: internal/data/backup.go:1479 -msgid "|-Write new panel version failed: %v" -msgstr "|-写入新面板版本失败:%v" - -#: internal/data/backup.go:117 -#: internal/service/cli.go:689 +#: internal/data/backup.go:119 +#: internal/service/cli.go:712 msgid "★ Start backup [%s]" msgstr "★ 开始备份 [%s]" -#: internal/service/cli.go:704 +#: internal/service/cli.go:727 msgid "★ Start cleaning [%s]" msgstr "★ 开始清理 [%s]" -#: internal/service/cli.go:811 +#: internal/service/cli.go:834 msgid "★ Start cleaning rotated logs [%s]" msgstr "★ 开始清理轮转日志 [%s]" -#: internal/service/cli.go:735 -#: internal/service/cli.go:781 +#: internal/service/cli.go:758 +#: internal/service/cli.go:804 msgid "★ Start log rotation [%s]" msgstr "★ 开始轮转日志 [%s]" -#: internal/data/backup.go:165 +#: internal/data/backup.go:167 msgid "☆ Backup completed [%s]" msgstr "☆ 备份完成 [%s]" -#: internal/data/backup.go:155 +#: internal/data/backup.go:157 msgid "☆ Backup failed: %v [%s]" msgstr "☆ 备份失败:%v [%s]" -#: internal/service/cli.go:696 +#: internal/service/cli.go:719 msgid "☆ Backup successful [%s]" msgstr "☆ 备份成功 [%s]" -#: internal/service/cli.go:722 -#: internal/service/cli.go:847 +#: internal/service/cli.go:745 +#: internal/service/cli.go:870 msgid "☆ Cleaning successful [%s]" msgstr "☆ 清理成功 [%s]" -#: internal/service/cli.go:760 -#: internal/service/cli.go:799 +#: internal/service/cli.go:783 +#: internal/service/cli.go:822 msgid "☆ Rotation successful [%s]" msgstr "☆ 轮转成功 [%s]" diff --git a/pkg/embed/locales/zh_TW/backend.po b/pkg/embed/locales/zh_TW/backend.po index f6103642..bbb1e618 100644 --- a/pkg/embed/locales/zh_TW/backend.po +++ b/pkg/embed/locales/zh_TW/backend.po @@ -13,7 +13,7 @@ msgstr "" "X-Crowdin-File-ID: 1166\n" "Project-Id-Version: acepanel\n" "Language-Team: Chinese Traditional\n" -"PO-Revision-Date: 2026-06-07 18:29\n" +"PO-Revision-Date: 2026-07-02 18:30\n" #: internal/service/toolbox_log.go:257 msgid "%d images" @@ -27,11 +27,11 @@ msgstr "%s 不支援資料庫註釋" msgid ".NET-%s is not installed" msgstr ".NET-%s 未安裝" -#: internal/service/cli.go:314 +#: internal/service/cli.go:337 msgid "2FA disabled for user %s" msgstr "用戶 %s 已禁用兩步驗證" -#: internal/service/cli.go:322 +#: internal/service/cli.go:345 msgid "2FA url: %s" msgstr "兩步驗證 URL: %s" @@ -97,11 +97,11 @@ msgstr "活躍分片" msgid "Active connections" msgstr "活動連接" -#: internal/route/cli.go:247 +#: internal/route/cli.go:254 msgid "Add database server" msgstr "添加數據庫伺服器" -#: internal/route/cli.go:494 +#: internal/route/cli.go:501 msgid "Add panel application mark (use only under guidance)" msgstr "添加面板應用標記(僅在指導下使用)" @@ -109,11 +109,11 @@ msgstr "添加面板應用標記(僅在指導下使用)" msgid "Aliyun" msgstr "阿里雲" -#: internal/service/cli.go:354 +#: internal/service/cli.go:377 msgid "All passkeys cleared for user %s" msgstr "已清除使用者 %s 的所有通行金鑰" -#: internal/service/cli.go:1014 +#: internal/service/cli.go:1037 msgid "Already initialized" msgstr "已經初始化過了" @@ -121,27 +121,27 @@ msgstr "已經初始化過了" msgid "App %s %s" msgstr "應用 %s %s" -#: internal/service/cli.go:863 +#: internal/service/cli.go:886 msgid "App %s installed successfully" msgstr "應用程式 %s 安裝成功" -#: internal/service/cli.go:877 +#: internal/service/cli.go:900 msgid "App %s uninstalled successfully" msgstr "應用程式 %s 解除安裝成功" -#: internal/service/cli.go:891 +#: internal/service/cli.go:914 msgid "App %s updated successfully" msgstr "應用程式 %s 更新成功" -#: internal/service/cli.go:860 +#: internal/service/cli.go:883 msgid "App install failed: %v" msgstr "應用程式安裝失敗:%v" -#: internal/service/cli.go:874 +#: internal/service/cli.go:897 msgid "App uninstall failed: %v" msgstr "應用程式解除安裝失敗:%v" -#: internal/service/cli.go:888 +#: internal/service/cli.go:911 msgid "App update failed: %v" msgstr "應用程式更新失敗:%v" @@ -149,51 +149,63 @@ msgstr "應用程式更新失敗:%v" msgid "Application Pool" msgstr "應用程序池" -#: internal/route/cli.go:475 +#: internal/route/cli.go:482 msgid "Application management" msgstr "應用管理" +#: internal/data/backup.go:1432 +msgid "Applying update failed: %v" +msgstr "應用程式更新失敗:%v" + +#: internal/data/backup.go:1430 +msgid "Applying update..." +msgstr "應用程式更新中……" + +#: internal/data/backup.go:1394 +msgid "Backing up panel data..." +msgstr "備份面板數據……" + #: internal/service/backup.go:71 msgid "Backup %s: %s" msgstr "備份 %s: %s" -#: internal/route/cli.go:323 +#: internal/route/cli.go:330 msgid "Backup database" msgstr "備份數據庫" -#: internal/route/cli.go:347 +#: internal/route/cli.go:354 msgid "Backup directory" msgstr "備份目錄" -#: internal/service/cli.go:693 +#: internal/service/cli.go:716 msgid "Backup failed: %v" msgstr "備份失敗:%v" -#: internal/route/cli.go:383 +#: internal/route/cli.go:390 msgid "Backup file" msgstr "備份文件" -#: internal/route/cli.go:365 +#: internal/route/cli.go:372 msgid "Backup panel" msgstr "備份面板" -#: internal/route/cli.go:377 +#: internal/route/cli.go:384 msgid "Backup type" msgstr "備份類型" -#: internal/route/cli.go:305 +#: internal/route/cli.go:312 msgid "Backup website" msgstr "備份網站" -#: internal/service/cli.go:516 +#: internal/service/cli.go:539 msgid "Bind IP disabled" msgstr "繫結 IP 已禁用" -#: internal/service/cli.go:532 +#: internal/service/cli.go:555 msgid "Bind UA disabled" msgstr "繫結 UA 已禁用" -#: internal/service/cli.go:500 +#: internal/service/cli.go:523 msgid "Bind domain disabled" msgstr "繫結網域已禁用" @@ -248,49 +260,45 @@ msgstr "版權" msgid "Calendar is a library for handling dates" msgstr "Calendar 是一個用於處理日期的庫" -#: internal/route/cli.go:80 +#: internal/route/cli.go:87 msgid "Change a user's password" msgstr "更改用戶密碼" -#: internal/route/cli.go:75 +#: internal/route/cli.go:82 msgid "Change a user's username" msgstr "更改用戶使用者名稱" -#: internal/route/cli.go:167 +#: internal/route/cli.go:174 msgid "Change the AcePanel listening port" msgstr "更改 AcePanel 監聽端口" -#: internal/service/cli.go:712 -#: internal/service/cli.go:717 +#: internal/service/cli.go:735 +#: internal/service/cli.go:740 msgid "Cleaning failed: %v" msgstr "清理失敗:%v" -#: internal/data/backup.go:1303 +#: internal/data/backup.go:1296 msgid "Cleaning temporary directory failed: %v" msgstr "清理臨時目錄失敗:%v" -#: internal/data/backup.go:1336 -msgid "Cleaning temporary file failed: %v" -msgstr "清理臨時檔案失敗:%v" - -#: internal/data/backup.go:379 -#: internal/data/backup.go:443 +#: internal/data/backup.go:389 +#: internal/data/backup.go:453 msgid "Cleanup failed: %v" msgstr "清理失敗:%v" -#: internal/route/cli.go:90 +#: internal/route/cli.go:97 msgid "Clear all passkeys for a user" msgstr "清除使用者的所有通行金鑰" -#: internal/route/cli.go:538 +#: internal/route/cli.go:545 msgid "Clear all tasks in the task queue if they are stuck (use only under guidance)" msgstr "清除任務佇列中所有卡住的任務(僅在指導下使用)" -#: internal/route/cli.go:371 +#: internal/route/cli.go:378 msgid "Clear backups" msgstr "清理備份" -#: internal/route/cli.go:443 +#: internal/route/cli.go:450 msgid "Clear rotated logs" msgstr "清除旋轉日誌" @@ -317,6 +325,10 @@ msgstr "叢集狀態" msgid "Commands Per Second" msgstr "每秒執行命令數" +#: internal/service/file.go:571 +msgid "Compress %v" +msgstr "壓縮 %v" + #: internal/apps/prometheus/app.go:100 msgid "Config Reload Success" msgstr "設定重載成功" @@ -326,19 +338,19 @@ msgstr "設定重載成功" msgid "Connected Clients" msgstr "已連接客戶端數" -#: internal/route/cli.go:425 +#: internal/route/cli.go:432 msgid "Container" msgstr "容器" -#: internal/service/cli.go:775 +#: internal/service/cli.go:798 msgid "Container %s has no log file" msgstr "容器 %s 沒有日誌檔案" -#: internal/route/cli.go:431 +#: internal/route/cli.go:438 msgid "Container name" msgstr "容器名稱" -#: internal/route/cli.go:176 +#: internal/route/cli.go:183 msgid "Create new website" msgstr "創建新網站" @@ -351,11 +363,11 @@ msgstr "目前連線數" msgid "DESCRIPTION" msgstr "描述" -#: internal/route/cli.go:301 +#: internal/route/cli.go:308 msgid "Data backup" msgstr "數據備份" -#: internal/service/cli.go:153 +#: internal/service/cli.go:159 msgid "Data synchronized successfully" msgstr "數據同步成功" @@ -368,23 +380,23 @@ msgstr "資料庫" msgid "Database User" msgstr "資料庫使用者" -#: internal/route/cli.go:243 +#: internal/route/cli.go:250 msgid "Database management" msgstr "數據庫管理" -#: internal/route/cli.go:335 +#: internal/route/cli.go:342 msgid "Database name" msgstr "數據庫名稱" -#: internal/service/cli.go:654 +#: internal/service/cli.go:677 msgid "Database server %s added successfully" msgstr "數據庫伺服器 %s 添加成功" -#: internal/service/cli.go:668 +#: internal/service/cli.go:691 msgid "Database server %s deleted successfully" msgstr "數據庫伺服器 %s 刪除成功" -#: internal/route/cli.go:329 +#: internal/route/cli.go:336 msgid "Database type" msgstr "數據庫類型" @@ -396,35 +408,35 @@ msgstr "資料庫" msgid "Delete Operations" msgstr "刪除操作" -#: internal/route/cli.go:286 +#: internal/route/cli.go:293 msgid "Delete database server" msgstr "刪除數據庫服務器" -#: internal/route/cli.go:222 +#: internal/route/cli.go:229 msgid "Delete website (including website directory, database with the same name)" msgstr "刪除網站(包括網站目錄、同名數據庫)" -#: internal/route/cli.go:353 +#: internal/route/cli.go:360 msgid "Directory path" msgstr "目錄路徑" -#: internal/route/cli.go:106 +#: internal/route/cli.go:113 msgid "Disable HTTPS" msgstr "禁用 HTTPS" -#: internal/route/cli.go:149 +#: internal/route/cli.go:156 msgid "Disable IP binding" msgstr "禁用繫結 IP" -#: internal/route/cli.go:160 +#: internal/route/cli.go:167 msgid "Disable UA binding" msgstr "禁用繫結 UA" -#: internal/route/cli.go:127 +#: internal/route/cli.go:134 msgid "Disable access entrance" msgstr "禁用訪問入口" -#: internal/route/cli.go:138 +#: internal/route/cli.go:145 msgid "Disable domain binding" msgstr "禁用繫結網域" @@ -436,12 +448,12 @@ msgstr "Docker 容器日誌:%d 個文件" msgid "Download URL is empty" msgstr "下載 URL 為空" -#: internal/data/backup.go:1399 -#: internal/data/backup.go:1402 +#: internal/data/backup.go:1405 +#: internal/data/backup.go:1408 msgid "Download failed: %v" msgstr "下載失敗:%v" -#: internal/data/backup.go:1405 +#: internal/data/backup.go:1411 msgid "Download file check failed" msgstr "下載文件檢查失敗" @@ -449,15 +461,19 @@ msgstr "下載文件檢查失敗" msgid "Download remote file %v" msgstr "下載遠程文件 %v" +#: internal/data/backup.go:1403 +msgid "Downloading new version..." +msgstr "正在下載新版本……" + #: internal/apps/prometheus/app.go:408 msgid "Elasticsearch metrics" msgstr "Elasticsearch 指標" -#: internal/route/cli.go:101 +#: internal/route/cli.go:108 msgid "Enable HTTPS" msgstr "啟用 HTTPS" -#: internal/route/cli.go:122 +#: internal/route/cli.go:129 msgid "Enable access entrance" msgstr "啟用訪問入口" @@ -465,16 +481,16 @@ msgstr "啟用訪問入口" msgid "Enchant is a spell-checking library" msgstr "Enchant 是一個拼寫檢查庫" -#: internal/service/cli.go:484 +#: internal/service/cli.go:507 msgid "Entrance disabled" msgstr "入口已禁用" -#: internal/service/cli.go:467 +#: internal/service/cli.go:490 msgid "Entrance enabled" msgstr "入口已啟用" -#: internal/service/cli.go:196 -#: internal/service/cli.go:468 +#: internal/service/cli.go:219 +#: internal/service/cli.go:491 msgid "Entrance: %s" msgstr "入口: %s" @@ -486,60 +502,72 @@ msgstr "Event 是一個用於處理事件的庫" msgid "Exif is a library for reading and writing image metadata" msgstr "Exif 是一個用於讀取和寫入圖像元數據的庫" -#: internal/service/cli.go:312 +#: internal/data/backup.go:1421 +msgid "Extracting new version..." +msgstr "正在提取新版本……" + +#: internal/service/cli.go:335 msgid "Failed to change 2FA status: %v" msgstr "修改兩步驗證狀態失敗:%v" -#: internal/service/cli.go:287 +#: internal/service/cli.go:310 msgid "Failed to change password: %v" msgstr "修改密碼失敗:%v" -#: internal/service/cli.go:256 +#: internal/service/cli.go:279 msgid "Failed to change username: %v" msgstr "修改使用者名稱失敗:%v" -#: internal/service/cli.go:351 +#: internal/data/backup.go:1387 +msgid "Failed to clean up temporary directory: %v" +msgstr "清理臨時目錄失敗:%v" + +#: internal/service/cli.go:374 msgid "Failed to clear passkeys: %v" msgstr "清除通行金鑰失敗:%v" -#: internal/service/cli.go:951 +#: internal/service/cli.go:974 msgid "Failed to clear tasks: %v" msgstr "清除任務失敗:%v" -#: internal/service/cli.go:926 +#: internal/data/backup.go:1401 +msgid "Failed to create temporary directory: %v" +msgstr "創建臨時目錄失敗:%v" + +#: internal/service/cli.go:949 msgid "Failed to delete app: %v" msgstr "刪除應用失敗:%v" -#: internal/service/cli.go:1005 +#: internal/service/cli.go:1028 msgid "Failed to delete setting: %v" msgstr "刪除設置失敗:%v" -#: internal/service/cli.go:320 +#: internal/service/cli.go:343 msgid "Failed to generate 2FA: %v" msgstr "生成兩步驗證失敗:%v" -#: internal/service/cli.go:170 -#: internal/service/cli.go:283 +#: internal/service/cli.go:183 +#: internal/service/cli.go:306 msgid "Failed to generate password: %v" msgstr "生成密碼失敗:%v" -#: internal/service/cli.go:426 +#: internal/service/cli.go:449 msgid "Failed to get ACME account: %v" msgstr "獲取 ACME 帳戶失敗:%v" -#: internal/service/cli.go:422 +#: internal/service/cli.go:445 msgid "Failed to get a panel user: %v" msgstr "獲取面板用戶失敗:%v" -#: internal/service/cli.go:906 +#: internal/service/cli.go:929 msgid "Failed to get app: %v" msgstr "獲取應用失敗:%v" -#: internal/service/cli.go:771 +#: internal/service/cli.go:794 msgid "Failed to get container log path: %v" msgstr "無法獲取容器日誌路徑:%v" -#: internal/service/cli.go:190 +#: internal/service/cli.go:209 msgid "Failed to get entrance" msgstr "獲取入口失敗" @@ -547,69 +575,74 @@ msgstr "獲取入口失敗" msgid "Failed to get latest version: %v" msgstr "無法獲取最新版本:%v" -#: internal/service/cli.go:186 +#: internal/service/cli.go:205 msgid "Failed to get port" msgstr "無法獲取端口" -#: internal/service/cli.go:969 -#: internal/service/cli.go:986 +#: internal/service/cli.go:1009 +#: internal/service/cli.go:992 msgid "Failed to get setting: %v" msgstr "無法獲取設置:%v" -#: internal/service/cli.go:164 +#: internal/service/cli.go:170 msgid "Failed to get user info: %v" msgstr "無法獲取用戶信息:%v" -#: internal/service/cli.go:226 +#: internal/service/cli.go:249 msgid "Failed to get user list: %v" msgstr "無法獲取用戶列表:%v" -#: internal/service/cli.go:251 -#: internal/service/cli.go:278 -#: internal/service/cli.go:305 -#: internal/service/cli.go:347 +#: internal/service/cli.go:274 +#: internal/service/cli.go:301 +#: internal/service/cli.go:328 +#: internal/service/cli.go:370 msgid "Failed to get user: %v" msgstr "無法獲取用戶:%v" -#: internal/service/cli.go:432 +#: internal/service/cli.go:455 msgid "Failed to obtain panel certificate via ACME, using self-signed certificate" msgstr "無法通過 ACME 獲取面板證書,使用自簽名證書" -#: internal/service/cli.go:327 +#: internal/data/backup.go:1390 +msgid "Failed to optimize database: %v" +msgstr "優化資料庫失敗:%v" + +#: internal/service/cli.go:350 msgid "Failed to read input: %v" msgstr "讀取輸入失敗: %v" -#: internal/data/backup.go:1238 +#: internal/data/backup.go:1247 msgid "Failed to remove %s.db: %v" msgstr "無法刪除 %s.db:%v" -#: internal/service/cli.go:913 +#: internal/service/cli.go:936 msgid "Failed to save app: %v" msgstr "無法保存應用:%v" -#: internal/service/cli.go:992 +#: internal/service/cli.go:1015 +#: internal/service/cli.go:194 msgid "Failed to save setting: %v" msgstr "無法保存設置:%v" -#: internal/service/cli.go:176 +#: internal/service/cli.go:189 msgid "Failed to save user info: %v" msgstr "無法保存用戶信息:%v" -#: internal/service/ws.go:192 +#: internal/service/ws.go:202 msgid "Failed to start command: %v" msgstr "啟動命令失敗:%v" -#: internal/service/cli.go:144 -#: internal/service/cli.go:147 #: internal/service/cli.go:150 +#: internal/service/cli.go:153 +#: internal/service/cli.go:156 msgid "Failed to synchronize app data: %v" msgstr "同步應用程式資料失敗:%v" -#: internal/service/cli.go:141 +#: internal/service/cli.go:147 msgid "Failed to synchronize categories data: %v" msgstr "同步分類資料失敗:%v" -#: internal/service/cli.go:330 +#: internal/service/cli.go:353 msgid "Failed to update 2FA: %v" msgstr "更新兩步驗證失敗: %v" @@ -617,10 +650,18 @@ msgstr "更新兩步驗證失敗: %v" msgid "Fileinfo is a library used to identify file types" msgstr "Fileinfo 是一個用於識別文件類型的庫" -#: internal/data/backup.go:1228 +#: internal/data/backup.go:1237 msgid "Files are normal and do not need to be repaired, please run acepanel update to update the panel" msgstr "文件正常,無需修復,請運行 acepanel update 更新面板" +#: internal/data/backup.go:1436 +msgid "Finishing up..." +msgstr "正在結束更新……" + +#: internal/data/backup.go:1438 +msgid "Finishing update failed: %v" +msgstr "結束更新失敗:%v" + #: internal/route/cli.go:56 msgid "Fix AcePanel upgrade issues" msgstr "修復 AcePanel 升級問題" @@ -629,6 +670,10 @@ msgstr "修復 AcePanel 升級問題" msgid "Flush Disk Type" msgstr "刷盤類型" +#: internal/route/cli.go:67 +msgid "Force reset password" +msgstr "強制重設密碼" + #: internal/bootstrap/cli.go:34 msgid "Forum:https://tom.moe" msgstr "論壇:https://tom.moe" @@ -657,7 +702,7 @@ msgstr "Gcore" msgid "Get AcePanel service status" msgstr "獲取 AcePanel 服務狀態" -#: internal/route/cli.go:513 +#: internal/route/cli.go:520 msgid "Get panel setting (use only under guidance)" msgstr "獲取面板設置(僅在指導下使用)" @@ -675,15 +720,15 @@ msgstr "Go-%s 未安裝" msgid "Goroutine Count" msgstr "Goroutine 數量" -#: internal/service/cli.go:451 +#: internal/service/cli.go:474 msgid "HTTPS certificate generated" msgstr "HTTPS 憑證已生成" -#: internal/service/cli.go:386 +#: internal/service/cli.go:409 msgid "HTTPS disabled" msgstr "HTTPS 已停用" -#: internal/service/cli.go:370 +#: internal/service/cli.go:393 msgid "HTTPS enabled" msgstr "HTTPS 已啟用" @@ -695,7 +740,7 @@ msgstr "硬體和作業系統指標" msgid "Huawei Cloud" msgstr "華為雲" -#: internal/service/cli.go:230 +#: internal/service/cli.go:253 msgid "ID: %d, Username: %s, Email: %s, Created At: %s" msgstr "ID: %d, 使用者名稱: %s, 電子郵件: %s, 創建時間: %s" @@ -711,11 +756,11 @@ msgstr "空閒進程" msgid "Idle Workers" msgstr "空閒的 Worker" -#: internal/service/cli.go:216 +#: internal/service/cli.go:239 msgid "If you cannot access, please check whether the server's security group and firewall allow port %d" msgstr "如果您無法訪問,請檢查伺服器的安全組和防火牆是否放行端口 %d" -#: internal/service/cli.go:217 +#: internal/service/cli.go:240 msgid "If you still cannot access, try running `acepanel https off` to turn off panel HTTPS" msgstr "如果您仍然無法訪問,請嘗試運行 `acepanel https off` 關閉面板 HTTPS" @@ -731,14 +776,14 @@ msgstr "ImageMagick 是一個創建、編輯、合成圖片的免費軟件" msgid "Index Hit Rate" msgstr "索引命中率" -#: internal/service/cli.go:1061 -#: internal/service/cli.go:1066 -#: internal/service/cli.go:1071 -#: internal/service/cli.go:1113 +#: internal/service/cli.go:1084 +#: internal/service/cli.go:1089 +#: internal/service/cli.go:1094 +#: internal/service/cli.go:1136 msgid "Initialization failed: %v" msgstr "初始化失敗:%v" -#: internal/route/cli.go:544 +#: internal/route/cli.go:551 msgid "Initialize AcePanel (use only under guidance)" msgstr "初始化 AcePanel(僅在指導下使用)" @@ -762,7 +807,7 @@ msgstr "安裝 Prometheus exporter %s" msgid "Install app %s" msgstr "安裝應用 %s" -#: internal/route/cli.go:479 +#: internal/route/cli.go:486 msgid "Install application" msgstr "安裝應用程式" @@ -805,15 +850,15 @@ msgstr "LDAP 是一種用於訪問目錄服務的協議" msgid "Latest Fork Time (ms)" msgstr "最近一次 fork() 操作耗費的毫秒數" -#: internal/route/cli.go:70 +#: internal/route/cli.go:77 msgid "List all users" msgstr "列出所有用戶" -#: internal/route/cli.go:187 +#: internal/route/cli.go:194 msgid "List of domains associated with the website" msgstr "與網站關聯的域名列表" -#: internal/route/cli.go:193 +#: internal/route/cli.go:200 msgid "List of listening addresses associated with the website" msgstr "與網站關聯的監聽地址列表" @@ -833,15 +878,15 @@ msgstr "監聽佇列長度" msgid "Listeners" msgstr "監聽器" -#: internal/service/cli.go:200 +#: internal/service/cli.go:223 msgid "Local IPv4: %s://%s:%d%s" msgstr "本地 IPv4: %s://%s:%d%s" -#: internal/service/cli.go:204 +#: internal/service/cli.go:227 msgid "Local IPv6: %s://[%s]:%d%s" msgstr "本地 IPv6: %s://[%s]:%d%s" -#: internal/data/backup.go:96 +#: internal/data/backup.go:98 #: internal/data/backup_storage.go:62 msgid "Local Storage" msgstr "本地存儲" @@ -858,7 +903,7 @@ msgstr "日誌保留小時數" msgid "Log Segment Bytes" msgstr "日誌段位元組數" -#: internal/route/cli.go:403 +#: internal/route/cli.go:410 msgid "Log rotation" msgstr "日誌輪替" @@ -908,11 +953,11 @@ msgstr "遷移已開始" msgid "MongoDB metrics" msgstr "MongoDB 指標" -#: internal/data/backup.go:1323 +#: internal/data/backup.go:1316 msgid "Move acepanel file failed: %v" msgstr "移動 acepanel 文件失敗:%v" -#: internal/data/backup.go:1318 +#: internal/data/backup.go:1311 msgid "Move panel file failed: %v" msgstr "移動面板檔案失敗:%v" @@ -938,7 +983,7 @@ msgstr "NameServer 狀態" msgid "NameSilo" msgstr "NameSilo" -#: internal/service/cli.go:244 +#: internal/service/cli.go:267 msgid "New username cannot be empty" msgstr "新使用者名稱不能為空" @@ -946,7 +991,7 @@ msgstr "新使用者名稱不能為空" msgid "Nginx metrics" msgstr "Nginx 指標" -#: internal/data/backup.go:1290 +#: internal/data/backup.go:1283 msgid "No backup file found, unable to automatically repair" msgstr "未找到備份檔案,無法自動修復" @@ -960,7 +1005,7 @@ msgstr "節點 ID" msgid "Node.js-%s is not installed" msgstr "Node.js-%s 未安裝" -#: internal/service/cli.go:635 +#: internal/service/cli.go:658 msgid "Not supported" msgstr "不支援" @@ -982,11 +1027,11 @@ msgstr "資料節點數量" msgid "Number of Nodes" msgstr "節點數量" -#: internal/route/cli.go:389 +#: internal/route/cli.go:396 msgid "Number of backups to keep" msgstr "要保留的備份數量" -#: internal/route/cli.go:461 +#: internal/route/cli.go:468 msgid "Number of logs to keep" msgstr "要保留的日誌數量" @@ -999,11 +1044,11 @@ msgstr "選項" msgid "OPcache stores precompiled PHP script bytecode in shared memory to improve PHP performance" msgstr "OPcache 將 PHP 腳本預編譯的位元組碼儲存到共享記憶體中來提升 PHP 的效能" -#: internal/route/cli.go:111 +#: internal/route/cli.go:118 msgid "Obtain a free certificate or generate a self-signed certificate" msgstr "獲取免費證書或生成自簽名證書" -#: internal/service/cli.go:241 +#: internal/service/cli.go:264 msgid "Old username cannot be empty" msgstr "舊使用者名稱不能為空" @@ -1011,35 +1056,35 @@ msgstr "舊使用者名稱不能為空" msgid "Open Tables" msgstr "已開啟的表" -#: internal/route/cli.go:97 +#: internal/route/cli.go:104 msgid "Operate AcePanel HTTPS" msgstr "操作 AcePanel HTTPS" -#: internal/route/cli.go:145 +#: internal/route/cli.go:152 msgid "Operate AcePanel IP binding" msgstr "操作 AcePanel 綁定 IP" -#: internal/route/cli.go:156 +#: internal/route/cli.go:163 msgid "Operate AcePanel UA binding" msgstr "操作 AcePanel 綁定 UA" -#: internal/route/cli.go:118 +#: internal/route/cli.go:125 msgid "Operate AcePanel access entrance" msgstr "操作 AcePanel 訪問入口" -#: internal/route/cli.go:134 +#: internal/route/cli.go:141 msgid "Operate AcePanel domain binding" msgstr "操作 AcePanel 綁定域名" -#: internal/route/cli.go:66 +#: internal/route/cli.go:73 msgid "Operate AcePanel users" msgstr "操作 AcePanel 用戶" #: internal/route/cli.go:61 -msgid "Output AcePanel basic information and generate new password" -msgstr "輸出 AcePanel 基本資訊並生成新密碼" +msgid "Output AcePanel basic information" +msgstr "輸出 AcePanel 基本信息" -#: internal/route/cli.go:203 +#: internal/route/cli.go:210 msgid "PHP version used by the website (not used if not filled)" msgstr "網站使用的 PHP 版本(不填則不使用)" @@ -1061,14 +1106,14 @@ msgstr "網站使用的 PHP 版本(不填則不使用)" msgid "PHP-%d is not installed" msgstr "PHP-%d 未安裝" -#: internal/service/cli.go:1001 -#: internal/service/cli.go:856 -#: internal/service/cli.go:870 -#: internal/service/cli.go:884 -#: internal/service/cli.go:900 -#: internal/service/cli.go:922 -#: internal/service/cli.go:961 -#: internal/service/cli.go:980 +#: 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 msgid "Parameters cannot be empty" msgstr "參數不能為空" @@ -1076,19 +1121,23 @@ msgstr "參數不能為空" msgid "Passkey" msgstr "通行金鑰" -#: internal/service/cli.go:290 +#: internal/service/cli.go:313 msgid "Password for user %s changed successfully" msgstr "用戶 %s 的密碼已成功更改" -#: internal/service/cli.go:271 +#: internal/service/cli.go:294 msgid "Password length cannot be less than 6" msgstr "密碼長度不能少於6位" -#: internal/service/cli.go:194 +#: internal/service/cli.go:214 msgid "Password: %s" msgstr "密碼: %s" -#: internal/route/cli.go:199 +#: internal/service/cli.go:216 +msgid "Password: ******* (use -f to force reset)" +msgstr "密碼:******* (使用 -f 強制重置)" + +#: internal/route/cli.go:206 msgid "Path where the website is hosted (default path if not filled)" msgstr "網站託管的路徑(不填則使用默認路徑)" @@ -1105,15 +1154,15 @@ msgstr "佔用記憶體峰值" msgid "PhpRedis connects to and operates on data in Redis databases (requires the igbinary module installed above)" msgstr "PhpRedis 連接並操作 Redis 資料庫上的資料(需先安裝上面 igbinary 模組)" -#: internal/service/cli.go:215 +#: internal/service/cli.go:238 msgid "Please choose the appropriate address to access the panel based on your network situation" msgstr "請根據您的網絡情況選擇合適的地址訪問面板" -#: internal/service/cli.go:324 +#: internal/service/cli.go:347 msgid "Please enter the 2FA code: " msgstr "請輸入兩步驗證代碼: " -#: internal/service/cli.go:417 +#: internal/service/cli.go:440 msgid "Please set the panel IP in settings first for ACME certificate generation" msgstr "請先在設置中設置面板 IP 以生成 ACME 證書" @@ -1125,19 +1174,19 @@ msgstr "Podman 容器日誌:%d 個文件" msgid "Porkbun" msgstr "Porkbun" -#: internal/service/cli.go:549 +#: internal/service/cli.go:572 msgid "Port already in use" msgstr "端口已被佔用" -#: internal/service/cli.go:575 +#: internal/service/cli.go:598 msgid "Port changed to %d" msgstr "端口已更改為 %d" -#: internal/service/cli.go:539 +#: internal/service/cli.go:562 msgid "Port range error" msgstr "端口範圍錯誤" -#: internal/service/cli.go:195 +#: internal/service/cli.go:218 msgid "Port: %d" msgstr "端口:%d" @@ -1145,6 +1194,10 @@ msgstr "端口:%d" msgid "PostgreSQL database metrics" msgstr "PostgreSQL 資料庫指標" +#: internal/data/backup.go:1385 +msgid "Preparing to update to %s..." +msgstr "正在準備更新至 %s……" + #: internal/apps/postgresql/app.go:173 msgid "Process Count" msgstr "進程數" @@ -1165,11 +1218,11 @@ msgstr "項目" msgid "Pspell is a spell-checking library" msgstr "Pspell 是一個拼寫檢查庫" -#: internal/service/cli.go:208 +#: internal/service/cli.go:231 msgid "Public IPv4: %s://%s:%d%s" msgstr "公網 IPv4: %s://%s:%d%s" -#: internal/service/cli.go:212 +#: internal/service/cli.go:235 msgid "Public IPv6: %s://[%s]:%d%s" msgstr "公網 IPv6: %s://[%s]:%d%s" @@ -1220,19 +1273,19 @@ msgstr "Redis 指標" msgid "Relocating Shards" msgstr "遷移中的分片" -#: internal/route/cli.go:500 +#: internal/route/cli.go:507 msgid "Remove panel application mark (use only under guidance)" msgstr "移除面板應用標記(僅在指導下使用)" -#: internal/data/backup.go:1315 +#: internal/data/backup.go:1308 msgid "Remove panel file failed: %v" msgstr "刪除面板檔案失敗:%v" -#: internal/route/cli.go:525 +#: internal/route/cli.go:532 msgid "Remove panel setting (use only under guidance)" msgstr "移除面板設置(僅在指導下使用)" -#: internal/route/cli.go:209 +#: internal/route/cli.go:216 msgid "Remove website" msgstr "移除網站" @@ -1252,7 +1305,7 @@ msgstr "重啟 AcePanel 服務" msgid "Rollbacks per Second" msgstr "每秒回滾" -#: internal/route/cli.go:449 +#: internal/route/cli.go:456 msgid "Rotation type" msgstr "旋轉類型" @@ -1268,32 +1321,32 @@ msgstr "未找到 SSH 日誌檔案" msgid "SSH2 is a library for connecting to SSH servers" msgstr "SSH2 是一個用於連接 SSH 伺服器的程式庫" -#: internal/route/cli.go:262 +#: internal/route/cli.go:269 msgid "Server address" msgstr "伺服器地址" -#: internal/route/cli.go:257 -#: internal/route/cli.go:291 +#: internal/route/cli.go:264 +#: internal/route/cli.go:298 msgid "Server name" msgstr "伺服器名稱" -#: internal/route/cli.go:276 +#: internal/route/cli.go:283 msgid "Server password" msgstr "伺服器密碼" -#: internal/route/cli.go:267 +#: internal/route/cli.go:274 msgid "Server port" msgstr "伺服器端口" -#: internal/route/cli.go:280 +#: internal/route/cli.go:287 msgid "Server remark" msgstr "伺服器備註" -#: internal/route/cli.go:252 +#: internal/route/cli.go:259 msgid "Server type" msgstr "伺服器類型" -#: internal/route/cli.go:272 +#: internal/route/cli.go:279 msgid "Server username" msgstr "伺服器用戶名" @@ -1301,11 +1354,11 @@ msgstr "伺服器用戶名" msgid "Session save handler is not files, cannot clean" msgstr "Session 保存處理程序不是 files,無法清理" -#: internal/route/cli.go:508 +#: internal/route/cli.go:515 msgid "Setting management" msgstr "設置管理" -#: internal/service/cli.go:967 +#: internal/service/cli.go:990 msgid "Setting not exists" msgstr "設置不存在" @@ -1335,13 +1388,13 @@ msgstr "停止 AcePanel 服務" msgid "Storage Engine" msgstr "儲存引擎" -#: internal/route/cli.go:317 -#: internal/route/cli.go:341 -#: internal/route/cli.go:359 -#: internal/route/cli.go:395 -#: internal/route/cli.go:419 -#: internal/route/cli.go:437 -#: internal/route/cli.go:467 +#: internal/route/cli.go:324 +#: internal/route/cli.go:348 +#: internal/route/cli.go:366 +#: internal/route/cli.go:402 +#: internal/route/cli.go:426 +#: internal/route/cli.go:444 +#: internal/route/cli.go:474 msgid "Storage ID (local storage if not filled)" msgstr "存儲 ID(留空則為本地存儲)" @@ -1357,7 +1410,7 @@ msgstr "存儲使用" msgid "Subqueries without Index" msgstr "沒有索引的子查詢" -#: internal/service/cli.go:430 +#: internal/service/cli.go:453 msgid "Successfully obtained panel certificate via ACME" msgstr "成功通過 ACME 獲取面板證書" @@ -1373,7 +1426,7 @@ msgstr "Swow 是構建高性能異步並發伺服器的 PHP 模組" msgid "Sync AcePanel cached data with cloud" msgstr "與雲端同步 AcePanel 快取資料" -#: internal/route/cli.go:533 +#: internal/route/cli.go:540 msgid "Sync server time with NTP" msgstr "與 NTP 同步伺服器時間" @@ -1402,11 +1455,11 @@ msgstr "等待表鎖定" msgid "Tables" msgstr "表" -#: internal/route/cli.go:455 +#: internal/route/cli.go:462 msgid "Target name" msgstr "目標名稱" -#: internal/service/cli.go:954 +#: internal/service/cli.go:977 msgid "Tasks cleared successfully" msgstr "任務已成功清除" @@ -1414,23 +1467,19 @@ msgstr "任務已成功清除" msgid "Temporary Tables Created on Disk" msgstr "在磁碟上創建的臨時表" -#: internal/data/backup.go:1419 -msgid "Temporary file detected in /tmp, this may be caused by the last update failure, please run acepanel fix to repair and try again" -msgstr "在 /tmp 中檢測到臨時文件,這可能是上次更新失敗導致的,請運行 acepanel fix 進行修復並重試" - #: internal/service/cert.go:64 msgid "Tencent Cloud" msgstr "騰訊雲" -#: internal/data/backup.go:1181 +#: internal/data/backup.go:1191 msgid "The number of files contained in the compressed file is not 1, actual %d" msgstr "壓縮檔案包含的檔案數量不為1,實際為 %d" -#: internal/service/cli.go:942 +#: internal/service/cli.go:965 msgid "Time synchronized successfully" msgstr "時間同步成功" -#: internal/route/cli.go:85 +#: internal/route/cli.go:92 msgid "Toggle two-factor authentication for a user" msgstr "開關用戶兩步驗證" @@ -1511,6 +1560,10 @@ msgstr "無法在離線模式下更新應用程式列表快取" msgid "Unassigned Shards" msgstr "未分配的分片" +#: internal/service/file.go:597 +msgid "Uncompress %v" +msgstr "解壓 %v" + #: internal/service/environment_php.go:343 msgid "Uninstall PHP-%d %s module" msgstr "卸載 PHP-%d %s 模組" @@ -1523,7 +1576,7 @@ msgstr "解除安裝 Prometheus exporter %s" msgid "Uninstall app %s" msgstr "卸載應用 %s" -#: internal/route/cli.go:484 +#: internal/route/cli.go:491 msgid "Uninstall application" msgstr "卸載應用" @@ -1531,7 +1584,7 @@ msgstr "卸載應用" msgid "Uninstall environment %s" msgstr "卸載環境 %s" -#: internal/service/cli.go:836 +#: internal/service/cli.go:859 msgid "Unsupported rotation type: %s" msgstr "不支援的輪轉類型:%s" @@ -1539,13 +1592,17 @@ msgstr "不支援的輪轉類型:%s" msgid "Unused container images: %d" msgstr "未使用的容器鏡像:%d" -#: internal/data/backup.go:1306 +#: internal/data/backup.go:1299 msgid "Unzip backup file failed: %v" msgstr "解壓備份檔案失敗:%v" -#: internal/data/backup.go:1333 -msgid "Unzip panel data failed: %v" -msgstr "解壓面板數據失敗:%v" +#: internal/data/backup.go:1426 +msgid "Unzip new version failed, missing file" +msgstr "解壓新版本失敗,缺少檔案" + +#: internal/data/backup.go:1423 +msgid "Unzip new version failed: %v" +msgstr "解壓新版本失敗:%v" #: internal/route/cli.go:46 msgid "Update AcePanel to the latest version" @@ -1559,10 +1616,14 @@ msgstr "更新操作" msgid "Update app %s" msgstr "更新應用 %s" -#: internal/route/cli.go:489 +#: internal/route/cli.go:496 msgid "Update application" msgstr "更新應用" +#: internal/data/backup.go:1443 +msgid "Update completed" +msgstr "更新完成" + #: internal/data/environment.go:207 msgid "Update environment %s" msgstr "更新環境 %s" @@ -1581,27 +1642,27 @@ msgstr "執行時間(秒)" msgid "Uptime in Days" msgstr "已運行天數" -#: internal/service/cli.go:249 -#: internal/service/cli.go:276 -#: internal/service/cli.go:303 -#: internal/service/cli.go:345 +#: internal/service/cli.go:272 +#: internal/service/cli.go:299 +#: internal/service/cli.go:326 +#: internal/service/cli.go:368 msgid "User not exists" msgstr "使用者不存在" -#: internal/service/cli.go:259 +#: internal/service/cli.go:282 msgid "Username %s changed to %s successfully" msgstr "使用者名稱 %s 已成功更改為 %s" -#: internal/service/cli.go:268 +#: internal/service/cli.go:291 msgid "Username and password cannot be empty" msgstr "使用者名稱和密碼不能為空" -#: internal/service/cli.go:298 -#: internal/service/cli.go:340 +#: internal/service/cli.go:321 +#: internal/service/cli.go:363 msgid "Username cannot be empty" msgstr "使用者名稱不能為空" -#: internal/service/cli.go:193 +#: internal/service/cli.go:212 msgid "Username: %s" msgstr "使用者名稱: %s" @@ -1609,10 +1670,14 @@ msgstr "使用者名稱: %s" msgid "VERSION" msgstr "版本" -#: internal/data/backup.go:1412 +#: internal/data/backup.go:1417 msgid "Verify download file failed: %v" msgstr "驗證下載文件失敗:%v" +#: internal/data/backup.go:1415 +msgid "Verifying download file..." +msgstr "驗證下載檔案……" + #: internal/apps/clickhouse/app.go:96 #: internal/apps/grafana/app.go:86 #: internal/apps/mongodb/app.go:93 @@ -1623,36 +1688,36 @@ msgstr "版本" msgid "Waiting" msgstr "正在駐留等待" -#: internal/service/cli.go:218 +#: internal/service/cli.go:241 msgid "Warning: After turning off panel HTTPS, the security of the panel will be greatly reduced, please operate with caution" msgstr "警告:關閉面板 HTTPS 後,面板的安全性將大大降低,請謹慎操作" -#: internal/route/cli.go:407 +#: internal/route/cli.go:414 #: internal/service/toolbox_migration.go:431 msgid "Website" msgstr "網站" -#: internal/service/cli.go:594 +#: internal/service/cli.go:617 msgid "Website %s created successfully" msgstr "網站 %s 創建成功" -#: internal/service/cli.go:630 +#: internal/service/cli.go:653 msgid "Website %s deleted successfully" msgstr "網站 %s 刪除成功" -#: internal/service/cli.go:611 +#: internal/service/cli.go:634 msgid "Website %s removed successfully" msgstr "網站 %s 移除成功" -#: internal/route/cli.go:172 +#: internal/route/cli.go:179 msgid "Website management" msgstr "網站管理" -#: internal/route/cli.go:181 -#: internal/route/cli.go:214 -#: internal/route/cli.go:227 -#: internal/route/cli.go:311 -#: internal/route/cli.go:413 +#: internal/route/cli.go:188 +#: internal/route/cli.go:221 +#: internal/route/cli.go:234 +#: internal/route/cli.go:318 +#: internal/route/cli.go:420 msgid "Website name" msgstr "網站名稱" @@ -1669,11 +1734,11 @@ msgstr "西部數碼" msgid "Workers" msgstr "工作進程" -#: internal/route/cli.go:519 +#: internal/route/cli.go:526 msgid "Write panel setting (use only under guidance)" msgstr "寫入面板設置(僅在指導下使用)" -#: internal/route/cli.go:235 +#: internal/route/cli.go:242 msgid "Write website data (use only under guidance)" msgstr "寫入網站數據(僅在指導下使用)" @@ -1728,22 +1793,23 @@ msgstr "找不到應用" msgid "background task is running, modifying some settings is prohibited, please try again later" msgstr "後台任務正在運行,禁止修改某些設置,請稍後再試" -#: internal/service/home.go:405 -#: internal/service/home.go:415 +#: internal/service/home.go:403 +#: internal/service/home.go:413 msgid "background task is running, restart is prohibited, please try again later" msgstr "後台任務正在運行,禁止重啟,請稍後再試" #: internal/service/home.go:371 +#: internal/service/ws.go:409 msgid "background task is running, updating is prohibited, please try again later" msgstr "後台任務正在運行,禁止更新,請稍後再試" -#: internal/data/backup.go:236 +#: internal/data/backup.go:246 msgid "backup file not exists" msgstr "備份文件不存在" -#: internal/data/backup.go:310 -#: internal/data/backup.go:391 -#: internal/data/backup.go:90 +#: internal/data/backup.go:320 +#: internal/data/backup.go:401 +#: internal/data/backup.go:92 msgid "backup storage not found" msgstr "未找到備份存儲" @@ -1759,7 +1825,7 @@ msgstr "btrfs 檔案系統未掛載,邏輯卷已擴展但檔案系統未調整 msgid "can't download a directory" msgstr "無法下載目錄" -#: internal/data/website.go:547 +#: internal/data/website.go:572 msgid "can't find %s database server, please add it first" msgstr "找不到 %s 數據庫服務器,請先添加" @@ -1776,7 +1842,7 @@ msgstr "無法初始化系統磁碟" msgid "check server connection failed" msgstr "檢查伺服器連接失敗" -#: internal/service/file.go:795 +#: internal/service/file.go:806 msgid "chunk hash mismatch" msgstr "分塊哈希不匹配" @@ -1784,7 +1850,7 @@ msgstr "分塊哈希不匹配" msgid "client ip changed, please login again" msgstr "客戶端 IP 已更改,請重新登入" -#: internal/service/ws.go:185 +#: internal/service/ws.go:195 msgid "command is empty" msgstr "命令為空" @@ -1796,16 +1862,16 @@ msgstr "編排 %s 已存在" msgid "compressing directory: %s" msgstr "正在壓縮目錄:%s" -#: internal/data/backup.go:1189 +#: internal/data/backup.go:1199 msgid "could not find .sql backup file" msgstr "找不到 .sql 備份檔案" #: internal/service/file.go:305 -#: internal/service/file.go:718 +#: internal/service/file.go:729 msgid "create directory error: %v" msgstr "創建目錄錯誤:%v" -#: internal/service/file.go:838 +#: internal/service/file.go:849 msgid "create target file error: %v" msgstr "創建目標文件錯誤:%v" @@ -1825,12 +1891,12 @@ msgstr "正在遠端伺服器上建立項目" msgid "creating website on remote server" msgstr "正在遠端伺服器上建立網站" -#: internal/data/backup.go:541 -#: internal/data/backup.go:599 -#: internal/data/backup.go:660 -#: internal/data/backup.go:837 -#: internal/data/backup.go:873 -#: internal/data/backup.go:911 +#: internal/data/backup.go:551 +#: internal/data/backup.go:609 +#: internal/data/backup.go:670 +#: internal/data/backup.go:847 +#: internal/data/backup.go:883 +#: internal/data/backup.go:921 msgid "database does not exist: %s" msgstr "資料庫不存在:%s" @@ -1872,7 +1938,7 @@ msgstr "目錄 %s 不存在" msgid "disk space is insufficient, current free %s" msgstr "磁盤空間不足,當前可用 %s" -#: internal/data/backup.go:1092 +#: internal/data/backup.go:1102 msgid "dump.rdb not found in backup file" msgstr "備份檔案中找不到 dump.rdb" @@ -1940,10 +2006,6 @@ msgstr "無法應用 PostgreSQL 配置:%v" msgid "failed to check ssh connection: %v" msgstr "檢查 ssh 連接失敗:%v" -#: internal/data/backup.go:1261 -msgid "failed to clean temporary files: %v" -msgstr "清理臨時文件失敗:%v" - #: internal/service/systemctl.go:153 msgid "failed to clear log for %s service: %v" msgstr "無法清除 %s 服務的日誌:%v" @@ -1968,7 +2030,7 @@ msgstr "創建 .ssh 目錄失敗:%v" msgid "failed to create database user on remote: %v" msgstr "在遠端建立資料庫使用者失敗:%v" -#: internal/service/ws.go:309 +#: internal/service/ws.go:319 msgid "failed to create docker client: %v" msgstr "創建 docker 客戶端失敗:%v" @@ -2032,11 +2094,11 @@ msgstr "禁用 %s 服務失敗:%v" msgid "failed to enable %s service: %v" msgstr "啟用 %s 服務失敗:%v" -#: internal/service/ws.go:323 +#: internal/service/ws.go:333 msgid "failed to encode auth: %v" msgstr "編碼認證信息失敗:%v" -#: internal/data/backup.go:1044 +#: internal/data/backup.go:1054 msgid "failed to export RDB snapshot" msgstr "導出 RDB 快照失敗" @@ -2199,7 +2261,7 @@ msgstr "取得 grafana 狀態失敗:%v" msgid "failed to get home apps: %v" msgstr "無法獲取主頁應用:%v" -#: internal/data/website.go:442 +#: internal/data/website.go:467 msgid "failed to get index template file: %v" msgstr "獲取首頁模板文件失敗:%v" @@ -2281,12 +2343,14 @@ msgid "failed to get system info: %v" msgstr "無法獲取系統信息:%v" #: internal/service/home.go:384 +#: internal/service/ws.go:420 msgid "failed to get the latest version download link" msgstr "無法獲取最新版本下載鏈接" #: internal/service/home.go:300 #: internal/service/home.go:336 #: internal/service/home.go:378 +#: internal/service/ws.go:415 msgid "failed to get the latest version: %v" msgstr "無法獲取最新版本:%v" @@ -2354,8 +2418,8 @@ msgstr "解析 SMART 資訊失敗:%v" #: internal/data/cert.go:103 #: internal/data/setting.go:348 #: internal/data/setting.go:422 -#: internal/data/website.go:616 -#: internal/data/website.go:957 +#: internal/data/website.go:642 +#: internal/data/website.go:983 msgid "failed to parse certificate: %v" msgstr "無法解析證書:%v" @@ -2366,8 +2430,8 @@ msgstr "無法解析磁碟列表:%v" #: internal/data/cert.go:106 #: internal/data/setting.go:351 #: internal/data/setting.go:425 -#: internal/data/website.go:619 -#: internal/data/website.go:960 +#: internal/data/website.go:645 +#: internal/data/website.go:986 msgid "failed to parse private key: %v" msgstr "解析私鑰失敗:%v" @@ -2391,16 +2455,16 @@ msgstr "無法解析 fail2ban 的 ignoreip" msgid "failed to parse version: %v" msgstr "解析版本失敗:%v" -#: internal/service/ws.go:332 +#: internal/service/ws.go:342 msgid "failed to pull image: %v" msgstr "拉取鏡像失敗:%v" -#: internal/service/ws.go:80 +#: internal/service/ws.go:90 msgid "failed to read command output: %v" msgstr "讀取命令輸出失敗:%v" -#: internal/service/ws.go:180 -#: internal/service/ws.go:63 +#: internal/service/ws.go:190 +#: internal/service/ws.go:73 msgid "failed to read command: %v" msgstr "讀取命令失敗:%v" @@ -2416,8 +2480,8 @@ msgstr "讀取 fstab 失敗:%v" msgid "failed to read generated key: %v" msgstr "讀取生成的密鑰失敗:%v" -#: internal/service/ws.go:297 -#: internal/service/ws.go:408 +#: internal/service/ws.go:307 +#: internal/service/ws.go:472 msgid "failed to read params: %v" msgstr "讀取參數失敗:%v" @@ -2493,7 +2557,7 @@ msgstr "重新啟動 %s 失敗:%v" msgid "failed to restart MySQL: %v" msgstr "重新啟動 MySQL 失敗:%v" -#: internal/service/ws.go:69 +#: internal/service/ws.go:79 msgid "failed to run command: %v" msgstr "運行命令失敗:%v" @@ -2547,7 +2611,7 @@ msgstr "設置 postgres 密碼失敗:%v" msgid "failed to start %s service: %v" msgstr "啟動 %s 服務失敗:%v" -#: internal/service/ws.go:271 +#: internal/service/ws.go:281 msgid "failed to start container terminal: %v" msgstr "啟動容器終端失敗:%v" @@ -2638,7 +2702,7 @@ msgstr "gRPC 是一個高性能、開源和通用的 RPC 框架" msgid "get service port failed, please check if it is installed" msgstr "獲取服務端口失敗,請檢查是否安裝" -#: internal/service/file.go:772 +#: internal/service/file.go:783 msgid "get upload file error: %v" msgstr "獲取上傳文件錯誤:%v" @@ -2672,8 +2736,8 @@ msgstr "無效的密鑰,請重新整理頁面" msgid "invalid logical volume size" msgstr "無效的邏輯卷大小" -#: internal/service/ws.go:302 -#: internal/service/ws.go:415 +#: internal/service/ws.go:312 +#: internal/service/ws.go:479 msgid "invalid params: %v" msgstr "無效的參數:%v" @@ -2704,7 +2768,7 @@ msgstr "無效的簽名" msgid "invalid size" msgstr "無效的大小" -#: internal/service/home.go:439 +#: internal/service/home.go:437 msgid "invalid type" msgstr "無效的類型" @@ -2724,11 +2788,11 @@ msgstr "簽發證書,域名:%s" msgid "journalctl is not available" msgstr "journalctl 不可用" -#: internal/data/backup.go:288 +#: internal/data/backup.go:298 msgid "log file %s not exists" msgstr "日誌檔案 %s 不存在" -#: internal/data/website.go:1112 +#: internal/data/website.go:1138 msgid "maximum number of custom configurations reached (limit: %d)" msgstr "已達到自定義配置的最大數量(限制:%d)" @@ -2805,10 +2869,18 @@ msgstr "獲取並保存證書" msgid "open file error: %v" msgstr "開啟檔案錯誤:%v" -#: internal/service/file.go:778 +#: internal/service/file.go:789 msgid "open upload file error: %v" msgstr "打開上傳文件錯誤:%v" +#: internal/data/backup.go:1503 +msgid "panel binary is missing after update" +msgstr "更新後缺少面板二進位檔" + +#: internal/data/backup.go:1367 +msgid "panel is already updating, please try again later" +msgstr "面板正在更新,請稍後再試" + #: internal/http/middleware/status.go:23 msgid "panel is closed" msgstr "面板已關閉" @@ -2825,6 +2897,10 @@ msgstr "面板正在升級,請稍後刷新" msgid "panel run error, please check or contact support" msgstr "面板運行錯誤,請檢查或聯繫技術支持" +#: internal/data/backup.go:1499 +msgid "panel service file is missing" +msgstr "面板服務檔案遺失" + #: internal/service/toolbox_disk.go:120 msgid "partition has no UUID" msgstr "分區沒有 UUID" @@ -2837,20 +2913,20 @@ msgstr "通行金鑰登入失敗:%v" msgid "passkey registration failed: %v" msgstr "通行金鑰註冊失敗:%v" -#: internal/data/backup.go:761 +#: internal/data/backup.go:771 msgid "path does not exist: %s" msgstr "路徑不存在:%s" -#: internal/data/backup.go:764 +#: internal/data/backup.go:774 msgid "path is not a directory: %s" msgstr "路徑不是目錄:%s" -#: internal/service/file.go:765 +#: internal/service/file.go:776 msgid "path, file_name and file_hash are required" msgstr "path,file_name 和 file_hash 是必需的" #: internal/service/file.go:133 -#: internal/service/ws.go:96 +#: internal/service/ws.go:106 msgid "path, service or container is required" msgstr "路徑、服務或容器是必填項" @@ -2918,15 +2994,15 @@ msgstr "protobuf 是一個用於序列化和反序列化數據的庫" msgid "rdkafka is a library for connecting to Apache Kafka" msgstr "rdkafka 是一個用於連接 Apache Kafka 的庫" -#: internal/service/file.go:855 +#: internal/service/file.go:866 msgid "read chunk %d error: %v" msgstr "讀取分塊 %d 錯誤:%v" -#: internal/service/file.go:786 +#: internal/service/file.go:797 msgid "read chunk data error: %v" msgstr "讀取分塊數據錯誤:%v" -#: internal/service/file.go:727 +#: internal/service/file.go:738 msgid "read directory error: %v" msgstr "讀取目錄錯誤:%v" @@ -2954,7 +3030,7 @@ msgstr "找不到規則" msgid "running" msgstr "運行中" -#: internal/data/website.go:594 +#: internal/data/website.go:620 msgid "runtime directory does not exist" msgstr "運行目錄不存在" @@ -2962,7 +3038,7 @@ msgstr "運行目錄不存在" msgid "s3 configuration error: %v" msgstr "S3 配置錯誤:%v" -#: internal/service/file.go:805 +#: internal/service/file.go:816 msgid "save chunk error: %v" msgstr "保存分塊錯誤:%v" @@ -3065,8 +3141,8 @@ msgid "target is a directory" msgstr "目標是一個目錄" #: internal/service/file.go:294 -#: internal/service/file.go:711 -#: internal/service/file.go:826 +#: internal/service/file.go:722 +#: internal/service/file.go:837 msgid "target path %s already exists" msgstr "目標路徑 %s 已存在" @@ -3105,6 +3181,7 @@ msgid "unable to check for updates in offline mode" msgstr "離線模式下無法檢查更新" #: internal/service/home.go:366 +#: internal/service/ws.go:405 msgid "unable to update in offline mode" msgstr "離線模式下無法更新" @@ -3112,8 +3189,8 @@ msgstr "離線模式下無法更新" msgid "unknown" msgstr "未知" -#: internal/data/backup.go:140 -#: internal/data/backup.go:254 +#: internal/data/backup.go:142 +#: internal/data/backup.go:264 msgid "unknown backup type" msgstr "未知備份類型" @@ -3126,7 +3203,7 @@ msgstr "未知日誌類型" msgid "unknown service" msgstr "未知服務" -#: internal/data/backup.go:483 +#: internal/data/backup.go:493 msgid "unknown storage type" msgstr "未知存儲類型" @@ -3156,13 +3233,13 @@ msgstr "不支援的檔案系統類型:%s" msgid "unsupported system" msgstr "不支援的系統" -#: internal/data/website.go:1214 -#: internal/data/website.go:1268 +#: internal/data/website.go:1240 +#: internal/data/website.go:1294 msgid "unsupported web server: %s" msgstr "不支援的 Web 伺服器:%s" #: internal/data/cert.go:532 -#: internal/data/website.go:1180 +#: internal/data/website.go:1206 msgid "unsupported website type: %s" msgstr "不支援的網站類型:%s" @@ -3246,11 +3323,11 @@ msgstr "未找到 Web 掛鉤" msgid "webhook script not found" msgstr "未找到 Web 掛鉤腳本" -#: internal/data/website.go:799 +#: internal/data/website.go:825 msgid "website %s has bound certificates, please delete the certificate first" msgstr "網站 %s 已綁定證書,請先刪除證書" -#: internal/data/website.go:601 +#: internal/data/website.go:627 msgid "website directory does not exist" msgstr "網站目錄不存在" @@ -3263,11 +3340,11 @@ msgstr "網站遷移完成" msgid "wildcard domains cannot use HTTP verification" msgstr "萬用字元網域無法使用 HTTP 驗證" -#: internal/data/website.go:990 +#: internal/data/website.go:1016 msgid "wildcard domains require DNS verification, please select a DNS provider" msgstr "萬用字元域名需要 DNS 驗證,請選擇一個 DNS 提供商" -#: internal/service/file.go:861 +#: internal/service/file.go:872 msgid "write chunk %d error: %v" msgstr "寫入分塊 %d 錯誤:%v" @@ -3299,248 +3376,145 @@ msgstr "yaml 是一個用於處理 YAML 的庫" msgid "zstd is a library for compressing and decompressing files" msgstr "zstd 是一個壓縮和解壓文件的庫" -#: internal/data/backup.go:1295 +#: internal/data/backup.go:1288 msgid "|-Backup file used: %s" msgstr "|-使用的備份檔案:%s" -#: internal/data/backup.go:1065 -#: internal/data/backup.go:206 -#: internal/data/backup.go:523 -#: internal/data/backup.go:581 -#: internal/data/backup.go:639 -#: internal/data/backup.go:732 -#: internal/data/backup.go:796 +#: internal/data/backup.go:1075 +#: internal/data/backup.go:216 +#: internal/data/backup.go:533 +#: internal/data/backup.go:591 +#: internal/data/backup.go:649 +#: internal/data/backup.go:742 +#: internal/data/backup.go:806 msgid "|-Backup file: %s" msgstr "|-備份文件:%s" -#: internal/data/backup.go:1433 -msgid "|-Backup panel data failed, missing file" -msgstr "|-備份面板數據失敗,缺少檔案" - -#: internal/data/backup.go:1427 -#: internal/data/backup.go:1430 -msgid "|-Backup panel data failed: %v" -msgstr "|-備份面板數據失敗:%v" - -#: internal/data/backup.go:1423 -msgid "|-Backup panel data..." -msgstr "|-備份面板數據……" - -#: internal/data/backup.go:120 +#: internal/data/backup.go:122 msgid "|-Backup storage: %s" msgstr "|-備份存儲:%s" -#: internal/data/backup.go:121 +#: internal/data/backup.go:123 msgid "|-Backup target: %s" msgstr "|-備份目標:%s" -#: internal/data/backup.go:144 -#: internal/data/backup.go:205 +#: internal/data/backup.go:146 +#: internal/data/backup.go:215 msgid "|-Backup time: %s" msgstr "|-備份時間:%s" -#: internal/data/backup.go:119 +#: internal/data/backup.go:121 msgid "|-Backup type: %s" msgstr "|-備份類型:%s" -#: internal/service/cli.go:691 +#: internal/service/cli.go:714 msgid "|-Backup type: panel" msgstr "|-備份類型:面板" -#: internal/data/backup.go:1453 -msgid "|-Clean up temporary file failed: %v" -msgstr "|-清理臨時文件失敗:%v" - -#: internal/data/backup.go:1415 -msgid "|-Clean up verification file failed: %v" -msgstr "|-清理驗證文件失敗:%v" - -#: internal/data/backup.go:1264 -msgid "|-Cleaned up temporary files, please run acepanel update to update the panel" -msgstr "|-已清理臨時文件,請運行 acepanel update 更新面板" - -#: internal/data/backup.go:376 -#: internal/data/backup.go:440 +#: internal/data/backup.go:386 +#: internal/data/backup.go:450 msgid "|-Cleaning expired file: %s" msgstr "|-清理過期文件:%s" -#: internal/data/backup.go:1440 -msgid "|-Cleaning old version failed: %v" -msgstr "|-清理舊版本失敗:%v" - -#: internal/data/backup.go:1437 -msgid "|-Cleaning old version..." -msgstr "|-清理舊版本……" - -#: internal/service/cli.go:707 -#: internal/service/cli.go:814 +#: internal/service/cli.go:730 +#: internal/service/cli.go:837 msgid "|-Cleaning target: %s" msgstr "|-清理目標:%s" -#: internal/service/cli.go:706 -#: internal/service/cli.go:813 +#: internal/service/cli.go:729 +#: internal/service/cli.go:836 msgid "|-Cleaning type: %s" msgstr "|-清理類型:%s" -#: internal/data/backup.go:1391 -msgid "|-Download link: %s" -msgstr "|-下載鏈接:%s" - -#: internal/data/backup.go:1476 -msgid "|-Download panel service file failed: %v" -msgstr "|-下載面板服務文件失敗:%v" - -#: internal/data/backup.go:1396 -msgid "|-Downloading..." -msgstr "|-下載中……" - -#: internal/data/backup.go:1392 -msgid "|-File name: %s" -msgstr "|-文件名:%s" - -#: internal/data/backup.go:1248 -#: internal/data/backup.go:1372 +#: internal/data/backup.go:1257 +#: internal/data/backup.go:1352 msgid "|-Fix completed" msgstr "|-修復完成" -#: internal/data/backup.go:1241 +#: internal/data/backup.go:1250 msgid "|-Found %s.db is abnormal, removed it" msgstr "|-發現 %s.db 異常,已刪除" -#: internal/service/cli.go:708 -#: internal/service/cli.go:815 +#: internal/service/cli.go:731 +#: internal/service/cli.go:838 msgid "|-Keep count: %d" msgstr "|-保留數量:%d" -#: internal/data/backup.go:1482 -msgid "|-Move acepanel tool failed: %v" -msgstr "|-移動 acepanel 工具失敗:%v" - -#: internal/data/backup.go:1311 +#: internal/data/backup.go:1304 msgid "|-Move backup file..." msgstr "|-移動備份檔案……" -#: internal/data/backup.go:1463 -msgid "|-Restore panel data failed, missing file" -msgstr "|-還原面板資料失敗,缺少檔案" - -#: internal/data/backup.go:1460 -msgid "|-Restore panel data failed: %v" -msgstr "|-還原面板數據失敗:%v" - -#: internal/data/backup.go:1329 -#: internal/data/backup.go:1457 -msgid "|-Restore panel data..." -msgstr "|-還原面板資料……" - -#: internal/service/cli.go:738 -#: internal/service/cli.go:784 +#: internal/service/cli.go:761 +#: internal/service/cli.go:807 msgid "|-Rotation target: %s" msgstr "|-輪換目標:%s" -#: internal/service/cli.go:783 +#: internal/service/cli.go:806 msgid "|-Rotation type: container" msgstr "|-輪轉類型:container" -#: internal/service/cli.go:737 +#: internal/service/cli.go:760 msgid "|-Rotation type: website" msgstr "|-旋轉類型:website" -#: internal/data/backup.go:1470 -msgid "|-Run post-update script failed: %v" -msgstr "|-運行更新後腳本失敗:%v" - -#: internal/data/backup.go:1467 -msgid "|-Run post-update script..." -msgstr "|-執行更新後腳本……" - -#: internal/data/backup.go:1349 -#: internal/data/backup.go:1486 +#: internal/data/backup.go:1329 msgid "|-Set key file permissions..." msgstr "|-設定關鍵檔案權限……" -#: internal/data/backup.go:1197 +#: internal/data/backup.go:1207 msgid "|-Start fixing the panel..." msgstr "|-開始修復面板……" -#: internal/data/backup.go:1390 -msgid "|-Target version: %s" -msgstr "|-目標版本:%s" - -#: internal/data/backup.go:1035 -#: internal/data/backup.go:502 -#: internal/data/backup.go:552 -#: internal/data/backup.go:610 -#: internal/data/backup.go:671 -#: internal/data/backup.go:775 +#: internal/data/backup.go:1045 +#: internal/data/backup.go:512 +#: internal/data/backup.go:562 +#: internal/data/backup.go:620 +#: internal/data/backup.go:681 +#: internal/data/backup.go:785 msgid "|-Temporary directory: %s" msgstr "|-臨時目錄:%s" -#: internal/data/backup.go:1300 +#: internal/data/backup.go:1293 msgid "|-Unzip backup file..." msgstr "|-解壓備份檔案……" -#: internal/data/backup.go:1450 -msgid "|-Unzip new version failed, missing file" -msgstr "|-解壓新版本失敗,缺少檔案" - -#: internal/data/backup.go:1447 -msgid "|-Unzip new version failed: %v" -msgstr "|-解壓新版本失敗:%v" - -#: internal/data/backup.go:1444 -msgid "|-Unzip new version..." -msgstr "|-解壓新版本……" - -#: internal/data/backup.go:1493 -msgid "|-Update completed" -msgstr "|-更新完成" - -#: internal/data/backup.go:1409 -msgid "|-Verify download file..." -msgstr "|-驗證下載檔案……" - -#: internal/data/backup.go:1479 -msgid "|-Write new panel version failed: %v" -msgstr "|-寫入新面板版本失敗:%v" - -#: internal/data/backup.go:117 -#: internal/service/cli.go:689 +#: internal/data/backup.go:119 +#: internal/service/cli.go:712 msgid "★ Start backup [%s]" msgstr "★ 開始備份 [%s]" -#: internal/service/cli.go:704 +#: internal/service/cli.go:727 msgid "★ Start cleaning [%s]" msgstr "★ 開始清理 [%s]" -#: internal/service/cli.go:811 +#: internal/service/cli.go:834 msgid "★ Start cleaning rotated logs [%s]" msgstr "★ 開始清理已旋轉的日誌 [%s]" -#: internal/service/cli.go:735 -#: internal/service/cli.go:781 +#: internal/service/cli.go:758 +#: internal/service/cli.go:804 msgid "★ Start log rotation [%s]" msgstr "★ 開始日誌旋轉 [%s]" -#: internal/data/backup.go:165 +#: internal/data/backup.go:167 msgid "☆ Backup completed [%s]" msgstr "☆ 備份完成 [%s]" -#: internal/data/backup.go:155 +#: internal/data/backup.go:157 msgid "☆ Backup failed: %v [%s]" msgstr "☆ 備份失敗:%v [%s]" -#: internal/service/cli.go:696 +#: internal/service/cli.go:719 msgid "☆ Backup successful [%s]" msgstr "☆ 備份成功 [%s]" -#: internal/service/cli.go:722 -#: internal/service/cli.go:847 +#: internal/service/cli.go:745 +#: internal/service/cli.go:870 msgid "☆ Cleaning successful [%s]" msgstr "☆ 清理成功 [%s]" -#: internal/service/cli.go:760 -#: internal/service/cli.go:799 +#: internal/service/cli.go:783 +#: internal/service/cli.go:822 msgid "☆ Rotation successful [%s]" msgstr "☆ 旋轉成功 [%s]" diff --git a/web/src/locales/zh_CN.po b/web/src/locales/zh_CN.po index decd359d..e5d60886 100644 --- a/web/src/locales/zh_CN.po +++ b/web/src/locales/zh_CN.po @@ -1,9 +1,5 @@ msgid "" msgstr "" -"Project-Id-Version: acepanel\n" -"PO-Revision-Date: 2026-06-07 18:29\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" @@ -11,8 +7,13 @@ 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-07-02 18:30\n" -#: src/components/common/AppFooter.vue:18 src/views/home/IndexView.vue:548 +#: src/components/common/AppFooter.vue:18 +#: src/views/home/IndexView.vue:548 msgid "AcePanel" msgstr "AcePanel" @@ -24,12 +25,18 @@ msgstr "版权所有" msgid "QQ Group" msgstr "QQ 群" -#: src/components/common/AppFooter.vue:38 src/locales/menu.ts:23 -#: src/views/apps/fail2ban/IndexView.vue:313 src/views/backup/IndexView.vue:53 -#: src/views/backup/ListView.vue:269 src/views/backup/ListView.vue:317 -#: src/views/cert/CertView.vue:467 src/views/cert/CertView.vue:583 -#: src/views/cert/CreateCertModal.vue:118 src/views/home/IndexView.vue:530 -#: src/views/task/CreateModal.vue:448 src/views/task/CreateModal.vue:470 +#: src/components/common/AppFooter.vue:38 +#: src/locales/menu.ts:23 +#: src/views/apps/fail2ban/IndexView.vue:313 +#: src/views/backup/IndexView.vue:53 +#: src/views/backup/ListView.vue:269 +#: src/views/backup/ListView.vue:317 +#: src/views/cert/CertView.vue:467 +#: src/views/cert/CertView.vue:583 +#: src/views/cert/CreateCertModal.vue:118 +#: src/views/home/IndexView.vue:530 +#: src/views/task/CreateModal.vue:448 +#: src/views/task/CreateModal.vue:470 msgid "Website" msgstr "网站" @@ -181,11 +188,16 @@ msgid "After Reboot" msgstr "重启后" #: src/components/common/CronSelector.vue:192 -#: src/views/monitor/IndexView.vue:789 src/views/monitor/IndexView.vue:843 -#: src/views/monitor/IndexView.vue:895 src/views/monitor/IndexView.vue:951 -#: src/views/monitor/IndexView.vue:1018 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/IndexView.vue:789 +#: src/views/monitor/IndexView.vue:843 +#: src/views/monitor/IndexView.vue:895 +#: src/views/monitor/IndexView.vue:951 +#: src/views/monitor/IndexView.vue:1018 +#: 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 "自定义" @@ -195,17 +207,20 @@ msgid "Month %{month}" msgstr "%{month} 月" #: src/components/common/CronSelector.vue:347 -#: src/views/apps/nginx/NginxIndex.vue:799 src/views/website/EditModal.vue:676 +#: src/views/apps/nginx/NginxIndex.vue:799 +#: src/views/website/EditModal.vue:676 msgid "Seconds" msgstr "秒" #: src/components/common/CronSelector.vue:358 -#: src/views/apps/nginx/NginxIndex.vue:800 src/views/website/EditModal.vue:677 +#: src/views/apps/nginx/NginxIndex.vue:800 +#: src/views/website/EditModal.vue:677 msgid "Minutes" msgstr "分" #: src/components/common/CronSelector.vue:369 -#: src/views/apps/nginx/NginxIndex.vue:801 src/views/website/EditModal.vue:678 +#: src/views/apps/nginx/NginxIndex.vue:801 +#: src/views/website/EditModal.vue:678 msgid "Hours" msgstr "时" @@ -245,7 +260,8 @@ msgstr "最大化" #: src/components/common/DraggableWindow.vue:289 #: src/components/file-editor/EditorPane.vue:254 #: src/layouts/tab/components/ContextMenu.vue:29 -#: src/views/cert/ObtainModal.vue:183 src/views/ssh/IndexView.vue:468 +#: src/views/cert/ObtainModal.vue:183 +#: src/views/ssh/IndexView.vue:468 msgid "Close" msgstr "关闭" @@ -269,7 +285,8 @@ 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 @@ -313,14 +330,20 @@ 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/PythonView.vue:59 src/views/project/EditModal.vue:159 -#: src/views/setting/IndexView.vue:84 src/views/toolbox/SystemView.vue:72 -#: src/views/toolbox/SystemView.vue:83 src/views/toolbox/SystemView.vue:97 -#: src/views/toolbox/SystemView.vue:111 src/views/toolbox/SystemView.vue:158 +#: src/views/environment/PHPView.vue:149 +#: src/views/environment/PHPView.vue:155 +#: src/views/environment/PythonView.vue:59 +#: src/views/project/EditModal.vue:159 +#: src/views/setting/IndexView.vue:84 +#: src/views/toolbox/SystemView.vue:72 +#: src/views/toolbox/SystemView.vue:83 +#: src/views/toolbox/SystemView.vue:97 +#: src/views/toolbox/SystemView.vue:111 +#: src/views/toolbox/SystemView.vue:158 #: src/views/website/EditModal.vue:158 msgid "Saved successfully" msgstr "保存成功" @@ -330,7 +353,8 @@ msgstr "保存成功" msgid "Remove" msgstr "移除" -#: src/components/common/PathSelector.vue:28 src/views/task/CreateModal.vue:509 +#: src/components/common/PathSelector.vue:28 +#: src/views/task/CreateModal.vue:509 msgid "Select Directory" msgstr "选择目录" @@ -340,7 +364,8 @@ msgstr "选择文件" #: src/components/common/PathSelector.vue:51 #: src/components/common/PathSelector.vue:395 -#: src/views/app/EnvironmentView.vue:31 src/views/app/InstalledView.vue:161 +#: src/views/app/EnvironmentView.vue:31 +#: src/views/app/InstalledView.vue:161 #: src/views/apps/fail2ban/IndexView.vue:41 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:72 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:206 @@ -349,24 +374,37 @@ 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:65 src/views/file/ListView.vue:1340 -#: src/views/file/PropertyModal.vue:27 src/views/file/ToolBar.vue:150 -#: src/views/home/IndexView.vue:659 src/views/home/IndexView.vue:760 -#: 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/toolbox/LogView.vue:219 src/views/toolbox/MigrationView.vue:695 +#: src/views/database/UpdateServerModal.vue:65 +#: src/views/file/ListView.vue:1340 +#: src/views/file/PropertyModal.vue:27 +#: src/views/file/ToolBar.vue:150 +#: src/views/home/IndexView.vue:659 +#: src/views/home/IndexView.vue:760 +#: 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/toolbox/LogView.vue:219 +#: src/views/toolbox/MigrationView.vue:695 #: src/views/toolbox/MigrationView.vue:782 -#: 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:2022 msgid "Name" msgstr "名称" @@ -375,37 +413,48 @@ msgstr "名称" msgid "Permissions" msgstr "权限" -#: src/components/common/PathSelector.vue:102 src/views/file/ListView.vue:1351 +#: src/components/common/PathSelector.vue:102 +#: src/views/file/ListView.vue:1351 msgid "Owner / Group" msgstr "所有者 / 组" -#: src/components/common/PathSelector.vue:114 src/views/backup/ListView.vue:51 +#: src/components/common/PathSelector.vue:114 +#: src/views/backup/ListView.vue:51 #: src/views/container/ImageView.vue:70 #: src/views/database/ElasticsearchDataView.vue:112 -#: src/views/database/RedisDataView.vue:116 src/views/file/ListView.vue:1347 -#: src/views/file/PropertyModal.vue:39 src/views/file/ToolBar.vue:151 +#: src/views/database/RedisDataView.vue:116 +#: src/views/file/ListView.vue:1347 +#: src/views/file/PropertyModal.vue:39 +#: src/views/file/ToolBar.vue:151 #: src/views/toolbox/disk/RaidView.vue:95 -#: src/views/toolbox/disk/RaidView.vue:177 src/views/toolbox/DiskView.vue:233 +#: src/views/toolbox/disk/RaidView.vue:177 +#: src/views/toolbox/DiskView.vue:233 #: src/views/toolbox/LogView.vue:220 msgid "Size" msgstr "大小" -#: src/components/common/PathSelector.vue:149 src/views/file/ListView.vue:1490 +#: src/components/common/PathSelector.vue:149 +#: src/views/file/ListView.vue:1490 msgid "Calculate" msgstr "计算" -#: src/components/common/PathSelector.vue:154 src/views/file/ListView.vue:1356 -#: src/views/file/PropertyModal.vue:51 src/views/file/ToolBar.vue:152 +#: src/components/common/PathSelector.vue:154 +#: src/views/file/ListView.vue:1356 +#: src/views/file/PropertyModal.vue:51 +#: src/views/file/ToolBar.vue:152 msgid "Modification Time" msgstr "修改时间" -#: src/components/common/PathSelector.vue:188 src/views/file/ListView.vue:1210 +#: src/components/common/PathSelector.vue:188 +#: src/views/file/ListView.vue:1210 #: src/views/file/PathInput.vue:43 msgid "Invalid path" msgstr "无效路径" -#: src/components/common/PathSelector.vue:248 src/views/file/ListView.vue:142 -#: src/views/file/ListView.vue:756 src/views/file/ToolBar.vue:44 +#: src/components/common/PathSelector.vue:248 +#: src/views/file/ListView.vue:142 +#: src/views/file/ListView.vue:756 +#: src/views/file/ToolBar.vue:44 msgid "Invalid name" msgstr "无效的名称" @@ -414,7 +463,8 @@ 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:109 @@ -423,19 +473,24 @@ msgstr "无效的名称" #: src/views/database/CreateDatabaseModal.vue:48 #: src/views/database/CreateUserModal.vue:56 #: src/views/database/ElasticsearchDataView.vue:263 -#: src/views/file/ListView.vue:151 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:151 +#: 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:174 +#: src/views/file/PropertyModal.vue:34 +#: src/views/file/ToolBar.vue:174 msgid "File" msgstr "文件" -#: src/components/common/PathSelector.vue:320 src/views/file/ToolBar.vue:175 +#: src/components/common/PathSelector.vue:320 +#: src/views/file/ToolBar.vue:175 msgid "Folder" msgstr "文件夹" @@ -443,14 +498,16 @@ msgstr "文件夹" #: src/components/common/PathSelector.vue:387 #: src/views/app/TemplateDeployModal.vue:652 #: src/views/container/ContainerCreate.vue:537 -#: src/views/project/CreateModal.vue:693 src/views/setting/TokenModal.vue:270 +#: src/views/project/CreateModal.vue:693 +#: src/views/setting/TokenModal.vue:270 #: 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 "根目录" @@ -462,14 +519,21 @@ 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:303 src/views/backup/ListView.vue:344 -#: src/views/backup/StorageView.vue:376 src/views/backup/StorageView.vue:529 -#: src/views/cert/AccountView.vue:258 src/views/cert/CertView.vue:568 -#: src/views/cert/CertView.vue:596 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:303 +#: src/views/backup/ListView.vue:344 +#: src/views/backup/StorageView.vue:376 +#: src/views/backup/StorageView.vue:529 +#: src/views/cert/AccountView.vue:258 +#: src/views/cert/CertView.vue:568 +#: src/views/cert/CertView.vue:596 +#: 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/cert/UploadCertModal.vue:64 #: src/views/container/ComposeView.vue:341 #: src/views/container/ComposeView.vue:367 @@ -486,12 +550,16 @@ msgstr "根目录" #: src/views/database/RedisDataView.vue:378 #: src/views/database/RedisKeyModal.vue:130 #: src/views/database/UpdateServerModal.vue:123 -#: src/views/database/UpdateUserModal.vue:88 src/views/file/ToolBar.vue:257 +#: src/views/database/UpdateUserModal.vue:88 +#: src/views/file/ToolBar.vue:257 #: src/views/firewall/CreateForwardModal.vue:94 #: src/views/firewall/CreateIpModal.vue:125 -#: src/views/firewall/CreateModal.vue:159 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:159 +#: 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:551 msgid "Submit" msgstr "提交" @@ -527,25 +595,35 @@ 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:65 src/views/file/UploadModal.vue:791 -#: src/views/home/IndexView.vue:1029 src/views/home/UpdateView.vue:109 -#: src/views/monitor/IndexView.vue:736 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/MigrationView.vue:347 -#: src/views/toolbox/ProcessView.vue:242 src/views/toolbox/ProcessView.vue:247 +#: src/views/file/composables/usePaste.ts:65 +#: src/views/file/UploadModal.vue:791 +#: src/views/home/IndexView.vue:1029 +#: src/views/home/UpdateView.vue:109 +#: src/views/monitor/IndexView.vue:736 +#: 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/MigrationView.vue:347 +#: 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 @@ -562,30 +640,46 @@ msgstr "命令可能仍在运行。关闭窗口将终止命令。您确定吗? #: src/views/container/ContainerCreate.vue:534 #: src/views/container/ImagePullModal.vue:185 #: src/views/container/ImagePullModal.vue:199 -#: src/views/container/ImageView.vue:347 src/views/container/ImageView.vue:362 +#: src/views/container/ImageView.vue:347 +#: src/views/container/ImageView.vue:362 #: src/views/file/composables/usePaste.ts:66 -#: src/views/file/composables/usePaste.ts:146 src/views/file/ListView.vue:245 -#: src/views/file/ListView.vue:769 src/views/file/ToolBar.vue:208 -#: src/views/file/UploadModal.vue:507 src/views/file/UploadModal.vue:642 -#: src/views/file/UploadModal.vue:790 src/views/home/IndexView.vue:1030 -#: src/views/home/UpdateView.vue:110 src/views/project/EditModal.vue:579 -#: 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/file/composables/usePaste.ts:146 +#: src/views/file/ListView.vue:245 +#: src/views/file/ListView.vue:769 +#: src/views/file/ToolBar.vue:208 +#: src/views/file/UploadModal.vue:507 +#: src/views/file/UploadModal.vue:642 +#: src/views/file/UploadModal.vue:790 +#: src/views/home/IndexView.vue:1030 +#: src/views/home/UpdateView.vue:110 +#: src/views/project/EditModal.vue:579 +#: 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:258 #: src/views/toolbox/MigrationView.vue:348 -#: src/views/toolbox/ProcessView.vue:248 src/views/website/EditModal.vue:2131 +#: src/views/toolbox/ProcessView.vue:248 +#: src/views/website/EditModal.vue:2131 msgid "Cancel" msgstr "取消" -#: src/components/common/PtyTerminalModal.vue:259 src/locales/menu.ts:19 +#: src/components/common/PtyTerminalModal.vue:259 +#: src/locales/menu.ts:19 #: src/views/container/ContainerView.vue:123 #: src/views/container/ContainerView.vue:642 -#: src/views/database/ServerList.vue:174 src/views/file/ListView.vue:350 -#: src/views/file/ListView.vue:965 src/views/file/ToolBar.vue:183 +#: src/views/database/ServerList.vue:174 +#: src/views/file/ListView.vue:350 +#: src/views/file/ListView.vue:965 +#: src/views/file/ToolBar.vue:183 msgid "Terminal" msgstr "终端" @@ -612,8 +706,10 @@ msgstr "跳转到底部" #: src/components/common/RealtimeLog.vue:306 #: src/components/file-editor/EditorToolbar.vue:222 #: src/components/file-editor/FileTree.vue:719 -#: src/components/system/SearchToolbar.vue:58 src/views/app/AppView.vue:237 -#: src/views/app/EnvironmentView.vue:226 src/views/app/TemplateView.vue:102 +#: src/components/system/SearchToolbar.vue:58 +#: src/views/app/AppView.vue:237 +#: src/views/app/EnvironmentView.vue:226 +#: src/views/app/TemplateView.vue:102 #: src/views/database/ElasticsearchDataView.vue:314 #: src/views/database/RedisDataView.vue:289 msgid "Search" @@ -635,10 +731,13 @@ msgstr "增大字体大小" msgid "No logs available" msgstr "暂无日志数据" -#: src/components/common/RealtimeLogModal.vue:37 src/locales/menu.ts:15 +#: src/components/common/RealtimeLogModal.vue:37 +#: src/locales/menu.ts:15 #: src/views/apps/supervisor/IndexView.vue:98 -#: src/views/container/ContainerView.vue:135 src/views/project/ListView.vue:168 -#: src/views/project/ListView.vue:334 src/views/task/CronView.vue:146 +#: src/views/container/ContainerView.vue:135 +#: src/views/project/ListView.vue:168 +#: src/views/project/ListView.vue:334 +#: src/views/task/CronView.vue:146 #: src/views/task/TaskView.vue:86 msgid "Logs" msgstr "日志" @@ -659,9 +758,12 @@ msgstr "您确定要清除日志吗?" msgid "Clear Log" msgstr "清除日志" -#: src/components/common/ServiceStatus.vue:29 src/views/home/IndexView.vue:891 -#: src/views/home/IndexView.vue:899 src/views/home/IndexView.vue:906 -#: src/views/home/IndexView.vue:912 src/views/home/IndexView.vue:923 +#: src/components/common/ServiceStatus.vue:29 +#: src/views/home/IndexView.vue:891 +#: src/views/home/IndexView.vue:899 +#: src/views/home/IndexView.vue:906 +#: src/views/home/IndexView.vue:912 +#: src/views/home/IndexView.vue:923 #: src/views/home/IndexView.vue:935 msgid "Loading..." msgstr "加载中……" @@ -669,8 +771,10 @@ msgstr "加载中……" #: src/components/common/ServiceStatus.vue:30 #: src/views/app/InstalledView.vue:19 #: src/views/apps/prometheus/PrometheusExportersView.vue:50 -#: src/views/project/ListView.vue:70 src/views/task/TaskView.vue:45 -#: src/views/toolbox/ProcessView.vue:48 src/views/toolbox/ProcessView.vue:77 +#: src/views/project/ListView.vue:70 +#: src/views/task/TaskView.vue:45 +#: src/views/toolbox/ProcessView.vue:48 +#: src/views/toolbox/ProcessView.vue:77 #: src/views/website/ListView.vue:135 msgid "Running" msgstr "运行中" @@ -678,7 +782,8 @@ msgstr "运行中" #: src/components/common/ServiceStatus.vue:30 #: src/views/app/InstalledView.vue:20 #: src/views/apps/prometheus/PrometheusExportersView.vue:51 -#: src/views/project/ListView.vue:72 src/views/toolbox/ProcessView.vue:50 +#: src/views/project/ListView.vue:72 +#: src/views/toolbox/ProcessView.vue:50 #: src/views/toolbox/ProcessView.vue:83 msgid "Stopped" msgstr "已停止" @@ -690,7 +795,8 @@ 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 "启动成功" @@ -702,7 +808,8 @@ 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 "停止成功" @@ -781,7 +888,8 @@ msgstr "自启动关闭" #: src/views/apps/supervisor/IndexView.vue:120 #: src/views/container/ComposeView.vue:160 #: src/views/container/ContainerView.vue:158 -#: src/views/container/ContainerView.vue:566 src/views/project/ListView.vue:130 +#: src/views/container/ContainerView.vue:566 +#: src/views/project/ListView.vue:130 #: src/views/toolbox/MigrationView.vue:257 msgid "Start" msgstr "启动" @@ -795,7 +903,8 @@ msgstr "您确定要停止 %{ service } 吗?" #: src/views/apps/supervisor/IndexView.vue:141 #: src/views/container/ComposeView.vue:189 #: src/views/container/ContainerView.vue:163 -#: src/views/container/ContainerView.vue:569 src/views/project/ListView.vue:130 +#: src/views/container/ContainerView.vue:569 +#: src/views/project/ListView.vue:130 msgid "Stop" msgstr "停止" @@ -803,7 +912,8 @@ msgstr "停止" #: src/views/apps/prometheus/PrometheusExportersView.vue:103 #: src/views/apps/supervisor/IndexView.vue:159 #: src/views/container/ContainerView.vue:168 -#: src/views/container/ContainerView.vue:572 src/views/home/IndexView.vue:555 +#: src/views/container/ContainerView.vue:572 +#: src/views/home/IndexView.vue:555 #: src/views/project/ListView.vue:145 msgid "Restart" msgstr "重启" @@ -853,8 +963,10 @@ 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 @@ -924,21 +1036,30 @@ msgstr "保存文件失败" #: src/views/apps/valkey/ValkeyConfigTuneView.vue:171 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:205 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:230 -#: 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:111 -#: src/views/firewall/SettingView.vue:136 src/views/project/EditModal.vue:582 -#: src/views/setting/IndexView.vue:169 src/views/task/CreateModal.vue:551 -#: src/views/task/CronView.vue:344 src/views/toolbox/SshView.vue:220 -#: src/views/toolbox/SystemView.vue:195 src/views/toolbox/SystemView.vue:224 -#: src/views/toolbox/SystemView.vue:247 src/views/toolbox/SystemView.vue:290 -#: src/views/toolbox/SystemView.vue:372 src/views/toolbox/WebHookView.vue:400 +#: src/views/environment/PHPView.vue:236 +#: src/views/environment/PHPView.vue:254 +#: src/views/environment/PythonView.vue:97 +#: src/views/file/EditModal.vue:111 +#: src/views/firewall/SettingView.vue:136 +#: src/views/project/EditModal.vue:582 +#: src/views/setting/IndexView.vue:169 +#: src/views/task/CreateModal.vue:551 +#: src/views/task/CronView.vue:344 +#: src/views/toolbox/SshView.vue:220 +#: src/views/toolbox/SystemView.vue:195 +#: src/views/toolbox/SystemView.vue:224 +#: src/views/toolbox/SystemView.vue:247 +#: src/views/toolbox/SystemView.vue:290 +#: src/views/toolbox/SystemView.vue:372 +#: src/views/toolbox/WebHookView.vue:400 #: src/views/website/EditModal.vue:2140 msgid "Save" msgstr "保存" @@ -1016,12 +1137,18 @@ msgstr "此文件有未保存的更改。刷新将丢弃它们。是否继续? #: src/components/file-editor/EditorToolbar.vue:206 #: src/components/file-editor/FileTree.vue:697 #: src/components/system/RefreshButton.vue:31 -#: src/components/system/RefreshButton.vue:37 src/views/file/PathInput.vue:133 -#: src/views/home/UpdateView.vue:166 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/toolbox/MigrationView.vue:588 -#: src/views/toolbox/NetworkView.vue:188 src/views/toolbox/PanelView.vue:100 -#: src/views/toolbox/PanelView.vue:233 src/views/toolbox/ProcessView.vue:335 +#: src/components/system/RefreshButton.vue:37 +#: src/views/file/PathInput.vue:133 +#: src/views/home/UpdateView.vue:166 +#: 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/toolbox/MigrationView.vue:588 +#: src/views/toolbox/NetworkView.vue:188 +#: 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 "刷新" @@ -1071,7 +1198,8 @@ msgid "Toggle Minimap" msgstr "切换小地图" #: src/components/file-editor/EditorToolbar.vue:292 -#: src/views/firewall/IndexView.vue:26 src/views/ssh/IndexView.vue:483 +#: src/views/firewall/IndexView.vue:26 +#: src/views/ssh/IndexView.vue:483 #: src/views/website/IndexView.vue:30 msgid "Settings" msgstr "设置" @@ -1147,14 +1275,22 @@ msgid "Render Whitespace" msgstr "渲染空格" #: src/components/file-editor/FileEditorView.vue:222 -#: src/views/apps/docker/IndexView.vue:83 src/views/cert/CertView.vue:88 -#: src/views/cert/CertView.vue:142 src/views/cert/CertView.vue:153 -#: src/views/cert/CertView.vue:171 src/views/container/ContainerCreate.vue:53 -#: 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:44 -#: src/views/firewall/RuleView.vue:61 src/views/toolbox/MigrationView.vue:479 +#: src/views/apps/docker/IndexView.vue:83 +#: src/views/cert/CertView.vue:88 +#: src/views/cert/CertView.vue:142 +#: src/views/cert/CertView.vue:153 +#: src/views/cert/CertView.vue:171 +#: src/views/container/ContainerCreate.vue:53 +#: 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:44 +#: src/views/firewall/RuleView.vue:61 +#: src/views/toolbox/MigrationView.vue:479 #: src/views/toolbox/MigrationView.vue:480 #: src/views/toolbox/MigrationView.vue:559 #: src/views/toolbox/MigrationView.vue:574 @@ -1174,9 +1310,12 @@ msgid "Trailing" msgstr "尾部" #: src/components/file-editor/FileEditorView.vue:226 -#: src/views/app/AppView.vue:222 src/views/app/EnvironmentView.vue:211 -#: src/views/app/TemplateView.vue:87 src/views/firewall/RuleView.vue:223 -#: src/views/project/IndexView.vue:21 src/views/website/IndexView.vue:25 +#: src/views/app/AppView.vue:222 +#: src/views/app/EnvironmentView.vue:211 +#: src/views/app/TemplateView.vue:87 +#: src/views/firewall/RuleView.vue:223 +#: src/views/project/IndexView.vue:21 +#: src/views/website/IndexView.vue:25 #: src/views/website/stats/ErrorsTab.vue:18 msgid "All" msgstr "全部" @@ -1269,7 +1408,8 @@ msgstr "粘贴时格式化" msgid "Format On Type" msgstr "输入时格式化" -#: src/components/file-editor/FileTree.vue:155 src/views/file/EditModal.vue:138 +#: src/components/file-editor/FileTree.vue:155 +#: src/views/file/EditModal.vue:138 msgid "Failed to load file" msgstr "加载文件失败" @@ -1277,12 +1417,14 @@ msgstr "加载文件失败" msgid "Failed to create" msgstr "创建失败" -#: src/components/file-editor/FileTree.vue:380 src/views/file/ListView.vue:1377 +#: src/components/file-editor/FileTree.vue:380 +#: src/views/file/ListView.vue:1377 #: src/views/file/ListView.vue:1398 msgid "Folder name" msgstr "文件夹名" -#: src/components/file-editor/FileTree.vue:380 src/views/file/ListView.vue:1377 +#: src/components/file-editor/FileTree.vue:380 +#: src/views/file/ListView.vue:1377 #: src/views/file/ListView.vue:1398 msgid "File name" msgstr "文件名" @@ -1292,8 +1434,10 @@ msgstr "文件名" #: src/views/container/ContainerView.vue:613 #: src/views/database/RedisDataView.vue:168 #: src/views/file/composables/usePaste.ts:41 -#: src/views/file/composables/usePaste.ts:157 src/views/file/ListView.vue:348 -#: src/views/file/ListView.vue:1546 src/views/file/UploadModal.vue:749 +#: src/views/file/composables/usePaste.ts:157 +#: src/views/file/ListView.vue:348 +#: src/views/file/ListView.vue:1546 +#: src/views/file/UploadModal.vue:749 #: src/views/file/UploadModal.vue:783 msgid "Rename" msgstr "重命名" @@ -1311,39 +1455,58 @@ msgstr "重命名" #: src/views/apps/prometheus/PrometheusExportersView.vue:134 #: 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:97 -#: src/views/backup/StorageView.vue:126 src/views/cert/AccountView.vue:113 -#: src/views/cert/CertView.vue:308 src/views/cert/DnsView.vue:109 +#: src/views/apps/supervisor/IndexView.vue:178 +#: src/views/backup/ListView.vue:97 +#: src/views/backup/StorageView.vue:126 +#: src/views/cert/AccountView.vue:113 +#: src/views/cert/CertView.vue:308 +#: src/views/cert/DnsView.vue:109 #: src/views/container/ComposeView.vue:209 #: src/views/container/ComposeView.vue:289 #: src/views/container/ContainerView.vue:188 #: src/views/container/ContainerView.vue:584 -#: src/views/container/ImageView.vue:103 src/views/container/ImageView.vue:273 +#: src/views/container/ImageView.vue:103 +#: src/views/container/ImageView.vue:273 #: src/views/container/NetworkView.vue:130 #: src/views/container/NetworkView.vue:219 -#: 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:311 -#: src/views/file/ListView.vue:355 src/views/file/ListView.vue:1557 -#: src/views/file/ToolBar.vue:225 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:248 -#: src/views/firewall/RuleView.vue:312 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:572 src/views/task/CronView.vue:169 -#: src/views/task/IndexView.vue:41 src/views/task/TaskView.vue:104 -#: src/views/toolbox/WebHookView.vue:172 src/views/website/ListView.vue:305 +#: src/views/database/ServerList.vue:247 +#: src/views/database/UserList.vue:165 +#: src/views/environment/PHPView.vue:107 +#: src/views/file/ListView.vue:311 +#: src/views/file/ListView.vue:355 +#: src/views/file/ListView.vue:1557 +#: src/views/file/ToolBar.vue:225 +#: 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:248 +#: src/views/firewall/RuleView.vue:312 +#: 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:572 +#: src/views/task/CronView.vue:169 +#: src/views/task/IndexView.vue:41 +#: src/views/task/TaskView.vue:104 +#: 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:483 src/views/file/ListView.vue:345 -#: src/views/file/ListView.vue:1541 src/views/monitor/IndexView.vue:602 +#: src/components/file-editor/FileTree.vue:483 +#: src/views/file/ListView.vue:345 +#: src/views/file/ListView.vue:1541 +#: src/views/monitor/IndexView.vue:602 #: src/views/toolbox/SshView.vue:345 msgid "Download" msgstr "下载" @@ -1359,7 +1522,8 @@ msgstr "重命名失败" #: src/components/file-editor/FileTree.vue:603 #: src/views/apps/nginx/NginxIndex.vue:211 -#: src/views/apps/nginx/NginxIndex.vue:275 src/views/file/ListView.vue:847 +#: src/views/apps/nginx/NginxIndex.vue:275 +#: src/views/file/ListView.vue:847 #: src/views/file/ListView.vue:1551 msgid "Are you sure you want to delete %{ name }?" msgstr "您确定要删除 %{ name } 吗?" @@ -1370,9 +1534,11 @@ 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:149 src/views/backup/StorageView.vue:183 +#: src/views/backup/ListView.vue:149 +#: src/views/backup/StorageView.vue:183 #: src/views/container/ImageView.vue:144 #: src/views/container/NetworkView.vue:176 #: src/views/container/VolumeView.vue:124 @@ -1380,17 +1546,28 @@ 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:268 src/views/database/UserList.vue:185 -#: src/views/file/ListView.vue:824 src/views/file/ListView.vue:831 -#: src/views/file/ToolBar.vue:115 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:269 -#: src/views/firewall/RuleView.vue:287 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/task/CronView.vue:231 src/views/task/CronView.vue:241 -#: src/views/task/TaskView.vue:126 src/views/toolbox/WebHookView.vue:225 -#: src/views/website/ListView.vue:379 src/views/website/ListView.vue:389 +#: src/views/database/ServerList.vue:268 +#: src/views/database/UserList.vue:185 +#: src/views/file/ListView.vue:824 +#: src/views/file/ListView.vue:831 +#: src/views/file/ToolBar.vue:115 +#: 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:269 +#: src/views/firewall/RuleView.vue:287 +#: 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/task/CronView.vue:231 +#: src/views/task/CronView.vue:241 +#: src/views/task/TaskView.vue:126 +#: src/views/toolbox/WebHookView.vue:225 +#: src/views/website/ListView.vue:379 +#: src/views/website/ListView.vue:389 msgid "Deleted successfully" msgstr "删除成功" @@ -1402,15 +1579,18 @@ msgstr "删除失败" msgid "Go Up" msgstr "上一级" -#: src/components/file-editor/FileTree.vue:704 src/views/file/ListView.vue:292 +#: src/components/file-editor/FileTree.vue:704 +#: src/views/file/ListView.vue:292 msgid "New File" msgstr "新文件" -#: src/components/file-editor/FileTree.vue:705 src/views/file/ListView.vue:293 +#: src/components/file-editor/FileTree.vue:705 +#: src/views/file/ListView.vue:293 msgid "New Folder" msgstr "新文件夹" -#: src/components/file-editor/FileTree.vue:709 src/views/file/ToolBar.vue:179 +#: src/components/file-editor/FileTree.vue:709 +#: src/views/file/ToolBar.vue:179 msgid "New" msgstr "新建" @@ -1432,7 +1612,8 @@ msgstr "无数据" msgid "selected" msgstr "已选择" -#: src/components/system/BatchActions.vue:70 src/views/file/ListView.vue:1591 +#: src/components/system/BatchActions.vue:70 +#: src/views/file/ListView.vue:1591 msgid "Clear" msgstr "清除" @@ -1440,7 +1621,8 @@ msgstr "清除" msgid "Confirm Deletion" msgstr "确认删除" -#: src/components/system/CopyButton.vue:26 src/views/website/ListView.vue:100 +#: src/components/system/CopyButton.vue:26 +#: src/views/website/ListView.vue:100 msgid "Copied" msgstr "已复制" @@ -1451,9 +1633,12 @@ msgstr "已复制" #: 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:307 src/views/file/ListView.vue:341 -#: src/views/file/ListView.vue:950 src/views/file/ToolBar.vue:214 +#: src/views/database/ServerList.vue:106 +#: src/views/database/UserList.vue:56 +#: src/views/file/ListView.vue:307 +#: src/views/file/ListView.vue:341 +#: src/views/file/ListView.vue:950 +#: src/views/file/ToolBar.vue:214 msgid "Copy" msgstr "复制" @@ -1511,7 +1696,8 @@ 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 "更改密码" @@ -1532,12 +1718,16 @@ 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:183 -#: src/views/firewall/RuleView.vue:208 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:183 +#: src/views/firewall/RuleView.vue:208 +#: 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 "未知" @@ -1561,25 +1751,32 @@ 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:523 -#: src/views/cert/CertView.vue:611 src/views/cert/IndexView.vue:96 -#: src/views/cert/UploadCertModal.vue:46 src/views/setting/SettingSafe.vue:275 +#: src/locales/menu.ts:9 +#: src/views/cert/CertView.vue:523 +#: src/views/cert/CertView.vue:611 +#: src/views/cert/IndexView.vue:96 +#: src/views/cert/UploadCertModal.vue:46 +#: src/views/setting/SettingSafe.vue:275 #: src/views/website/EditModal.vue:1702 msgid "Certificate" msgstr "证书" -#: src/locales/menu.ts:10 src/views/home/IndexView.vue:525 +#: src/locales/menu.ts:10 +#: src/views/home/IndexView.vue:525 #: src/views/task/CreateModal.vue:472 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:327 src/views/home/IndexView.vue:534 +#: src/views/backup/ListView.vue:327 +#: src/views/home/IndexView.vue:534 #: src/views/toolbox/MigrationView.vue:546 #: src/views/website/CreateModal.vue:248 msgid "Database" @@ -1601,7 +1798,8 @@ msgstr "首页" msgid "Monitoring" msgstr "监控" -#: src/locales/menu.ts:17 src/views/home/IndexView.vue:539 +#: src/locales/menu.ts:17 +#: src/views/home/IndexView.vue:539 msgid "Project" msgstr "项目" @@ -1617,10 +1815,13 @@ msgstr "任务" msgid "Toolbox" msgstr "工具箱" -#: src/locales/menu.ts:22 src/views/app/AppView.vue:97 -#: src/views/app/EnvironmentView.vue:81 src/views/app/InstalledView.vue:106 +#: src/locales/menu.ts:22 +#: src/views/app/AppView.vue:97 +#: src/views/app/EnvironmentView.vue:81 +#: src/views/app/InstalledView.vue:106 #: src/views/app/InstalledView.vue:205 -#: src/views/app/TemplateDeployModal.vue:652 src/views/home/IndexView.vue:563 +#: src/views/app/TemplateDeployModal.vue:652 +#: src/views/home/IndexView.vue:563 #: src/views/setting/TokenModal.vue:308 msgid "Update" msgstr "更新" @@ -1649,40 +1850,52 @@ msgstr "Rsync 管理器" msgid "Frp Manager" msgstr "Frp 管理器" -#: src/router/routes/index.ts:18 src/views/login/IndexView.vue:309 +#: src/router/routes/index.ts:18 +#: 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:134 +#: src/views/app/AppView.vue:19 +#: src/views/app/AppView.vue:143 +#: src/views/app/AppView.vue:147 +#: src/views/app/EnvironmentView.vue:134 #: 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:37 +#: src/views/app/AppView.vue:37 +#: src/views/app/InstalledView.vue:37 msgid "App Name" msgstr "应用名称" -#: src/views/app/AppView.vue:43 src/views/app/EnvironmentView.vue:37 -#: src/views/app/InstalledView.vue:43 src/views/app/InstalledView.vue:167 +#: src/views/app/AppView.vue:43 +#: src/views/app/EnvironmentView.vue:37 +#: src/views/app/InstalledView.vue:43 +#: src/views/app/InstalledView.vue:167 #: 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:49 -#: src/views/app/InstalledView.vue:49 src/views/app/InstalledView.vue:173 +#: src/views/app/AppView.vue:49 +#: src/views/app/EnvironmentView.vue:49 +#: src/views/app/InstalledView.vue:49 +#: src/views/app/InstalledView.vue:173 msgid "Installed Version" msgstr "已安装版本" -#: src/views/app/AppView.vue:55 src/views/app/InstalledView.vue:64 +#: src/views/app/AppView.vue:55 +#: src/views/app/InstalledView.vue:64 msgid "Show in Home" msgstr "在主页显示" -#: src/views/app/AppView.vue:68 src/views/app/EnvironmentView.vue:55 -#: src/views/app/InstalledView.vue:77 src/views/app/InstalledView.vue:179 +#: src/views/app/AppView.vue:68 +#: src/views/app/EnvironmentView.vue:55 +#: src/views/app/InstalledView.vue:77 +#: src/views/app/InstalledView.vue:179 #: src/views/apps/fail2ban/IndexView.vue:63 #: src/views/apps/fail2ban/IndexView.vue:112 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:99 @@ -1691,81 +1904,109 @@ 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:66 -#: src/views/backup/StorageView.vue:95 src/views/cert/AccountView.vue:74 -#: src/views/cert/CertView.vue:189 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:66 +#: src/views/backup/StorageView.vue:95 +#: src/views/cert/AccountView.vue:74 +#: src/views/cert/CertView.vue:189 +#: src/views/cert/DnsView.vue:69 #: src/views/container/ComposeView.vue:102 #: src/views/container/ContainerView.vue:108 -#: src/views/container/ImageView.vue:86 src/views/container/NetworkView.vue:112 -#: src/views/container/VolumeView.vue:66 src/views/database/DatabaseList.vue:68 +#: src/views/container/ImageView.vue:86 +#: 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:1359 -#: src/views/firewall/ForwardView.vue:81 src/views/firewall/IpRuleView.vue:123 -#: src/views/firewall/RuleView.vue:231 src/views/firewall/ScanView.vue:256 -#: 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/task/CronView.vue:119 src/views/task/TaskView.vue:67 -#: src/views/toolbox/DiskView.vue:298 src/views/toolbox/DiskView.vue:608 -#: src/views/toolbox/WebHookView.vue:135 src/views/website/ListView.vue:246 +#: src/views/database/ServerList.vue:161 +#: src/views/database/UserList.vue:134 +#: src/views/environment/PHPView.vue:71 +#: src/views/file/ListView.vue:1359 +#: src/views/firewall/ForwardView.vue:81 +#: src/views/firewall/IpRuleView.vue:123 +#: src/views/firewall/RuleView.vue:231 +#: src/views/firewall/ScanView.vue:256 +#: 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/task/CronView.vue:119 +#: src/views/task/TaskView.vue:67 +#: src/views/toolbox/DiskView.vue:298 +#: src/views/toolbox/DiskView.vue:608 +#: 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:73 -#: src/views/app/InstalledView.vue:97 src/views/app/InstalledView.vue:197 +#: src/views/app/AppView.vue:88 +#: src/views/app/EnvironmentView.vue:73 +#: src/views/app/InstalledView.vue:97 +#: src/views/app/InstalledView.vue:197 msgid "Confirm Update" msgstr "确认更新" -#: src/views/app/AppView.vue:89 src/views/app/InstalledView.vue:98 -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:98 +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:94 -#: src/views/app/InstalledView.vue:118 src/views/app/InstalledView.vue:217 +#: src/views/app/AppView.vue:110 +#: src/views/app/EnvironmentView.vue:94 +#: src/views/app/InstalledView.vue:118 +#: src/views/app/InstalledView.vue:217 msgid "Manage" msgstr "管理" -#: src/views/app/AppView.vue:119 src/views/app/EnvironmentView.vue:103 -#: src/views/app/InstalledView.vue:127 src/views/app/InstalledView.vue:226 +#: src/views/app/AppView.vue:119 +#: src/views/app/EnvironmentView.vue:103 +#: src/views/app/InstalledView.vue:127 +#: src/views/app/InstalledView.vue:226 #: 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:129 -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:129 +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:132 +#: src/views/app/AppView.vue:124 +#: src/views/app/InstalledView.vue:132 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:107 src/views/app/EnvironmentView.vue:113 -#: src/views/app/InstalledView.vue:133 src/views/app/InstalledView.vue:139 -#: src/views/app/InstalledView.vue:230 src/views/app/InstalledView.vue:236 +#: src/views/app/AppView.vue:125 +#: src/views/app/AppView.vue:131 +#: src/views/app/EnvironmentView.vue:107 +#: src/views/app/EnvironmentView.vue:113 +#: src/views/app/InstalledView.vue:133 +#: src/views/app/InstalledView.vue:139 +#: src/views/app/InstalledView.vue:230 +#: src/views/app/InstalledView.vue:236 #: src/views/apps/prometheus/PrometheusExportersView.vue:128 msgid "Uninstall" msgstr "卸载" -#: src/views/app/AppView.vue:183 src/views/app/InstalledView.vue:275 +#: src/views/app/AppView.vue:183 +#: src/views/app/InstalledView.vue:275 msgid "Setup successfully" msgstr "设置成功" -#: src/views/app/AppView.vue:190 src/views/app/AppView.vue:198 -#: src/views/app/EnvironmentView.vue:171 src/views/app/EnvironmentView.vue:179 -#: src/views/app/EnvironmentView.vue:187 src/views/app/InstalledView.vue:282 -#: src/views/app/InstalledView.vue:290 src/views/app/InstalledView.vue:303 -#: src/views/app/InstalledView.vue:311 src/views/app/VersionModal.vue:42 +#: src/views/app/AppView.vue:190 +#: src/views/app/AppView.vue:198 +#: src/views/app/EnvironmentView.vue:171 +#: src/views/app/EnvironmentView.vue:179 +#: src/views/app/EnvironmentView.vue:187 +#: src/views/app/InstalledView.vue:282 +#: src/views/app/InstalledView.vue:290 +#: src/views/app/InstalledView.vue:303 +#: src/views/app/InstalledView.vue:311 +#: src/views/app/VersionModal.vue:42 msgid "Task submitted, please check the progress in background tasks" msgstr "任务已提交,请在后台任务中查看进度" @@ -1773,11 +2014,13 @@ msgstr "任务已提交,请在后台任务中查看进度" msgid "Latest Version" msgstr "最新版本" -#: src/views/app/EnvironmentView.vue:74 src/views/app/InstalledView.vue:198 +#: src/views/app/EnvironmentView.vue:74 +#: src/views/app/InstalledView.vue:198 msgid "Are you sure to update environment %{ environment }?" msgstr "您确定要更新环境 %{ environment } 吗?" -#: src/views/app/EnvironmentView.vue:104 src/views/app/InstalledView.vue:227 +#: src/views/app/EnvironmentView.vue:104 +#: src/views/app/InstalledView.vue:227 msgid "Are you sure to uninstall environment %{ environment }?" msgstr "您确定要卸载环境 %{ environment } 吗?" @@ -1799,11 +2042,13 @@ msgstr "缓存更新成功" msgid "Installed" msgstr "已安装" -#: src/views/app/IndexView.vue:41 src/views/app/InstalledView.vue:330 +#: src/views/app/IndexView.vue:41 +#: src/views/app/InstalledView.vue:330 msgid "Native App" msgstr "原生应用" -#: src/views/app/IndexView.vue:42 src/views/app/InstalledView.vue:354 +#: src/views/app/IndexView.vue:42 +#: src/views/app/InstalledView.vue:354 msgid "Operating Environment" msgstr "运行环境" @@ -1823,21 +2068,28 @@ msgstr "部分运行" msgid "N/A" msgstr "未知" -#: src/views/app/InstalledView.vue:55 src/views/apps/fail2ban/IndexView.vue:47 +#: src/views/app/InstalledView.vue:55 +#: 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/ContainerView.vue:53 -#: src/views/database/ServerList.vue:140 src/views/database/UserList.vue:113 -#: src/views/firewall/RuleView.vue:80 src/views/log/HttpLog.vue:95 -#: src/views/log/SSHLog.vue:63 src/views/project/ListView.vue:59 -#: 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:80 +#: src/views/log/HttpLog.vue:95 +#: src/views/log/SSHLog.vue:63 +#: src/views/project/ListView.vue:59 +#: 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:473 #: src/views/toolbox/MigrationView.vue:696 -#: src/views/toolbox/MigrationView.vue:783 src/views/toolbox/NetworkView.vue:96 -#: src/views/toolbox/ProcessView.vue:134 src/views/toolbox/ProcessView.vue:399 +#: src/views/toolbox/MigrationView.vue:783 +#: src/views/toolbox/NetworkView.vue:96 +#: src/views/toolbox/ProcessView.vue:134 +#: src/views/toolbox/ProcessView.vue:399 #: src/views/website/stats/ErrorsTab.vue:95 msgid "Status" msgstr "状态" @@ -1862,9 +2114,12 @@ msgstr "请输入编排名称" msgid "Please select a compose" msgstr "请选择一个编排" -#: src/views/app/TemplateDeployModal.vue:258 src/views/cert/AccountView.vue:145 -#: src/views/cert/CertView.vue:343 src/views/cert/CertView.vue:364 -#: 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:343 +#: src/views/cert/CertView.vue:364 +#: src/views/cert/DnsView.vue:137 +#: src/views/container/ComposeView.vue:249 msgid "Update successful" msgstr "更新成功" @@ -1939,7 +2194,8 @@ msgstr "自动放行在 compose 中定义的端口" #: src/views/container/ComposeView.vue:331 #: src/views/container/ComposeView.vue:357 #: src/views/container/ContainerCreate.vue:452 -#: 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 "环境变量" @@ -1961,9 +2217,7 @@ 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 @@ -1989,8 +2243,10 @@ msgstr "更新现有" #: src/views/app/TemplateDeployModal.vue:606 #: src/views/app/TemplateDeployModal.vue:611 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:94 -#: src/views/apps/nginx/NginxIndex.vue:186 src/views/file/ListView.vue:852 -#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/apps/nginx/NginxIndex.vue:186 +#: src/views/file/ListView.vue:852 +#: src/views/file/PropertyModal.vue:55 +#: src/views/file/PropertyModal.vue:59 #: src/views/toolbox/WebHookView.vue:85 msgid "Yes" msgstr "是" @@ -1998,8 +2254,10 @@ msgstr "是" #: src/views/app/TemplateDeployModal.vue:606 #: src/views/app/TemplateDeployModal.vue:611 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:95 -#: src/views/apps/nginx/NginxIndex.vue:186 src/views/file/ListView.vue:853 -#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/apps/nginx/NginxIndex.vue:186 +#: src/views/file/ListView.vue:853 +#: src/views/file/PropertyModal.vue:55 +#: src/views/file/PropertyModal.vue:59 #: src/views/toolbox/WebHookView.vue:85 msgid "No" msgstr "否" @@ -2030,13 +2288,16 @@ msgstr "下一步" msgid "Starting Compose" msgstr "正在启动编排" -#: src/views/app/TemplateView.vue:142 src/views/backup/StorageView.vue:78 -#: src/views/ssh/IndexView.vue:80 src/views/ssh/IndexView.vue:86 +#: src/views/app/TemplateView.vue:142 +#: src/views/backup/StorageView.vue:78 +#: src/views/ssh/IndexView.vue:80 +#: src/views/ssh/IndexView.vue:86 #: src/views/toolbox/MigrationView.vue:471 msgid "Local" msgstr "本地" -#: src/views/app/TemplateView.vue:152 src/views/cert/CertView.vue:227 +#: src/views/app/TemplateView.vue:152 +#: src/views/cert/CertView.vue:227 msgid "Deploy" msgstr "部署" @@ -2070,7 +2331,8 @@ 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 "属性" @@ -2088,7 +2350,8 @@ 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 "当前值" @@ -2102,16 +2365,20 @@ 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/task/CronView.vue:23 -#: src/views/task/TaskView.vue:21 src/views/website/EditModal.vue:261 +#: src/views/environment/PHPView.vue:162 +#: src/views/environment/PHPView.vue:169 +#: src/views/firewall/ScanView.vue:336 +#: src/views/task/CronView.vue:23 +#: src/views/task/TaskView.vue:21 +#: src/views/website/EditModal.vue:261 #: 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 @@ -2121,11 +2388,8 @@ 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 @@ -2141,7 +2405,8 @@ msgstr "" #: 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:575 msgid "Load Status" msgstr "负载状态" @@ -2181,8 +2446,10 @@ msgstr "错误日志" #: src/views/apps/clickhouse/ClickHouseConfigTuneView.vue:68 #: src/views/apps/mongodb/MongoDBConfigTuneView.vue:88 -#: src/views/container/ContainerCreate.vue:213 src/views/home/IndexView.vue:188 -#: src/views/home/IndexView.vue:955 src/views/monitor/IndexView.vue:990 +#: src/views/container/ContainerCreate.vue:213 +#: src/views/home/IndexView.vue:188 +#: src/views/home/IndexView.vue:955 +#: src/views/monitor/IndexView.vue:990 #: src/views/toolbox/IndexView.vue:28 msgid "Network" msgstr "网络" @@ -2253,12 +2520,18 @@ msgstr "日志级别(logger.level)" #: src/views/database/ServerList.vue:274 #: 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/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:46 +#: src/views/database/UserList.vue:191 +#: src/views/file/PermissionModal.vue:57 +#: 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:46 #: src/views/website/SettingView.vue:57 msgid "Modified successfully" msgstr "修改成功" @@ -2267,7 +2540,8 @@ 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:28 #: src/views/setting/TokenModal.vue:155 msgid "Copied successfully" @@ -2278,9 +2552,7 @@ 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:121 @@ -2295,16 +2567,14 @@ msgstr "ClickHouse 默认用户密码用于访问数据库。请妥善保管!" #: 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 @@ -2320,16 +2590,14 @@ msgstr "" #: 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 @@ -2353,7 +2621,8 @@ msgstr "中国 - 腾讯(仅内网)" #: src/views/apps/docker/IndexView.vue:194 #: src/views/container/ContainerCreate.vue:193 -#: src/views/project/EditModal.vue:182 src/views/website/EditModal.vue:907 +#: src/views/project/EditModal.vue:182 +#: src/views/website/EditModal.vue:907 msgid "Basic Settings" msgstr "基本设置" @@ -2361,14 +2630,13 @@ msgstr "基本设置" msgid "Registry Mirrors" msgstr "注册表镜像" -#: src/views/apps/docker/IndexView.vue:203 src/views/website/EditModal.vue:1729 +#: src/views/apps/docker/IndexView.vue:203 +#: src/views/website/EditModal.vue:1729 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 @@ -2379,7 +2647,8 @@ 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:360 +#: src/views/apps/nginx/NginxIndex.vue:743 +#: src/views/toolbox/SystemView.vue:360 msgid "Add" msgstr "添加" @@ -2388,12 +2657,8 @@ 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" @@ -2464,9 +2729,7 @@ 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 @@ -2530,12 +2793,8 @@ 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" @@ -2590,9 +2849,7 @@ 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 @@ -2622,12 +2879,8 @@ 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 @@ -2644,7 +2897,8 @@ msgstr "封禁时间" msgid "Find Time" msgstr "查找时间" -#: src/views/apps/fail2ban/IndexView.vue:80 src/views/cert/CertView.vue:261 +#: src/views/apps/fail2ban/IndexView.vue:80 +#: src/views/cert/CertView.vue:261 #: src/views/database/ElasticsearchDataView.vue:186 #: src/views/database/RedisDataView.vue:141 msgid "View" @@ -2665,7 +2919,8 @@ 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" @@ -2703,33 +2958,30 @@ 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:105 -#: src/views/cert/DnsView.vue:43 src/views/database/CreateServerModal.vue:100 +#: src/views/backup/StorageView.vue:73 +#: src/views/backup/StorageView.vue:233 +#: src/views/backup/StorageView.vue:395 +#: src/views/cert/CertView.vue:105 +#: src/views/cert/DnsView.vue:43 +#: 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/project/ListView.vue:51 +#: src/views/database/RedisKeyModal.vue:99 +#: src/views/file/PropertyModal.vue:33 +#: src/views/log/OperationLog.vue:74 +#: src/views/project/ListView.vue:51 #: src/views/toolbox/MigrationView.vue:694 -#: src/views/toolbox/MigrationView.vue:781 src/views/toolbox/NetworkView.vue:61 +#: src/views/toolbox/MigrationView.vue:781 +#: src/views/toolbox/NetworkView.vue:61 msgid "Type" msgstr "类型" @@ -2739,7 +2991,8 @@ msgid "Service" msgstr "服务" #: src/views/apps/fail2ban/IndexView.vue:319 -#: src/views/apps/fail2ban/IndexView.vue:323 src/views/task/CreateModal.vue:482 +#: src/views/apps/fail2ban/IndexView.vue:323 +#: src/views/task/CreateModal.vue:482 #: src/views/task/CreateModal.vue:488 msgid "Select Website" msgstr "选择网站" @@ -2750,9 +3003,12 @@ 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/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 msgid "Path" msgstr "路径" @@ -2783,42 +3039,55 @@ 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:37 -#: src/views/home/IndexView.vue:661 src/views/home/IndexView.vue:762 -#: src/views/log/SSHLog.vue:73 src/views/monitor/IndexView.vue:335 -#: src/views/monitor/IndexView.vue:347 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:37 +#: src/views/home/IndexView.vue:661 +#: src/views/home/IndexView.vue:762 +#: src/views/log/SSHLog.vue:73 +#: src/views/monitor/IndexView.vue:335 +#: src/views/monitor/IndexView.vue:347 +#: 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:38 +#: src/views/database/DatabaseList.vue:28 +#: src/views/database/IndexView.vue:38 #: src/views/database/UserList.vue:73 msgid "Server" msgstr "服务器" @@ -2972,11 +3241,16 @@ 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/container/ComposeView.vue:123 src/views/file/ListView.vue:332 -#: src/views/file/ListView.vue:1538 src/views/project/ListView.vue:177 -#: src/views/ssh/IndexView.vue:560 src/views/task/CronView.vue:155 -#: src/views/toolbox/WebHookView.vue:158 src/views/website/ListView.vue:259 +#: src/views/apps/nginx/NginxIndex.vue:266 +#: src/views/backup/StorageView.vue:111 +#: src/views/container/ComposeView.vue:123 +#: src/views/file/ListView.vue:332 +#: src/views/file/ListView.vue:1538 +#: src/views/project/ListView.vue:177 +#: src/views/ssh/IndexView.vue:560 +#: src/views/task/CronView.vue:155 +#: src/views/toolbox/WebHookView.vue:158 +#: src/views/website/ListView.vue:259 msgid "Edit" msgstr "编辑" @@ -3005,20 +3279,28 @@ 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:390 #: 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:104 -#: src/views/database/UpdateUserModal.vue:63 src/views/database/UserList.vue:32 -#: src/views/login/IndexView.vue:261 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:1981 +#: src/views/database/UpdateUserModal.vue:63 +#: src/views/database/UserList.vue:32 +#: src/views/login/IndexView.vue:261 +#: 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:1981 msgid "Password" msgstr "密码" @@ -3035,30 +3317,20 @@ 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 @@ -3165,33 +3437,25 @@ 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:541 +#: src/views/backup/IndexView.vue:59 +#: src/views/task/CreateModal.vue:541 msgid "Storage" msgstr "存储" @@ -3232,7 +3496,8 @@ 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 "通用" @@ -3443,17 +3708,12 @@ 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" @@ -3529,9 +3789,7 @@ 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 @@ -3569,9 +3827,7 @@ 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 @@ -3595,8 +3851,7 @@ 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 @@ -3623,13 +3878,15 @@ 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:1104 +#: src/views/apps/nginx/NginxIndex.vue:635 +#: src/views/website/EditModal.vue:1104 msgid "Proxy Pass" msgstr "代理目标" @@ -3680,15 +3937,18 @@ msgstr "Stream" #: src/views/apps/nginx/NginxIndex.vue:533 #: src/views/database/CreateServerModal.vue:92 -#: src/views/database/IndexView.vue:58 src/views/website/EditModal.vue:1041 +#: src/views/database/IndexView.vue:58 +#: src/views/website/EditModal.vue:1041 msgid "Add Server" msgstr "添加服务器" -#: src/views/apps/nginx/NginxIndex.vue:546 src/views/website/EditModal.vue:960 +#: src/views/apps/nginx/NginxIndex.vue:546 +#: src/views/website/EditModal.vue:960 msgid "Upstream" msgstr "上游" -#: src/views/apps/nginx/NginxIndex.vue:550 src/views/website/EditModal.vue:1057 +#: src/views/apps/nginx/NginxIndex.vue:550 +#: src/views/website/EditModal.vue:1057 msgid "Add Upstream" msgstr "添加上游" @@ -3745,7 +4005,8 @@ 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:971 +#: src/views/apps/nginx/NginxIndex.vue:713 +#: src/views/website/EditModal.vue:971 msgid "Load Balancing Algorithm" msgstr "负载均衡算法" @@ -3767,7 +4028,8 @@ msgstr "地址" #: src/views/apps/nginx/NginxIndex.vue:750 #: src/views/container/NetworkView.vue:329 -#: 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 "选项" @@ -3775,27 +4037,27 @@ msgstr "选项" msgid "No servers added yet" msgstr "尚未添加服务器" -#: src/views/apps/nginx/NginxIndex.vue:777 src/views/website/EditModal.vue:1001 +#: src/views/apps/nginx/NginxIndex.vue:777 +#: src/views/website/EditModal.vue:1001 #: src/views/website/EditModal.vue:1138 msgid "DNS Resolver" msgstr "DNS 解析器" -#: src/views/apps/nginx/NginxIndex.vue:780 src/views/website/EditModal.vue:1004 +#: src/views/apps/nginx/NginxIndex.vue:780 +#: src/views/website/EditModal.vue:1004 #: src/views/website/EditModal.vue:1141 msgid "e.g., 8.8.8.8" msgstr "例如 8.8.8.8" -#: src/views/apps/nginx/NginxIndex.vue:786 src/views/website/EditModal.vue:1010 +#: src/views/apps/nginx/NginxIndex.vue:786 +#: src/views/website/EditModal.vue:1010 #: src/views/website/EditModal.vue:1147 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." @@ -3818,28 +4080,19 @@ 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 @@ -3847,9 +4100,7 @@ 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 @@ -3857,29 +4108,20 @@ 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" @@ -3918,11 +4160,16 @@ 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:426 src/views/home/IndexView.vue:688 -#: src/views/home/IndexView.vue:761 src/views/monitor/IndexView.vue:532 -#: src/views/monitor/IndexView.vue:539 src/views/monitor/IndexView.vue:555 -#: src/views/monitor/IndexView.vue:867 src/views/toolbox/BenchmarkView.vue:178 -#: src/views/toolbox/PanelView.vue:122 src/views/toolbox/ProcessView.vue:152 +#: src/views/container/ContainerCreate.vue:426 +#: src/views/home/IndexView.vue:688 +#: src/views/home/IndexView.vue:761 +#: src/views/monitor/IndexView.vue:532 +#: src/views/monitor/IndexView.vue:539 +#: src/views/monitor/IndexView.vue:555 +#: src/views/monitor/IndexView.vue:867 +#: src/views/toolbox/BenchmarkView.vue:178 +#: src/views/toolbox/PanelView.vue:122 +#: src/views/toolbox/ProcessView.vue:152 msgid "Memory" msgstr "内存" @@ -4052,33 +4299,20 @@ 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" @@ -4130,13 +4364,13 @@ msgstr "您确定要卸载 %{ name } 吗?" #: src/views/apps/prometheus/PrometheusExportersView.vue:146 #: src/views/apps/prometheus/PrometheusExportersView.vue:153 -#: src/views/environment/PHPView.vue:175 src/views/environment/PHPView.vue:181 +#: 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 @@ -4149,17 +4383,22 @@ 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:382 #: 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:96 -#: src/views/database/UserList.vue:22 src/views/login/IndexView.vue:252 -#: 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/database/UserList.vue:22 +#: src/views/login/IndexView.vue:252 +#: 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:1980 msgid "Username" msgstr "用户名" @@ -4193,14 +4432,17 @@ 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:51 src/views/setting/CreateModal.vue:38 +#: src/views/database/IndexView.vue:51 +#: 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:387 #: src/views/database/CreateDatabaseModal.vue:122 #: src/views/database/CreateUserModal.vue:117 @@ -4213,11 +4455,15 @@ 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:464 -#: 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:464 +#: src/views/website/CreateModal.vue:305 +#: src/views/website/ListView.vue:148 msgid "Directory" msgstr "目录" @@ -4274,11 +4520,8 @@ 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." @@ -4363,12 +4606,8 @@ 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." @@ -4418,26 +4657,33 @@ 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:134 #: src/views/database/ServerList.vue:113 #: src/views/database/UpdateServerModal.vue:75 -#: src/views/database/UserList.vue:63 src/views/ssh/CreateModal.vue:65 -#: src/views/ssh/UpdateModal.vue:71 src/views/toolbox/SystemView.vue:229 +#: src/views/database/UserList.vue:63 +#: src/views/ssh/CreateModal.vue:65 +#: src/views/ssh/UpdateModal.vue:71 +#: src/views/toolbox/SystemView.vue:229 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:160 -#: 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:113 -#: 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 "注释" @@ -4450,7 +4696,8 @@ 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 "模块管理" @@ -4460,11 +4707,8 @@ 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 @@ -4500,7 +4744,8 @@ 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 "挂载路径" @@ -4508,12 +4753,14 @@ 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 "添加挂载" @@ -4535,9 +4782,7 @@ 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 @@ -4575,18 +4820,16 @@ 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 "启动命令" @@ -4595,7 +4838,8 @@ 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 "工作目录" @@ -4621,11 +4865,8 @@ 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." @@ -4643,7 +4884,8 @@ msgstr "Valkey AOF 持久化设置。" msgid "Filename" msgstr "文件名" -#: src/views/backup/ListView.vue:57 src/views/database/ServerList.vue:152 +#: src/views/backup/ListView.vue:57 +#: src/views/database/ServerList.vue:152 #: src/views/database/UserList.vue:125 msgid "Update Date" msgstr "更新日期" @@ -4665,31 +4907,34 @@ msgid "Restored successfully" msgstr "恢复成功" #: src/views/backup/ListView.vue:225 -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:232 src/views/backup/ListView.vue:261 +#: src/views/backup/ListView.vue:232 +#: src/views/backup/ListView.vue:261 msgid "Create Backup" msgstr "创建备份" -#: src/views/backup/ListView.vue:235 src/views/backup/UploadModal.vue:38 +#: src/views/backup/ListView.vue:235 +#: src/views/backup/UploadModal.vue:38 msgid "Upload Backup" msgstr "上传备份" -#: src/views/backup/ListView.vue:273 src/views/backup/ListView.vue:321 +#: src/views/backup/ListView.vue:273 +#: src/views/backup/ListView.vue:321 msgid "Select website" msgstr "选择网站" #: src/views/backup/ListView.vue:279 #: 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:285 src/views/backup/ListView.vue:333 +#: src/views/backup/ListView.vue:285 +#: src/views/backup/ListView.vue:333 msgid "Select database" msgstr "选择数据库" @@ -4705,12 +4950,18 @@ 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:535 -#: src/views/cert/CertView.vue:614 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:1712 +#: src/views/backup/StorageView.vue:36 +#: src/views/backup/StorageView.vue:321 +#: src/views/backup/StorageView.vue:477 +#: src/views/cert/CertView.vue:535 +#: src/views/cert/CertView.vue:614 +#: 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:1712 msgid "Private Key" msgstr "私钥" @@ -4722,41 +4973,51 @@ msgstr "创建于" msgid "Are you sure you want to delete this storage?" msgstr "您确定要删除此存储吗?" -#: src/views/backup/StorageView.vue:173 src/views/setting/PasswordModal.vue:21 -#: src/views/setting/TokenModal.vue:178 src/views/setting/TwoFaModal.vue:28 +#: src/views/backup/StorageView.vue:173 +#: 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 "区域" @@ -4765,56 +5026,74 @@ 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:86 -#: src/views/firewall/ForwardView.vue:33 src/views/firewall/RuleView.vue:67 -#: 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 +#: src/views/firewall/ForwardView.vue:33 +#: src/views/firewall/RuleView.vue:67 +#: 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:396 #: src/views/database/CreateDatabaseModal.vue:132 #: src/views/database/CreateUserModal.vue:127 @@ -4822,19 +5101,23 @@ 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" @@ -4846,30 +5129,37 @@ msgstr "编辑存储" msgid "Upload %{ filename } successfully" msgstr "上传 %{ filename } 成功" -#: src/views/backup/UploadModal.vue:50 src/views/file/UploadModal.vue:712 +#: src/views/backup/UploadModal.vue:50 +#: src/views/file/UploadModal.vue:712 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:459 src/views/cert/CreateAccountModal.vue:96 +#: src/views/cert/AccountView.vue:67 +#: src/views/cert/AccountView.vue:218 +#: src/views/cert/CertView.vue:459 +#: 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:290 -#: 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:290 +#: 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 "修改" @@ -4878,12 +5168,14 @@ msgstr "修改" msgid "Are you sure you want to delete the account?" msgstr "您确定要删除该账户吗?" -#: src/views/cert/AccountView.vue:108 src/views/cert/CertView.vue:304 +#: src/views/cert/AccountView.vue:108 +#: src/views/cert/CertView.vue:304 #: 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 注册账户,请耐心等待" @@ -4891,54 +5183,61 @@ 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:462 +#: src/views/cert/AccountView.vue:221 +#: src/views/cert/CertView.vue:462 #: 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" -#: src/views/cert/CertView.vue:82 src/views/cert/CertView.vue:451 -#: src/views/cert/CreateCertModal.vue:102 src/views/project/CreateModal.vue:661 -#: src/views/website/CreateModal.vue:201 src/views/website/EditModal.vue:866 +#: src/views/cert/CertView.vue:82 +#: src/views/cert/CertView.vue:451 +#: src/views/cert/CreateCertModal.vue:102 +#: src/views/project/CreateModal.vue:661 +#: src/views/website/CreateModal.vue:201 +#: src/views/website/EditModal.vue:866 msgid "Domain" msgstr "域名" -#: src/views/cert/CertView.vue:127 src/views/file/ToolBar.vue:181 -#: src/views/file/UploadModal.vue:676 src/views/monitor/IndexView.vue:596 +#: src/views/cert/CertView.vue:127 +#: src/views/file/ToolBar.vue:181 +#: src/views/file/UploadModal.vue:676 +#: src/views/monitor/IndexView.vue:596 msgid "Upload" msgstr "上传" @@ -4946,12 +5245,15 @@ msgstr "上传" msgid "Associated Account" msgstr "关联账户" -#: src/views/cert/CertView.vue:148 src/views/website/EditModal.vue:1639 +#: src/views/cert/CertView.vue:148 +#: src/views/website/EditModal.vue:1639 msgid "Issuer" msgstr "颁发者" -#: src/views/cert/CertView.vue:157 src/views/setting/TokenModal.vue:48 -#: src/views/setting/TokenModal.vue:255 src/views/setting/TokenModal.vue:293 +#: src/views/cert/CertView.vue:157 +#: src/views/setting/TokenModal.vue:48 +#: src/views/setting/TokenModal.vue:255 +#: src/views/setting/TokenModal.vue:293 msgid "Expiration Time" msgstr "过期时间" @@ -4963,7 +5265,8 @@ msgstr "下次续签时间" msgid "Auto Renewal" msgstr "自动续签" -#: src/views/cert/CertView.vue:208 src/views/website/EditModal.vue:2171 +#: src/views/cert/CertView.vue:208 +#: src/views/website/EditModal.vue:2171 msgid "Issue" msgstr "签发" @@ -4984,57 +5287,63 @@ msgid "Modify Certificate" msgstr "修改证书" #: src/views/cert/CertView.vue:445 -msgid "" -"You can automatically issue and deploy certificates by selecting any website/" -"DNS, or manually enter domain names and set DNS resolution to issue " -"certificates, or fill in deployment scripts to automatically deploy " -"certificates." -msgstr "" -"您可以通过选择任何网站 / DNS 自动颁发和部署证书,或手动输入域名并设置 DNS 解" -"析以颁发证书,或填写部署脚本以自动部署证书。" +msgid "You can automatically issue and deploy certificates by selecting any website/DNS, or manually enter domain names and set DNS resolution to issue certificates, or fill in deployment scripts to automatically deploy certificates." +msgstr "您可以通过选择任何网站 / DNS 自动颁发和部署证书,或手动输入域名并设置 DNS 解析以颁发证书,或填写部署脚本以自动部署证书。" -#: src/views/cert/CertView.vue:470 src/views/cert/CreateCertModal.vue:121 +#: src/views/cert/CertView.vue:470 +#: src/views/cert/CreateCertModal.vue:121 msgid "Select website for certificate deployment" msgstr "选择要部署证书的网站" -#: src/views/cert/CertView.vue:478 src/views/cert/CreateCertModal.vue:126 +#: src/views/cert/CertView.vue:478 +#: src/views/cert/CreateCertModal.vue:126 #: src/views/cert/IndexView.vue:97 msgid "Account" msgstr "账户" -#: src/views/cert/CertView.vue:482 src/views/cert/CreateCertModal.vue:129 +#: src/views/cert/CertView.vue:482 +#: src/views/cert/CreateCertModal.vue:129 msgid "Select account for certificate issuance" msgstr "选择用于证书颁发的账户" -#: src/views/cert/CertView.vue:487 src/views/cert/CreateCertModal.vue:134 -#: src/views/cert/CreateDnsModal.vue:71 src/views/cert/DnsView.vue:196 -#: src/views/cert/IndexView.vue:98 src/views/website/EditModal.vue:2162 +#: src/views/cert/CertView.vue:487 +#: src/views/cert/CreateCertModal.vue:134 +#: src/views/cert/CreateDnsModal.vue:71 +#: src/views/cert/DnsView.vue:196 +#: src/views/cert/IndexView.vue:98 +#: src/views/website/EditModal.vue:2162 msgid "DNS" msgstr "DNS" -#: src/views/cert/CertView.vue:490 src/views/cert/CreateCertModal.vue:137 +#: src/views/cert/CertView.vue:490 +#: src/views/cert/CreateCertModal.vue:137 #: src/views/website/EditModal.vue:2165 msgid "Select DNS for certificate issuance" msgstr "选择用于证书颁发的 DNS" -#: src/views/cert/CertView.vue:497 src/views/cert/CreateCertModal.vue:142 +#: src/views/cert/CertView.vue:497 +#: src/views/cert/CreateCertModal.vue:142 msgid "DNS Alias" msgstr "DNS 别名" -#: src/views/cert/CertView.vue:507 src/views/cert/CreateCertModal.vue:148 +#: src/views/cert/CertView.vue:507 +#: src/views/cert/CreateCertModal.vue:148 msgid "Original domain, e.g. example.com" msgstr "原始域名,例如 example.com" -#: src/views/cert/CertView.vue:513 src/views/cert/CreateCertModal.vue:154 +#: src/views/cert/CertView.vue:513 +#: src/views/cert/CreateCertModal.vue:154 msgid "Alias record, e.g. _acme-challenge.delegated.com" msgstr "别名记录,例如 _acme-challenge.delegated.com" -#: src/views/cert/CertView.vue:528 src/views/cert/UploadCertModal.vue:50 +#: src/views/cert/CertView.vue:528 +#: src/views/cert/UploadCertModal.vue:50 #: src/views/website/EditModal.vue:1706 msgid "Enter the content of the PEM certificate file" msgstr "输入 PEM 证书文件的内容" -#: src/views/cert/CertView.vue:540 src/views/cert/UploadCertModal.vue:58 +#: src/views/cert/CertView.vue:540 +#: src/views/cert/UploadCertModal.vue:58 #: src/views/website/EditModal.vue:1716 msgid "Enter the content of the KEY private key file" msgstr "输入 KEY 私钥文件的内容" @@ -5044,9 +5353,7 @@ msgid "Deployment Script" msgstr "部署脚本" #: src/views/cert/CertView.vue:553 -msgid "" -"The {cert} and {key} in the script will be replaced with the certificate and " -"private key content" +msgid "The {cert} and {key} in the script will be replaced with the certificate and private key content" msgstr "脚本中的 {cert} 和 {key} 将被替换为证书和私钥内容" #: src/views/cert/CertView.vue:575 @@ -5065,24 +5372,22 @@ msgstr "启用 HTTPS" msgid "View Certificate" msgstr "查看证书" -#: src/views/cert/CreateAccountModal.vue:68 src/views/cert/IndexView.vue:110 +#: src/views/cert/CreateAccountModal.vue:68 +#: src/views/cert/IndexView.vue:110 msgid "Create Account" msgstr "创建账户" -#: src/views/cert/CreateCertModal.vue:87 src/views/cert/IndexView.vue:107 +#: src/views/cert/CreateCertModal.vue:87 +#: src/views/cert/IndexView.vue:107 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:113 +#: src/views/cert/CreateDnsModal.vue:56 +#: src/views/cert/IndexView.vue:113 msgid "Create DNS" msgstr "创建 DNS" @@ -5094,87 +5399,108 @@ 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 "备注名称" @@ -5190,7 +5516,8 @@ msgstr "修改 DNS" msgid "Enter note name" msgstr "输入备注名称" -#: src/views/cert/IndexView.vue:104 src/views/cert/UploadCertModal.vue:38 +#: src/views/cert/IndexView.vue:104 +#: src/views/cert/UploadCertModal.vue:38 msgid "Upload Certificate" msgstr "上传证书" @@ -5202,17 +5529,21 @@ 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:96 src/views/home/UpdateView.vue:101 +#: src/views/cert/ObtainModal.vue:84 +#: src/views/cert/ObtainModal.vue:90 +#: src/views/home/UpdateView.vue:96 +#: src/views/home/UpdateView.vue:101 msgid "WebSocket connection failed" msgstr "WebSocket 连接失败" @@ -5228,11 +5559,15 @@ msgstr "签发证书" msgid "Issuance Mode" msgstr "签发模式" -#: src/views/container/ComposeView.vue:93 src/views/container/ImageView.vue:77 +#: src/views/container/ComposeView.vue:93 +#: src/views/container/ImageView.vue:77 #: 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:49 +#: 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:49 #: src/views/toolbox/WebHookView.vue:125 msgid "Creation Time" msgstr "创建时间" @@ -5279,7 +5614,8 @@ 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 "编排" @@ -5407,9 +5743,7 @@ msgid "Container End" msgstr "容器结束" #: src/views/container/ContainerCreate.vue:331 -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:340 @@ -5430,9 +5764,7 @@ msgid "Container path" msgstr "容器路径" #: src/views/container/ContainerCreate.vue:369 -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:378 @@ -5441,9 +5773,7 @@ msgid "Resource Limits" msgstr "资源限制" #: src/views/container/ContainerCreate.vue:382 -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:390 @@ -5475,17 +5805,12 @@ msgid "Maximum memory the container can use, in MB. 0 means no limit." msgstr "容器可以使用的最大内存,单位为 MB。0 表示无限制。" #: src/views/container/ContainerCreate.vue:431 -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:438 -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:450 #: src/views/toolbox/MigrationView.vue:470 @@ -5506,8 +5831,10 @@ msgstr "变量值" msgid "Startup Commands" msgstr "启动命令" -#: src/views/container/ContainerCreate.vue:478 src/views/home/IndexView.vue:662 -#: src/views/home/IndexView.vue:763 src/views/monitor/IndexView.vue:335 +#: src/views/container/ContainerCreate.vue:478 +#: src/views/home/IndexView.vue:662 +#: src/views/home/IndexView.vue:763 +#: src/views/monitor/IndexView.vue:335 #: src/views/monitor/IndexView.vue:347 msgid "Command" msgstr "命令" @@ -5569,7 +5896,8 @@ msgstr "暂停" msgid "Resume" msgstr "恢复" -#: src/views/container/ContainerView.vue:227 src/views/file/ListView.vue:1567 +#: src/views/container/ContainerView.vue:227 +#: src/views/file/ListView.vue:1567 msgid "More" msgstr "更多" @@ -5657,9 +5985,12 @@ msgstr "拉取失败" msgid "Container Count" msgstr "容器数量" -#: src/views/container/ImageView.vue:98 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:243 +#: src/views/container/ImageView.vue:98 +#: 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:243 #: src/views/task/TaskView.vue:99 msgid "Are you sure you want to delete?" msgstr "您确定要删除吗?" @@ -5668,7 +5999,8 @@ msgstr "您确定要删除吗?" msgid "Pull successful" msgstr "拉取成功" -#: src/views/container/ImageView.vue:256 src/views/container/ImageView.vue:302 +#: src/views/container/ImageView.vue:256 +#: src/views/container/ImageView.vue:302 msgid "Pull Image" msgstr "拉取镜像" @@ -5706,11 +6038,13 @@ msgstr "网络" #: src/views/container/NetworkView.vue:55 #: src/views/container/NetworkView.vue:258 -#: 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:2030 msgid "Scope" msgstr "范围" @@ -5790,8 +6124,10 @@ msgstr "选项名称" msgid "Option Value" msgstr "选项值" -#: src/views/container/VolumeView.vue:50 src/views/home/IndexView.vue:806 -#: src/views/toolbox/DiskView.vue:282 src/views/toolbox/DiskView.vue:604 +#: src/views/container/VolumeView.vue:50 +#: src/views/home/IndexView.vue:806 +#: src/views/toolbox/DiskView.vue:282 +#: src/views/toolbox/DiskView.vue:604 msgid "Mount Point" msgstr "挂载点" @@ -5919,12 +6255,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:154 -#: 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 "权限" @@ -6074,7 +6410,8 @@ 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 "查看密钥" @@ -6104,11 +6441,13 @@ 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 "无效" @@ -6117,12 +6456,11 @@ 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:122 +#: src/views/database/ServerList.vue:195 +#: src/views/toolbox/SystemView.vue:122 msgid "Synchronized successfully" msgstr "同步成功" @@ -6131,9 +6469,7 @@ 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 @@ -6156,7 +6492,8 @@ 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 @@ -6164,7 +6501,8 @@ 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 @@ -6173,11 +6511,8 @@ 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)" @@ -6187,11 +6522,13 @@ 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)" @@ -6201,9 +6538,7 @@ 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 @@ -6215,12 +6550,8 @@ 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)" @@ -6239,9 +6570,7 @@ 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 @@ -6286,12 +6615,8 @@ 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" @@ -6302,9 +6627,7 @@ 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 @@ -6332,8 +6655,7 @@ 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 @@ -6358,8 +6680,7 @@ 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 @@ -6387,12 +6708,8 @@ 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)" @@ -6463,24 +6780,16 @@ 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" @@ -6507,9 +6816,7 @@ 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 @@ -6550,8 +6857,10 @@ msgstr "名称不能为空" msgid "Canceled" msgstr "已取消" -#: src/views/file/composables/usePaste.ts:131 src/views/file/ListView.vue:239 -#: src/views/file/ListView.vue:766 src/views/file/ListView.vue:850 +#: src/views/file/composables/usePaste.ts:131 +#: src/views/file/ListView.vue:239 +#: src/views/file/ListView.vue:766 +#: src/views/file/ListView.vue:850 msgid "Warning" msgstr "警告" @@ -6559,20 +6868,23 @@ msgstr "警告" msgid "There are items with the same name %{ items } Do you want to overwrite?" msgstr "存在同名项目 %{ items } 是否要覆盖?" -#: src/views/file/composables/usePaste.ts:168 src/views/file/ListView.vue:768 -#: src/views/file/UploadModal.vue:752 src/views/file/UploadModal.vue:784 +#: src/views/file/composables/usePaste.ts:168 +#: src/views/file/ListView.vue:768 +#: src/views/file/UploadModal.vue:752 +#: src/views/file/UploadModal.vue:784 msgid "Overwrite" msgstr "覆盖" #: src/views/file/CompressModal.vue:47 -#, fuzzy -msgid "" -"Compress task created successfully, please check the task list for progress" -msgstr "下载任务创建成功,请在任务列表中查看进度" +msgid "Compress task created successfully, please check the task list for progress" +msgstr "压缩任务创建成功,请在任务列表中查看进度" -#: src/views/file/CompressModal.vue:70 src/views/file/CompressModal.vue:103 -#: src/views/file/ListView.vue:309 src/views/file/ListView.vue:345 -#: src/views/file/ListView.vue:953 src/views/file/ListView.vue:1532 +#: src/views/file/CompressModal.vue:70 +#: src/views/file/CompressModal.vue:103 +#: src/views/file/ListView.vue:309 +#: src/views/file/ListView.vue:345 +#: src/views/file/ListView.vue:953 +#: src/views/file/ListView.vue:1532 #: src/views/file/ToolBar.vue:216 msgid "Compress" msgstr "压缩" @@ -6602,55 +6914,63 @@ msgid "File Editor" msgstr "文件编辑器" #: src/views/file/ListView.vue:240 -msgid "" -"%{ name } has immutable attribute. The panel will temporarily remove the " -"immutable attribute, perform the operation, and then restore the immutable " -"attribute. Do you want to continue?" -msgstr "" -"%{ name } 具有不可变属性。面板将暂时移除不可变属性,执行操作,然后恢复不可变" -"属性。您要继续吗?" +msgid "%{ name } has immutable attribute. The panel will temporarily remove the immutable attribute, perform the operation, and then restore the immutable attribute. Do you want to continue?" +msgstr "%{ name } 具有不可变属性。面板将暂时移除不可变属性,执行操作,然后恢复不可变属性。您要继续吗?" -#: src/views/file/ListView.vue:244 src/views/file/UploadModal.vue:506 +#: src/views/file/ListView.vue:244 +#: src/views/file/UploadModal.vue:506 #: src/views/file/UploadModal.vue:641 msgid "Continue" msgstr "继续" -#: src/views/file/ListView.vue:297 src/views/file/ListView.vue:315 -#: src/views/file/ListView.vue:359 src/views/file/ToolBar.vue:211 +#: src/views/file/ListView.vue:297 +#: src/views/file/ListView.vue:315 +#: src/views/file/ListView.vue:359 +#: src/views/file/ToolBar.vue:211 msgid "Paste" msgstr "粘贴" -#: src/views/file/ListView.vue:308 src/views/file/ListView.vue:342 -#: src/views/file/ListView.vue:951 src/views/file/ToolBar.vue:215 +#: src/views/file/ListView.vue:308 +#: src/views/file/ListView.vue:342 +#: src/views/file/ListView.vue:951 +#: src/views/file/ToolBar.vue:215 msgid "Move" msgstr "移动" -#: src/views/file/ListView.vue:310 src/views/file/ListView.vue:343 -#: src/views/file/ListView.vue:952 src/views/file/ListView.vue:1350 -#: src/views/file/PermissionModal.vue:146 src/views/file/PropertyModal.vue:42 +#: src/views/file/ListView.vue:310 +#: src/views/file/ListView.vue:343 +#: src/views/file/ListView.vue:952 +#: src/views/file/ListView.vue:1350 +#: src/views/file/PermissionModal.vue:146 +#: src/views/file/PropertyModal.vue:42 #: src/views/file/ToolBar.vue:217 msgid "Permission" msgstr "权限" -#: src/views/file/ListView.vue:327 src/views/file/ListView.vue:1519 +#: src/views/file/ListView.vue:327 +#: src/views/file/ListView.vue:1519 msgid "Open" msgstr "打开" -#: src/views/file/ListView.vue:329 src/views/file/ListView.vue:1538 +#: src/views/file/ListView.vue:329 +#: src/views/file/ListView.vue:1538 msgid "Preview" msgstr "预览" -#: src/views/file/ListView.vue:331 src/views/file/ListView.vue:958 +#: src/views/file/ListView.vue:331 +#: src/views/file/ListView.vue:958 #: src/views/file/ListView.vue:1647 msgid "Uncompress" msgstr "解压" -#: src/views/file/ListView.vue:354 src/views/file/ListView.vue:968 +#: src/views/file/ListView.vue:354 +#: src/views/file/ListView.vue:968 #: src/views/file/PropertyModal.vue:11 msgid "Properties" msgstr "属性" -#: src/views/file/ListView.vue:677 src/views/file/ToolBar.vue:78 +#: src/views/file/ListView.vue:677 +#: src/views/file/ToolBar.vue:78 #: src/views/file/ToolBar.vue:97 msgid "Marked successfully, please navigate to the destination path to paste" msgstr "标记成功,请导航到目标路径进行粘贴" @@ -6659,7 +6979,8 @@ msgstr "标记成功,请导航到目标路径进行粘贴" msgid "There are items with the same name. Do you want to overwrite?" msgstr "存在同名项目。您要覆盖吗?" -#: src/views/file/ListView.vue:775 src/views/file/ListView.vue:794 +#: src/views/file/ListView.vue:775 +#: src/views/file/ListView.vue:794 msgid "Renamed %{ source } to %{ target } successfully" msgstr "成功将 %{ source } 重命名为 %{ target }" @@ -6671,7 +6992,8 @@ msgstr "某些文件是不可变的,无法删除" msgid "Are you sure you want to delete %{count} items?" msgstr "您确定要删除 %{count} 项吗?" -#: src/views/file/ListView.vue:861 src/views/file/PathInput.vue:34 +#: src/views/file/ListView.vue:861 +#: src/views/file/PathInput.vue:34 msgid "Path copied to clipboard" msgstr "路径已复制到剪贴板" @@ -6680,10 +7002,8 @@ msgid "Copy Path" msgstr "复制路径" #: src/views/file/ListView.vue:1217 -#, fuzzy -msgid "" -"Uncompress task created successfully, please check the task list for progress" -msgstr "下载任务创建成功,请在任务列表中查看进度" +msgid "Uncompress task created successfully, please check the task list for progress" +msgstr "解压任务创建成功,请在任务列表中查看进度" #: src/views/file/ListView.vue:1578 msgid "No files" @@ -6705,7 +7025,8 @@ msgstr "解压 - %{ file }" msgid "Uncompress to" msgstr "解压到" -#: src/views/file/ListView.vue:1655 src/views/file/ToolBar.vue:264 +#: src/views/file/ListView.vue:1655 +#: src/views/file/ToolBar.vue:264 msgid "Terminal - %{ path }" msgstr "终端 - %{ path }" @@ -6713,7 +7034,8 @@ msgstr "终端 - %{ path }" msgid "Failed to copy path" msgstr "路径复制失败" -#: src/views/file/PathInput.vue:109 src/views/home/UpdateView.vue:164 +#: src/views/file/PathInput.vue:109 +#: src/views/home/UpdateView.vue:164 msgid "Back" msgstr "返回" @@ -6754,22 +7076,27 @@ 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:1000 +#: src/views/file/PermissionModal.vue:139 +#: src/views/home/IndexView.vue:212 +#: src/views/home/IndexView.vue:228 +#: src/views/home/IndexView.vue:1000 #: src/views/monitor/IndexView.vue:639 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:1001 +#: src/views/file/PermissionModal.vue:140 +#: src/views/home/IndexView.vue:212 +#: src/views/home/IndexView.vue:252 +#: src/views/home/IndexView.vue:1001 #: src/views/monitor/IndexView.vue:648 msgid "Write" msgstr "写入" @@ -6809,8 +7136,7 @@ msgid "Immutable" msgstr "不可变" #: src/views/file/ToolBar.vue:55 -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:65 @@ -6825,7 +7151,8 @@ msgstr "请选择要移动的文件/文件夹" msgid "Sort" msgstr "排序" -#: src/views/file/ToolBar.vue:182 src/views/file/ToolBar.vue:236 +#: src/views/file/ToolBar.vue:182 +#: src/views/file/ToolBar.vue:236 msgid "Remote Download" msgstr "远程下载" @@ -6850,31 +7177,30 @@ msgid "Save as" msgstr "另存为" #: src/views/file/UploadModal.vue:126 -#, fuzzy msgid "New name for \"%{name}\" cannot be empty" -msgstr "名称不能为空" +msgstr "「%{name}」的新名称不能为空" #: src/views/file/UploadModal.vue:131 -#, fuzzy msgid "Invalid new name \"%{name}\"" -msgstr "无效的名称" +msgstr "无效的新名称「%{name}」" #: src/views/file/UploadModal.vue:142 msgid "Duplicate new name \"%{name}\"" -msgstr "" +msgstr "重复的新名称「%{name}」" -#: src/views/file/UploadModal.vue:473 src/views/file/UploadModal.vue:593 +#: src/views/file/UploadModal.vue:473 +#: src/views/file/UploadModal.vue:593 msgid "Upload %{ fileName } successful" msgstr "上传 %{ fileName } 成功" -#: src/views/file/UploadModal.vue:501 src/views/file/UploadModal.vue:636 +#: src/views/file/UploadModal.vue:501 +#: src/views/file/UploadModal.vue:636 msgid "Confirm Upload" msgstr "确认上传" -#: src/views/file/UploadModal.vue:502 src/views/file/UploadModal.vue:637 -msgid "" -"You are about to upload %{count} files. This may take a while. Do you want " -"to continue?" +#: src/views/file/UploadModal.vue:502 +#: src/views/file/UploadModal.vue:637 +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:685 @@ -6886,32 +7212,29 @@ msgid "Preparing..." msgstr "准备中……" #: src/views/file/UploadModal.vue:715 -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:727 msgid "Files already exist" -msgstr "" +msgstr "文件已存在" #: src/views/file/UploadModal.vue:738 -msgid "" -"The following files already exist in the target directory. Choose an action " -"for each." -msgstr "" +msgid "The following files already exist in the target directory. Choose an action for each." +msgstr "目标目录中已存在以下文件。请为每个文件选择一个操作。" #: src/views/file/UploadModal.vue:744 msgid "Apply to all:" -msgstr "" +msgstr "应用于所有:" -#: src/views/file/UploadModal.vue:746 src/views/file/UploadModal.vue:782 +#: src/views/file/UploadModal.vue:746 +#: src/views/file/UploadModal.vue:782 msgid "Skip" -msgstr "" +msgstr "跳过" #: src/views/file/UploadModal.vue:776 -#, fuzzy msgid "New file name" -msgstr "文件名" +msgstr "新文件名" #: src/views/firewall/CreateForwardModal.vue:56 #: src/views/firewall/ForwardView.vue:153 @@ -6920,8 +7243,10 @@ msgstr "创建转发" #: src/views/firewall/CreateForwardModal.vue:64 #: src/views/firewall/CreateIpModal.vue:104 -#: src/views/firewall/CreateModal.vue:116 src/views/firewall/ForwardView.vue:16 -#: src/views/firewall/IpRuleView.vue:16 src/views/firewall/RuleView.vue:33 +#: src/views/firewall/CreateModal.vue:116 +#: src/views/firewall/ForwardView.vue:16 +#: src/views/firewall/IpRuleView.vue:16 +#: src/views/firewall/RuleView.vue:33 msgid "Transport Protocol" msgstr "传输协议" @@ -6940,25 +7265,29 @@ msgid "Target Port" msgstr "目标端口" #: src/views/firewall/CreateIpModal.vue:39 -#: src/views/firewall/CreateModal.vue:39 src/views/firewall/IpRuleView.vue:70 +#: src/views/firewall/CreateModal.vue:39 +#: src/views/firewall/IpRuleView.vue:70 #: src/views/firewall/RuleView.vue:175 msgid "Accept" msgstr "接受" #: src/views/firewall/CreateIpModal.vue:43 -#: src/views/firewall/CreateModal.vue:43 src/views/firewall/IpRuleView.vue:72 +#: src/views/firewall/CreateModal.vue:43 +#: src/views/firewall/IpRuleView.vue:72 #: src/views/firewall/RuleView.vue:177 msgid "Drop" msgstr "丢弃" #: src/views/firewall/CreateIpModal.vue:47 -#: src/views/firewall/CreateModal.vue:47 src/views/firewall/IpRuleView.vue:74 +#: src/views/firewall/CreateModal.vue:47 +#: src/views/firewall/IpRuleView.vue:74 #: src/views/firewall/RuleView.vue:179 msgid "Reject" msgstr "拒绝" #: src/views/firewall/CreateIpModal.vue:54 -#: src/views/firewall/CreateModal.vue:54 src/views/firewall/IpRuleView.vue:99 +#: src/views/firewall/CreateModal.vue:54 +#: src/views/firewall/IpRuleView.vue:99 #: src/views/firewall/RuleView.vue:204 #: src/views/website/stats/OverviewTab.vue:390 #: src/views/website/stats/OverviewTab.vue:424 @@ -6968,7 +7297,8 @@ msgid "Inbound" msgstr "入站" #: src/views/firewall/CreateIpModal.vue:58 -#: src/views/firewall/CreateModal.vue:58 src/views/firewall/IpRuleView.vue:101 +#: src/views/firewall/CreateModal.vue:58 +#: src/views/firewall/IpRuleView.vue:101 #: src/views/firewall/RuleView.vue:206 #: src/views/website/stats/OverviewTab.vue:388 #: src/views/website/stats/OverviewTab.vue:389 @@ -6984,13 +7314,15 @@ msgid "%{ address } created successfully" msgstr "%{ address } 创建成功" #: src/views/firewall/CreateIpModal.vue:96 -#: src/views/firewall/CreateModal.vue:108 src/views/firewall/IpRuleView.vue:195 +#: src/views/firewall/CreateModal.vue:108 +#: src/views/firewall/IpRuleView.vue:195 #: src/views/firewall/RuleView.vue:303 msgid "Create Rule" msgstr "创建规则" #: src/views/firewall/CreateIpModal.vue:107 -#: src/views/firewall/CreateModal.vue:119 src/views/firewall/IpRuleView.vue:33 +#: src/views/firewall/CreateModal.vue:119 +#: src/views/firewall/IpRuleView.vue:33 #: src/views/firewall/RuleView.vue:50 msgid "Network Protocol" msgstr "网络协议" @@ -7005,13 +7337,15 @@ 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:151 src/views/firewall/IpRuleView.vue:50 +#: src/views/firewall/CreateModal.vue:151 +#: src/views/firewall/IpRuleView.vue:50 #: src/views/firewall/RuleView.vue:155 msgid "Strategy" msgstr "策略" #: src/views/firewall/CreateIpModal.vue:120 -#: src/views/firewall/CreateModal.vue:154 src/views/firewall/IpRuleView.vue:86 +#: src/views/firewall/CreateModal.vue:154 +#: src/views/firewall/IpRuleView.vue:86 #: src/views/firewall/RuleView.vue:191 msgid "Direction" msgstr "方向" @@ -7024,17 +7358,21 @@ msgstr "起始端口" msgid "End Port" msgstr "结束端口" -#: src/views/firewall/CreateModal.vue:144 src/views/firewall/IpRuleView.vue:111 -#: src/views/firewall/RuleView.vue:216 src/views/website/EditModal.vue:1797 +#: src/views/firewall/CreateModal.vue:144 +#: src/views/firewall/IpRuleView.vue:111 +#: src/views/firewall/RuleView.vue:216 +#: src/views/website/EditModal.vue:1797 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:275 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:307 msgid "Are you sure you want to delete the selected rules?" msgstr "您确定要删除所选规则吗?" @@ -7051,11 +7389,13 @@ msgstr "IP 规则" msgid "Port Forwarding" msgstr "端口转发" -#: src/views/firewall/IndexView.vue:25 src/views/firewall/SettingView.vue:96 +#: src/views/firewall/IndexView.vue:25 +#: src/views/firewall/SettingView.vue:96 msgid "Scan Awareness" msgstr "扫描感知" -#: src/views/firewall/IpRuleView.vue:76 src/views/firewall/RuleView.vue:181 +#: src/views/firewall/IpRuleView.vue:76 +#: src/views/firewall/RuleView.vue:181 msgid "Mark" msgstr "标记" @@ -7063,7 +7403,8 @@ msgstr "标记" msgid "Not Used" msgstr "未使用" -#: src/views/firewall/RuleView.vue:106 src/views/toolbox/PanelView.vue:154 +#: src/views/firewall/RuleView.vue:106 +#: src/views/toolbox/PanelView.vue:154 msgid "In Use" msgstr "使用中" @@ -7071,14 +7412,19 @@ msgstr "使用中" msgid "No process information" 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 数" @@ -7101,13 +7447,16 @@ 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 "位置" @@ -7115,7 +7464,8 @@ 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 "最后记录" @@ -7132,11 +7482,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 "概览" @@ -7152,7 +7502,8 @@ 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 "清除数据" @@ -7176,7 +7527,8 @@ msgstr "源 IP 前 10" msgid "Top 10 Scanned Ports" msgstr "扫描端口前 10" -#: 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 "设置保存成功" @@ -7237,17 +7589,22 @@ msgstr "运行正常" msgid "Running smoothly" msgstr "运行流畅" -#: src/views/home/IndexView.vue:188 src/views/home/IndexView.vue:956 -#: src/views/home/IndexView.vue:976 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:956 +#: src/views/home/IndexView.vue:976 +#: 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 "接收" @@ -7255,20 +7612,26 @@ msgstr "接收" msgid "Unit %{unit}" msgstr "单位 %{unit}" -#: src/views/home/IndexView.vue:234 src/views/home/IndexView.vue:258 -#: src/views/monitor/IndexView.vue:433 src/views/monitor/IndexView.vue:502 +#: src/views/home/IndexView.vue:234 +#: src/views/home/IndexView.vue:258 +#: src/views/monitor/IndexView.vue:433 +#: src/views/monitor/IndexView.vue:502 #: src/views/monitor/IndexView.vue:564 msgid "Maximum" msgstr "最大值" -#: src/views/home/IndexView.vue:235 src/views/home/IndexView.vue:259 -#: src/views/monitor/IndexView.vue:434 src/views/monitor/IndexView.vue:503 +#: src/views/home/IndexView.vue:235 +#: src/views/home/IndexView.vue:259 +#: src/views/monitor/IndexView.vue:434 +#: src/views/monitor/IndexView.vue:503 #: src/views/monitor/IndexView.vue:565 msgid "Minimum" msgstr "最小值" -#: src/views/home/IndexView.vue:239 src/views/home/IndexView.vue:263 -#: src/views/monitor/IndexView.vue:438 src/views/monitor/IndexView.vue:507 +#: src/views/home/IndexView.vue:239 +#: src/views/home/IndexView.vue:263 +#: src/views/monitor/IndexView.vue:438 +#: src/views/monitor/IndexView.vue:507 #: src/views/monitor/IndexView.vue:569 msgid "Average" msgstr "平均值" @@ -7289,7 +7652,8 @@ msgstr "服务器重启中……" msgid "Restart Panel" msgstr "重启面板" -#: src/views/home/IndexView.vue:394 src/views/home/IndexView.vue:1025 +#: src/views/home/IndexView.vue:394 +#: src/views/home/IndexView.vue:1025 msgid "Restart Server" msgstr "重启服务器" @@ -7298,24 +7662,15 @@ msgid "Current version is the latest" msgstr "当前版本是最新版本" #: src/views/home/IndexView.vue:501 -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:512 -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:543 src/views/task/IndexView.vue:25 +#: src/views/home/IndexView.vue:543 +#: src/views/task/IndexView.vue:25 msgid "Scheduled Tasks" msgstr "计划任务" @@ -7343,7 +7698,8 @@ msgstr "最近 15 分钟" msgid "cores" msgstr "核心" -#: src/views/home/IndexView.vue:617 src/views/toolbox/disk/RaidView.vue:111 +#: src/views/home/IndexView.vue:617 +#: src/views/toolbox/disk/RaidView.vue:111 #: src/views/toolbox/disk/RaidView.vue:142 #: src/views/toolbox/disk/SmartView.vue:104 msgid "Model" @@ -7377,7 +7733,8 @@ msgstr "已用物理内存" msgid "Physical Memory Available" msgstr "可用物理内存" -#: src/views/home/IndexView.vue:709 src/views/toolbox/DiskView.vue:218 +#: src/views/home/IndexView.vue:709 +#: src/views/toolbox/DiskView.vue:218 msgid "Free" msgstr "空闲" @@ -7385,7 +7742,8 @@ msgstr "空闲" msgid "Active" msgstr "活跃" -#: src/views/home/IndexView.vue:715 src/views/project/ListView.vue:76 +#: src/views/home/IndexView.vue:715 +#: src/views/project/ListView.vue:76 msgid "Inactive" msgstr "非活跃" @@ -7445,7 +7803,8 @@ msgstr "您尚未设置任何要在此处显示的应用!" msgid "Environment Information" msgstr "环境信息" -#: src/views/home/IndexView.vue:889 src/views/toolbox/SystemView.vue:231 +#: src/views/home/IndexView.vue:889 +#: src/views/toolbox/SystemView.vue:231 msgid "System Hostname" msgstr "系统主机名" @@ -7506,9 +7865,7 @@ msgid "Read/Write Latency" msgstr "读/写延迟" #: src/views/home/IndexView.vue:1027 -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:107 @@ -7520,45 +7877,39 @@ msgid "Are you sure you want to update the panel?" msgstr "您确定要更新面板吗?" #: src/views/home/UpdateView.vue:130 -#, fuzzy msgid "Update failed" -msgstr "更新已取消" +msgstr "更新失败" #: src/views/home/UpdateView.vue:131 -#, fuzzy msgid "Update timed out" -msgstr "更新日期" +msgstr "更新超时" #: src/views/home/UpdateView.vue:132 msgid "Updating to v%{ v }..." -msgstr "" +msgstr "正在更新到 v%{ v }……" #: src/views/home/UpdateView.vue:146 -#, fuzzy msgid "Panel is restarting, please wait..." -msgstr "面板重启中……" +msgstr "正在重启面板,请稍候……" #: src/views/home/UpdateView.vue:152 -msgid "" -"Update may have failed, please check the panel logs and refresh manually." -msgstr "" +msgid "Update may have failed, please check the panel logs and refresh manually." +msgstr "更新可能失败,请检查面板日志并手动刷新。" #: src/views/home/UpdateView.vue:158 -#, fuzzy msgid "Error" msgstr "错误" #: src/views/home/UpdateView.vue:179 -#, fuzzy msgid "A new version is available" -msgstr "暂无日志数据" +msgstr "有一个新版本可用" #: src/views/home/UpdateView.vue:182 -#, fuzzy msgid "Current" -msgstr "当前值" +msgstr "当前" -#: src/views/home/UpdateView.vue:189 src/views/home/UpdateView.vue:209 +#: src/views/home/UpdateView.vue:189 +#: src/views/home/UpdateView.vue:209 msgid "Latest" msgstr "最新" @@ -7567,26 +7918,32 @@ msgid "Update Now" msgstr "立即更新" #: src/views/home/UpdateView.vue:203 -#, fuzzy msgid "Changelog" -msgstr "渠道" +msgstr "更新日志" -#: src/views/log/DatabaseLog.vue:30 src/views/log/HttpLog.vue:30 -#: src/views/log/OperationLog.vue:33 src/views/monitor/IndexView.vue:773 -#: src/views/monitor/IndexView.vue:827 src/views/monitor/IndexView.vue:879 -#: src/views/monitor/IndexView.vue:935 src/views/monitor/IndexView.vue:1002 +#: src/views/log/DatabaseLog.vue:30 +#: src/views/log/HttpLog.vue:30 +#: src/views/log/OperationLog.vue:33 +#: src/views/monitor/IndexView.vue:773 +#: src/views/monitor/IndexView.vue:827 +#: src/views/monitor/IndexView.vue:879 +#: src/views/monitor/IndexView.vue:935 +#: src/views/monitor/IndexView.vue:1002 #: 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/log/DatabaseLog.vue:48 +#: src/views/log/HttpLog.vue:56 +#: src/views/log/OperationLog.vue:51 +#: src/views/log/SSHLog.vue:58 #: src/views/toolbox/SystemView.vue:250 #: 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 "级别" @@ -7594,7 +7951,8 @@ 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:697 #: src/views/toolbox/MigrationView.vue:784 msgid "Duration" @@ -7604,17 +7962,21 @@ 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 "方法" @@ -7642,8 +8004,10 @@ msgstr "SSH 日志" msgid "Operator" msgstr "操作员" -#: src/views/log/OperationLog.vue:87 src/views/toolbox/IndexView.vue:29 -#: src/views/toolbox/PanelView.vue:129 src/views/toolbox/PanelView.vue:148 +#: src/views/log/OperationLog.vue:87 +#: src/views/toolbox/IndexView.vue:29 +#: src/views/toolbox/PanelView.vue:129 +#: src/views/toolbox/PanelView.vue:148 msgid "System" msgstr "系统" @@ -7651,7 +8015,8 @@ msgstr "系统" msgid "Message" msgstr "消息" -#: src/views/log/OperationLog.vue:100 src/views/toolbox/MigrationView.vue:785 +#: src/views/log/OperationLog.vue:100 +#: src/views/toolbox/MigrationView.vue:785 msgid "Details" msgstr "详情" @@ -7663,7 +8028,8 @@ msgstr "%{count} 个字段" msgid "Accepted" msgstr "已接受" -#: src/views/log/SSHLog.vue:46 src/views/project/ListView.vue:74 +#: src/views/log/SSHLog.vue:46 +#: src/views/project/ListView.vue:74 #: src/views/task/TaskView.vue:44 msgid "Failed" msgstr "失败" @@ -7693,8 +8059,7 @@ 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 @@ -7725,8 +8090,10 @@ msgstr "记住我" msgid "Login with Passkey" msgstr "使用通行密钥登录" -#: src/views/monitor/IndexView.vue:335 src/views/monitor/IndexView.vue:347 -#: src/views/toolbox/IndexView.vue:27 src/views/toolbox/NetworkView.vue:75 +#: src/views/monitor/IndexView.vue:335 +#: src/views/monitor/IndexView.vue:347 +#: src/views/toolbox/IndexView.vue:27 +#: src/views/toolbox/NetworkView.vue:75 msgid "Process" msgstr "进程" @@ -7754,7 +8121,8 @@ msgstr "15 分钟" msgid "Usage %" msgstr "使用率 %" -#: src/views/monitor/IndexView.vue:493 src/views/toolbox/DiskView.vue:259 +#: src/views/monitor/IndexView.vue:493 +#: src/views/toolbox/DiskView.vue:259 msgid "Usage" msgstr "使用率" @@ -7762,7 +8130,8 @@ msgstr "使用率" msgid "Unit MB" msgstr "单位 MB" -#: src/views/monitor/IndexView.vue:695 src/views/monitor/IndexView.vue:704 +#: src/views/monitor/IndexView.vue:695 +#: src/views/monitor/IndexView.vue:704 msgid "Operation successful" msgstr "操作成功" @@ -7782,11 +8151,13 @@ msgstr "天" msgid "Collection Interval" msgstr "采集间隔" -#: src/views/monitor/IndexView.vue:727 src/views/setting/SettingSafe.vue:45 +#: src/views/monitor/IndexView.vue:727 +#: src/views/setting/SettingSafe.vue:45 msgid "minutes" msgstr "分钟" -#: src/views/monitor/IndexView.vue:743 src/views/website/EditModal.vue:2101 +#: src/views/monitor/IndexView.vue:743 +#: src/views/website/EditModal.vue:2101 msgid "Are you sure you want to clear?" msgstr "确定要清除吗?" @@ -7798,17 +8169,22 @@ msgstr "清除监控记录" msgid "Load" msgstr "负载" -#: src/views/monitor/IndexView.vue:767 src/views/monitor/IndexView.vue:821 -#: src/views/monitor/IndexView.vue:873 src/views/monitor/IndexView.vue:929 +#: src/views/monitor/IndexView.vue:767 +#: src/views/monitor/IndexView.vue:821 +#: src/views/monitor/IndexView.vue:873 +#: src/views/monitor/IndexView.vue:929 #: src/views/monitor/IndexView.vue:996 #: src/views/website/stats/OverviewTab.vue:259 #: src/views/website/StatsView.vue:144 msgid "Yesterday" msgstr "昨天" -#: src/views/monitor/IndexView.vue:779 src/views/monitor/IndexView.vue:833 -#: src/views/monitor/IndexView.vue:885 src/views/monitor/IndexView.vue:941 -#: src/views/monitor/IndexView.vue:1008 src/views/website/StatsView.vue:147 +#: src/views/monitor/IndexView.vue:779 +#: src/views/monitor/IndexView.vue:833 +#: src/views/monitor/IndexView.vue:885 +#: src/views/monitor/IndexView.vue:941 +#: src/views/monitor/IndexView.vue:1008 +#: src/views/website/StatsView.vue:147 msgid "Last 7 Days" msgstr "近 7 天" @@ -7868,26 +8244,28 @@ 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 @@ -7918,14 +8296,18 @@ 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 "选择框架" @@ -7938,12 +8320,14 @@ 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/project/CreateModal.vue:548 +#: src/views/website/CreateModal.vue:236 #: src/views/website/EditModal.vue:926 msgid "PHP Version" msgstr "PHP 版本" -#: src/views/project/CreateModal.vue:552 src/views/website/CreateModal.vue:240 +#: src/views/project/CreateModal.vue:552 +#: src/views/website/CreateModal.vue:240 #: src/views/website/EditModal.vue:931 msgid "Select PHP Version" msgstr "选择 PHP 版本" @@ -7964,7 +8348,8 @@ 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 "选择或输入用户" @@ -7972,13 +8357,15 @@ 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/IndexView.vue:26 +#: src/views/website/CreateModal.vue:28 +#: src/views/website/IndexView.vue:26 #: src/views/website/ListView.vue:126 msgid "Reverse Proxy" msgstr "反向代理" @@ -8027,9 +8414,12 @@ msgstr "文件(附加)" msgid "File (truncate)" msgstr "文件(截断)" -#: src/views/project/EditModal.vue:72 src/views/setting/SettingBase.vue:187 -#: src/views/setting/SettingSafe.vue:246 src/views/website/EditModal.vue:778 -#: src/views/website/EditModal.vue:782 src/views/website/EditModal.vue:997 +#: src/views/project/EditModal.vue:72 +#: src/views/setting/SettingBase.vue:187 +#: src/views/setting/SettingSafe.vue:246 +#: src/views/website/EditModal.vue:778 +#: src/views/website/EditModal.vue:782 +#: src/views/website/EditModal.vue:997 msgid "Disabled" msgstr "禁用" @@ -8126,12 +8516,8 @@ 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" @@ -8166,9 +8552,7 @@ 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 @@ -8200,9 +8584,7 @@ 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 @@ -8226,11 +8608,8 @@ 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" @@ -8264,8 +8643,10 @@ 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/IndexView.vue:27 +#: src/views/project/IndexView.vue:26 +#: src/views/website/BulkCreateModal.vue:60 +#: src/views/website/CreateModal.vue:29 +#: src/views/website/IndexView.vue:27 #: src/views/website/ListView.vue:127 msgid "PHP" msgstr "PHP" @@ -8302,7 +8683,8 @@ 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 "输入用户密码" @@ -8310,11 +8692,13 @@ 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:225 +#: src/views/setting/IndexView.vue:118 +#: src/views/website/EditModal.vue:225 msgid "Please wait..." msgstr "请稍候……" @@ -8362,14 +8746,13 @@ 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 @@ -8388,7 +8771,8 @@ 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 "面板名称" @@ -8481,9 +8865,7 @@ 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 @@ -8495,26 +8877,19 @@ 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" @@ -8531,9 +8906,7 @@ 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 @@ -8541,12 +8914,8 @@ 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" @@ -8557,9 +8926,7 @@ 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 @@ -8567,9 +8934,7 @@ 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 @@ -8577,9 +8942,7 @@ 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 @@ -8587,38 +8950,24 @@ 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)" @@ -8632,16 +8981,14 @@ 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" @@ -8651,7 +8998,8 @@ 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 "访问令牌" @@ -8679,19 +9027,23 @@ 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 "请选择到期时间" @@ -8712,8 +9064,7 @@ 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 @@ -8724,29 +9075,33 @@ msgstr "代码" msgid "Enter the code" msgstr "输入代码" -#: src/views/ssh/CreateModal.vue:53 src/views/ssh/IndexView.vue:533 +#: src/views/ssh/CreateModal.vue:53 +#: src/views/ssh/IndexView.vue:533 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:65 -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:121 @@ -8777,7 +9132,8 @@ msgstr "退出全屏" msgid "Fullscreen" msgstr "全屏" -#: src/views/ssh/IndexView.vue:527 src/views/toolbox/SystemView.vue:237 +#: src/views/ssh/IndexView.vue:527 +#: src/views/toolbox/SystemView.vue:237 msgid "Hosts" msgstr "Hosts" @@ -8829,17 +9185,20 @@ msgstr "日志轮转 - 网站" msgid "Log Rotation - Container" msgstr "日志轮转 - 容器" -#: src/views/task/CreateModal.vue:152 src/views/task/CreateModal.vue:338 +#: src/views/task/CreateModal.vue:152 +#: src/views/task/CreateModal.vue:338 #: src/views/task/CronView.vue:71 msgid "Log Rotation" msgstr "日志轮转" -#: src/views/task/CreateModal.vue:157 src/views/task/CreateModal.vue:339 +#: src/views/task/CreateModal.vue:157 +#: src/views/task/CreateModal.vue:339 #: src/views/task/CronView.vue:68 msgid "Access URL" msgstr "访问 URL" -#: src/views/task/CreateModal.vue:159 src/views/task/CreateModal.vue:340 +#: src/views/task/CreateModal.vue:159 +#: src/views/task/CreateModal.vue:340 #: src/views/task/CronView.vue:69 msgid "Sync Time" msgstr "同步时间" @@ -8852,25 +9211,32 @@ msgstr "创建计划任务" msgid "Edit Scheduled Task" msgstr "编辑计划任务" -#: src/views/task/CreateModal.vue:332 src/views/task/CronView.vue:57 +#: src/views/task/CreateModal.vue:332 +#: src/views/task/CronView.vue:57 msgid "Task Type" msgstr "任务类型" -#: src/views/task/CreateModal.vue:336 src/views/task/CronView.vue:66 +#: src/views/task/CreateModal.vue:336 +#: src/views/task/CronView.vue:66 msgid "Run Script" msgstr "运行脚本" -#: src/views/task/CreateModal.vue:337 src/views/task/CronView.vue:67 +#: src/views/task/CreateModal.vue:337 +#: src/views/task/CronView.vue:67 msgid "Backup Data" msgstr "备份数据" -#: src/views/task/CreateModal.vue:344 src/views/task/CreateModal.vue:345 -#: 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:344 +#: src/views/task/CreateModal.vue:345 +#: 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:352 src/views/task/CronView.vue:90 +#: src/views/task/CreateModal.vue:352 +#: src/views/task/CronView.vue:90 #: src/views/task/CronView.vue:321 msgid "Task Schedule" msgstr "任务周期" @@ -8879,14 +9245,14 @@ msgstr "任务周期" msgid "Retention Count" msgstr "保留数量" -#: src/views/task/CreateModal.vue:362 src/views/task/CronView.vue:324 +#: src/views/task/CreateModal.vue:362 +#: src/views/task/CronView.vue:324 msgid "Process Lock" msgstr "进程锁" -#: src/views/task/CreateModal.vue:366 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:366 +#: 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:373 @@ -8909,7 +9275,8 @@ msgstr "头部名称" msgid "Header Value" msgstr "头部值" -#: src/views/task/CreateModal.vue:418 src/views/task/CreateModal.vue:423 +#: src/views/task/CreateModal.vue:418 +#: src/views/task/CreateModal.vue:423 msgid "Request Body" msgstr "请求体" @@ -8953,7 +9320,8 @@ msgstr "Valkey" msgid "Rotation Type" msgstr "轮转类型" -#: src/views/task/CreateModal.vue:497 src/views/task/CreateModal.vue:503 +#: src/views/task/CreateModal.vue:497 +#: src/views/task/CreateModal.vue:503 #: src/views/website/CreateModal.vue:252 msgid "Select Database" msgstr "选择数据库" @@ -8962,7 +9330,8 @@ msgstr "选择数据库" msgid "Enter directory path" msgstr "输入目录路径" -#: src/views/task/CreateModal.vue:529 src/views/task/CreateModal.vue:535 +#: src/views/task/CreateModal.vue:529 +#: src/views/task/CreateModal.vue:535 msgid "Select Container" msgstr "选择容器" @@ -8970,7 +9339,8 @@ msgstr "选择容器" msgid "Select storage" msgstr "选择存储" -#: src/views/task/CronView.vue:76 src/views/toolbox/WebHookView.vue:91 +#: src/views/task/CronView.vue:76 +#: src/views/toolbox/WebHookView.vue:91 #: src/views/toolbox/WebHookView.vue:386 msgid "Enabled" msgstr "已启用" @@ -9007,7 +9377,8 @@ msgstr "您确定要删除所选任务吗?" msgid "Completed" msgstr "已完成" -#: src/views/task/TaskView.vue:42 src/views/toolbox/ProcessView.vue:53 +#: src/views/task/TaskView.vue:42 +#: src/views/toolbox/ProcessView.vue:53 #: src/views/toolbox/ProcessView.vue:89 msgid "Waiting" msgstr "等待中" @@ -9040,11 +9411,8 @@ 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..." @@ -9122,7 +9490,8 @@ 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 "设备" @@ -9302,7 +9671,8 @@ msgstr "选择一个磁盘" msgid "No SMART-capable disks found" msgstr "未找到支持 SMART 的磁盘" -#: 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 "基本信息" @@ -9330,7 +9700,8 @@ 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 "分区" @@ -9347,21 +9718,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 }?" @@ -9379,20 +9750,22 @@ 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 @@ -9408,12 +9781,8 @@ 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" @@ -9448,9 +9817,7 @@ 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 @@ -9458,8 +9825,7 @@ 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 @@ -9467,9 +9833,7 @@ 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 @@ -9485,11 +9849,8 @@ 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" @@ -9511,11 +9872,13 @@ 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 "选择分区" @@ -9535,7 +9898,8 @@ 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 "格式化" @@ -9544,18 +9908,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 @@ -9574,7 +9938,8 @@ 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 "物理卷" @@ -9598,7 +9963,8 @@ 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 "创建物理卷" @@ -9606,7 +9972,8 @@ 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 "创建卷组" @@ -9622,7 +9989,8 @@ 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 "创建逻辑卷" @@ -9646,7 +10014,8 @@ 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 "扩展逻辑卷" @@ -9735,9 +10104,7 @@ 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 @@ -9782,9 +10149,7 @@ msgid "Environment check refreshed" msgstr "环境检查已刷新" #: src/views/toolbox/MigrationView.vue:142 -msgid "" -"Web server mismatch: local is %{local}, remote is %{remote}. Migration " -"cannot proceed." +msgid "Web server mismatch: local is %{local}, remote is %{remote}. Migration cannot proceed." msgstr "Web 服务器不匹配:本地为 %{local},远程为 %{remote}。无法继续迁移。" #: src/views/toolbox/MigrationView.vue:145 @@ -9793,18 +10158,12 @@ msgid "none" msgstr "none" #: src/views/toolbox/MigrationView.vue:160 -msgid "" -"%{type} is installed locally but not on the remote server. Related projects " -"may need reconfiguration." -msgstr "" -"%{type} 已在本地安装,但未在远程服务器上安装。相关项目可能需要重新配置。" +msgid "%{type} is installed locally but not on the remote server. Related projects may need reconfiguration." +msgstr "%{type} 已在本地安装,但未在远程服务器上安装。相关项目可能需要重新配置。" #: src/views/toolbox/MigrationView.vue:180 -msgid "" -"%{type} is installed locally but not on the remote server. Database " -"migration for this type will be skipped." -msgstr "" -"%{type} 已在本地安装,但未在远程服务器上安装。此类型的数据库迁移将被跳过。" +msgid "%{type} is installed locally but not on the remote server. Database migration for this type will be skipped." +msgstr "%{type} 已在本地安装,但未在远程服务器上安装。此类型的数据库迁移将被跳过。" #: src/views/toolbox/MigrationView.vue:248 msgid "Please select at least one item to migrate" @@ -9815,9 +10174,7 @@ msgid "Confirm Migration" msgstr "确认迁移" #: src/views/toolbox/MigrationView.vue:254 -msgid "" -"Are you sure you want to start migration? This will transfer the selected " -"items to the remote server." +msgid "Are you sure you want to start migration? This will transfer the selected items to the remote server." msgstr "您确定要开始迁移吗?这将把选定的项目传输到远程服务器。" #: src/views/toolbox/MigrationView.vue:345 @@ -10016,13 +10373,8 @@ msgid "Reminder" msgstr "提醒" #: src/views/toolbox/MigrationView.vue:823 -msgid "" -"Some environments differ between local and remote servers. You may need to " -"adjust settings on the remote server otherwise related items may not work " -"properly after migration." -msgstr "" -"本地和远程服务器之间存在一些环境差异。您可能需要在远程服务器上调整设置,否则" -"相关项目在迁移后可能无法正常工作。" +msgid "Some environments differ between local and remote servers. You may need to adjust settings on the remote server otherwise related items may not work properly after migration." +msgstr "本地和远程服务器之间存在一些环境差异。您可能需要在远程服务器上调整设置,否则相关项目在迁移后可能无法正常工作。" #: src/views/toolbox/MigrationView.vue:834 msgid "Start New Migration" @@ -10064,7 +10416,8 @@ 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 "已分配" @@ -10084,7 +10437,8 @@ 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 "空闲" @@ -10165,15 +10519,18 @@ 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 "已锁定" @@ -10217,15 +10574,18 @@ 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 "启动时间" @@ -10333,7 +10693,8 @@ 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 密钥已生成" @@ -10418,9 +10779,7 @@ 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 @@ -10468,9 +10827,7 @@ msgid "Enter hostname, e.g. myserver" msgstr "输入主机名,例如 myserver" #: src/views/toolbox/SystemView.vue:254 -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:260 @@ -10506,15 +10863,11 @@ msgid "System NTP Server Configuration" msgstr "系统 NTP 服务器配置" #: src/views/toolbox/SystemView.vue:318 -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:325 -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:338 @@ -10525,7 +10878,8 @@ msgstr "输入 NTP 服务器地址" msgid "Reset to Default" msgstr "重置为默认值" -#: 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 "原始输出" @@ -10550,31 +10904,38 @@ 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 "脚本" @@ -10583,12 +10944,14 @@ msgid "Edit WebHook" msgstr "编辑 Web 钩子" #: src/views/website/BulkCreateModal.vue:32 -#: src/views/website/CreateModal.vue:57 src/views/website/EditModal.vue:83 +#: src/views/website/CreateModal.vue:57 +#: src/views/website/EditModal.vue:83 msgid "Not used" msgstr "未使用" #: src/views/website/BulkCreateModal.vue:61 -#: src/views/website/CreateModal.vue:30 src/views/website/IndexView.vue:28 +#: src/views/website/CreateModal.vue:30 +#: src/views/website/IndexView.vue:28 #: src/views/website/ListView.vue:128 msgid "Pure Static" msgstr "纯静态" @@ -10605,7 +10968,8 @@ 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 "批量创建网站" @@ -10622,9 +10986,7 @@ 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 @@ -10645,7 +11007,8 @@ msgid "Website %{ name } created successfully" msgstr "网站 %{ name } 创建成功" #: src/views/website/BulkCreateModal.vue:189 -#: src/views/website/CreateModal.vue:180 src/views/website/ListView.vue:120 +#: src/views/website/CreateModal.vue:180 +#: src/views/website/ListView.vue:120 msgid "Website Type" msgstr "网站类型" @@ -10655,27 +11018,19 @@ 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 @@ -10694,28 +11049,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:280 src/views/website/CreateModal.vue:285 +#: src/views/website/CreateModal.vue:280 +#: src/views/website/CreateModal.vue:285 msgid "Database User" 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 @@ -10726,7 +11080,8 @@ 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 "备注" @@ -10744,12 +11099,8 @@ msgid "Reset successfully" msgstr "重置成功" #: src/views/website/EditModal.vue:199 -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:216 msgid "Please select a DNS provider" @@ -10811,7 +11162,8 @@ msgstr "临时重定向" msgid "Permanent Redirect" msgstr "永久重定向" -#: src/views/website/EditModal.vue:779 src/views/website/EditModal.vue:783 +#: src/views/website/EditModal.vue:779 +#: src/views/website/EditModal.vue:783 msgid "Default Path" msgstr "默认路径" @@ -10855,7 +11207,8 @@ msgstr "上游" msgid "Upstream name" msgstr "上游名称" -#: src/views/website/EditModal.vue:977 src/views/website/EditModal.vue:984 +#: src/views/website/EditModal.vue:977 +#: src/views/website/EditModal.vue:984 msgid "Round Robin (default)" msgstr "轮询(默认)" @@ -10891,7 +11244,8 @@ msgstr "未配置上游" msgid "Proxies" msgstr "代理" -#: src/views/website/EditModal.vue:1079 src/views/website/EditModal.vue:1759 +#: src/views/website/EditModal.vue:1079 +#: src/views/website/EditModal.vue:1759 msgid "Rule" msgstr "规则" @@ -11003,7 +11357,8 @@ msgstr "自定义缓存键,例如 $scheme$host$request_uri" msgid "Custom Request Headers" msgstr "自定义请求头" -#: src/views/website/EditModal.vue:1273 src/views/website/EditModal.vue:1572 +#: src/views/website/EditModal.vue:1273 +#: src/views/website/EditModal.vue:1572 msgid "Header name" msgstr "请求头" @@ -11031,7 +11386,8 @@ msgstr "替换内容" msgid "Add Replacement Rule" msgstr "添加替换规则" -#: src/views/website/EditModal.vue:1301 src/views/website/EditModal.vue:1831 +#: src/views/website/EditModal.vue:1301 +#: src/views/website/EditModal.vue:1831 msgid "Advanced Settings" msgstr "高级设置" @@ -11091,8 +11447,10 @@ msgstr "选择重试条件" msgid "Max Tries" msgstr "最大重试次数" -#: src/views/website/EditModal.vue:1492 src/views/website/EditModal.vue:1507 -#: src/views/website/EditModal.vue:1883 src/views/website/EditModal.vue:1896 +#: src/views/website/EditModal.vue:1492 +#: src/views/website/EditModal.vue:1507 +#: src/views/website/EditModal.vue:1883 +#: src/views/website/EditModal.vue:1896 #: src/views/website/EditModal.vue:1909 msgid "Unlimited" msgstr "无限制" @@ -11254,11 +11612,13 @@ msgstr "启用统计" msgid "Log Settings" msgstr "日志设置" -#: src/views/website/EditModal.vue:1849 src/views/website/EditModal.vue:2066 +#: src/views/website/EditModal.vue:1849 +#: src/views/website/EditModal.vue:2066 msgid "Access Log" msgstr "访问日志" -#: src/views/website/EditModal.vue:1858 src/views/website/EditModal.vue:2082 +#: src/views/website/EditModal.vue:1858 +#: src/views/website/EditModal.vue:2082 msgid "Error Log" msgstr "错误日志" @@ -11299,18 +11659,12 @@ msgid "Real IP" msgstr "真实 IP" #: src/views/website/EditModal.vue:1924 -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:1931 -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:1937 msgid "Enable" @@ -11345,8 +11699,7 @@ msgid "User Credentials" msgstr "用户凭据" #: src/views/website/EditModal.vue:1991 -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:1999 @@ -11377,11 +11730,13 @@ msgstr "没有自定义配置" msgid "Add Custom Config" msgstr "添加自定义配置" -#: src/views/website/EditModal.vue:2071 src/views/website/EditModal.vue:2087 +#: src/views/website/EditModal.vue:2071 +#: src/views/website/EditModal.vue:2087 msgid "All logs can be viewed by downloading the file" msgstr "所有日志可通过下载文件查看" -#: src/views/website/EditModal.vue:2073 src/views/website/EditModal.vue:2089 +#: src/views/website/EditModal.vue:2073 +#: src/views/website/EditModal.vue:2089 msgid "view" msgstr "查看" @@ -11406,11 +11761,8 @@ msgid "Select DNS Provider" msgstr "选择 DNS 提供商" #: src/views/website/EditModal.vue:2156 -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" @@ -11457,17 +11809,17 @@ 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:67 msgid "Default Page" msgstr "默认页面" -#: src/views/website/SettingView.vue:77 src/views/website/SettingView.vue:92 -#: src/views/website/SettingView.vue:107 src/views/website/SettingView.vue:150 +#: src/views/website/SettingView.vue:77 +#: src/views/website/SettingView.vue:92 +#: src/views/website/SettingView.vue:107 +#: src/views/website/SettingView.vue:150 #: src/views/website/SettingView.vue:213 msgid "Save Changes" msgstr "保存更改" @@ -11489,15 +11841,11 @@ msgid "Default Settings" msgstr "默认设置" #: src/views/website/SettingView.vue:119 -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:126 -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:132 @@ -11509,9 +11857,7 @@ msgid "Statistics" msgstr "统计" #: src/views/website/SettingView.vue:159 -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:165 @@ -11550,7 +11896,8 @@ 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 @@ -11574,13 +11921,15 @@ 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 @@ -11603,12 +11952,14 @@ 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 "蜘蛛" @@ -11685,23 +12036,3 @@ msgstr "URIs" msgid "Slow Requests" msgstr "慢请求" -#~ msgid "Compressing..." -#~ msgstr "压缩中……" - -#~ msgid "Compressed successfully" -#~ msgstr "压缩成功" - -#~ msgid "Uncompressing..." -#~ msgstr "解压中……" - -#~ msgid "Uncompressed successfully" -#~ msgstr "解压成功" - -#~ msgid "Panel updating..." -#~ msgstr "面板更新中……" - -#~ msgid "Panel updated successfully" -#~ msgstr "面板更新成功" - -#~ msgid "Loading update information, please wait a moment" -#~ msgstr "正在加载更新信息,请稍候" diff --git a/web/src/locales/zh_TW.po b/web/src/locales/zh_TW.po index 0e53b68d..7fdd1b78 100644 --- a/web/src/locales/zh_TW.po +++ b/web/src/locales/zh_TW.po @@ -1,9 +1,5 @@ msgid "" msgstr "" -"Project-Id-Version: acepanel\n" -"PO-Revision-Date: 2026-06-07 18:29\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" @@ -11,8 +7,13 @@ 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-07-02 18:30\n" -#: src/components/common/AppFooter.vue:18 src/views/home/IndexView.vue:548 +#: src/components/common/AppFooter.vue:18 +#: src/views/home/IndexView.vue:548 msgid "AcePanel" msgstr "AcePanel" @@ -24,12 +25,18 @@ msgstr "版權所有" msgid "QQ Group" msgstr "QQ 群" -#: src/components/common/AppFooter.vue:38 src/locales/menu.ts:23 -#: src/views/apps/fail2ban/IndexView.vue:313 src/views/backup/IndexView.vue:53 -#: src/views/backup/ListView.vue:269 src/views/backup/ListView.vue:317 -#: src/views/cert/CertView.vue:467 src/views/cert/CertView.vue:583 -#: src/views/cert/CreateCertModal.vue:118 src/views/home/IndexView.vue:530 -#: src/views/task/CreateModal.vue:448 src/views/task/CreateModal.vue:470 +#: src/components/common/AppFooter.vue:38 +#: src/locales/menu.ts:23 +#: src/views/apps/fail2ban/IndexView.vue:313 +#: src/views/backup/IndexView.vue:53 +#: src/views/backup/ListView.vue:269 +#: src/views/backup/ListView.vue:317 +#: src/views/cert/CertView.vue:467 +#: src/views/cert/CertView.vue:583 +#: src/views/cert/CreateCertModal.vue:118 +#: src/views/home/IndexView.vue:530 +#: src/views/task/CreateModal.vue:448 +#: src/views/task/CreateModal.vue:470 msgid "Website" msgstr "網站" @@ -181,11 +188,16 @@ msgid "After Reboot" msgstr "重啟後" #: src/components/common/CronSelector.vue:192 -#: src/views/monitor/IndexView.vue:789 src/views/monitor/IndexView.vue:843 -#: src/views/monitor/IndexView.vue:895 src/views/monitor/IndexView.vue:951 -#: src/views/monitor/IndexView.vue:1018 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/IndexView.vue:789 +#: src/views/monitor/IndexView.vue:843 +#: src/views/monitor/IndexView.vue:895 +#: src/views/monitor/IndexView.vue:951 +#: src/views/monitor/IndexView.vue:1018 +#: 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 "自訂" @@ -195,17 +207,20 @@ msgid "Month %{month}" msgstr "%{month} 月" #: src/components/common/CronSelector.vue:347 -#: src/views/apps/nginx/NginxIndex.vue:799 src/views/website/EditModal.vue:676 +#: src/views/apps/nginx/NginxIndex.vue:799 +#: src/views/website/EditModal.vue:676 msgid "Seconds" msgstr "秒" #: src/components/common/CronSelector.vue:358 -#: src/views/apps/nginx/NginxIndex.vue:800 src/views/website/EditModal.vue:677 +#: src/views/apps/nginx/NginxIndex.vue:800 +#: src/views/website/EditModal.vue:677 msgid "Minutes" msgstr "分" #: src/components/common/CronSelector.vue:369 -#: src/views/apps/nginx/NginxIndex.vue:801 src/views/website/EditModal.vue:678 +#: src/views/apps/nginx/NginxIndex.vue:801 +#: src/views/website/EditModal.vue:678 msgid "Hours" msgstr "時" @@ -245,7 +260,8 @@ msgstr "最大化" #: src/components/common/DraggableWindow.vue:289 #: src/components/file-editor/EditorPane.vue:254 #: src/layouts/tab/components/ContextMenu.vue:29 -#: src/views/cert/ObtainModal.vue:183 src/views/ssh/IndexView.vue:468 +#: src/views/cert/ObtainModal.vue:183 +#: src/views/ssh/IndexView.vue:468 msgid "Close" msgstr "關閉" @@ -269,7 +285,8 @@ 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 @@ -313,14 +330,20 @@ 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/PythonView.vue:59 src/views/project/EditModal.vue:159 -#: src/views/setting/IndexView.vue:84 src/views/toolbox/SystemView.vue:72 -#: src/views/toolbox/SystemView.vue:83 src/views/toolbox/SystemView.vue:97 -#: src/views/toolbox/SystemView.vue:111 src/views/toolbox/SystemView.vue:158 +#: src/views/environment/PHPView.vue:149 +#: src/views/environment/PHPView.vue:155 +#: src/views/environment/PythonView.vue:59 +#: src/views/project/EditModal.vue:159 +#: src/views/setting/IndexView.vue:84 +#: src/views/toolbox/SystemView.vue:72 +#: src/views/toolbox/SystemView.vue:83 +#: src/views/toolbox/SystemView.vue:97 +#: src/views/toolbox/SystemView.vue:111 +#: src/views/toolbox/SystemView.vue:158 #: src/views/website/EditModal.vue:158 msgid "Saved successfully" msgstr "儲存成功" @@ -330,7 +353,8 @@ msgstr "儲存成功" msgid "Remove" msgstr "移除" -#: src/components/common/PathSelector.vue:28 src/views/task/CreateModal.vue:509 +#: src/components/common/PathSelector.vue:28 +#: src/views/task/CreateModal.vue:509 msgid "Select Directory" msgstr "選擇目錄" @@ -340,7 +364,8 @@ msgstr "選擇文件" #: src/components/common/PathSelector.vue:51 #: src/components/common/PathSelector.vue:395 -#: src/views/app/EnvironmentView.vue:31 src/views/app/InstalledView.vue:161 +#: src/views/app/EnvironmentView.vue:31 +#: src/views/app/InstalledView.vue:161 #: src/views/apps/fail2ban/IndexView.vue:41 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:72 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:206 @@ -349,24 +374,37 @@ 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:65 src/views/file/ListView.vue:1340 -#: src/views/file/PropertyModal.vue:27 src/views/file/ToolBar.vue:150 -#: src/views/home/IndexView.vue:659 src/views/home/IndexView.vue:760 -#: 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/toolbox/LogView.vue:219 src/views/toolbox/MigrationView.vue:695 +#: src/views/database/UpdateServerModal.vue:65 +#: src/views/file/ListView.vue:1340 +#: src/views/file/PropertyModal.vue:27 +#: src/views/file/ToolBar.vue:150 +#: src/views/home/IndexView.vue:659 +#: src/views/home/IndexView.vue:760 +#: 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/toolbox/LogView.vue:219 +#: src/views/toolbox/MigrationView.vue:695 #: src/views/toolbox/MigrationView.vue:782 -#: 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:2022 msgid "Name" msgstr "名稱" @@ -375,37 +413,48 @@ msgstr "名稱" msgid "Permissions" msgstr "權限" -#: src/components/common/PathSelector.vue:102 src/views/file/ListView.vue:1351 +#: src/components/common/PathSelector.vue:102 +#: src/views/file/ListView.vue:1351 msgid "Owner / Group" msgstr "所有者 / 群組" -#: src/components/common/PathSelector.vue:114 src/views/backup/ListView.vue:51 +#: src/components/common/PathSelector.vue:114 +#: src/views/backup/ListView.vue:51 #: src/views/container/ImageView.vue:70 #: src/views/database/ElasticsearchDataView.vue:112 -#: src/views/database/RedisDataView.vue:116 src/views/file/ListView.vue:1347 -#: src/views/file/PropertyModal.vue:39 src/views/file/ToolBar.vue:151 +#: src/views/database/RedisDataView.vue:116 +#: src/views/file/ListView.vue:1347 +#: src/views/file/PropertyModal.vue:39 +#: src/views/file/ToolBar.vue:151 #: src/views/toolbox/disk/RaidView.vue:95 -#: src/views/toolbox/disk/RaidView.vue:177 src/views/toolbox/DiskView.vue:233 +#: src/views/toolbox/disk/RaidView.vue:177 +#: src/views/toolbox/DiskView.vue:233 #: src/views/toolbox/LogView.vue:220 msgid "Size" msgstr "大小" -#: src/components/common/PathSelector.vue:149 src/views/file/ListView.vue:1490 +#: src/components/common/PathSelector.vue:149 +#: src/views/file/ListView.vue:1490 msgid "Calculate" msgstr "計算" -#: src/components/common/PathSelector.vue:154 src/views/file/ListView.vue:1356 -#: src/views/file/PropertyModal.vue:51 src/views/file/ToolBar.vue:152 +#: src/components/common/PathSelector.vue:154 +#: src/views/file/ListView.vue:1356 +#: src/views/file/PropertyModal.vue:51 +#: src/views/file/ToolBar.vue:152 msgid "Modification Time" msgstr "修改時間" -#: src/components/common/PathSelector.vue:188 src/views/file/ListView.vue:1210 +#: src/components/common/PathSelector.vue:188 +#: src/views/file/ListView.vue:1210 #: src/views/file/PathInput.vue:43 msgid "Invalid path" msgstr "無效路徑" -#: src/components/common/PathSelector.vue:248 src/views/file/ListView.vue:142 -#: src/views/file/ListView.vue:756 src/views/file/ToolBar.vue:44 +#: src/components/common/PathSelector.vue:248 +#: src/views/file/ListView.vue:142 +#: src/views/file/ListView.vue:756 +#: src/views/file/ToolBar.vue:44 msgid "Invalid name" msgstr "無效的名稱" @@ -414,7 +463,8 @@ 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:109 @@ -423,19 +473,24 @@ msgstr "無效的名稱" #: src/views/database/CreateDatabaseModal.vue:48 #: src/views/database/CreateUserModal.vue:56 #: src/views/database/ElasticsearchDataView.vue:263 -#: src/views/file/ListView.vue:151 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:151 +#: 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:174 +#: src/views/file/PropertyModal.vue:34 +#: src/views/file/ToolBar.vue:174 msgid "File" msgstr "文件" -#: src/components/common/PathSelector.vue:320 src/views/file/ToolBar.vue:175 +#: src/components/common/PathSelector.vue:320 +#: src/views/file/ToolBar.vue:175 msgid "Folder" msgstr "文件夾" @@ -443,14 +498,16 @@ msgstr "文件夾" #: src/components/common/PathSelector.vue:387 #: src/views/app/TemplateDeployModal.vue:652 #: src/views/container/ContainerCreate.vue:537 -#: src/views/project/CreateModal.vue:693 src/views/setting/TokenModal.vue:270 +#: src/views/project/CreateModal.vue:693 +#: src/views/setting/TokenModal.vue:270 #: 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 "根目錄" @@ -462,14 +519,21 @@ 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:303 src/views/backup/ListView.vue:344 -#: src/views/backup/StorageView.vue:376 src/views/backup/StorageView.vue:529 -#: src/views/cert/AccountView.vue:258 src/views/cert/CertView.vue:568 -#: src/views/cert/CertView.vue:596 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:303 +#: src/views/backup/ListView.vue:344 +#: src/views/backup/StorageView.vue:376 +#: src/views/backup/StorageView.vue:529 +#: src/views/cert/AccountView.vue:258 +#: src/views/cert/CertView.vue:568 +#: src/views/cert/CertView.vue:596 +#: 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/cert/UploadCertModal.vue:64 #: src/views/container/ComposeView.vue:341 #: src/views/container/ComposeView.vue:367 @@ -486,12 +550,16 @@ msgstr "根目錄" #: src/views/database/RedisDataView.vue:378 #: src/views/database/RedisKeyModal.vue:130 #: src/views/database/UpdateServerModal.vue:123 -#: src/views/database/UpdateUserModal.vue:88 src/views/file/ToolBar.vue:257 +#: src/views/database/UpdateUserModal.vue:88 +#: src/views/file/ToolBar.vue:257 #: src/views/firewall/CreateForwardModal.vue:94 #: src/views/firewall/CreateIpModal.vue:125 -#: src/views/firewall/CreateModal.vue:159 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:159 +#: 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:551 msgid "Submit" msgstr "提交" @@ -527,25 +595,35 @@ 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:65 src/views/file/UploadModal.vue:791 -#: src/views/home/IndexView.vue:1029 src/views/home/UpdateView.vue:109 -#: src/views/monitor/IndexView.vue:736 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/MigrationView.vue:347 -#: src/views/toolbox/ProcessView.vue:242 src/views/toolbox/ProcessView.vue:247 +#: src/views/file/composables/usePaste.ts:65 +#: src/views/file/UploadModal.vue:791 +#: src/views/home/IndexView.vue:1029 +#: src/views/home/UpdateView.vue:109 +#: src/views/monitor/IndexView.vue:736 +#: 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/MigrationView.vue:347 +#: 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 @@ -562,30 +640,46 @@ msgstr "命令可能仍在運行。關閉窗口將終止命令。您確定嗎? #: src/views/container/ContainerCreate.vue:534 #: src/views/container/ImagePullModal.vue:185 #: src/views/container/ImagePullModal.vue:199 -#: src/views/container/ImageView.vue:347 src/views/container/ImageView.vue:362 +#: src/views/container/ImageView.vue:347 +#: src/views/container/ImageView.vue:362 #: src/views/file/composables/usePaste.ts:66 -#: src/views/file/composables/usePaste.ts:146 src/views/file/ListView.vue:245 -#: src/views/file/ListView.vue:769 src/views/file/ToolBar.vue:208 -#: src/views/file/UploadModal.vue:507 src/views/file/UploadModal.vue:642 -#: src/views/file/UploadModal.vue:790 src/views/home/IndexView.vue:1030 -#: src/views/home/UpdateView.vue:110 src/views/project/EditModal.vue:579 -#: 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/file/composables/usePaste.ts:146 +#: src/views/file/ListView.vue:245 +#: src/views/file/ListView.vue:769 +#: src/views/file/ToolBar.vue:208 +#: src/views/file/UploadModal.vue:507 +#: src/views/file/UploadModal.vue:642 +#: src/views/file/UploadModal.vue:790 +#: src/views/home/IndexView.vue:1030 +#: src/views/home/UpdateView.vue:110 +#: src/views/project/EditModal.vue:579 +#: 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:258 #: src/views/toolbox/MigrationView.vue:348 -#: src/views/toolbox/ProcessView.vue:248 src/views/website/EditModal.vue:2131 +#: src/views/toolbox/ProcessView.vue:248 +#: src/views/website/EditModal.vue:2131 msgid "Cancel" msgstr "取消" -#: src/components/common/PtyTerminalModal.vue:259 src/locales/menu.ts:19 +#: src/components/common/PtyTerminalModal.vue:259 +#: src/locales/menu.ts:19 #: src/views/container/ContainerView.vue:123 #: src/views/container/ContainerView.vue:642 -#: src/views/database/ServerList.vue:174 src/views/file/ListView.vue:350 -#: src/views/file/ListView.vue:965 src/views/file/ToolBar.vue:183 +#: src/views/database/ServerList.vue:174 +#: src/views/file/ListView.vue:350 +#: src/views/file/ListView.vue:965 +#: src/views/file/ToolBar.vue:183 msgid "Terminal" msgstr "終端機" @@ -612,8 +706,10 @@ msgstr "跳至底部" #: src/components/common/RealtimeLog.vue:306 #: src/components/file-editor/EditorToolbar.vue:222 #: src/components/file-editor/FileTree.vue:719 -#: src/components/system/SearchToolbar.vue:58 src/views/app/AppView.vue:237 -#: src/views/app/EnvironmentView.vue:226 src/views/app/TemplateView.vue:102 +#: src/components/system/SearchToolbar.vue:58 +#: src/views/app/AppView.vue:237 +#: src/views/app/EnvironmentView.vue:226 +#: src/views/app/TemplateView.vue:102 #: src/views/database/ElasticsearchDataView.vue:314 #: src/views/database/RedisDataView.vue:289 msgid "Search" @@ -635,10 +731,13 @@ msgstr "放大字體" msgid "No logs available" msgstr "暫無日誌數據" -#: src/components/common/RealtimeLogModal.vue:37 src/locales/menu.ts:15 +#: src/components/common/RealtimeLogModal.vue:37 +#: src/locales/menu.ts:15 #: src/views/apps/supervisor/IndexView.vue:98 -#: src/views/container/ContainerView.vue:135 src/views/project/ListView.vue:168 -#: src/views/project/ListView.vue:334 src/views/task/CronView.vue:146 +#: src/views/container/ContainerView.vue:135 +#: src/views/project/ListView.vue:168 +#: src/views/project/ListView.vue:334 +#: src/views/task/CronView.vue:146 #: src/views/task/TaskView.vue:86 msgid "Logs" msgstr "日誌" @@ -659,9 +758,12 @@ msgstr "您確定要清除日誌嗎?" msgid "Clear Log" msgstr "清除日誌" -#: src/components/common/ServiceStatus.vue:29 src/views/home/IndexView.vue:891 -#: src/views/home/IndexView.vue:899 src/views/home/IndexView.vue:906 -#: src/views/home/IndexView.vue:912 src/views/home/IndexView.vue:923 +#: src/components/common/ServiceStatus.vue:29 +#: src/views/home/IndexView.vue:891 +#: src/views/home/IndexView.vue:899 +#: src/views/home/IndexView.vue:906 +#: src/views/home/IndexView.vue:912 +#: src/views/home/IndexView.vue:923 #: src/views/home/IndexView.vue:935 msgid "Loading..." msgstr "載入中……" @@ -669,8 +771,10 @@ msgstr "載入中……" #: src/components/common/ServiceStatus.vue:30 #: src/views/app/InstalledView.vue:19 #: src/views/apps/prometheus/PrometheusExportersView.vue:50 -#: src/views/project/ListView.vue:70 src/views/task/TaskView.vue:45 -#: src/views/toolbox/ProcessView.vue:48 src/views/toolbox/ProcessView.vue:77 +#: src/views/project/ListView.vue:70 +#: src/views/task/TaskView.vue:45 +#: src/views/toolbox/ProcessView.vue:48 +#: src/views/toolbox/ProcessView.vue:77 #: src/views/website/ListView.vue:135 msgid "Running" msgstr "運行中" @@ -678,7 +782,8 @@ msgstr "運行中" #: src/components/common/ServiceStatus.vue:30 #: src/views/app/InstalledView.vue:20 #: src/views/apps/prometheus/PrometheusExportersView.vue:51 -#: src/views/project/ListView.vue:72 src/views/toolbox/ProcessView.vue:50 +#: src/views/project/ListView.vue:72 +#: src/views/toolbox/ProcessView.vue:50 #: src/views/toolbox/ProcessView.vue:83 msgid "Stopped" msgstr "已停止" @@ -690,7 +795,8 @@ 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 "啟動成功" @@ -702,7 +808,8 @@ 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 "停止成功" @@ -781,7 +888,8 @@ msgstr "自動啟動關閉" #: src/views/apps/supervisor/IndexView.vue:120 #: src/views/container/ComposeView.vue:160 #: src/views/container/ContainerView.vue:158 -#: src/views/container/ContainerView.vue:566 src/views/project/ListView.vue:130 +#: src/views/container/ContainerView.vue:566 +#: src/views/project/ListView.vue:130 #: src/views/toolbox/MigrationView.vue:257 msgid "Start" msgstr "開始" @@ -795,7 +903,8 @@ msgstr "您確定要停止 %{ service } 嗎?" #: src/views/apps/supervisor/IndexView.vue:141 #: src/views/container/ComposeView.vue:189 #: src/views/container/ContainerView.vue:163 -#: src/views/container/ContainerView.vue:569 src/views/project/ListView.vue:130 +#: src/views/container/ContainerView.vue:569 +#: src/views/project/ListView.vue:130 msgid "Stop" msgstr "停止" @@ -803,7 +912,8 @@ msgstr "停止" #: src/views/apps/prometheus/PrometheusExportersView.vue:103 #: src/views/apps/supervisor/IndexView.vue:159 #: src/views/container/ContainerView.vue:168 -#: src/views/container/ContainerView.vue:572 src/views/home/IndexView.vue:555 +#: src/views/container/ContainerView.vue:572 +#: src/views/home/IndexView.vue:555 #: src/views/project/ListView.vue:145 msgid "Restart" msgstr "重啟" @@ -853,8 +963,10 @@ 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 @@ -924,21 +1036,30 @@ msgstr "儲存檔案失敗" #: src/views/apps/valkey/ValkeyConfigTuneView.vue:171 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:205 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:230 -#: 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:111 -#: src/views/firewall/SettingView.vue:136 src/views/project/EditModal.vue:582 -#: src/views/setting/IndexView.vue:169 src/views/task/CreateModal.vue:551 -#: src/views/task/CronView.vue:344 src/views/toolbox/SshView.vue:220 -#: src/views/toolbox/SystemView.vue:195 src/views/toolbox/SystemView.vue:224 -#: src/views/toolbox/SystemView.vue:247 src/views/toolbox/SystemView.vue:290 -#: src/views/toolbox/SystemView.vue:372 src/views/toolbox/WebHookView.vue:400 +#: src/views/environment/PHPView.vue:236 +#: src/views/environment/PHPView.vue:254 +#: src/views/environment/PythonView.vue:97 +#: src/views/file/EditModal.vue:111 +#: src/views/firewall/SettingView.vue:136 +#: src/views/project/EditModal.vue:582 +#: src/views/setting/IndexView.vue:169 +#: src/views/task/CreateModal.vue:551 +#: src/views/task/CronView.vue:344 +#: src/views/toolbox/SshView.vue:220 +#: src/views/toolbox/SystemView.vue:195 +#: src/views/toolbox/SystemView.vue:224 +#: src/views/toolbox/SystemView.vue:247 +#: src/views/toolbox/SystemView.vue:290 +#: src/views/toolbox/SystemView.vue:372 +#: src/views/toolbox/WebHookView.vue:400 #: src/views/website/EditModal.vue:2140 msgid "Save" msgstr "儲存" @@ -1016,12 +1137,18 @@ msgstr "此文件有未保存的更改。刷新將丟棄它們。是否繼續? #: src/components/file-editor/EditorToolbar.vue:206 #: src/components/file-editor/FileTree.vue:697 #: src/components/system/RefreshButton.vue:31 -#: src/components/system/RefreshButton.vue:37 src/views/file/PathInput.vue:133 -#: src/views/home/UpdateView.vue:166 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/toolbox/MigrationView.vue:588 -#: src/views/toolbox/NetworkView.vue:188 src/views/toolbox/PanelView.vue:100 -#: src/views/toolbox/PanelView.vue:233 src/views/toolbox/ProcessView.vue:335 +#: src/components/system/RefreshButton.vue:37 +#: src/views/file/PathInput.vue:133 +#: src/views/home/UpdateView.vue:166 +#: 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/toolbox/MigrationView.vue:588 +#: src/views/toolbox/NetworkView.vue:188 +#: 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 "重新整理" @@ -1071,7 +1198,8 @@ msgid "Toggle Minimap" msgstr "切換小地圖" #: src/components/file-editor/EditorToolbar.vue:292 -#: src/views/firewall/IndexView.vue:26 src/views/ssh/IndexView.vue:483 +#: src/views/firewall/IndexView.vue:26 +#: src/views/ssh/IndexView.vue:483 #: src/views/website/IndexView.vue:30 msgid "Settings" msgstr "設置" @@ -1147,14 +1275,22 @@ msgid "Render Whitespace" msgstr "渲染空格" #: src/components/file-editor/FileEditorView.vue:222 -#: src/views/apps/docker/IndexView.vue:83 src/views/cert/CertView.vue:88 -#: src/views/cert/CertView.vue:142 src/views/cert/CertView.vue:153 -#: src/views/cert/CertView.vue:171 src/views/container/ContainerCreate.vue:53 -#: 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:44 -#: src/views/firewall/RuleView.vue:61 src/views/toolbox/MigrationView.vue:479 +#: src/views/apps/docker/IndexView.vue:83 +#: src/views/cert/CertView.vue:88 +#: src/views/cert/CertView.vue:142 +#: src/views/cert/CertView.vue:153 +#: src/views/cert/CertView.vue:171 +#: src/views/container/ContainerCreate.vue:53 +#: 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:44 +#: src/views/firewall/RuleView.vue:61 +#: src/views/toolbox/MigrationView.vue:479 #: src/views/toolbox/MigrationView.vue:480 #: src/views/toolbox/MigrationView.vue:559 #: src/views/toolbox/MigrationView.vue:574 @@ -1174,9 +1310,12 @@ msgid "Trailing" msgstr "尾部" #: src/components/file-editor/FileEditorView.vue:226 -#: src/views/app/AppView.vue:222 src/views/app/EnvironmentView.vue:211 -#: src/views/app/TemplateView.vue:87 src/views/firewall/RuleView.vue:223 -#: src/views/project/IndexView.vue:21 src/views/website/IndexView.vue:25 +#: src/views/app/AppView.vue:222 +#: src/views/app/EnvironmentView.vue:211 +#: src/views/app/TemplateView.vue:87 +#: src/views/firewall/RuleView.vue:223 +#: src/views/project/IndexView.vue:21 +#: src/views/website/IndexView.vue:25 #: src/views/website/stats/ErrorsTab.vue:18 msgid "All" msgstr "全部" @@ -1269,7 +1408,8 @@ msgstr "粘貼時格式化" msgid "Format On Type" msgstr "輸入時格式化" -#: src/components/file-editor/FileTree.vue:155 src/views/file/EditModal.vue:138 +#: src/components/file-editor/FileTree.vue:155 +#: src/views/file/EditModal.vue:138 msgid "Failed to load file" msgstr "加載文件失敗" @@ -1277,12 +1417,14 @@ msgstr "加載文件失敗" msgid "Failed to create" msgstr "創建失敗" -#: src/components/file-editor/FileTree.vue:380 src/views/file/ListView.vue:1377 +#: src/components/file-editor/FileTree.vue:380 +#: src/views/file/ListView.vue:1377 #: src/views/file/ListView.vue:1398 msgid "Folder name" msgstr "文件夾名" -#: src/components/file-editor/FileTree.vue:380 src/views/file/ListView.vue:1377 +#: src/components/file-editor/FileTree.vue:380 +#: src/views/file/ListView.vue:1377 #: src/views/file/ListView.vue:1398 msgid "File name" msgstr "文件名" @@ -1292,8 +1434,10 @@ msgstr "文件名" #: src/views/container/ContainerView.vue:613 #: src/views/database/RedisDataView.vue:168 #: src/views/file/composables/usePaste.ts:41 -#: src/views/file/composables/usePaste.ts:157 src/views/file/ListView.vue:348 -#: src/views/file/ListView.vue:1546 src/views/file/UploadModal.vue:749 +#: src/views/file/composables/usePaste.ts:157 +#: src/views/file/ListView.vue:348 +#: src/views/file/ListView.vue:1546 +#: src/views/file/UploadModal.vue:749 #: src/views/file/UploadModal.vue:783 msgid "Rename" msgstr "重新命名" @@ -1311,39 +1455,58 @@ msgstr "重新命名" #: src/views/apps/prometheus/PrometheusExportersView.vue:134 #: 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:97 -#: src/views/backup/StorageView.vue:126 src/views/cert/AccountView.vue:113 -#: src/views/cert/CertView.vue:308 src/views/cert/DnsView.vue:109 +#: src/views/apps/supervisor/IndexView.vue:178 +#: src/views/backup/ListView.vue:97 +#: src/views/backup/StorageView.vue:126 +#: src/views/cert/AccountView.vue:113 +#: src/views/cert/CertView.vue:308 +#: src/views/cert/DnsView.vue:109 #: src/views/container/ComposeView.vue:209 #: src/views/container/ComposeView.vue:289 #: src/views/container/ContainerView.vue:188 #: src/views/container/ContainerView.vue:584 -#: src/views/container/ImageView.vue:103 src/views/container/ImageView.vue:273 +#: src/views/container/ImageView.vue:103 +#: src/views/container/ImageView.vue:273 #: src/views/container/NetworkView.vue:130 #: src/views/container/NetworkView.vue:219 -#: 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:311 -#: src/views/file/ListView.vue:355 src/views/file/ListView.vue:1557 -#: src/views/file/ToolBar.vue:225 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:248 -#: src/views/firewall/RuleView.vue:312 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:572 src/views/task/CronView.vue:169 -#: src/views/task/IndexView.vue:41 src/views/task/TaskView.vue:104 -#: src/views/toolbox/WebHookView.vue:172 src/views/website/ListView.vue:305 +#: src/views/database/ServerList.vue:247 +#: src/views/database/UserList.vue:165 +#: src/views/environment/PHPView.vue:107 +#: src/views/file/ListView.vue:311 +#: src/views/file/ListView.vue:355 +#: src/views/file/ListView.vue:1557 +#: src/views/file/ToolBar.vue:225 +#: 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:248 +#: src/views/firewall/RuleView.vue:312 +#: 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:572 +#: src/views/task/CronView.vue:169 +#: src/views/task/IndexView.vue:41 +#: src/views/task/TaskView.vue:104 +#: 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:483 src/views/file/ListView.vue:345 -#: src/views/file/ListView.vue:1541 src/views/monitor/IndexView.vue:602 +#: src/components/file-editor/FileTree.vue:483 +#: src/views/file/ListView.vue:345 +#: src/views/file/ListView.vue:1541 +#: src/views/monitor/IndexView.vue:602 #: src/views/toolbox/SshView.vue:345 msgid "Download" msgstr "下載" @@ -1359,7 +1522,8 @@ msgstr "重命名失敗" #: src/components/file-editor/FileTree.vue:603 #: src/views/apps/nginx/NginxIndex.vue:211 -#: src/views/apps/nginx/NginxIndex.vue:275 src/views/file/ListView.vue:847 +#: src/views/apps/nginx/NginxIndex.vue:275 +#: src/views/file/ListView.vue:847 #: src/views/file/ListView.vue:1551 msgid "Are you sure you want to delete %{ name }?" msgstr "您確定要刪除 %{ name } 嗎?" @@ -1370,9 +1534,11 @@ 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:149 src/views/backup/StorageView.vue:183 +#: src/views/backup/ListView.vue:149 +#: src/views/backup/StorageView.vue:183 #: src/views/container/ImageView.vue:144 #: src/views/container/NetworkView.vue:176 #: src/views/container/VolumeView.vue:124 @@ -1380,17 +1546,28 @@ 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:268 src/views/database/UserList.vue:185 -#: src/views/file/ListView.vue:824 src/views/file/ListView.vue:831 -#: src/views/file/ToolBar.vue:115 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:269 -#: src/views/firewall/RuleView.vue:287 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/task/CronView.vue:231 src/views/task/CronView.vue:241 -#: src/views/task/TaskView.vue:126 src/views/toolbox/WebHookView.vue:225 -#: src/views/website/ListView.vue:379 src/views/website/ListView.vue:389 +#: src/views/database/ServerList.vue:268 +#: src/views/database/UserList.vue:185 +#: src/views/file/ListView.vue:824 +#: src/views/file/ListView.vue:831 +#: src/views/file/ToolBar.vue:115 +#: 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:269 +#: src/views/firewall/RuleView.vue:287 +#: 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/task/CronView.vue:231 +#: src/views/task/CronView.vue:241 +#: src/views/task/TaskView.vue:126 +#: src/views/toolbox/WebHookView.vue:225 +#: src/views/website/ListView.vue:379 +#: src/views/website/ListView.vue:389 msgid "Deleted successfully" msgstr "刪除成功" @@ -1402,15 +1579,18 @@ msgstr "刪除失敗" msgid "Go Up" msgstr "上一級" -#: src/components/file-editor/FileTree.vue:704 src/views/file/ListView.vue:292 +#: src/components/file-editor/FileTree.vue:704 +#: src/views/file/ListView.vue:292 msgid "New File" msgstr "新文件" -#: src/components/file-editor/FileTree.vue:705 src/views/file/ListView.vue:293 +#: src/components/file-editor/FileTree.vue:705 +#: src/views/file/ListView.vue:293 msgid "New Folder" msgstr "新文件夾" -#: src/components/file-editor/FileTree.vue:709 src/views/file/ToolBar.vue:179 +#: src/components/file-editor/FileTree.vue:709 +#: src/views/file/ToolBar.vue:179 msgid "New" msgstr "新建" @@ -1432,7 +1612,8 @@ msgstr "無數據" msgid "selected" msgstr "已選擇" -#: src/components/system/BatchActions.vue:70 src/views/file/ListView.vue:1591 +#: src/components/system/BatchActions.vue:70 +#: src/views/file/ListView.vue:1591 msgid "Clear" msgstr "清除" @@ -1440,7 +1621,8 @@ msgstr "清除" msgid "Confirm Deletion" msgstr "確認刪除" -#: src/components/system/CopyButton.vue:26 src/views/website/ListView.vue:100 +#: src/components/system/CopyButton.vue:26 +#: src/views/website/ListView.vue:100 msgid "Copied" msgstr "已複製" @@ -1451,9 +1633,12 @@ msgstr "已複製" #: 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:307 src/views/file/ListView.vue:341 -#: src/views/file/ListView.vue:950 src/views/file/ToolBar.vue:214 +#: src/views/database/ServerList.vue:106 +#: src/views/database/UserList.vue:56 +#: src/views/file/ListView.vue:307 +#: src/views/file/ListView.vue:341 +#: src/views/file/ListView.vue:950 +#: src/views/file/ToolBar.vue:214 msgid "Copy" msgstr "複製" @@ -1511,7 +1696,8 @@ 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 "更改密碼" @@ -1532,12 +1718,16 @@ 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:183 -#: src/views/firewall/RuleView.vue:208 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:183 +#: src/views/firewall/RuleView.vue:208 +#: 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 "未知" @@ -1561,25 +1751,32 @@ 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:523 -#: src/views/cert/CertView.vue:611 src/views/cert/IndexView.vue:96 -#: src/views/cert/UploadCertModal.vue:46 src/views/setting/SettingSafe.vue:275 +#: src/locales/menu.ts:9 +#: src/views/cert/CertView.vue:523 +#: src/views/cert/CertView.vue:611 +#: src/views/cert/IndexView.vue:96 +#: src/views/cert/UploadCertModal.vue:46 +#: src/views/setting/SettingSafe.vue:275 #: src/views/website/EditModal.vue:1702 msgid "Certificate" msgstr "證書" -#: src/locales/menu.ts:10 src/views/home/IndexView.vue:525 +#: src/locales/menu.ts:10 +#: src/views/home/IndexView.vue:525 #: src/views/task/CreateModal.vue:472 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:327 src/views/home/IndexView.vue:534 +#: src/views/backup/ListView.vue:327 +#: src/views/home/IndexView.vue:534 #: src/views/toolbox/MigrationView.vue:546 #: src/views/website/CreateModal.vue:248 msgid "Database" @@ -1601,7 +1798,8 @@ msgstr "首頁" msgid "Monitoring" msgstr "監控" -#: src/locales/menu.ts:17 src/views/home/IndexView.vue:539 +#: src/locales/menu.ts:17 +#: src/views/home/IndexView.vue:539 msgid "Project" msgstr "項目" @@ -1617,10 +1815,13 @@ msgstr "任務" msgid "Toolbox" msgstr "工具箱" -#: src/locales/menu.ts:22 src/views/app/AppView.vue:97 -#: src/views/app/EnvironmentView.vue:81 src/views/app/InstalledView.vue:106 +#: src/locales/menu.ts:22 +#: src/views/app/AppView.vue:97 +#: src/views/app/EnvironmentView.vue:81 +#: src/views/app/InstalledView.vue:106 #: src/views/app/InstalledView.vue:205 -#: src/views/app/TemplateDeployModal.vue:652 src/views/home/IndexView.vue:563 +#: src/views/app/TemplateDeployModal.vue:652 +#: src/views/home/IndexView.vue:563 #: src/views/setting/TokenModal.vue:308 msgid "Update" msgstr "更新" @@ -1649,40 +1850,52 @@ msgstr "Rsync 管理器" msgid "Frp Manager" msgstr "Frp 管理器" -#: src/router/routes/index.ts:18 src/views/login/IndexView.vue:309 +#: src/router/routes/index.ts:18 +#: 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:134 +#: src/views/app/AppView.vue:19 +#: src/views/app/AppView.vue:143 +#: src/views/app/AppView.vue:147 +#: src/views/app/EnvironmentView.vue:134 #: 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:37 +#: src/views/app/AppView.vue:37 +#: src/views/app/InstalledView.vue:37 msgid "App Name" msgstr "應用名稱" -#: src/views/app/AppView.vue:43 src/views/app/EnvironmentView.vue:37 -#: src/views/app/InstalledView.vue:43 src/views/app/InstalledView.vue:167 +#: src/views/app/AppView.vue:43 +#: src/views/app/EnvironmentView.vue:37 +#: src/views/app/InstalledView.vue:43 +#: src/views/app/InstalledView.vue:167 #: 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:49 -#: src/views/app/InstalledView.vue:49 src/views/app/InstalledView.vue:173 +#: src/views/app/AppView.vue:49 +#: src/views/app/EnvironmentView.vue:49 +#: src/views/app/InstalledView.vue:49 +#: src/views/app/InstalledView.vue:173 msgid "Installed Version" msgstr "已安裝版本" -#: src/views/app/AppView.vue:55 src/views/app/InstalledView.vue:64 +#: src/views/app/AppView.vue:55 +#: src/views/app/InstalledView.vue:64 msgid "Show in Home" msgstr "在主頁顯示" -#: src/views/app/AppView.vue:68 src/views/app/EnvironmentView.vue:55 -#: src/views/app/InstalledView.vue:77 src/views/app/InstalledView.vue:179 +#: src/views/app/AppView.vue:68 +#: src/views/app/EnvironmentView.vue:55 +#: src/views/app/InstalledView.vue:77 +#: src/views/app/InstalledView.vue:179 #: src/views/apps/fail2ban/IndexView.vue:63 #: src/views/apps/fail2ban/IndexView.vue:112 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:99 @@ -1691,81 +1904,109 @@ 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:66 -#: src/views/backup/StorageView.vue:95 src/views/cert/AccountView.vue:74 -#: src/views/cert/CertView.vue:189 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:66 +#: src/views/backup/StorageView.vue:95 +#: src/views/cert/AccountView.vue:74 +#: src/views/cert/CertView.vue:189 +#: src/views/cert/DnsView.vue:69 #: src/views/container/ComposeView.vue:102 #: src/views/container/ContainerView.vue:108 -#: src/views/container/ImageView.vue:86 src/views/container/NetworkView.vue:112 -#: src/views/container/VolumeView.vue:66 src/views/database/DatabaseList.vue:68 +#: src/views/container/ImageView.vue:86 +#: 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:1359 -#: src/views/firewall/ForwardView.vue:81 src/views/firewall/IpRuleView.vue:123 -#: src/views/firewall/RuleView.vue:231 src/views/firewall/ScanView.vue:256 -#: 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/task/CronView.vue:119 src/views/task/TaskView.vue:67 -#: src/views/toolbox/DiskView.vue:298 src/views/toolbox/DiskView.vue:608 -#: src/views/toolbox/WebHookView.vue:135 src/views/website/ListView.vue:246 +#: src/views/database/ServerList.vue:161 +#: src/views/database/UserList.vue:134 +#: src/views/environment/PHPView.vue:71 +#: src/views/file/ListView.vue:1359 +#: src/views/firewall/ForwardView.vue:81 +#: src/views/firewall/IpRuleView.vue:123 +#: src/views/firewall/RuleView.vue:231 +#: src/views/firewall/ScanView.vue:256 +#: 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/task/CronView.vue:119 +#: src/views/task/TaskView.vue:67 +#: src/views/toolbox/DiskView.vue:298 +#: src/views/toolbox/DiskView.vue:608 +#: 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:73 -#: src/views/app/InstalledView.vue:97 src/views/app/InstalledView.vue:197 +#: src/views/app/AppView.vue:88 +#: src/views/app/EnvironmentView.vue:73 +#: src/views/app/InstalledView.vue:97 +#: src/views/app/InstalledView.vue:197 msgid "Confirm Update" msgstr "確認更新" -#: src/views/app/AppView.vue:89 src/views/app/InstalledView.vue:98 -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:98 +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:94 -#: src/views/app/InstalledView.vue:118 src/views/app/InstalledView.vue:217 +#: src/views/app/AppView.vue:110 +#: src/views/app/EnvironmentView.vue:94 +#: src/views/app/InstalledView.vue:118 +#: src/views/app/InstalledView.vue:217 msgid "Manage" msgstr "管理" -#: src/views/app/AppView.vue:119 src/views/app/EnvironmentView.vue:103 -#: src/views/app/InstalledView.vue:127 src/views/app/InstalledView.vue:226 +#: src/views/app/AppView.vue:119 +#: src/views/app/EnvironmentView.vue:103 +#: src/views/app/InstalledView.vue:127 +#: src/views/app/InstalledView.vue:226 #: 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:129 -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:129 +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:132 +#: src/views/app/AppView.vue:124 +#: src/views/app/InstalledView.vue:132 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:107 src/views/app/EnvironmentView.vue:113 -#: src/views/app/InstalledView.vue:133 src/views/app/InstalledView.vue:139 -#: src/views/app/InstalledView.vue:230 src/views/app/InstalledView.vue:236 +#: src/views/app/AppView.vue:125 +#: src/views/app/AppView.vue:131 +#: src/views/app/EnvironmentView.vue:107 +#: src/views/app/EnvironmentView.vue:113 +#: src/views/app/InstalledView.vue:133 +#: src/views/app/InstalledView.vue:139 +#: src/views/app/InstalledView.vue:230 +#: src/views/app/InstalledView.vue:236 #: src/views/apps/prometheus/PrometheusExportersView.vue:128 msgid "Uninstall" msgstr "卸載" -#: src/views/app/AppView.vue:183 src/views/app/InstalledView.vue:275 +#: src/views/app/AppView.vue:183 +#: src/views/app/InstalledView.vue:275 msgid "Setup successfully" msgstr "設置成功" -#: src/views/app/AppView.vue:190 src/views/app/AppView.vue:198 -#: src/views/app/EnvironmentView.vue:171 src/views/app/EnvironmentView.vue:179 -#: src/views/app/EnvironmentView.vue:187 src/views/app/InstalledView.vue:282 -#: src/views/app/InstalledView.vue:290 src/views/app/InstalledView.vue:303 -#: src/views/app/InstalledView.vue:311 src/views/app/VersionModal.vue:42 +#: src/views/app/AppView.vue:190 +#: src/views/app/AppView.vue:198 +#: src/views/app/EnvironmentView.vue:171 +#: src/views/app/EnvironmentView.vue:179 +#: src/views/app/EnvironmentView.vue:187 +#: src/views/app/InstalledView.vue:282 +#: src/views/app/InstalledView.vue:290 +#: src/views/app/InstalledView.vue:303 +#: src/views/app/InstalledView.vue:311 +#: src/views/app/VersionModal.vue:42 msgid "Task submitted, please check the progress in background tasks" msgstr "任務已提交,請在後台任務中查看進度" @@ -1773,11 +2014,13 @@ msgstr "任務已提交,請在後台任務中查看進度" msgid "Latest Version" msgstr "最新版本" -#: src/views/app/EnvironmentView.vue:74 src/views/app/InstalledView.vue:198 +#: src/views/app/EnvironmentView.vue:74 +#: src/views/app/InstalledView.vue:198 msgid "Are you sure to update environment %{ environment }?" msgstr "您確定要更新環境 %{ environment } 嗎?" -#: src/views/app/EnvironmentView.vue:104 src/views/app/InstalledView.vue:227 +#: src/views/app/EnvironmentView.vue:104 +#: src/views/app/InstalledView.vue:227 msgid "Are you sure to uninstall environment %{ environment }?" msgstr "您確定要卸載環境 %{ environment } 嗎?" @@ -1799,11 +2042,13 @@ msgstr "快取更新成功" msgid "Installed" msgstr "已安裝" -#: src/views/app/IndexView.vue:41 src/views/app/InstalledView.vue:330 +#: src/views/app/IndexView.vue:41 +#: src/views/app/InstalledView.vue:330 msgid "Native App" msgstr "原生應用" -#: src/views/app/IndexView.vue:42 src/views/app/InstalledView.vue:354 +#: src/views/app/IndexView.vue:42 +#: src/views/app/InstalledView.vue:354 msgid "Operating Environment" msgstr "運行環境" @@ -1823,21 +2068,28 @@ msgstr "部分" msgid "N/A" msgstr "不適用" -#: src/views/app/InstalledView.vue:55 src/views/apps/fail2ban/IndexView.vue:47 +#: src/views/app/InstalledView.vue:55 +#: 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/ContainerView.vue:53 -#: src/views/database/ServerList.vue:140 src/views/database/UserList.vue:113 -#: src/views/firewall/RuleView.vue:80 src/views/log/HttpLog.vue:95 -#: src/views/log/SSHLog.vue:63 src/views/project/ListView.vue:59 -#: 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:80 +#: src/views/log/HttpLog.vue:95 +#: src/views/log/SSHLog.vue:63 +#: src/views/project/ListView.vue:59 +#: 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:473 #: src/views/toolbox/MigrationView.vue:696 -#: src/views/toolbox/MigrationView.vue:783 src/views/toolbox/NetworkView.vue:96 -#: src/views/toolbox/ProcessView.vue:134 src/views/toolbox/ProcessView.vue:399 +#: src/views/toolbox/MigrationView.vue:783 +#: src/views/toolbox/NetworkView.vue:96 +#: src/views/toolbox/ProcessView.vue:134 +#: src/views/toolbox/ProcessView.vue:399 #: src/views/website/stats/ErrorsTab.vue:95 msgid "Status" msgstr "狀態" @@ -1862,9 +2114,12 @@ msgstr "請輸入編排名稱" msgid "Please select a compose" msgstr "請選擇一個編排" -#: src/views/app/TemplateDeployModal.vue:258 src/views/cert/AccountView.vue:145 -#: src/views/cert/CertView.vue:343 src/views/cert/CertView.vue:364 -#: 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:343 +#: src/views/cert/CertView.vue:364 +#: src/views/cert/DnsView.vue:137 +#: src/views/container/ComposeView.vue:249 msgid "Update successful" msgstr "更新成功" @@ -1939,7 +2194,8 @@ msgstr "自動放行在 compose 中定義的端口" #: src/views/container/ComposeView.vue:331 #: src/views/container/ComposeView.vue:357 #: src/views/container/ContainerCreate.vue:452 -#: 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 "環境變數" @@ -1961,9 +2217,7 @@ 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 @@ -1989,8 +2243,10 @@ msgstr "更新現有" #: src/views/app/TemplateDeployModal.vue:606 #: src/views/app/TemplateDeployModal.vue:611 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:94 -#: src/views/apps/nginx/NginxIndex.vue:186 src/views/file/ListView.vue:852 -#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/apps/nginx/NginxIndex.vue:186 +#: src/views/file/ListView.vue:852 +#: src/views/file/PropertyModal.vue:55 +#: src/views/file/PropertyModal.vue:59 #: src/views/toolbox/WebHookView.vue:85 msgid "Yes" msgstr "是" @@ -1998,8 +2254,10 @@ msgstr "是" #: src/views/app/TemplateDeployModal.vue:606 #: src/views/app/TemplateDeployModal.vue:611 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:95 -#: src/views/apps/nginx/NginxIndex.vue:186 src/views/file/ListView.vue:853 -#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/apps/nginx/NginxIndex.vue:186 +#: src/views/file/ListView.vue:853 +#: src/views/file/PropertyModal.vue:55 +#: src/views/file/PropertyModal.vue:59 #: src/views/toolbox/WebHookView.vue:85 msgid "No" msgstr "否" @@ -2030,13 +2288,16 @@ msgstr "下一步" msgid "Starting Compose" msgstr "正在啟動編排" -#: src/views/app/TemplateView.vue:142 src/views/backup/StorageView.vue:78 -#: src/views/ssh/IndexView.vue:80 src/views/ssh/IndexView.vue:86 +#: src/views/app/TemplateView.vue:142 +#: src/views/backup/StorageView.vue:78 +#: src/views/ssh/IndexView.vue:80 +#: src/views/ssh/IndexView.vue:86 #: src/views/toolbox/MigrationView.vue:471 msgid "Local" msgstr "本地" -#: src/views/app/TemplateView.vue:152 src/views/cert/CertView.vue:227 +#: src/views/app/TemplateView.vue:152 +#: src/views/cert/CertView.vue:227 msgid "Deploy" msgstr "部署" @@ -2070,7 +2331,8 @@ 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 "屬性" @@ -2088,7 +2350,8 @@ 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 "當前值" @@ -2102,16 +2365,20 @@ 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/task/CronView.vue:23 -#: src/views/task/TaskView.vue:21 src/views/website/EditModal.vue:261 +#: src/views/environment/PHPView.vue:162 +#: src/views/environment/PHPView.vue:169 +#: src/views/firewall/ScanView.vue:336 +#: src/views/task/CronView.vue:23 +#: src/views/task/TaskView.vue:21 +#: src/views/website/EditModal.vue:261 #: 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 @@ -2121,11 +2388,8 @@ 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 @@ -2141,7 +2405,8 @@ msgstr "" #: 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:575 msgid "Load Status" msgstr "負載狀態" @@ -2181,8 +2446,10 @@ msgstr "錯誤日誌" #: src/views/apps/clickhouse/ClickHouseConfigTuneView.vue:68 #: src/views/apps/mongodb/MongoDBConfigTuneView.vue:88 -#: src/views/container/ContainerCreate.vue:213 src/views/home/IndexView.vue:188 -#: src/views/home/IndexView.vue:955 src/views/monitor/IndexView.vue:990 +#: src/views/container/ContainerCreate.vue:213 +#: src/views/home/IndexView.vue:188 +#: src/views/home/IndexView.vue:955 +#: src/views/monitor/IndexView.vue:990 #: src/views/toolbox/IndexView.vue:28 msgid "Network" msgstr "網絡" @@ -2253,12 +2520,18 @@ msgstr "日誌級別(logger.level)" #: src/views/database/ServerList.vue:274 #: 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/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:46 +#: src/views/database/UserList.vue:191 +#: src/views/file/PermissionModal.vue:57 +#: 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:46 #: src/views/website/SettingView.vue:57 msgid "Modified successfully" msgstr "修改成功" @@ -2267,7 +2540,8 @@ 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:28 #: src/views/setting/TokenModal.vue:155 msgid "Copied successfully" @@ -2278,9 +2552,7 @@ 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:121 @@ -2295,16 +2567,14 @@ msgstr "ClickHouse 預設用戶密碼用於存取資料庫。請妥善保管!" #: 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 @@ -2320,16 +2590,14 @@ msgstr "" #: 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 @@ -2353,7 +2621,8 @@ msgstr "中國 - 騰訊(僅內網)" #: src/views/apps/docker/IndexView.vue:194 #: src/views/container/ContainerCreate.vue:193 -#: src/views/project/EditModal.vue:182 src/views/website/EditModal.vue:907 +#: src/views/project/EditModal.vue:182 +#: src/views/website/EditModal.vue:907 msgid "Basic Settings" msgstr "基本設置" @@ -2361,14 +2630,13 @@ msgstr "基本設置" msgid "Registry Mirrors" msgstr "註冊表鏡像" -#: src/views/apps/docker/IndexView.vue:203 src/views/website/EditModal.vue:1729 +#: src/views/apps/docker/IndexView.vue:203 +#: src/views/website/EditModal.vue:1729 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 @@ -2379,7 +2647,8 @@ 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:360 +#: src/views/apps/nginx/NginxIndex.vue:743 +#: src/views/toolbox/SystemView.vue:360 msgid "Add" msgstr "添加" @@ -2388,12 +2657,8 @@ 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" @@ -2464,9 +2729,7 @@ 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 @@ -2530,12 +2793,8 @@ 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" @@ -2590,9 +2849,7 @@ 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 @@ -2622,12 +2879,8 @@ 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 @@ -2644,7 +2897,8 @@ msgstr "封禁時間" msgid "Find Time" msgstr "查找時間" -#: src/views/apps/fail2ban/IndexView.vue:80 src/views/cert/CertView.vue:261 +#: src/views/apps/fail2ban/IndexView.vue:80 +#: src/views/cert/CertView.vue:261 #: src/views/database/ElasticsearchDataView.vue:186 #: src/views/database/RedisDataView.vue:141 msgid "View" @@ -2665,7 +2919,8 @@ 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" @@ -2703,33 +2958,30 @@ 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:105 -#: src/views/cert/DnsView.vue:43 src/views/database/CreateServerModal.vue:100 +#: src/views/backup/StorageView.vue:73 +#: src/views/backup/StorageView.vue:233 +#: src/views/backup/StorageView.vue:395 +#: src/views/cert/CertView.vue:105 +#: src/views/cert/DnsView.vue:43 +#: 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/project/ListView.vue:51 +#: src/views/database/RedisKeyModal.vue:99 +#: src/views/file/PropertyModal.vue:33 +#: src/views/log/OperationLog.vue:74 +#: src/views/project/ListView.vue:51 #: src/views/toolbox/MigrationView.vue:694 -#: src/views/toolbox/MigrationView.vue:781 src/views/toolbox/NetworkView.vue:61 +#: src/views/toolbox/MigrationView.vue:781 +#: src/views/toolbox/NetworkView.vue:61 msgid "Type" msgstr "類型" @@ -2739,7 +2991,8 @@ msgid "Service" msgstr "服務" #: src/views/apps/fail2ban/IndexView.vue:319 -#: src/views/apps/fail2ban/IndexView.vue:323 src/views/task/CreateModal.vue:482 +#: src/views/apps/fail2ban/IndexView.vue:323 +#: src/views/task/CreateModal.vue:482 #: src/views/task/CreateModal.vue:488 msgid "Select Website" msgstr "選擇網站" @@ -2750,9 +3003,12 @@ 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/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 msgid "Path" msgstr "路徑" @@ -2783,42 +3039,55 @@ 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:37 -#: src/views/home/IndexView.vue:661 src/views/home/IndexView.vue:762 -#: src/views/log/SSHLog.vue:73 src/views/monitor/IndexView.vue:335 -#: src/views/monitor/IndexView.vue:347 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:37 +#: src/views/home/IndexView.vue:661 +#: src/views/home/IndexView.vue:762 +#: src/views/log/SSHLog.vue:73 +#: src/views/monitor/IndexView.vue:335 +#: src/views/monitor/IndexView.vue:347 +#: 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:38 +#: src/views/database/DatabaseList.vue:28 +#: src/views/database/IndexView.vue:38 #: src/views/database/UserList.vue:73 msgid "Server" msgstr "伺服器" @@ -2972,11 +3241,16 @@ 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/container/ComposeView.vue:123 src/views/file/ListView.vue:332 -#: src/views/file/ListView.vue:1538 src/views/project/ListView.vue:177 -#: src/views/ssh/IndexView.vue:560 src/views/task/CronView.vue:155 -#: src/views/toolbox/WebHookView.vue:158 src/views/website/ListView.vue:259 +#: src/views/apps/nginx/NginxIndex.vue:266 +#: src/views/backup/StorageView.vue:111 +#: src/views/container/ComposeView.vue:123 +#: src/views/file/ListView.vue:332 +#: src/views/file/ListView.vue:1538 +#: src/views/project/ListView.vue:177 +#: src/views/ssh/IndexView.vue:560 +#: src/views/task/CronView.vue:155 +#: src/views/toolbox/WebHookView.vue:158 +#: src/views/website/ListView.vue:259 msgid "Edit" msgstr "編輯" @@ -3005,20 +3279,28 @@ 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:390 #: 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:104 -#: src/views/database/UpdateUserModal.vue:63 src/views/database/UserList.vue:32 -#: src/views/login/IndexView.vue:261 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:1981 +#: src/views/database/UpdateUserModal.vue:63 +#: src/views/database/UserList.vue:32 +#: src/views/login/IndexView.vue:261 +#: 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:1981 msgid "Password" msgstr "密碼" @@ -3035,30 +3317,20 @@ 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 @@ -3165,33 +3437,25 @@ 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:541 +#: src/views/backup/IndexView.vue:59 +#: src/views/task/CreateModal.vue:541 msgid "Storage" msgstr "儲存" @@ -3232,7 +3496,8 @@ 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 "通用" @@ -3443,17 +3708,12 @@ 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" @@ -3529,9 +3789,7 @@ 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 @@ -3569,9 +3827,7 @@ 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 @@ -3595,8 +3851,7 @@ 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 @@ -3623,13 +3878,15 @@ 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:1104 +#: src/views/apps/nginx/NginxIndex.vue:635 +#: src/views/website/EditModal.vue:1104 msgid "Proxy Pass" msgstr "代理目標" @@ -3680,15 +3937,18 @@ msgstr "Stream" #: src/views/apps/nginx/NginxIndex.vue:533 #: src/views/database/CreateServerModal.vue:92 -#: src/views/database/IndexView.vue:58 src/views/website/EditModal.vue:1041 +#: src/views/database/IndexView.vue:58 +#: src/views/website/EditModal.vue:1041 msgid "Add Server" msgstr "添加伺服器" -#: src/views/apps/nginx/NginxIndex.vue:546 src/views/website/EditModal.vue:960 +#: src/views/apps/nginx/NginxIndex.vue:546 +#: src/views/website/EditModal.vue:960 msgid "Upstream" msgstr "上游" -#: src/views/apps/nginx/NginxIndex.vue:550 src/views/website/EditModal.vue:1057 +#: src/views/apps/nginx/NginxIndex.vue:550 +#: src/views/website/EditModal.vue:1057 msgid "Add Upstream" msgstr "添加上游" @@ -3745,7 +4005,8 @@ 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:971 +#: src/views/apps/nginx/NginxIndex.vue:713 +#: src/views/website/EditModal.vue:971 msgid "Load Balancing Algorithm" msgstr "負載均衡算法" @@ -3767,7 +4028,8 @@ msgstr "地址" #: src/views/apps/nginx/NginxIndex.vue:750 #: src/views/container/NetworkView.vue:329 -#: 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 "選項" @@ -3775,27 +4037,27 @@ msgstr "選項" msgid "No servers added yet" msgstr "尚未添加服務器" -#: src/views/apps/nginx/NginxIndex.vue:777 src/views/website/EditModal.vue:1001 +#: src/views/apps/nginx/NginxIndex.vue:777 +#: src/views/website/EditModal.vue:1001 #: src/views/website/EditModal.vue:1138 msgid "DNS Resolver" msgstr "DNS 解析器" -#: src/views/apps/nginx/NginxIndex.vue:780 src/views/website/EditModal.vue:1004 +#: src/views/apps/nginx/NginxIndex.vue:780 +#: src/views/website/EditModal.vue:1004 #: src/views/website/EditModal.vue:1141 msgid "e.g., 8.8.8.8" msgstr "例如 8.8.8.8" -#: src/views/apps/nginx/NginxIndex.vue:786 src/views/website/EditModal.vue:1010 +#: src/views/apps/nginx/NginxIndex.vue:786 +#: src/views/website/EditModal.vue:1010 #: src/views/website/EditModal.vue:1147 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." @@ -3818,28 +4080,19 @@ 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 @@ -3847,9 +4100,7 @@ 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 @@ -3857,29 +4108,20 @@ 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" @@ -3918,11 +4160,16 @@ 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:426 src/views/home/IndexView.vue:688 -#: src/views/home/IndexView.vue:761 src/views/monitor/IndexView.vue:532 -#: src/views/monitor/IndexView.vue:539 src/views/monitor/IndexView.vue:555 -#: src/views/monitor/IndexView.vue:867 src/views/toolbox/BenchmarkView.vue:178 -#: src/views/toolbox/PanelView.vue:122 src/views/toolbox/ProcessView.vue:152 +#: src/views/container/ContainerCreate.vue:426 +#: src/views/home/IndexView.vue:688 +#: src/views/home/IndexView.vue:761 +#: src/views/monitor/IndexView.vue:532 +#: src/views/monitor/IndexView.vue:539 +#: src/views/monitor/IndexView.vue:555 +#: src/views/monitor/IndexView.vue:867 +#: src/views/toolbox/BenchmarkView.vue:178 +#: src/views/toolbox/PanelView.vue:122 +#: src/views/toolbox/ProcessView.vue:152 msgid "Memory" msgstr "記憶體" @@ -4052,33 +4299,20 @@ 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" @@ -4130,13 +4364,13 @@ msgstr "您確定要卸載 %{ name } 嗎?" #: src/views/apps/prometheus/PrometheusExportersView.vue:146 #: src/views/apps/prometheus/PrometheusExportersView.vue:153 -#: src/views/environment/PHPView.vue:175 src/views/environment/PHPView.vue:181 +#: 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 @@ -4149,17 +4383,22 @@ 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:382 #: 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:96 -#: src/views/database/UserList.vue:22 src/views/login/IndexView.vue:252 -#: 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/database/UserList.vue:22 +#: src/views/login/IndexView.vue:252 +#: 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:1980 msgid "Username" msgstr "使用者名稱" @@ -4193,14 +4432,17 @@ 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:51 src/views/setting/CreateModal.vue:38 +#: src/views/database/IndexView.vue:51 +#: 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:387 #: src/views/database/CreateDatabaseModal.vue:122 #: src/views/database/CreateUserModal.vue:117 @@ -4213,11 +4455,15 @@ 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:464 -#: 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:464 +#: src/views/website/CreateModal.vue:305 +#: src/views/website/ListView.vue:148 msgid "Directory" msgstr "目錄" @@ -4274,11 +4520,8 @@ 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." @@ -4363,12 +4606,8 @@ 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." @@ -4418,26 +4657,33 @@ 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:134 #: src/views/database/ServerList.vue:113 #: src/views/database/UpdateServerModal.vue:75 -#: src/views/database/UserList.vue:63 src/views/ssh/CreateModal.vue:65 -#: src/views/ssh/UpdateModal.vue:71 src/views/toolbox/SystemView.vue:229 +#: src/views/database/UserList.vue:63 +#: src/views/ssh/CreateModal.vue:65 +#: src/views/ssh/UpdateModal.vue:71 +#: src/views/toolbox/SystemView.vue:229 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:160 -#: 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:113 -#: 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 "註釋" @@ -4450,7 +4696,8 @@ 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 "模組管理" @@ -4460,11 +4707,8 @@ 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 @@ -4500,7 +4744,8 @@ 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 "掛載路徑" @@ -4508,12 +4753,14 @@ 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 "添加掛載" @@ -4535,9 +4782,7 @@ 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 @@ -4575,18 +4820,16 @@ 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 "啟動命令" @@ -4595,7 +4838,8 @@ 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 "工作目錄" @@ -4621,11 +4865,8 @@ 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." @@ -4643,7 +4884,8 @@ msgstr "Valkey AOF 持久化設置。" msgid "Filename" msgstr "檔案名稱" -#: src/views/backup/ListView.vue:57 src/views/database/ServerList.vue:152 +#: src/views/backup/ListView.vue:57 +#: src/views/database/ServerList.vue:152 #: src/views/database/UserList.vue:125 msgid "Update Date" msgstr "更新日期" @@ -4665,31 +4907,34 @@ msgid "Restored successfully" msgstr "恢復成功" #: src/views/backup/ListView.vue:225 -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:232 src/views/backup/ListView.vue:261 +#: src/views/backup/ListView.vue:232 +#: src/views/backup/ListView.vue:261 msgid "Create Backup" msgstr "創建備份" -#: src/views/backup/ListView.vue:235 src/views/backup/UploadModal.vue:38 +#: src/views/backup/ListView.vue:235 +#: src/views/backup/UploadModal.vue:38 msgid "Upload Backup" msgstr "上傳備份" -#: src/views/backup/ListView.vue:273 src/views/backup/ListView.vue:321 +#: src/views/backup/ListView.vue:273 +#: src/views/backup/ListView.vue:321 msgid "Select website" msgstr "選擇網站" #: src/views/backup/ListView.vue:279 #: 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:285 src/views/backup/ListView.vue:333 +#: src/views/backup/ListView.vue:285 +#: src/views/backup/ListView.vue:333 msgid "Select database" msgstr "選取資料庫" @@ -4705,12 +4950,18 @@ 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:535 -#: src/views/cert/CertView.vue:614 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:1712 +#: src/views/backup/StorageView.vue:36 +#: src/views/backup/StorageView.vue:321 +#: src/views/backup/StorageView.vue:477 +#: src/views/cert/CertView.vue:535 +#: src/views/cert/CertView.vue:614 +#: 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:1712 msgid "Private Key" msgstr "私鑰" @@ -4722,41 +4973,51 @@ msgstr "創建於" msgid "Are you sure you want to delete this storage?" msgstr "您確定要刪除此儲存嗎?" -#: src/views/backup/StorageView.vue:173 src/views/setting/PasswordModal.vue:21 -#: src/views/setting/TokenModal.vue:178 src/views/setting/TwoFaModal.vue:28 +#: src/views/backup/StorageView.vue:173 +#: 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 "區域" @@ -4765,56 +5026,74 @@ 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:86 -#: src/views/firewall/ForwardView.vue:33 src/views/firewall/RuleView.vue:67 -#: 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 +#: src/views/firewall/ForwardView.vue:33 +#: src/views/firewall/RuleView.vue:67 +#: 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:396 #: src/views/database/CreateDatabaseModal.vue:132 #: src/views/database/CreateUserModal.vue:127 @@ -4822,19 +5101,23 @@ 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" @@ -4846,30 +5129,37 @@ msgstr "編輯儲存" msgid "Upload %{ filename } successfully" msgstr "上傳 %{ filename } 成功" -#: src/views/backup/UploadModal.vue:50 src/views/file/UploadModal.vue:712 +#: src/views/backup/UploadModal.vue:50 +#: src/views/file/UploadModal.vue:712 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:459 src/views/cert/CreateAccountModal.vue:96 +#: src/views/cert/AccountView.vue:67 +#: src/views/cert/AccountView.vue:218 +#: src/views/cert/CertView.vue:459 +#: 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:290 -#: 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:290 +#: 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 "修改" @@ -4878,12 +5168,14 @@ msgstr "修改" msgid "Are you sure you want to delete the account?" msgstr "您確定要刪除該賬戶嗎?" -#: src/views/cert/AccountView.vue:108 src/views/cert/CertView.vue:304 +#: src/views/cert/AccountView.vue:108 +#: src/views/cert/CertView.vue:304 #: 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 註冊賬戶,請耐心等待" @@ -4891,55 +5183,61 @@ 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" -msgstr "" -"LiteSSL、Google 和 SSL.com 需要先從他們的官方網站獲取 EAB (KID 和 HMAC)" +#: 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:462 +#: src/views/cert/AccountView.vue:221 +#: src/views/cert/CertView.vue:462 #: 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" -#: src/views/cert/CertView.vue:82 src/views/cert/CertView.vue:451 -#: src/views/cert/CreateCertModal.vue:102 src/views/project/CreateModal.vue:661 -#: src/views/website/CreateModal.vue:201 src/views/website/EditModal.vue:866 +#: src/views/cert/CertView.vue:82 +#: src/views/cert/CertView.vue:451 +#: src/views/cert/CreateCertModal.vue:102 +#: src/views/project/CreateModal.vue:661 +#: src/views/website/CreateModal.vue:201 +#: src/views/website/EditModal.vue:866 msgid "Domain" msgstr "域名" -#: src/views/cert/CertView.vue:127 src/views/file/ToolBar.vue:181 -#: src/views/file/UploadModal.vue:676 src/views/monitor/IndexView.vue:596 +#: src/views/cert/CertView.vue:127 +#: src/views/file/ToolBar.vue:181 +#: src/views/file/UploadModal.vue:676 +#: src/views/monitor/IndexView.vue:596 msgid "Upload" msgstr "上傳" @@ -4947,12 +5245,15 @@ msgstr "上傳" msgid "Associated Account" msgstr "關聯帳戶" -#: src/views/cert/CertView.vue:148 src/views/website/EditModal.vue:1639 +#: src/views/cert/CertView.vue:148 +#: src/views/website/EditModal.vue:1639 msgid "Issuer" msgstr "頒發者" -#: src/views/cert/CertView.vue:157 src/views/setting/TokenModal.vue:48 -#: src/views/setting/TokenModal.vue:255 src/views/setting/TokenModal.vue:293 +#: src/views/cert/CertView.vue:157 +#: src/views/setting/TokenModal.vue:48 +#: src/views/setting/TokenModal.vue:255 +#: src/views/setting/TokenModal.vue:293 msgid "Expiration Time" msgstr "過期時間" @@ -4964,7 +5265,8 @@ msgstr "下次續簽時間" msgid "Auto Renewal" msgstr "自動續簽" -#: src/views/cert/CertView.vue:208 src/views/website/EditModal.vue:2171 +#: src/views/cert/CertView.vue:208 +#: src/views/website/EditModal.vue:2171 msgid "Issue" msgstr "簽發" @@ -4985,57 +5287,63 @@ msgid "Modify Certificate" msgstr "修改證書" #: src/views/cert/CertView.vue:445 -msgid "" -"You can automatically issue and deploy certificates by selecting any website/" -"DNS, or manually enter domain names and set DNS resolution to issue " -"certificates, or fill in deployment scripts to automatically deploy " -"certificates." -msgstr "" -"您可以通過選擇任何網站 / DNS 自動頒發和部署證書,或手動輸入域名並設置 DNS 解" -"析以頒發證書,或填寫部署腳本以自動部署證書。" +msgid "You can automatically issue and deploy certificates by selecting any website/DNS, or manually enter domain names and set DNS resolution to issue certificates, or fill in deployment scripts to automatically deploy certificates." +msgstr "您可以通過選擇任何網站 / DNS 自動頒發和部署證書,或手動輸入域名並設置 DNS 解析以頒發證書,或填寫部署腳本以自動部署證書。" -#: src/views/cert/CertView.vue:470 src/views/cert/CreateCertModal.vue:121 +#: src/views/cert/CertView.vue:470 +#: src/views/cert/CreateCertModal.vue:121 msgid "Select website for certificate deployment" msgstr "選擇要部署憑證的網站" -#: src/views/cert/CertView.vue:478 src/views/cert/CreateCertModal.vue:126 +#: src/views/cert/CertView.vue:478 +#: src/views/cert/CreateCertModal.vue:126 #: src/views/cert/IndexView.vue:97 msgid "Account" msgstr "帳戶" -#: src/views/cert/CertView.vue:482 src/views/cert/CreateCertModal.vue:129 +#: src/views/cert/CertView.vue:482 +#: src/views/cert/CreateCertModal.vue:129 msgid "Select account for certificate issuance" msgstr "選擇用於憑證頒發的帳戶" -#: src/views/cert/CertView.vue:487 src/views/cert/CreateCertModal.vue:134 -#: src/views/cert/CreateDnsModal.vue:71 src/views/cert/DnsView.vue:196 -#: src/views/cert/IndexView.vue:98 src/views/website/EditModal.vue:2162 +#: src/views/cert/CertView.vue:487 +#: src/views/cert/CreateCertModal.vue:134 +#: src/views/cert/CreateDnsModal.vue:71 +#: src/views/cert/DnsView.vue:196 +#: src/views/cert/IndexView.vue:98 +#: src/views/website/EditModal.vue:2162 msgid "DNS" msgstr "DNS" -#: src/views/cert/CertView.vue:490 src/views/cert/CreateCertModal.vue:137 +#: src/views/cert/CertView.vue:490 +#: src/views/cert/CreateCertModal.vue:137 #: src/views/website/EditModal.vue:2165 msgid "Select DNS for certificate issuance" msgstr "選擇用於證書頒發的 DNS" -#: src/views/cert/CertView.vue:497 src/views/cert/CreateCertModal.vue:142 +#: src/views/cert/CertView.vue:497 +#: src/views/cert/CreateCertModal.vue:142 msgid "DNS Alias" msgstr "DNS 別名" -#: src/views/cert/CertView.vue:507 src/views/cert/CreateCertModal.vue:148 +#: src/views/cert/CertView.vue:507 +#: src/views/cert/CreateCertModal.vue:148 msgid "Original domain, e.g. example.com" msgstr "原始域名,例如 example.com" -#: src/views/cert/CertView.vue:513 src/views/cert/CreateCertModal.vue:154 +#: src/views/cert/CertView.vue:513 +#: src/views/cert/CreateCertModal.vue:154 msgid "Alias record, e.g. _acme-challenge.delegated.com" msgstr "別名記錄,例如 _acme-challenge.delegated.com" -#: src/views/cert/CertView.vue:528 src/views/cert/UploadCertModal.vue:50 +#: src/views/cert/CertView.vue:528 +#: src/views/cert/UploadCertModal.vue:50 #: src/views/website/EditModal.vue:1706 msgid "Enter the content of the PEM certificate file" msgstr "輸入 PEM 證書文件的內容" -#: src/views/cert/CertView.vue:540 src/views/cert/UploadCertModal.vue:58 +#: src/views/cert/CertView.vue:540 +#: src/views/cert/UploadCertModal.vue:58 #: src/views/website/EditModal.vue:1716 msgid "Enter the content of the KEY private key file" msgstr "輸入 KEY 私鑰文件的內容" @@ -5045,9 +5353,7 @@ msgid "Deployment Script" msgstr "部署腳本" #: src/views/cert/CertView.vue:553 -msgid "" -"The {cert} and {key} in the script will be replaced with the certificate and " -"private key content" +msgid "The {cert} and {key} in the script will be replaced with the certificate and private key content" msgstr "腳本中的 {cert} 和 {key} 將被替換為證書和私鑰內容" #: src/views/cert/CertView.vue:575 @@ -5066,24 +5372,22 @@ msgstr "啟用 HTTPS" msgid "View Certificate" msgstr "查看證書" -#: src/views/cert/CreateAccountModal.vue:68 src/views/cert/IndexView.vue:110 +#: src/views/cert/CreateAccountModal.vue:68 +#: src/views/cert/IndexView.vue:110 msgid "Create Account" msgstr "創建賬戶" -#: src/views/cert/CreateCertModal.vue:87 src/views/cert/IndexView.vue:107 +#: src/views/cert/CreateCertModal.vue:87 +#: src/views/cert/IndexView.vue:107 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:113 +#: src/views/cert/CreateDnsModal.vue:56 +#: src/views/cert/IndexView.vue:113 msgid "Create DNS" msgstr "創建 DNS" @@ -5095,87 +5399,108 @@ 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 "備註名稱" @@ -5191,7 +5516,8 @@ msgstr "修改 DNS" msgid "Enter note name" msgstr "輸入備註名稱" -#: src/views/cert/IndexView.vue:104 src/views/cert/UploadCertModal.vue:38 +#: src/views/cert/IndexView.vue:104 +#: src/views/cert/UploadCertModal.vue:38 msgid "Upload Certificate" msgstr "上傳證書" @@ -5203,17 +5529,21 @@ 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:96 src/views/home/UpdateView.vue:101 +#: src/views/cert/ObtainModal.vue:84 +#: src/views/cert/ObtainModal.vue:90 +#: src/views/home/UpdateView.vue:96 +#: src/views/home/UpdateView.vue:101 msgid "WebSocket connection failed" msgstr "WebSocket 連線失敗" @@ -5229,11 +5559,15 @@ msgstr "簽發證書" msgid "Issuance Mode" msgstr "簽發模式" -#: src/views/container/ComposeView.vue:93 src/views/container/ImageView.vue:77 +#: src/views/container/ComposeView.vue:93 +#: src/views/container/ImageView.vue:77 #: 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:49 +#: 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:49 #: src/views/toolbox/WebHookView.vue:125 msgid "Creation Time" msgstr "創建時間" @@ -5280,7 +5614,8 @@ 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 "編排" @@ -5408,9 +5743,7 @@ msgid "Container End" msgstr "容器結束" #: src/views/container/ContainerCreate.vue:331 -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:340 @@ -5431,9 +5764,7 @@ msgid "Container path" msgstr "容器路徑" #: src/views/container/ContainerCreate.vue:369 -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:378 @@ -5442,9 +5773,7 @@ msgid "Resource Limits" msgstr "資源限制" #: src/views/container/ContainerCreate.vue:382 -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:390 @@ -5476,17 +5805,12 @@ msgid "Maximum memory the container can use, in MB. 0 means no limit." msgstr "容器可以使用的最大內存,單位為 MB。0 表示無限制。" #: src/views/container/ContainerCreate.vue:431 -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:438 -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:450 #: src/views/toolbox/MigrationView.vue:470 @@ -5507,8 +5831,10 @@ msgstr "變量值" msgid "Startup Commands" msgstr "啟動命令" -#: src/views/container/ContainerCreate.vue:478 src/views/home/IndexView.vue:662 -#: src/views/home/IndexView.vue:763 src/views/monitor/IndexView.vue:335 +#: src/views/container/ContainerCreate.vue:478 +#: src/views/home/IndexView.vue:662 +#: src/views/home/IndexView.vue:763 +#: src/views/monitor/IndexView.vue:335 #: src/views/monitor/IndexView.vue:347 msgid "Command" msgstr "命令" @@ -5570,7 +5896,8 @@ msgstr "暫停" msgid "Resume" msgstr "恢復" -#: src/views/container/ContainerView.vue:227 src/views/file/ListView.vue:1567 +#: src/views/container/ContainerView.vue:227 +#: src/views/file/ListView.vue:1567 msgid "More" msgstr "更多" @@ -5658,9 +5985,12 @@ msgstr "拉取失敗" msgid "Container Count" msgstr "容器數量" -#: src/views/container/ImageView.vue:98 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:243 +#: src/views/container/ImageView.vue:98 +#: 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:243 #: src/views/task/TaskView.vue:99 msgid "Are you sure you want to delete?" msgstr "您確定要刪除嗎?" @@ -5669,7 +5999,8 @@ msgstr "您確定要刪除嗎?" msgid "Pull successful" msgstr "拉取成功" -#: src/views/container/ImageView.vue:256 src/views/container/ImageView.vue:302 +#: src/views/container/ImageView.vue:256 +#: src/views/container/ImageView.vue:302 msgid "Pull Image" msgstr "拉取鏡像" @@ -5707,11 +6038,13 @@ msgstr "網絡" #: src/views/container/NetworkView.vue:55 #: src/views/container/NetworkView.vue:258 -#: 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:2030 msgid "Scope" msgstr "範圍" @@ -5791,8 +6124,10 @@ msgstr "選項名稱" msgid "Option Value" msgstr "選項值" -#: src/views/container/VolumeView.vue:50 src/views/home/IndexView.vue:806 -#: src/views/toolbox/DiskView.vue:282 src/views/toolbox/DiskView.vue:604 +#: src/views/container/VolumeView.vue:50 +#: src/views/home/IndexView.vue:806 +#: src/views/toolbox/DiskView.vue:282 +#: src/views/toolbox/DiskView.vue:604 msgid "Mount Point" msgstr "掛載點" @@ -5920,12 +6255,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:154 -#: 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 "權限" @@ -6075,7 +6410,8 @@ 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 "查看密鑰" @@ -6105,11 +6441,13 @@ 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 "無效" @@ -6118,12 +6456,11 @@ 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:122 +#: src/views/database/ServerList.vue:195 +#: src/views/toolbox/SystemView.vue:122 msgid "Synchronized successfully" msgstr "同步成功" @@ -6132,9 +6469,7 @@ 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 @@ -6157,7 +6492,8 @@ 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 @@ -6165,7 +6501,8 @@ 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 @@ -6174,11 +6511,8 @@ 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)" @@ -6188,11 +6522,13 @@ 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)" @@ -6202,9 +6538,7 @@ 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 @@ -6216,12 +6550,8 @@ 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)" @@ -6240,9 +6570,7 @@ 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 @@ -6287,12 +6615,8 @@ 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" @@ -6303,9 +6627,7 @@ 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 @@ -6333,8 +6655,7 @@ 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 @@ -6359,8 +6680,7 @@ 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 @@ -6388,12 +6708,8 @@ 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)" @@ -6464,24 +6780,16 @@ 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" @@ -6508,9 +6816,7 @@ 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 @@ -6551,8 +6857,10 @@ msgstr "名稱不能為空" msgid "Canceled" msgstr "已取消" -#: src/views/file/composables/usePaste.ts:131 src/views/file/ListView.vue:239 -#: src/views/file/ListView.vue:766 src/views/file/ListView.vue:850 +#: src/views/file/composables/usePaste.ts:131 +#: src/views/file/ListView.vue:239 +#: src/views/file/ListView.vue:766 +#: src/views/file/ListView.vue:850 msgid "Warning" msgstr "警告" @@ -6560,20 +6868,23 @@ msgstr "警告" msgid "There are items with the same name %{ items } Do you want to overwrite?" msgstr "存在同名項目 %{ items } 是否要覆蓋?" -#: src/views/file/composables/usePaste.ts:168 src/views/file/ListView.vue:768 -#: src/views/file/UploadModal.vue:752 src/views/file/UploadModal.vue:784 +#: src/views/file/composables/usePaste.ts:168 +#: src/views/file/ListView.vue:768 +#: src/views/file/UploadModal.vue:752 +#: src/views/file/UploadModal.vue:784 msgid "Overwrite" msgstr "覆蓋" #: src/views/file/CompressModal.vue:47 -#, fuzzy -msgid "" -"Compress task created successfully, please check the task list for progress" -msgstr "下載任務創建成功,請在任務列表中查看進度" +msgid "Compress task created successfully, please check the task list for progress" +msgstr "壓縮任務創建成功,請在任務列表中查看進度" -#: src/views/file/CompressModal.vue:70 src/views/file/CompressModal.vue:103 -#: src/views/file/ListView.vue:309 src/views/file/ListView.vue:345 -#: src/views/file/ListView.vue:953 src/views/file/ListView.vue:1532 +#: src/views/file/CompressModal.vue:70 +#: src/views/file/CompressModal.vue:103 +#: src/views/file/ListView.vue:309 +#: src/views/file/ListView.vue:345 +#: src/views/file/ListView.vue:953 +#: src/views/file/ListView.vue:1532 #: src/views/file/ToolBar.vue:216 msgid "Compress" msgstr "壓縮" @@ -6603,55 +6914,63 @@ msgid "File Editor" msgstr "文件編輯器" #: src/views/file/ListView.vue:240 -msgid "" -"%{ name } has immutable attribute. The panel will temporarily remove the " -"immutable attribute, perform the operation, and then restore the immutable " -"attribute. Do you want to continue?" -msgstr "" -"%{ name } 具有不可變屬性。面板將暫時移除不可變屬性,執行操作,然後恢復不可變" -"屬性。您要繼續嗎?" +msgid "%{ name } has immutable attribute. The panel will temporarily remove the immutable attribute, perform the operation, and then restore the immutable attribute. Do you want to continue?" +msgstr "%{ name } 具有不可變屬性。面板將暫時移除不可變屬性,執行操作,然後恢復不可變屬性。您要繼續嗎?" -#: src/views/file/ListView.vue:244 src/views/file/UploadModal.vue:506 +#: src/views/file/ListView.vue:244 +#: src/views/file/UploadModal.vue:506 #: src/views/file/UploadModal.vue:641 msgid "Continue" msgstr "繼續" -#: src/views/file/ListView.vue:297 src/views/file/ListView.vue:315 -#: src/views/file/ListView.vue:359 src/views/file/ToolBar.vue:211 +#: src/views/file/ListView.vue:297 +#: src/views/file/ListView.vue:315 +#: src/views/file/ListView.vue:359 +#: src/views/file/ToolBar.vue:211 msgid "Paste" msgstr "貼上" -#: src/views/file/ListView.vue:308 src/views/file/ListView.vue:342 -#: src/views/file/ListView.vue:951 src/views/file/ToolBar.vue:215 +#: src/views/file/ListView.vue:308 +#: src/views/file/ListView.vue:342 +#: src/views/file/ListView.vue:951 +#: src/views/file/ToolBar.vue:215 msgid "Move" msgstr "移動" -#: src/views/file/ListView.vue:310 src/views/file/ListView.vue:343 -#: src/views/file/ListView.vue:952 src/views/file/ListView.vue:1350 -#: src/views/file/PermissionModal.vue:146 src/views/file/PropertyModal.vue:42 +#: src/views/file/ListView.vue:310 +#: src/views/file/ListView.vue:343 +#: src/views/file/ListView.vue:952 +#: src/views/file/ListView.vue:1350 +#: src/views/file/PermissionModal.vue:146 +#: src/views/file/PropertyModal.vue:42 #: src/views/file/ToolBar.vue:217 msgid "Permission" msgstr "權限" -#: src/views/file/ListView.vue:327 src/views/file/ListView.vue:1519 +#: src/views/file/ListView.vue:327 +#: src/views/file/ListView.vue:1519 msgid "Open" msgstr "開啟" -#: src/views/file/ListView.vue:329 src/views/file/ListView.vue:1538 +#: src/views/file/ListView.vue:329 +#: src/views/file/ListView.vue:1538 msgid "Preview" msgstr "預覽" -#: src/views/file/ListView.vue:331 src/views/file/ListView.vue:958 +#: src/views/file/ListView.vue:331 +#: src/views/file/ListView.vue:958 #: src/views/file/ListView.vue:1647 msgid "Uncompress" msgstr "解壓縮" -#: src/views/file/ListView.vue:354 src/views/file/ListView.vue:968 +#: src/views/file/ListView.vue:354 +#: src/views/file/ListView.vue:968 #: src/views/file/PropertyModal.vue:11 msgid "Properties" msgstr "屬性" -#: src/views/file/ListView.vue:677 src/views/file/ToolBar.vue:78 +#: src/views/file/ListView.vue:677 +#: src/views/file/ToolBar.vue:78 #: src/views/file/ToolBar.vue:97 msgid "Marked successfully, please navigate to the destination path to paste" msgstr "標記成功,請導航到目標路徑進行粘貼" @@ -6660,7 +6979,8 @@ msgstr "標記成功,請導航到目標路徑進行粘貼" msgid "There are items with the same name. Do you want to overwrite?" msgstr "存在同名項目。您要覆蓋嗎?" -#: src/views/file/ListView.vue:775 src/views/file/ListView.vue:794 +#: src/views/file/ListView.vue:775 +#: src/views/file/ListView.vue:794 msgid "Renamed %{ source } to %{ target } successfully" msgstr "成功將 %{ source } 重命名為 %{ target }" @@ -6672,7 +6992,8 @@ msgstr "某些文件是不可變的,無法刪除" msgid "Are you sure you want to delete %{count} items?" msgstr "您確定要刪除 %{count} 項嗎?" -#: src/views/file/ListView.vue:861 src/views/file/PathInput.vue:34 +#: src/views/file/ListView.vue:861 +#: src/views/file/PathInput.vue:34 msgid "Path copied to clipboard" msgstr "路徑已複製到剪貼板" @@ -6681,10 +7002,8 @@ msgid "Copy Path" msgstr "複製路徑" #: src/views/file/ListView.vue:1217 -#, fuzzy -msgid "" -"Uncompress task created successfully, please check the task list for progress" -msgstr "下載任務創建成功,請在任務列表中查看進度" +msgid "Uncompress task created successfully, please check the task list for progress" +msgstr "解壓任務創建成功,請在任務列表中查看進度" #: src/views/file/ListView.vue:1578 msgid "No files" @@ -6706,7 +7025,8 @@ msgstr "解壓 - %{ file }" msgid "Uncompress to" msgstr "解壓到" -#: src/views/file/ListView.vue:1655 src/views/file/ToolBar.vue:264 +#: src/views/file/ListView.vue:1655 +#: src/views/file/ToolBar.vue:264 msgid "Terminal - %{ path }" msgstr "終端 - %{ path }" @@ -6714,7 +7034,8 @@ msgstr "終端 - %{ path }" msgid "Failed to copy path" msgstr "無法複製路徑" -#: src/views/file/PathInput.vue:109 src/views/home/UpdateView.vue:164 +#: src/views/file/PathInput.vue:109 +#: src/views/home/UpdateView.vue:164 msgid "Back" msgstr "返回" @@ -6755,22 +7076,27 @@ 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:1000 +#: src/views/file/PermissionModal.vue:139 +#: src/views/home/IndexView.vue:212 +#: src/views/home/IndexView.vue:228 +#: src/views/home/IndexView.vue:1000 #: src/views/monitor/IndexView.vue:639 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:1001 +#: src/views/file/PermissionModal.vue:140 +#: src/views/home/IndexView.vue:212 +#: src/views/home/IndexView.vue:252 +#: src/views/home/IndexView.vue:1001 #: src/views/monitor/IndexView.vue:648 msgid "Write" msgstr "寫入" @@ -6810,8 +7136,7 @@ msgid "Immutable" msgstr "不可變" #: src/views/file/ToolBar.vue:55 -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:65 @@ -6826,7 +7151,8 @@ msgstr "請選擇要移動的文件/文件夾" msgid "Sort" msgstr "排序" -#: src/views/file/ToolBar.vue:182 src/views/file/ToolBar.vue:236 +#: src/views/file/ToolBar.vue:182 +#: src/views/file/ToolBar.vue:236 msgid "Remote Download" msgstr "遠程下載" @@ -6851,31 +7177,30 @@ msgid "Save as" msgstr "另存為" #: src/views/file/UploadModal.vue:126 -#, fuzzy msgid "New name for \"%{name}\" cannot be empty" -msgstr "名稱不能為空" +msgstr "「%{name}」的新名稱不能為空" #: src/views/file/UploadModal.vue:131 -#, fuzzy msgid "Invalid new name \"%{name}\"" -msgstr "無效的名稱" +msgstr "無效的新名稱「%{name}」" #: src/views/file/UploadModal.vue:142 msgid "Duplicate new name \"%{name}\"" -msgstr "" +msgstr "重複的新名稱「%{name}」" -#: src/views/file/UploadModal.vue:473 src/views/file/UploadModal.vue:593 +#: src/views/file/UploadModal.vue:473 +#: src/views/file/UploadModal.vue:593 msgid "Upload %{ fileName } successful" msgstr "上傳 %{ fileName } 成功" -#: src/views/file/UploadModal.vue:501 src/views/file/UploadModal.vue:636 +#: src/views/file/UploadModal.vue:501 +#: src/views/file/UploadModal.vue:636 msgid "Confirm Upload" msgstr "確認上傳" -#: src/views/file/UploadModal.vue:502 src/views/file/UploadModal.vue:637 -msgid "" -"You are about to upload %{count} files. This may take a while. Do you want " -"to continue?" +#: src/views/file/UploadModal.vue:502 +#: src/views/file/UploadModal.vue:637 +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:685 @@ -6887,32 +7212,29 @@ msgid "Preparing..." msgstr "準備中……" #: src/views/file/UploadModal.vue:715 -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:727 msgid "Files already exist" -msgstr "" +msgstr "檔案已存在" #: src/views/file/UploadModal.vue:738 -msgid "" -"The following files already exist in the target directory. Choose an action " -"for each." -msgstr "" +msgid "The following files already exist in the target directory. Choose an action for each." +msgstr "目標目錄中已經存在以下檔案。請為每個檔案選擇一個動作。" #: src/views/file/UploadModal.vue:744 msgid "Apply to all:" -msgstr "" +msgstr "應用於所有:" -#: src/views/file/UploadModal.vue:746 src/views/file/UploadModal.vue:782 +#: src/views/file/UploadModal.vue:746 +#: src/views/file/UploadModal.vue:782 msgid "Skip" -msgstr "" +msgstr "跳過" #: src/views/file/UploadModal.vue:776 -#, fuzzy msgid "New file name" -msgstr "文件名" +msgstr "新檔案名稱" #: src/views/firewall/CreateForwardModal.vue:56 #: src/views/firewall/ForwardView.vue:153 @@ -6921,8 +7243,10 @@ msgstr "創建轉發" #: src/views/firewall/CreateForwardModal.vue:64 #: src/views/firewall/CreateIpModal.vue:104 -#: src/views/firewall/CreateModal.vue:116 src/views/firewall/ForwardView.vue:16 -#: src/views/firewall/IpRuleView.vue:16 src/views/firewall/RuleView.vue:33 +#: src/views/firewall/CreateModal.vue:116 +#: src/views/firewall/ForwardView.vue:16 +#: src/views/firewall/IpRuleView.vue:16 +#: src/views/firewall/RuleView.vue:33 msgid "Transport Protocol" msgstr "傳輸協議" @@ -6941,25 +7265,29 @@ msgid "Target Port" msgstr "目標端口" #: src/views/firewall/CreateIpModal.vue:39 -#: src/views/firewall/CreateModal.vue:39 src/views/firewall/IpRuleView.vue:70 +#: src/views/firewall/CreateModal.vue:39 +#: src/views/firewall/IpRuleView.vue:70 #: src/views/firewall/RuleView.vue:175 msgid "Accept" msgstr "接受" #: src/views/firewall/CreateIpModal.vue:43 -#: src/views/firewall/CreateModal.vue:43 src/views/firewall/IpRuleView.vue:72 +#: src/views/firewall/CreateModal.vue:43 +#: src/views/firewall/IpRuleView.vue:72 #: src/views/firewall/RuleView.vue:177 msgid "Drop" msgstr "丟棄" #: src/views/firewall/CreateIpModal.vue:47 -#: src/views/firewall/CreateModal.vue:47 src/views/firewall/IpRuleView.vue:74 +#: src/views/firewall/CreateModal.vue:47 +#: src/views/firewall/IpRuleView.vue:74 #: src/views/firewall/RuleView.vue:179 msgid "Reject" msgstr "拒絕" #: src/views/firewall/CreateIpModal.vue:54 -#: src/views/firewall/CreateModal.vue:54 src/views/firewall/IpRuleView.vue:99 +#: src/views/firewall/CreateModal.vue:54 +#: src/views/firewall/IpRuleView.vue:99 #: src/views/firewall/RuleView.vue:204 #: src/views/website/stats/OverviewTab.vue:390 #: src/views/website/stats/OverviewTab.vue:424 @@ -6969,7 +7297,8 @@ msgid "Inbound" msgstr "入站" #: src/views/firewall/CreateIpModal.vue:58 -#: src/views/firewall/CreateModal.vue:58 src/views/firewall/IpRuleView.vue:101 +#: src/views/firewall/CreateModal.vue:58 +#: src/views/firewall/IpRuleView.vue:101 #: src/views/firewall/RuleView.vue:206 #: src/views/website/stats/OverviewTab.vue:388 #: src/views/website/stats/OverviewTab.vue:389 @@ -6985,13 +7314,15 @@ msgid "%{ address } created successfully" msgstr "%{ address } 創建成功" #: src/views/firewall/CreateIpModal.vue:96 -#: src/views/firewall/CreateModal.vue:108 src/views/firewall/IpRuleView.vue:195 +#: src/views/firewall/CreateModal.vue:108 +#: src/views/firewall/IpRuleView.vue:195 #: src/views/firewall/RuleView.vue:303 msgid "Create Rule" msgstr "創建規則" #: src/views/firewall/CreateIpModal.vue:107 -#: src/views/firewall/CreateModal.vue:119 src/views/firewall/IpRuleView.vue:33 +#: src/views/firewall/CreateModal.vue:119 +#: src/views/firewall/IpRuleView.vue:33 #: src/views/firewall/RuleView.vue:50 msgid "Network Protocol" msgstr "網路協議" @@ -7006,13 +7337,15 @@ 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:151 src/views/firewall/IpRuleView.vue:50 +#: src/views/firewall/CreateModal.vue:151 +#: src/views/firewall/IpRuleView.vue:50 #: src/views/firewall/RuleView.vue:155 msgid "Strategy" msgstr "策略" #: src/views/firewall/CreateIpModal.vue:120 -#: src/views/firewall/CreateModal.vue:154 src/views/firewall/IpRuleView.vue:86 +#: src/views/firewall/CreateModal.vue:154 +#: src/views/firewall/IpRuleView.vue:86 #: src/views/firewall/RuleView.vue:191 msgid "Direction" msgstr "方向" @@ -7025,17 +7358,21 @@ msgstr "起始端口" msgid "End Port" msgstr "結束連接埠" -#: src/views/firewall/CreateModal.vue:144 src/views/firewall/IpRuleView.vue:111 -#: src/views/firewall/RuleView.vue:216 src/views/website/EditModal.vue:1797 +#: src/views/firewall/CreateModal.vue:144 +#: src/views/firewall/IpRuleView.vue:111 +#: src/views/firewall/RuleView.vue:216 +#: src/views/website/EditModal.vue:1797 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:275 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:307 msgid "Are you sure you want to delete the selected rules?" msgstr "您確定要刪除所選規則嗎?" @@ -7052,11 +7389,13 @@ msgstr "IP 規則" msgid "Port Forwarding" msgstr "連接埠轉發" -#: src/views/firewall/IndexView.vue:25 src/views/firewall/SettingView.vue:96 +#: src/views/firewall/IndexView.vue:25 +#: src/views/firewall/SettingView.vue:96 msgid "Scan Awareness" msgstr "掃描感知" -#: src/views/firewall/IpRuleView.vue:76 src/views/firewall/RuleView.vue:181 +#: src/views/firewall/IpRuleView.vue:76 +#: src/views/firewall/RuleView.vue:181 msgid "Mark" msgstr "標記" @@ -7064,7 +7403,8 @@ msgstr "標記" msgid "Not Used" msgstr "未使用" -#: src/views/firewall/RuleView.vue:106 src/views/toolbox/PanelView.vue:154 +#: src/views/firewall/RuleView.vue:106 +#: src/views/toolbox/PanelView.vue:154 msgid "In Use" msgstr "使用中" @@ -7072,14 +7412,19 @@ msgstr "使用中" msgid "No process information" 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 數" @@ -7102,13 +7447,16 @@ 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 "位置" @@ -7116,7 +7464,8 @@ 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 "最後記錄" @@ -7133,11 +7482,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 "概覽" @@ -7153,7 +7502,8 @@ 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 "清除數據" @@ -7177,7 +7527,8 @@ msgstr "來源 IP 前 10" msgid "Top 10 Scanned Ports" msgstr "掃描端口前 10" -#: 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 "設置保存成功" @@ -7238,17 +7589,22 @@ msgstr "運行正常" msgid "Running smoothly" msgstr "運行流暢" -#: src/views/home/IndexView.vue:188 src/views/home/IndexView.vue:956 -#: src/views/home/IndexView.vue:976 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:956 +#: src/views/home/IndexView.vue:976 +#: 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 "接收" @@ -7256,20 +7612,26 @@ msgstr "接收" msgid "Unit %{unit}" msgstr "單位 %{unit}" -#: src/views/home/IndexView.vue:234 src/views/home/IndexView.vue:258 -#: src/views/monitor/IndexView.vue:433 src/views/monitor/IndexView.vue:502 +#: src/views/home/IndexView.vue:234 +#: src/views/home/IndexView.vue:258 +#: src/views/monitor/IndexView.vue:433 +#: src/views/monitor/IndexView.vue:502 #: src/views/monitor/IndexView.vue:564 msgid "Maximum" msgstr "最大值" -#: src/views/home/IndexView.vue:235 src/views/home/IndexView.vue:259 -#: src/views/monitor/IndexView.vue:434 src/views/monitor/IndexView.vue:503 +#: src/views/home/IndexView.vue:235 +#: src/views/home/IndexView.vue:259 +#: src/views/monitor/IndexView.vue:434 +#: src/views/monitor/IndexView.vue:503 #: src/views/monitor/IndexView.vue:565 msgid "Minimum" msgstr "最小值" -#: src/views/home/IndexView.vue:239 src/views/home/IndexView.vue:263 -#: src/views/monitor/IndexView.vue:438 src/views/monitor/IndexView.vue:507 +#: src/views/home/IndexView.vue:239 +#: src/views/home/IndexView.vue:263 +#: src/views/monitor/IndexView.vue:438 +#: src/views/monitor/IndexView.vue:507 #: src/views/monitor/IndexView.vue:569 msgid "Average" msgstr "平均值" @@ -7290,7 +7652,8 @@ msgstr "伺服器重新啟動中……" msgid "Restart Panel" msgstr "重新啟動面板" -#: src/views/home/IndexView.vue:394 src/views/home/IndexView.vue:1025 +#: src/views/home/IndexView.vue:394 +#: src/views/home/IndexView.vue:1025 msgid "Restart Server" msgstr "重啟伺服器" @@ -7299,24 +7662,15 @@ msgid "Current version is the latest" msgstr "當前版本是最新版本" #: src/views/home/IndexView.vue:501 -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:512 -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:543 src/views/task/IndexView.vue:25 +#: src/views/home/IndexView.vue:543 +#: src/views/task/IndexView.vue:25 msgid "Scheduled Tasks" msgstr "計劃任務" @@ -7344,7 +7698,8 @@ msgstr "最近 15 分鐘" msgid "cores" msgstr "核心" -#: src/views/home/IndexView.vue:617 src/views/toolbox/disk/RaidView.vue:111 +#: src/views/home/IndexView.vue:617 +#: src/views/toolbox/disk/RaidView.vue:111 #: src/views/toolbox/disk/RaidView.vue:142 #: src/views/toolbox/disk/SmartView.vue:104 msgid "Model" @@ -7378,7 +7733,8 @@ msgstr "已用物理記憶體" msgid "Physical Memory Available" msgstr "可用實體記憶體" -#: src/views/home/IndexView.vue:709 src/views/toolbox/DiskView.vue:218 +#: src/views/home/IndexView.vue:709 +#: src/views/toolbox/DiskView.vue:218 msgid "Free" msgstr "空閒" @@ -7386,7 +7742,8 @@ msgstr "空閒" msgid "Active" msgstr "活躍" -#: src/views/home/IndexView.vue:715 src/views/project/ListView.vue:76 +#: src/views/home/IndexView.vue:715 +#: src/views/project/ListView.vue:76 msgid "Inactive" msgstr "非活躍" @@ -7446,7 +7803,8 @@ msgstr "您尚未設置任何要在此處顯示的應用!" msgid "Environment Information" msgstr "環境資訊" -#: src/views/home/IndexView.vue:889 src/views/toolbox/SystemView.vue:231 +#: src/views/home/IndexView.vue:889 +#: src/views/toolbox/SystemView.vue:231 msgid "System Hostname" msgstr "系統主機名" @@ -7507,9 +7865,7 @@ msgid "Read/Write Latency" msgstr "讀/寫延遲" #: src/views/home/IndexView.vue:1027 -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:107 @@ -7521,45 +7877,39 @@ msgid "Are you sure you want to update the panel?" msgstr "您確定要更新面板嗎?" #: src/views/home/UpdateView.vue:130 -#, fuzzy msgid "Update failed" -msgstr "更新已取消" +msgstr "更新失敗" #: src/views/home/UpdateView.vue:131 -#, fuzzy msgid "Update timed out" -msgstr "更新日期" +msgstr "更新超時" #: src/views/home/UpdateView.vue:132 msgid "Updating to v%{ v }..." -msgstr "" +msgstr "正在更新到 v%{ v }……" #: src/views/home/UpdateView.vue:146 -#, fuzzy msgid "Panel is restarting, please wait..." -msgstr "面板重啟中……" +msgstr "正在重新啟動面板,請稍候……" #: src/views/home/UpdateView.vue:152 -msgid "" -"Update may have failed, please check the panel logs and refresh manually." -msgstr "" +msgid "Update may have failed, please check the panel logs and refresh manually." +msgstr "更新可能失敗,請檢查面板日誌並手動刷新。" #: src/views/home/UpdateView.vue:158 -#, fuzzy msgid "Error" msgstr "錯誤" #: src/views/home/UpdateView.vue:179 -#, fuzzy msgid "A new version is available" -msgstr "暫無日誌數據" +msgstr "有新版本可用" #: src/views/home/UpdateView.vue:182 -#, fuzzy msgid "Current" -msgstr "當前值" +msgstr "當前" -#: src/views/home/UpdateView.vue:189 src/views/home/UpdateView.vue:209 +#: src/views/home/UpdateView.vue:189 +#: src/views/home/UpdateView.vue:209 msgid "Latest" msgstr "最新" @@ -7568,26 +7918,32 @@ msgid "Update Now" msgstr "立即更新" #: src/views/home/UpdateView.vue:203 -#, fuzzy msgid "Changelog" -msgstr "渠道" +msgstr "變更日誌" -#: src/views/log/DatabaseLog.vue:30 src/views/log/HttpLog.vue:30 -#: src/views/log/OperationLog.vue:33 src/views/monitor/IndexView.vue:773 -#: src/views/monitor/IndexView.vue:827 src/views/monitor/IndexView.vue:879 -#: src/views/monitor/IndexView.vue:935 src/views/monitor/IndexView.vue:1002 +#: src/views/log/DatabaseLog.vue:30 +#: src/views/log/HttpLog.vue:30 +#: src/views/log/OperationLog.vue:33 +#: src/views/monitor/IndexView.vue:773 +#: src/views/monitor/IndexView.vue:827 +#: src/views/monitor/IndexView.vue:879 +#: src/views/monitor/IndexView.vue:935 +#: src/views/monitor/IndexView.vue:1002 #: 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/log/DatabaseLog.vue:48 +#: src/views/log/HttpLog.vue:56 +#: src/views/log/OperationLog.vue:51 +#: src/views/log/SSHLog.vue:58 #: src/views/toolbox/SystemView.vue:250 #: 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 "級別" @@ -7595,7 +7951,8 @@ 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:697 #: src/views/toolbox/MigrationView.vue:784 msgid "Duration" @@ -7605,17 +7962,21 @@ 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 "方法" @@ -7643,8 +8004,10 @@ msgstr "SSH 日誌" msgid "Operator" msgstr "操作員" -#: src/views/log/OperationLog.vue:87 src/views/toolbox/IndexView.vue:29 -#: src/views/toolbox/PanelView.vue:129 src/views/toolbox/PanelView.vue:148 +#: src/views/log/OperationLog.vue:87 +#: src/views/toolbox/IndexView.vue:29 +#: src/views/toolbox/PanelView.vue:129 +#: src/views/toolbox/PanelView.vue:148 msgid "System" msgstr "系統" @@ -7652,7 +8015,8 @@ msgstr "系統" msgid "Message" msgstr "消息" -#: src/views/log/OperationLog.vue:100 src/views/toolbox/MigrationView.vue:785 +#: src/views/log/OperationLog.vue:100 +#: src/views/toolbox/MigrationView.vue:785 msgid "Details" msgstr "詳情" @@ -7664,7 +8028,8 @@ msgstr "%{count} 個字段" msgid "Accepted" msgstr "已接受" -#: src/views/log/SSHLog.vue:46 src/views/project/ListView.vue:74 +#: src/views/log/SSHLog.vue:46 +#: src/views/project/ListView.vue:74 #: src/views/task/TaskView.vue:44 msgid "Failed" msgstr "失敗" @@ -7694,8 +8059,7 @@ 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 @@ -7726,8 +8090,10 @@ msgstr "記住我" msgid "Login with Passkey" msgstr "使用通行金鑰登入" -#: src/views/monitor/IndexView.vue:335 src/views/monitor/IndexView.vue:347 -#: src/views/toolbox/IndexView.vue:27 src/views/toolbox/NetworkView.vue:75 +#: src/views/monitor/IndexView.vue:335 +#: src/views/monitor/IndexView.vue:347 +#: src/views/toolbox/IndexView.vue:27 +#: src/views/toolbox/NetworkView.vue:75 msgid "Process" msgstr "進程" @@ -7755,7 +8121,8 @@ msgstr "15 分鐘" msgid "Usage %" msgstr "使用率 %" -#: src/views/monitor/IndexView.vue:493 src/views/toolbox/DiskView.vue:259 +#: src/views/monitor/IndexView.vue:493 +#: src/views/toolbox/DiskView.vue:259 msgid "Usage" msgstr "使用率" @@ -7763,7 +8130,8 @@ msgstr "使用率" msgid "Unit MB" msgstr "單位 MB" -#: src/views/monitor/IndexView.vue:695 src/views/monitor/IndexView.vue:704 +#: src/views/monitor/IndexView.vue:695 +#: src/views/monitor/IndexView.vue:704 msgid "Operation successful" msgstr "操作成功" @@ -7783,11 +8151,13 @@ msgstr "天" msgid "Collection Interval" msgstr "採集間隔" -#: src/views/monitor/IndexView.vue:727 src/views/setting/SettingSafe.vue:45 +#: src/views/monitor/IndexView.vue:727 +#: src/views/setting/SettingSafe.vue:45 msgid "minutes" msgstr "分鐘" -#: src/views/monitor/IndexView.vue:743 src/views/website/EditModal.vue:2101 +#: src/views/monitor/IndexView.vue:743 +#: src/views/website/EditModal.vue:2101 msgid "Are you sure you want to clear?" msgstr "確定要清除嗎?" @@ -7799,17 +8169,22 @@ msgstr "清除監控記錄" msgid "Load" msgstr "負載" -#: src/views/monitor/IndexView.vue:767 src/views/monitor/IndexView.vue:821 -#: src/views/monitor/IndexView.vue:873 src/views/monitor/IndexView.vue:929 +#: src/views/monitor/IndexView.vue:767 +#: src/views/monitor/IndexView.vue:821 +#: src/views/monitor/IndexView.vue:873 +#: src/views/monitor/IndexView.vue:929 #: src/views/monitor/IndexView.vue:996 #: src/views/website/stats/OverviewTab.vue:259 #: src/views/website/StatsView.vue:144 msgid "Yesterday" msgstr "昨天" -#: src/views/monitor/IndexView.vue:779 src/views/monitor/IndexView.vue:833 -#: src/views/monitor/IndexView.vue:885 src/views/monitor/IndexView.vue:941 -#: src/views/monitor/IndexView.vue:1008 src/views/website/StatsView.vue:147 +#: src/views/monitor/IndexView.vue:779 +#: src/views/monitor/IndexView.vue:833 +#: src/views/monitor/IndexView.vue:885 +#: src/views/monitor/IndexView.vue:941 +#: src/views/monitor/IndexView.vue:1008 +#: src/views/website/StatsView.vue:147 msgid "Last 7 Days" msgstr "近 7 天" @@ -7869,26 +8244,28 @@ 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 @@ -7919,14 +8296,18 @@ 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 "選擇框架" @@ -7939,12 +8320,14 @@ 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/project/CreateModal.vue:548 +#: src/views/website/CreateModal.vue:236 #: src/views/website/EditModal.vue:926 msgid "PHP Version" msgstr "PHP 版本" -#: src/views/project/CreateModal.vue:552 src/views/website/CreateModal.vue:240 +#: src/views/project/CreateModal.vue:552 +#: src/views/website/CreateModal.vue:240 #: src/views/website/EditModal.vue:931 msgid "Select PHP Version" msgstr "選擇 PHP 版本" @@ -7965,7 +8348,8 @@ 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 "選擇或輸入用戶" @@ -7973,13 +8357,15 @@ 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/IndexView.vue:26 +#: src/views/website/CreateModal.vue:28 +#: src/views/website/IndexView.vue:26 #: src/views/website/ListView.vue:126 msgid "Reverse Proxy" msgstr "反向代理" @@ -8028,9 +8414,12 @@ msgstr "文件(附加)" msgid "File (truncate)" msgstr "文件(截斷)" -#: src/views/project/EditModal.vue:72 src/views/setting/SettingBase.vue:187 -#: src/views/setting/SettingSafe.vue:246 src/views/website/EditModal.vue:778 -#: src/views/website/EditModal.vue:782 src/views/website/EditModal.vue:997 +#: src/views/project/EditModal.vue:72 +#: src/views/setting/SettingBase.vue:187 +#: src/views/setting/SettingSafe.vue:246 +#: src/views/website/EditModal.vue:778 +#: src/views/website/EditModal.vue:782 +#: src/views/website/EditModal.vue:997 msgid "Disabled" msgstr "禁用" @@ -8127,12 +8516,8 @@ 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" @@ -8167,9 +8552,7 @@ 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 @@ -8201,9 +8584,7 @@ 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 @@ -8227,11 +8608,8 @@ 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" @@ -8265,8 +8643,10 @@ 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/IndexView.vue:27 +#: src/views/project/IndexView.vue:26 +#: src/views/website/BulkCreateModal.vue:60 +#: src/views/website/CreateModal.vue:29 +#: src/views/website/IndexView.vue:27 #: src/views/website/ListView.vue:127 msgid "PHP" msgstr "PHP" @@ -8303,7 +8683,8 @@ 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 "輸入用戶密碼" @@ -8311,11 +8692,13 @@ 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:225 +#: src/views/setting/IndexView.vue:118 +#: src/views/website/EditModal.vue:225 msgid "Please wait..." msgstr "請稍候……" @@ -8363,14 +8746,13 @@ 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 @@ -8389,7 +8771,8 @@ 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 "面板名稱" @@ -8482,9 +8865,7 @@ 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 @@ -8496,26 +8877,19 @@ 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" @@ -8532,9 +8906,7 @@ 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 @@ -8542,12 +8914,8 @@ 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" @@ -8558,9 +8926,7 @@ 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 @@ -8568,9 +8934,7 @@ 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 @@ -8578,9 +8942,7 @@ 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 @@ -8588,38 +8950,24 @@ 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)" @@ -8633,16 +8981,14 @@ 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" @@ -8652,7 +8998,8 @@ 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 "訪問令牌" @@ -8680,19 +9027,23 @@ 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 "請選擇到期時間" @@ -8713,8 +9064,7 @@ 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 @@ -8725,29 +9075,33 @@ msgstr "代碼" msgid "Enter the code" msgstr "輸入代碼" -#: src/views/ssh/CreateModal.vue:53 src/views/ssh/IndexView.vue:533 +#: src/views/ssh/CreateModal.vue:53 +#: src/views/ssh/IndexView.vue:533 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:65 -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:121 @@ -8778,7 +9132,8 @@ msgstr "退出全螢幕" msgid "Fullscreen" msgstr "全螢幕" -#: src/views/ssh/IndexView.vue:527 src/views/toolbox/SystemView.vue:237 +#: src/views/ssh/IndexView.vue:527 +#: src/views/toolbox/SystemView.vue:237 msgid "Hosts" msgstr "Hosts" @@ -8830,17 +9185,20 @@ msgstr "日誌輪轉 - 網站" msgid "Log Rotation - Container" msgstr "日誌輪轉 - 容器" -#: src/views/task/CreateModal.vue:152 src/views/task/CreateModal.vue:338 +#: src/views/task/CreateModal.vue:152 +#: src/views/task/CreateModal.vue:338 #: src/views/task/CronView.vue:71 msgid "Log Rotation" msgstr "日誌輪替" -#: src/views/task/CreateModal.vue:157 src/views/task/CreateModal.vue:339 +#: src/views/task/CreateModal.vue:157 +#: src/views/task/CreateModal.vue:339 #: src/views/task/CronView.vue:68 msgid "Access URL" msgstr "訪問 URL" -#: src/views/task/CreateModal.vue:159 src/views/task/CreateModal.vue:340 +#: src/views/task/CreateModal.vue:159 +#: src/views/task/CreateModal.vue:340 #: src/views/task/CronView.vue:69 msgid "Sync Time" msgstr "同步時間" @@ -8853,25 +9211,32 @@ msgstr "創建計劃任務" msgid "Edit Scheduled Task" msgstr "編輯計劃任務" -#: src/views/task/CreateModal.vue:332 src/views/task/CronView.vue:57 +#: src/views/task/CreateModal.vue:332 +#: src/views/task/CronView.vue:57 msgid "Task Type" msgstr "任務類型" -#: src/views/task/CreateModal.vue:336 src/views/task/CronView.vue:66 +#: src/views/task/CreateModal.vue:336 +#: src/views/task/CronView.vue:66 msgid "Run Script" msgstr "運行腳本" -#: src/views/task/CreateModal.vue:337 src/views/task/CronView.vue:67 +#: src/views/task/CreateModal.vue:337 +#: src/views/task/CronView.vue:67 msgid "Backup Data" msgstr "備份數據" -#: src/views/task/CreateModal.vue:344 src/views/task/CreateModal.vue:345 -#: 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:344 +#: src/views/task/CreateModal.vue:345 +#: 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:352 src/views/task/CronView.vue:90 +#: src/views/task/CreateModal.vue:352 +#: src/views/task/CronView.vue:90 #: src/views/task/CronView.vue:321 msgid "Task Schedule" msgstr "任務週期" @@ -8880,14 +9245,14 @@ msgstr "任務週期" msgid "Retention Count" msgstr "保留數量" -#: src/views/task/CreateModal.vue:362 src/views/task/CronView.vue:324 +#: src/views/task/CreateModal.vue:362 +#: src/views/task/CronView.vue:324 msgid "Process Lock" msgstr "進程鎖" -#: src/views/task/CreateModal.vue:366 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:366 +#: 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:373 @@ -8910,7 +9275,8 @@ msgstr "標頭名稱" msgid "Header Value" msgstr "標頭值" -#: src/views/task/CreateModal.vue:418 src/views/task/CreateModal.vue:423 +#: src/views/task/CreateModal.vue:418 +#: src/views/task/CreateModal.vue:423 msgid "Request Body" msgstr "請求體" @@ -8954,7 +9320,8 @@ msgstr "Valkey" msgid "Rotation Type" msgstr "輪轉類型" -#: src/views/task/CreateModal.vue:497 src/views/task/CreateModal.vue:503 +#: src/views/task/CreateModal.vue:497 +#: src/views/task/CreateModal.vue:503 #: src/views/website/CreateModal.vue:252 msgid "Select Database" msgstr "選擇數據庫" @@ -8963,7 +9330,8 @@ msgstr "選擇數據庫" msgid "Enter directory path" msgstr "輸入目錄路徑" -#: src/views/task/CreateModal.vue:529 src/views/task/CreateModal.vue:535 +#: src/views/task/CreateModal.vue:529 +#: src/views/task/CreateModal.vue:535 msgid "Select Container" msgstr "選擇容器" @@ -8971,7 +9339,8 @@ msgstr "選擇容器" msgid "Select storage" msgstr "選擇儲存" -#: src/views/task/CronView.vue:76 src/views/toolbox/WebHookView.vue:91 +#: src/views/task/CronView.vue:76 +#: src/views/toolbox/WebHookView.vue:91 #: src/views/toolbox/WebHookView.vue:386 msgid "Enabled" msgstr "已啟用" @@ -9008,7 +9377,8 @@ msgstr "您確定要刪除所選任務嗎?" msgid "Completed" msgstr "已完成" -#: src/views/task/TaskView.vue:42 src/views/toolbox/ProcessView.vue:53 +#: src/views/task/TaskView.vue:42 +#: src/views/toolbox/ProcessView.vue:53 #: src/views/toolbox/ProcessView.vue:89 msgid "Waiting" msgstr "正在駐留等待" @@ -9041,11 +9411,8 @@ 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..." @@ -9123,7 +9490,8 @@ 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 "設備" @@ -9303,7 +9671,8 @@ msgstr "選擇一個磁盤" msgid "No SMART-capable disks found" msgstr "未找到支持 SMART 的磁盤" -#: 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 "基本信息" @@ -9331,7 +9700,8 @@ 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 "分區" @@ -9348,21 +9718,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 }?" @@ -9380,20 +9750,22 @@ 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 @@ -9409,12 +9781,8 @@ 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" @@ -9449,9 +9817,7 @@ 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 @@ -9459,8 +9825,7 @@ 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 @@ -9468,9 +9833,7 @@ 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 @@ -9486,11 +9849,8 @@ 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" @@ -9512,11 +9872,13 @@ 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 "選擇分區" @@ -9536,7 +9898,8 @@ 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 "格式化" @@ -9545,18 +9908,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 @@ -9575,7 +9938,8 @@ 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 "物理卷" @@ -9599,7 +9963,8 @@ 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 "創建物理卷" @@ -9607,7 +9972,8 @@ 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 "創建卷組" @@ -9623,7 +9989,8 @@ 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 "創建邏輯卷" @@ -9647,7 +10014,8 @@ 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 "擴展邏輯卷" @@ -9736,9 +10104,7 @@ 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 @@ -9783,9 +10149,7 @@ msgid "Environment check refreshed" msgstr "環境檢查已刷新" #: src/views/toolbox/MigrationView.vue:142 -msgid "" -"Web server mismatch: local is %{local}, remote is %{remote}. Migration " -"cannot proceed." +msgid "Web server mismatch: local is %{local}, remote is %{remote}. Migration cannot proceed." msgstr "Web 伺服器不匹配:本地為 %{local},遠程為 %{remote}。無法繼續遷移。" #: src/views/toolbox/MigrationView.vue:145 @@ -9794,18 +10158,12 @@ msgid "none" msgstr "none" #: src/views/toolbox/MigrationView.vue:160 -msgid "" -"%{type} is installed locally but not on the remote server. Related projects " -"may need reconfiguration." -msgstr "" -"%{type} 已在本地安裝,但未在遠程伺服器上安裝。相關項目可能需要重新配置。" +msgid "%{type} is installed locally but not on the remote server. Related projects may need reconfiguration." +msgstr "%{type} 已在本地安裝,但未在遠程伺服器上安裝。相關項目可能需要重新配置。" #: src/views/toolbox/MigrationView.vue:180 -msgid "" -"%{type} is installed locally but not on the remote server. Database " -"migration for this type will be skipped." -msgstr "" -"%{type} 已在本地安裝,但未在遠程伺服器上安裝。此類型的資料庫遷移將被跳過。" +msgid "%{type} is installed locally but not on the remote server. Database migration for this type will be skipped." +msgstr "%{type} 已在本地安裝,但未在遠程伺服器上安裝。此類型的資料庫遷移將被跳過。" #: src/views/toolbox/MigrationView.vue:248 msgid "Please select at least one item to migrate" @@ -9816,9 +10174,7 @@ msgid "Confirm Migration" msgstr "確認遷移" #: src/views/toolbox/MigrationView.vue:254 -msgid "" -"Are you sure you want to start migration? This will transfer the selected " -"items to the remote server." +msgid "Are you sure you want to start migration? This will transfer the selected items to the remote server." msgstr "您確定要開始遷移嗎?這將把選定的項目傳輸到遠程伺服器。" #: src/views/toolbox/MigrationView.vue:345 @@ -10017,13 +10373,8 @@ msgid "Reminder" msgstr "提醒" #: src/views/toolbox/MigrationView.vue:823 -msgid "" -"Some environments differ between local and remote servers. You may need to " -"adjust settings on the remote server otherwise related items may not work " -"properly after migration." -msgstr "" -"本地和遠程伺服器之間存在一些環境差異。您可能需要在遠程伺服器上調整設置,否則" -"相關項目在遷移後可能無法正常工作。" +msgid "Some environments differ between local and remote servers. You may need to adjust settings on the remote server otherwise related items may not work properly after migration." +msgstr "本地和遠程伺服器之間存在一些環境差異。您可能需要在遠程伺服器上調整設置,否則相關項目在遷移後可能無法正常工作。" #: src/views/toolbox/MigrationView.vue:834 msgid "Start New Migration" @@ -10065,7 +10416,8 @@ 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 "已分配" @@ -10085,7 +10437,8 @@ 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 "空閒" @@ -10166,15 +10519,18 @@ 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 "已鎖定" @@ -10218,15 +10574,18 @@ 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 "啟動時間" @@ -10334,7 +10693,8 @@ 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 密鑰已生成" @@ -10419,9 +10779,7 @@ 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 @@ -10469,9 +10827,7 @@ msgid "Enter hostname, e.g. myserver" msgstr "輸入主機名,例如 myserver" #: src/views/toolbox/SystemView.vue:254 -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:260 @@ -10507,15 +10863,11 @@ msgid "System NTP Server Configuration" msgstr "系統 NTP 服務器配置" #: src/views/toolbox/SystemView.vue:318 -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:325 -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:338 @@ -10526,7 +10878,8 @@ msgstr "輸入 NTP 服務器地址" msgid "Reset to Default" msgstr "重置為默認值" -#: 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 "原始輸出" @@ -10551,31 +10904,38 @@ 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 "腳本" @@ -10584,12 +10944,14 @@ msgid "Edit WebHook" msgstr "編輯 Web 掛鉤" #: src/views/website/BulkCreateModal.vue:32 -#: src/views/website/CreateModal.vue:57 src/views/website/EditModal.vue:83 +#: src/views/website/CreateModal.vue:57 +#: src/views/website/EditModal.vue:83 msgid "Not used" msgstr "未使用" #: src/views/website/BulkCreateModal.vue:61 -#: src/views/website/CreateModal.vue:30 src/views/website/IndexView.vue:28 +#: src/views/website/CreateModal.vue:30 +#: src/views/website/IndexView.vue:28 #: src/views/website/ListView.vue:128 msgid "Pure Static" msgstr "純靜態" @@ -10606,7 +10968,8 @@ 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 "批量創建網站" @@ -10623,9 +10986,7 @@ 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 @@ -10646,7 +11007,8 @@ msgid "Website %{ name } created successfully" msgstr "網站 %{ name } 創建成功" #: src/views/website/BulkCreateModal.vue:189 -#: src/views/website/CreateModal.vue:180 src/views/website/ListView.vue:120 +#: src/views/website/CreateModal.vue:180 +#: src/views/website/ListView.vue:120 msgid "Website Type" msgstr "網站類型" @@ -10656,27 +11018,19 @@ 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 @@ -10695,28 +11049,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:280 src/views/website/CreateModal.vue:285 +#: src/views/website/CreateModal.vue:280 +#: src/views/website/CreateModal.vue:285 msgid "Database User" 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 @@ -10727,7 +11080,8 @@ 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 "備註" @@ -10745,12 +11099,8 @@ msgid "Reset successfully" msgstr "重置成功" #: src/views/website/EditModal.vue:199 -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:216 msgid "Please select a DNS provider" @@ -10812,7 +11162,8 @@ msgstr "臨時重定向" msgid "Permanent Redirect" msgstr "永久重定向" -#: src/views/website/EditModal.vue:779 src/views/website/EditModal.vue:783 +#: src/views/website/EditModal.vue:779 +#: src/views/website/EditModal.vue:783 msgid "Default Path" msgstr "預設路徑" @@ -10856,7 +11207,8 @@ msgstr "上游" msgid "Upstream name" msgstr "上游名稱" -#: src/views/website/EditModal.vue:977 src/views/website/EditModal.vue:984 +#: src/views/website/EditModal.vue:977 +#: src/views/website/EditModal.vue:984 msgid "Round Robin (default)" msgstr "輪詢(默認)" @@ -10892,7 +11244,8 @@ msgstr "未配置上游" msgid "Proxies" msgstr "代理" -#: src/views/website/EditModal.vue:1079 src/views/website/EditModal.vue:1759 +#: src/views/website/EditModal.vue:1079 +#: src/views/website/EditModal.vue:1759 msgid "Rule" msgstr "規則" @@ -11004,7 +11357,8 @@ msgstr "自訂快取鍵,例如 $scheme$host$request_uri" msgid "Custom Request Headers" msgstr "自定義請求頭" -#: src/views/website/EditModal.vue:1273 src/views/website/EditModal.vue:1572 +#: src/views/website/EditModal.vue:1273 +#: src/views/website/EditModal.vue:1572 msgid "Header name" msgstr "請求頭" @@ -11032,7 +11386,8 @@ msgstr "替換內容" msgid "Add Replacement Rule" msgstr "添加替換規則" -#: src/views/website/EditModal.vue:1301 src/views/website/EditModal.vue:1831 +#: src/views/website/EditModal.vue:1301 +#: src/views/website/EditModal.vue:1831 msgid "Advanced Settings" msgstr "進階設定" @@ -11092,8 +11447,10 @@ msgstr "選擇重試條件" msgid "Max Tries" msgstr "最大重試次數" -#: src/views/website/EditModal.vue:1492 src/views/website/EditModal.vue:1507 -#: src/views/website/EditModal.vue:1883 src/views/website/EditModal.vue:1896 +#: src/views/website/EditModal.vue:1492 +#: src/views/website/EditModal.vue:1507 +#: src/views/website/EditModal.vue:1883 +#: src/views/website/EditModal.vue:1896 #: src/views/website/EditModal.vue:1909 msgid "Unlimited" msgstr "無限制" @@ -11255,11 +11612,13 @@ msgstr "啟用統計" msgid "Log Settings" msgstr "日誌設置" -#: src/views/website/EditModal.vue:1849 src/views/website/EditModal.vue:2066 +#: src/views/website/EditModal.vue:1849 +#: src/views/website/EditModal.vue:2066 msgid "Access Log" msgstr "訪問日誌" -#: src/views/website/EditModal.vue:1858 src/views/website/EditModal.vue:2082 +#: src/views/website/EditModal.vue:1858 +#: src/views/website/EditModal.vue:2082 msgid "Error Log" msgstr "錯誤日誌" @@ -11300,18 +11659,12 @@ msgid "Real IP" msgstr "真實 IP" #: src/views/website/EditModal.vue:1924 -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:1931 -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:1937 msgid "Enable" @@ -11346,8 +11699,7 @@ msgid "User Credentials" msgstr "使用者憑據" #: src/views/website/EditModal.vue:1991 -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:1999 @@ -11378,11 +11730,13 @@ msgstr "沒有自定義配置" msgid "Add Custom Config" msgstr "添加自定義配置" -#: src/views/website/EditModal.vue:2071 src/views/website/EditModal.vue:2087 +#: src/views/website/EditModal.vue:2071 +#: src/views/website/EditModal.vue:2087 msgid "All logs can be viewed by downloading the file" msgstr "所有日誌可通過下載文件查看" -#: src/views/website/EditModal.vue:2073 src/views/website/EditModal.vue:2089 +#: src/views/website/EditModal.vue:2073 +#: src/views/website/EditModal.vue:2089 msgid "view" msgstr "查看" @@ -11407,11 +11761,8 @@ msgid "Select DNS Provider" msgstr "選擇 DNS 提供商" #: src/views/website/EditModal.vue:2156 -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" @@ -11458,17 +11809,17 @@ 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:67 msgid "Default Page" msgstr "默認頁面" -#: src/views/website/SettingView.vue:77 src/views/website/SettingView.vue:92 -#: src/views/website/SettingView.vue:107 src/views/website/SettingView.vue:150 +#: src/views/website/SettingView.vue:77 +#: src/views/website/SettingView.vue:92 +#: src/views/website/SettingView.vue:107 +#: src/views/website/SettingView.vue:150 #: src/views/website/SettingView.vue:213 msgid "Save Changes" msgstr "保存更改" @@ -11490,15 +11841,11 @@ msgid "Default Settings" msgstr "預設設置" #: src/views/website/SettingView.vue:119 -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:126 -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:132 @@ -11510,9 +11857,7 @@ msgid "Statistics" msgstr "統計" #: src/views/website/SettingView.vue:159 -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:165 @@ -11551,7 +11896,8 @@ 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 @@ -11575,13 +11921,15 @@ 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 @@ -11604,12 +11952,14 @@ 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 "蜘蛛" @@ -11686,23 +12036,3 @@ msgstr "URIs" msgid "Slow Requests" msgstr "慢請求" -#~ msgid "Compressing..." -#~ msgstr "壓縮中……" - -#~ msgid "Compressed successfully" -#~ msgstr "壓縮成功" - -#~ msgid "Uncompressing..." -#~ msgstr "解壓中……" - -#~ msgid "Uncompressed successfully" -#~ msgstr "解壓成功" - -#~ msgid "Panel updating..." -#~ msgstr "面板更新中……" - -#~ msgid "Panel updated successfully" -#~ msgstr "面板更新成功" - -#~ msgid "Loading update information, please wait a moment" -#~ msgstr "正在加載更新資訊,請稍候"