From 83750d15c5791cacd34c7e8c93ad43cbdb1da061 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 20 Jul 2026 23:54:40 +0800 Subject: [PATCH] New Crowdin translations by GitHub Action (#1719) Co-authored-by: Crowdin Bot --- pkg/embed/locales/zh_CN/backend.po | 220 +- pkg/embed/locales/zh_TW/backend.po | 220 +- web/src/locales/zh_CN.po | 3258 +++++++++++++++------------- web/src/locales/zh_TW.po | 3237 +++++++++++++++------------ 4 files changed, 3840 insertions(+), 3095 deletions(-) diff --git a/pkg/embed/locales/zh_CN/backend.po b/pkg/embed/locales/zh_CN/backend.po index 7b4d078b..138be71e 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-07-20 14:01\n" +"PO-Revision-Date: 2026-07-20 15:54\n" #: internal/service/toolbox_log.go:258 msgid "%d images" @@ -35,7 +35,7 @@ msgstr "用户 %s 已禁用两步验证" msgid "2FA url: %s" msgstr "两步验证 URL: %s" -#: internal/service/environment_php.go:385 +#: internal/service/environment_php.go:387 msgid "APCu is a user-level cache for PHP, providing fast in-memory key-value storage" msgstr "APCu 是 PHP 的用户级缓存,提供快速的内存键值存储" @@ -165,7 +165,7 @@ msgstr "应用更新……" msgid "Backing up panel data..." msgstr "备份面板数据……" -#: internal/service/backup.go:72 +#: internal/service/backup.go:83 msgid "Backup %s: %s" msgstr "备份 %s: %s" @@ -239,7 +239,7 @@ msgstr "已发送字节" msgid "Bytes/sec" msgstr "每秒字节" -#: internal/service/environment_php.go:430 +#: internal/service/environment_php.go:432 msgid "Bzip2 is a library for compressing and decompressing files" msgstr "Bzip2 是一个压缩和解压文件的库" @@ -256,7 +256,7 @@ msgstr "命令" msgid "COPYRIGHT" msgstr "版权" -#: internal/service/environment_php.go:470 +#: internal/service/environment_php.go:472 msgid "Calendar is a library for handling dates" msgstr "Calendar 是一个用于处理日期的库" @@ -325,7 +325,7 @@ msgstr "集群状态" msgid "Commands Per Second" msgstr "每秒执行命令数" -#: internal/service/file.go:588 +#: internal/service/file.go:591 msgid "Compress %v" msgstr "压缩 %v" @@ -457,7 +457,7 @@ msgstr "下载失败:%v" msgid "Download file check failed" msgstr "下载文件检查失败" -#: internal/service/file.go:460 +#: internal/service/file.go:461 msgid "Download remote file %v" msgstr "下载远程文件 %v" @@ -465,7 +465,7 @@ msgstr "下载远程文件 %v" msgid "Downloading new version..." msgstr "正在下载新版本……" -#: internal/apps/prometheus/app.go:412 +#: internal/apps/prometheus/app.go:414 msgid "Elasticsearch metrics" msgstr "Elasticsearch 指标" @@ -477,7 +477,7 @@ msgstr "启用 HTTPS" msgid "Enable access entrance" msgstr "启用访问入口" -#: internal/service/environment_php.go:460 +#: internal/service/environment_php.go:462 msgid "Enchant is a spell-checking library" msgstr "Enchant 是一个拼写检查库" @@ -494,11 +494,11 @@ msgstr "入口已启用" msgid "Entrance: %s" msgstr "入口: %s" -#: internal/service/environment_php.go:440 +#: internal/service/environment_php.go:442 msgid "Event is a library for handling events" msgstr "Event 是一个用于处理事件的库" -#: internal/service/environment_php.go:395 +#: internal/service/environment_php.go:397 msgid "Exif is a library for reading and writing image metadata" msgstr "Exif 是一个用于读取和写入图像元数据的库" @@ -646,7 +646,7 @@ msgstr "同步分类数据失败:%v" msgid "Failed to update 2FA: %v" msgstr "更新两步验证失败: %v" -#: internal/service/environment_php.go:360 +#: internal/service/environment_php.go:362 msgid "Fileinfo is a library used to identify file types" msgstr "Fileinfo 是一个用于识别文件类型的库" @@ -690,7 +690,7 @@ msgstr "没有使用索引的范围 Join" msgid "GLOBAL OPTIONS" msgstr "全局选项" -#: internal/service/environment_php.go:475 +#: internal/service/environment_php.go:477 msgid "GMP is a library for handling large integers" msgstr "GMP 是一个用于处理大整数的库" @@ -706,7 +706,7 @@ msgstr "获取 AcePanel 服务状态" msgid "Get panel setting (use only under guidance)" msgstr "获取面板设置(仅在指导下使用)" -#: internal/service/environment_php.go:495 +#: internal/service/environment_php.go:497 msgid "Gettext is a library for handling multilingual support" msgstr "Gettext 是一个处理多语言支持的库" @@ -732,7 +732,7 @@ msgstr "HTTPS 已禁用" msgid "HTTPS enabled" msgstr "HTTPS 已启用" -#: internal/apps/prometheus/app.go:407 +#: internal/apps/prometheus/app.go:409 msgid "Hardware and OS metrics" msgstr "硬件和操作系统指标" @@ -744,7 +744,7 @@ msgstr "华为云" msgid "ID: %d, Username: %s, Email: %s, Created At: %s" msgstr "ID: %d, 用户名: %s, 邮箱: %s, 创建时间: %s" -#: internal/service/environment_php.go:420 +#: internal/service/environment_php.go:422 msgid "IMAP module allows PHP to read, search, delete, download, and manage emails" msgstr "IMAP 模块允许 PHP 读取、搜索、删除、下载和管理邮件" @@ -764,11 +764,11 @@ msgstr "如果您无法访问,请检查服务器的安全组和防火墙是否 msgid "If you still cannot access, try running `acepanel https off` to turn off panel HTTPS" msgstr "如果您仍然无法访问,请尝试运行 `acepanel https off` 关闭面板 HTTPS" -#: internal/service/environment_php.go:370 +#: internal/service/environment_php.go:372 msgid "Igbinary is a library for serializing and deserializing data" msgstr "Igbinary 是一个用于序列化和反序列化数据的库" -#: internal/service/environment_php.go:390 +#: internal/service/environment_php.go:392 msgid "ImageMagick is free software for creating, editing, and composing images" msgstr "ImageMagick 是一个创建、编辑、合成图片的免费软件" @@ -795,15 +795,15 @@ msgstr "Innodb 索引命中率" msgid "Insert Operations" msgstr "插入操作" -#: internal/service/environment_php.go:310 +#: internal/service/environment_php.go:311 msgid "Install PHP-%d %s module" msgstr "安装 PHP-%d %s 模块" -#: internal/apps/prometheus/app.go:266 +#: internal/apps/prometheus/app.go:267 msgid "Install Prometheus exporter %s" msgstr "安装 Prometheus exporter %s" -#: internal/biz/app.go:216 +#: internal/biz/app.go:217 msgid "Install app %s" msgstr "安装应用 %s" @@ -815,7 +815,7 @@ msgstr "安装应用" msgid "Install environment %s" msgstr "安装环境 %s" -#: internal/service/environment_php.go:490 +#: internal/service/environment_php.go:492 msgid "Intl is a library for handling internationalization and localization" msgstr "Intl 是一个处理国际化和本地化的库" @@ -827,7 +827,7 @@ msgstr "Java-%s 未安装" msgid "Journal logs" msgstr "Journal 日志" -#: internal/apps/prometheus/app.go:415 +#: internal/apps/prometheus/app.go:417 msgid "Kafka metrics" msgstr "Kafka 指标" @@ -841,7 +841,7 @@ msgstr "查找数据库键成功次数" msgid "Keyspace Misses" msgstr "查找数据库键失败次数" -#: internal/service/environment_php.go:455 +#: internal/service/environment_php.go:457 msgid "LDAP is a protocol for accessing directory services" msgstr "LDAP 是一种用于访问目录服务的协议" @@ -919,11 +919,11 @@ msgstr "达到进程上限次数" msgid "Max Listen Queue" msgstr "最大监听队列" -#: internal/service/environment_php.go:380 +#: internal/service/environment_php.go:382 msgid "Memcached is a driver for connecting to Memcached servers" msgstr "Memcached 是一个用于连接 Memcached 服务器的驱动程序" -#: internal/apps/prometheus/app.go:414 +#: internal/apps/prometheus/app.go:416 msgid "Memcached metrics" msgstr "Memcached 指标" @@ -949,7 +949,7 @@ msgstr "迁移完成" msgid "Migration started" msgstr "迁移已开始" -#: internal/apps/prometheus/app.go:411 +#: internal/apps/prometheus/app.go:413 msgid "MongoDB metrics" msgstr "MongoDB 指标" @@ -961,7 +961,7 @@ msgstr "移动 acepanel 文件失败:%v" msgid "Move panel file failed: %v" msgstr "移动面板文件失败:%v" -#: internal/apps/prometheus/app.go:409 +#: internal/apps/prometheus/app.go:411 msgid "MySQL database metrics" msgstr "MySQL 数据库指标" @@ -987,7 +987,7 @@ msgstr "NameSilo" msgid "New username cannot be empty" msgstr "新用户名不能为空" -#: internal/apps/prometheus/app.go:408 +#: internal/apps/prometheus/app.go:410 msgid "Nginx metrics" msgstr "Nginx 指标" @@ -1040,7 +1040,7 @@ msgstr "要保留的日志数量" msgid "OPTIONS" msgstr "选项" -#: internal/service/environment_php.go:365 +#: internal/service/environment_php.go:367 msgid "OPcache stores precompiled PHP script bytecode in shared memory to improve PHP performance" msgstr "OPcache 将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能" @@ -1096,12 +1096,12 @@ msgstr "网站使用的 PHP 版本(不填则不使用)" #: internal/service/environment_php.go:247 #: internal/service/environment_php.go:261 #: internal/service/environment_php.go:294 -#: internal/service/environment_php.go:328 +#: internal/service/environment_php.go:329 #: internal/service/environment_php.go:49 -#: internal/service/environment_php.go:610 -#: internal/service/environment_php.go:669 +#: internal/service/environment_php.go:612 +#: internal/service/environment_php.go:671 #: internal/service/environment_php.go:69 -#: internal/service/environment_php.go:732 +#: internal/service/environment_php.go:734 #: internal/service/environment_php.go:90 msgid "PHP-%d is not installed" msgstr "PHP-%d 未安装" @@ -1150,7 +1150,7 @@ msgstr "峰值连接数" msgid "Peak Memory Usage" msgstr "占用内存峰值" -#: internal/service/environment_php.go:375 +#: internal/service/environment_php.go:377 msgid "PhpRedis connects to and operates on data in Redis databases (requires the igbinary module installed above)" msgstr "PhpRedis 连接并操作 Redis 数据库上的数据(需先安装上面 igbinary 模块)" @@ -1190,7 +1190,7 @@ msgstr "端口范围错误" msgid "Port: %d" msgstr "端口:%d" -#: internal/apps/prometheus/app.go:410 +#: internal/apps/prometheus/app.go:412 msgid "PostgreSQL database metrics" msgstr "PostgreSQL 数据库指标" @@ -1214,7 +1214,7 @@ msgstr "进程 PID" msgid "Project" msgstr "项目" -#: internal/service/environment_php.go:465 +#: internal/service/environment_php.go:467 msgid "Pspell is a spell-checking library" msgstr "Pspell 是一个拼写检查库" @@ -1260,11 +1260,11 @@ msgstr "查询操作" msgid "Reading" msgstr "正在读取请求" -#: internal/service/environment_php.go:445 +#: internal/service/environment_php.go:447 msgid "Readline is a library for processing text" msgstr "Readline 是一个处理文本的库" -#: internal/apps/prometheus/app.go:413 +#: internal/apps/prometheus/app.go:415 msgid "Redis metrics" msgstr "Redis 指标" @@ -1309,7 +1309,7 @@ msgstr "每秒回滚" msgid "Rotation type" msgstr "轮转类型" -#: internal/service/environment_php.go:450 +#: internal/service/environment_php.go:452 msgid "SNMP is a protocol for network management" msgstr "SNMP 是一种用于网络管理的协议" @@ -1317,7 +1317,7 @@ msgstr "SNMP 是一种用于网络管理的协议" msgid "SSH log file not found" msgstr "未找到 SSH 日志文件" -#: internal/service/environment_php.go:435 +#: internal/service/environment_php.go:437 msgid "SSH2 is a library for connecting to SSH servers" msgstr "SSH2 是一个用于连接 SSH 服务器的库" @@ -1350,7 +1350,7 @@ msgstr "服务器类型" msgid "Server username" msgstr "服务器用户名" -#: internal/service/environment_php.go:745 +#: internal/service/environment_php.go:747 msgid "Session save handler is not files, cannot clean" msgstr "Session 保存处理程序不是 files,无法清理" @@ -1414,11 +1414,11 @@ msgstr "没有索引的子查询" msgid "Successfully obtained panel certificate via ACME" msgstr "成功通过 ACME 获取面板证书" -#: internal/service/environment_php.go:555 +#: internal/service/environment_php.go:557 msgid "Swoole is a PHP module for building high-performance asynchronous concurrent servers" msgstr "Swoole 是构建高性能异步并发服务器的 PHP 模块" -#: internal/service/environment_php.go:564 +#: internal/service/environment_php.go:566 msgid "Swow is a PHP module for building high-performance asynchronous concurrent servers" msgstr "Swow 是构建高性能异步并发服务器的 PHP 模块" @@ -1430,15 +1430,15 @@ msgstr "与云端同步 AcePanel 缓存数据" msgid "Sync server time with NTP" msgstr "与 NTP 同步服务器时间" -#: internal/service/environment_php.go:535 +#: internal/service/environment_php.go:537 msgid "Sysvmsg is a library for handling System V message queues" msgstr "Sysvmsg 是一个处理系统 V 消息队列的库" -#: internal/service/environment_php.go:540 +#: internal/service/environment_php.go:542 msgid "Sysvsem is a library for handling System V semaphores" msgstr "Sysvsem 是一个处理系统 V 信号的库" -#: internal/service/environment_php.go:545 +#: internal/service/environment_php.go:547 msgid "Sysvshm is a library for handling System V shared memory" msgstr "Sysvshm 是一个处理 V 共享内存的库" @@ -1560,19 +1560,19 @@ msgstr "无法在离线模式下更新应用列表缓存" msgid "Unassigned Shards" msgstr "未分配的分片" -#: internal/service/file.go:614 +#: internal/service/file.go:619 msgid "Uncompress %v" msgstr "解压 %v" -#: internal/service/environment_php.go:344 +#: internal/service/environment_php.go:346 msgid "Uninstall PHP-%d %s module" msgstr "卸载 PHP-%d %s 模块" -#: internal/apps/prometheus/app.go:293 +#: internal/apps/prometheus/app.go:295 msgid "Uninstall Prometheus exporter %s" msgstr "卸载 Prometheus exporter %s" -#: internal/biz/app.go:256 +#: internal/biz/app.go:258 msgid "Uninstall app %s" msgstr "卸载应用 %s" @@ -1612,7 +1612,7 @@ msgstr "更新 AcePanel 到最新版本" msgid "Update Operations" msgstr "更新操作" -#: internal/biz/app.go:298 +#: internal/biz/app.go:301 msgid "Update app %s" msgstr "更新应用 %s" @@ -1746,15 +1746,15 @@ msgstr "写入网站数据(仅在指导下使用)" msgid "Writing" msgstr "正在写入响应" -#: internal/service/environment_php.go:480 +#: internal/service/environment_php.go:482 msgid "XLSWriter is a high-performance library for reading and writing Excel files" msgstr "XLSWriter 是一个高性能读写 Excel 文件的库" -#: internal/service/environment_php.go:485 +#: internal/service/environment_php.go:487 msgid "XSL is a library for processing XML documents" msgstr "XSL 是用于处理 XML 文档的库" -#: internal/service/environment_php.go:425 +#: internal/service/environment_php.go:427 msgid "Zip is a library for handling ZIP files" msgstr "Zip 是一个用于处理 ZIP 文件的库" @@ -1766,8 +1766,8 @@ msgstr "应用 %s 已安装" msgid "app %s not found" msgstr "找不到应用 %s" -#: internal/biz/app.go:235 -#: internal/biz/app.go:275 +#: internal/biz/app.go:236 +#: internal/biz/app.go:277 #: internal/middleware/must_install.go:36 msgid "app %s not installed" msgstr "应用 %s 未安装" @@ -1824,6 +1824,10 @@ msgstr "无法下载目录" msgid "can't find %s database server, please add it first" msgstr "找不到 %s 数据库服务器,请先添加" +#: internal/service/file_share.go:52 +msgid "can't share a directory" +msgstr "无法分享目录" + #: internal/service/toolbox_disk.go:554 msgid "cannot delete root mount point" msgstr "无法删除根挂载点" @@ -1837,7 +1841,7 @@ msgstr "无法初始化系统磁盘" msgid "check server connection failed" msgstr "检查服务器连接失败" -#: internal/service/file.go:823 +#: internal/service/file.go:828 msgid "chunk hash mismatch" msgstr "分块哈希不匹配" @@ -1862,11 +1866,11 @@ msgid "could not find .sql backup file" msgstr "找不到 .sql 备份文件" #: internal/service/file.go:317 -#: internal/service/file.go:746 +#: internal/service/file.go:751 msgid "create directory error: %v" msgstr "创建目录错误:%v" -#: internal/service/file.go:866 +#: internal/service/file.go:871 msgid "create target file error: %v" msgstr "创建目标文件错误:%v" @@ -1941,7 +1945,7 @@ msgstr "磁盘空间不足,当前可用 %s" msgid "dump.rdb not found in backup file" msgstr "备份文件中找不到 dump.rdb" -#: internal/data/task.go:69 +#: internal/data/task.go:109 msgid "duplicate submission, please wait for the previous task to end" msgstr "重复提交,请等待前一个任务结束" @@ -1973,17 +1977,17 @@ msgid "expiration time must be less than 10 years" msgstr "到期时间必须小于 10 年" #: internal/apps/prometheus/app.go:259 -#: internal/apps/prometheus/app.go:286 -#: internal/apps/prometheus/app.go:308 -#: internal/apps/prometheus/app.go:324 -#: internal/apps/prometheus/app.go:340 -#: internal/apps/prometheus/app.go:356 -#: internal/apps/prometheus/app.go:375 +#: internal/apps/prometheus/app.go:287 +#: internal/apps/prometheus/app.go:310 +#: internal/apps/prometheus/app.go:326 +#: internal/apps/prometheus/app.go:342 +#: internal/apps/prometheus/app.go:358 +#: internal/apps/prometheus/app.go:377 msgid "exporter %s does not exist" msgstr "exporter %s 不存在" -#: internal/apps/prometheus/app.go:362 -#: internal/apps/prometheus/app.go:381 +#: internal/apps/prometheus/app.go:364 +#: internal/apps/prometheus/app.go:383 msgid "exporter %s has no configuration file" msgstr "exporter %s 没有配置文件" @@ -2252,7 +2256,7 @@ msgstr "获取磁盘空间失败: %v" msgid "failed to get elasticsearch status: %v" msgstr "获取 elasticsearch 状态失败:%v" -#: internal/service/file.go:487 +#: internal/service/file.go:489 msgid "failed to get file system info" msgstr "获取文件系统信息失败" @@ -2751,7 +2755,7 @@ msgstr "写入 Web 钩子脚本失败:%v" msgid "file is too large, please download it to view" msgstr "文件太大,请下载后查看" -#: internal/service/environment_php.go:500 +#: internal/service/environment_php.go:502 msgid "gRPC is a high-performance, open-source, and general-purpose RPC framework" msgstr "gRPC 是一个高性能、开源和通用的 RPC 框架" @@ -2759,7 +2763,7 @@ msgstr "gRPC 是一个高性能、开源和通用的 RPC 框架" msgid "get service port failed, please check if it is installed" msgstr "获取服务端口失败,请检查是否安装" -#: internal/service/file.go:800 +#: internal/service/file.go:805 msgid "get upload file error: %v" msgstr "获取上传文件错误:%v" @@ -2838,7 +2842,7 @@ msgstr "无效的类型" msgid "invalid user id, please login again" msgstr "无效的用户ID,请重新登录" -#: internal/service/environment_php.go:550 +#: internal/service/environment_php.go:552 msgid "ionCube is a professional-grade PHP encryption and decryption tool (must be installed after OPcache)" msgstr "ionCube 是一个专业级的 PHP 加密解密工具(需在 OPcache 之后安装)" @@ -2874,7 +2878,7 @@ msgstr "模块 %s 已存在" #: internal/apps/rsync/app.go:170 #: internal/apps/rsync/app.go:212 #: internal/service/environment_php.go:299 -#: internal/service/environment_php.go:333 +#: internal/service/environment_php.go:334 msgid "module %s does not exist" msgstr "模块 %s 不存在" @@ -2939,7 +2943,7 @@ msgstr "获取并保存证书" msgid "open file error: %v" msgstr "打开文件错误: %v" -#: internal/service/file.go:806 +#: internal/service/file.go:811 msgid "open upload file error: %v" msgstr "打开上传文件错误:%v" @@ -2991,7 +2995,7 @@ msgstr "路径不存在:%s" msgid "path is not a directory: %s" msgstr "路径不是目录:%s" -#: internal/service/file.go:793 +#: internal/service/file.go:798 msgid "path, file_name and file_hash are required" msgstr "path,file_name 和 file_hash 是必需的" @@ -3000,11 +3004,11 @@ msgstr "path,file_name 和 file_hash 是必需的" msgid "path, service or container is required" msgstr "路径、服务或容器是必填项" -#: internal/service/environment_php.go:405 +#: internal/service/environment_php.go:407 msgid "pdo_pgsql is a PDO driver for connecting to PostgreSQL (requires PostgreSQL installed)" msgstr "pdo_pgsql 是一个用于连接 PostgreSQL 的 PDO 驱动程序(需先安装 PostgreSQL)" -#: internal/service/environment_php.go:415 +#: internal/service/environment_php.go:417 msgid "pdo_sqlsrv is a PDO driver for connecting to SQL Server" msgstr "pdo_sqlsrv 是一个用于连接 SQL Server 的 PDO 驱动程序" @@ -3017,7 +3021,7 @@ msgstr "未找到 pgAdmin 凭据文件" msgid "pgAdmin port not found" msgstr "未找到 pgAdmin 端口" -#: internal/service/environment_php.go:400 +#: internal/service/environment_php.go:402 msgid "pgsql is a driver for connecting to PostgreSQL (requires PostgreSQL installed)" msgstr "pgsql 是一个用于连接 PostgreSQL 的驱动程序(需先安装 PostgreSQL)" @@ -3030,6 +3034,10 @@ msgstr "没有找到 phpMyAdmin 目录" msgid "phpMyAdmin port not found" msgstr "没有找到 phpMyAdmin 端口" +#: internal/data/task.go:57 +msgid "please cancel the task first" +msgstr "请先取消任务" + #: internal/service/toolbox_migration.go:250 msgid "please complete pre-check first" msgstr "请先完成预检" @@ -3065,23 +3073,23 @@ msgstr "项目迁移完成" msgid "project name already exists" msgstr "项目名已存在" -#: internal/service/environment_php.go:505 +#: internal/service/environment_php.go:507 msgid "protobuf is a library for serializing and deserializing data" msgstr "protobuf 是一个用于序列化和反序列化数据的库" -#: internal/service/environment_php.go:510 +#: internal/service/environment_php.go:512 msgid "rdkafka is a library for connecting to Apache Kafka" msgstr "rdkafka 是一个用于连接 Apache Kafka 的库" -#: internal/service/file.go:883 +#: internal/service/file.go:888 msgid "read chunk %d error: %v" msgstr "读取分块 %d 错误:%v" -#: internal/service/file.go:814 +#: internal/service/file.go:819 msgid "read chunk data error: %v" msgstr "读取分块数据错误:%v" -#: internal/service/file.go:755 +#: internal/service/file.go:760 msgid "read directory error: %v" msgstr "读取目录错误:%v" @@ -3117,7 +3125,7 @@ msgstr "运行目录不存在" msgid "s3 configuration error: %v" msgstr "S3 配置错误:%v" -#: internal/service/file.go:833 +#: internal/service/file.go:838 msgid "save chunk error: %v" msgstr "保存分块错误:%v" @@ -3150,6 +3158,20 @@ msgstr "会话已过期,请重新登录" msgid "sftp configuration error: %v" msgstr "SFTP 配置错误:%v" +#: internal/data/file_share.go:69 +#: internal/data/file_share.go:82 +msgid "share link download limit reached" +msgstr "分享链接已达下载次数上限" + +#: internal/data/file_share.go:64 +msgid "share link has expired" +msgstr "分享链接已过期" + +#: internal/data/file_share.go:61 +#: internal/service/file_share.go:99 +msgid "share link not found" +msgstr "分享链接不存在" + #: internal/data/user_token.go:142 msgid "signature expired" msgstr "签名已过期" @@ -3170,7 +3192,7 @@ msgstr "源路径与目标路径不能为空" msgid "sqlite does not support dropping tables from here" msgstr "sqlite 不支持从此处删除表" -#: internal/service/environment_php.go:410 +#: internal/service/environment_php.go:412 msgid "sqlsrv is a driver for connecting to SQL Server" msgstr "sqlsrv 是一个用于连接 SQL Server 的驱动程序" @@ -3227,7 +3249,7 @@ msgstr "从服务器 %s 同步" msgid "tamper protection is only supported on Linux" msgstr "防篡改仅支持 Linux" -#: internal/service/backup.go:106 +#: internal/service/backup.go:118 msgid "target backup %s already exists" msgstr "目标备份 %s 已存在" @@ -3236,11 +3258,19 @@ msgid "target is a directory" msgstr "目标是一个目录" #: internal/service/file.go:305 -#: internal/service/file.go:739 -#: internal/service/file.go:854 +#: internal/service/file.go:744 +#: internal/service/file.go:859 msgid "target path %s already exists" msgstr "目标路径 %s 已存在" +#: internal/data/task.go:88 +msgid "task has already finished" +msgstr "任务已结束" + +#: internal/data/task.go:83 +msgid "task is not waiting or running" +msgstr "任务不在等待或运行中" + #: internal/biz/template.go:75 msgid "template %s not found" msgstr "模板 %s 未找到" @@ -3319,7 +3349,7 @@ msgstr "不支持的 CA" msgid "unsupported database type: %s" msgstr "不支持的数据库类型:%s" -#: internal/service/backup.go:100 +#: internal/service/backup.go:112 msgid "unsupported file type" msgstr "不支持的文件类型" @@ -3447,7 +3477,7 @@ msgstr "通配符域名不能使用 HTTP 验证" msgid "wildcard domains require DNS verification, please select a DNS provider" msgstr "通配符域名需要 DNS 验证,请选择一个 DNS 提供商" -#: internal/service/file.go:889 +#: internal/service/file.go:894 msgid "write chunk %d error: %v" msgstr "写入分块 %d 错误:%v" @@ -3459,7 +3489,7 @@ msgstr "写入文件错误:%v" msgid "ws not allowed" msgstr "不允许 ws" -#: internal/service/environment_php.go:520 +#: internal/service/environment_php.go:522 msgid "xdebug is a library for debugging and profiling PHP code" msgstr "xdebug 是一个用于调试和分析 PHP 代码的库" @@ -3467,15 +3497,15 @@ msgstr "xdebug 是一个用于调试和分析 PHP 代码的库" msgid "xfs filesystem is not mounted, logical volume has been extended but filesystem was not resized" msgstr "xfs 文件系统未挂载,逻辑卷已扩展但文件系统未调整大小" -#: internal/service/environment_php.go:515 +#: internal/service/environment_php.go:517 msgid "xhprof is a library for performance profiling" msgstr "xhprof 是一个用于性能分析的库" -#: internal/service/environment_php.go:525 +#: internal/service/environment_php.go:527 msgid "yaml is a library for handling YAML" msgstr "yaml 是一个用于处理 YAML 的库" -#: internal/service/environment_php.go:530 +#: internal/service/environment_php.go:532 msgid "zstd is a library for compressing and decompressing files" msgstr "zstd 是一个压缩和解压文件的库" diff --git a/pkg/embed/locales/zh_TW/backend.po b/pkg/embed/locales/zh_TW/backend.po index 82505d32..825bf91c 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-07-20 14:01\n" +"PO-Revision-Date: 2026-07-20 15:54\n" #: internal/service/toolbox_log.go:258 msgid "%d images" @@ -35,7 +35,7 @@ msgstr "已停用使用者 %s 的兩步驟驗證" msgid "2FA url: %s" msgstr "兩步驗證 URL: %s" -#: internal/service/environment_php.go:385 +#: internal/service/environment_php.go:387 msgid "APCu is a user-level cache for PHP, providing fast in-memory key-value storage" msgstr "APCu 是 PHP 的使用者級快取,提供快速的記憶體鍵值儲存" @@ -165,7 +165,7 @@ msgstr "應用程式更新中……" msgid "Backing up panel data..." msgstr "備份面板資料……" -#: internal/service/backup.go:72 +#: internal/service/backup.go:83 msgid "Backup %s: %s" msgstr "備份 %s: %s" @@ -239,7 +239,7 @@ msgstr "已發送字節" msgid "Bytes/sec" msgstr "每秒字節" -#: internal/service/environment_php.go:430 +#: internal/service/environment_php.go:432 msgid "Bzip2 is a library for compressing and decompressing files" msgstr "Bzip2 是一個用於壓縮與解壓縮檔案的函式庫" @@ -256,7 +256,7 @@ msgstr "命令" msgid "COPYRIGHT" msgstr "版權" -#: internal/service/environment_php.go:470 +#: internal/service/environment_php.go:472 msgid "Calendar is a library for handling dates" msgstr "Calendar 是一個用於處理日期的庫" @@ -325,7 +325,7 @@ msgstr "叢集狀態" msgid "Commands Per Second" msgstr "每秒執行命令數" -#: internal/service/file.go:588 +#: internal/service/file.go:591 msgid "Compress %v" msgstr "壓縮 %v" @@ -457,7 +457,7 @@ msgstr "下載失敗:%v" msgid "Download file check failed" msgstr "下載檔案檢查失敗" -#: internal/service/file.go:460 +#: internal/service/file.go:461 msgid "Download remote file %v" msgstr "下載遠端檔案 %v" @@ -465,7 +465,7 @@ msgstr "下載遠端檔案 %v" msgid "Downloading new version..." msgstr "正在下載新版本……" -#: internal/apps/prometheus/app.go:412 +#: internal/apps/prometheus/app.go:414 msgid "Elasticsearch metrics" msgstr "Elasticsearch 指標" @@ -477,7 +477,7 @@ msgstr "啟用 HTTPS" msgid "Enable access entrance" msgstr "啟用存取入口" -#: internal/service/environment_php.go:460 +#: internal/service/environment_php.go:462 msgid "Enchant is a spell-checking library" msgstr "Enchant 是一個拼寫檢查庫" @@ -494,11 +494,11 @@ msgstr "入口已啟用" msgid "Entrance: %s" msgstr "入口: %s" -#: internal/service/environment_php.go:440 +#: internal/service/environment_php.go:442 msgid "Event is a library for handling events" msgstr "Event 是一個用於處理事件的庫" -#: internal/service/environment_php.go:395 +#: internal/service/environment_php.go:397 msgid "Exif is a library for reading and writing image metadata" msgstr "Exif 是一個用於讀寫影像中繼資料的函式庫" @@ -646,7 +646,7 @@ msgstr "同步分類資料失敗:%v" msgid "Failed to update 2FA: %v" msgstr "更新兩步驗證失敗: %v" -#: internal/service/environment_php.go:360 +#: internal/service/environment_php.go:362 msgid "Fileinfo is a library used to identify file types" msgstr "Fileinfo 是一個用於識別檔案類型的函式庫" @@ -690,7 +690,7 @@ msgstr "沒有使用索引的範圍 Join" msgid "GLOBAL OPTIONS" msgstr "全局選項" -#: internal/service/environment_php.go:475 +#: internal/service/environment_php.go:477 msgid "GMP is a library for handling large integers" msgstr "GMP 是一個用於處理大整數的庫" @@ -706,7 +706,7 @@ msgstr "取得 AcePanel 服務狀態" msgid "Get panel setting (use only under guidance)" msgstr "取得面板設定(僅在指導下使用)" -#: internal/service/environment_php.go:495 +#: internal/service/environment_php.go:497 msgid "Gettext is a library for handling multilingual support" msgstr "Gettext 是一個處理多語言支援的函式庫" @@ -732,7 +732,7 @@ msgstr "HTTPS 已停用" msgid "HTTPS enabled" msgstr "HTTPS 已啟用" -#: internal/apps/prometheus/app.go:407 +#: internal/apps/prometheus/app.go:409 msgid "Hardware and OS metrics" msgstr "硬體和作業系統指標" @@ -744,7 +744,7 @@ msgstr "華為雲" msgid "ID: %d, Username: %s, Email: %s, Created At: %s" msgstr "ID: %d, 使用者名稱: %s, 電子郵件: %s, 建立時間: %s" -#: internal/service/environment_php.go:420 +#: internal/service/environment_php.go:422 msgid "IMAP module allows PHP to read, search, delete, download, and manage emails" msgstr "IMAP 模組允許 PHP 讀取、搜尋、刪除、下載和管理郵件" @@ -764,11 +764,11 @@ msgstr "如果您無法存取,請檢查伺服器的安全群組和防火牆是 msgid "If you still cannot access, try running `acepanel https off` to turn off panel HTTPS" msgstr "如果您仍然無法存取,請嘗試執行 `acepanel https off` 關閉面板 HTTPS" -#: internal/service/environment_php.go:370 +#: internal/service/environment_php.go:372 msgid "Igbinary is a library for serializing and deserializing data" msgstr "Igbinary 是一個用於序列化與反序列化資料的函式庫" -#: internal/service/environment_php.go:390 +#: internal/service/environment_php.go:392 msgid "ImageMagick is free software for creating, editing, and composing images" msgstr "ImageMagick 是一套用於建立、編輯與合成影像的免費軟體" @@ -795,15 +795,15 @@ msgstr "Innodb 索引命中率" msgid "Insert Operations" msgstr "插入操作" -#: internal/service/environment_php.go:310 +#: internal/service/environment_php.go:311 msgid "Install PHP-%d %s module" msgstr "安裝 PHP-%d %s 模組" -#: internal/apps/prometheus/app.go:266 +#: internal/apps/prometheus/app.go:267 msgid "Install Prometheus exporter %s" msgstr "安裝 Prometheus exporter %s" -#: internal/biz/app.go:216 +#: internal/biz/app.go:217 msgid "Install app %s" msgstr "安裝應用 %s" @@ -815,7 +815,7 @@ msgstr "安裝應用程式" msgid "Install environment %s" msgstr "安裝環境 %s" -#: internal/service/environment_php.go:490 +#: internal/service/environment_php.go:492 msgid "Intl is a library for handling internationalization and localization" msgstr "Intl 是一個處理國際化和本地化的庫" @@ -827,7 +827,7 @@ msgstr "Java-%s 未安裝" msgid "Journal logs" msgstr "Journal 日誌" -#: internal/apps/prometheus/app.go:415 +#: internal/apps/prometheus/app.go:417 msgid "Kafka metrics" msgstr "Kafka 指標" @@ -841,7 +841,7 @@ msgstr "資料庫鍵查詢命中次數" msgid "Keyspace Misses" msgstr "資料庫鍵查詢未命中次數" -#: internal/service/environment_php.go:455 +#: internal/service/environment_php.go:457 msgid "LDAP is a protocol for accessing directory services" msgstr "LDAP 是一種用於存取目錄服務的協定" @@ -919,11 +919,11 @@ msgstr "達到處理程序上限次數" msgid "Max Listen Queue" msgstr "最大監聽佇列" -#: internal/service/environment_php.go:380 +#: internal/service/environment_php.go:382 msgid "Memcached is a driver for connecting to Memcached servers" msgstr "Memcached 是一個用於連接 Memcached 伺服器的驅動程式" -#: internal/apps/prometheus/app.go:414 +#: internal/apps/prometheus/app.go:416 msgid "Memcached metrics" msgstr "Memcached 指標" @@ -949,7 +949,7 @@ msgstr "遷移完成" msgid "Migration started" msgstr "遷移已開始" -#: internal/apps/prometheus/app.go:411 +#: internal/apps/prometheus/app.go:413 msgid "MongoDB metrics" msgstr "MongoDB 指標" @@ -961,7 +961,7 @@ msgstr "移動 acepanel 檔案失敗:%v" msgid "Move panel file failed: %v" msgstr "移動面板檔案失敗:%v" -#: internal/apps/prometheus/app.go:409 +#: internal/apps/prometheus/app.go:411 msgid "MySQL database metrics" msgstr "MySQL 資料庫指標" @@ -987,7 +987,7 @@ msgstr "NameSilo" msgid "New username cannot be empty" msgstr "新使用者名稱不能為空" -#: internal/apps/prometheus/app.go:408 +#: internal/apps/prometheus/app.go:410 msgid "Nginx metrics" msgstr "Nginx 指標" @@ -1040,7 +1040,7 @@ msgstr "要保留的日誌數量" msgid "OPTIONS" msgstr "選項" -#: internal/service/environment_php.go:365 +#: internal/service/environment_php.go:367 msgid "OPcache stores precompiled PHP script bytecode in shared memory to improve PHP performance" msgstr "OPcache 將 PHP 腳本預編譯的位元組碼儲存到共享記憶體中來提升 PHP 的效能" @@ -1096,12 +1096,12 @@ msgstr "網站使用的 PHP 版本(不填則不使用)" #: internal/service/environment_php.go:247 #: internal/service/environment_php.go:261 #: internal/service/environment_php.go:294 -#: internal/service/environment_php.go:328 +#: internal/service/environment_php.go:329 #: internal/service/environment_php.go:49 -#: internal/service/environment_php.go:610 -#: internal/service/environment_php.go:669 +#: internal/service/environment_php.go:612 +#: internal/service/environment_php.go:671 #: internal/service/environment_php.go:69 -#: internal/service/environment_php.go:732 +#: internal/service/environment_php.go:734 #: internal/service/environment_php.go:90 msgid "PHP-%d is not installed" msgstr "PHP-%d 未安裝" @@ -1150,7 +1150,7 @@ msgstr "峰值連接數" msgid "Peak Memory Usage" msgstr "佔用記憶體峰值" -#: internal/service/environment_php.go:375 +#: internal/service/environment_php.go:377 msgid "PhpRedis connects to and operates on data in Redis databases (requires the igbinary module installed above)" msgstr "PhpRedis 連接並操作 Redis 資料庫上的資料(需先安裝上面 igbinary 模組)" @@ -1190,7 +1190,7 @@ msgstr "連接埠範圍錯誤" msgid "Port: %d" msgstr "連接埠:%d" -#: internal/apps/prometheus/app.go:410 +#: internal/apps/prometheus/app.go:412 msgid "PostgreSQL database metrics" msgstr "PostgreSQL 資料庫指標" @@ -1214,7 +1214,7 @@ msgstr "處理程序 PID" msgid "Project" msgstr "項目" -#: internal/service/environment_php.go:465 +#: internal/service/environment_php.go:467 msgid "Pspell is a spell-checking library" msgstr "Pspell 是一個拼寫檢查庫" @@ -1260,11 +1260,11 @@ msgstr "查詢操作" msgid "Reading" msgstr "正在讀取" -#: internal/service/environment_php.go:445 +#: internal/service/environment_php.go:447 msgid "Readline is a library for processing text" msgstr "Readline 是一個處理文本的庫" -#: internal/apps/prometheus/app.go:413 +#: internal/apps/prometheus/app.go:415 msgid "Redis metrics" msgstr "Redis 指標" @@ -1309,7 +1309,7 @@ msgstr "每秒回滾" msgid "Rotation type" msgstr "旋轉類型" -#: internal/service/environment_php.go:450 +#: internal/service/environment_php.go:452 msgid "SNMP is a protocol for network management" msgstr "SNMP 是一種用於網路管理的協定" @@ -1317,7 +1317,7 @@ msgstr "SNMP 是一種用於網路管理的協定" msgid "SSH log file not found" msgstr "未找到 SSH 日誌檔案" -#: internal/service/environment_php.go:435 +#: internal/service/environment_php.go:437 msgid "SSH2 is a library for connecting to SSH servers" msgstr "SSH2 是一個用於連接 SSH 伺服器的程式庫" @@ -1350,7 +1350,7 @@ msgstr "伺服器類型" msgid "Server username" msgstr "伺服器使用者名稱" -#: internal/service/environment_php.go:745 +#: internal/service/environment_php.go:747 msgid "Session save handler is not files, cannot clean" msgstr "Session 儲存處理器不是 files,無法清理" @@ -1414,11 +1414,11 @@ msgstr "沒有索引的子查詢" msgid "Successfully obtained panel certificate via ACME" msgstr "已成功透過 ACME 取得面板憑證" -#: internal/service/environment_php.go:555 +#: internal/service/environment_php.go:557 msgid "Swoole is a PHP module for building high-performance asynchronous concurrent servers" msgstr "Swoole 是用於構建高效能非同步並行伺服器的 PHP 模組" -#: internal/service/environment_php.go:564 +#: internal/service/environment_php.go:566 msgid "Swow is a PHP module for building high-performance asynchronous concurrent servers" msgstr "Swow 是用於構建高效能非同步並行伺服器的 PHP 模組" @@ -1430,15 +1430,15 @@ msgstr "與雲端同步 AcePanel 快取資料" msgid "Sync server time with NTP" msgstr "與 NTP 同步伺服器時間" -#: internal/service/environment_php.go:535 +#: internal/service/environment_php.go:537 msgid "Sysvmsg is a library for handling System V message queues" msgstr "Sysvmsg 是一個處理系統 V 訊息佇列的庫" -#: internal/service/environment_php.go:540 +#: internal/service/environment_php.go:542 msgid "Sysvsem is a library for handling System V semaphores" msgstr "Sysvsem 是一個處理系統 V 信號的庫" -#: internal/service/environment_php.go:545 +#: internal/service/environment_php.go:547 msgid "Sysvshm is a library for handling System V shared memory" msgstr "Sysvshm 是一個處理系統 V 共享記憶體的庫" @@ -1560,19 +1560,19 @@ msgstr "無法在離線模式下更新應用程式列表快取" msgid "Unassigned Shards" msgstr "未分配的分片" -#: internal/service/file.go:614 +#: internal/service/file.go:619 msgid "Uncompress %v" msgstr "解壓 %v" -#: internal/service/environment_php.go:344 +#: internal/service/environment_php.go:346 msgid "Uninstall PHP-%d %s module" msgstr "卸載 PHP-%d %s 模組" -#: internal/apps/prometheus/app.go:293 +#: internal/apps/prometheus/app.go:295 msgid "Uninstall Prometheus exporter %s" msgstr "解除安裝 Prometheus exporter %s" -#: internal/biz/app.go:256 +#: internal/biz/app.go:258 msgid "Uninstall app %s" msgstr "卸載應用 %s" @@ -1612,7 +1612,7 @@ msgstr "更新 AcePanel 到最新版本" msgid "Update Operations" msgstr "更新操作" -#: internal/biz/app.go:298 +#: internal/biz/app.go:301 msgid "Update app %s" msgstr "更新應用 %s" @@ -1746,15 +1746,15 @@ msgstr "寫入網站資料(僅在指導下使用)" msgid "Writing" msgstr "正在寫入" -#: internal/service/environment_php.go:480 +#: internal/service/environment_php.go:482 msgid "XLSWriter is a high-performance library for reading and writing Excel files" msgstr "XLSWriter 是一個高效能讀寫 Excel 檔案的函式庫" -#: internal/service/environment_php.go:485 +#: internal/service/environment_php.go:487 msgid "XSL is a library for processing XML documents" msgstr "XSL 是用於處理 XML 文檔的庫" -#: internal/service/environment_php.go:425 +#: internal/service/environment_php.go:427 msgid "Zip is a library for handling ZIP files" msgstr "Zip 是一個用於處理 ZIP 檔案的函式庫" @@ -1766,8 +1766,8 @@ msgstr "應用 %s 已安裝" msgid "app %s not found" msgstr "找不到應用 %s" -#: internal/biz/app.go:235 -#: internal/biz/app.go:275 +#: internal/biz/app.go:236 +#: internal/biz/app.go:277 #: internal/middleware/must_install.go:36 msgid "app %s not installed" msgstr "應用程式 %s 未安裝" @@ -1824,6 +1824,10 @@ msgstr "無法下載目錄" msgid "can't find %s database server, please add it first" msgstr "找不到 %s 資料庫伺服器,請先新增" +#: internal/service/file_share.go:52 +msgid "can't share a directory" +msgstr "無法分享目錄" + #: internal/service/toolbox_disk.go:554 msgid "cannot delete root mount point" msgstr "無法刪除根掛載點" @@ -1837,7 +1841,7 @@ msgstr "無法初始化系統磁碟" msgid "check server connection failed" msgstr "檢查伺服器連接失敗" -#: internal/service/file.go:823 +#: internal/service/file.go:828 msgid "chunk hash mismatch" msgstr "分塊哈希不匹配" @@ -1862,11 +1866,11 @@ msgid "could not find .sql backup file" msgstr "找不到 .sql 備份檔案" #: internal/service/file.go:317 -#: internal/service/file.go:746 +#: internal/service/file.go:751 msgid "create directory error: %v" msgstr "建立目錄錯誤:%v" -#: internal/service/file.go:866 +#: internal/service/file.go:871 msgid "create target file error: %v" msgstr "建立目標檔案錯誤:%v" @@ -1941,7 +1945,7 @@ msgstr "磁碟空間不足,目前可用 %s" msgid "dump.rdb not found in backup file" msgstr "備份檔案中找不到 dump.rdb" -#: internal/data/task.go:69 +#: internal/data/task.go:109 msgid "duplicate submission, please wait for the previous task to end" msgstr "重複提交,請等待前一個任務結束" @@ -1973,17 +1977,17 @@ msgid "expiration time must be less than 10 years" msgstr "到期時間必須小於 10 年" #: internal/apps/prometheus/app.go:259 -#: internal/apps/prometheus/app.go:286 -#: internal/apps/prometheus/app.go:308 -#: internal/apps/prometheus/app.go:324 -#: internal/apps/prometheus/app.go:340 -#: internal/apps/prometheus/app.go:356 -#: internal/apps/prometheus/app.go:375 +#: internal/apps/prometheus/app.go:287 +#: internal/apps/prometheus/app.go:310 +#: internal/apps/prometheus/app.go:326 +#: internal/apps/prometheus/app.go:342 +#: internal/apps/prometheus/app.go:358 +#: internal/apps/prometheus/app.go:377 msgid "exporter %s does not exist" msgstr "exporter %s 不存在" -#: internal/apps/prometheus/app.go:362 -#: internal/apps/prometheus/app.go:381 +#: internal/apps/prometheus/app.go:364 +#: internal/apps/prometheus/app.go:383 msgid "exporter %s has no configuration file" msgstr "exporter %s 沒有設定檔" @@ -2252,7 +2256,7 @@ msgstr "無法取得磁碟空間:%v" msgid "failed to get elasticsearch status: %v" msgstr "取得 elasticsearch 狀態失敗:%v" -#: internal/service/file.go:487 +#: internal/service/file.go:489 msgid "failed to get file system info" msgstr "取得檔案系統資訊失敗" @@ -2751,7 +2755,7 @@ msgstr "寫入 Web 掛鉤腳本失敗:%v" msgid "file is too large, please download it to view" msgstr "檔案太大,請下載後查看" -#: internal/service/environment_php.go:500 +#: internal/service/environment_php.go:502 msgid "gRPC is a high-performance, open-source, and general-purpose RPC framework" msgstr "gRPC 是一個高性能、開源和通用的 RPC 框架" @@ -2759,7 +2763,7 @@ msgstr "gRPC 是一個高性能、開源和通用的 RPC 框架" msgid "get service port failed, please check if it is installed" msgstr "取得服務連接埠失敗,請檢查是否已安裝" -#: internal/service/file.go:800 +#: internal/service/file.go:805 msgid "get upload file error: %v" msgstr "取得上傳檔案錯誤:%v" @@ -2838,7 +2842,7 @@ msgstr "無效的類型" msgid "invalid user id, please login again" msgstr "無效的使用者 ID,請重新登入" -#: internal/service/environment_php.go:550 +#: internal/service/environment_php.go:552 msgid "ionCube is a professional-grade PHP encryption and decryption tool (must be installed after OPcache)" msgstr "ionCube 是一個專業級的 PHP 加密解密工具(需在 OPcache 之後安裝)" @@ -2874,7 +2878,7 @@ msgstr "模組 %s 已存在" #: internal/apps/rsync/app.go:170 #: internal/apps/rsync/app.go:212 #: internal/service/environment_php.go:299 -#: internal/service/environment_php.go:333 +#: internal/service/environment_php.go:334 msgid "module %s does not exist" msgstr "模組 %s 不存在" @@ -2939,7 +2943,7 @@ msgstr "取得並儲存憑證" msgid "open file error: %v" msgstr "開啟檔案錯誤:%v" -#: internal/service/file.go:806 +#: internal/service/file.go:811 msgid "open upload file error: %v" msgstr "開啟上傳檔案錯誤:%v" @@ -2991,7 +2995,7 @@ msgstr "路徑不存在:%s" msgid "path is not a directory: %s" msgstr "路徑不是目錄:%s" -#: internal/service/file.go:793 +#: internal/service/file.go:798 msgid "path, file_name and file_hash are required" msgstr "path,file_name 和 file_hash 是必需的" @@ -3000,11 +3004,11 @@ msgstr "path,file_name 和 file_hash 是必需的" msgid "path, service or container is required" msgstr "路徑、服務或容器是必填項" -#: internal/service/environment_php.go:405 +#: internal/service/environment_php.go:407 msgid "pdo_pgsql is a PDO driver for connecting to PostgreSQL (requires PostgreSQL installed)" msgstr "pdo_pgsql 是一個用於連接 PostgreSQL 的 PDO 驅動程序(需先安裝 PostgreSQL)" -#: internal/service/environment_php.go:415 +#: internal/service/environment_php.go:417 msgid "pdo_sqlsrv is a PDO driver for connecting to SQL Server" msgstr "pdo_sqlsrv 是一個用於連接 SQL Server 的 PDO 驅動程序" @@ -3017,7 +3021,7 @@ msgstr "未找到 pgAdmin 憑證檔案" msgid "pgAdmin port not found" msgstr "未找到 pgAdmin 連接埠" -#: internal/service/environment_php.go:400 +#: internal/service/environment_php.go:402 msgid "pgsql is a driver for connecting to PostgreSQL (requires PostgreSQL installed)" msgstr "pgsql 是一個用於連接 PostgreSQL 的驅動程序(需先安裝 PostgreSQL)" @@ -3030,6 +3034,10 @@ msgstr "未找到 phpMyAdmin 目錄" msgid "phpMyAdmin port not found" msgstr "未找到 phpMyAdmin 連接埠" +#: internal/data/task.go:57 +msgid "please cancel the task first" +msgstr "請先取消任務" + #: internal/service/toolbox_migration.go:250 msgid "please complete pre-check first" msgstr "請先完成預檢" @@ -3065,23 +3073,23 @@ msgstr "項目遷移完成" msgid "project name already exists" msgstr "項目名已存在" -#: internal/service/environment_php.go:505 +#: internal/service/environment_php.go:507 msgid "protobuf is a library for serializing and deserializing data" msgstr "protobuf 是一個用於序列化與反序列化資料的函式庫" -#: internal/service/environment_php.go:510 +#: internal/service/environment_php.go:512 msgid "rdkafka is a library for connecting to Apache Kafka" msgstr "rdkafka 是一個用於連接 Apache Kafka 的庫" -#: internal/service/file.go:883 +#: internal/service/file.go:888 msgid "read chunk %d error: %v" msgstr "讀取分塊 %d 錯誤:%v" -#: internal/service/file.go:814 +#: internal/service/file.go:819 msgid "read chunk data error: %v" msgstr "讀取分塊資料錯誤:%v" -#: internal/service/file.go:755 +#: internal/service/file.go:760 msgid "read directory error: %v" msgstr "讀取目錄錯誤:%v" @@ -3117,7 +3125,7 @@ msgstr "執行目錄不存在" msgid "s3 configuration error: %v" msgstr "S3 配置錯誤:%v" -#: internal/service/file.go:833 +#: internal/service/file.go:838 msgid "save chunk error: %v" msgstr "儲存分塊錯誤:%v" @@ -3150,6 +3158,20 @@ msgstr "工作階段已過期,請重新登入" msgid "sftp configuration error: %v" msgstr "SFTP 配置錯誤:%v" +#: internal/data/file_share.go:69 +#: internal/data/file_share.go:82 +msgid "share link download limit reached" +msgstr "分享連結已達下載次數上限" + +#: internal/data/file_share.go:64 +msgid "share link has expired" +msgstr "分享連結已過期" + +#: internal/data/file_share.go:61 +#: internal/service/file_share.go:99 +msgid "share link not found" +msgstr "分享連結不存在" + #: internal/data/user_token.go:142 msgid "signature expired" msgstr "簽名已過期" @@ -3170,7 +3192,7 @@ msgstr "來源路徑與目標路徑不能為空" msgid "sqlite does not support dropping tables from here" msgstr "sqlite 不支援從此處刪除表" -#: internal/service/environment_php.go:410 +#: internal/service/environment_php.go:412 msgid "sqlsrv is a driver for connecting to SQL Server" msgstr "sqlsrv 是一個用於連接 SQL Server 的驅動程序" @@ -3227,7 +3249,7 @@ msgstr "從伺服器 %s 同步" msgid "tamper protection is only supported on Linux" msgstr "防竄改僅支援 Linux" -#: internal/service/backup.go:106 +#: internal/service/backup.go:118 msgid "target backup %s already exists" msgstr "目標備份 %s 已存在" @@ -3236,11 +3258,19 @@ msgid "target is a directory" msgstr "目標是一個目錄" #: internal/service/file.go:305 -#: internal/service/file.go:739 -#: internal/service/file.go:854 +#: internal/service/file.go:744 +#: internal/service/file.go:859 msgid "target path %s already exists" msgstr "目標路徑 %s 已存在" +#: internal/data/task.go:88 +msgid "task has already finished" +msgstr "任務已結束" + +#: internal/data/task.go:83 +msgid "task is not waiting or running" +msgstr "任務不在等待或執行中" + #: internal/biz/template.go:75 msgid "template %s not found" msgstr "模板 %s 未找到" @@ -3319,7 +3349,7 @@ msgstr "不支援的 CA" msgid "unsupported database type: %s" msgstr "不支援的資料庫類型:%s" -#: internal/service/backup.go:100 +#: internal/service/backup.go:112 msgid "unsupported file type" msgstr "不支援的檔案類型" @@ -3447,7 +3477,7 @@ msgstr "萬用字元網域無法使用 HTTP 驗證" msgid "wildcard domains require DNS verification, please select a DNS provider" msgstr "萬用字元域名需要 DNS 驗證,請選擇一個 DNS 提供商" -#: internal/service/file.go:889 +#: internal/service/file.go:894 msgid "write chunk %d error: %v" msgstr "寫入分塊 %d 錯誤:%v" @@ -3459,7 +3489,7 @@ msgstr "寫入檔案錯誤:%v" msgid "ws not allowed" msgstr "不允許 ws" -#: internal/service/environment_php.go:520 +#: internal/service/environment_php.go:522 msgid "xdebug is a library for debugging and profiling PHP code" msgstr "xdebug 是一個用於偵錯與分析 PHP 程式碼的函式庫" @@ -3467,15 +3497,15 @@ msgstr "xdebug 是一個用於偵錯與分析 PHP 程式碼的函式庫" msgid "xfs filesystem is not mounted, logical volume has been extended but filesystem was not resized" msgstr "xfs 檔案系統未掛載,邏輯卷已擴展但檔案系統未調整大小" -#: internal/service/environment_php.go:515 +#: internal/service/environment_php.go:517 msgid "xhprof is a library for performance profiling" msgstr "xhprof 是一個用於性能分析的庫" -#: internal/service/environment_php.go:525 +#: internal/service/environment_php.go:527 msgid "yaml is a library for handling YAML" msgstr "yaml 是一個用於處理 YAML 的庫" -#: internal/service/environment_php.go:530 +#: internal/service/environment_php.go:532 msgid "zstd is a library for compressing and decompressing files" msgstr "zstd 是一個用於壓縮與解壓縮檔案的函式庫" diff --git a/web/src/locales/zh_CN.po b/web/src/locales/zh_CN.po index 9844376f..532c0858 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-07-20 14:12\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-20 15:54\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:25 -#: 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:25 +#: 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:686 +#: src/views/apps/nginx/NginxIndex.vue:799 +#: src/views/website/EditModal.vue:686 msgid "Seconds" msgstr "秒" #: src/components/common/CronSelector.vue:358 -#: src/views/apps/nginx/NginxIndex.vue:800 src/views/website/EditModal.vue:687 +#: src/views/apps/nginx/NginxIndex.vue:800 +#: src/views/website/EditModal.vue:687 msgid "Minutes" msgstr "分" #: src/components/common/CronSelector.vue:369 -#: src/views/apps/nginx/NginxIndex.vue:801 src/views/website/EditModal.vue:688 +#: src/views/apps/nginx/NginxIndex.vue:801 +#: src/views/website/EditModal.vue:688 msgid "Hours" msgstr "时" @@ -245,7 +260,8 @@ msgstr "最大化" #: src/components/common/DraggableWindow.vue:289 #: src/components/file-editor/EditorPane.vue:282 #: src/layouts/tab/components/ContextMenu.vue:29 -#: src/views/cert/ObtainModal.vue:183 src/views/ssh/IndexView.vue:506 +#: src/views/cert/ObtainModal.vue:183 +#: src/views/ssh/IndexView.vue:506 msgid "Close" msgstr "关闭" @@ -260,7 +276,8 @@ msgstr "当前状态无法保存" #: src/components/common/FileEditor.vue:94 #: src/components/file-editor/EditorPane.vue:190 #: src/components/file-editor/EditorToolbar.vue:38 -#: src/views/app/CustomModal.vue:44 src/views/apps/apache/IndexView.vue:46 +#: src/views/app/CustomModal.vue:44 +#: src/views/apps/apache/IndexView.vue:46 #: src/views/apps/clickhouse/ClickHouseConfigTuneView.vue:58 #: src/views/apps/clickhouse/IndexView.vue:57 #: src/views/apps/codeserver/IndexView.vue:26 @@ -269,7 +286,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 @@ -314,15 +332,22 @@ 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/tamper/IndexView.vue:53 -#: src/views/tamper/RuleModal.vue:70 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/tamper/IndexView.vue:53 +#: src/views/tamper/RuleModal.vue:70 +#: 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:168 msgid "Saved successfully" msgstr "保存成功" @@ -332,7 +357,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 "选择目录" @@ -342,7 +368,8 @@ msgstr "选择文件" #: src/components/common/PathSelector.vue:51 #: src/components/common/PathSelector.vue:395 -#: src/views/app/EnvironmentView.vue:36 src/views/app/InstalledView.vue:184 +#: src/views/app/EnvironmentView.vue:36 +#: src/views/app/InstalledView.vue:184 #: src/views/apps/fail2ban/IndexView.vue:41 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:72 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:206 @@ -351,25 +378,39 @@ msgstr "选择文件" #: src/views/apps/nginx/NginxIndex.vue:619 #: src/views/apps/nginx/NginxIndex.vue:705 #: src/views/apps/prometheus/PrometheusExportersView.vue:26 -#: src/views/apps/rsync/IndexView.vue:43 src/views/apps/rsync/IndexView.vue:263 +#: src/views/apps/rsync/IndexView.vue:43 +#: src/views/apps/rsync/IndexView.vue:263 #: src/views/apps/supervisor/IndexView.vue:56 #: src/views/apps/supervisor/IndexView.vue:392 -#: src/views/backup/StorageView.vue:66 src/views/backup/StorageView.vue:230 -#: src/views/backup/StorageView.vue:392 src/views/container/ComposeView.vue:59 -#: src/views/container/NetworkView.vue:48 src/views/container/VolumeView.vue:29 +#: src/views/backup/StorageView.vue:66 +#: src/views/backup/StorageView.vue:230 +#: src/views/backup/StorageView.vue:392 +#: src/views/container/ComposeView.vue:59 +#: src/views/container/NetworkView.vue:48 +#: src/views/container/VolumeView.vue:29 #: src/views/database/CreateServerModal.vue:108 #: src/views/database/ServerList.vue:66 -#: src/views/database/UpdateServerModal.vue:66 src/views/file/ListView.vue:1434 -#: src/views/file/PropertyModal.vue:27 src/views/file/ToolBar.vue:123 -#: 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/tamper/IndexView.vue:115 src/views/tamper/RuleModal.vue:99 -#: src/views/toolbox/LogView.vue:219 src/views/toolbox/MigrationView.vue:726 +#: src/views/database/UpdateServerModal.vue:66 +#: src/views/file/ListView.vue:1434 +#: src/views/file/PropertyModal.vue:27 +#: src/views/file/ToolBar.vue:123 +#: 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/tamper/IndexView.vue:115 +#: src/views/tamper/RuleModal.vue:99 +#: src/views/toolbox/LogView.vue:219 +#: src/views/toolbox/MigrationView.vue:726 #: src/views/toolbox/MigrationView.vue:813 -#: 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:2032 msgid "Name" msgstr "名称" @@ -378,37 +419,48 @@ msgstr "名称" msgid "Permissions" msgstr "权限" -#: src/components/common/PathSelector.vue:102 src/views/file/ListView.vue:1445 +#: src/components/common/PathSelector.vue:102 +#: src/views/file/ListView.vue:1445 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:1441 -#: src/views/file/PropertyModal.vue:39 src/views/file/ToolBar.vue:124 +#: src/views/database/RedisDataView.vue:116 +#: src/views/file/ListView.vue:1441 +#: src/views/file/PropertyModal.vue:39 +#: src/views/file/ToolBar.vue:124 #: src/views/toolbox/disk/RaidView.vue:95 -#: src/views/toolbox/disk/RaidView.vue:177 src/views/toolbox/DiskView.vue:233 +#: src/views/toolbox/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:1608 +#: src/components/common/PathSelector.vue:149 +#: src/views/file/ListView.vue:1608 msgid "Calculate" msgstr "计算" -#: src/components/common/PathSelector.vue:154 src/views/file/ListView.vue:1450 -#: src/views/file/PropertyModal.vue:51 src/views/file/ToolBar.vue:125 +#: src/components/common/PathSelector.vue:154 +#: src/views/file/ListView.vue:1450 +#: src/views/file/PropertyModal.vue:51 +#: src/views/file/ToolBar.vue:125 msgid "Modification Time" msgstr "修改时间" -#: src/components/common/PathSelector.vue:188 src/views/file/ListView.vue:1284 +#: src/components/common/PathSelector.vue:188 +#: src/views/file/ListView.vue:1284 #: src/views/file/PathInput.vue:43 msgid "Invalid path" msgstr "无效路径" -#: src/components/common/PathSelector.vue:248 src/views/file/ListView.vue:147 -#: src/views/file/ListView.vue:825 src/views/file/ToolBar.vue:46 +#: src/components/common/PathSelector.vue:248 +#: src/views/file/ListView.vue:147 +#: src/views/file/ListView.vue:825 +#: src/views/file/ToolBar.vue:46 msgid "Invalid name" msgstr "无效的名称" @@ -417,7 +469,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:118 @@ -426,19 +479,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:156 src/views/firewall/CreateForwardModal.vue:44 -#: src/views/setting/CreateModal.vue:22 src/views/setting/TokenModal.vue:117 -#: src/views/ssh/CreateModal.vue:41 src/views/task/CreateModal.vue:120 +#: src/views/file/ListView.vue:156 +#: src/views/firewall/CreateForwardModal.vue:44 +#: src/views/setting/CreateModal.vue:22 +#: src/views/setting/TokenModal.vue:117 +#: src/views/ssh/CreateModal.vue:41 +#: src/views/task/CreateModal.vue:120 #: src/views/toolbox/WebHookView.vue:249 msgid "Created successfully" msgstr "创建成功" #: src/components/common/PathSelector.vue:319 -#: src/views/file/PropertyModal.vue:34 src/views/file/ToolBar.vue:147 +#: src/views/file/PropertyModal.vue:34 +#: src/views/file/ToolBar.vue:147 msgid "File" msgstr "文件" -#: src/components/common/PathSelector.vue:320 src/views/file/ToolBar.vue:148 +#: src/components/common/PathSelector.vue:320 +#: src/views/file/ToolBar.vue:148 msgid "Folder" msgstr "文件夹" @@ -446,14 +504,17 @@ msgstr "文件夹" #: src/components/common/PathSelector.vue:387 #: src/views/app/TemplateDeployModal.vue:652 #: src/views/container/ContainerCreate.vue:638 -#: src/views/project/CreateModal.vue:693 src/views/setting/TokenModal.vue:270 -#: src/views/ssh/SftpBrowser.vue:160 src/views/toolbox/WebHookView.vue:356 +#: src/views/project/CreateModal.vue:693 +#: src/views/setting/TokenModal.vue:270 +#: src/views/ssh/SftpBrowser.vue:160 +#: src/views/toolbox/WebHookView.vue:356 #: src/views/website/BulkCreateModal.vue:240 #: src/views/website/CreateModal.vue:342 msgid "Create" msgstr "创建" -#: src/components/common/PathSelector.vue:333 src/views/file/PathInput.vue:155 +#: src/components/common/PathSelector.vue:333 +#: src/views/file/PathInput.vue:155 msgid "Root Directory" msgstr "根目录" @@ -465,14 +526,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 @@ -489,12 +557,16 @@ msgstr "根目录" #: src/views/database/RedisDataView.vue:378 #: src/views/database/RedisKeyModal.vue:130 #: src/views/database/UpdateServerModal.vue:124 -#: src/views/database/UpdateUserModal.vue:88 src/views/file/ToolBar.vue:230 +#: src/views/database/UpdateUserModal.vue:88 +#: src/views/file/ToolBar.vue:230 #: src/views/firewall/CreateForwardModal.vue:94 #: src/views/firewall/CreateIpModal.vue:125 -#: src/views/firewall/CreateModal.vue: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 "提交" @@ -517,7 +589,8 @@ msgstr "连接错误" #: src/components/common/PtyTerminalModal.vue:143 #: src/views/container/ImagePullModal.vue:93 -#: src/views/container/ImageView.vue:227 src/views/ssh/SftpPanel.vue:140 +#: src/views/container/ImageView.vue:227 +#: src/views/ssh/SftpPanel.vue:140 msgid "Failed to connect" msgstr "连接失败" @@ -530,25 +603,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:72 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:368 -#: src/views/toolbox/ProcessView.vue:242 src/views/toolbox/ProcessView.vue:247 +#: src/views/file/composables/usePaste.ts:72 +#: 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:368 +#: 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 @@ -566,32 +649,50 @@ msgstr "命令可能仍在运行。关闭窗口将终止命令。您确定吗? #: src/views/container/ContainerCreate.vue:635 #: 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:73 -#: src/views/file/composables/usePaste.ts:153 src/views/file/ListView.vue:312 -#: src/views/file/ListView.vue:851 src/views/file/ToolBar.vue:181 -#: src/views/file/UploadModal.vue: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/ssh/SftpPanel.vue:277 src/views/tamper/RuleModal.vue:124 -#: src/views/task/TaskView.vue:110 src/views/toolbox/DiskView.vue:356 -#: src/views/toolbox/DiskView.vue:378 src/views/toolbox/DiskView.vue:399 -#: src/views/toolbox/DiskView.vue:423 src/views/toolbox/DiskView.vue:446 -#: src/views/toolbox/DiskView.vue:464 src/views/toolbox/DiskView.vue:485 -#: src/views/toolbox/DiskView.vue:505 src/views/toolbox/DiskView.vue:527 -#: src/views/toolbox/DiskView.vue:548 src/views/toolbox/DiskView.vue:570 -#: src/views/toolbox/DiskView.vue:592 src/views/toolbox/MigrationView.vue:208 +#: src/views/file/composables/usePaste.ts:153 +#: src/views/file/ListView.vue:312 +#: src/views/file/ListView.vue:851 +#: src/views/file/ToolBar.vue:181 +#: src/views/file/UploadModal.vue: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/ssh/SftpPanel.vue:277 +#: src/views/tamper/RuleModal.vue:124 +#: src/views/task/TaskView.vue:110 +#: src/views/toolbox/DiskView.vue:356 +#: src/views/toolbox/DiskView.vue:378 +#: src/views/toolbox/DiskView.vue:399 +#: src/views/toolbox/DiskView.vue:423 +#: src/views/toolbox/DiskView.vue:446 +#: src/views/toolbox/DiskView.vue:464 +#: src/views/toolbox/DiskView.vue:485 +#: src/views/toolbox/DiskView.vue:505 +#: src/views/toolbox/DiskView.vue:527 +#: src/views/toolbox/DiskView.vue:548 +#: src/views/toolbox/DiskView.vue:570 +#: src/views/toolbox/DiskView.vue:592 +#: src/views/toolbox/MigrationView.vue:208 #: src/views/toolbox/MigrationView.vue:279 #: src/views/toolbox/MigrationView.vue:369 -#: src/views/toolbox/ProcessView.vue:248 src/views/website/EditModal.vue:2141 +#: src/views/toolbox/ProcessView.vue:248 +#: src/views/website/EditModal.vue:2141 msgid "Cancel" msgstr "取消" -#: src/components/common/PtyTerminalModal.vue:259 src/locales/menu.ts:21 +#: src/components/common/PtyTerminalModal.vue:259 +#: src/locales/menu.ts:21 #: src/views/container/ContainerView.vue:142 #: src/views/container/ContainerView.vue:669 -#: src/views/database/ServerList.vue:174 src/views/file/ListView.vue:422 -#: src/views/file/ListView.vue:1024 src/views/file/ToolBar.vue:156 +#: src/views/database/ServerList.vue:174 +#: src/views/file/ListView.vue:422 +#: src/views/file/ListView.vue:1024 +#: src/views/file/ToolBar.vue:156 msgid "Terminal" msgstr "终端" @@ -618,8 +719,10 @@ msgstr "跳转到底部" #: src/components/common/RealtimeLog.vue:306 #: src/components/file-editor/EditorToolbar.vue:190 #: src/components/file-editor/FileTree.vue:702 -#: src/components/system/SearchToolbar.vue:58 src/views/app/AppView.vue:258 -#: src/views/app/EnvironmentView.vue:248 src/views/app/TemplateView.vue:102 +#: src/components/system/SearchToolbar.vue:58 +#: src/views/app/AppView.vue:258 +#: src/views/app/EnvironmentView.vue:248 +#: src/views/app/TemplateView.vue:102 #: src/views/database/ElasticsearchDataView.vue:314 #: src/views/database/RedisDataView.vue:289 msgid "Search" @@ -641,10 +744,13 @@ msgstr "增大字体大小" msgid "No logs available" msgstr "暂无日志数据" -#: src/components/common/RealtimeLogModal.vue:37 src/locales/menu.ts:17 +#: src/components/common/RealtimeLogModal.vue:37 +#: src/locales/menu.ts:17 #: src/views/apps/supervisor/IndexView.vue:98 -#: src/views/container/ContainerView.vue:154 src/views/project/ListView.vue:168 -#: src/views/project/ListView.vue:334 src/views/task/CronView.vue:146 +#: src/views/container/ContainerView.vue:154 +#: src/views/project/ListView.vue:168 +#: src/views/project/ListView.vue:334 +#: src/views/task/CronView.vue:146 #: src/views/task/TaskView.vue:88 msgid "Logs" msgstr "日志" @@ -665,9 +771,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 "加载中……" @@ -675,8 +784,10 @@ msgstr "加载中……" #: src/components/common/ServiceStatus.vue:30 #: src/views/app/InstalledView.vue:30 #: src/views/apps/prometheus/PrometheusExportersView.vue:50 -#: src/views/project/ListView.vue:70 src/views/task/TaskView.vue:47 -#: src/views/toolbox/ProcessView.vue:48 src/views/toolbox/ProcessView.vue:77 +#: src/views/project/ListView.vue:70 +#: src/views/task/TaskView.vue:47 +#: src/views/toolbox/ProcessView.vue:48 +#: src/views/toolbox/ProcessView.vue:77 #: src/views/website/ListView.vue:135 msgid "Running" msgstr "运行中" @@ -684,8 +795,10 @@ msgstr "运行中" #: src/components/common/ServiceStatus.vue:30 #: src/views/app/InstalledView.vue:31 #: src/views/apps/prometheus/PrometheusExportersView.vue:51 -#: src/views/project/ListView.vue:72 src/views/tamper/IndexView.vue:233 -#: src/views/toolbox/ProcessView.vue:50 src/views/toolbox/ProcessView.vue:83 +#: src/views/project/ListView.vue:72 +#: src/views/tamper/IndexView.vue:233 +#: src/views/toolbox/ProcessView.vue:50 +#: src/views/toolbox/ProcessView.vue:83 msgid "Stopped" msgstr "已停止" @@ -696,7 +809,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 "启动成功" @@ -708,7 +822,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 "停止成功" @@ -770,7 +885,8 @@ msgstr "自启动已成功禁用" #: src/views/apps/supervisor/IndexView.vue:308 #: src/views/apps/valkey/IndexView.vue:62 #: src/views/container/ContainerView.vue:106 -#: src/views/environment/PHPView.vue:189 src/views/tamper/IndexView.vue:229 +#: src/views/environment/PHPView.vue:189 +#: src/views/tamper/IndexView.vue:229 msgid "Running Status" msgstr "运行状态" @@ -787,7 +903,8 @@ msgstr "自启动关闭" #: src/views/apps/supervisor/IndexView.vue:120 #: src/views/container/ComposeView.vue:160 #: src/views/container/ContainerView.vue:181 -#: src/views/container/ContainerView.vue:593 src/views/project/ListView.vue:130 +#: src/views/container/ContainerView.vue:593 +#: src/views/project/ListView.vue:130 #: src/views/toolbox/MigrationView.vue:278 msgid "Start" msgstr "启动" @@ -801,7 +918,8 @@ msgstr "您确定要停止 %{ service } 吗?" #: src/views/apps/supervisor/IndexView.vue:141 #: src/views/container/ComposeView.vue:189 #: src/views/container/ContainerView.vue:186 -#: src/views/container/ContainerView.vue:596 src/views/project/ListView.vue:130 +#: src/views/container/ContainerView.vue:596 +#: src/views/project/ListView.vue:130 msgid "Stop" msgstr "停止" @@ -809,7 +927,8 @@ msgstr "停止" #: src/views/apps/prometheus/PrometheusExportersView.vue:103 #: src/views/apps/supervisor/IndexView.vue:159 #: src/views/container/ContainerView.vue:191 -#: src/views/container/ContainerView.vue:599 src/views/home/IndexView.vue:555 +#: src/views/container/ContainerView.vue:599 +#: src/views/home/IndexView.vue:555 #: src/views/project/ListView.vue:145 msgid "Restart" msgstr "重启" @@ -842,7 +961,8 @@ msgstr "放弃" #: src/components/file-editor/EditorPane.vue:198 #: src/components/file-editor/EditorToolbar.vue:153 -#: src/views/app/CustomModal.vue:104 src/views/apps/apache/IndexView.vue:92 +#: src/views/app/CustomModal.vue:104 +#: src/views/apps/apache/IndexView.vue:92 #: src/views/apps/clickhouse/ClickHouseConfigTuneView.vue:91 #: src/views/apps/clickhouse/ClickHouseConfigTuneView.vue:116 #: src/views/apps/clickhouse/ClickHouseConfigTuneView.vue:138 @@ -855,8 +975,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 @@ -928,22 +1050,32 @@ msgstr "放弃" #: src/views/apps/valkey/ValkeyConfigTuneView.vue:205 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:230 #: src/views/container/ContainerCreate.vue:638 -#: src/views/environment/GoView.vue:90 src/views/environment/NodejsView.vue:93 +#: src/views/environment/GoView.vue:90 +#: src/views/environment/NodejsView.vue:93 #: src/views/environment/PhpConfigTuneView.vue:274 #: src/views/environment/PhpConfigTuneView.vue:305 #: src/views/environment/PhpConfigTuneView.vue:376 #: src/views/environment/PhpConfigTuneView.vue:421 #: src/views/environment/PhpConfigTuneView.vue:486 #: src/views/environment/PhpConfigTuneView.vue:561 -#: src/views/environment/PHPView.vue:236 src/views/environment/PHPView.vue:254 -#: src/views/environment/PythonView.vue:97 src/views/file/EditModal.vue:89 -#: src/views/firewall/SettingView.vue:136 src/views/project/EditModal.vue:582 -#: src/views/setting/IndexView.vue:169 src/views/tamper/RuleModal.vue:126 -#: 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:2150 +#: src/views/environment/PHPView.vue:236 +#: src/views/environment/PHPView.vue:254 +#: src/views/environment/PythonView.vue:97 +#: src/views/file/EditModal.vue:89 +#: src/views/firewall/SettingView.vue:136 +#: src/views/project/EditModal.vue:582 +#: src/views/setting/IndexView.vue:169 +#: src/views/tamper/RuleModal.vue:126 +#: 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:2150 msgid "Save" msgstr "保存" @@ -1020,13 +1152,20 @@ msgstr "此文件有未保存的更改。刷新将丢弃它们。是否继续? #: src/components/file-editor/EditorToolbar.vue:174 #: src/components/file-editor/FileTree.vue:680 #: 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/ssh/SftpBrowser.vue:138 -#: src/views/tamper/IndexView.vue:376 src/views/toolbox/MigrationView.vue:610 -#: 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/ssh/SftpBrowser.vue:138 +#: src/views/tamper/IndexView.vue:376 +#: src/views/toolbox/MigrationView.vue:610 +#: 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 "刷新" @@ -1076,8 +1215,10 @@ msgid "Toggle Minimap" msgstr "切换小地图" #: src/components/file-editor/EditorToolbar.vue:260 -#: src/views/firewall/IndexView.vue:26 src/views/ssh/IndexView.vue:521 -#: src/views/tamper/IndexView.vue:217 src/views/website/IndexView.vue:30 +#: src/views/firewall/IndexView.vue:26 +#: src/views/ssh/IndexView.vue:521 +#: src/views/tamper/IndexView.vue:217 +#: src/views/website/IndexView.vue:30 msgid "Settings" msgstr "设置" @@ -1152,14 +1293,22 @@ msgid "Render Whitespace" msgstr "渲染空格" #: src/components/file-editor/FileEditorView.vue:225 -#: 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:57 -#: src/views/database/ServerList.vue:78 src/views/database/ServerList.vue:93 -#: src/views/database/UserList.vue:28 src/views/database/UserList.vue:68 -#: src/views/firewall/ForwardView.vue:27 src/views/firewall/IpRuleView.vue:27 -#: src/views/firewall/IpRuleView.vue:44 src/views/firewall/RuleView.vue:44 -#: src/views/firewall/RuleView.vue:61 src/views/toolbox/MigrationView.vue:501 +#: 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:57 +#: src/views/database/ServerList.vue:78 +#: src/views/database/ServerList.vue:93 +#: src/views/database/UserList.vue:28 +#: src/views/database/UserList.vue:68 +#: src/views/firewall/ForwardView.vue:27 +#: src/views/firewall/IpRuleView.vue:27 +#: src/views/firewall/IpRuleView.vue:44 +#: src/views/firewall/RuleView.vue:44 +#: src/views/firewall/RuleView.vue:61 +#: src/views/toolbox/MigrationView.vue:501 #: src/views/toolbox/MigrationView.vue:502 #: src/views/toolbox/MigrationView.vue:581 #: src/views/toolbox/MigrationView.vue:596 @@ -1179,9 +1328,12 @@ msgid "Trailing" msgstr "尾部" #: src/components/file-editor/FileEditorView.vue:229 -#: src/views/app/AppView.vue:243 src/views/app/EnvironmentView.vue:233 -#: 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:243 +#: src/views/app/EnvironmentView.vue:233 +#: 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 "全部" @@ -1278,12 +1430,14 @@ msgstr "输入时格式化" msgid "Failed to create" msgstr "创建失败" -#: src/components/file-editor/FileTree.vue:360 src/views/file/ListView.vue:1471 +#: src/components/file-editor/FileTree.vue:360 +#: src/views/file/ListView.vue:1471 #: src/views/file/ListView.vue:1492 msgid "Folder name" msgstr "文件夹名" -#: src/components/file-editor/FileTree.vue:360 src/views/file/ListView.vue:1471 +#: src/components/file-editor/FileTree.vue:360 +#: src/views/file/ListView.vue:1471 #: src/views/file/ListView.vue:1492 msgid "File name" msgstr "文件名" @@ -1293,8 +1447,10 @@ msgstr "文件名" #: src/views/container/ContainerView.vue:640 #: src/views/database/RedisDataView.vue:168 #: src/views/file/composables/usePaste.ts:48 -#: src/views/file/composables/usePaste.ts:164 src/views/file/ListView.vue:420 -#: src/views/file/ListView.vue:1664 src/views/file/UploadModal.vue:749 +#: src/views/file/composables/usePaste.ts:164 +#: src/views/file/ListView.vue:420 +#: src/views/file/ListView.vue:1664 +#: src/views/file/UploadModal.vue:749 #: src/views/file/UploadModal.vue:783 msgid "Rename" msgstr "重命名" @@ -1312,39 +1468,59 @@ 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:211 #: src/views/container/ContainerView.vue:611 -#: 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:378 -#: src/views/file/ListView.vue:434 src/views/file/ListView.vue:1675 -#: src/views/file/ToolBar.vue:198 src/views/firewall/ForwardView.vue:98 -#: src/views/firewall/ForwardView.vue:162 src/views/firewall/IpRuleView.vue:140 -#: src/views/firewall/IpRuleView.vue:204 src/views/firewall/RuleView.vue:248 -#: src/views/firewall/RuleView.vue:333 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:614 src/views/tamper/IndexView.vue:148 -#: src/views/task/CronView.vue:169 src/views/task/IndexView.vue:41 -#: src/views/task/TaskView.vue:127 src/views/toolbox/WebHookView.vue:172 -#: src/views/website/ListView.vue:305 src/views/website/ListView.vue:423 +#: src/views/database/ServerList.vue:247 +#: src/views/database/UserList.vue:165 +#: src/views/environment/PHPView.vue:107 +#: src/views/file/ListView.vue:378 +#: src/views/file/ListView.vue:434 +#: src/views/file/ListView.vue:1675 +#: src/views/file/ToolBar.vue:198 +#: src/views/firewall/ForwardView.vue:98 +#: src/views/firewall/ForwardView.vue:162 +#: src/views/firewall/IpRuleView.vue:140 +#: src/views/firewall/IpRuleView.vue:204 +#: src/views/firewall/RuleView.vue:248 +#: src/views/firewall/RuleView.vue:333 +#: 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:614 +#: src/views/tamper/IndexView.vue:148 +#: src/views/task/CronView.vue:169 +#: src/views/task/IndexView.vue:41 +#: src/views/task/TaskView.vue:127 +#: src/views/toolbox/WebHookView.vue:172 +#: src/views/website/ListView.vue:305 +#: src/views/website/ListView.vue:423 msgid "Delete" msgstr "删除" -#: src/components/file-editor/FileTree.vue:463 src/views/file/ListView.vue:412 -#: src/views/file/ListView.vue:1659 src/views/monitor/IndexView.vue:602 +#: src/components/file-editor/FileTree.vue:463 +#: src/views/file/ListView.vue:412 +#: src/views/file/ListView.vue:1659 +#: src/views/monitor/IndexView.vue:602 #: src/views/toolbox/SshView.vue:345 msgid "Download" msgstr "下载" @@ -1364,7 +1540,8 @@ msgstr "重命名失败" #: src/components/file-editor/FileTree.vue:588 #: src/views/apps/nginx/NginxIndex.vue:211 -#: src/views/apps/nginx/NginxIndex.vue:275 src/views/file/ListView.vue:894 +#: src/views/apps/nginx/NginxIndex.vue:275 +#: src/views/file/ListView.vue:894 #: src/views/file/ListView.vue:1669 msgid "Are you sure you want to delete %{ name }?" msgstr "您确定要删除 %{ name } 吗?" @@ -1375,9 +1552,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 @@ -1385,17 +1564,26 @@ msgstr "您确定要删除 %{ name } 吗?" #: src/views/database/ElasticsearchDataView.vue:241 #: src/views/database/ElasticsearchDataView.vue:250 #: src/views/database/RedisDataView.vue:211 -#: src/views/database/ServerList.vue:269 src/views/database/UserList.vue:185 +#: src/views/database/ServerList.vue:269 +#: src/views/database/UserList.vue:185 #: src/views/file/composables/useFileOps.ts:31 #: 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:290 -#: src/views/firewall/RuleView.vue:308 src/views/project/ListView.vue:268 -#: src/views/project/ListView.vue:278 src/views/setting/PasskeyModal.vue:96 -#: src/views/setting/SettingUser.vue:173 src/views/setting/TokenModal.vue:106 -#: src/views/tamper/IndexView.vue:109 src/views/task/CronView.vue:231 -#: src/views/task/CronView.vue:241 src/views/task/TaskView.vue:149 -#: src/views/toolbox/WebHookView.vue:225 src/views/website/ListView.vue:379 +#: src/views/firewall/ForwardView.vue:137 +#: src/views/firewall/IpRuleView.vue:161 +#: src/views/firewall/IpRuleView.vue:179 +#: src/views/firewall/RuleView.vue:290 +#: src/views/firewall/RuleView.vue:308 +#: src/views/project/ListView.vue:268 +#: src/views/project/ListView.vue:278 +#: src/views/setting/PasskeyModal.vue:96 +#: src/views/setting/SettingUser.vue:173 +#: src/views/setting/TokenModal.vue:106 +#: src/views/tamper/IndexView.vue:109 +#: src/views/task/CronView.vue:231 +#: src/views/task/CronView.vue:241 +#: src/views/task/TaskView.vue:149 +#: src/views/toolbox/WebHookView.vue:225 +#: src/views/website/ListView.vue:379 #: src/views/website/ListView.vue:389 msgid "Deleted successfully" msgstr "删除成功" @@ -1408,15 +1596,18 @@ msgstr "删除失败" msgid "Go Up" msgstr "上一级" -#: src/components/file-editor/FileTree.vue:687 src/views/file/ListView.vue:359 +#: src/components/file-editor/FileTree.vue:687 +#: src/views/file/ListView.vue:359 msgid "New File" msgstr "新文件" -#: src/components/file-editor/FileTree.vue:688 src/views/file/ListView.vue:360 +#: src/components/file-editor/FileTree.vue:688 +#: src/views/file/ListView.vue:360 msgid "New Folder" msgstr "新文件夹" -#: src/components/file-editor/FileTree.vue:692 src/views/file/ToolBar.vue:152 +#: src/components/file-editor/FileTree.vue:692 +#: src/views/file/ToolBar.vue:152 msgid "New" msgstr "新建" @@ -1438,7 +1629,8 @@ msgstr "无数据" msgid "selected" msgstr "已选择" -#: src/components/system/BatchActions.vue:70 src/views/file/ListView.vue:1709 +#: src/components/system/BatchActions.vue:70 +#: src/views/file/ListView.vue:1709 msgid "Clear" msgstr "清除" @@ -1446,7 +1638,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 "已复制" @@ -1457,9 +1650,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:374 src/views/file/ListView.vue:408 -#: src/views/file/ListView.vue:1004 src/views/file/ToolBar.vue:187 +#: src/views/database/ServerList.vue:106 +#: src/views/database/UserList.vue:56 +#: src/views/file/ListView.vue:374 +#: src/views/file/ListView.vue:408 +#: src/views/file/ListView.vue:1004 +#: src/views/file/ToolBar.vue:187 msgid "Copy" msgstr "复制" @@ -1490,9 +1686,7 @@ msgid "Panel encountered a fault: %{key}" msgstr "面板遇到故障:%{key}" #: src/components/system/HealthBanner.vue:37 -msgid "" -"Try running \"acepanel fix\" on the server to detect and rebuild the broken " -"database file." +msgid "Try running \"acepanel fix\" on the server to detect and rebuild the broken database file." msgstr "尝试在服务器上运行「acepanel fix」来检测并重建损坏的数据库文件。" #: src/components/system/TableLayout.vue:86 @@ -1539,7 +1733,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 "更改密码" @@ -1560,12 +1755,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 "未知" @@ -1589,25 +1788,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:1712 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:568 #: src/views/website/CreateModal.vue:248 msgid "Database" @@ -1625,7 +1831,8 @@ msgstr "防火墙" msgid "Home" msgstr "首页" -#: src/locales/menu.ts:15 src/views/apps/grafana/GrafanaConfigTuneView.vue:223 +#: src/locales/menu.ts:15 +#: src/views/apps/grafana/GrafanaConfigTuneView.vue:223 msgid "Security" msgstr "安全" @@ -1637,7 +1844,8 @@ msgstr "防篡改" msgid "Monitoring" msgstr "监控" -#: src/locales/menu.ts:19 src/views/home/IndexView.vue:539 +#: src/locales/menu.ts:19 +#: src/views/home/IndexView.vue:539 msgid "Project" msgstr "项目" @@ -1653,10 +1861,13 @@ msgstr "任务" msgid "Toolbox" msgstr "工具箱" -#: src/locales/menu.ts:24 src/views/app/AppView.vue:102 -#: src/views/app/EnvironmentView.vue:86 src/views/app/InstalledView.vue:117 +#: src/locales/menu.ts:24 +#: src/views/app/AppView.vue:102 +#: src/views/app/EnvironmentView.vue:86 +#: src/views/app/InstalledView.vue:117 #: src/views/app/InstalledView.vue:228 -#: 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 "更新" @@ -1685,40 +1896,52 @@ msgstr "Rsync 管理器" msgid "Frp Manager" msgstr "Frp 管理器" -#: src/router/routes/index.ts:32 src/views/login/IndexView.vue:309 +#: src/router/routes/index.ts:32 +#: src/views/login/IndexView.vue:309 msgid "Login" msgstr "登录" -#: src/views/app/AppView.vue:20 src/views/app/AppView.vue:148 -#: src/views/app/AppView.vue:152 src/views/app/EnvironmentView.vue:139 +#: src/views/app/AppView.vue:20 +#: src/views/app/AppView.vue:148 +#: src/views/app/AppView.vue:152 +#: src/views/app/EnvironmentView.vue:139 #: src/views/apps/prometheus/PrometheusExportersView.vue:79 #: src/views/environment/PHPView.vue:107 msgid "Install" msgstr "安装" -#: src/views/app/AppView.vue:42 src/views/app/InstalledView.vue:47 +#: src/views/app/AppView.vue:42 +#: src/views/app/InstalledView.vue:47 msgid "App Name" msgstr "应用名称" -#: src/views/app/AppView.vue:48 src/views/app/EnvironmentView.vue:42 -#: src/views/app/InstalledView.vue:53 src/views/app/InstalledView.vue:190 +#: src/views/app/AppView.vue:48 +#: src/views/app/EnvironmentView.vue:42 +#: src/views/app/InstalledView.vue:53 +#: src/views/app/InstalledView.vue:190 #: 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:54 src/views/app/EnvironmentView.vue:54 -#: src/views/app/InstalledView.vue:59 src/views/app/InstalledView.vue:196 +#: src/views/app/AppView.vue:54 +#: src/views/app/EnvironmentView.vue:54 +#: src/views/app/InstalledView.vue:59 +#: src/views/app/InstalledView.vue:196 msgid "Installed Version" msgstr "已安装版本" -#: src/views/app/AppView.vue:60 src/views/app/InstalledView.vue:75 +#: src/views/app/AppView.vue:60 +#: src/views/app/InstalledView.vue:75 msgid "Show in Home" msgstr "在主页显示" -#: src/views/app/AppView.vue:73 src/views/app/EnvironmentView.vue:60 -#: src/views/app/InstalledView.vue:88 src/views/app/InstalledView.vue:202 +#: src/views/app/AppView.vue:73 +#: src/views/app/EnvironmentView.vue:60 +#: src/views/app/InstalledView.vue:88 +#: src/views/app/InstalledView.vue:202 #: src/views/apps/fail2ban/IndexView.vue:63 #: src/views/apps/fail2ban/IndexView.vue:112 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:99 @@ -1727,89 +1950,120 @@ 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:113 -#: 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:1453 -#: src/views/file/ShareModal.vue:102 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/tamper/IndexView.vue:137 -#: src/views/task/CronView.vue:119 src/views/task/TaskView.vue:69 -#: src/views/toolbox/DiskView.vue:298 src/views/toolbox/DiskView.vue:608 -#: src/views/toolbox/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:1453 +#: src/views/file/ShareModal.vue:102 +#: 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/tamper/IndexView.vue:137 +#: src/views/task/CronView.vue:119 +#: src/views/task/TaskView.vue:69 +#: src/views/toolbox/DiskView.vue:298 +#: src/views/toolbox/DiskView.vue:608 +#: src/views/toolbox/WebHookView.vue:135 +#: src/views/website/ListView.vue:246 msgid "Actions" msgstr "操作" -#: src/views/app/AppView.vue:93 src/views/app/EnvironmentView.vue:78 -#: src/views/app/InstalledView.vue:108 src/views/app/InstalledView.vue:220 +#: src/views/app/AppView.vue:93 +#: src/views/app/EnvironmentView.vue:78 +#: src/views/app/InstalledView.vue:108 +#: src/views/app/InstalledView.vue:220 #: src/views/container/ContainerCreate.vue:142 msgid "Confirm Update" msgstr "确认更新" -#: src/views/app/AppView.vue:94 src/views/app/InstalledView.vue:109 -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:94 +#: src/views/app/InstalledView.vue:109 +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:115 src/views/app/EnvironmentView.vue:99 -#: src/views/app/InstalledView.vue:129 src/views/app/InstalledView.vue:240 +#: src/views/app/AppView.vue:115 +#: src/views/app/EnvironmentView.vue:99 +#: src/views/app/InstalledView.vue:129 +#: src/views/app/InstalledView.vue:240 msgid "Manage" msgstr "管理" -#: src/views/app/AppView.vue:124 src/views/app/EnvironmentView.vue:108 -#: src/views/app/InstalledView.vue:138 src/views/app/InstalledView.vue:249 +#: src/views/app/AppView.vue:124 +#: src/views/app/EnvironmentView.vue:108 +#: src/views/app/InstalledView.vue:138 +#: src/views/app/InstalledView.vue:249 #: src/views/apps/prometheus/PrometheusExportersView.vue:124 #: src/views/environment/PHPView.vue:85 msgid "Confirm Uninstall" msgstr "确认卸载" -#: src/views/app/AppView.vue:126 src/views/app/InstalledView.vue:140 -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:126 +#: src/views/app/InstalledView.vue:140 +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:129 src/views/app/InstalledView.vue:143 +#: src/views/app/AppView.vue:129 +#: src/views/app/InstalledView.vue:143 msgid "Are you sure to uninstall app %{ app }?" msgstr "您确定要卸载应用 %{ app } 吗?" -#: src/views/app/AppView.vue:130 src/views/app/AppView.vue:136 -#: src/views/app/EnvironmentView.vue:112 src/views/app/EnvironmentView.vue:118 -#: src/views/app/InstalledView.vue:144 src/views/app/InstalledView.vue:150 -#: src/views/app/InstalledView.vue:253 src/views/app/InstalledView.vue:259 +#: src/views/app/AppView.vue:130 +#: src/views/app/AppView.vue:136 +#: src/views/app/EnvironmentView.vue:112 +#: src/views/app/EnvironmentView.vue:118 +#: src/views/app/InstalledView.vue:144 +#: src/views/app/InstalledView.vue:150 +#: src/views/app/InstalledView.vue:253 +#: src/views/app/InstalledView.vue:259 #: src/views/apps/prometheus/PrometheusExportersView.vue:128 msgid "Uninstall" msgstr "卸载" -#: src/views/app/AppView.vue:168 src/views/app/CustomModal.vue:83 -#: src/views/app/EnvironmentView.vue:156 src/views/app/InstalledView.vue:161 +#: src/views/app/AppView.vue:168 +#: src/views/app/CustomModal.vue:83 +#: src/views/app/EnvironmentView.vue:156 +#: src/views/app/InstalledView.vue:161 #: src/views/app/InstalledView.vue:271 msgid "Compile Params" msgstr "编译参数" -#: src/views/app/AppView.vue:204 src/views/app/InstalledView.vue:311 +#: src/views/app/AppView.vue:204 +#: src/views/app/InstalledView.vue:311 msgid "Setup successfully" msgstr "设置成功" -#: src/views/app/AppView.vue:211 src/views/app/AppView.vue:219 -#: src/views/app/EnvironmentView.vue:193 src/views/app/EnvironmentView.vue:201 -#: src/views/app/EnvironmentView.vue:209 src/views/app/InstalledView.vue:318 -#: src/views/app/InstalledView.vue:326 src/views/app/InstalledView.vue:339 -#: src/views/app/InstalledView.vue:347 src/views/app/VersionModal.vue:42 +#: src/views/app/AppView.vue:211 +#: src/views/app/AppView.vue:219 +#: src/views/app/EnvironmentView.vue:193 +#: src/views/app/EnvironmentView.vue:201 +#: src/views/app/EnvironmentView.vue:209 +#: src/views/app/InstalledView.vue:318 +#: src/views/app/InstalledView.vue:326 +#: src/views/app/InstalledView.vue:339 +#: src/views/app/InstalledView.vue:347 +#: src/views/app/VersionModal.vue:42 msgid "Task submitted, please check the progress in background tasks" msgstr "任务已提交,请在后台任务中查看进度" @@ -1818,37 +2072,32 @@ msgid "Custom Compile Params" msgstr "自定义编译参数" #: src/views/app/CustomModal.vue:65 -msgid "" -"Settings are saved persistently and applied automatically on every install " -"and update (recompile), no need to re-enter after reinstalling." -msgstr "" -"设置持久保存,每次安装与更新(重新编译)时自动应用,重装后无需重新填写。" +msgid "Settings are saved persistently and applied automatically on every install and update (recompile), no need to re-enter after reinstalling." +msgstr "设置持久保存,每次安装与更新(重新编译)时自动应用,重装后无需重新填写。" #: src/views/app/CustomModal.vue:71 msgid "Pre-script" msgstr "前置脚本" #: src/views/app/CustomModal.vue:75 -msgid "" -"Runs before configure, can be used to download and prepare third-party " -"module sources." +msgid "Runs before configure, can be used to download and prepare third-party module sources." msgstr "在 configure 之前运行,可用于下载和准备第三方模块源码。" #: src/views/app/CustomModal.vue:87 -msgid "" -"One param per line, appended to the end of configure. Lines starting with # " -"are ignored." +msgid "One param per line, appended to the end of configure. Lines starting with # are ignored." msgstr "每行一个参数,追加到 configure 末尾,以 # 开头的行将被忽略。" #: src/views/app/EnvironmentView.vue:48 msgid "Latest Version" msgstr "最新版本" -#: src/views/app/EnvironmentView.vue:79 src/views/app/InstalledView.vue:221 +#: src/views/app/EnvironmentView.vue:79 +#: src/views/app/InstalledView.vue:221 msgid "Are you sure to update environment %{ environment }?" msgstr "您确定要更新环境 %{ environment } 吗?" -#: src/views/app/EnvironmentView.vue:109 src/views/app/InstalledView.vue:250 +#: src/views/app/EnvironmentView.vue:109 +#: src/views/app/InstalledView.vue:250 msgid "Are you sure to uninstall environment %{ environment }?" msgstr "您确定要卸载环境 %{ environment } 吗?" @@ -1870,11 +2119,13 @@ msgstr "缓存更新成功" msgid "Installed" msgstr "已安装" -#: src/views/app/IndexView.vue:41 src/views/app/InstalledView.vue:366 +#: src/views/app/IndexView.vue:41 +#: src/views/app/InstalledView.vue:366 msgid "Native App" msgstr "原生应用" -#: src/views/app/IndexView.vue:42 src/views/app/InstalledView.vue:390 +#: src/views/app/IndexView.vue:42 +#: src/views/app/InstalledView.vue:390 msgid "Operating Environment" msgstr "运行环境" @@ -1890,23 +2141,31 @@ msgstr "更新缓存" msgid "Partial" msgstr "部分运行" -#: src/views/app/InstalledView.vue:65 src/views/apps/fail2ban/IndexView.vue:47 +#: src/views/app/InstalledView.vue:65 +#: src/views/apps/fail2ban/IndexView.vue:47 #: src/views/apps/phpmyadmin/IndexView.vue:67 #: src/views/apps/prometheus/PrometheusExportersView.vue:38 #: src/views/apps/supervisor/IndexView.vue:63 #: src/views/container/ComposeView.vue:86 #: src/views/container/ContainerInfoModal.vue:108 #: src/views/container/ContainerView.vue:58 -#: 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/tamper/IndexView.vue:127 src/views/tamper/IndexView.vue:231 -#: 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/tamper/IndexView.vue:127 +#: src/views/tamper/IndexView.vue:231 +#: 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:495 #: src/views/toolbox/MigrationView.vue:727 -#: src/views/toolbox/MigrationView.vue:814 src/views/toolbox/NetworkView.vue:96 -#: src/views/toolbox/ProcessView.vue:134 src/views/toolbox/ProcessView.vue:399 +#: src/views/toolbox/MigrationView.vue:814 +#: 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 "状态" @@ -1931,9 +2190,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 "更新成功" @@ -1946,7 +2208,8 @@ msgstr "部署模板" msgid "Deploy Mode" msgstr "部署模式" -#: src/views/app/TemplateDeployModal.vue:340 src/views/tamper/IndexView.vue:245 +#: src/views/app/TemplateDeployModal.vue:340 +#: src/views/tamper/IndexView.vue:245 msgid "Configuration" msgstr "配置" @@ -2009,7 +2272,8 @@ msgstr "自动放行在 compose 中定义的端口" #: src/views/container/ComposeView.vue:357 #: src/views/container/ContainerCreate.vue:553 #: src/views/container/ContainerInfoModal.vue:178 -#: 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 "环境变量" @@ -2031,9 +2295,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 @@ -2061,8 +2323,10 @@ msgstr "更新现有" #: src/views/apps/grafana/GrafanaDataSourcesView.vue:94 #: src/views/apps/nginx/NginxIndex.vue:186 #: src/views/container/ContainerInfoModal.vue:123 -#: src/views/file/ListView.vue:269 src/views/file/ListView.vue:899 -#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/file/ListView.vue:269 +#: src/views/file/ListView.vue:899 +#: src/views/file/PropertyModal.vue:55 +#: src/views/file/PropertyModal.vue:59 #: src/views/toolbox/WebHookView.vue:85 msgid "Yes" msgstr "是" @@ -2072,8 +2336,10 @@ msgstr "是" #: src/views/apps/grafana/GrafanaDataSourcesView.vue:95 #: src/views/apps/nginx/NginxIndex.vue:186 #: src/views/container/ContainerInfoModal.vue:123 -#: src/views/file/ListView.vue:270 src/views/file/ListView.vue:900 -#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/file/ListView.vue:270 +#: src/views/file/ListView.vue:900 +#: src/views/file/PropertyModal.vue:55 +#: src/views/file/PropertyModal.vue:59 #: src/views/toolbox/WebHookView.vue:85 msgid "No" msgstr "否" @@ -2104,13 +2370,16 @@ msgstr "下一步" msgid "Starting Compose" msgstr "正在启动编排" -#: src/views/app/TemplateView.vue:142 src/views/backup/StorageView.vue:78 -#: src/views/ssh/IndexView.vue:82 src/views/ssh/IndexView.vue:88 +#: src/views/app/TemplateView.vue:142 +#: src/views/backup/StorageView.vue:78 +#: src/views/ssh/IndexView.vue:82 +#: src/views/ssh/IndexView.vue:88 #: src/views/toolbox/MigrationView.vue:493 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 "部署" @@ -2144,7 +2413,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 "属性" @@ -2162,7 +2432,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 "当前值" @@ -2176,16 +2447,21 @@ 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/tamper/IndexView.vue:207 -#: src/views/task/CronView.vue:23 src/views/task/TaskView.vue:21 -#: src/views/website/EditModal.vue:271 src/views/website/StatsView.vue:93 +#: src/views/environment/PHPView.vue:162 +#: src/views/environment/PHPView.vue:169 +#: src/views/firewall/ScanView.vue:336 +#: src/views/tamper/IndexView.vue:207 +#: src/views/task/CronView.vue:23 +#: src/views/task/TaskView.vue:21 +#: src/views/website/EditModal.vue:271 +#: 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 @@ -2195,11 +2471,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 @@ -2215,7 +2488,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 "负载状态" @@ -2257,8 +2531,10 @@ msgstr "错误日志" #: src/views/apps/mongodb/MongoDBConfigTuneView.vue:88 #: src/views/container/ContainerCreate.vue:314 #: src/views/container/ContainerInfoModal.vue:125 -#: src/views/home/IndexView.vue:188 src/views/home/IndexView.vue:955 -#: src/views/monitor/IndexView.vue:990 src/views/toolbox/IndexView.vue:28 +#: 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 "网络" @@ -2328,13 +2604,20 @@ msgstr "日志级别(logger.level)" #: src/views/database/ServerList.vue:275 #: src/views/database/UpdateServerModal.vue:27 #: src/views/database/UpdateUserModal.vue:23 -#: src/views/database/UserList.vue:191 src/views/file/PermissionModal.vue:57 -#: src/views/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 src/views/website/SettingView.vue:88 +#: 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 +#: src/views/website/SettingView.vue:88 msgid "Modified successfully" msgstr "修改成功" @@ -2342,7 +2625,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:29 #: src/views/setting/TokenModal.vue:155 msgid "Copied successfully" @@ -2353,9 +2637,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 @@ -2370,16 +2652,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 @@ -2395,16 +2675,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 @@ -2428,7 +2706,8 @@ msgstr "中国 - 腾讯(仅内网)" #: src/views/apps/docker/IndexView.vue:194 #: src/views/container/ContainerCreate.vue:294 -#: src/views/project/EditModal.vue:182 src/views/website/EditModal.vue:917 +#: src/views/project/EditModal.vue:182 +#: src/views/website/EditModal.vue:917 msgid "Basic Settings" msgstr "基本设置" @@ -2436,14 +2715,13 @@ msgstr "基本设置" msgid "Registry Mirrors" msgstr "注册表镜像" -#: src/views/apps/docker/IndexView.vue:203 src/views/website/EditModal.vue:1739 +#: src/views/apps/docker/IndexView.vue:203 +#: src/views/website/EditModal.vue:1739 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 @@ -2454,7 +2732,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 "添加" @@ -2463,12 +2742,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" @@ -2539,9 +2814,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 @@ -2605,12 +2878,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" @@ -2665,9 +2934,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 @@ -2697,12 +2964,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 @@ -2719,7 +2982,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" @@ -2740,7 +3004,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" @@ -2773,40 +3038,38 @@ msgstr "规则列表" #: src/views/apps/fail2ban/IndexView.vue:275 #: src/views/apps/fail2ban/IndexView.vue:285 -#: src/views/apps/fail2ban/IndexView.vue:289 src/views/tamper/IndexView.vue:340 +#: src/views/apps/fail2ban/IndexView.vue:289 +#: src/views/tamper/IndexView.vue:340 #: src/views/tamper/RuleModal.vue:83 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/container/ContainerInfoModal.vue:149 +#: 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/container/ContainerInfoModal.vue:149 #: 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:725 -#: src/views/toolbox/MigrationView.vue:812 src/views/toolbox/NetworkView.vue:61 +#: src/views/toolbox/MigrationView.vue:812 +#: src/views/toolbox/NetworkView.vue:61 msgid "Type" msgstr "类型" @@ -2816,21 +3079,27 @@ 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 "选择网站" -#: src/views/apps/fail2ban/IndexView.vue:326 src/views/tamper/IndexView.vue:250 +#: src/views/apps/fail2ban/IndexView.vue:326 +#: src/views/tamper/IndexView.vue:250 msgid "Protection Mode" msgstr "保护模式" #: src/views/apps/fail2ban/IndexView.vue:331 #: src/views/apps/pureftpd/IndexView.vue:46 -#: src/views/backup/StorageView.vue:277 src/views/backup/StorageView.vue:331 -#: src/views/backup/StorageView.vue:361 src/views/backup/StorageView.vue:433 -#: src/views/backup/StorageView.vue:487 src/views/backup/StorageView.vue:514 -#: src/views/log/HttpLog.vue:85 src/views/tamper/IndexView.vue:195 +#: src/views/backup/StorageView.vue:277 +#: src/views/backup/StorageView.vue:331 +#: src/views/backup/StorageView.vue:361 +#: src/views/backup/StorageView.vue:433 +#: src/views/backup/StorageView.vue:487 +#: src/views/backup/StorageView.vue:514 +#: src/views/log/HttpLog.vue:85 +#: src/views/tamper/IndexView.vue:195 msgid "Path" msgstr "路径" @@ -2860,42 +3129,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:135 -#: 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:135 +#: 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:136 +#: src/views/database/DatabaseList.vue:28 +#: src/views/database/IndexView.vue:136 #: src/views/database/UserList.vue:73 msgid "Server" msgstr "服务器" @@ -3045,12 +3327,17 @@ msgstr "浏览器(直连)" #: src/views/apps/grafana/GrafanaDataSourcesView.vue:111 #: src/views/apps/nginx/NginxIndex.vue:202 -#: src/views/apps/nginx/NginxIndex.vue:266 src/views/backup/StorageView.vue:111 +#: src/views/apps/nginx/NginxIndex.vue:266 +#: src/views/backup/StorageView.vue:111 #: src/views/container/ComposeView.vue:123 -#: src/views/container/ContainerView.vue:177 src/views/file/ListView.vue:399 -#: src/views/file/ListView.vue:1656 src/views/project/ListView.vue:177 -#: src/views/ssh/IndexView.vue:602 src/views/tamper/IndexView.vue:143 -#: src/views/task/CronView.vue:155 src/views/toolbox/WebHookView.vue:158 +#: src/views/container/ContainerView.vue:177 +#: src/views/file/ListView.vue:399 +#: src/views/file/ListView.vue:1656 +#: src/views/project/ListView.vue:177 +#: src/views/ssh/IndexView.vue:602 +#: src/views/tamper/IndexView.vue:143 +#: src/views/task/CronView.vue:155 +#: src/views/toolbox/WebHookView.vue:158 #: src/views/website/ListView.vue:259 msgid "Edit" msgstr "编辑" @@ -3080,20 +3367,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:105 -#: 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:1991 +#: 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:1991 msgid "Password" msgstr "密码" @@ -3110,30 +3405,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 @@ -3240,33 +3525,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 "存储" @@ -3307,7 +3584,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 "通用" @@ -3518,17 +3796,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" @@ -3604,9 +3877,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 @@ -3644,9 +3915,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 @@ -3670,8 +3939,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 @@ -3698,13 +3966,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:1114 +#: src/views/apps/nginx/NginxIndex.vue:635 +#: src/views/website/EditModal.vue:1114 msgid "Proxy Pass" msgstr "代理目标" @@ -3755,15 +4025,18 @@ msgstr "Stream" #: src/views/apps/nginx/NginxIndex.vue:533 #: src/views/database/CreateServerModal.vue:92 -#: src/views/database/IndexView.vue:184 src/views/website/EditModal.vue:1051 +#: src/views/database/IndexView.vue:184 +#: src/views/website/EditModal.vue:1051 msgid "Add Server" msgstr "添加服务器" -#: src/views/apps/nginx/NginxIndex.vue:546 src/views/website/EditModal.vue:970 +#: src/views/apps/nginx/NginxIndex.vue:546 +#: src/views/website/EditModal.vue:970 msgid "Upstream" msgstr "上游" -#: src/views/apps/nginx/NginxIndex.vue:550 src/views/website/EditModal.vue:1067 +#: src/views/apps/nginx/NginxIndex.vue:550 +#: src/views/website/EditModal.vue:1067 msgid "Add Upstream" msgstr "添加上游" @@ -3820,7 +4093,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:981 +#: src/views/apps/nginx/NginxIndex.vue:713 +#: src/views/website/EditModal.vue:981 msgid "Load Balancing Algorithm" msgstr "负载均衡算法" @@ -3842,7 +4116,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 "选项" @@ -3850,27 +4125,27 @@ msgstr "选项" msgid "No servers added yet" msgstr "尚未添加服务器" -#: src/views/apps/nginx/NginxIndex.vue:777 src/views/website/EditModal.vue:1011 +#: src/views/apps/nginx/NginxIndex.vue:777 +#: src/views/website/EditModal.vue:1011 #: src/views/website/EditModal.vue:1148 msgid "DNS Resolver" msgstr "DNS 解析器" -#: src/views/apps/nginx/NginxIndex.vue:780 src/views/website/EditModal.vue:1014 +#: src/views/apps/nginx/NginxIndex.vue:780 +#: src/views/website/EditModal.vue:1014 #: src/views/website/EditModal.vue:1151 msgid "e.g., 8.8.8.8" msgstr "例如 8.8.8.8" -#: src/views/apps/nginx/NginxIndex.vue:786 src/views/website/EditModal.vue:1020 +#: src/views/apps/nginx/NginxIndex.vue:786 +#: src/views/website/EditModal.vue:1020 #: src/views/website/EditModal.vue:1157 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." @@ -3899,9 +4174,7 @@ msgid "Login Password" msgstr "登录密码" #: src/views/apps/pgadmin/IndexView.vue:80 -msgid "" -"If the password has been changed in pgAdmin, the actual password shall " -"prevail." +msgid "If the password has been changed in pgAdmin, the actual password shall prevail." msgstr "若已在 pgAdmin 中修改过密码,以实际密码为准。" #: src/views/apps/pgadmin/IndexView.vue:87 @@ -3921,7 +4194,8 @@ msgstr "重置密码" msgid "New password" msgstr "新密码" -#: src/views/apps/pgadmin/IndexView.vue:116 src/views/toolbox/SshView.vue:314 +#: src/views/apps/pgadmin/IndexView.vue:116 +#: src/views/toolbox/SshView.vue:314 msgid "Reset" msgstr "重置" @@ -3934,28 +4208,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 @@ -3963,9 +4228,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 @@ -3973,29 +4236,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" @@ -4034,11 +4288,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:527 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:527 +#: 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 "内存" @@ -4168,33 +4427,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" @@ -4246,13 +4492,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 @@ -4265,17 +4511,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:97 -#: 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:1990 msgid "Username" msgstr "用户名" @@ -4309,14 +4560,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:177 src/views/setting/CreateModal.vue:38 +#: src/views/database/IndexView.vue:177 +#: 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 @@ -4329,11 +4583,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 "目录" @@ -4390,11 +4648,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." @@ -4479,12 +4734,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." @@ -4534,26 +4785,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:76 -#: 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:114 -#: src/views/database/UpdateUserModal.vue:78 src/views/database/UserList.vue:96 +#: src/views/database/UpdateUserModal.vue:78 +#: src/views/database/UserList.vue:96 msgid "Comment" msgstr "注释" @@ -4566,7 +4824,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 "模块管理" @@ -4576,11 +4835,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 @@ -4616,7 +4872,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 "挂载路径" @@ -4624,12 +4881,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 "添加挂载" @@ -4651,9 +4910,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 @@ -4691,18 +4948,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 "启动命令" @@ -4711,7 +4966,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 "工作目录" @@ -4737,11 +4993,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." @@ -4759,7 +5012,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 "更新日期" @@ -4781,31 +5035,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 "选择数据库" @@ -4821,12 +5078,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:1722 +#: 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:1722 msgid "Private Key" msgstr "私钥" @@ -4841,40 +5104,50 @@ msgstr "您确定要删除此存储吗?" #: src/views/backup/StorageView.vue:173 #: src/views/container/ContainerCreate.vue:118 -#: src/views/setting/PasswordModal.vue:21 src/views/setting/TokenModal.vue:178 -#: src/views/setting/TwoFaModal.vue:28 src/views/ssh/UpdateModal.vue:32 +#: src/views/setting/PasswordModal.vue:21 +#: src/views/setting/TokenModal.vue:178 +#: src/views/setting/TwoFaModal.vue:28 +#: src/views/ssh/UpdateModal.vue:32 msgid "Updated successfully" msgstr "更新成功" -#: src/views/backup/StorageView.vue:195 src/views/backup/StorageView.vue:222 +#: src/views/backup/StorageView.vue:195 +#: src/views/backup/StorageView.vue:222 msgid "Add Storage" msgstr "添加存储" -#: src/views/backup/StorageView.vue:231 src/views/backup/StorageView.vue:393 +#: src/views/backup/StorageView.vue:231 +#: src/views/backup/StorageView.vue:393 msgid "Enter storage name" msgstr "输入存储名称" -#: src/views/backup/StorageView.vue:239 src/views/backup/StorageView.vue:401 +#: src/views/backup/StorageView.vue:239 +#: src/views/backup/StorageView.vue:401 msgid "Access Key" msgstr "Access Key" -#: src/views/backup/StorageView.vue:242 src/views/backup/StorageView.vue:404 +#: src/views/backup/StorageView.vue:242 +#: src/views/backup/StorageView.vue:404 msgid "Enter access key" msgstr "输入 Access Key" -#: src/views/backup/StorageView.vue:245 src/views/backup/StorageView.vue:407 +#: src/views/backup/StorageView.vue:245 +#: src/views/backup/StorageView.vue:407 msgid "Secret Key" msgstr "Secret Key" -#: src/views/backup/StorageView.vue:250 src/views/backup/StorageView.vue:412 +#: src/views/backup/StorageView.vue:250 +#: src/views/backup/StorageView.vue:412 msgid "Enter secret key" msgstr "输入 Secret Key" -#: src/views/backup/StorageView.vue:253 src/views/backup/StorageView.vue:415 +#: src/views/backup/StorageView.vue:253 +#: src/views/backup/StorageView.vue:415 msgid "Style" msgstr "风格" -#: src/views/backup/StorageView.vue:256 src/views/website/stats/GeoTab.vue:91 +#: src/views/backup/StorageView.vue:256 +#: src/views/website/stats/GeoTab.vue:91 #: src/views/website/stats/GeoTab.vue:248 msgid "Region" msgstr "区域" @@ -4883,56 +5156,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:87 -#: 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 @@ -4940,19 +5231,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" @@ -4964,30 +5259,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 "修改" @@ -4996,12 +5298,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 注册账户,请耐心等待" @@ -5009,54 +5313,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:876 +#: 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:876 msgid "Domain" msgstr "域名" -#: src/views/cert/CertView.vue:127 src/views/file/ToolBar.vue:154 -#: src/views/file/UploadModal.vue:676 src/views/monitor/IndexView.vue:596 +#: src/views/cert/CertView.vue:127 +#: src/views/file/ToolBar.vue:154 +#: src/views/file/UploadModal.vue:676 +#: src/views/monitor/IndexView.vue:596 msgid "Upload" msgstr "上传" @@ -5064,12 +5375,15 @@ msgstr "上传" msgid "Associated Account" msgstr "关联账户" -#: src/views/cert/CertView.vue:148 src/views/website/EditModal.vue:1649 +#: src/views/cert/CertView.vue:148 +#: src/views/website/EditModal.vue:1649 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 "过期时间" @@ -5081,7 +5395,8 @@ msgstr "下次续签时间" msgid "Auto Renewal" msgstr "自动续签" -#: src/views/cert/CertView.vue:208 src/views/website/EditModal.vue:2181 +#: src/views/cert/CertView.vue:208 +#: src/views/website/EditModal.vue:2181 msgid "Issue" msgstr "签发" @@ -5102,57 +5417,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:2172 +#: 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:2172 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:2175 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:1716 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:1726 msgid "Enter the content of the KEY private key file" msgstr "输入 KEY 私钥文件的内容" @@ -5162,9 +5483,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 @@ -5183,24 +5502,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" @@ -5212,87 +5529,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 "备注名称" @@ -5308,7 +5646,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 "上传证书" @@ -5320,17 +5659,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 连接失败" @@ -5346,11 +5689,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:51 +#: src/views/container/VolumeView.vue:57 +#: src/views/setting/PasskeyModal.vue:33 +#: src/views/setting/SettingUser.vue:79 +#: src/views/setting/TokenModal.vue:39 +#: src/views/task/CronView.vue:100 +#: src/views/task/TaskView.vue:51 #: src/views/toolbox/WebHookView.vue:125 msgid "Creation Time" msgstr "创建时间" @@ -5397,7 +5744,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 "编排" @@ -5433,15 +5781,13 @@ msgid "Please enter image name" msgstr "请输入镜像名" #: src/views/container/ContainerCreate.vue:143 -msgid "" -"Updating will remove the current container and recreate it with the new " -"configuration. Data not stored in mounted volumes will be lost. Continue?" -msgstr "" -"更新将移除当前容器并使用新配置重新创建,未存储在挂载卷中的数据将丢失,是否继" -"续?" +msgid "Updating will remove the current container and recreate it with the new configuration. Data not stored in mounted volumes will be lost. Continue?" +msgstr "更新将移除当前容器并使用新配置重新创建,未存储在挂载卷中的数据将丢失,是否继续?" -#: src/views/container/ContainerCreate.vue:146 src/views/file/ListView.vue:311 -#: src/views/file/UploadModal.vue:506 src/views/file/UploadModal.vue:641 +#: src/views/container/ContainerCreate.vue:146 +#: src/views/file/ListView.vue:311 +#: src/views/file/UploadModal.vue:506 +#: src/views/file/UploadModal.vue:641 #: src/views/toolbox/MigrationView.vue:207 msgid "Continue" msgstr "继续" @@ -5549,9 +5895,7 @@ msgid "Container End" msgstr "容器结束" #: src/views/container/ContainerCreate.vue:432 -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:441 @@ -5572,9 +5916,7 @@ msgid "Container path" msgstr "容器路径" #: src/views/container/ContainerCreate.vue:470 -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:479 @@ -5583,9 +5925,7 @@ msgid "Resource Limits" msgstr "资源限制" #: src/views/container/ContainerCreate.vue:483 -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:491 @@ -5617,17 +5957,12 @@ msgid "Maximum memory the container can use, in MB. 0 means no limit." msgstr "容器可以使用的最大内存,单位为 MB。0 表示无限制。" #: src/views/container/ContainerCreate.vue:532 -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:539 -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:551 #: src/views/toolbox/MigrationView.vue:492 @@ -5650,8 +5985,10 @@ msgstr "启动命令" #: src/views/container/ContainerCreate.vue:579 #: src/views/container/ContainerInfoModal.vue:139 -#: src/views/home/IndexView.vue:662 src/views/home/IndexView.vue:763 -#: src/views/monitor/IndexView.vue:335 src/views/monitor/IndexView.vue:347 +#: 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 "命令" @@ -5699,7 +6036,8 @@ msgid "Container Info" msgstr "容器信息" #: src/views/container/ContainerInfoModal.vue:96 -#: 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 "基本信息" @@ -5742,7 +6080,8 @@ msgid "No environment variables" msgstr "无环境变量" #: src/views/container/ContainerInfoModal.vue:207 -#: 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 "原始输出" @@ -5766,7 +6105,8 @@ msgstr "暂停" msgid "Resume" msgstr "恢复" -#: src/views/container/ContainerView.vue:254 src/views/file/ListView.vue:1685 +#: src/views/container/ContainerView.vue:254 +#: src/views/file/ListView.vue:1685 msgid "More" msgstr "更多" @@ -5854,9 +6194,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:122 msgid "Are you sure you want to delete?" msgstr "您确定要删除吗?" @@ -5865,7 +6208,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 "拉取镜像" @@ -5903,11 +6247,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:2040 msgid "Scope" msgstr "范围" @@ -5987,8 +6333,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 "挂载点" @@ -6116,12 +6464,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 "权限" @@ -6271,7 +6619,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 "查看密钥" @@ -6301,11 +6650,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 "无效" @@ -6314,12 +6665,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 "同步成功" @@ -6328,9 +6678,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 @@ -6353,7 +6701,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 @@ -6361,7 +6710,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 @@ -6370,11 +6720,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)" @@ -6384,11 +6731,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)" @@ -6398,9 +6747,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 @@ -6412,12 +6759,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)" @@ -6436,9 +6779,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 @@ -6483,12 +6824,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" @@ -6499,9 +6836,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 @@ -6529,8 +6864,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 @@ -6555,8 +6889,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 @@ -6584,12 +6917,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)" @@ -6660,24 +6989,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" @@ -6704,9 +7025,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 @@ -6747,12 +7066,15 @@ msgid "Name cannot be empty" msgstr "名称不能为空" #: src/views/file/composables/usePaste.ts:96 -#: src/views/file/composables/usePaste.ts:150 src/views/task/TaskView.vue:46 +#: src/views/file/composables/usePaste.ts:150 +#: src/views/task/TaskView.vue:46 msgid "Canceled" msgstr "已取消" -#: src/views/file/composables/usePaste.ts:138 src/views/file/ListView.vue:306 -#: src/views/file/ListView.vue:848 src/views/file/ListView.vue:897 +#: src/views/file/composables/usePaste.ts:138 +#: src/views/file/ListView.vue:306 +#: src/views/file/ListView.vue:848 +#: src/views/file/ListView.vue:897 msgid "Warning" msgstr "警告" @@ -6760,19 +7082,23 @@ msgstr "警告" msgid "There are items with the same name %{ items } Do you want to overwrite?" msgstr "存在同名项目 %{ items } 是否要覆盖?" -#: src/views/file/composables/usePaste.ts:175 src/views/file/ListView.vue:850 -#: src/views/file/UploadModal.vue:752 src/views/file/UploadModal.vue:784 +#: src/views/file/composables/usePaste.ts:175 +#: src/views/file/ListView.vue:850 +#: src/views/file/UploadModal.vue:752 +#: src/views/file/UploadModal.vue:784 msgid "Overwrite" msgstr "覆盖" #: src/views/file/CompressModal.vue:52 -msgid "" -"Compress task created successfully, please check the task list for progress" +msgid "Compress task created successfully, please check the task list for progress" msgstr "压缩任务创建成功,请在任务列表中查看进度" -#: src/views/file/CompressModal.vue:97 src/views/file/CompressModal.vue:116 -#: src/views/file/ListView.vue:376 src/views/file/ListView.vue:412 -#: src/views/file/ListView.vue:1007 src/views/file/ListView.vue:1650 +#: src/views/file/CompressModal.vue:97 +#: src/views/file/CompressModal.vue:116 +#: src/views/file/ListView.vue:376 +#: src/views/file/ListView.vue:412 +#: src/views/file/ListView.vue:1007 +#: src/views/file/ListView.vue:1650 #: src/views/file/ToolBar.vue:189 msgid "Compress" msgstr "压缩" @@ -6805,12 +7131,14 @@ msgstr "文件编辑器" msgid "Drop files to upload" msgstr "拖放文件以上传" -#: src/views/file/ListView.vue:262 src/views/file/ListView.vue:429 +#: src/views/file/ListView.vue:262 +#: src/views/file/ListView.vue:429 #: src/views/file/ListView.vue:1030 msgid "Add Protection" msgstr "添加保护" -#: src/views/file/ListView.vue:262 src/views/file/ListView.vue:428 +#: src/views/file/ListView.vue:262 +#: src/views/file/ListView.vue:428 #: src/views/file/ListView.vue:1030 msgid "Remove Protection" msgstr "移除保护" @@ -6820,61 +7148,66 @@ msgid "Add tamper protection for %{ name }?" msgstr "为 %{ name } 添加防篡改保护?" #: src/views/file/ListView.vue:265 -msgid "" -"Remove tamper protection for %{ name }? The matching rule or exclusions will " -"be adjusted accordingly." +msgid "Remove tamper protection for %{ name }? The matching rule or exclusions will be adjusted accordingly." msgstr "移除 %{ name } 的防篡改保护?匹配的规则或排除项将相应调整。" -#: src/views/file/ListView.vue:273 src/views/monitor/IndexView.vue:695 +#: src/views/file/ListView.vue:273 +#: src/views/monitor/IndexView.vue:695 #: src/views/monitor/IndexView.vue:704 msgid "Operation successful" msgstr "操作成功" #: src/views/file/ListView.vue:307 -msgid "" -"%{ name } has immutable attribute. The panel will temporarily remove the " -"immutable attribute, perform the operation, and then restore the immutable " -"attribute. Do you want to continue?" -msgstr "" -"%{ name } 具有不可变属性。面板将暂时移除不可变属性,执行操作,然后恢复不可变" -"属性。您要继续吗?" +msgid "%{ name } has immutable attribute. The panel will temporarily remove the immutable attribute, perform the operation, and then restore the immutable attribute. Do you want to continue?" +msgstr "%{ name } 具有不可变属性。面板将暂时移除不可变属性,执行操作,然后恢复不可变属性。您要继续吗?" -#: src/views/file/ListView.vue:364 src/views/file/ListView.vue:382 -#: src/views/file/ListView.vue:438 src/views/file/ToolBar.vue:184 +#: src/views/file/ListView.vue:364 +#: src/views/file/ListView.vue:382 +#: src/views/file/ListView.vue:438 +#: src/views/file/ToolBar.vue:184 msgid "Paste" msgstr "粘贴" -#: src/views/file/ListView.vue:375 src/views/file/ListView.vue:409 -#: src/views/file/ListView.vue:1005 src/views/file/ToolBar.vue:188 +#: src/views/file/ListView.vue:375 +#: src/views/file/ListView.vue:409 +#: src/views/file/ListView.vue:1005 +#: src/views/file/ToolBar.vue:188 msgid "Move" msgstr "移动" -#: src/views/file/ListView.vue:377 src/views/file/ListView.vue:410 -#: src/views/file/ListView.vue:1006 src/views/file/ListView.vue:1444 -#: src/views/file/PermissionModal.vue:146 src/views/file/PropertyModal.vue:42 +#: src/views/file/ListView.vue:377 +#: src/views/file/ListView.vue:410 +#: src/views/file/ListView.vue:1006 +#: src/views/file/ListView.vue:1444 +#: src/views/file/PermissionModal.vue:146 +#: src/views/file/PropertyModal.vue:42 #: src/views/file/ToolBar.vue:190 msgid "Permission" msgstr "权限" -#: src/views/file/ListView.vue:394 src/views/file/ListView.vue:1637 +#: src/views/file/ListView.vue:394 +#: src/views/file/ListView.vue:1637 msgid "Open" msgstr "打开" -#: src/views/file/ListView.vue:396 src/views/file/ListView.vue:1656 +#: src/views/file/ListView.vue:396 +#: src/views/file/ListView.vue:1656 msgid "Preview" msgstr "预览" -#: src/views/file/ListView.vue:398 src/views/file/ListView.vue:1012 +#: src/views/file/ListView.vue:398 +#: src/views/file/ListView.vue:1012 #: src/views/file/ListView.vue:1759 msgid "Uncompress" msgstr "解压" -#: src/views/file/ListView.vue:416 src/views/file/ListView.vue:1017 -#, fuzzy +#: src/views/file/ListView.vue:416 +#: src/views/file/ListView.vue:1017 msgid "Share" -msgstr "共享" +msgstr "分享" -#: src/views/file/ListView.vue:433 src/views/file/ListView.vue:1035 +#: src/views/file/ListView.vue:433 +#: src/views/file/ListView.vue:1035 #: src/views/file/PropertyModal.vue:11 msgid "Properties" msgstr "属性" @@ -6895,7 +7228,8 @@ msgstr "某些文件是不可变的,无法删除" msgid "Are you sure you want to delete %{count} items?" msgstr "您确定要删除 %{count} 项吗?" -#: src/views/file/ListView.vue:908 src/views/file/PathInput.vue:34 +#: src/views/file/ListView.vue:908 +#: src/views/file/PathInput.vue:34 msgid "Path copied to clipboard" msgstr "路径已复制到剪贴板" @@ -6904,8 +7238,7 @@ msgid "Copy Path" msgstr "复制路径" #: src/views/file/ListView.vue:1291 -msgid "" -"Uncompress task created successfully, please check the task list for progress" +msgid "Uncompress task created successfully, please check the task list for progress" msgstr "解压任务创建成功,请在任务列表中查看进度" #: src/views/file/ListView.vue:1696 @@ -6928,7 +7261,8 @@ msgstr "解压 - %{ file }" msgid "Uncompress to" msgstr "解压到" -#: src/views/file/ListView.vue:1769 src/views/file/ToolBar.vue:237 +#: src/views/file/ListView.vue:1769 +#: src/views/file/ToolBar.vue:237 msgid "Terminal - %{ path }" msgstr "终端 - %{ path }" @@ -6936,7 +7270,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 "返回" @@ -6977,22 +7312,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 "写入" @@ -7033,100 +7373,88 @@ msgstr "不可变" #: src/views/file/ShareModal.vue:28 msgid "1 hour" -msgstr "" +msgstr "1 小时" #: src/views/file/ShareModal.vue:29 msgid "1 day" -msgstr "" +msgstr "1 天" #: src/views/file/ShareModal.vue:30 -#, fuzzy msgid "7 days" -msgstr "天" +msgstr "7 天" #: src/views/file/ShareModal.vue:31 -#, fuzzy msgid "30 days" -msgstr "天" +msgstr "30 天" #: src/views/file/ShareModal.vue:53 -#, fuzzy msgid "Share link created successfully" -msgstr "%{ address } 创建成功" +msgstr "分享链接创建成功" -#: src/views/file/ShareModal.vue:55 src/views/file/ShareModal.vue:64 -#, fuzzy +#: src/views/file/ShareModal.vue:55 +#: src/views/file/ShareModal.vue:64 msgid "Link copied to clipboard" -msgstr "URL 已复制到剪贴板" +msgstr "链接已复制到剪贴板" #: src/views/file/ShareModal.vue:70 -#, fuzzy msgid "Share cancelled successfully" -msgstr "创建成功" +msgstr "分享已取消" #: src/views/file/ShareModal.vue:78 msgid "Link" -msgstr "" +msgstr "链接" #: src/views/file/ShareModal.vue:84 -#, fuzzy msgid "Downloads" -msgstr "下载" +msgstr "下载次数" #: src/views/file/ShareModal.vue:91 -#, fuzzy msgid "Expire Time" msgstr "过期时间" #: src/views/file/ShareModal.vue:110 -#, fuzzy msgid "Copy Link" -msgstr "复制 URL" +msgstr "复制链接" #: src/views/file/ShareModal.vue:116 -#, fuzzy msgid "Are you sure you want to cancel this share?" -msgstr "您确定要删除该用户吗?" +msgstr "确定要取消该分享吗?" #: src/views/file/ShareModal.vue:121 -#, fuzzy msgid "Cancel Share" -msgstr "已取消" +msgstr "取消分享" #: src/views/file/ShareModal.vue:143 -#, fuzzy msgid "Share - %{ path }" -msgstr "终端 - %{ path }" +msgstr "分享 - %{ path }" #: src/views/file/ShareModal.vue:152 -msgid "" -"Anyone with the link can download this file without logging in. The link can " -"be used in the remote download of another panel to transfer files." -msgstr "" +msgid "Anyone with the link can download this file without logging in. The link can be used in the remote download of another panel to transfer files." +msgstr "任何拥有链接的人无需登录即可下载此文件。链接可用于另一个面板的远程下载以实现文件互传。" #: src/views/file/ShareModal.vue:158 msgid "Validity Period" -msgstr "" +msgstr "有效期" #: src/views/file/ShareModal.vue:165 -#, fuzzy msgid "Download Limit" -msgstr "下载日志" +msgstr "下载次数限制" -#: src/views/file/ShareModal.vue:169 src/views/website/EditModal.vue:1502 -#: src/views/website/EditModal.vue:1517 src/views/website/EditModal.vue:1893 -#: src/views/website/EditModal.vue:1906 src/views/website/EditModal.vue:1919 +#: src/views/file/ShareModal.vue:169 +#: src/views/website/EditModal.vue:1502 +#: src/views/website/EditModal.vue:1517 +#: src/views/website/EditModal.vue:1893 +#: src/views/website/EditModal.vue:1906 +#: src/views/website/EditModal.vue:1919 msgid "Unlimited" msgstr "无限制" #: src/views/file/ShareModal.vue:176 -#, fuzzy msgid "Create Share Link" -msgstr "创建转发" +msgstr "创建分享链接" #: src/views/file/ToolBar.vue:57 -msgid "" -"Download task created successfully, please check the task list for progress" +msgid "Download task created successfully, please check the task list for progress" msgstr "下载任务创建成功,请在任务列表中查看进度" #: src/views/file/ToolBar.vue:67 @@ -7141,7 +7469,8 @@ msgstr "请选择要移动的文件/文件夹" msgid "Sort" msgstr "排序" -#: src/views/file/ToolBar.vue:155 src/views/file/ToolBar.vue:209 +#: src/views/file/ToolBar.vue:155 +#: src/views/file/ToolBar.vue:209 msgid "Remote Download" msgstr "远程下载" @@ -7177,18 +7506,19 @@ msgstr "无效的新名称「%{name}」" msgid "Duplicate new name \"%{name}\"" 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 @@ -7200,8 +7530,7 @@ 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 @@ -7209,16 +7538,15 @@ msgid "Files already exist" msgstr "文件已存在" #: src/views/file/UploadModal.vue:738 -msgid "" -"The following files already exist in the target directory. Choose an action " -"for each." +msgid "The following files already exist in the target directory. Choose an action for each." msgstr "目标目录中已存在以下文件。请为每个文件选择一个操作。" #: src/views/file/UploadModal.vue:744 msgid "Apply to all:" 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 "跳过" @@ -7233,8 +7561,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 "传输协议" @@ -7253,25 +7583,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 @@ -7281,7 +7615,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 @@ -7297,13 +7632,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:324 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 "网络协议" @@ -7318,13 +7655,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 "方向" @@ -7337,17 +7676,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:1807 +#: src/views/firewall/CreateModal.vue:144 +#: src/views/firewall/IpRuleView.vue:111 +#: src/views/firewall/RuleView.vue:216 +#: src/views/website/EditModal.vue:1807 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:296 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:328 msgid "Are you sure you want to delete the selected rules?" msgstr "您确定要删除所选规则吗?" @@ -7364,11 +7707,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 "标记" @@ -7376,7 +7721,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 "使用中" @@ -7396,14 +7742,19 @@ msgstr "导出" msgid "Import" msgstr "导入" -#: src/views/firewall/ScanView.vue:193 src/views/firewall/ScanView.vue:211 -#: src/views/firewall/ScanView.vue:223 src/views/firewall/ScanView.vue:288 -#: src/views/firewall/ScanView.vue:302 src/views/firewall/ScanView.vue:318 +#: src/views/firewall/ScanView.vue:193 +#: src/views/firewall/ScanView.vue:211 +#: src/views/firewall/ScanView.vue:223 +#: src/views/firewall/ScanView.vue:288 +#: src/views/firewall/ScanView.vue:302 +#: src/views/firewall/ScanView.vue:318 msgid "Scan Count" msgstr "扫描次数" -#: src/views/firewall/ScanView.vue:193 src/views/firewall/ScanView.vue:216 -#: src/views/firewall/ScanView.vue:229 src/views/firewall/ScanView.vue:440 +#: src/views/firewall/ScanView.vue:193 +#: src/views/firewall/ScanView.vue:216 +#: src/views/firewall/ScanView.vue:229 +#: src/views/firewall/ScanView.vue:440 msgid "Source IPs" msgstr "源 IP 数" @@ -7426,13 +7777,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 "位置" @@ -7440,7 +7794,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 "最后记录" @@ -7457,11 +7812,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 "概览" @@ -7477,7 +7832,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 "清除数据" @@ -7501,7 +7857,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 "设置保存成功" @@ -7562,17 +7919,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 "接收" @@ -7580,20 +7942,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 "平均值" @@ -7614,7 +7982,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 "重启服务器" @@ -7623,24 +7992,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 "计划任务" @@ -7668,7 +8028,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" @@ -7702,7 +8063,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 "空闲" @@ -7710,7 +8072,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 "非活跃" @@ -7770,7 +8133,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 "系统主机名" @@ -7831,9 +8195,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 @@ -7861,8 +8223,7 @@ msgid "Panel is restarting, please wait..." msgstr "正在重启面板,请稍候……" #: src/views/home/UpdateView.vue:152 -msgid "" -"Update may have failed, please check the panel logs and refresh manually." +msgid "Update may have failed, please check the panel logs and refresh manually." msgstr "更新可能失败,请检查面板日志并手动刷新。" #: src/views/home/UpdateView.vue:158 @@ -7877,7 +8238,8 @@ msgstr "有一个新版本可用" msgid "Current" 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 "最新" @@ -7889,22 +8251,30 @@ msgstr "立即更新" msgid "Changelog" 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/tamper/IndexView.vue:182 src/views/toolbox/SystemView.vue:250 +#: 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/tamper/IndexView.vue:182 +#: 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 "级别" @@ -7912,7 +8282,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:728 #: src/views/toolbox/MigrationView.vue:815 msgid "Duration" @@ -7922,17 +8293,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 "方法" @@ -7960,8 +8335,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 "系统" @@ -7969,7 +8346,8 @@ msgstr "系统" msgid "Message" msgstr "消息" -#: src/views/log/OperationLog.vue:100 src/views/toolbox/MigrationView.vue:816 +#: src/views/log/OperationLog.vue:100 +#: src/views/toolbox/MigrationView.vue:816 msgid "Details" msgstr "详情" @@ -7981,7 +8359,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 "失败" @@ -8011,8 +8390,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 @@ -8043,8 +8421,10 @@ msgstr "记住我" msgid "Login with Passkey" msgstr "使用通行密钥登录" -#: src/views/monitor/IndexView.vue:335 src/views/monitor/IndexView.vue:347 -#: src/views/tamper/IndexView.vue:196 src/views/toolbox/IndexView.vue:27 +#: src/views/monitor/IndexView.vue:335 +#: src/views/monitor/IndexView.vue:347 +#: src/views/tamper/IndexView.vue:196 +#: src/views/toolbox/IndexView.vue:27 #: src/views/toolbox/NetworkView.vue:75 msgid "Process" msgstr "进程" @@ -8073,7 +8453,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 "使用率" @@ -8097,11 +8478,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:2111 +#: src/views/monitor/IndexView.vue:743 +#: src/views/website/EditModal.vue:2111 msgid "Are you sure you want to clear?" msgstr "确定要清除吗?" @@ -8113,17 +8496,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 天" @@ -8183,26 +8571,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 @@ -8233,14 +8623,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 "选择框架" @@ -8253,12 +8647,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:936 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:941 msgid "Select PHP Version" msgstr "选择 PHP 版本" @@ -8279,7 +8675,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 "选择或输入用户" @@ -8287,13 +8684,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 "反向代理" @@ -8342,9 +8741,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/tamper/IndexView.vue:132 -#: src/views/website/EditModal.vue:788 src/views/website/EditModal.vue:792 +#: src/views/project/EditModal.vue:72 +#: src/views/setting/SettingBase.vue:187 +#: src/views/setting/SettingSafe.vue:246 +#: src/views/tamper/IndexView.vue:132 +#: src/views/website/EditModal.vue:788 +#: src/views/website/EditModal.vue:792 #: src/views/website/EditModal.vue:1007 msgid "Disabled" msgstr "禁用" @@ -8442,12 +8844,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" @@ -8482,9 +8880,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 @@ -8516,9 +8912,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 @@ -8542,11 +8936,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" @@ -8580,8 +8971,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" @@ -8618,7 +9011,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 "输入用户密码" @@ -8626,11 +9020,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:235 +#: src/views/setting/IndexView.vue:118 +#: src/views/website/EditModal.vue:235 msgid "Please wait..." msgstr "请稍候……" @@ -8678,14 +9074,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 @@ -8704,7 +9099,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 "面板名称" @@ -8797,9 +9193,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 @@ -8811,26 +9205,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" @@ -8847,9 +9234,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 @@ -8857,12 +9242,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" @@ -8873,9 +9254,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 @@ -8883,9 +9262,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 @@ -8893,9 +9270,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 @@ -8903,38 +9278,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)" @@ -8948,16 +9309,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" @@ -8967,7 +9326,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 "访问令牌" @@ -8995,19 +9355,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 "请选择到期时间" @@ -9028,8 +9392,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 @@ -9040,32 +9403,37 @@ msgstr "代码" msgid "Enter the code" msgstr "输入代码" -#: src/views/ssh/CreateModal.vue:53 src/views/ssh/IndexView.vue:575 +#: src/views/ssh/CreateModal.vue:53 +#: src/views/ssh/IndexView.vue:575 msgid "Create Host" msgstr "创建主机" -#: src/views/ssh/CreateModal.vue:76 src/views/ssh/UpdateModal.vue:82 +#: src/views/ssh/CreateModal.vue:76 +#: src/views/ssh/UpdateModal.vue:82 msgid "Authentication Method" msgstr "认证方式" -#: src/views/ssh/CreateModal.vue:95 src/views/ssh/UpdateModal.vue:101 +#: src/views/ssh/CreateModal.vue:95 +#: src/views/ssh/UpdateModal.vue:101 msgid "Passphrase" msgstr "密码短语" -#: src/views/ssh/CreateModal.vue:100 src/views/ssh/UpdateModal.vue:106 +#: src/views/ssh/CreateModal.vue:100 +#: src/views/ssh/UpdateModal.vue:106 msgid "Leave empty if key has no passphrase" msgstr "如果密钥没有密码短语,请留空" -#: src/views/ssh/CreateModal.vue:103 src/views/ssh/UpdateModal.vue:109 +#: src/views/ssh/CreateModal.vue:103 +#: src/views/ssh/UpdateModal.vue:109 msgid "Remarks" msgstr "备注" #: src/views/ssh/IndexView.vue:67 -msgid "" -"Clipboard is unavailable in non-HTTPS context, please use Ctrl+V to paste" +msgid "Clipboard is unavailable in non-HTTPS context, please use Ctrl+V to paste" msgstr "剪贴板在非 HTTPS 环境下不可用,请使用 Ctrl+V 粘贴" -#: src/views/ssh/IndexView.vue:97 src/views/ssh/IndexView.vue:178 +#: src/views/ssh/IndexView.vue:97 +#: src/views/ssh/IndexView.vue:178 msgid "File Transfer" msgstr "文件互传" @@ -9097,7 +9465,8 @@ msgstr "退出全屏" msgid "Fullscreen" msgstr "全屏" -#: src/views/ssh/IndexView.vue:569 src/views/toolbox/SystemView.vue:237 +#: src/views/ssh/IndexView.vue:569 +#: src/views/toolbox/SystemView.vue:237 msgid "Hosts" msgstr "Hosts" @@ -9153,8 +9522,10 @@ msgstr "传输队列" msgid "Clear Finished" msgstr "清除已完成" -#: src/views/ssh/SftpPanel.vue:272 src/views/task/TaskView.vue:42 -#: src/views/toolbox/ProcessView.vue:53 src/views/toolbox/ProcessView.vue:89 +#: src/views/ssh/SftpPanel.vue:272 +#: src/views/task/TaskView.vue:42 +#: src/views/toolbox/ProcessView.vue:53 +#: src/views/toolbox/ProcessView.vue:89 msgid "Waiting" msgstr "等待中" @@ -9171,19 +9542,15 @@ msgid "Activate eBPF LSM" msgstr "激活 eBPF LSM" #: src/views/tamper/IndexView.vue:65 -msgid "" -"The panel will modify the kernel boot parameters (append bpf to the LSM " -"list) and reboot the server immediately. All services will be interrupted " -"during the reboot. Continue?" -msgstr "" -"面板将修改内核启动参数(向 LSM 列表追加 bpf)并立即重启服务器,重启期间所有服" -"务将中断,是否继续?" +msgid "The panel will modify the kernel boot parameters (append bpf to the LSM list) and reboot the server immediately. All services will be interrupted during the reboot. Continue?" +msgstr "面板将修改内核启动参数(向 LSM 列表追加 bpf)并立即重启服务器,重启期间所有服务将中断,是否继续?" #: src/views/tamper/IndexView.vue:74 msgid "The server is rebooting, please reconnect later" msgstr "服务器正在重启,请稍后重新连接" -#: src/views/tamper/IndexView.vue:116 src/views/tamper/RuleModal.vue:102 +#: src/views/tamper/IndexView.vue:116 +#: src/views/tamper/RuleModal.vue:102 msgid "Protected Directory" msgstr "保护目录" @@ -9195,8 +9562,10 @@ msgstr "扩展名" msgid "All files" msgstr "全部文件" -#: src/views/tamper/IndexView.vue:132 src/views/tamper/RuleModal.vue:111 -#: src/views/task/CronView.vue:76 src/views/toolbox/WebHookView.vue:91 +#: src/views/tamper/IndexView.vue:132 +#: src/views/tamper/RuleModal.vue:111 +#: src/views/task/CronView.vue:76 +#: src/views/toolbox/WebHookView.vue:91 #: src/views/toolbox/WebHookView.vue:386 msgid "Enabled" msgstr "已启用" @@ -9209,7 +9578,8 @@ msgstr "确定要删除此规则吗?" msgid "Operation" msgstr "操作" -#: src/views/tamper/IndexView.vue:202 src/views/tamper/IndexView.vue:370 +#: src/views/tamper/IndexView.vue:202 +#: src/views/tamper/IndexView.vue:370 #: src/views/website/EditModal.vue:2116 msgid "Clear Logs" msgstr "清除日志" @@ -9255,39 +9625,31 @@ msgid "Mode Description" msgstr "模式说明" #: src/views/tamper/IndexView.vue:259 -msgid "" -"Locks files with the immutable attribute, enforced by the kernel at the VFS " -"layer. Works on all distributions with no kernel dependency. Blocks " -"tampering by web processes, but not root." -msgstr "" -"通过不可变属性锁定文件,由内核在 VFS 层强制执行,适用于所有发行版且无内核依" -"赖,可阻止网站进程篡改,但无法阻止 root。" +msgid "Locks files with the immutable attribute, enforced by the kernel at the VFS layer. Works on all distributions with no kernel dependency. Blocks tampering by web processes, but not root." +msgstr "通过不可变属性锁定文件,由内核在 VFS 层强制执行,适用于所有发行版且无内核依赖,可阻止网站进程篡改,但无法阻止 root。" #: src/views/tamper/IndexView.vue:266 -msgid "" -"Intercepts write/delete/rename via eBPF-LSM with per-process tracing. More " -"precise and auditable, but requires the bpf LSM to be active in the kernel." -msgstr "" -"通过 eBPF-LSM 拦截写入/删除/重命名并追踪进程,更精确且可审计,但要求内核已启" -"用 bpf LSM。" +msgid "Intercepts write/delete/rename via eBPF-LSM with per-process tracing. More precise and auditable, but requires the bpf LSM to be active in the kernel." +msgstr "通过 eBPF-LSM 拦截写入/删除/重命名并追踪进程,更精确且可审计,但要求内核已启用 bpf LSM。" #: src/views/tamper/IndexView.vue:272 msgid "Block New Files" msgstr "阻止新建文件" #: src/views/tamper/IndexView.vue:277 -msgid "" -"Delete newly created files of protected types in protected directories. When " -"off, new files are frozen and logged instead." +msgid "Delete newly created files of protected types in protected directories. When off, new files are frozen and logged instead." msgstr "删除保护目录中新创建的受保护类型文件;关闭时改为冻结新文件并记录日志。" #: src/views/tamper/IndexView.vue:284 msgid "Log Retention (days)" msgstr "日志保留(天)" -#: src/views/tamper/IndexView.vue:294 src/views/website/SettingView.vue:108 -#: src/views/website/SettingView.vue:123 src/views/website/SettingView.vue:138 -#: src/views/website/SettingView.vue:162 src/views/website/SettingView.vue:202 +#: src/views/tamper/IndexView.vue:294 +#: src/views/website/SettingView.vue:108 +#: src/views/website/SettingView.vue:123 +#: src/views/website/SettingView.vue:138 +#: src/views/website/SettingView.vue:162 +#: src/views/website/SettingView.vue:202 #: src/views/website/SettingView.vue:265 msgid "Save Changes" msgstr "保存更改" @@ -9308,7 +9670,8 @@ msgstr "已启用的 LSM" msgid "eBPF Available" msgstr "eBPF 可用" -#: src/views/tamper/IndexView.vue:312 src/views/toolbox/DiskView.vue:250 +#: src/views/tamper/IndexView.vue:312 +#: src/views/toolbox/DiskView.vue:250 msgid "Available" msgstr "可用" @@ -9345,12 +9708,8 @@ msgid "Exclude Paths" msgstr "排除路径" #: src/views/tamper/RuleModal.vue:117 -msgid "" -"Leave extensions empty to protect all files (directories become append-" -"only). Excludes accept a path segment name (e.g. cache) or an absolute path." -msgstr "" -"扩展名留空则保护全部文件(目录变为仅可追加)。排除项可填路径段名称(如 " -"cache)或绝对路径。" +msgid "Leave extensions empty to protect all files (directories become append-only). Excludes accept a path segment name (e.g. cache) or an absolute path." +msgstr "扩展名留空则保护全部文件(目录变为仅可追加)。排除项可填路径段名称(如 cache)或绝对路径。" #: src/views/task/CreateModal.vue:36 msgid "# Enter your script content here" @@ -9392,17 +9751,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 "同步时间" @@ -9415,25 +9777,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 "任务周期" @@ -9442,14 +9811,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 @@ -9472,7 +9841,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 "请求体" @@ -9516,7 +9886,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 "选择数据库" @@ -9525,7 +9896,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 "选择容器" @@ -9570,19 +9942,16 @@ msgid "Completion Time" msgstr "完成时间" #: src/views/task/TaskView.vue:102 -#, fuzzy msgid "Cancel Task" -msgstr "面板任务" +msgstr "取消任务" #: src/views/task/TaskView.vue:103 -#, fuzzy msgid "Are you sure you want to cancel task %{ name }?" -msgstr "您确定要删除 %{ name } 吗?" +msgstr "确定要取消任务 %{ name } 吗?" #: src/views/task/TaskView.vue:156 -#, fuzzy msgid "Canceled successfully" -msgstr "清理成功" +msgstr "取消成功" #: src/views/task/TaskView.vue:168 msgid "If logs cannot be loaded, please disable ad blockers!" @@ -9608,11 +9977,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..." @@ -9690,7 +10056,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 "设备" @@ -9894,7 +10261,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 "分区" @@ -9907,21 +10275,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 }?" @@ -9939,20 +10307,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 @@ -9968,12 +10338,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" @@ -10008,9 +10374,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 @@ -10018,8 +10382,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 @@ -10027,9 +10390,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 @@ -10045,11 +10406,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" @@ -10071,11 +10429,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 "选择分区" @@ -10095,7 +10455,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 "格式化" @@ -10104,18 +10465,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 @@ -10134,7 +10495,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 "物理卷" @@ -10158,7 +10520,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 "创建物理卷" @@ -10166,7 +10529,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 "创建卷组" @@ -10182,7 +10546,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 "创建逻辑卷" @@ -10206,7 +10571,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 "扩展逻辑卷" @@ -10295,9 +10661,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 @@ -10342,9 +10706,7 @@ msgid "Environment check refreshed" msgstr "环境检查已刷新" #: src/views/toolbox/MigrationView.vue:144 -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:147 @@ -10353,27 +10715,19 @@ msgid "none" msgstr "none" #: src/views/toolbox/MigrationView.vue:162 -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:182 -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:203 msgid "Ignore Environment Check" msgstr "忽略环境检查" #: src/views/toolbox/MigrationView.vue:204 -msgid "" -"Due to environment inconsistency, migrated items may not work properly after " -"migration. Do you still want to continue?" +msgid "Due to environment inconsistency, migrated items may not work properly after migration. Do you still want to continue?" msgstr "由于环境不一致,迁移的项目在迁移后可能无法正常工作,是否仍要继续?" #: src/views/toolbox/MigrationView.vue:269 @@ -10385,9 +10739,7 @@ msgid "Confirm Migration" msgstr "确认迁移" #: src/views/toolbox/MigrationView.vue:275 -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:366 @@ -10590,13 +10942,8 @@ msgid "Reminder" msgstr "提醒" #: src/views/toolbox/MigrationView.vue:854 -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:865 msgid "Start New Migration" @@ -10638,7 +10985,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 "已分配" @@ -10658,7 +11006,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 "空闲" @@ -10739,15 +11088,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 "已锁定" @@ -10791,15 +11143,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 "启动时间" @@ -10903,7 +11258,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 密钥已生成" @@ -10984,9 +11340,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 @@ -11034,9 +11388,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 @@ -11072,15 +11424,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 @@ -11111,31 +11459,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 "脚本" @@ -11144,12 +11499,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 "纯静态" @@ -11166,7 +11523,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 "批量创建网站" @@ -11183,9 +11541,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 @@ -11206,7 +11562,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 "网站类型" @@ -11216,27 +11573,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 @@ -11255,28 +11604,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 @@ -11287,7 +11635,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 "备注" @@ -11305,12 +11654,8 @@ msgid "Reset successfully" msgstr "重置成功" #: src/views/website/EditModal.vue:209 -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:226 msgid "Please select a DNS provider" @@ -11372,7 +11717,8 @@ msgstr "临时重定向" msgid "Permanent Redirect" msgstr "永久重定向" -#: src/views/website/EditModal.vue:789 src/views/website/EditModal.vue:793 +#: src/views/website/EditModal.vue:789 +#: src/views/website/EditModal.vue:793 msgid "Default Path" msgstr "默认路径" @@ -11416,7 +11762,8 @@ msgstr "上游" msgid "Upstream name" msgstr "上游名称" -#: src/views/website/EditModal.vue:987 src/views/website/EditModal.vue:994 +#: src/views/website/EditModal.vue:987 +#: src/views/website/EditModal.vue:994 msgid "Round Robin (default)" msgstr "轮询(默认)" @@ -11452,7 +11799,8 @@ msgstr "未配置上游" msgid "Proxies" msgstr "代理" -#: src/views/website/EditModal.vue:1089 src/views/website/EditModal.vue:1769 +#: src/views/website/EditModal.vue:1089 +#: src/views/website/EditModal.vue:1769 msgid "Rule" msgstr "规则" @@ -11564,7 +11912,8 @@ msgstr "自定义缓存键,例如 $scheme$host$request_uri" msgid "Custom Request Headers" msgstr "自定义请求头" -#: src/views/website/EditModal.vue:1283 src/views/website/EditModal.vue:1582 +#: src/views/website/EditModal.vue:1283 +#: src/views/website/EditModal.vue:1582 msgid "Header name" msgstr "请求头" @@ -11592,7 +11941,8 @@ msgstr "替换内容" msgid "Add Replacement Rule" msgstr "添加替换规则" -#: src/views/website/EditModal.vue:1311 src/views/website/EditModal.vue:1841 +#: src/views/website/EditModal.vue:1311 +#: src/views/website/EditModal.vue:1841 msgid "Advanced Settings" msgstr "高级设置" @@ -11809,11 +12159,13 @@ msgstr "启用统计" msgid "Log Settings" msgstr "日志设置" -#: src/views/website/EditModal.vue:1859 src/views/website/EditModal.vue:2076 +#: src/views/website/EditModal.vue:1859 +#: src/views/website/EditModal.vue:2076 msgid "Access Log" msgstr "访问日志" -#: src/views/website/EditModal.vue:1868 src/views/website/EditModal.vue:2092 +#: src/views/website/EditModal.vue:1868 +#: src/views/website/EditModal.vue:2092 msgid "Error Log" msgstr "错误日志" @@ -11854,18 +12206,12 @@ msgid "Real IP" msgstr "真实 IP" #: src/views/website/EditModal.vue:1934 -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:1941 -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:1947 msgid "Enable" @@ -11900,8 +12246,7 @@ msgid "User Credentials" msgstr "用户凭据" #: src/views/website/EditModal.vue:2001 -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:2009 @@ -11932,11 +12277,13 @@ msgstr "没有自定义配置" msgid "Add Custom Config" msgstr "添加自定义配置" -#: src/views/website/EditModal.vue:2081 src/views/website/EditModal.vue:2097 +#: src/views/website/EditModal.vue:2081 +#: src/views/website/EditModal.vue:2097 msgid "All logs can be viewed by downloading the file" msgstr "所有日志可通过下载文件查看" -#: src/views/website/EditModal.vue:2083 src/views/website/EditModal.vue:2099 +#: src/views/website/EditModal.vue:2083 +#: src/views/website/EditModal.vue:2099 msgid "view" msgstr "查看" @@ -11957,11 +12304,8 @@ msgid "Select DNS Provider" msgstr "选择 DNS 提供商" #: src/views/website/EditModal.vue:2166 -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" @@ -12008,9 +12352,7 @@ 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:80 @@ -12029,33 +12371,25 @@ msgstr "停止页面" msgid "404 Page" msgstr "404 页面" -#: src/views/website/SettingView.vue:143 src/views/website/SettingView.vue:153 +#: src/views/website/SettingView.vue:143 +#: src/views/website/SettingView.vue:153 msgid "Default Site" msgstr "默认网站" #: src/views/website/SettingView.vue:147 -msgid "" -"The default site handles requests that do not match any website domain, such " -"as direct access via IP address. By default, the panel built-in page is " -"displayed." -msgstr "" -"默认站点处理未匹配任何网站域名的请求(如通过 IP 直接访问),默认显示面板内置" -"页面。" +msgid "The default site handles requests that do not match any website domain, such as direct access via IP address. By default, the panel built-in page is displayed." +msgstr "默认站点处理未匹配任何网站域名的请求(如通过 IP 直接访问),默认显示面板内置页面。" #: src/views/website/SettingView.vue:167 msgid "Default Settings" msgstr "默认设置" #: src/views/website/SettingView.vue:171 -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:178 -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:184 @@ -12067,9 +12401,7 @@ msgid "Statistics" msgstr "统计" #: src/views/website/SettingView.vue:211 -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:217 @@ -12108,7 +12440,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 @@ -12132,13 +12465,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 @@ -12161,12 +12496,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 "蜘蛛" @@ -12242,3 +12579,4 @@ msgstr "URIs" #: src/views/website/StatsView.vue:218 msgid "Slow Requests" msgstr "慢请求" + diff --git a/web/src/locales/zh_TW.po b/web/src/locales/zh_TW.po index f3def94f..928cb604 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-07-20 14:12\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-20 15:54\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:25 -#: 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:25 +#: 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:686 +#: src/views/apps/nginx/NginxIndex.vue:799 +#: src/views/website/EditModal.vue:686 msgid "Seconds" msgstr "秒" #: src/components/common/CronSelector.vue:358 -#: src/views/apps/nginx/NginxIndex.vue:800 src/views/website/EditModal.vue:687 +#: src/views/apps/nginx/NginxIndex.vue:800 +#: src/views/website/EditModal.vue:687 msgid "Minutes" msgstr "分" #: src/components/common/CronSelector.vue:369 -#: src/views/apps/nginx/NginxIndex.vue:801 src/views/website/EditModal.vue:688 +#: src/views/apps/nginx/NginxIndex.vue:801 +#: src/views/website/EditModal.vue:688 msgid "Hours" msgstr "時" @@ -245,7 +260,8 @@ msgstr "最大化" #: src/components/common/DraggableWindow.vue:289 #: src/components/file-editor/EditorPane.vue:282 #: src/layouts/tab/components/ContextMenu.vue:29 -#: src/views/cert/ObtainModal.vue:183 src/views/ssh/IndexView.vue:506 +#: src/views/cert/ObtainModal.vue:183 +#: src/views/ssh/IndexView.vue:506 msgid "Close" msgstr "關閉" @@ -260,7 +276,8 @@ msgstr "目前狀態無法儲存" #: src/components/common/FileEditor.vue:94 #: src/components/file-editor/EditorPane.vue:190 #: src/components/file-editor/EditorToolbar.vue:38 -#: src/views/app/CustomModal.vue:44 src/views/apps/apache/IndexView.vue:46 +#: src/views/app/CustomModal.vue:44 +#: src/views/apps/apache/IndexView.vue:46 #: src/views/apps/clickhouse/ClickHouseConfigTuneView.vue:58 #: src/views/apps/clickhouse/IndexView.vue:57 #: src/views/apps/codeserver/IndexView.vue:26 @@ -269,7 +286,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 @@ -314,15 +332,22 @@ 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/tamper/IndexView.vue:53 -#: src/views/tamper/RuleModal.vue:70 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/tamper/IndexView.vue:53 +#: src/views/tamper/RuleModal.vue:70 +#: 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:168 msgid "Saved successfully" msgstr "儲存成功" @@ -332,7 +357,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 "選擇目錄" @@ -342,7 +368,8 @@ msgstr "選擇檔案" #: src/components/common/PathSelector.vue:51 #: src/components/common/PathSelector.vue:395 -#: src/views/app/EnvironmentView.vue:36 src/views/app/InstalledView.vue:184 +#: src/views/app/EnvironmentView.vue:36 +#: src/views/app/InstalledView.vue:184 #: src/views/apps/fail2ban/IndexView.vue:41 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:72 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:206 @@ -351,25 +378,39 @@ msgstr "選擇檔案" #: src/views/apps/nginx/NginxIndex.vue:619 #: src/views/apps/nginx/NginxIndex.vue:705 #: src/views/apps/prometheus/PrometheusExportersView.vue:26 -#: src/views/apps/rsync/IndexView.vue:43 src/views/apps/rsync/IndexView.vue:263 +#: src/views/apps/rsync/IndexView.vue:43 +#: src/views/apps/rsync/IndexView.vue:263 #: src/views/apps/supervisor/IndexView.vue:56 #: src/views/apps/supervisor/IndexView.vue:392 -#: src/views/backup/StorageView.vue:66 src/views/backup/StorageView.vue:230 -#: src/views/backup/StorageView.vue:392 src/views/container/ComposeView.vue:59 -#: src/views/container/NetworkView.vue:48 src/views/container/VolumeView.vue:29 +#: src/views/backup/StorageView.vue:66 +#: src/views/backup/StorageView.vue:230 +#: src/views/backup/StorageView.vue:392 +#: src/views/container/ComposeView.vue:59 +#: src/views/container/NetworkView.vue:48 +#: src/views/container/VolumeView.vue:29 #: src/views/database/CreateServerModal.vue:108 #: src/views/database/ServerList.vue:66 -#: src/views/database/UpdateServerModal.vue:66 src/views/file/ListView.vue:1434 -#: src/views/file/PropertyModal.vue:27 src/views/file/ToolBar.vue:123 -#: 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/tamper/IndexView.vue:115 src/views/tamper/RuleModal.vue:99 -#: src/views/toolbox/LogView.vue:219 src/views/toolbox/MigrationView.vue:726 +#: src/views/database/UpdateServerModal.vue:66 +#: src/views/file/ListView.vue:1434 +#: src/views/file/PropertyModal.vue:27 +#: src/views/file/ToolBar.vue:123 +#: 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/tamper/IndexView.vue:115 +#: src/views/tamper/RuleModal.vue:99 +#: src/views/toolbox/LogView.vue:219 +#: src/views/toolbox/MigrationView.vue:726 #: src/views/toolbox/MigrationView.vue:813 -#: 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:2032 msgid "Name" msgstr "名稱" @@ -378,37 +419,48 @@ msgstr "名稱" msgid "Permissions" msgstr "權限" -#: src/components/common/PathSelector.vue:102 src/views/file/ListView.vue:1445 +#: src/components/common/PathSelector.vue:102 +#: src/views/file/ListView.vue:1445 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:1441 -#: src/views/file/PropertyModal.vue:39 src/views/file/ToolBar.vue:124 +#: src/views/database/RedisDataView.vue:116 +#: src/views/file/ListView.vue:1441 +#: src/views/file/PropertyModal.vue:39 +#: src/views/file/ToolBar.vue:124 #: src/views/toolbox/disk/RaidView.vue:95 -#: src/views/toolbox/disk/RaidView.vue:177 src/views/toolbox/DiskView.vue:233 +#: src/views/toolbox/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:1608 +#: src/components/common/PathSelector.vue:149 +#: src/views/file/ListView.vue:1608 msgid "Calculate" msgstr "計算" -#: src/components/common/PathSelector.vue:154 src/views/file/ListView.vue:1450 -#: src/views/file/PropertyModal.vue:51 src/views/file/ToolBar.vue:125 +#: src/components/common/PathSelector.vue:154 +#: src/views/file/ListView.vue:1450 +#: src/views/file/PropertyModal.vue:51 +#: src/views/file/ToolBar.vue:125 msgid "Modification Time" msgstr "修改時間" -#: src/components/common/PathSelector.vue:188 src/views/file/ListView.vue:1284 +#: src/components/common/PathSelector.vue:188 +#: src/views/file/ListView.vue:1284 #: src/views/file/PathInput.vue:43 msgid "Invalid path" msgstr "無效路徑" -#: src/components/common/PathSelector.vue:248 src/views/file/ListView.vue:147 -#: src/views/file/ListView.vue:825 src/views/file/ToolBar.vue:46 +#: src/components/common/PathSelector.vue:248 +#: src/views/file/ListView.vue:147 +#: src/views/file/ListView.vue:825 +#: src/views/file/ToolBar.vue:46 msgid "Invalid name" msgstr "無效的名稱" @@ -417,7 +469,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:118 @@ -426,19 +479,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:156 src/views/firewall/CreateForwardModal.vue:44 -#: src/views/setting/CreateModal.vue:22 src/views/setting/TokenModal.vue:117 -#: src/views/ssh/CreateModal.vue:41 src/views/task/CreateModal.vue:120 +#: src/views/file/ListView.vue:156 +#: src/views/firewall/CreateForwardModal.vue:44 +#: src/views/setting/CreateModal.vue:22 +#: src/views/setting/TokenModal.vue:117 +#: src/views/ssh/CreateModal.vue:41 +#: src/views/task/CreateModal.vue:120 #: src/views/toolbox/WebHookView.vue:249 msgid "Created successfully" msgstr "建立成功" #: src/components/common/PathSelector.vue:319 -#: src/views/file/PropertyModal.vue:34 src/views/file/ToolBar.vue:147 +#: src/views/file/PropertyModal.vue:34 +#: src/views/file/ToolBar.vue:147 msgid "File" msgstr "檔案" -#: src/components/common/PathSelector.vue:320 src/views/file/ToolBar.vue:148 +#: src/components/common/PathSelector.vue:320 +#: src/views/file/ToolBar.vue:148 msgid "Folder" msgstr "資料夾" @@ -446,14 +504,17 @@ msgstr "資料夾" #: src/components/common/PathSelector.vue:387 #: src/views/app/TemplateDeployModal.vue:652 #: src/views/container/ContainerCreate.vue:638 -#: src/views/project/CreateModal.vue:693 src/views/setting/TokenModal.vue:270 -#: src/views/ssh/SftpBrowser.vue:160 src/views/toolbox/WebHookView.vue:356 +#: src/views/project/CreateModal.vue:693 +#: src/views/setting/TokenModal.vue:270 +#: src/views/ssh/SftpBrowser.vue:160 +#: src/views/toolbox/WebHookView.vue:356 #: src/views/website/BulkCreateModal.vue:240 #: src/views/website/CreateModal.vue:342 msgid "Create" msgstr "建立" -#: src/components/common/PathSelector.vue:333 src/views/file/PathInput.vue:155 +#: src/components/common/PathSelector.vue:333 +#: src/views/file/PathInput.vue:155 msgid "Root Directory" msgstr "根目錄" @@ -465,14 +526,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 @@ -489,12 +557,16 @@ msgstr "根目錄" #: src/views/database/RedisDataView.vue:378 #: src/views/database/RedisKeyModal.vue:130 #: src/views/database/UpdateServerModal.vue:124 -#: src/views/database/UpdateUserModal.vue:88 src/views/file/ToolBar.vue:230 +#: src/views/database/UpdateUserModal.vue:88 +#: src/views/file/ToolBar.vue:230 #: src/views/firewall/CreateForwardModal.vue:94 #: src/views/firewall/CreateIpModal.vue:125 -#: src/views/firewall/CreateModal.vue: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 "提交" @@ -517,7 +589,8 @@ msgstr "連接錯誤" #: src/components/common/PtyTerminalModal.vue:143 #: src/views/container/ImagePullModal.vue:93 -#: src/views/container/ImageView.vue:227 src/views/ssh/SftpPanel.vue:140 +#: src/views/container/ImageView.vue:227 +#: src/views/ssh/SftpPanel.vue:140 msgid "Failed to connect" msgstr "連接失敗" @@ -530,25 +603,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:72 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:368 -#: src/views/toolbox/ProcessView.vue:242 src/views/toolbox/ProcessView.vue:247 +#: src/views/file/composables/usePaste.ts:72 +#: 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:368 +#: 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 @@ -566,32 +649,50 @@ msgstr "命令可能仍在執行。關閉視窗將終止命令,您確定嗎? #: src/views/container/ContainerCreate.vue:635 #: 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:73 -#: src/views/file/composables/usePaste.ts:153 src/views/file/ListView.vue:312 -#: src/views/file/ListView.vue:851 src/views/file/ToolBar.vue:181 -#: src/views/file/UploadModal.vue: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/ssh/SftpPanel.vue:277 src/views/tamper/RuleModal.vue:124 -#: src/views/task/TaskView.vue:110 src/views/toolbox/DiskView.vue:356 -#: src/views/toolbox/DiskView.vue:378 src/views/toolbox/DiskView.vue:399 -#: src/views/toolbox/DiskView.vue:423 src/views/toolbox/DiskView.vue:446 -#: src/views/toolbox/DiskView.vue:464 src/views/toolbox/DiskView.vue:485 -#: src/views/toolbox/DiskView.vue:505 src/views/toolbox/DiskView.vue:527 -#: src/views/toolbox/DiskView.vue:548 src/views/toolbox/DiskView.vue:570 -#: src/views/toolbox/DiskView.vue:592 src/views/toolbox/MigrationView.vue:208 +#: src/views/file/composables/usePaste.ts:153 +#: src/views/file/ListView.vue:312 +#: src/views/file/ListView.vue:851 +#: src/views/file/ToolBar.vue:181 +#: src/views/file/UploadModal.vue: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/ssh/SftpPanel.vue:277 +#: src/views/tamper/RuleModal.vue:124 +#: src/views/task/TaskView.vue:110 +#: src/views/toolbox/DiskView.vue:356 +#: src/views/toolbox/DiskView.vue:378 +#: src/views/toolbox/DiskView.vue:399 +#: src/views/toolbox/DiskView.vue:423 +#: src/views/toolbox/DiskView.vue:446 +#: src/views/toolbox/DiskView.vue:464 +#: src/views/toolbox/DiskView.vue:485 +#: src/views/toolbox/DiskView.vue:505 +#: src/views/toolbox/DiskView.vue:527 +#: src/views/toolbox/DiskView.vue:548 +#: src/views/toolbox/DiskView.vue:570 +#: src/views/toolbox/DiskView.vue:592 +#: src/views/toolbox/MigrationView.vue:208 #: src/views/toolbox/MigrationView.vue:279 #: src/views/toolbox/MigrationView.vue:369 -#: src/views/toolbox/ProcessView.vue:248 src/views/website/EditModal.vue:2141 +#: src/views/toolbox/ProcessView.vue:248 +#: src/views/website/EditModal.vue:2141 msgid "Cancel" msgstr "取消" -#: src/components/common/PtyTerminalModal.vue:259 src/locales/menu.ts:21 +#: src/components/common/PtyTerminalModal.vue:259 +#: src/locales/menu.ts:21 #: src/views/container/ContainerView.vue:142 #: src/views/container/ContainerView.vue:669 -#: src/views/database/ServerList.vue:174 src/views/file/ListView.vue:422 -#: src/views/file/ListView.vue:1024 src/views/file/ToolBar.vue:156 +#: src/views/database/ServerList.vue:174 +#: src/views/file/ListView.vue:422 +#: src/views/file/ListView.vue:1024 +#: src/views/file/ToolBar.vue:156 msgid "Terminal" msgstr "終端機" @@ -618,8 +719,10 @@ msgstr "跳至底部" #: src/components/common/RealtimeLog.vue:306 #: src/components/file-editor/EditorToolbar.vue:190 #: src/components/file-editor/FileTree.vue:702 -#: src/components/system/SearchToolbar.vue:58 src/views/app/AppView.vue:258 -#: src/views/app/EnvironmentView.vue:248 src/views/app/TemplateView.vue:102 +#: src/components/system/SearchToolbar.vue:58 +#: src/views/app/AppView.vue:258 +#: src/views/app/EnvironmentView.vue:248 +#: src/views/app/TemplateView.vue:102 #: src/views/database/ElasticsearchDataView.vue:314 #: src/views/database/RedisDataView.vue:289 msgid "Search" @@ -641,10 +744,13 @@ msgstr "放大字體" msgid "No logs available" msgstr "暫無日誌資料" -#: src/components/common/RealtimeLogModal.vue:37 src/locales/menu.ts:17 +#: src/components/common/RealtimeLogModal.vue:37 +#: src/locales/menu.ts:17 #: src/views/apps/supervisor/IndexView.vue:98 -#: src/views/container/ContainerView.vue:154 src/views/project/ListView.vue:168 -#: src/views/project/ListView.vue:334 src/views/task/CronView.vue:146 +#: src/views/container/ContainerView.vue:154 +#: src/views/project/ListView.vue:168 +#: src/views/project/ListView.vue:334 +#: src/views/task/CronView.vue:146 #: src/views/task/TaskView.vue:88 msgid "Logs" msgstr "日誌" @@ -665,9 +771,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 "載入中……" @@ -675,8 +784,10 @@ msgstr "載入中……" #: src/components/common/ServiceStatus.vue:30 #: src/views/app/InstalledView.vue:30 #: src/views/apps/prometheus/PrometheusExportersView.vue:50 -#: src/views/project/ListView.vue:70 src/views/task/TaskView.vue:47 -#: src/views/toolbox/ProcessView.vue:48 src/views/toolbox/ProcessView.vue:77 +#: src/views/project/ListView.vue:70 +#: src/views/task/TaskView.vue:47 +#: src/views/toolbox/ProcessView.vue:48 +#: src/views/toolbox/ProcessView.vue:77 #: src/views/website/ListView.vue:135 msgid "Running" msgstr "執行中" @@ -684,8 +795,10 @@ msgstr "執行中" #: src/components/common/ServiceStatus.vue:30 #: src/views/app/InstalledView.vue:31 #: src/views/apps/prometheus/PrometheusExportersView.vue:51 -#: src/views/project/ListView.vue:72 src/views/tamper/IndexView.vue:233 -#: src/views/toolbox/ProcessView.vue:50 src/views/toolbox/ProcessView.vue:83 +#: src/views/project/ListView.vue:72 +#: src/views/tamper/IndexView.vue:233 +#: src/views/toolbox/ProcessView.vue:50 +#: src/views/toolbox/ProcessView.vue:83 msgid "Stopped" msgstr "已停止" @@ -696,7 +809,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 "啟動成功" @@ -708,7 +822,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 "停止成功" @@ -770,7 +885,8 @@ msgstr "自啟動已成功禁用" #: src/views/apps/supervisor/IndexView.vue:308 #: src/views/apps/valkey/IndexView.vue:62 #: src/views/container/ContainerView.vue:106 -#: src/views/environment/PHPView.vue:189 src/views/tamper/IndexView.vue:229 +#: src/views/environment/PHPView.vue:189 +#: src/views/tamper/IndexView.vue:229 msgid "Running Status" msgstr "執行狀態" @@ -787,7 +903,8 @@ msgstr "自動啟動關閉" #: src/views/apps/supervisor/IndexView.vue:120 #: src/views/container/ComposeView.vue:160 #: src/views/container/ContainerView.vue:181 -#: src/views/container/ContainerView.vue:593 src/views/project/ListView.vue:130 +#: src/views/container/ContainerView.vue:593 +#: src/views/project/ListView.vue:130 #: src/views/toolbox/MigrationView.vue:278 msgid "Start" msgstr "開始" @@ -801,7 +918,8 @@ msgstr "您確定要停止 %{ service } 嗎?" #: src/views/apps/supervisor/IndexView.vue:141 #: src/views/container/ComposeView.vue:189 #: src/views/container/ContainerView.vue:186 -#: src/views/container/ContainerView.vue:596 src/views/project/ListView.vue:130 +#: src/views/container/ContainerView.vue:596 +#: src/views/project/ListView.vue:130 msgid "Stop" msgstr "停止" @@ -809,7 +927,8 @@ msgstr "停止" #: src/views/apps/prometheus/PrometheusExportersView.vue:103 #: src/views/apps/supervisor/IndexView.vue:159 #: src/views/container/ContainerView.vue:191 -#: src/views/container/ContainerView.vue:599 src/views/home/IndexView.vue:555 +#: src/views/container/ContainerView.vue:599 +#: src/views/home/IndexView.vue:555 #: src/views/project/ListView.vue:145 msgid "Restart" msgstr "重啟" @@ -842,7 +961,8 @@ msgstr "放棄" #: src/components/file-editor/EditorPane.vue:198 #: src/components/file-editor/EditorToolbar.vue:153 -#: src/views/app/CustomModal.vue:104 src/views/apps/apache/IndexView.vue:92 +#: src/views/app/CustomModal.vue:104 +#: src/views/apps/apache/IndexView.vue:92 #: src/views/apps/clickhouse/ClickHouseConfigTuneView.vue:91 #: src/views/apps/clickhouse/ClickHouseConfigTuneView.vue:116 #: src/views/apps/clickhouse/ClickHouseConfigTuneView.vue:138 @@ -855,8 +975,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 @@ -928,22 +1050,32 @@ msgstr "放棄" #: src/views/apps/valkey/ValkeyConfigTuneView.vue:205 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:230 #: src/views/container/ContainerCreate.vue:638 -#: src/views/environment/GoView.vue:90 src/views/environment/NodejsView.vue:93 +#: src/views/environment/GoView.vue:90 +#: src/views/environment/NodejsView.vue:93 #: src/views/environment/PhpConfigTuneView.vue:274 #: src/views/environment/PhpConfigTuneView.vue:305 #: src/views/environment/PhpConfigTuneView.vue:376 #: src/views/environment/PhpConfigTuneView.vue:421 #: src/views/environment/PhpConfigTuneView.vue:486 #: src/views/environment/PhpConfigTuneView.vue:561 -#: src/views/environment/PHPView.vue:236 src/views/environment/PHPView.vue:254 -#: src/views/environment/PythonView.vue:97 src/views/file/EditModal.vue:89 -#: src/views/firewall/SettingView.vue:136 src/views/project/EditModal.vue:582 -#: src/views/setting/IndexView.vue:169 src/views/tamper/RuleModal.vue:126 -#: 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:2150 +#: src/views/environment/PHPView.vue:236 +#: src/views/environment/PHPView.vue:254 +#: src/views/environment/PythonView.vue:97 +#: src/views/file/EditModal.vue:89 +#: src/views/firewall/SettingView.vue:136 +#: src/views/project/EditModal.vue:582 +#: src/views/setting/IndexView.vue:169 +#: src/views/tamper/RuleModal.vue:126 +#: 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:2150 msgid "Save" msgstr "儲存" @@ -1020,13 +1152,20 @@ msgstr "此檔案有未儲存的變更。重新整理將捨棄它們。是否繼 #: src/components/file-editor/EditorToolbar.vue:174 #: src/components/file-editor/FileTree.vue:680 #: 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/ssh/SftpBrowser.vue:138 -#: src/views/tamper/IndexView.vue:376 src/views/toolbox/MigrationView.vue:610 -#: 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/ssh/SftpBrowser.vue:138 +#: src/views/tamper/IndexView.vue:376 +#: src/views/toolbox/MigrationView.vue:610 +#: 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 "重新整理" @@ -1076,8 +1215,10 @@ msgid "Toggle Minimap" msgstr "切換小地圖" #: src/components/file-editor/EditorToolbar.vue:260 -#: src/views/firewall/IndexView.vue:26 src/views/ssh/IndexView.vue:521 -#: src/views/tamper/IndexView.vue:217 src/views/website/IndexView.vue:30 +#: src/views/firewall/IndexView.vue:26 +#: src/views/ssh/IndexView.vue:521 +#: src/views/tamper/IndexView.vue:217 +#: src/views/website/IndexView.vue:30 msgid "Settings" msgstr "設定" @@ -1152,14 +1293,22 @@ msgid "Render Whitespace" msgstr "渲染空格" #: src/components/file-editor/FileEditorView.vue:225 -#: 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:57 -#: src/views/database/ServerList.vue:78 src/views/database/ServerList.vue:93 -#: src/views/database/UserList.vue:28 src/views/database/UserList.vue:68 -#: src/views/firewall/ForwardView.vue:27 src/views/firewall/IpRuleView.vue:27 -#: src/views/firewall/IpRuleView.vue:44 src/views/firewall/RuleView.vue:44 -#: src/views/firewall/RuleView.vue:61 src/views/toolbox/MigrationView.vue:501 +#: 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:57 +#: src/views/database/ServerList.vue:78 +#: src/views/database/ServerList.vue:93 +#: src/views/database/UserList.vue:28 +#: src/views/database/UserList.vue:68 +#: src/views/firewall/ForwardView.vue:27 +#: src/views/firewall/IpRuleView.vue:27 +#: src/views/firewall/IpRuleView.vue:44 +#: src/views/firewall/RuleView.vue:44 +#: src/views/firewall/RuleView.vue:61 +#: src/views/toolbox/MigrationView.vue:501 #: src/views/toolbox/MigrationView.vue:502 #: src/views/toolbox/MigrationView.vue:581 #: src/views/toolbox/MigrationView.vue:596 @@ -1179,9 +1328,12 @@ msgid "Trailing" msgstr "尾部" #: src/components/file-editor/FileEditorView.vue:229 -#: src/views/app/AppView.vue:243 src/views/app/EnvironmentView.vue:233 -#: 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:243 +#: src/views/app/EnvironmentView.vue:233 +#: 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 "全部" @@ -1278,12 +1430,14 @@ msgstr "輸入時格式化" msgid "Failed to create" msgstr "建立失敗" -#: src/components/file-editor/FileTree.vue:360 src/views/file/ListView.vue:1471 +#: src/components/file-editor/FileTree.vue:360 +#: src/views/file/ListView.vue:1471 #: src/views/file/ListView.vue:1492 msgid "Folder name" msgstr "資料夾名稱" -#: src/components/file-editor/FileTree.vue:360 src/views/file/ListView.vue:1471 +#: src/components/file-editor/FileTree.vue:360 +#: src/views/file/ListView.vue:1471 #: src/views/file/ListView.vue:1492 msgid "File name" msgstr "檔案名稱" @@ -1293,8 +1447,10 @@ msgstr "檔案名稱" #: src/views/container/ContainerView.vue:640 #: src/views/database/RedisDataView.vue:168 #: src/views/file/composables/usePaste.ts:48 -#: src/views/file/composables/usePaste.ts:164 src/views/file/ListView.vue:420 -#: src/views/file/ListView.vue:1664 src/views/file/UploadModal.vue:749 +#: src/views/file/composables/usePaste.ts:164 +#: src/views/file/ListView.vue:420 +#: src/views/file/ListView.vue:1664 +#: src/views/file/UploadModal.vue:749 #: src/views/file/UploadModal.vue:783 msgid "Rename" msgstr "重新命名" @@ -1312,39 +1468,59 @@ 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:211 #: src/views/container/ContainerView.vue:611 -#: 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:378 -#: src/views/file/ListView.vue:434 src/views/file/ListView.vue:1675 -#: src/views/file/ToolBar.vue:198 src/views/firewall/ForwardView.vue:98 -#: src/views/firewall/ForwardView.vue:162 src/views/firewall/IpRuleView.vue:140 -#: src/views/firewall/IpRuleView.vue:204 src/views/firewall/RuleView.vue:248 -#: src/views/firewall/RuleView.vue:333 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:614 src/views/tamper/IndexView.vue:148 -#: src/views/task/CronView.vue:169 src/views/task/IndexView.vue:41 -#: src/views/task/TaskView.vue:127 src/views/toolbox/WebHookView.vue:172 -#: src/views/website/ListView.vue:305 src/views/website/ListView.vue:423 +#: src/views/database/ServerList.vue:247 +#: src/views/database/UserList.vue:165 +#: src/views/environment/PHPView.vue:107 +#: src/views/file/ListView.vue:378 +#: src/views/file/ListView.vue:434 +#: src/views/file/ListView.vue:1675 +#: src/views/file/ToolBar.vue:198 +#: src/views/firewall/ForwardView.vue:98 +#: src/views/firewall/ForwardView.vue:162 +#: src/views/firewall/IpRuleView.vue:140 +#: src/views/firewall/IpRuleView.vue:204 +#: src/views/firewall/RuleView.vue:248 +#: src/views/firewall/RuleView.vue:333 +#: 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:614 +#: src/views/tamper/IndexView.vue:148 +#: src/views/task/CronView.vue:169 +#: src/views/task/IndexView.vue:41 +#: src/views/task/TaskView.vue:127 +#: src/views/toolbox/WebHookView.vue:172 +#: src/views/website/ListView.vue:305 +#: src/views/website/ListView.vue:423 msgid "Delete" msgstr "刪除" -#: src/components/file-editor/FileTree.vue:463 src/views/file/ListView.vue:412 -#: src/views/file/ListView.vue:1659 src/views/monitor/IndexView.vue:602 +#: src/components/file-editor/FileTree.vue:463 +#: src/views/file/ListView.vue:412 +#: src/views/file/ListView.vue:1659 +#: src/views/monitor/IndexView.vue:602 #: src/views/toolbox/SshView.vue:345 msgid "Download" msgstr "下載" @@ -1364,7 +1540,8 @@ msgstr "重命名失敗" #: src/components/file-editor/FileTree.vue:588 #: src/views/apps/nginx/NginxIndex.vue:211 -#: src/views/apps/nginx/NginxIndex.vue:275 src/views/file/ListView.vue:894 +#: src/views/apps/nginx/NginxIndex.vue:275 +#: src/views/file/ListView.vue:894 #: src/views/file/ListView.vue:1669 msgid "Are you sure you want to delete %{ name }?" msgstr "您確定要刪除 %{ name } 嗎?" @@ -1375,9 +1552,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 @@ -1385,17 +1564,26 @@ msgstr "您確定要刪除 %{ name } 嗎?" #: src/views/database/ElasticsearchDataView.vue:241 #: src/views/database/ElasticsearchDataView.vue:250 #: src/views/database/RedisDataView.vue:211 -#: src/views/database/ServerList.vue:269 src/views/database/UserList.vue:185 +#: src/views/database/ServerList.vue:269 +#: src/views/database/UserList.vue:185 #: src/views/file/composables/useFileOps.ts:31 #: 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:290 -#: src/views/firewall/RuleView.vue:308 src/views/project/ListView.vue:268 -#: src/views/project/ListView.vue:278 src/views/setting/PasskeyModal.vue:96 -#: src/views/setting/SettingUser.vue:173 src/views/setting/TokenModal.vue:106 -#: src/views/tamper/IndexView.vue:109 src/views/task/CronView.vue:231 -#: src/views/task/CronView.vue:241 src/views/task/TaskView.vue:149 -#: src/views/toolbox/WebHookView.vue:225 src/views/website/ListView.vue:379 +#: src/views/firewall/ForwardView.vue:137 +#: src/views/firewall/IpRuleView.vue:161 +#: src/views/firewall/IpRuleView.vue:179 +#: src/views/firewall/RuleView.vue:290 +#: src/views/firewall/RuleView.vue:308 +#: src/views/project/ListView.vue:268 +#: src/views/project/ListView.vue:278 +#: src/views/setting/PasskeyModal.vue:96 +#: src/views/setting/SettingUser.vue:173 +#: src/views/setting/TokenModal.vue:106 +#: src/views/tamper/IndexView.vue:109 +#: src/views/task/CronView.vue:231 +#: src/views/task/CronView.vue:241 +#: src/views/task/TaskView.vue:149 +#: src/views/toolbox/WebHookView.vue:225 +#: src/views/website/ListView.vue:379 #: src/views/website/ListView.vue:389 msgid "Deleted successfully" msgstr "刪除成功" @@ -1408,15 +1596,18 @@ msgstr "刪除失敗" msgid "Go Up" msgstr "上一級" -#: src/components/file-editor/FileTree.vue:687 src/views/file/ListView.vue:359 +#: src/components/file-editor/FileTree.vue:687 +#: src/views/file/ListView.vue:359 msgid "New File" msgstr "新增檔案" -#: src/components/file-editor/FileTree.vue:688 src/views/file/ListView.vue:360 +#: src/components/file-editor/FileTree.vue:688 +#: src/views/file/ListView.vue:360 msgid "New Folder" msgstr "新增資料夾" -#: src/components/file-editor/FileTree.vue:692 src/views/file/ToolBar.vue:152 +#: src/components/file-editor/FileTree.vue:692 +#: src/views/file/ToolBar.vue:152 msgid "New" msgstr "新建" @@ -1438,7 +1629,8 @@ msgstr "無資料" msgid "selected" msgstr "已選擇" -#: src/components/system/BatchActions.vue:70 src/views/file/ListView.vue:1709 +#: src/components/system/BatchActions.vue:70 +#: src/views/file/ListView.vue:1709 msgid "Clear" msgstr "清除" @@ -1446,7 +1638,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 "已複製" @@ -1457,9 +1650,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:374 src/views/file/ListView.vue:408 -#: src/views/file/ListView.vue:1004 src/views/file/ToolBar.vue:187 +#: src/views/database/ServerList.vue:106 +#: src/views/database/UserList.vue:56 +#: src/views/file/ListView.vue:374 +#: src/views/file/ListView.vue:408 +#: src/views/file/ListView.vue:1004 +#: src/views/file/ToolBar.vue:187 msgid "Copy" msgstr "複製" @@ -1490,9 +1686,7 @@ msgid "Panel encountered a fault: %{key}" msgstr "面板遇到故障:%{key}" #: src/components/system/HealthBanner.vue:37 -msgid "" -"Try running \"acepanel fix\" on the server to detect and rebuild the broken " -"database file." +msgid "Try running \"acepanel fix\" on the server to detect and rebuild the broken database file." msgstr "請嘗試在伺服器上執行 \"acepanel fix\" 來偵測並重建損壞的資料庫檔案。" #: src/components/system/TableLayout.vue:86 @@ -1539,7 +1733,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 "更改密碼" @@ -1560,12 +1755,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 "未知" @@ -1589,25 +1788,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:1712 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:568 #: src/views/website/CreateModal.vue:248 msgid "Database" @@ -1625,7 +1831,8 @@ msgstr "防火牆" msgid "Home" msgstr "首頁" -#: src/locales/menu.ts:15 src/views/apps/grafana/GrafanaConfigTuneView.vue:223 +#: src/locales/menu.ts:15 +#: src/views/apps/grafana/GrafanaConfigTuneView.vue:223 msgid "Security" msgstr "安全" @@ -1637,7 +1844,8 @@ msgstr "防竄改" msgid "Monitoring" msgstr "監控" -#: src/locales/menu.ts:19 src/views/home/IndexView.vue:539 +#: src/locales/menu.ts:19 +#: src/views/home/IndexView.vue:539 msgid "Project" msgstr "項目" @@ -1653,10 +1861,13 @@ msgstr "任務" msgid "Toolbox" msgstr "工具箱" -#: src/locales/menu.ts:24 src/views/app/AppView.vue:102 -#: src/views/app/EnvironmentView.vue:86 src/views/app/InstalledView.vue:117 +#: src/locales/menu.ts:24 +#: src/views/app/AppView.vue:102 +#: src/views/app/EnvironmentView.vue:86 +#: src/views/app/InstalledView.vue:117 #: src/views/app/InstalledView.vue:228 -#: 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 "更新" @@ -1685,40 +1896,52 @@ msgstr "Rsync 管理器" msgid "Frp Manager" msgstr "Frp 管理器" -#: src/router/routes/index.ts:32 src/views/login/IndexView.vue:309 +#: src/router/routes/index.ts:32 +#: src/views/login/IndexView.vue:309 msgid "Login" msgstr "登入" -#: src/views/app/AppView.vue:20 src/views/app/AppView.vue:148 -#: src/views/app/AppView.vue:152 src/views/app/EnvironmentView.vue:139 +#: src/views/app/AppView.vue:20 +#: src/views/app/AppView.vue:148 +#: src/views/app/AppView.vue:152 +#: src/views/app/EnvironmentView.vue:139 #: src/views/apps/prometheus/PrometheusExportersView.vue:79 #: src/views/environment/PHPView.vue:107 msgid "Install" msgstr "安裝" -#: src/views/app/AppView.vue:42 src/views/app/InstalledView.vue:47 +#: src/views/app/AppView.vue:42 +#: src/views/app/InstalledView.vue:47 msgid "App Name" msgstr "應用名稱" -#: src/views/app/AppView.vue:48 src/views/app/EnvironmentView.vue:42 -#: src/views/app/InstalledView.vue:53 src/views/app/InstalledView.vue:190 +#: src/views/app/AppView.vue:48 +#: src/views/app/EnvironmentView.vue:42 +#: src/views/app/InstalledView.vue:53 +#: src/views/app/InstalledView.vue:190 #: 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:54 src/views/app/EnvironmentView.vue:54 -#: src/views/app/InstalledView.vue:59 src/views/app/InstalledView.vue:196 +#: src/views/app/AppView.vue:54 +#: src/views/app/EnvironmentView.vue:54 +#: src/views/app/InstalledView.vue:59 +#: src/views/app/InstalledView.vue:196 msgid "Installed Version" msgstr "已安裝版本" -#: src/views/app/AppView.vue:60 src/views/app/InstalledView.vue:75 +#: src/views/app/AppView.vue:60 +#: src/views/app/InstalledView.vue:75 msgid "Show in Home" msgstr "在主頁顯示" -#: src/views/app/AppView.vue:73 src/views/app/EnvironmentView.vue:60 -#: src/views/app/InstalledView.vue:88 src/views/app/InstalledView.vue:202 +#: src/views/app/AppView.vue:73 +#: src/views/app/EnvironmentView.vue:60 +#: src/views/app/InstalledView.vue:88 +#: src/views/app/InstalledView.vue:202 #: src/views/apps/fail2ban/IndexView.vue:63 #: src/views/apps/fail2ban/IndexView.vue:112 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:99 @@ -1727,89 +1950,120 @@ 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:113 -#: 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:1453 -#: src/views/file/ShareModal.vue:102 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/tamper/IndexView.vue:137 -#: src/views/task/CronView.vue:119 src/views/task/TaskView.vue:69 -#: src/views/toolbox/DiskView.vue:298 src/views/toolbox/DiskView.vue:608 -#: src/views/toolbox/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:1453 +#: src/views/file/ShareModal.vue:102 +#: 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/tamper/IndexView.vue:137 +#: src/views/task/CronView.vue:119 +#: src/views/task/TaskView.vue:69 +#: src/views/toolbox/DiskView.vue:298 +#: src/views/toolbox/DiskView.vue:608 +#: src/views/toolbox/WebHookView.vue:135 +#: src/views/website/ListView.vue:246 msgid "Actions" msgstr "操作" -#: src/views/app/AppView.vue:93 src/views/app/EnvironmentView.vue:78 -#: src/views/app/InstalledView.vue:108 src/views/app/InstalledView.vue:220 +#: src/views/app/AppView.vue:93 +#: src/views/app/EnvironmentView.vue:78 +#: src/views/app/InstalledView.vue:108 +#: src/views/app/InstalledView.vue:220 #: src/views/container/ContainerCreate.vue:142 msgid "Confirm Update" msgstr "確認更新" -#: src/views/app/AppView.vue:94 src/views/app/InstalledView.vue:109 -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:94 +#: src/views/app/InstalledView.vue:109 +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:115 src/views/app/EnvironmentView.vue:99 -#: src/views/app/InstalledView.vue:129 src/views/app/InstalledView.vue:240 +#: src/views/app/AppView.vue:115 +#: src/views/app/EnvironmentView.vue:99 +#: src/views/app/InstalledView.vue:129 +#: src/views/app/InstalledView.vue:240 msgid "Manage" msgstr "管理" -#: src/views/app/AppView.vue:124 src/views/app/EnvironmentView.vue:108 -#: src/views/app/InstalledView.vue:138 src/views/app/InstalledView.vue:249 +#: src/views/app/AppView.vue:124 +#: src/views/app/EnvironmentView.vue:108 +#: src/views/app/InstalledView.vue:138 +#: src/views/app/InstalledView.vue:249 #: src/views/apps/prometheus/PrometheusExportersView.vue:124 #: src/views/environment/PHPView.vue:85 msgid "Confirm Uninstall" msgstr "確認卸載" -#: src/views/app/AppView.vue:126 src/views/app/InstalledView.vue:140 -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:126 +#: src/views/app/InstalledView.vue:140 +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:129 src/views/app/InstalledView.vue:143 +#: src/views/app/AppView.vue:129 +#: src/views/app/InstalledView.vue:143 msgid "Are you sure to uninstall app %{ app }?" msgstr "您確定要卸載應用程式 %{ app } 嗎?" -#: src/views/app/AppView.vue:130 src/views/app/AppView.vue:136 -#: src/views/app/EnvironmentView.vue:112 src/views/app/EnvironmentView.vue:118 -#: src/views/app/InstalledView.vue:144 src/views/app/InstalledView.vue:150 -#: src/views/app/InstalledView.vue:253 src/views/app/InstalledView.vue:259 +#: src/views/app/AppView.vue:130 +#: src/views/app/AppView.vue:136 +#: src/views/app/EnvironmentView.vue:112 +#: src/views/app/EnvironmentView.vue:118 +#: src/views/app/InstalledView.vue:144 +#: src/views/app/InstalledView.vue:150 +#: src/views/app/InstalledView.vue:253 +#: src/views/app/InstalledView.vue:259 #: src/views/apps/prometheus/PrometheusExportersView.vue:128 msgid "Uninstall" msgstr "卸載" -#: src/views/app/AppView.vue:168 src/views/app/CustomModal.vue:83 -#: src/views/app/EnvironmentView.vue:156 src/views/app/InstalledView.vue:161 +#: src/views/app/AppView.vue:168 +#: src/views/app/CustomModal.vue:83 +#: src/views/app/EnvironmentView.vue:156 +#: src/views/app/InstalledView.vue:161 #: src/views/app/InstalledView.vue:271 msgid "Compile Params" msgstr "編譯參數" -#: src/views/app/AppView.vue:204 src/views/app/InstalledView.vue:311 +#: src/views/app/AppView.vue:204 +#: src/views/app/InstalledView.vue:311 msgid "Setup successfully" msgstr "設定成功" -#: src/views/app/AppView.vue:211 src/views/app/AppView.vue:219 -#: src/views/app/EnvironmentView.vue:193 src/views/app/EnvironmentView.vue:201 -#: src/views/app/EnvironmentView.vue:209 src/views/app/InstalledView.vue:318 -#: src/views/app/InstalledView.vue:326 src/views/app/InstalledView.vue:339 -#: src/views/app/InstalledView.vue:347 src/views/app/VersionModal.vue:42 +#: src/views/app/AppView.vue:211 +#: src/views/app/AppView.vue:219 +#: src/views/app/EnvironmentView.vue:193 +#: src/views/app/EnvironmentView.vue:201 +#: src/views/app/EnvironmentView.vue:209 +#: src/views/app/InstalledView.vue:318 +#: src/views/app/InstalledView.vue:326 +#: src/views/app/InstalledView.vue:339 +#: src/views/app/InstalledView.vue:347 +#: src/views/app/VersionModal.vue:42 msgid "Task submitted, please check the progress in background tasks" msgstr "任務已提交,請在後台任務中查看進度" @@ -1818,37 +2072,32 @@ msgid "Custom Compile Params" msgstr "自訂編譯參數" #: src/views/app/CustomModal.vue:65 -msgid "" -"Settings are saved persistently and applied automatically on every install " -"and update (recompile), no need to re-enter after reinstalling." -msgstr "" -"設定會持久儲存,每次安裝與更新(重新編譯)時自動套用,重裝後無需重新填寫。" +msgid "Settings are saved persistently and applied automatically on every install and update (recompile), no need to re-enter after reinstalling." +msgstr "設定會持久儲存,每次安裝與更新(重新編譯)時自動套用,重裝後無需重新填寫。" #: src/views/app/CustomModal.vue:71 msgid "Pre-script" msgstr "前置指令碼" #: src/views/app/CustomModal.vue:75 -msgid "" -"Runs before configure, can be used to download and prepare third-party " -"module sources." +msgid "Runs before configure, can be used to download and prepare third-party module sources." msgstr "在 configure 之前執行,可用於下載與準備第三方模組原始碼。" #: src/views/app/CustomModal.vue:87 -msgid "" -"One param per line, appended to the end of configure. Lines starting with # " -"are ignored." +msgid "One param per line, appended to the end of configure. Lines starting with # are ignored." msgstr "每行一個參數,附加到 configure 結尾,以 # 開頭的行將被忽略。" #: src/views/app/EnvironmentView.vue:48 msgid "Latest Version" msgstr "最新版本" -#: src/views/app/EnvironmentView.vue:79 src/views/app/InstalledView.vue:221 +#: src/views/app/EnvironmentView.vue:79 +#: src/views/app/InstalledView.vue:221 msgid "Are you sure to update environment %{ environment }?" msgstr "您確定要更新環境 %{ environment } 嗎?" -#: src/views/app/EnvironmentView.vue:109 src/views/app/InstalledView.vue:250 +#: src/views/app/EnvironmentView.vue:109 +#: src/views/app/InstalledView.vue:250 msgid "Are you sure to uninstall environment %{ environment }?" msgstr "您確定要卸載環境 %{ environment } 嗎?" @@ -1870,11 +2119,13 @@ msgstr "快取更新成功" msgid "Installed" msgstr "已安裝" -#: src/views/app/IndexView.vue:41 src/views/app/InstalledView.vue:366 +#: src/views/app/IndexView.vue:41 +#: src/views/app/InstalledView.vue:366 msgid "Native App" msgstr "原生應用" -#: src/views/app/IndexView.vue:42 src/views/app/InstalledView.vue:390 +#: src/views/app/IndexView.vue:42 +#: src/views/app/InstalledView.vue:390 msgid "Operating Environment" msgstr "執行環境" @@ -1890,23 +2141,31 @@ msgstr "更新快取" msgid "Partial" msgstr "部分" -#: src/views/app/InstalledView.vue:65 src/views/apps/fail2ban/IndexView.vue:47 +#: src/views/app/InstalledView.vue:65 +#: src/views/apps/fail2ban/IndexView.vue:47 #: src/views/apps/phpmyadmin/IndexView.vue:67 #: src/views/apps/prometheus/PrometheusExportersView.vue:38 #: src/views/apps/supervisor/IndexView.vue:63 #: src/views/container/ComposeView.vue:86 #: src/views/container/ContainerInfoModal.vue:108 #: src/views/container/ContainerView.vue:58 -#: 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/tamper/IndexView.vue:127 src/views/tamper/IndexView.vue:231 -#: 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/tamper/IndexView.vue:127 +#: src/views/tamper/IndexView.vue:231 +#: 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:495 #: src/views/toolbox/MigrationView.vue:727 -#: src/views/toolbox/MigrationView.vue:814 src/views/toolbox/NetworkView.vue:96 -#: src/views/toolbox/ProcessView.vue:134 src/views/toolbox/ProcessView.vue:399 +#: src/views/toolbox/MigrationView.vue:814 +#: 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 "狀態" @@ -1931,9 +2190,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 "更新成功" @@ -1946,7 +2208,8 @@ msgstr "部署模板" msgid "Deploy Mode" msgstr "部署模式" -#: src/views/app/TemplateDeployModal.vue:340 src/views/tamper/IndexView.vue:245 +#: src/views/app/TemplateDeployModal.vue:340 +#: src/views/tamper/IndexView.vue:245 msgid "Configuration" msgstr "配置" @@ -2009,7 +2272,8 @@ msgstr "自動放行 compose 中定義的連接埠" #: src/views/container/ComposeView.vue:357 #: src/views/container/ContainerCreate.vue:553 #: src/views/container/ContainerInfoModal.vue:178 -#: 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 "環境變數" @@ -2031,9 +2295,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 @@ -2061,8 +2323,10 @@ msgstr "更新現有" #: src/views/apps/grafana/GrafanaDataSourcesView.vue:94 #: src/views/apps/nginx/NginxIndex.vue:186 #: src/views/container/ContainerInfoModal.vue:123 -#: src/views/file/ListView.vue:269 src/views/file/ListView.vue:899 -#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/file/ListView.vue:269 +#: src/views/file/ListView.vue:899 +#: src/views/file/PropertyModal.vue:55 +#: src/views/file/PropertyModal.vue:59 #: src/views/toolbox/WebHookView.vue:85 msgid "Yes" msgstr "是" @@ -2072,8 +2336,10 @@ msgstr "是" #: src/views/apps/grafana/GrafanaDataSourcesView.vue:95 #: src/views/apps/nginx/NginxIndex.vue:186 #: src/views/container/ContainerInfoModal.vue:123 -#: src/views/file/ListView.vue:270 src/views/file/ListView.vue:900 -#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/file/ListView.vue:270 +#: src/views/file/ListView.vue:900 +#: src/views/file/PropertyModal.vue:55 +#: src/views/file/PropertyModal.vue:59 #: src/views/toolbox/WebHookView.vue:85 msgid "No" msgstr "否" @@ -2104,13 +2370,16 @@ msgstr "下一步" msgid "Starting Compose" msgstr "正在啟動編排" -#: src/views/app/TemplateView.vue:142 src/views/backup/StorageView.vue:78 -#: src/views/ssh/IndexView.vue:82 src/views/ssh/IndexView.vue:88 +#: src/views/app/TemplateView.vue:142 +#: src/views/backup/StorageView.vue:78 +#: src/views/ssh/IndexView.vue:82 +#: src/views/ssh/IndexView.vue:88 #: src/views/toolbox/MigrationView.vue:493 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 "部署" @@ -2144,7 +2413,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 "屬性" @@ -2162,7 +2432,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 "當前值" @@ -2176,16 +2447,21 @@ 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/tamper/IndexView.vue:207 -#: src/views/task/CronView.vue:23 src/views/task/TaskView.vue:21 -#: src/views/website/EditModal.vue:271 src/views/website/StatsView.vue:93 +#: src/views/environment/PHPView.vue:162 +#: src/views/environment/PHPView.vue:169 +#: src/views/firewall/ScanView.vue:336 +#: src/views/tamper/IndexView.vue:207 +#: src/views/task/CronView.vue:23 +#: src/views/task/TaskView.vue:21 +#: src/views/website/EditModal.vue:271 +#: 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 @@ -2195,11 +2471,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 @@ -2215,7 +2488,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 "負載狀態" @@ -2257,8 +2531,10 @@ msgstr "錯誤日誌" #: src/views/apps/mongodb/MongoDBConfigTuneView.vue:88 #: src/views/container/ContainerCreate.vue:314 #: src/views/container/ContainerInfoModal.vue:125 -#: src/views/home/IndexView.vue:188 src/views/home/IndexView.vue:955 -#: src/views/monitor/IndexView.vue:990 src/views/toolbox/IndexView.vue:28 +#: 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 "網路" @@ -2328,13 +2604,20 @@ msgstr "日誌級別(logger.level)" #: src/views/database/ServerList.vue:275 #: src/views/database/UpdateServerModal.vue:27 #: src/views/database/UpdateUserModal.vue:23 -#: src/views/database/UserList.vue:191 src/views/file/PermissionModal.vue:57 -#: src/views/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 src/views/website/SettingView.vue:88 +#: 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 +#: src/views/website/SettingView.vue:88 msgid "Modified successfully" msgstr "修改成功" @@ -2342,7 +2625,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:29 #: src/views/setting/TokenModal.vue:155 msgid "Copied successfully" @@ -2353,9 +2637,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 @@ -2370,16 +2652,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 @@ -2395,16 +2675,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 @@ -2428,7 +2706,8 @@ msgstr "中國 - 騰訊(僅內網)" #: src/views/apps/docker/IndexView.vue:194 #: src/views/container/ContainerCreate.vue:294 -#: src/views/project/EditModal.vue:182 src/views/website/EditModal.vue:917 +#: src/views/project/EditModal.vue:182 +#: src/views/website/EditModal.vue:917 msgid "Basic Settings" msgstr "基本設定" @@ -2436,14 +2715,13 @@ msgstr "基本設定" msgid "Registry Mirrors" msgstr "註冊表鏡像" -#: src/views/apps/docker/IndexView.vue:203 src/views/website/EditModal.vue:1739 +#: src/views/apps/docker/IndexView.vue:203 +#: src/views/website/EditModal.vue:1739 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 @@ -2454,7 +2732,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 "新增" @@ -2463,12 +2742,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" @@ -2539,9 +2814,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 @@ -2605,12 +2878,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" @@ -2665,11 +2934,8 @@ msgstr "路徑和 JVM" #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:106 #: src/views/apps/opensearch/OpenSearchConfigTuneView.vue:106 -msgid "" -"Data paths and JVM heap memory settings. Heap size is recommended to be 50% " -"of system RAM, max 31g." -msgstr "" -"資料路徑與 JVM 堆積記憶體設定。建議堆積大小為系統 RAM 的 50%,最大 31g。" +msgid "Data paths and JVM heap memory settings. Heap size is recommended to be 50% of system RAM, max 31g." +msgstr "資料路徑與 JVM 堆積記憶體設定。建議堆積大小為系統 RAM 的 50%,最大 31g。" #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:112 #: src/views/apps/opensearch/OpenSearchConfigTuneView.vue:112 @@ -2698,11 +2964,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 @@ -2719,7 +2982,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" @@ -2740,7 +3004,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" @@ -2773,39 +3038,38 @@ msgstr "規則列表" #: src/views/apps/fail2ban/IndexView.vue:275 #: src/views/apps/fail2ban/IndexView.vue:285 -#: src/views/apps/fail2ban/IndexView.vue:289 src/views/tamper/IndexView.vue:340 +#: src/views/apps/fail2ban/IndexView.vue:289 +#: src/views/tamper/IndexView.vue:340 #: src/views/tamper/RuleModal.vue:83 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/container/ContainerInfoModal.vue:149 +#: 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/container/ContainerInfoModal.vue:149 #: 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:725 -#: src/views/toolbox/MigrationView.vue:812 src/views/toolbox/NetworkView.vue:61 +#: src/views/toolbox/MigrationView.vue:812 +#: src/views/toolbox/NetworkView.vue:61 msgid "Type" msgstr "類型" @@ -2815,21 +3079,27 @@ 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 "選擇網站" -#: src/views/apps/fail2ban/IndexView.vue:326 src/views/tamper/IndexView.vue:250 +#: src/views/apps/fail2ban/IndexView.vue:326 +#: src/views/tamper/IndexView.vue:250 msgid "Protection Mode" msgstr "保護模式" #: src/views/apps/fail2ban/IndexView.vue:331 #: src/views/apps/pureftpd/IndexView.vue:46 -#: src/views/backup/StorageView.vue:277 src/views/backup/StorageView.vue:331 -#: src/views/backup/StorageView.vue:361 src/views/backup/StorageView.vue:433 -#: src/views/backup/StorageView.vue:487 src/views/backup/StorageView.vue:514 -#: src/views/log/HttpLog.vue:85 src/views/tamper/IndexView.vue:195 +#: src/views/backup/StorageView.vue:277 +#: src/views/backup/StorageView.vue:331 +#: src/views/backup/StorageView.vue:361 +#: src/views/backup/StorageView.vue:433 +#: src/views/backup/StorageView.vue:487 +#: src/views/backup/StorageView.vue:514 +#: src/views/log/HttpLog.vue:85 +#: src/views/tamper/IndexView.vue:195 msgid "Path" msgstr "路徑" @@ -2859,42 +3129,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:135 -#: 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:135 +#: 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:136 +#: src/views/database/DatabaseList.vue:28 +#: src/views/database/IndexView.vue:136 #: src/views/database/UserList.vue:73 msgid "Server" msgstr "伺服器" @@ -3044,12 +3327,17 @@ msgstr "瀏覽器(直連)" #: src/views/apps/grafana/GrafanaDataSourcesView.vue:111 #: src/views/apps/nginx/NginxIndex.vue:202 -#: src/views/apps/nginx/NginxIndex.vue:266 src/views/backup/StorageView.vue:111 +#: src/views/apps/nginx/NginxIndex.vue:266 +#: src/views/backup/StorageView.vue:111 #: src/views/container/ComposeView.vue:123 -#: src/views/container/ContainerView.vue:177 src/views/file/ListView.vue:399 -#: src/views/file/ListView.vue:1656 src/views/project/ListView.vue:177 -#: src/views/ssh/IndexView.vue:602 src/views/tamper/IndexView.vue:143 -#: src/views/task/CronView.vue:155 src/views/toolbox/WebHookView.vue:158 +#: src/views/container/ContainerView.vue:177 +#: src/views/file/ListView.vue:399 +#: src/views/file/ListView.vue:1656 +#: src/views/project/ListView.vue:177 +#: src/views/ssh/IndexView.vue:602 +#: src/views/tamper/IndexView.vue:143 +#: src/views/task/CronView.vue:155 +#: src/views/toolbox/WebHookView.vue:158 #: src/views/website/ListView.vue:259 msgid "Edit" msgstr "編輯" @@ -3079,20 +3367,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:105 -#: 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:1991 +#: 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:1991 msgid "Password" msgstr "密碼" @@ -3109,28 +3405,19 @@ msgid "Import dashboards in Grafana via Dashboard ID:" msgstr "透過 Dashboard ID 在 Grafana 中匯入儀表盤:" #: src/views/apps/grafana/IndexView.vue:83 -msgid "" -"Go to Grafana → Dashboards → New → Import, enter the ID above and select the " -"Prometheus data source." -msgstr "" -"前往 Grafana → Dashboards → New → Import,輸入上方 ID 並選擇 Prometheus 資料" -"源。" +msgid "Go to Grafana → Dashboards → New → Import, enter the ID above and select the Prometheus data source." +msgstr "前往 Grafana → Dashboards → New → Import,輸入上方 ID 並選擇 Prometheus 資料源。" #: src/views/apps/grafana/IndexView.vue:96 -msgid "" -"This modifies the Grafana main configuration file. If you do not understand " -"the meaning of each parameter, please do not modify it randomly!" -msgstr "" -"這將修改 Grafana 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" +msgid "This modifies the Grafana main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" +msgstr "這將修改 Grafana 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/grafana/IndexView.vue:117 msgid "Data Sources" msgstr "資料源" #: src/views/apps/kafka/IndexView.vue:69 -msgid "" -"This modifies the Kafka main configuration file. If you do not understand " -"the meaning of each parameter, please do not modify it randomly!" +msgid "This modifies the Kafka main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" msgstr "這將修改 Kafka 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/kafka/KafkaConfigTuneView.vue:60 @@ -3238,32 +3525,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!" +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 "儲存" @@ -3304,7 +3584,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 "通用" @@ -3515,17 +3796,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" @@ -3601,9 +3877,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 @@ -3641,9 +3915,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 @@ -3667,8 +3939,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 @@ -3695,13 +3966,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:1114 +#: src/views/apps/nginx/NginxIndex.vue:635 +#: src/views/website/EditModal.vue:1114 msgid "Proxy Pass" msgstr "代理目標" @@ -3752,15 +4025,18 @@ msgstr "Stream" #: src/views/apps/nginx/NginxIndex.vue:533 #: src/views/database/CreateServerModal.vue:92 -#: src/views/database/IndexView.vue:184 src/views/website/EditModal.vue:1051 +#: src/views/database/IndexView.vue:184 +#: src/views/website/EditModal.vue:1051 msgid "Add Server" msgstr "新增伺服器" -#: src/views/apps/nginx/NginxIndex.vue:546 src/views/website/EditModal.vue:970 +#: src/views/apps/nginx/NginxIndex.vue:546 +#: src/views/website/EditModal.vue:970 msgid "Upstream" msgstr "上游" -#: src/views/apps/nginx/NginxIndex.vue:550 src/views/website/EditModal.vue:1067 +#: src/views/apps/nginx/NginxIndex.vue:550 +#: src/views/website/EditModal.vue:1067 msgid "Add Upstream" msgstr "新增上游" @@ -3817,7 +4093,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:981 +#: src/views/apps/nginx/NginxIndex.vue:713 +#: src/views/website/EditModal.vue:981 msgid "Load Balancing Algorithm" msgstr "負載均衡算法" @@ -3839,7 +4116,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 "選項" @@ -3847,27 +4125,27 @@ msgstr "選項" msgid "No servers added yet" msgstr "尚未新增伺服器" -#: src/views/apps/nginx/NginxIndex.vue:777 src/views/website/EditModal.vue:1011 +#: src/views/apps/nginx/NginxIndex.vue:777 +#: src/views/website/EditModal.vue:1011 #: src/views/website/EditModal.vue:1148 msgid "DNS Resolver" msgstr "DNS 解析器" -#: src/views/apps/nginx/NginxIndex.vue:780 src/views/website/EditModal.vue:1014 +#: src/views/apps/nginx/NginxIndex.vue:780 +#: src/views/website/EditModal.vue:1014 #: src/views/website/EditModal.vue:1151 msgid "e.g., 8.8.8.8" msgstr "例如 8.8.8.8" -#: src/views/apps/nginx/NginxIndex.vue:786 src/views/website/EditModal.vue:1020 +#: src/views/apps/nginx/NginxIndex.vue:786 +#: src/views/website/EditModal.vue:1020 #: src/views/website/EditModal.vue:1157 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." @@ -3896,9 +4174,7 @@ msgid "Login Password" msgstr "登入密碼" #: src/views/apps/pgadmin/IndexView.vue:80 -msgid "" -"If the password has been changed in pgAdmin, the actual password shall " -"prevail." +msgid "If the password has been changed in pgAdmin, the actual password shall prevail." msgstr "若已在 pgAdmin 中修改過密碼,以實際密碼為準。" #: src/views/apps/pgadmin/IndexView.vue:87 @@ -3918,7 +4194,8 @@ msgstr "重設密碼" msgid "New password" msgstr "新密碼" -#: src/views/apps/pgadmin/IndexView.vue:116 src/views/toolbox/SshView.vue:314 +#: src/views/apps/pgadmin/IndexView.vue:116 +#: src/views/toolbox/SshView.vue:314 msgid "Reset" msgstr "重設" @@ -3931,28 +4208,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 @@ -3960,9 +4228,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 @@ -3970,29 +4236,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" @@ -4031,11 +4288,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:527 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:527 +#: 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 "記憶體" @@ -4165,33 +4427,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" @@ -4243,13 +4492,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 @@ -4262,17 +4511,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:97 -#: 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:1990 msgid "Username" msgstr "使用者名稱" @@ -4306,14 +4560,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:177 src/views/setting/CreateModal.vue:38 +#: src/views/database/IndexView.vue:177 +#: 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 @@ -4326,11 +4583,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 "目錄" @@ -4387,9 +4648,7 @@ msgid "e.g. 99" msgstr "例如 99" #: src/views/apps/redis/IndexView.vue:69 -msgid "" -"This modifies the Redis main configuration file. If you do not understand " -"the meaning of each parameter, please do not modify it randomly!" +msgid "This modifies the Redis main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" msgstr "這將修改 Redis 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/redis/RedisConfigTuneView.vue:122 @@ -4475,11 +4734,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." @@ -4529,26 +4785,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:76 -#: 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:114 -#: src/views/database/UpdateUserModal.vue:78 src/views/database/UserList.vue:96 +#: src/views/database/UpdateUserModal.vue:78 +#: src/views/database/UserList.vue:96 msgid "Comment" msgstr "備註" @@ -4561,7 +4824,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 "模組管理" @@ -4571,9 +4835,7 @@ msgid "Add Module" msgstr "新增模組" #: src/views/apps/rsync/IndexView.vue:229 -msgid "" -"This modifies the Rsync main configuration file. If you do not understand " -"the meaning of each parameter, please do not modify it randomly!" +msgid "This modifies the Rsync main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" msgstr "這將修改 Rsync 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/rsync/IndexView.vue:268 @@ -4610,7 +4872,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 "掛載路徑" @@ -4618,12 +4881,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 "新增掛載" @@ -4645,9 +4910,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 @@ -4685,18 +4948,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 "啟動命令" @@ -4705,7 +4966,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 "工作目錄" @@ -4731,9 +4993,7 @@ msgid "Process Configuration" msgstr "處理程序設定" #: src/views/apps/valkey/IndexView.vue:69 -msgid "" -"This modifies the Valkey main configuration file. If you do not understand " -"the meaning of each parameter, please do not modify it randomly!" +msgid "This modifies the Valkey main configuration file. If you do not understand the meaning of each parameter, please do not modify it randomly!" msgstr "這將修改 Valkey 主設定檔。如果您不了解每個參數的含義,請不要隨意修改!" #: src/views/apps/valkey/ValkeyConfigTuneView.vue:116 @@ -4752,7 +5012,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 "更新日期" @@ -4774,31 +5035,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 "選取資料庫" @@ -4814,12 +5078,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:1722 +#: 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:1722 msgid "Private Key" msgstr "私鑰" @@ -4834,40 +5104,50 @@ msgstr "您確定要刪除此儲存嗎?" #: src/views/backup/StorageView.vue:173 #: src/views/container/ContainerCreate.vue:118 -#: src/views/setting/PasswordModal.vue:21 src/views/setting/TokenModal.vue:178 -#: src/views/setting/TwoFaModal.vue:28 src/views/ssh/UpdateModal.vue:32 +#: src/views/setting/PasswordModal.vue:21 +#: src/views/setting/TokenModal.vue:178 +#: src/views/setting/TwoFaModal.vue:28 +#: src/views/ssh/UpdateModal.vue:32 msgid "Updated successfully" msgstr "更新成功" -#: src/views/backup/StorageView.vue:195 src/views/backup/StorageView.vue:222 +#: src/views/backup/StorageView.vue:195 +#: src/views/backup/StorageView.vue:222 msgid "Add Storage" msgstr "新增儲存" -#: src/views/backup/StorageView.vue:231 src/views/backup/StorageView.vue:393 +#: src/views/backup/StorageView.vue:231 +#: src/views/backup/StorageView.vue:393 msgid "Enter storage name" msgstr "輸入儲存名稱" -#: src/views/backup/StorageView.vue:239 src/views/backup/StorageView.vue:401 +#: src/views/backup/StorageView.vue:239 +#: src/views/backup/StorageView.vue:401 msgid "Access Key" msgstr "Access Key" -#: src/views/backup/StorageView.vue:242 src/views/backup/StorageView.vue:404 +#: src/views/backup/StorageView.vue:242 +#: src/views/backup/StorageView.vue:404 msgid "Enter access key" msgstr "輸入 Access Key" -#: src/views/backup/StorageView.vue:245 src/views/backup/StorageView.vue:407 +#: src/views/backup/StorageView.vue:245 +#: src/views/backup/StorageView.vue:407 msgid "Secret Key" msgstr "Secret Key" -#: src/views/backup/StorageView.vue:250 src/views/backup/StorageView.vue:412 +#: src/views/backup/StorageView.vue:250 +#: src/views/backup/StorageView.vue:412 msgid "Enter secret key" msgstr "輸入 Secret Key" -#: src/views/backup/StorageView.vue:253 src/views/backup/StorageView.vue:415 +#: src/views/backup/StorageView.vue:253 +#: src/views/backup/StorageView.vue:415 msgid "Style" msgstr "風格" -#: src/views/backup/StorageView.vue:256 src/views/website/stats/GeoTab.vue:91 +#: src/views/backup/StorageView.vue:256 +#: src/views/website/stats/GeoTab.vue:91 #: src/views/website/stats/GeoTab.vue:248 msgid "Region" msgstr "區域" @@ -4876,56 +5156,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:87 -#: 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 @@ -4933,19 +5231,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" @@ -4957,30 +5259,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 "修改" @@ -4989,12 +5298,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 註冊帳戶,請耐心等待" @@ -5002,54 +5313,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:876 +#: 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:876 msgid "Domain" msgstr "域名" -#: src/views/cert/CertView.vue:127 src/views/file/ToolBar.vue:154 -#: src/views/file/UploadModal.vue:676 src/views/monitor/IndexView.vue:596 +#: src/views/cert/CertView.vue:127 +#: src/views/file/ToolBar.vue:154 +#: src/views/file/UploadModal.vue:676 +#: src/views/monitor/IndexView.vue:596 msgid "Upload" msgstr "上傳" @@ -5057,12 +5375,15 @@ msgstr "上傳" msgid "Associated Account" msgstr "關聯帳戶" -#: src/views/cert/CertView.vue:148 src/views/website/EditModal.vue:1649 +#: src/views/cert/CertView.vue:148 +#: src/views/website/EditModal.vue:1649 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 "過期時間" @@ -5074,7 +5395,8 @@ msgstr "下次續簽時間" msgid "Auto Renewal" msgstr "自動續簽" -#: src/views/cert/CertView.vue:208 src/views/website/EditModal.vue:2181 +#: src/views/cert/CertView.vue:208 +#: src/views/website/EditModal.vue:2181 msgid "Issue" msgstr "簽發" @@ -5095,57 +5417,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:2172 +#: 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:2172 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:2175 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:1716 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:1726 msgid "Enter the content of the KEY private key file" msgstr "輸入 KEY 私鑰檔案的內容" @@ -5155,9 +5483,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 @@ -5176,24 +5502,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" @@ -5205,87 +5529,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 "備註名稱" @@ -5301,7 +5646,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 "上傳證書" @@ -5313,17 +5659,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 連線失敗" @@ -5339,11 +5689,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:51 +#: src/views/container/VolumeView.vue:57 +#: src/views/setting/PasskeyModal.vue:33 +#: src/views/setting/SettingUser.vue:79 +#: src/views/setting/TokenModal.vue:39 +#: src/views/task/CronView.vue:100 +#: src/views/task/TaskView.vue:51 #: src/views/toolbox/WebHookView.vue:125 msgid "Creation Time" msgstr "建立時間" @@ -5390,7 +5744,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 "編排" @@ -5426,15 +5781,13 @@ msgid "Please enter image name" msgstr "請輸入鏡像名" #: src/views/container/ContainerCreate.vue:143 -msgid "" -"Updating will remove the current container and recreate it with the new " -"configuration. Data not stored in mounted volumes will be lost. Continue?" -msgstr "" -"更新將移除目前容器並以新設定重新建立,未存放在掛載資料卷中的資料將遺失,是否" -"繼續?" +msgid "Updating will remove the current container and recreate it with the new configuration. Data not stored in mounted volumes will be lost. Continue?" +msgstr "更新將移除目前容器並以新設定重新建立,未存放在掛載資料卷中的資料將遺失,是否繼續?" -#: src/views/container/ContainerCreate.vue:146 src/views/file/ListView.vue:311 -#: src/views/file/UploadModal.vue:506 src/views/file/UploadModal.vue:641 +#: src/views/container/ContainerCreate.vue:146 +#: src/views/file/ListView.vue:311 +#: src/views/file/UploadModal.vue:506 +#: src/views/file/UploadModal.vue:641 #: src/views/toolbox/MigrationView.vue:207 msgid "Continue" msgstr "繼續" @@ -5542,9 +5895,7 @@ msgid "Container End" msgstr "容器結束" #: src/views/container/ContainerCreate.vue:432 -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:441 @@ -5565,9 +5916,7 @@ msgid "Container path" msgstr "容器路徑" #: src/views/container/ContainerCreate.vue:470 -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:479 @@ -5576,9 +5925,7 @@ msgid "Resource Limits" msgstr "資源限制" #: src/views/container/ContainerCreate.vue:483 -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:491 @@ -5610,15 +5957,11 @@ msgid "Maximum memory the container can use, in MB. 0 means no limit." msgstr "容器可使用的最大記憶體,單位為 MB。0 表示無限制。" #: src/views/container/ContainerCreate.vue:532 -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:539 -msgid "" -"Relative CPU weight. Default is 1024. Higher values get more CPU time when " -"competing." +msgid "Relative CPU weight. Default is 1024. Higher values get more CPU time when competing." msgstr "相對 CPU 權重。預設值為 1024。競爭時,數值越高獲得的 CPU 時間越多。" #: src/views/container/ContainerCreate.vue:551 @@ -5642,8 +5985,10 @@ msgstr "啟動命令" #: src/views/container/ContainerCreate.vue:579 #: src/views/container/ContainerInfoModal.vue:139 -#: src/views/home/IndexView.vue:662 src/views/home/IndexView.vue:763 -#: src/views/monitor/IndexView.vue:335 src/views/monitor/IndexView.vue:347 +#: 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 "命令" @@ -5691,7 +6036,8 @@ msgid "Container Info" msgstr "容器資訊" #: src/views/container/ContainerInfoModal.vue:96 -#: 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 "基本資訊" @@ -5734,7 +6080,8 @@ msgid "No environment variables" msgstr "無環境變數" #: src/views/container/ContainerInfoModal.vue:207 -#: 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 "原始輸出" @@ -5758,7 +6105,8 @@ msgstr "暫停" msgid "Resume" msgstr "恢復" -#: src/views/container/ContainerView.vue:254 src/views/file/ListView.vue:1685 +#: src/views/container/ContainerView.vue:254 +#: src/views/file/ListView.vue:1685 msgid "More" msgstr "更多" @@ -5846,9 +6194,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:122 msgid "Are you sure you want to delete?" msgstr "您確定要刪除嗎?" @@ -5857,7 +6208,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 "拉取鏡像" @@ -5895,11 +6247,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:2040 msgid "Scope" msgstr "範圍" @@ -5979,8 +6333,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 "掛載點" @@ -6108,12 +6464,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 "權限" @@ -6263,7 +6619,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 "查看密鑰" @@ -6293,11 +6650,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 "無效" @@ -6306,12 +6665,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 "同步成功" @@ -6320,9 +6678,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 @@ -6345,7 +6701,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 @@ -6353,7 +6710,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 @@ -6362,11 +6720,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)" @@ -6376,11 +6731,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)" @@ -6390,9 +6747,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 @@ -6404,12 +6759,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)" @@ -6428,9 +6779,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 @@ -6475,12 +6824,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" @@ -6491,9 +6836,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 @@ -6521,8 +6864,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 @@ -6547,8 +6889,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 @@ -6576,12 +6917,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)" @@ -6652,24 +6989,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" @@ -6696,9 +7025,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 @@ -6739,12 +7066,15 @@ msgid "Name cannot be empty" msgstr "名稱不能為空" #: src/views/file/composables/usePaste.ts:96 -#: src/views/file/composables/usePaste.ts:150 src/views/task/TaskView.vue:46 +#: src/views/file/composables/usePaste.ts:150 +#: src/views/task/TaskView.vue:46 msgid "Canceled" msgstr "已取消" -#: src/views/file/composables/usePaste.ts:138 src/views/file/ListView.vue:306 -#: src/views/file/ListView.vue:848 src/views/file/ListView.vue:897 +#: src/views/file/composables/usePaste.ts:138 +#: src/views/file/ListView.vue:306 +#: src/views/file/ListView.vue:848 +#: src/views/file/ListView.vue:897 msgid "Warning" msgstr "警告" @@ -6752,19 +7082,23 @@ msgstr "警告" msgid "There are items with the same name %{ items } Do you want to overwrite?" msgstr "存在同名項目 %{ items } 是否要覆蓋?" -#: src/views/file/composables/usePaste.ts:175 src/views/file/ListView.vue:850 -#: src/views/file/UploadModal.vue:752 src/views/file/UploadModal.vue:784 +#: src/views/file/composables/usePaste.ts:175 +#: src/views/file/ListView.vue:850 +#: src/views/file/UploadModal.vue:752 +#: src/views/file/UploadModal.vue:784 msgid "Overwrite" msgstr "覆蓋" #: src/views/file/CompressModal.vue:52 -msgid "" -"Compress task created successfully, please check the task list for progress" +msgid "Compress task created successfully, please check the task list for progress" msgstr "壓縮任務建立成功,請在任務清單中檢視進度" -#: src/views/file/CompressModal.vue:97 src/views/file/CompressModal.vue:116 -#: src/views/file/ListView.vue:376 src/views/file/ListView.vue:412 -#: src/views/file/ListView.vue:1007 src/views/file/ListView.vue:1650 +#: src/views/file/CompressModal.vue:97 +#: src/views/file/CompressModal.vue:116 +#: src/views/file/ListView.vue:376 +#: src/views/file/ListView.vue:412 +#: src/views/file/ListView.vue:1007 +#: src/views/file/ListView.vue:1650 #: src/views/file/ToolBar.vue:189 msgid "Compress" msgstr "壓縮" @@ -6797,12 +7131,14 @@ msgstr "檔案編輯器" msgid "Drop files to upload" msgstr "拖放檔案以上傳" -#: src/views/file/ListView.vue:262 src/views/file/ListView.vue:429 +#: src/views/file/ListView.vue:262 +#: src/views/file/ListView.vue:429 #: src/views/file/ListView.vue:1030 msgid "Add Protection" msgstr "加入保護" -#: src/views/file/ListView.vue:262 src/views/file/ListView.vue:428 +#: src/views/file/ListView.vue:262 +#: src/views/file/ListView.vue:428 #: src/views/file/ListView.vue:1030 msgid "Remove Protection" msgstr "移除保護" @@ -6812,61 +7148,66 @@ msgid "Add tamper protection for %{ name }?" msgstr "為 %{ name } 加入防竄改保護?" #: src/views/file/ListView.vue:265 -msgid "" -"Remove tamper protection for %{ name }? The matching rule or exclusions will " -"be adjusted accordingly." +msgid "Remove tamper protection for %{ name }? The matching rule or exclusions will be adjusted accordingly." msgstr "移除 %{ name } 的防竄改保護?相符的規則或排除項將相應調整。" -#: src/views/file/ListView.vue:273 src/views/monitor/IndexView.vue:695 +#: src/views/file/ListView.vue:273 +#: src/views/monitor/IndexView.vue:695 #: src/views/monitor/IndexView.vue:704 msgid "Operation successful" msgstr "操作成功" #: src/views/file/ListView.vue:307 -msgid "" -"%{ name } has immutable attribute. The panel will temporarily remove the " -"immutable attribute, perform the operation, and then restore the immutable " -"attribute. Do you want to continue?" -msgstr "" -"%{ name } 具有不可變屬性。面板將暫時移除不可變屬性,執行操作,然後恢復不可變" -"屬性。您要繼續嗎?" +msgid "%{ name } has immutable attribute. The panel will temporarily remove the immutable attribute, perform the operation, and then restore the immutable attribute. Do you want to continue?" +msgstr "%{ name } 具有不可變屬性。面板將暫時移除不可變屬性,執行操作,然後恢復不可變屬性。您要繼續嗎?" -#: src/views/file/ListView.vue:364 src/views/file/ListView.vue:382 -#: src/views/file/ListView.vue:438 src/views/file/ToolBar.vue:184 +#: src/views/file/ListView.vue:364 +#: src/views/file/ListView.vue:382 +#: src/views/file/ListView.vue:438 +#: src/views/file/ToolBar.vue:184 msgid "Paste" msgstr "貼上" -#: src/views/file/ListView.vue:375 src/views/file/ListView.vue:409 -#: src/views/file/ListView.vue:1005 src/views/file/ToolBar.vue:188 +#: src/views/file/ListView.vue:375 +#: src/views/file/ListView.vue:409 +#: src/views/file/ListView.vue:1005 +#: src/views/file/ToolBar.vue:188 msgid "Move" msgstr "移動" -#: src/views/file/ListView.vue:377 src/views/file/ListView.vue:410 -#: src/views/file/ListView.vue:1006 src/views/file/ListView.vue:1444 -#: src/views/file/PermissionModal.vue:146 src/views/file/PropertyModal.vue:42 +#: src/views/file/ListView.vue:377 +#: src/views/file/ListView.vue:410 +#: src/views/file/ListView.vue:1006 +#: src/views/file/ListView.vue:1444 +#: src/views/file/PermissionModal.vue:146 +#: src/views/file/PropertyModal.vue:42 #: src/views/file/ToolBar.vue:190 msgid "Permission" msgstr "權限" -#: src/views/file/ListView.vue:394 src/views/file/ListView.vue:1637 +#: src/views/file/ListView.vue:394 +#: src/views/file/ListView.vue:1637 msgid "Open" msgstr "開啟" -#: src/views/file/ListView.vue:396 src/views/file/ListView.vue:1656 +#: src/views/file/ListView.vue:396 +#: src/views/file/ListView.vue:1656 msgid "Preview" msgstr "預覽" -#: src/views/file/ListView.vue:398 src/views/file/ListView.vue:1012 +#: src/views/file/ListView.vue:398 +#: src/views/file/ListView.vue:1012 #: src/views/file/ListView.vue:1759 msgid "Uncompress" msgstr "解壓縮" -#: src/views/file/ListView.vue:416 src/views/file/ListView.vue:1017 -#, fuzzy +#: src/views/file/ListView.vue:416 +#: src/views/file/ListView.vue:1017 msgid "Share" -msgstr "共享" +msgstr "分享" -#: src/views/file/ListView.vue:433 src/views/file/ListView.vue:1035 +#: src/views/file/ListView.vue:433 +#: src/views/file/ListView.vue:1035 #: src/views/file/PropertyModal.vue:11 msgid "Properties" msgstr "屬性" @@ -6887,7 +7228,8 @@ msgstr "某些檔案是不可變的,無法刪除" msgid "Are you sure you want to delete %{count} items?" msgstr "您確定要刪除 %{count} 項嗎?" -#: src/views/file/ListView.vue:908 src/views/file/PathInput.vue:34 +#: src/views/file/ListView.vue:908 +#: src/views/file/PathInput.vue:34 msgid "Path copied to clipboard" msgstr "路徑已複製到剪貼板" @@ -6896,8 +7238,7 @@ msgid "Copy Path" msgstr "複製路徑" #: src/views/file/ListView.vue:1291 -msgid "" -"Uncompress task created successfully, please check the task list for progress" +msgid "Uncompress task created successfully, please check the task list for progress" msgstr "解壓任務建立成功,請在任務清單中檢視進度" #: src/views/file/ListView.vue:1696 @@ -6920,7 +7261,8 @@ msgstr "解壓 - %{ file }" msgid "Uncompress to" msgstr "解壓到" -#: src/views/file/ListView.vue:1769 src/views/file/ToolBar.vue:237 +#: src/views/file/ListView.vue:1769 +#: src/views/file/ToolBar.vue:237 msgid "Terminal - %{ path }" msgstr "終端 - %{ path }" @@ -6928,7 +7270,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 "返回" @@ -6969,22 +7312,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 "寫入" @@ -7025,100 +7373,88 @@ msgstr "不可變" #: src/views/file/ShareModal.vue:28 msgid "1 hour" -msgstr "" +msgstr "1 小時" #: src/views/file/ShareModal.vue:29 msgid "1 day" -msgstr "" +msgstr "1 天" #: src/views/file/ShareModal.vue:30 -#, fuzzy msgid "7 days" -msgstr "天" +msgstr "7 天" #: src/views/file/ShareModal.vue:31 -#, fuzzy msgid "30 days" -msgstr "天" +msgstr "30 天" #: src/views/file/ShareModal.vue:53 -#, fuzzy msgid "Share link created successfully" -msgstr "%{ address } 建立成功" +msgstr "分享連結建立成功" -#: src/views/file/ShareModal.vue:55 src/views/file/ShareModal.vue:64 -#, fuzzy +#: src/views/file/ShareModal.vue:55 +#: src/views/file/ShareModal.vue:64 msgid "Link copied to clipboard" -msgstr "URL 已複製到剪貼板" +msgstr "連結已複製到剪貼簿" #: src/views/file/ShareModal.vue:70 -#, fuzzy msgid "Share cancelled successfully" -msgstr "建立成功" +msgstr "分享已取消" #: src/views/file/ShareModal.vue:78 msgid "Link" -msgstr "" +msgstr "連結" #: src/views/file/ShareModal.vue:84 -#, fuzzy msgid "Downloads" -msgstr "下載" +msgstr "下載次數" #: src/views/file/ShareModal.vue:91 -#, fuzzy msgid "Expire Time" msgstr "過期時間" #: src/views/file/ShareModal.vue:110 -#, fuzzy msgid "Copy Link" -msgstr "複製 URL" +msgstr "複製連結" #: src/views/file/ShareModal.vue:116 -#, fuzzy msgid "Are you sure you want to cancel this share?" -msgstr "您確定要刪除該使用者嗎?" +msgstr "確定要取消此分享嗎?" #: src/views/file/ShareModal.vue:121 -#, fuzzy msgid "Cancel Share" -msgstr "已取消" +msgstr "取消分享" #: src/views/file/ShareModal.vue:143 -#, fuzzy msgid "Share - %{ path }" -msgstr "終端 - %{ path }" +msgstr "分享 - %{ path }" #: src/views/file/ShareModal.vue:152 -msgid "" -"Anyone with the link can download this file without logging in. The link can " -"be used in the remote download of another panel to transfer files." -msgstr "" +msgid "Anyone with the link can download this file without logging in. The link can be used in the remote download of another panel to transfer files." +msgstr "任何擁有連結的人無需登入即可下載此檔案。連結可用於另一個面板的遠端下載以實現檔案互傳。" #: src/views/file/ShareModal.vue:158 msgid "Validity Period" -msgstr "" +msgstr "有效期限" #: src/views/file/ShareModal.vue:165 -#, fuzzy msgid "Download Limit" -msgstr "下載日誌" +msgstr "下載次數限制" -#: src/views/file/ShareModal.vue:169 src/views/website/EditModal.vue:1502 -#: src/views/website/EditModal.vue:1517 src/views/website/EditModal.vue:1893 -#: src/views/website/EditModal.vue:1906 src/views/website/EditModal.vue:1919 +#: src/views/file/ShareModal.vue:169 +#: src/views/website/EditModal.vue:1502 +#: src/views/website/EditModal.vue:1517 +#: src/views/website/EditModal.vue:1893 +#: src/views/website/EditModal.vue:1906 +#: src/views/website/EditModal.vue:1919 msgid "Unlimited" msgstr "無限制" #: src/views/file/ShareModal.vue:176 -#, fuzzy msgid "Create Share Link" -msgstr "建立轉發" +msgstr "建立分享連結" #: src/views/file/ToolBar.vue:57 -msgid "" -"Download task created successfully, please check the task list for progress" +msgid "Download task created successfully, please check the task list for progress" msgstr "下載任務建立成功,請在任務清單中檢視進度" #: src/views/file/ToolBar.vue:67 @@ -7133,7 +7469,8 @@ msgstr "請選擇要移動的檔案/資料夾" msgid "Sort" msgstr "排序" -#: src/views/file/ToolBar.vue:155 src/views/file/ToolBar.vue:209 +#: src/views/file/ToolBar.vue:155 +#: src/views/file/ToolBar.vue:209 msgid "Remote Download" msgstr "遠程下載" @@ -7169,18 +7506,19 @@ msgstr "無效的新名稱「%{name}」" msgid "Duplicate new name \"%{name}\"" 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 @@ -7192,8 +7530,7 @@ 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 @@ -7201,16 +7538,15 @@ msgid "Files already exist" msgstr "檔案已存在" #: src/views/file/UploadModal.vue:738 -msgid "" -"The following files already exist in the target directory. Choose an action " -"for each." +msgid "The following files already exist in the target directory. Choose an action for each." msgstr "目標目錄中已經存在以下檔案。請為每個檔案選擇一個動作。" #: src/views/file/UploadModal.vue:744 msgid "Apply to all:" 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 "跳過" @@ -7225,8 +7561,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 "傳輸協議" @@ -7245,25 +7583,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 @@ -7273,7 +7615,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 @@ -7289,13 +7632,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:324 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 "網路協議" @@ -7310,13 +7655,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 "方向" @@ -7329,17 +7676,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:1807 +#: src/views/firewall/CreateModal.vue:144 +#: src/views/firewall/IpRuleView.vue:111 +#: src/views/firewall/RuleView.vue:216 +#: src/views/website/EditModal.vue:1807 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:296 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:328 msgid "Are you sure you want to delete the selected rules?" msgstr "您確定要刪除所選規則嗎?" @@ -7356,11 +7707,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 "標記" @@ -7368,7 +7721,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 "使用中" @@ -7388,14 +7742,19 @@ msgstr "匯出" msgid "Import" msgstr "匯入" -#: src/views/firewall/ScanView.vue:193 src/views/firewall/ScanView.vue:211 -#: src/views/firewall/ScanView.vue:223 src/views/firewall/ScanView.vue:288 -#: src/views/firewall/ScanView.vue:302 src/views/firewall/ScanView.vue:318 +#: src/views/firewall/ScanView.vue:193 +#: src/views/firewall/ScanView.vue:211 +#: src/views/firewall/ScanView.vue:223 +#: src/views/firewall/ScanView.vue:288 +#: src/views/firewall/ScanView.vue:302 +#: src/views/firewall/ScanView.vue:318 msgid "Scan Count" msgstr "掃描次數" -#: src/views/firewall/ScanView.vue:193 src/views/firewall/ScanView.vue:216 -#: src/views/firewall/ScanView.vue:229 src/views/firewall/ScanView.vue:440 +#: src/views/firewall/ScanView.vue:193 +#: src/views/firewall/ScanView.vue:216 +#: src/views/firewall/ScanView.vue:229 +#: src/views/firewall/ScanView.vue:440 msgid "Source IPs" msgstr "來源 IP 數" @@ -7418,13 +7777,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 "位置" @@ -7432,7 +7794,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 "最後記錄" @@ -7449,11 +7812,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 "概覽" @@ -7469,7 +7832,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 "清除資料" @@ -7493,7 +7857,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 "設定儲存成功" @@ -7554,17 +7919,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 "接收" @@ -7572,20 +7942,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 "平均值" @@ -7606,7 +7982,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 "重啟伺服器" @@ -7615,24 +7992,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 "計劃任務" @@ -7660,7 +8028,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" @@ -7694,7 +8063,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 "空閒" @@ -7702,7 +8072,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 "非活躍" @@ -7762,7 +8133,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 "系統主機名" @@ -7823,9 +8195,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 @@ -7853,8 +8223,7 @@ msgid "Panel is restarting, please wait..." msgstr "正在重新啟動面板,請稍候……" #: src/views/home/UpdateView.vue:152 -msgid "" -"Update may have failed, please check the panel logs and refresh manually." +msgid "Update may have failed, please check the panel logs and refresh manually." msgstr "更新可能失敗,請檢查面板日誌並手動重新整理。" #: src/views/home/UpdateView.vue:158 @@ -7869,7 +8238,8 @@ msgstr "有新版本可用" msgid "Current" 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 "最新" @@ -7881,22 +8251,30 @@ msgstr "立即更新" msgid "Changelog" 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/tamper/IndexView.vue:182 src/views/toolbox/SystemView.vue:250 +#: 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/tamper/IndexView.vue:182 +#: 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 "級別" @@ -7904,7 +8282,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:728 #: src/views/toolbox/MigrationView.vue:815 msgid "Duration" @@ -7914,17 +8293,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 "方法" @@ -7952,8 +8335,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 "系統" @@ -7961,7 +8346,8 @@ msgstr "系統" msgid "Message" msgstr "消息" -#: src/views/log/OperationLog.vue:100 src/views/toolbox/MigrationView.vue:816 +#: src/views/log/OperationLog.vue:100 +#: src/views/toolbox/MigrationView.vue:816 msgid "Details" msgstr "詳情" @@ -7973,7 +8359,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 "失敗" @@ -8003,8 +8390,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 @@ -8035,8 +8421,10 @@ msgstr "記住我" msgid "Login with Passkey" msgstr "使用通行金鑰登入" -#: src/views/monitor/IndexView.vue:335 src/views/monitor/IndexView.vue:347 -#: src/views/tamper/IndexView.vue:196 src/views/toolbox/IndexView.vue:27 +#: src/views/monitor/IndexView.vue:335 +#: src/views/monitor/IndexView.vue:347 +#: src/views/tamper/IndexView.vue:196 +#: src/views/toolbox/IndexView.vue:27 #: src/views/toolbox/NetworkView.vue:75 msgid "Process" msgstr "處理程序" @@ -8065,7 +8453,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 "使用率" @@ -8089,11 +8478,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:2111 +#: src/views/monitor/IndexView.vue:743 +#: src/views/website/EditModal.vue:2111 msgid "Are you sure you want to clear?" msgstr "確定要清除嗎?" @@ -8105,17 +8496,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 天" @@ -8175,26 +8571,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 @@ -8225,14 +8623,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 "選擇框架" @@ -8245,12 +8647,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:936 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:941 msgid "Select PHP Version" msgstr "選擇 PHP 版本" @@ -8271,7 +8675,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 "選擇或輸入使用者" @@ -8279,13 +8684,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 "反向代理" @@ -8334,9 +8741,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/tamper/IndexView.vue:132 -#: src/views/website/EditModal.vue:788 src/views/website/EditModal.vue:792 +#: src/views/project/EditModal.vue:72 +#: src/views/setting/SettingBase.vue:187 +#: src/views/setting/SettingSafe.vue:246 +#: src/views/tamper/IndexView.vue:132 +#: src/views/website/EditModal.vue:788 +#: src/views/website/EditModal.vue:792 #: src/views/website/EditModal.vue:1007 msgid "Disabled" msgstr "禁用" @@ -8434,12 +8844,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" @@ -8474,9 +8880,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 @@ -8508,9 +8912,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 @@ -8534,9 +8936,7 @@ msgid "Protect System" msgstr "保護系統" #: src/views/project/EditModal.vue:544 -msgid "" -"true: /usr, /boot read-only; full: + /etc read-only; strict: entire " -"filesystem read-only" +msgid "true: /usr, /boot read-only; full: + /etc read-only; strict: entire filesystem read-only" msgstr "true:/usr、/boot 唯讀;full:加上 /etc 唯讀;strict:整個檔案系統唯讀" #: src/views/project/EditModal.vue:552 @@ -8571,8 +8971,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" @@ -8609,7 +9011,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 "輸入使用者密碼" @@ -8617,11 +9020,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:235 +#: src/views/setting/IndexView.vue:118 +#: src/views/website/EditModal.vue:235 msgid "Please wait..." msgstr "請稍候……" @@ -8669,14 +9074,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 @@ -8695,7 +9099,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 "面板名稱" @@ -8788,9 +9193,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 @@ -8802,26 +9205,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" @@ -8838,9 +9234,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 @@ -8848,12 +9242,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" @@ -8864,9 +9254,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 @@ -8874,9 +9262,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 @@ -8884,9 +9270,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 "限制僅允許指定 User-Agent 字串存取面板。留空以允許任何 User-Agent 存取" #: src/views/setting/SettingSafe.vue:196 @@ -8894,38 +9278,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)" @@ -8939,16 +9309,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" @@ -8958,7 +9326,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 "存取權杖" @@ -8986,19 +9355,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 "請選擇到期時間" @@ -9019,8 +9392,7 @@ msgid "Scan the QR code with your 2FA app and enter the code below" msgstr "使用您的兩步驟驗證應用掃描 QR Code 並在下方輸入驗證碼" #: src/views/setting/TwoFaModal.vue:73 -msgid "" -"If you cannot scan the QR code, please enter the URL below in your 2FA app" +msgid "If you cannot scan the QR code, please enter the URL below in your 2FA app" msgstr "如果無法掃描 QR Code,請在您的兩步驟驗證應用中輸入下方的 URL" #: src/views/setting/TwoFaModal.vue:86 @@ -9031,32 +9403,37 @@ msgstr "驗證碼" msgid "Enter the code" msgstr "輸入驗證碼" -#: src/views/ssh/CreateModal.vue:53 src/views/ssh/IndexView.vue:575 +#: src/views/ssh/CreateModal.vue:53 +#: src/views/ssh/IndexView.vue:575 msgid "Create Host" msgstr "建立主機" -#: src/views/ssh/CreateModal.vue:76 src/views/ssh/UpdateModal.vue:82 +#: src/views/ssh/CreateModal.vue:76 +#: src/views/ssh/UpdateModal.vue:82 msgid "Authentication Method" msgstr "驗證方式" -#: src/views/ssh/CreateModal.vue:95 src/views/ssh/UpdateModal.vue:101 +#: src/views/ssh/CreateModal.vue:95 +#: src/views/ssh/UpdateModal.vue:101 msgid "Passphrase" msgstr "密碼短語" -#: src/views/ssh/CreateModal.vue:100 src/views/ssh/UpdateModal.vue:106 +#: src/views/ssh/CreateModal.vue:100 +#: src/views/ssh/UpdateModal.vue:106 msgid "Leave empty if key has no passphrase" msgstr "如果密鑰沒有密碼短語,請留空" -#: src/views/ssh/CreateModal.vue:103 src/views/ssh/UpdateModal.vue:109 +#: src/views/ssh/CreateModal.vue:103 +#: src/views/ssh/UpdateModal.vue:109 msgid "Remarks" msgstr "備註" #: src/views/ssh/IndexView.vue:67 -msgid "" -"Clipboard is unavailable in non-HTTPS context, please use Ctrl+V to paste" +msgid "Clipboard is unavailable in non-HTTPS context, please use Ctrl+V to paste" msgstr "剪貼簿在非 HTTPS 環境下不可用,請使用 Ctrl+V 貼上" -#: src/views/ssh/IndexView.vue:97 src/views/ssh/IndexView.vue:178 +#: src/views/ssh/IndexView.vue:97 +#: src/views/ssh/IndexView.vue:178 msgid "File Transfer" msgstr "檔案互傳" @@ -9088,7 +9465,8 @@ msgstr "結束全螢幕" msgid "Fullscreen" msgstr "全螢幕" -#: src/views/ssh/IndexView.vue:569 src/views/toolbox/SystemView.vue:237 +#: src/views/ssh/IndexView.vue:569 +#: src/views/toolbox/SystemView.vue:237 msgid "Hosts" msgstr "Hosts" @@ -9144,8 +9522,10 @@ msgstr "傳輸佇列" msgid "Clear Finished" msgstr "清除已完成" -#: src/views/ssh/SftpPanel.vue:272 src/views/task/TaskView.vue:42 -#: src/views/toolbox/ProcessView.vue:53 src/views/toolbox/ProcessView.vue:89 +#: src/views/ssh/SftpPanel.vue:272 +#: src/views/task/TaskView.vue:42 +#: src/views/toolbox/ProcessView.vue:53 +#: src/views/toolbox/ProcessView.vue:89 msgid "Waiting" msgstr "正在駐留等待" @@ -9162,19 +9542,15 @@ msgid "Activate eBPF LSM" msgstr "啟用 eBPF LSM" #: src/views/tamper/IndexView.vue:65 -msgid "" -"The panel will modify the kernel boot parameters (append bpf to the LSM " -"list) and reboot the server immediately. All services will be interrupted " -"during the reboot. Continue?" -msgstr "" -"面板將修改核心開機參數(向 LSM 清單附加 bpf)並立即重新啟動伺服器,重啟期間所" -"有服務將中斷,是否繼續?" +msgid "The panel will modify the kernel boot parameters (append bpf to the LSM list) and reboot the server immediately. All services will be interrupted during the reboot. Continue?" +msgstr "面板將修改核心開機參數(向 LSM 清單附加 bpf)並立即重新啟動伺服器,重啟期間所有服務將中斷,是否繼續?" #: src/views/tamper/IndexView.vue:74 msgid "The server is rebooting, please reconnect later" msgstr "伺服器正在重新啟動,請稍後重新連線" -#: src/views/tamper/IndexView.vue:116 src/views/tamper/RuleModal.vue:102 +#: src/views/tamper/IndexView.vue:116 +#: src/views/tamper/RuleModal.vue:102 msgid "Protected Directory" msgstr "保護目錄" @@ -9186,8 +9562,10 @@ msgstr "副檔名" msgid "All files" msgstr "全部檔案" -#: src/views/tamper/IndexView.vue:132 src/views/tamper/RuleModal.vue:111 -#: src/views/task/CronView.vue:76 src/views/toolbox/WebHookView.vue:91 +#: src/views/tamper/IndexView.vue:132 +#: src/views/tamper/RuleModal.vue:111 +#: src/views/task/CronView.vue:76 +#: src/views/toolbox/WebHookView.vue:91 #: src/views/toolbox/WebHookView.vue:386 msgid "Enabled" msgstr "已啟用" @@ -9200,7 +9578,8 @@ msgstr "確定要刪除此規則嗎?" msgid "Operation" msgstr "操作" -#: src/views/tamper/IndexView.vue:202 src/views/tamper/IndexView.vue:370 +#: src/views/tamper/IndexView.vue:202 +#: src/views/tamper/IndexView.vue:370 #: src/views/website/EditModal.vue:2116 msgid "Clear Logs" msgstr "清除日誌" @@ -9246,39 +9625,31 @@ msgid "Mode Description" msgstr "模式說明" #: src/views/tamper/IndexView.vue:259 -msgid "" -"Locks files with the immutable attribute, enforced by the kernel at the VFS " -"layer. Works on all distributions with no kernel dependency. Blocks " -"tampering by web processes, but not root." -msgstr "" -"透過不可變屬性鎖定檔案,由核心在 VFS 層強制執行,適用於所有發行版且無核心相依" -"性,可阻止網站處理程序竄改,但無法阻止 root。" +msgid "Locks files with the immutable attribute, enforced by the kernel at the VFS layer. Works on all distributions with no kernel dependency. Blocks tampering by web processes, but not root." +msgstr "透過不可變屬性鎖定檔案,由核心在 VFS 層強制執行,適用於所有發行版且無核心相依性,可阻止網站處理程序竄改,但無法阻止 root。" #: src/views/tamper/IndexView.vue:266 -msgid "" -"Intercepts write/delete/rename via eBPF-LSM with per-process tracing. More " -"precise and auditable, but requires the bpf LSM to be active in the kernel." -msgstr "" -"透過 eBPF-LSM 攔截寫入/刪除/重新命名並追蹤處理程序,更精確且可稽核,但要求核" -"心已啟用 bpf LSM。" +msgid "Intercepts write/delete/rename via eBPF-LSM with per-process tracing. More precise and auditable, but requires the bpf LSM to be active in the kernel." +msgstr "透過 eBPF-LSM 攔截寫入/刪除/重新命名並追蹤處理程序,更精確且可稽核,但要求核心已啟用 bpf LSM。" #: src/views/tamper/IndexView.vue:272 msgid "Block New Files" msgstr "阻止新建檔案" #: src/views/tamper/IndexView.vue:277 -msgid "" -"Delete newly created files of protected types in protected directories. When " -"off, new files are frozen and logged instead." +msgid "Delete newly created files of protected types in protected directories. When off, new files are frozen and logged instead." msgstr "刪除保護目錄中新建立的受保護類型檔案;關閉時改為凍結新檔案並記錄日誌。" #: src/views/tamper/IndexView.vue:284 msgid "Log Retention (days)" msgstr "日誌保留(天)" -#: src/views/tamper/IndexView.vue:294 src/views/website/SettingView.vue:108 -#: src/views/website/SettingView.vue:123 src/views/website/SettingView.vue:138 -#: src/views/website/SettingView.vue:162 src/views/website/SettingView.vue:202 +#: src/views/tamper/IndexView.vue:294 +#: src/views/website/SettingView.vue:108 +#: src/views/website/SettingView.vue:123 +#: src/views/website/SettingView.vue:138 +#: src/views/website/SettingView.vue:162 +#: src/views/website/SettingView.vue:202 #: src/views/website/SettingView.vue:265 msgid "Save Changes" msgstr "儲存變更" @@ -9299,7 +9670,8 @@ msgstr "已啟用的 LSM" msgid "eBPF Available" msgstr "eBPF 可用" -#: src/views/tamper/IndexView.vue:312 src/views/toolbox/DiskView.vue:250 +#: src/views/tamper/IndexView.vue:312 +#: src/views/toolbox/DiskView.vue:250 msgid "Available" msgstr "可用" @@ -9336,12 +9708,8 @@ msgid "Exclude Paths" msgstr "排除路徑" #: src/views/tamper/RuleModal.vue:117 -msgid "" -"Leave extensions empty to protect all files (directories become append-" -"only). Excludes accept a path segment name (e.g. cache) or an absolute path." -msgstr "" -"副檔名留空則保護全部檔案(目錄變為僅可附加)。排除項可填路徑區段名稱(如 " -"cache)或絕對路徑。" +msgid "Leave extensions empty to protect all files (directories become append-only). Excludes accept a path segment name (e.g. cache) or an absolute path." +msgstr "副檔名留空則保護全部檔案(目錄變為僅可附加)。排除項可填路徑區段名稱(如 cache)或絕對路徑。" #: src/views/task/CreateModal.vue:36 msgid "# Enter your script content here" @@ -9383,17 +9751,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 "同步時間" @@ -9406,25 +9777,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 "任務週期" @@ -9433,14 +9811,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 @@ -9463,7 +9841,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 "請求體" @@ -9507,7 +9886,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 "選擇資料庫" @@ -9516,7 +9896,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 "選擇容器" @@ -9561,19 +9942,16 @@ msgid "Completion Time" msgstr "完成時間" #: src/views/task/TaskView.vue:102 -#, fuzzy msgid "Cancel Task" -msgstr "面板任務" +msgstr "取消任務" #: src/views/task/TaskView.vue:103 -#, fuzzy msgid "Are you sure you want to cancel task %{ name }?" -msgstr "您確定要刪除 %{ name } 嗎?" +msgstr "確定要取消任務 %{ name } 嗎?" #: src/views/task/TaskView.vue:156 -#, fuzzy msgid "Canceled successfully" -msgstr "清理成功" +msgstr "已成功取消" #: src/views/task/TaskView.vue:168 msgid "If logs cannot be loaded, please disable ad blockers!" @@ -9599,11 +9977,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..." @@ -9681,7 +10056,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 "設備" @@ -9885,7 +10261,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 "分區" @@ -9898,21 +10275,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 }?" @@ -9930,20 +10307,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 @@ -9959,12 +10338,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" @@ -9999,9 +10374,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 @@ -10009,8 +10382,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 "您確定要建立大小為 %{ size }GB 的邏輯卷冊 %{ name } 嗎?" #: src/views/toolbox/DiskView.vue:530 @@ -10018,9 +10390,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 @@ -10036,11 +10406,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" @@ -10062,11 +10429,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 "選擇分區" @@ -10086,7 +10455,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 "格式化" @@ -10095,18 +10465,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 @@ -10125,7 +10495,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 "物理卷" @@ -10149,7 +10520,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 "建立實體卷冊" @@ -10157,7 +10529,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 "建立卷冊群組" @@ -10173,7 +10546,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 "建立邏輯卷冊" @@ -10197,7 +10571,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 "擴展邏輯卷" @@ -10286,9 +10661,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 @@ -10333,9 +10706,7 @@ msgid "Environment check refreshed" msgstr "環境檢查已重新整理" #: src/views/toolbox/MigrationView.vue:144 -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:147 @@ -10344,27 +10715,19 @@ msgid "none" msgstr "none" #: src/views/toolbox/MigrationView.vue:162 -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:182 -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:203 msgid "Ignore Environment Check" msgstr "忽略環境檢查" #: src/views/toolbox/MigrationView.vue:204 -msgid "" -"Due to environment inconsistency, migrated items may not work properly after " -"migration. Do you still want to continue?" +msgid "Due to environment inconsistency, migrated items may not work properly after migration. Do you still want to continue?" msgstr "由於環境不一致,遷移的項目在遷移後可能無法正常運作,是否仍要繼續?" #: src/views/toolbox/MigrationView.vue:269 @@ -10376,9 +10739,7 @@ msgid "Confirm Migration" msgstr "確認遷移" #: src/views/toolbox/MigrationView.vue:275 -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:366 @@ -10581,13 +10942,8 @@ msgid "Reminder" msgstr "提醒" #: src/views/toolbox/MigrationView.vue:854 -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:865 msgid "Start New Migration" @@ -10629,7 +10985,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 "已分配" @@ -10649,7 +11006,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 "空閒" @@ -10730,15 +11088,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 "已鎖定" @@ -10782,15 +11143,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 "啟動時間" @@ -10894,7 +11258,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 密鑰已生成" @@ -10975,9 +11340,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 @@ -11025,9 +11388,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 @@ -11063,15 +11424,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 @@ -11102,31 +11459,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 "建立 WebHook" -#: src/views/toolbox/WebHookView.vue:331 src/views/toolbox/WebHookView.vue:372 +#: src/views/toolbox/WebHookView.vue:331 +#: src/views/toolbox/WebHookView.vue:372 msgid "Enter WebHook name" msgstr "輸入 Web 掛鉤名稱" -#: src/views/toolbox/WebHookView.vue:336 src/views/toolbox/WebHookView.vue:377 +#: src/views/toolbox/WebHookView.vue:336 +#: src/views/toolbox/WebHookView.vue:377 msgid "User to run the script (default: root)" msgstr "執行指令碼的使用者(預設:root)" -#: src/views/toolbox/WebHookView.vue:342 src/views/toolbox/WebHookView.vue:383 +#: src/views/toolbox/WebHookView.vue:342 +#: src/views/toolbox/WebHookView.vue:383 msgid "Return script output as raw text instead of JSON" msgstr "將腳本輸出作為原始文本而非 JSON 返回" -#: src/views/toolbox/WebHookView.vue:345 src/views/toolbox/WebHookView.vue:389 +#: src/views/toolbox/WebHookView.vue:345 +#: src/views/toolbox/WebHookView.vue:389 msgid "Script" msgstr "腳本" @@ -11135,12 +11499,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 "純靜態" @@ -11157,7 +11523,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 "批次建立網站" @@ -11174,9 +11541,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 @@ -11197,7 +11562,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 "網站類型" @@ -11207,27 +11573,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 @@ -11246,28 +11604,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 @@ -11278,7 +11635,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 "備註" @@ -11296,12 +11654,8 @@ msgid "Reset successfully" msgstr "重設成功" #: src/views/website/EditModal.vue:209 -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:226 msgid "Please select a DNS provider" @@ -11363,7 +11717,8 @@ msgstr "臨時重定向" msgid "Permanent Redirect" msgstr "永久重定向" -#: src/views/website/EditModal.vue:789 src/views/website/EditModal.vue:793 +#: src/views/website/EditModal.vue:789 +#: src/views/website/EditModal.vue:793 msgid "Default Path" msgstr "預設路徑" @@ -11407,7 +11762,8 @@ msgstr "上游" msgid "Upstream name" msgstr "上游名稱" -#: src/views/website/EditModal.vue:987 src/views/website/EditModal.vue:994 +#: src/views/website/EditModal.vue:987 +#: src/views/website/EditModal.vue:994 msgid "Round Robin (default)" msgstr "輪詢(預設)" @@ -11443,7 +11799,8 @@ msgstr "未配置上游" msgid "Proxies" msgstr "代理" -#: src/views/website/EditModal.vue:1089 src/views/website/EditModal.vue:1769 +#: src/views/website/EditModal.vue:1089 +#: src/views/website/EditModal.vue:1769 msgid "Rule" msgstr "規則" @@ -11555,7 +11912,8 @@ msgstr "自訂快取鍵,例如 $scheme$host$request_uri" msgid "Custom Request Headers" msgstr "自定義請求頭" -#: src/views/website/EditModal.vue:1283 src/views/website/EditModal.vue:1582 +#: src/views/website/EditModal.vue:1283 +#: src/views/website/EditModal.vue:1582 msgid "Header name" msgstr "請求頭" @@ -11583,7 +11941,8 @@ msgstr "替換內容" msgid "Add Replacement Rule" msgstr "新增替換規則" -#: src/views/website/EditModal.vue:1311 src/views/website/EditModal.vue:1841 +#: src/views/website/EditModal.vue:1311 +#: src/views/website/EditModal.vue:1841 msgid "Advanced Settings" msgstr "進階設定" @@ -11800,11 +12159,13 @@ msgstr "啟用統計" msgid "Log Settings" msgstr "日誌設定" -#: src/views/website/EditModal.vue:1859 src/views/website/EditModal.vue:2076 +#: src/views/website/EditModal.vue:1859 +#: src/views/website/EditModal.vue:2076 msgid "Access Log" msgstr "存取日誌" -#: src/views/website/EditModal.vue:1868 src/views/website/EditModal.vue:2092 +#: src/views/website/EditModal.vue:1868 +#: src/views/website/EditModal.vue:2092 msgid "Error Log" msgstr "錯誤日誌" @@ -11845,18 +12206,12 @@ msgid "Real IP" msgstr "真實 IP" #: src/views/website/EditModal.vue:1934 -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:1941 -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:1947 msgid "Enable" @@ -11891,8 +12246,7 @@ msgid "User Credentials" msgstr "使用者憑據" #: src/views/website/EditModal.vue:2001 -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:2009 @@ -11923,11 +12277,13 @@ msgstr "沒有自定義配置" msgid "Add Custom Config" msgstr "新增自訂設定" -#: src/views/website/EditModal.vue:2081 src/views/website/EditModal.vue:2097 +#: src/views/website/EditModal.vue:2081 +#: src/views/website/EditModal.vue:2097 msgid "All logs can be viewed by downloading the file" msgstr "所有日誌可透過下載檔案檢視" -#: src/views/website/EditModal.vue:2083 src/views/website/EditModal.vue:2099 +#: src/views/website/EditModal.vue:2083 +#: src/views/website/EditModal.vue:2099 msgid "view" msgstr "查看" @@ -11948,11 +12304,8 @@ msgid "Select DNS Provider" msgstr "選擇 DNS 提供商" #: src/views/website/EditModal.vue:2166 -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" @@ -11999,9 +12352,7 @@ 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:80 @@ -12020,33 +12371,25 @@ msgstr "停止頁面" msgid "404 Page" msgstr "404 頁面" -#: src/views/website/SettingView.vue:143 src/views/website/SettingView.vue:153 +#: src/views/website/SettingView.vue:143 +#: src/views/website/SettingView.vue:153 msgid "Default Site" msgstr "預設網站" #: src/views/website/SettingView.vue:147 -msgid "" -"The default site handles requests that do not match any website domain, such " -"as direct access via IP address. By default, the panel built-in page is " -"displayed." -msgstr "" -"預設站點處理未符合任何網站網域的請求(如透過 IP 直接存取),預設顯示面板內建" -"頁面。" +msgid "The default site handles requests that do not match any website domain, such as direct access via IP address. By default, the panel built-in page is displayed." +msgstr "預設站點處理未符合任何網站網域的請求(如透過 IP 直接存取),預設顯示面板內建頁面。" #: src/views/website/SettingView.vue:167 msgid "Default Settings" msgstr "預設設定" #: src/views/website/SettingView.vue:171 -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:178 -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:184 @@ -12058,9 +12401,7 @@ msgid "Statistics" msgstr "統計" #: src/views/website/SettingView.vue:211 -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:217 @@ -12099,7 +12440,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 @@ -12123,13 +12465,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 @@ -12152,12 +12496,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 "蜘蛛" @@ -12233,3 +12579,4 @@ msgstr "URIs" #: src/views/website/StatsView.vue:218 msgid "Slow Requests" msgstr "慢請求" +