From 6b1eaa1aaa46d543ac72107cf21db9163e1a7c8e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 7 May 2026 05:16:38 +0800 Subject: [PATCH] New Crowdin translations by GitHub Action (#1592) Co-authored-by: Crowdin Bot --- pkg/embed/locales/zh_CN/backend.po | 1039 +++++----- pkg/embed/locales/zh_TW/backend.po | 1039 +++++----- web/src/locales/zh_CN.po | 2939 +++++++++++++++------------ web/src/locales/zh_TW.po | 2942 ++++++++++++++++------------ 4 files changed, 4327 insertions(+), 3632 deletions(-) diff --git a/pkg/embed/locales/zh_CN/backend.po b/pkg/embed/locales/zh_CN/backend.po index 8ce5fc0f..35164414 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-04-21 20:38\n" +"PO-Revision-Date: 2026-05-06 21:07\n" #: internal/service/toolbox_log.go:257 msgid "%d images" @@ -35,7 +35,7 @@ msgstr "用户 %s 已禁用两步验证" msgid "2FA url: %s" msgstr "两步验证 URL: %s" -#: internal/service/environment_php.go:421 +#: internal/service/environment_php.go:384 msgid "APCu is a user-level cache for PHP, providing fast in-memory key-value storage" msgstr "APCu 是 PHP 的用户级缓存,提供快速的内存键值存储" @@ -43,11 +43,11 @@ msgstr "APCu 是 PHP 的用户级缓存,提供快速的内存键值存储" msgid "AUTHOR" msgstr "作者" -#: internal/service/environment_php.go:183 +#: internal/service/environment_php.go:184 msgid "Accepted Connections" msgstr "已接受连接" -#: internal/service/home.go:67 +#: internal/service/home.go:68 msgid "AcePanel" msgstr "AcePanel" @@ -71,29 +71,29 @@ msgstr "AcePanel 服务状态:%s" msgid "AcePanel service stopped" msgstr "AcePanel 服务已停止" -#: internal/apps/mysql/app.go:124 +#: internal/apps/mysql/app.go:127 msgid "Active Connections" msgstr "活动连接" -#: internal/apps/elasticsearch/app.go:81 -#: internal/apps/opensearch/app.go:81 +#: internal/apps/elasticsearch/app.go:86 +#: internal/apps/opensearch/app.go:86 msgid "Active Primary Shards" msgstr "活跃主分片" -#: internal/service/environment_php.go:188 +#: internal/service/environment_php.go:189 msgid "Active Processes" msgstr "活动进程" -#: internal/apps/clickhouse/app.go:93 +#: internal/apps/clickhouse/app.go:98 msgid "Active Queries" msgstr "活跃查询" -#: internal/apps/elasticsearch/app.go:80 -#: internal/apps/opensearch/app.go:80 +#: internal/apps/elasticsearch/app.go:85 +#: internal/apps/opensearch/app.go:85 msgid "Active Shards" msgstr "活跃分片" -#: internal/apps/nginx/app.go:133 +#: internal/apps/nginx/app.go:138 msgid "Active connections" msgstr "活动连接" @@ -117,7 +117,7 @@ msgstr "已清除用户 %s 的所有通行密钥" msgid "Already initialized" msgstr "已经初始化过了" -#: internal/data/app.go:395 +#: internal/data/app.go:390 msgid "App %s %s" msgstr "应用 %s %s" @@ -145,7 +145,7 @@ msgstr "应用卸载失败:%v" msgid "App update failed: %v" msgstr "应用更新失败:%v" -#: internal/service/environment_php.go:180 +#: internal/service/environment_php.go:181 msgid "Application Pool" msgstr "应用程序池" @@ -193,37 +193,37 @@ msgstr "绑定 UA 已禁用" msgid "Bind domain disabled" msgstr "绑定域名已禁用" -#: internal/apps/rocketmq/app.go:58 +#: internal/apps/rocketmq/app.go:64 msgid "Broker Name" msgstr "Broker 名称" -#: internal/apps/rocketmq/app.go:61 +#: internal/apps/rocketmq/app.go:67 msgid "Broker Role" msgstr "Broker 角色" -#: internal/apps/rocketmq/app.go:57 +#: internal/apps/rocketmq/app.go:63 msgid "Broker Status" msgstr "Broker 状态" -#: internal/apps/apache/app.go:130 +#: internal/apps/apache/app.go:135 msgid "Busy Workers" msgstr "繁忙的 Worker" -#: internal/apps/mysql/app.go:123 -#: internal/apps/mysql/app.go:142 +#: internal/apps/mysql/app.go:126 +#: internal/apps/mysql/app.go:145 msgid "Bytes Received" msgstr "已接收字节" -#: internal/apps/mysql/app.go:122 -#: internal/apps/mysql/app.go:142 +#: internal/apps/mysql/app.go:125 +#: internal/apps/mysql/app.go:145 msgid "Bytes Sent" msgstr "已发送字节" -#: internal/apps/apache/app.go:151 +#: internal/apps/apache/app.go:156 msgid "Bytes/sec" msgstr "每秒字节" -#: internal/service/environment_php.go:466 +#: internal/service/environment_php.go:429 msgid "Bzip2 is a library for compressing and decompressing files" msgstr "Bzip2 是一个压缩和解压文件的库" @@ -240,7 +240,7 @@ msgstr "命令" msgid "COPYRIGHT" msgstr "版权" -#: internal/service/environment_php.go:506 +#: internal/service/environment_php.go:469 msgid "Calendar is a library for handling dates" msgstr "Calendar 是一个用于处理日期的库" @@ -261,16 +261,16 @@ msgstr "更改 AcePanel 监听端口" msgid "Cleaning failed: %v" msgstr "清理失败:%v" -#: internal/data/backup.go:901 +#: internal/data/backup.go:902 msgid "Cleaning temporary directory failed: %v" msgstr "清理临时目录失败:%v" -#: internal/data/backup.go:934 +#: internal/data/backup.go:935 msgid "Cleaning temporary file failed: %v" msgstr "清理临时文件失败:%v" -#: internal/data/backup.go:363 -#: internal/data/backup.go:427 +#: internal/data/backup.go:364 +#: internal/data/backup.go:428 msgid "Cleanup failed: %v" msgstr "清理失败:%v" @@ -298,27 +298,27 @@ msgstr "ClouDNS" msgid "CloudFlare" msgstr "CloudFlare" -#: internal/apps/elasticsearch/app.go:76 -#: internal/apps/opensearch/app.go:76 +#: internal/apps/elasticsearch/app.go:81 +#: internal/apps/opensearch/app.go:81 msgid "Cluster Name" msgstr "集群名称" -#: internal/apps/elasticsearch/app.go:77 -#: internal/apps/opensearch/app.go:77 +#: internal/apps/elasticsearch/app.go:82 +#: internal/apps/opensearch/app.go:82 msgid "Cluster Status" msgstr "集群状态" -#: internal/apps/redis/app.go:91 -#: internal/apps/valkey/app.go:91 +#: internal/apps/redis/app.go:95 +#: internal/apps/valkey/app.go:95 msgid "Commands Per Second" msgstr "每秒执行命令数" -#: internal/apps/prometheus/app.go:93 +#: internal/apps/prometheus/app.go:100 msgid "Config Reload Success" msgstr "配置重载成功" -#: internal/apps/redis/app.go:84 -#: internal/apps/valkey/app.go:84 +#: internal/apps/redis/app.go:88 +#: internal/apps/valkey/app.go:88 msgid "Connected Clients" msgstr "已连接客户端数" @@ -338,7 +338,7 @@ msgstr "容器名称" msgid "Create new website" msgstr "创建新网站" -#: internal/apps/mongodb/app.go:90 +#: internal/apps/mongodb/app.go:95 msgid "Current Connections" msgstr "当前连接数" @@ -355,7 +355,7 @@ msgstr "数据备份" msgid "Data synchronized successfully" msgstr "数据同步成功" -#: internal/apps/grafana/app.go:82 +#: internal/apps/grafana/app.go:88 #: internal/service/toolbox_migration.go:506 msgid "Database" msgstr "数据库" @@ -384,11 +384,11 @@ msgstr "数据库服务器 %s 删除成功" msgid "Database type" msgstr "数据库类型" -#: internal/apps/clickhouse/app.go:95 +#: internal/apps/clickhouse/app.go:100 msgid "Databases" msgstr "数据库" -#: internal/apps/mongodb/app.go:95 +#: internal/apps/mongodb/app.go:100 msgid "Delete Operations" msgstr "删除操作" @@ -432,20 +432,20 @@ msgstr "Docker 容器日志:%d 个文件" msgid "Download URL is empty" msgstr "下载 URL 为空" -#: internal/data/backup.go:1000 -#: internal/data/backup.go:997 +#: internal/data/backup.go:1001 +#: internal/data/backup.go:998 msgid "Download failed: %v" msgstr "下载失败:%v" -#: internal/data/backup.go:1003 +#: internal/data/backup.go:1004 msgid "Download file check failed" msgstr "下载文件检查失败" -#: internal/service/file.go:314 +#: internal/service/file.go:331 msgid "Download remote file %v" msgstr "下载远程文件 %v" -#: internal/apps/prometheus/app.go:401 +#: internal/apps/prometheus/app.go:408 msgid "Elasticsearch metrics" msgstr "Elasticsearch 指标" @@ -457,7 +457,7 @@ msgstr "启用 HTTPS" msgid "Enable access entrance" msgstr "启用访问入口" -#: internal/service/environment_php.go:496 +#: internal/service/environment_php.go:459 msgid "Enchant is a spell-checking library" msgstr "Enchant 是一个拼写检查库" @@ -474,11 +474,11 @@ msgstr "入口已启用" msgid "Entrance: %s" msgstr "入口:%s" -#: internal/service/environment_php.go:476 +#: internal/service/environment_php.go:439 msgid "Event is a library for handling events" msgstr "Event 是一个用于处理事件的库" -#: internal/service/environment_php.go:431 +#: internal/service/environment_php.go:394 msgid "Exif is a library for reading and writing image metadata" msgstr "Exif 是一个用于读取和写入图像元数据的库" @@ -575,7 +575,7 @@ msgstr "无法通过 ACME 获取面板证书,使用自签名证书" msgid "Failed to read input: %v" msgstr "读取输入失败: %v" -#: internal/data/backup.go:839 +#: internal/data/backup.go:840 msgid "Failed to remove %s.db: %v" msgstr "删除 %s.db 失败:%v" @@ -609,11 +609,11 @@ msgstr "同步分类数据失败:%v" msgid "Failed to update 2FA: %v" msgstr "更新两步验证失败: %v" -#: internal/service/environment_php.go:396 +#: internal/service/environment_php.go:359 msgid "Fileinfo is a library used to identify file types" msgstr "Fileinfo 是一个用于识别文件类型的库" -#: internal/data/backup.go:829 +#: internal/data/backup.go:830 msgid "Files are normal and do not need to be repaired, please run acepanel update to update the panel" msgstr "文件正常,无需修复,请运行 acepanel update 更新面板" @@ -621,7 +621,7 @@ msgstr "文件正常,无需修复,请运行 acepanel update 更新面板" msgid "Fix AcePanel upgrade issues" msgstr "修复 AcePanel 升级问题" -#: internal/apps/rocketmq/app.go:62 +#: internal/apps/rocketmq/app.go:68 msgid "Flush Disk Type" msgstr "刷盘类型" @@ -629,11 +629,11 @@ msgstr "刷盘类型" msgid "Forum:https://tom.moe" msgstr "论坛:https://tom.moe" -#: internal/apps/mysql/app.go:130 +#: internal/apps/mysql/app.go:133 msgid "Full Joins without Index" msgstr "没有使用索引的 Join" -#: internal/apps/mysql/app.go:131 +#: internal/apps/mysql/app.go:134 msgid "Full Range Joins without Index" msgstr "没有使用索引的范围 Join" @@ -641,7 +641,7 @@ msgstr "没有使用索引的范围 Join" msgid "GLOBAL OPTIONS" msgstr "全局选项" -#: internal/service/environment_php.go:511 +#: internal/service/environment_php.go:474 msgid "GMP is a library for handling large integers" msgstr "GMP 是一个用于处理大整数的库" @@ -657,7 +657,7 @@ msgstr "获取 AcePanel 服务状态" msgid "Get panel setting (use only under guidance)" msgstr "获取面板设置(仅在指导下使用)" -#: internal/service/environment_php.go:531 +#: internal/service/environment_php.go:494 msgid "Gettext is a library for handling multilingual support" msgstr "Gettext 是一个处理多语言支持的库" @@ -667,7 +667,7 @@ msgstr "Gettext 是一个处理多语言支持的库" msgid "Go-%s is not installed" msgstr "Go-%s 未安装" -#: internal/apps/prometheus/app.go:91 +#: internal/apps/prometheus/app.go:98 msgid "Goroutine Count" msgstr "Goroutine 数量" @@ -683,7 +683,7 @@ msgstr "HTTPS 已禁用" msgid "HTTPS enabled" msgstr "HTTPS 已启用" -#: internal/apps/prometheus/app.go:396 +#: internal/apps/prometheus/app.go:403 msgid "Hardware and OS metrics" msgstr "硬件和操作系统指标" @@ -695,15 +695,15 @@ msgstr "华为云" msgid "ID: %d, Username: %s, Email: %s, Created At: %s" msgstr "ID: %d, 用户名: %s, 邮箱: %s, 创建时间: %s" -#: internal/service/environment_php.go:456 +#: internal/service/environment_php.go:419 msgid "IMAP module allows PHP to read, search, delete, download, and manage emails" msgstr "IMAP 模块允许 PHP 读取、搜索、删除、下载和管理邮件" -#: internal/service/environment_php.go:187 +#: internal/service/environment_php.go:188 msgid "Idle Processes" msgstr "空闲进程" -#: internal/apps/apache/app.go:137 +#: internal/apps/apache/app.go:142 msgid "Idle Workers" msgstr "空闲的 Worker" @@ -715,22 +715,22 @@ 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:406 +#: internal/service/environment_php.go:369 msgid "Igbinary is a library for serializing and deserializing data" msgstr "Igbinary 是一个用于序列化和反序列化数据的库" -#: internal/service/environment_php.go:426 +#: internal/service/environment_php.go:389 msgid "ImageMagick is free software for creating, editing, and composing images" msgstr "ImageMagick 是一个创建、编辑、合成图片的免费软件" -#: internal/apps/mysql/app.go:126 +#: internal/apps/mysql/app.go:129 msgid "Index Hit Rate" msgstr "索引命中率" -#: internal/service/cli.go:1060 -#: internal/service/cli.go:1065 -#: internal/service/cli.go:1070 -#: internal/service/cli.go:1112 +#: internal/service/cli.go:1061 +#: internal/service/cli.go:1066 +#: internal/service/cli.go:1071 +#: internal/service/cli.go:1113 msgid "Initialization failed: %v" msgstr "初始化失败:%v" @@ -738,23 +738,23 @@ msgstr "初始化失败:%v" msgid "Initialize AcePanel (use only under guidance)" msgstr "初始化 AcePanel(仅在指导下使用)" -#: internal/apps/mysql/app.go:127 +#: internal/apps/mysql/app.go:130 msgid "Innodb Index Hit Rate" msgstr "Innodb 索引命中率" -#: internal/apps/mongodb/app.go:93 +#: internal/apps/mongodb/app.go:98 msgid "Insert Operations" msgstr "插入操作" -#: internal/service/environment_php.go:346 +#: internal/service/environment_php.go:309 msgid "Install PHP-%d %s module" msgstr "安装 PHP-%d %s 模块" -#: internal/apps/prometheus/app.go:255 +#: internal/apps/prometheus/app.go:262 msgid "Install Prometheus exporter %s" msgstr "安装 Prometheus exporter %s" -#: internal/data/app.go:228 +#: internal/data/app.go:223 msgid "Install app %s" msgstr "安装应用 %s" @@ -766,7 +766,7 @@ msgstr "安装应用" msgid "Install environment %s" msgstr "安装环境 %s" -#: internal/service/environment_php.go:526 +#: internal/service/environment_php.go:489 msgid "Intl is a library for handling internationalization and localization" msgstr "Intl 是一个处理国际化和本地化的库" @@ -778,26 +778,26 @@ msgstr "Java-%s 未安装" msgid "Journal logs" msgstr "Journal 日志" -#: internal/apps/prometheus/app.go:404 +#: internal/apps/prometheus/app.go:411 msgid "Kafka metrics" msgstr "Kafka 指标" -#: internal/apps/redis/app.go:92 -#: internal/apps/valkey/app.go:92 +#: internal/apps/redis/app.go:96 +#: internal/apps/valkey/app.go:96 msgid "Keyspace Hits" msgstr "查找数据库键成功次数" -#: internal/apps/redis/app.go:93 -#: internal/apps/valkey/app.go:93 +#: internal/apps/redis/app.go:97 +#: internal/apps/valkey/app.go:97 msgid "Keyspace Misses" msgstr "查找数据库键失败次数" -#: internal/service/environment_php.go:491 +#: internal/service/environment_php.go:454 msgid "LDAP is a protocol for accessing directory services" msgstr "LDAP 是一种用于访问目录服务的协议" -#: internal/apps/redis/app.go:94 -#: internal/apps/valkey/app.go:94 +#: internal/apps/redis/app.go:98 +#: internal/apps/valkey/app.go:98 msgid "Latest Fork Time (ms)" msgstr "最近一次 fork() 操作耗费的毫秒数" @@ -813,19 +813,19 @@ msgstr "与网站关联的域名列表" msgid "List of listening addresses associated with the website" msgstr "与网站关联的监听地址列表" -#: internal/apps/rocketmq/app.go:59 +#: internal/apps/rocketmq/app.go:65 msgid "Listen Port" msgstr "监听端口" -#: internal/service/environment_php.go:184 +#: internal/service/environment_php.go:185 msgid "Listen Queue" msgstr "监听队列" -#: internal/service/environment_php.go:186 +#: internal/service/environment_php.go:187 msgid "Listen Queue Length" msgstr "监听队列长度" -#: internal/apps/kafka/app.go:50 +#: internal/apps/kafka/app.go:55 msgid "Listeners" msgstr "监听器" @@ -837,20 +837,20 @@ msgstr "本地 IPv4:%s://%s:%d%s" msgid "Local IPv6: %s://[%s]:%d%s" msgstr "本地 IPv6:%s://[%s]:%d%s" -#: internal/data/backup.go:94 +#: internal/data/backup.go:95 #: internal/data/backup_storage.go:62 msgid "Local Storage" msgstr "本地存储" -#: internal/apps/kafka/app.go:51 +#: internal/apps/kafka/app.go:56 msgid "Log Dirs" msgstr "日志目录" -#: internal/apps/kafka/app.go:53 +#: internal/apps/kafka/app.go:58 msgid "Log Retention Hours" msgstr "日志保留小时数" -#: internal/apps/kafka/app.go:54 +#: internal/apps/kafka/app.go:59 msgid "Log Segment Bytes" msgstr "日志段字节数" @@ -858,37 +858,37 @@ msgstr "日志段字节数" msgid "Log rotation" msgstr "日志轮转" -#: internal/service/environment_php.go:190 +#: internal/service/environment_php.go:191 msgid "Max Active Processes" msgstr "最大活跃进程数量" -#: internal/service/environment_php.go:191 +#: internal/service/environment_php.go:192 msgid "Max Children Reached" msgstr "达到进程上限次数" -#: internal/service/environment_php.go:185 +#: internal/service/environment_php.go:186 msgid "Max Listen Queue" msgstr "最大监听队列" -#: internal/service/environment_php.go:416 +#: internal/service/environment_php.go:379 msgid "Memcached is a driver for connecting to Memcached servers" msgstr "Memcached 是一个用于连接 Memcached 服务器的驱动程序" -#: internal/apps/prometheus/app.go:403 +#: internal/apps/prometheus/app.go:410 msgid "Memcached metrics" msgstr "Memcached 指标" -#: internal/apps/apache/app.go:109 -#: internal/apps/nginx/app.go:126 +#: internal/apps/apache/app.go:114 +#: internal/apps/nginx/app.go:131 msgid "Memory" msgstr "内存" -#: internal/apps/redis/app.go:88 -#: internal/apps/valkey/app.go:88 +#: internal/apps/redis/app.go:92 +#: internal/apps/valkey/app.go:92 msgid "Memory Fragmentation Ratio" msgstr "内存碎片比率" -#: internal/apps/clickhouse/app.go:94 +#: internal/apps/clickhouse/app.go:99 msgid "Memory Usage (bytes)" msgstr "内存使用(字节)" @@ -900,19 +900,19 @@ msgstr "迁移完成" msgid "Migration started" msgstr "迁移已开始" -#: internal/apps/prometheus/app.go:400 +#: internal/apps/prometheus/app.go:407 msgid "MongoDB metrics" msgstr "MongoDB 指标" -#: internal/data/backup.go:921 +#: internal/data/backup.go:922 msgid "Move acepanel file failed: %v" msgstr "移动 acepanel 文件失败:%v" -#: internal/data/backup.go:916 +#: internal/data/backup.go:917 msgid "Move panel file failed: %v" msgstr "移动面板文件失败:%v" -#: internal/apps/prometheus/app.go:398 +#: internal/apps/prometheus/app.go:405 msgid "MySQL database metrics" msgstr "MySQL 数据库指标" @@ -922,11 +922,11 @@ msgstr "MySQL 数据库指标" msgid "NAME" msgstr "名称" -#: internal/apps/rocketmq/app.go:60 +#: internal/apps/rocketmq/app.go:66 msgid "NameServer Address" msgstr "NameServer 地址" -#: internal/apps/rocketmq/app.go:56 +#: internal/apps/rocketmq/app.go:62 msgid "NameServer Status" msgstr "NameServer 状态" @@ -938,15 +938,15 @@ msgstr "NameSilo" msgid "New username cannot be empty" msgstr "新用户名不能为空" -#: internal/apps/prometheus/app.go:397 +#: internal/apps/prometheus/app.go:404 msgid "Nginx metrics" msgstr "Nginx 指标" -#: internal/data/backup.go:888 +#: internal/data/backup.go:889 msgid "No backup file found, unable to automatically repair" msgstr "未找到备份文件,无法自动修复" -#: internal/apps/kafka/app.go:49 +#: internal/apps/kafka/app.go:54 msgid "Node ID" msgstr "节点 ID" @@ -960,21 +960,21 @@ msgstr "Node.js-%s 未安装" msgid "Not supported" msgstr "不支持" -#: internal/service/home.go:282 +#: internal/service/home.go:263 msgid "Not used" msgstr "不使用" -#: internal/apps/kafka/app.go:52 +#: internal/apps/kafka/app.go:57 msgid "Num Partitions" msgstr "分区数量" -#: internal/apps/elasticsearch/app.go:79 -#: internal/apps/opensearch/app.go:79 +#: internal/apps/elasticsearch/app.go:84 +#: internal/apps/opensearch/app.go:84 msgid "Number of Data Nodes" msgstr "数据节点数量" -#: internal/apps/elasticsearch/app.go:78 -#: internal/apps/opensearch/app.go:78 +#: internal/apps/elasticsearch/app.go:83 +#: internal/apps/opensearch/app.go:83 msgid "Number of Nodes" msgstr "节点数量" @@ -991,7 +991,7 @@ msgstr "要保留的日志数量" msgid "OPTIONS" msgstr "选项" -#: internal/service/environment_php.go:401 +#: internal/service/environment_php.go:364 msgid "OPcache stores precompiled PHP script bytecode in shared memory to improve PHP performance" msgstr "OPcache 将 PHP 脚本预编译的字节码存储到共享内存中来提升 PHP 的性能" @@ -1003,7 +1003,7 @@ msgstr "获取免费证书或生成自签名证书" msgid "Old username cannot be empty" msgstr "旧用户名不能为空" -#: internal/apps/mysql/app.go:129 +#: internal/apps/mysql/app.go:132 msgid "Open Tables" msgstr "已打开的表" @@ -1039,23 +1039,21 @@ msgstr "输出 AcePanel 基本信息并生成新密码" msgid "PHP version used by the website (not used if not filled)" msgstr "网站使用的 PHP 版本(不填则不使用)" -#: internal/service/environment_php.go:108 -#: internal/service/environment_php.go:127 -#: internal/service/environment_php.go:147 -#: internal/service/environment_php.go:166 -#: internal/service/environment_php.go:231 -#: internal/service/environment_php.go:245 -#: internal/service/environment_php.go:259 -#: internal/service/environment_php.go:278 -#: internal/service/environment_php.go:297 -#: internal/service/environment_php.go:330 -#: internal/service/environment_php.go:364 -#: internal/service/environment_php.go:47 -#: internal/service/environment_php.go:652 -#: internal/service/environment_php.go:67 -#: internal/service/environment_php.go:711 -#: internal/service/environment_php.go:774 -#: internal/service/environment_php.go:88 +#: internal/service/environment_php.go:109 +#: internal/service/environment_php.go:128 +#: internal/service/environment_php.go:148 +#: internal/service/environment_php.go:167 +#: internal/service/environment_php.go:232 +#: internal/service/environment_php.go:246 +#: internal/service/environment_php.go:260 +#: internal/service/environment_php.go:293 +#: internal/service/environment_php.go:327 +#: internal/service/environment_php.go:48 +#: internal/service/environment_php.go:609 +#: internal/service/environment_php.go:668 +#: internal/service/environment_php.go:68 +#: internal/service/environment_php.go:731 +#: internal/service/environment_php.go:89 msgid "PHP-%d is not installed" msgstr "PHP-%d 未安装" @@ -1090,16 +1088,16 @@ msgstr "密码:%s" msgid "Path where the website is hosted (default path if not filled)" msgstr "网站托管的路径(不填则使用默认路径)" -#: internal/apps/mysql/app.go:125 +#: internal/apps/mysql/app.go:128 msgid "Peak Connections" msgstr "峰值连接数" -#: internal/apps/redis/app.go:87 -#: internal/apps/valkey/app.go:87 +#: internal/apps/redis/app.go:91 +#: internal/apps/valkey/app.go:91 msgid "Peak Memory Usage" msgstr "占用内存峰值" -#: internal/service/environment_php.go:411 +#: internal/service/environment_php.go:374 msgid "PhpRedis connects to and operates on data in Redis databases (requires the igbinary module installed above)" msgstr "PhpRedis 连接并操作 Redis 数据库上的数据(需先安装上面 igbinary 模块)" @@ -1139,19 +1137,19 @@ msgstr "端口范围错误" msgid "Port: %d" msgstr "端口:%d" -#: internal/apps/prometheus/app.go:399 +#: internal/apps/prometheus/app.go:406 msgid "PostgreSQL database metrics" msgstr "PostgreSQL 数据库指标" -#: internal/apps/postgresql/app.go:170 +#: internal/apps/postgresql/app.go:174 msgid "Process Count" msgstr "进程数" -#: internal/service/environment_php.go:181 +#: internal/service/environment_php.go:182 msgid "Process Manager" msgstr "进程管理方式" -#: internal/apps/postgresql/app.go:169 +#: internal/apps/postgresql/app.go:173 msgid "Process PID" msgstr "进程 PID" @@ -1159,7 +1157,7 @@ msgstr "进程 PID" msgid "Project" msgstr "项目" -#: internal/service/environment_php.go:501 +#: internal/service/environment_php.go:464 msgid "Pspell is a spell-checking library" msgstr "Pspell 是一个拼写检查库" @@ -1181,40 +1179,40 @@ msgstr "Python-%s 未安装" msgid "QQ Group:12370907" msgstr "QQ 群:12370907" -#: internal/apps/mysql/app.go:189 +#: internal/apps/mysql/app.go:192 msgid "Query Cache Hit Rate" msgstr "查询缓存命中率" -#: internal/apps/mysql/app.go:177 +#: internal/apps/mysql/app.go:180 msgid "Query Cache Hits" msgstr "查询缓存命中次数" -#: internal/apps/mysql/app.go:181 +#: internal/apps/mysql/app.go:184 msgid "Query Cache Inserts" msgstr "查询缓存插入次数" -#: internal/apps/mysql/app.go:185 +#: internal/apps/mysql/app.go:188 msgid "Query Cache Not Cached" msgstr "查询缓存未缓存次数" -#: internal/apps/mongodb/app.go:92 +#: internal/apps/mongodb/app.go:97 msgid "Query Operations" msgstr "查询操作" -#: internal/apps/nginx/app.go:157 +#: internal/apps/nginx/app.go:162 msgid "Reading" msgstr "正在读取请求" -#: internal/service/environment_php.go:481 +#: internal/service/environment_php.go:444 msgid "Readline is a library for processing text" msgstr "Readline 是一个处理文本的库" -#: internal/apps/prometheus/app.go:402 +#: internal/apps/prometheus/app.go:409 msgid "Redis metrics" msgstr "Redis 指标" -#: internal/apps/elasticsearch/app.go:82 -#: internal/apps/opensearch/app.go:82 +#: internal/apps/elasticsearch/app.go:87 +#: internal/apps/opensearch/app.go:87 msgid "Relocating Shards" msgstr "迁移中的分片" @@ -1222,7 +1220,7 @@ msgstr "迁移中的分片" msgid "Remove panel application mark (use only under guidance)" msgstr "移除面板应用标记(仅在指导下使用)" -#: internal/data/backup.go:913 +#: internal/data/backup.go:914 msgid "Remove panel file failed: %v" msgstr "删除面板文件失败:%v" @@ -1234,11 +1232,11 @@ msgstr "移除面板设置(仅在指导下使用)" msgid "Remove website" msgstr "移除网站" -#: internal/apps/apache/app.go:144 +#: internal/apps/apache/app.go:149 msgid "Requests/sec" msgstr "每秒请求" -#: internal/apps/mongodb/app.go:96 +#: internal/apps/mongodb/app.go:101 msgid "Resident Memory (MB)" msgstr "常驻内存(MB)" @@ -1246,7 +1244,7 @@ msgstr "常驻内存(MB)" msgid "Restart AcePanel service" msgstr "重启 AcePanel 服务" -#: internal/apps/mysql/app.go:121 +#: internal/apps/mysql/app.go:124 msgid "Rollbacks per Second" msgstr "每秒回滚" @@ -1254,7 +1252,7 @@ msgstr "每秒回滚" msgid "Rotation type" msgstr "轮转类型" -#: internal/service/environment_php.go:486 +#: internal/service/environment_php.go:449 msgid "SNMP is a protocol for network management" msgstr "SNMP 是一种用于网络管理的协议" @@ -1262,7 +1260,7 @@ msgstr "SNMP 是一种用于网络管理的协议" msgid "SSH log file not found" msgstr "未找到 SSH 日志文件" -#: internal/service/environment_php.go:471 +#: internal/service/environment_php.go:434 msgid "SSH2 is a library for connecting to SSH servers" msgstr "SSH2 是一个用于连接 SSH 服务器的库" @@ -1295,7 +1293,7 @@ msgstr "服务器类型" msgid "Server username" msgstr "服务器用户名" -#: internal/service/environment_php.go:787 +#: internal/service/environment_php.go:744 msgid "Session save handler is not files, cannot clean" msgstr "Session 保存处理程序不是 files,无法清理" @@ -1307,11 +1305,11 @@ msgstr "设置管理" msgid "Setting not exists" msgstr "设置不存在" -#: internal/service/environment_php.go:192 +#: internal/service/environment_php.go:193 msgid "Slow Requests" msgstr "慢请求" -#: internal/apps/mysql/app.go:133 +#: internal/apps/mysql/app.go:136 msgid "Sort Merge Passes" msgstr "排序后的合并次数" @@ -1319,9 +1317,9 @@ msgstr "排序后的合并次数" msgid "Start AcePanel service" msgstr "启动 AcePanel 服务" -#: internal/apps/postgresql/app.go:168 -#: internal/apps/prometheus/app.go:89 -#: internal/service/environment_php.go:182 +#: internal/apps/postgresql/app.go:172 +#: internal/apps/prometheus/app.go:96 +#: internal/service/environment_php.go:183 msgid "Start Time" msgstr "启动时间" @@ -1329,7 +1327,7 @@ msgstr "启动时间" msgid "Stop AcePanel service" msgstr "停止 AcePanel 服务" -#: internal/apps/mongodb/app.go:97 +#: internal/apps/mongodb/app.go:102 msgid "Storage Engine" msgstr "存储引擎" @@ -1343,15 +1341,15 @@ msgstr "存储引擎" msgid "Storage ID (local storage if not filled)" msgstr "存储 ID(留空则为本地存储)" -#: internal/apps/prometheus/app.go:90 +#: internal/apps/prometheus/app.go:97 msgid "Storage Retention" msgstr "存储保留" -#: internal/apps/postgresql/app.go:172 +#: internal/apps/postgresql/app.go:176 msgid "Storage Usage" msgstr "存储使用" -#: internal/apps/mysql/app.go:132 +#: internal/apps/mysql/app.go:135 msgid "Subqueries without Index" msgstr "没有索引的子查询" @@ -1359,11 +1357,11 @@ msgstr "没有索引的子查询" msgid "Successfully obtained panel certificate via ACME" msgstr "成功通过 ACME 获取面板证书" -#: internal/service/environment_php.go:591 +#: internal/service/environment_php.go:554 msgid "Swoole is a PHP module for building high-performance asynchronous concurrent servers" msgstr "Swoole 是构建高性能异步并发服务器的 PHP 模块" -#: internal/service/environment_php.go:600 +#: internal/service/environment_php.go:563 msgid "Swow is a PHP module for building high-performance asynchronous concurrent servers" msgstr "Swow 是构建高性能异步并发服务器的 PHP 模块" @@ -1375,28 +1373,28 @@ msgstr "与云端同步 AcePanel 缓存数据" msgid "Sync server time with NTP" msgstr "与 NTP 同步服务器时间" -#: internal/service/environment_php.go:571 +#: internal/service/environment_php.go:534 msgid "Sysvmsg is a library for handling System V message queues" msgstr "Sysvmsg 是一个处理系统 V 消息队列的库" -#: internal/service/environment_php.go:576 +#: internal/service/environment_php.go:539 msgid "Sysvsem is a library for handling System V semaphores" msgstr "Sysvsem 是一个处理系统 V 信号的库" -#: internal/service/environment_php.go:581 +#: internal/service/environment_php.go:544 msgid "Sysvshm is a library for handling System V shared memory" msgstr "Sysvshm 是一个处理 V 共享内存的库" -#: internal/apps/redis/app.go:82 -#: internal/apps/valkey/app.go:82 +#: internal/apps/redis/app.go:86 +#: internal/apps/valkey/app.go:86 msgid "TCP Port" msgstr "TCP 端口" -#: internal/apps/mysql/app.go:134 +#: internal/apps/mysql/app.go:137 msgid "Table Locks Waited" msgstr "锁表次数" -#: internal/apps/clickhouse/app.go:96 +#: internal/apps/clickhouse/app.go:101 msgid "Tables" msgstr "表" @@ -1408,11 +1406,11 @@ msgstr "目标名称" msgid "Tasks cleared successfully" msgstr "任务已成功清除" -#: internal/apps/mysql/app.go:128 +#: internal/apps/mysql/app.go:131 msgid "Temporary Tables Created on Disk" msgstr "创建临时表到磁盘" -#: internal/data/backup.go:1017 +#: internal/data/backup.go:1018 msgid "Temporary file detected in /tmp, this may be caused by the last update failure, please run acepanel fix to repair and try again" msgstr "在 /tmp 中检测到临时文件,这可能是上次更新失败导致的,请运行 acepanel fix 进行修复并重试" @@ -1420,7 +1418,7 @@ msgstr "在 /tmp 中检测到临时文件,这可能是上次更新失败导致 msgid "Tencent Cloud" msgstr "腾讯云" -#: internal/data/backup.go:782 +#: internal/data/backup.go:783 msgid "The number of files contained in the compressed file is not 1, actual %d" msgstr "压缩文件包含的文件数量不为1,实际为 %d" @@ -1432,64 +1430,64 @@ msgstr "时间同步成功" msgid "Toggle two-factor authentication for a user" msgstr "开关用户两步认证" -#: internal/apps/apache/app.go:116 +#: internal/apps/apache/app.go:121 msgid "Total Accesses" msgstr "总访问量" -#: internal/apps/redis/app.go:85 -#: internal/apps/valkey/app.go:85 +#: internal/apps/redis/app.go:89 +#: internal/apps/valkey/app.go:89 msgid "Total Allocated Memory" msgstr "已分配内存总量" -#: internal/apps/redis/app.go:90 -#: internal/apps/valkey/app.go:90 +#: internal/apps/redis/app.go:94 +#: internal/apps/valkey/app.go:94 msgid "Total Commands Processed" msgstr "执行的命令总数" -#: internal/apps/mysql/app.go:119 -#: internal/apps/postgresql/app.go:171 +#: internal/apps/mysql/app.go:122 +#: internal/apps/postgresql/app.go:175 msgid "Total Connections" msgstr "总连接数" -#: internal/apps/mongodb/app.go:91 +#: internal/apps/mongodb/app.go:96 msgid "Total Connections Created" msgstr "创建的连接总数" -#: internal/apps/redis/app.go:89 -#: internal/apps/valkey/app.go:89 +#: internal/apps/redis/app.go:93 +#: internal/apps/valkey/app.go:93 msgid "Total Connections Received" msgstr "收到的连接总数" -#: internal/apps/redis/app.go:86 -#: internal/apps/valkey/app.go:86 +#: internal/apps/redis/app.go:90 +#: internal/apps/valkey/app.go:90 msgid "Total Memory Usage" msgstr "内存使用总数" -#: internal/service/environment_php.go:189 +#: internal/service/environment_php.go:190 msgid "Total Processes" msgstr "总进程数" -#: internal/apps/mysql/app.go:118 +#: internal/apps/mysql/app.go:121 msgid "Total Queries" msgstr "查询总数" -#: internal/apps/apache/app.go:123 +#: internal/apps/apache/app.go:128 msgid "Total Traffic" msgstr "总流量" -#: internal/apps/nginx/app.go:141 +#: internal/apps/nginx/app.go:146 msgid "Total connections" msgstr "总连接数" -#: internal/apps/nginx/app.go:145 +#: internal/apps/nginx/app.go:150 msgid "Total handshakes" msgstr "总握手数" -#: internal/apps/nginx/app.go:149 +#: internal/apps/nginx/app.go:154 msgid "Total requests" msgstr "总请求数" -#: internal/apps/mysql/app.go:120 +#: internal/apps/mysql/app.go:123 msgid "Transactions per Second" msgstr "每秒事务" @@ -1500,24 +1498,24 @@ msgstr "每秒事务" msgid "USAGE" msgstr "使用" -#: internal/service/app.go:216 +#: internal/service/app.go:223 msgid "Unable to update app list cache in offline mode" msgstr "无法在离线模式下更新应用列表缓存" -#: internal/apps/elasticsearch/app.go:83 -#: internal/apps/opensearch/app.go:83 +#: internal/apps/elasticsearch/app.go:88 +#: internal/apps/opensearch/app.go:88 msgid "Unassigned Shards" msgstr "未分配的分片" -#: internal/service/environment_php.go:380 +#: internal/service/environment_php.go:343 msgid "Uninstall PHP-%d %s module" msgstr "卸载 PHP-%d %s 模块" -#: internal/apps/prometheus/app.go:282 +#: internal/apps/prometheus/app.go:289 msgid "Uninstall Prometheus exporter %s" msgstr "卸载 Prometheus exporter %s" -#: internal/data/app.go:282 +#: internal/data/app.go:277 msgid "Uninstall app %s" msgstr "卸载应用 %s" @@ -1537,11 +1535,11 @@ msgstr "不支持的轮转类型:%s" msgid "Unused container images: %d" msgstr "未使用的容器镜像: %d" -#: internal/data/backup.go:904 +#: internal/data/backup.go:905 msgid "Unzip backup file failed: %v" msgstr "解压备份文件失败:%v" -#: internal/data/backup.go:931 +#: internal/data/backup.go:932 msgid "Unzip panel data failed: %v" msgstr "解压面板数据失败:%v" @@ -1549,11 +1547,11 @@ msgstr "解压面板数据失败:%v" msgid "Update AcePanel to the latest version" msgstr "更新 AcePanel 到最新版本" -#: internal/apps/mongodb/app.go:94 +#: internal/apps/mongodb/app.go:99 msgid "Update Operations" msgstr "更新操作" -#: internal/data/app.go:341 +#: internal/data/app.go:336 msgid "Update app %s" msgstr "更新应用 %s" @@ -1565,17 +1563,17 @@ msgstr "更新应用" msgid "Update environment %s" msgstr "更新环境 %s" -#: internal/apps/mysql/app.go:117 +#: internal/apps/mysql/app.go:120 msgid "Uptime" msgstr "运行时间" -#: internal/apps/clickhouse/app.go:92 -#: internal/apps/mongodb/app.go:89 +#: internal/apps/clickhouse/app.go:97 +#: internal/apps/mongodb/app.go:94 msgid "Uptime (seconds)" msgstr "运行时间(秒)" -#: internal/apps/redis/app.go:83 -#: internal/apps/valkey/app.go:83 +#: internal/apps/redis/app.go:87 +#: internal/apps/valkey/app.go:87 msgid "Uptime in Days" msgstr "已运行天数" @@ -1607,17 +1605,17 @@ msgstr "用户名:%s" msgid "VERSION" msgstr "版本" -#: internal/data/backup.go:1010 +#: internal/data/backup.go:1011 msgid "Verify download file failed: %v" msgstr "验证下载文件失败:%v" -#: internal/apps/clickhouse/app.go:91 -#: internal/apps/grafana/app.go:80 -#: internal/apps/mongodb/app.go:88 +#: internal/apps/clickhouse/app.go:96 +#: internal/apps/grafana/app.go:86 +#: internal/apps/mongodb/app.go:93 msgid "Version" msgstr "版本" -#: internal/apps/nginx/app.go:165 +#: internal/apps/nginx/app.go:170 msgid "Waiting" msgstr "正在驻留等待" @@ -1662,8 +1660,8 @@ msgstr "网站:https://acepanel.net" msgid "West.cn" msgstr "西部数码" -#: internal/apps/apache/app.go:98 -#: internal/apps/nginx/app.go:115 +#: internal/apps/apache/app.go:103 +#: internal/apps/nginx/app.go:120 msgid "Workers" msgstr "工作进程" @@ -1675,73 +1673,73 @@ msgstr "写入面板设置(仅在指导下使用)" msgid "Write website data (use only under guidance)" msgstr "写入网站数据(仅在指导下使用)" -#: internal/apps/nginx/app.go:161 +#: internal/apps/nginx/app.go:166 msgid "Writing" msgstr "正在写入响应" -#: internal/service/environment_php.go:516 +#: internal/service/environment_php.go:479 msgid "XLSWriter is a high-performance library for reading and writing Excel files" msgstr "XLSWriter 是一个高性能读写 Excel 文件的库" -#: internal/service/environment_php.go:521 +#: internal/service/environment_php.go:484 msgid "XSL is a library for processing XML documents" msgstr "XSL 是用于处理 XML 文档的库" -#: internal/service/environment_php.go:461 +#: internal/service/environment_php.go:424 msgid "Zip is a library for handling ZIP files" msgstr "Zip 是一个用于处理 ZIP 文件的库" -#: internal/data/app.go:191 +#: internal/data/app.go:186 msgid "app %s already installed" msgstr "应用 %s 已安装" -#: internal/data/app.go:90 +#: internal/data/app.go:85 msgid "app %s not found" msgstr "找不到应用 %s" -#: internal/data/app.go:246 -#: internal/data/app.go:300 -#: internal/http/middleware/must_install.go:38 +#: internal/data/app.go:241 +#: internal/data/app.go:295 +#: internal/http/middleware/must_install.go:36 msgid "app %s not installed" msgstr "应用 %s 未安装" -#: internal/data/app.go:211 -#: internal/data/app.go:324 +#: internal/data/app.go:206 +#: internal/data/app.go:319 msgid "app %s not support current panel version" msgstr "应用 %s 不支持当前面板版本" -#: internal/data/app.go:202 -#: internal/data/app.go:261 -#: internal/data/app.go:315 +#: internal/data/app.go:197 +#: internal/data/app.go:256 +#: internal/data/app.go:310 msgid "app %s requires panel version %s, current version %s" msgstr "应用 %s 需要面板版本 %s,当前版本 %s" -#: internal/http/middleware/must_install.go:24 +#: internal/http/middleware/must_install.go:25 msgid "app not found" msgstr "应用未找到" -#: internal/data/setting.go:333 -#: internal/data/setting.go:395 -#: internal/data/setting.go:411 +#: internal/data/setting.go:341 +#: internal/data/setting.go:403 +#: internal/data/setting.go:419 msgid "background task is running, modifying some settings is prohibited, please try again later" msgstr "后台任务正在运行,禁止修改某些设置,请稍后再试" -#: internal/service/home.go:419 -#: internal/service/home.go:429 +#: internal/service/home.go:400 +#: internal/service/home.go:410 msgid "background task is running, restart is prohibited, please try again later" msgstr "后台任务正在运行,禁止重启,请稍后再试" -#: internal/service/home.go:385 +#: internal/service/home.go:366 msgid "background task is running, updating is prohibited, please try again later" msgstr "后台任务正在运行,禁止更新,请稍后再试" -#: internal/data/backup.go:228 +#: internal/data/backup.go:229 msgid "backup file not exists" msgstr "备份文件不存在" -#: internal/data/backup.go:294 -#: internal/data/backup.go:375 -#: internal/data/backup.go:88 +#: internal/data/backup.go:295 +#: internal/data/backup.go:376 +#: internal/data/backup.go:89 msgid "backup storage not found" msgstr "未找到备份存储" @@ -1753,7 +1751,7 @@ msgstr "备份传输失败:%v" msgid "btrfs filesystem is not mounted, logical volume has been extended but filesystem was not resized" msgstr "btrfs 文件系统未挂载,逻辑卷已扩展但文件系统未调整大小" -#: internal/service/file.go:297 +#: internal/service/file.go:314 msgid "can't download a directory" msgstr "无法下载目录" @@ -1774,7 +1772,7 @@ msgstr "无法初始化系统磁盘" msgid "check server connection failed" msgstr "检查服务器连接失败" -#: internal/service/file.go:667 +#: internal/service/file.go:683 msgid "chunk hash mismatch" msgstr "分块哈希不匹配" @@ -1794,16 +1792,16 @@ msgstr "编排 %s 已存在" msgid "compressing directory: %s" msgstr "正在压缩目录:%s" -#: internal/data/backup.go:790 +#: internal/data/backup.go:791 msgid "could not find .sql backup file" msgstr "找不到 .sql 备份文件" -#: internal/service/file.go:176 -#: internal/service/file.go:590 +#: internal/service/file.go:193 +#: internal/service/file.go:606 msgid "create directory error: %v" msgstr "创建目录错误:%v" -#: internal/service/file.go:710 +#: internal/service/file.go:726 msgid "create target file error: %v" msgstr "创建目标文件错误:%v" @@ -1823,10 +1821,10 @@ msgstr "正在远程服务器上创建项目" msgid "creating website on remote server" msgstr "正在远程服务器上创建网站" -#: internal/data/backup.go:525 -#: internal/data/backup.go:583 -#: internal/data/backup.go:708 -#: internal/data/backup.go:744 +#: internal/data/backup.go:526 +#: internal/data/backup.go:584 +#: internal/data/backup.go:709 +#: internal/data/backup.go:745 msgid "database does not exist: %s" msgstr "数据库不存在:%s" @@ -1842,12 +1840,12 @@ msgstr "数据库迁移完成" msgid "database user migration completed" msgstr "数据库用户迁移完成" -#: internal/apps/grafana/app.go:221 +#: internal/apps/grafana/app.go:229 msgid "datasource %s already exists" msgstr "数据源 %s 已存在" -#: internal/apps/grafana/app.go:270 -#: internal/apps/grafana/app.go:313 +#: internal/apps/grafana/app.go:266 +#: internal/apps/grafana/app.go:314 msgid "datasource %s not found" msgstr "数据源 %s 不存在" @@ -1860,11 +1858,11 @@ msgstr "部署证书到网站" msgid "device not found: %s" msgstr "未找到设备:%s" -#: internal/apps/pureftpd/app.go:87 +#: internal/apps/pureftpd/app.go:92 msgid "directory %s does not exist" msgstr "目录 %s 不存在" -#: internal/service/toolbox_system.go:129 +#: internal/service/toolbox_system.go:130 msgid "disk space is insufficient, current free %s" msgstr "磁盘空间不足,当前可用 %s" @@ -1872,7 +1870,7 @@ msgstr "磁盘空间不足,当前可用 %s" msgid "duplicate submission, please wait for the previous task to end" msgstr "重复提交,请等待前一个任务结束" -#: internal/apps/s3fs/app.go:62 +#: internal/apps/s3fs/app.go:68 msgid "endpoint should not contain bucket" msgstr "端点不应包含 bucket" @@ -1895,18 +1893,18 @@ msgstr "到期时间必须大于当前时间" msgid "expiration time must be less than 10 years" msgstr "到期时间必须小于 10 年" -#: internal/apps/prometheus/app.go:248 -#: internal/apps/prometheus/app.go:275 -#: internal/apps/prometheus/app.go:297 -#: internal/apps/prometheus/app.go:313 -#: internal/apps/prometheus/app.go:329 -#: internal/apps/prometheus/app.go:345 -#: internal/apps/prometheus/app.go:364 +#: internal/apps/prometheus/app.go:255 +#: internal/apps/prometheus/app.go:282 +#: internal/apps/prometheus/app.go:304 +#: internal/apps/prometheus/app.go:320 +#: internal/apps/prometheus/app.go:336 +#: internal/apps/prometheus/app.go:352 +#: internal/apps/prometheus/app.go:371 msgid "exporter %s does not exist" msgstr "exporter %s 不存在" -#: internal/apps/prometheus/app.go:351 -#: internal/apps/prometheus/app.go:370 +#: internal/apps/prometheus/app.go:358 +#: internal/apps/prometheus/app.go:377 msgid "exporter %s has no configuration file" msgstr "exporter %s 没有配置文件" @@ -1927,10 +1925,14 @@ msgstr "失败" msgid "failed to check ssh connection: %v" msgstr "检查 ssh 连接失败:%v" -#: internal/data/backup.go:862 +#: internal/data/backup.go:863 msgid "failed to clean temporary files: %v" msgstr "清理临时文件失败:%v" +#: internal/service/systemctl.go:153 +msgid "failed to clear log for %s service: %v" +msgstr "无法清除 %s 服务的日志:%v" + #: internal/service/toolbox_migration.go:186 msgid "failed to connect remote server: %v" msgstr "连接远程服务器失败:%v" @@ -1959,7 +1961,7 @@ msgstr "创建 docker 客户端失败:%v" msgid "failed to create logical volume: %v" msgstr "创建逻辑卷失败:%v" -#: internal/apps/s3fs/app.go:69 +#: internal/apps/s3fs/app.go:75 msgid "failed to create mount path: %v" msgstr "创建挂载路径失败: %v" @@ -1971,7 +1973,7 @@ msgstr "创建挂载点失败:%v" msgid "failed to create partition: %v" msgstr "创建分区失败:%v" -#: internal/apps/s3fs/app.go:94 +#: internal/apps/s3fs/app.go:98 msgid "failed to create passwd file: %v" msgstr "创建 passwd 文件失败: %v" @@ -1979,7 +1981,7 @@ msgstr "创建 passwd 文件失败: %v" msgid "failed to create physical volume: %v" msgstr "创建物理卷失败:%v" -#: internal/data/project.go:113 +#: internal/data/project.go:112 msgid "failed to create project directory" msgstr "创建项目目录失败" @@ -1995,15 +1997,15 @@ msgstr "创建 webhook 目录失败:%v" msgid "failed to delete fstab entry: %v" msgstr "删除 fstab 条目失败:%v" -#: internal/apps/nginx/stream.go:119 +#: internal/apps/nginx/stream.go:120 msgid "failed to delete stream server config: %v" msgstr "删除 Stream 服务器配置失败:%v" -#: internal/apps/nginx/stream.go:230 +#: internal/apps/nginx/stream.go:231 msgid "failed to delete stream upstream config: %v" msgstr "删除 Stream 上游配置失败:%v" -#: internal/data/project.go:170 +#: internal/data/project.go:169 msgid "failed to delete systemd config" msgstr "删除 systemd 配置失败" @@ -2032,11 +2034,11 @@ msgstr "格式化分区失败:%v" msgid "failed to generate SSH key: %v" msgstr "生成 SSH 密钥失败:%v" -#: internal/data/setting.go:322 +#: internal/data/setting.go:330 msgid "failed to generate self-signed certificate: %v" msgstr "生成自签名证书失败:%v" -#: internal/data/project.go:118 +#: internal/data/project.go:117 msgid "failed to generate systemd config" msgstr "生成 systemd 配置失败" @@ -2048,7 +2050,7 @@ msgstr "获取 %s 服务启用状态失败:%v" msgid "failed to get %s service running status: %v" msgstr "获取 %s 服务运行状态失败:%v" -#: internal/apps/clickhouse/app.go:199 +#: internal/apps/clickhouse/app.go:204 msgid "failed to get ClickHouse default password: %v" msgstr "获取 ClickHouse 默认密码失败:%v" @@ -2060,39 +2062,39 @@ msgstr "获取 Google EAB 失败: %s" msgid "failed to get Google EAB: %v" msgstr "获取 Google EAB 失败: %v" -#: internal/apps/memcached/app.go:40 +#: internal/apps/memcached/app.go:45 msgid "failed to get Memcached status: %v" msgstr "获取 Memcached 状态失败: %v" -#: internal/apps/mongodb/app.go:194 +#: internal/apps/mongodb/app.go:199 msgid "failed to get MongoDB admin password: %v" msgstr "获取 MongoDB 管理员密码失败:%v" -#: internal/apps/mysql/app.go:104 +#: internal/apps/mysql/app.go:107 msgid "failed to get MySQL status: %v" msgstr "获取 MySQL 状态失败: %v" -#: internal/service/toolbox_system.go:264 +#: internal/service/toolbox_system.go:259 msgid "failed to get NTP configuration: %v" msgstr "获取 NTP 配置失败:%v" -#: internal/apps/postgresql/app.go:143 +#: internal/apps/postgresql/app.go:147 msgid "failed to get PostgreSQL backend pid: %v" msgstr "获取 PostgreSQL 后端 pid 失败: %v" -#: internal/apps/postgresql/app.go:153 +#: internal/apps/postgresql/app.go:157 msgid "failed to get PostgreSQL connections: %v" msgstr "获取 PostgreSQL 连接数失败: %v" -#: internal/apps/postgresql/app.go:158 +#: internal/apps/postgresql/app.go:162 msgid "failed to get PostgreSQL database size: %v" msgstr "获取 PostgreSQL 数据库大小失败: %v" -#: internal/apps/postgresql/app.go:148 +#: internal/apps/postgresql/app.go:152 msgid "failed to get PostgreSQL process: %v" msgstr "获取 PostgreSQL 进程数失败: %v" -#: internal/apps/postgresql/app.go:138 +#: internal/apps/postgresql/app.go:142 msgid "failed to get PostgreSQL start time: %v" msgstr "获取 PostgreSQL 启动时间失败: %v" @@ -2100,7 +2102,7 @@ msgstr "获取 PostgreSQL 启动时间失败: %v" msgid "failed to get SMART info for device %s" msgstr "获取设备 %s 的 SMART 信息失败" -#: internal/service/toolbox_system.go:79 +#: internal/service/toolbox_system.go:80 msgid "failed to get SWAP: %v" msgstr "获取 SWAP 失败: %v" @@ -2112,20 +2114,20 @@ msgstr "获取 ZeroSSL EAB 失败" msgid "failed to get ZeroSSL EAB: %v" msgstr "获取 ZeroSSL EAB 失败: %v" -#: internal/apps/apache/app.go:104 -#: internal/apps/apache/app.go:94 +#: internal/apps/apache/app.go:109 +#: internal/apps/apache/app.go:99 msgid "failed to get apache workers: %v" msgstr "获取 apache 工作进程失败: %v" -#: internal/service/toolbox_system.go:181 +#: internal/service/toolbox_system.go:182 msgid "failed to get available timezones: %v" msgstr "获取可用时区失败: %v" -#: internal/apps/fail2ban/app.go:268 +#: internal/apps/fail2ban/app.go:276 msgid "failed to get banned ip list" msgstr "获取被封禁的 ip 列表失败" -#: internal/apps/fail2ban/app.go:258 +#: internal/apps/fail2ban/app.go:266 msgid "failed to get current banned list" msgstr "获取当前被禁止的列表失败" @@ -2154,15 +2156,15 @@ msgstr "获取数据库用户列表失败:%v" msgid "failed to get disk list: %v" msgstr "获取磁盘列表失败:%v" -#: internal/service/toolbox_system.go:125 +#: internal/service/toolbox_system.go:126 msgid "failed to get disk space: %v" msgstr "获取磁盘空间失败: %v" -#: internal/apps/elasticsearch/app.go:43 +#: internal/apps/elasticsearch/app.go:48 msgid "failed to get elasticsearch status: %v" msgstr "获取 elasticsearch 状态失败:%v" -#: internal/service/file.go:341 +#: internal/service/file.go:358 msgid "failed to get file system info" msgstr "获取文件系统信息失败" @@ -2170,11 +2172,11 @@ msgstr "获取文件系统信息失败" msgid "failed to get filesystem type: %v" msgstr "获取文件系统类型失败:%v" -#: internal/apps/grafana/app.go:46 +#: internal/apps/grafana/app.go:52 msgid "failed to get grafana status: %v" msgstr "获取 grafana 状态失败:%v" -#: internal/service/home.go:83 +#: internal/service/home.go:84 msgid "failed to get home apps: %v" msgstr "获取主页应用失败: %v" @@ -2182,23 +2184,22 @@ msgstr "获取主页应用失败: %v" msgid "failed to get index template file: %v" msgstr "获取首页模板文件失败:%v" -#: internal/apps/kafka/app.go:38 +#: internal/apps/kafka/app.go:43 msgid "failed to get kafka status: %v" msgstr "获取 kafka 状态失败:%v" -#: internal/apps/supervisor/app.go:218 -#: internal/apps/supervisor/app.go:241 -#: internal/apps/supervisor/app.go:358 -#: internal/apps/supervisor/app.go:368 +#: internal/apps/supervisor/app.go:217 +#: internal/apps/supervisor/app.go:343 +#: internal/apps/supervisor/app.go:353 msgid "failed to get log path for process %s: %v" msgstr "获取进程 %s 的日志路径失败: %v" -#: internal/apps/nginx/app.go:111 -#: internal/apps/nginx/app.go:121 +#: internal/apps/nginx/app.go:116 +#: internal/apps/nginx/app.go:126 msgid "failed to get nginx workers: %v" msgstr "获取 nginx 工作进程失败: %v" -#: internal/apps/opensearch/app.go:43 +#: internal/apps/opensearch/app.go:48 msgid "failed to get opensearch status: %v" msgstr "获取 opensearch 状态失败:%v" @@ -2210,7 +2211,7 @@ msgstr "获取分区 UUID 失败:%v" msgid "failed to get partitions: %v" msgstr "获取分区失败:%v" -#: internal/apps/pureftpd/app.go:147 +#: internal/apps/pureftpd/app.go:152 msgid "failed to get port: %v" msgstr "获取端口失败: %v" @@ -2234,15 +2235,15 @@ msgstr "获取项目详情失败:%v" msgid "failed to get project list: %v" msgstr "获取项目列表失败:%v" -#: internal/apps/prometheus/app.go:58 +#: internal/apps/prometheus/app.go:65 msgid "failed to get prometheus status: %v" msgstr "获取 prometheus 状态失败:%v" -#: internal/apps/redis/app.go:67 +#: internal/apps/redis/app.go:73 msgid "failed to get redis info: %v" msgstr "获取 redis 信息失败: %v" -#: internal/apps/redis/app.go:44 +#: internal/apps/redis/app.go:50 msgid "failed to get redis status: %v" msgstr "获取 redis 状态失败: %v" @@ -2250,51 +2251,51 @@ msgstr "获取 redis 状态失败: %v" msgid "failed to get remote database servers: %v" msgstr "获取远程数据库服务器失败:%v" -#: internal/apps/s3fs/app.go:127 -#: internal/apps/s3fs/app.go:40 -#: internal/apps/s3fs/app.go:80 +#: internal/apps/s3fs/app.go:131 +#: internal/apps/s3fs/app.go:46 +#: internal/apps/s3fs/app.go:86 msgid "failed to get s3fs list: %v" msgstr "获取 s3fs 列表失败: %v" -#: internal/service/home.go:103 +#: internal/service/home.go:104 msgid "failed to get system info: %v" msgstr "获取系统信息失败: %v" -#: internal/service/home.go:398 +#: internal/service/home.go:379 msgid "failed to get the latest version download link" msgstr "获取最新版本下载链接失败" -#: internal/service/home.go:314 -#: internal/service/home.go:350 -#: internal/service/home.go:392 +#: internal/service/home.go:295 +#: internal/service/home.go:331 +#: internal/service/home.go:373 msgid "failed to get the latest version: %v" msgstr "获取最新版本失败: %v" -#: internal/apps/rsync/app.go:82 +#: internal/apps/rsync/app.go:88 msgid "failed to get the secret key for module %s" msgstr "获取模块 %s 的密钥失败" -#: internal/service/home.go:371 +#: internal/service/home.go:352 msgid "failed to get the update information: %v" msgstr "获取更新信息失败: %v" -#: internal/service/toolbox_system.go:170 +#: internal/service/toolbox_system.go:171 msgid "failed to get timezone: %v" msgstr "获取时区失败: %v" -#: internal/apps/fail2ban/app.go:263 +#: internal/apps/fail2ban/app.go:271 msgid "failed to get total banned list" msgstr "获取全部被禁止的列表失败" -#: internal/data/app.go:270 +#: internal/data/app.go:265 msgid "failed to get uninstall script for app %s" msgstr "获取应用 %s 的卸载脚本失败" -#: internal/apps/valkey/app.go:67 +#: internal/apps/valkey/app.go:73 msgid "failed to get valkey info: %v" msgstr "获取 valkey 信息失败:%v" -#: internal/apps/valkey/app.go:44 +#: internal/apps/valkey/app.go:50 msgid "failed to get valkey status: %v" msgstr "获取 valkey 状态失败:%v" @@ -2306,20 +2307,20 @@ msgstr "获取网站详情失败:%v" msgid "failed to get website list: %v" msgstr "获取网站列表失败:%v" -#: internal/apps/nginx/stream.go:24 +#: internal/apps/nginx/stream.go:25 msgid "failed to list stream servers: %v" msgstr "列出 Stream 服务器失败:%v" -#: internal/apps/nginx/stream.go:135 +#: internal/apps/nginx/stream.go:136 msgid "failed to list stream upstreams: %v" msgstr "列出 Stream 上游失败:%v" -#: internal/apps/mysql/app.go:226 -#: internal/apps/mysql/app.go:94 +#: internal/apps/mysql/app.go:209 +#: internal/apps/mysql/app.go:97 msgid "failed to load MySQL root password: %v" msgstr "加载 MySQL root 密码失败: %v" -#: internal/apps/postgresql/app.go:127 +#: internal/apps/postgresql/app.go:131 msgid "failed to load PostgreSQL postgres password: %v" msgstr "加载 PostgreSQL postgres 密码失败:%v" @@ -2332,10 +2333,10 @@ msgid "failed to parse SMART info: %v" msgstr "解析 SMART 信息失败:%v" #: internal/data/cert.go:103 -#: internal/data/setting.go:340 -#: internal/data/setting.go:414 +#: internal/data/setting.go:348 +#: internal/data/setting.go:422 #: internal/data/website.go:616 -#: internal/data/website.go:967 +#: internal/data/website.go:957 msgid "failed to parse certificate: %v" msgstr "解析证书失败: %v" @@ -2344,10 +2345,10 @@ msgid "failed to parse disk list: %v" msgstr "无法解析磁盘列表:%v" #: internal/data/cert.go:106 -#: internal/data/setting.go:343 -#: internal/data/setting.go:417 +#: internal/data/setting.go:351 +#: internal/data/setting.go:425 #: internal/data/website.go:619 -#: internal/data/website.go:970 +#: internal/data/website.go:960 msgid "failed to parse private key: %v" msgstr "解析私钥失败: %v" @@ -2355,19 +2356,19 @@ msgstr "解析私钥失败: %v" msgid "failed to parse smartctl output: %v" msgstr "解析 smartctl 输出失败:%v" -#: internal/data/project.go:210 +#: internal/data/project.go:209 msgid "failed to parse systemd config" msgstr "解析 systemd 配置失败" -#: internal/apps/fail2ban/app.go:327 -#: internal/apps/fail2ban/app.go:355 +#: internal/apps/fail2ban/app.go:332 +#: internal/apps/fail2ban/app.go:360 msgid "failed to parse the ignoreip of fail2ban" msgstr "解析 fail2ban 的 ignoreip 失败" -#: internal/service/home.go:320 -#: internal/service/home.go:325 -#: internal/service/home.go:356 -#: internal/service/home.go:361 +#: internal/service/home.go:301 +#: internal/service/home.go:306 +#: internal/service/home.go:337 +#: internal/service/home.go:342 msgid "failed to parse version: %v" msgstr "解析版本失败: %v" @@ -2384,7 +2385,7 @@ msgstr "读取命令输出失败: %v" msgid "failed to read command: %v" msgstr "读取命令失败: %v" -#: internal/apps/memcached/app.go:80 +#: internal/apps/memcached/app.go:85 msgid "failed to read from Memcached: %v" msgstr "从 Memcached 读取失败: %v" @@ -2414,26 +2415,26 @@ msgstr "注册账户失败: %v" msgid "failed to reload %s service: %v" msgstr "重载 %s 服务失败: %v" -#: internal/apps/postgresql/app.go:110 +#: internal/apps/postgresql/app.go:114 #: internal/apps/postgresql/app.go:328 -#: internal/apps/postgresql/app.go:77 +#: internal/apps/postgresql/app.go:81 msgid "failed to reload PostgreSQL: %v" msgstr "重载 PostgreSQL 失败: %v" -#: internal/apps/apache/app.go:63 +#: internal/apps/apache/app.go:68 msgid "failed to reload apache: %v" msgstr "重载 apache 失败:%v" -#: internal/apps/nginx/app.go:266 -#: internal/apps/nginx/app.go:77 -#: internal/apps/nginx/stream.go:124 -#: internal/apps/nginx/stream.go:162 -#: internal/apps/nginx/stream.go:208 -#: internal/apps/nginx/stream.go:235 -#: internal/apps/nginx/stream.go:51 -#: internal/apps/nginx/stream.go:97 -#: internal/apps/phpmyadmin/app.go:108 -#: internal/apps/phpmyadmin/app.go:139 +#: internal/apps/nginx/app.go:271 +#: internal/apps/nginx/app.go:82 +#: internal/apps/nginx/stream.go:125 +#: internal/apps/nginx/stream.go:163 +#: internal/apps/nginx/stream.go:209 +#: internal/apps/nginx/stream.go:236 +#: internal/apps/nginx/stream.go:52 +#: internal/apps/nginx/stream.go:98 +#: internal/apps/phpmyadmin/app.go:113 +#: internal/apps/phpmyadmin/app.go:144 msgid "failed to reload nginx: %v" msgstr "重载 nginx 失败:%v" @@ -2453,7 +2454,7 @@ msgstr "删除物理卷失败:%v" msgid "failed to remove volume group: %v" msgstr "删除卷组失败:%v" -#: internal/data/project.go:144 +#: internal/data/project.go:143 msgid "failed to rename systemd config" msgstr "重命名 systemd 配置失败" @@ -2467,11 +2468,11 @@ msgstr "调整文件系统大小失败:%v" msgid "failed to restart %s service: %v" msgstr "重启 %s 服务失败: %v" -#: internal/apps/supervisor/app.go:108 +#: internal/apps/supervisor/app.go:102 msgid "failed to restart %s: %v" msgstr "重启 %s 失败: %v" -#: internal/apps/mysql/app.go:77 +#: internal/apps/mysql/app.go:80 msgid "failed to restart MySQL: %v" msgstr "重启 MySQL 失败: %v" @@ -2479,11 +2480,11 @@ msgstr "重启 MySQL 失败: %v" msgid "failed to run command: %v" msgstr "运行命令失败: %v" -#: internal/apps/clickhouse/app.go:249 +#: internal/apps/clickhouse/app.go:254 msgid "failed to save ClickHouse default password: %v" msgstr "保存 ClickHouse 默认密码失败:%v" -#: internal/apps/mongodb/app.go:227 +#: internal/apps/mongodb/app.go:232 msgid "failed to save MongoDB admin password: %v" msgstr "保存 MongoDB 管理员密码失败:%v" @@ -2491,31 +2492,31 @@ msgstr "保存 MongoDB 管理员密码失败:%v" msgid "failed to select database: %v" msgstr "选择数据库失败:%v" -#: internal/apps/mysql/app.go:99 +#: internal/apps/mysql/app.go:102 msgid "failed to set MYSQL_PWD env: %v" msgstr "设置 MYSQL_PWD 环境变量失败:%v" -#: internal/apps/mongodb/app.go:221 +#: internal/apps/mongodb/app.go:226 msgid "failed to set MongoDB admin password: %v" msgstr "设置 MongoDB 管理员密码失败:%v" -#: internal/service/toolbox_system.go:285 +#: internal/service/toolbox_system.go:280 msgid "failed to set NTP servers: %v" msgstr "设置 NTP 服务器失败:%v" -#: internal/apps/postgresql/app.go:132 +#: internal/apps/postgresql/app.go:136 msgid "failed to set PGPASSWORD env: %v" msgstr "设置 PGPASSWORD 环境变量失败:%v" -#: internal/service/toolbox_system.go:149 +#: internal/service/toolbox_system.go:150 msgid "failed to set SWAP permission: %v" msgstr "设置 SWAP 权限失败: %v" -#: internal/service/toolbox_system.go:312 +#: internal/service/toolbox_system.go:307 msgid "failed to set hostname: %v" msgstr "设置主机名失败: %v" -#: internal/service/toolbox_system.go:335 +#: internal/service/toolbox_system.go:330 msgid "failed to set hosts: %v" msgstr "设置 hosts 失败: %v" @@ -2541,19 +2542,19 @@ msgstr "停止 %s 服务失败: %v" msgid "failed to umount partition: %v" msgstr "卸载分区失败:%v" -#: internal/apps/s3fs/app.go:147 +#: internal/apps/s3fs/app.go:145 msgid "failed to unmount: %v" msgstr "卸载失败: %v" -#: internal/apps/mysql/app.go:108 +#: internal/apps/mysql/app.go:111 msgid "failed to unset MYSQL_PWD env: %v" msgstr "取消设置 MYSQL_PWD 环境变量失败:%v" -#: internal/apps/postgresql/app.go:163 +#: internal/apps/postgresql/app.go:167 msgid "failed to unset PGPASSWORD env: %v" msgstr "取消设置 PGPASSWORD 环境变量失败:%v" -#: internal/service/toolbox_system.go:58 +#: internal/service/toolbox_system.go:59 msgid "failed to update DNS: %v" msgstr "更新 DNS失败: %v" @@ -2585,7 +2586,7 @@ msgstr "更新 root 密码失败:%v" msgid "failed to wipe disk: %v" msgstr "擦除磁盘失败:%v" -#: internal/apps/clickhouse/app.go:237 +#: internal/apps/clickhouse/app.go:242 msgid "failed to write ClickHouse user config: %v" msgstr "写入 ClickHouse 用户配置失败:%v" @@ -2593,17 +2594,17 @@ msgstr "写入 ClickHouse 用户配置失败:%v" msgid "failed to write fstab: %v" msgstr "写入 fstab 失败:%v" -#: internal/apps/nginx/stream.go:45 -#: internal/apps/nginx/stream.go:88 +#: internal/apps/nginx/stream.go:46 +#: internal/apps/nginx/stream.go:89 msgid "failed to write stream server config: %v" msgstr "写入 Stream 服务器配置失败:%v" -#: internal/apps/nginx/stream.go:156 -#: internal/apps/nginx/stream.go:199 +#: internal/apps/nginx/stream.go:157 +#: internal/apps/nginx/stream.go:200 msgid "failed to write stream upstream config: %v" msgstr "写入 Stream 上游配置失败:%v" -#: internal/apps/memcached/app.go:59 +#: internal/apps/memcached/app.go:64 msgid "failed to write to Memcached: %v" msgstr "写入 Memcache 失败: %v" @@ -2612,19 +2613,19 @@ msgstr "写入 Memcache 失败: %v" msgid "failed to write webhook script: %v" msgstr "写入 Web 钩子脚本失败:%v" -#: internal/service/file.go:88 +#: internal/service/file.go:89 msgid "file is too large, please download it to view" msgstr "文件太大,请下载后查看" -#: internal/service/environment_php.go:536 +#: internal/service/environment_php.go:499 msgid "gRPC is a high-performance, open-source, and general-purpose RPC framework" msgstr "gRPC 是一个高性能、开源和通用的 RPC 框架" -#: internal/apps/fail2ban/app.go:184 +#: internal/apps/fail2ban/app.go:192 msgid "get service port failed, please check if it is installed" msgstr "获取服务端口失败,请检查是否安装" -#: internal/service/file.go:644 +#: internal/service/file.go:660 msgid "get upload file error: %v" msgstr "获取上传文件错误:%v" @@ -2690,7 +2691,7 @@ msgstr "无效的签名" msgid "invalid size" msgstr "无效的大小" -#: internal/service/home.go:453 +#: internal/service/home.go:434 msgid "invalid type" msgstr "无效的类型" @@ -2698,7 +2699,7 @@ msgstr "无效的类型" msgid "invalid user id, please login again" msgstr "无效的用户ID,请重新登录" -#: internal/service/environment_php.go:586 +#: internal/service/environment_php.go:549 msgid "ionCube is a professional-grade PHP encryption and decryption tool (must be installed after OPcache)" msgstr "ionCube 是一个专业级的 PHP 加密解密工具(需在 OPcache 之后安装)" @@ -2710,11 +2711,11 @@ msgstr "签发证书,域名:%s" msgid "journalctl is not available" msgstr "journalctl 不可用" -#: internal/data/backup.go:272 +#: internal/data/backup.go:273 msgid "log file %s not exists" msgstr "日志文件 %s 不存在" -#: internal/data/website.go:1122 +#: internal/data/website.go:1112 msgid "maximum number of custom configurations reached (limit: %d)" msgstr "已达到自定义配置的最大数量(限制:%d)" @@ -2727,30 +2728,30 @@ msgstr "迁移正在运行中" msgid "migration is running, cannot reset" msgstr "迁移正在运行中,无法重置" -#: internal/apps/rsync/app.go:117 +#: internal/apps/rsync/app.go:123 msgid "module %s already exists" msgstr "模块 %s 已存在" -#: internal/apps/rsync/app.go:162 -#: internal/apps/rsync/app.go:204 -#: internal/service/environment_php.go:335 -#: internal/service/environment_php.go:369 +#: internal/apps/rsync/app.go:168 +#: internal/apps/rsync/app.go:210 +#: internal/service/environment_php.go:298 +#: internal/service/environment_php.go:332 msgid "module %s does not exist" msgstr "模块 %s 不存在" -#: internal/apps/s3fs/app.go:110 +#: internal/apps/s3fs/app.go:114 msgid "mount failed: %v" msgstr "挂载失败: %v" -#: internal/apps/s3fs/app.go:139 +#: internal/apps/s3fs/app.go:137 msgid "mount not found" msgstr "找不到挂载" -#: internal/apps/s3fs/app.go:86 +#: internal/apps/s3fs/app.go:91 msgid "mount path already exists" msgstr "挂载路径已存在" -#: internal/apps/s3fs/app.go:74 +#: internal/apps/s3fs/app.go:80 msgid "mount path is not empty" msgstr "挂载路径不为空" @@ -2758,10 +2759,10 @@ msgstr "挂载路径不为空" msgid "mount point %s already exists in fstab" msgstr "挂载点 %s 已存在于 fstab 中" -#: internal/apps/nginx/stream.go:108 -#: internal/apps/nginx/stream.go:173 -#: internal/apps/nginx/stream.go:219 -#: internal/apps/nginx/stream.go:62 +#: internal/apps/nginx/stream.go:109 +#: internal/apps/nginx/stream.go:174 +#: internal/apps/nginx/stream.go:220 +#: internal/apps/nginx/stream.go:63 msgid "name is required" msgstr "名称是必填项" @@ -2787,11 +2788,11 @@ msgstr "暂无迁移日志" msgid "obtaining and saving certificate" msgstr "获取并保存证书" -#: internal/service/file.go:184 +#: internal/service/file.go:201 msgid "open file error: %v" msgstr "打开文件错误: %v" -#: internal/service/file.go:650 +#: internal/service/file.go:666 msgid "open upload file error: %v" msgstr "打开上传文件错误:%v" @@ -2823,36 +2824,36 @@ msgstr "密钥登录失败:%v" msgid "passkey registration failed: %v" msgstr "通行密钥注册失败:%v" -#: internal/data/backup.go:632 +#: internal/data/backup.go:633 msgid "path does not exist: %s" msgstr "路径不存在:%s" -#: internal/data/backup.go:635 +#: internal/data/backup.go:636 msgid "path is not a directory: %s" msgstr "路径不是目录:%s" -#: internal/service/file.go:637 +#: internal/service/file.go:653 msgid "path, file_name and file_hash are required" msgstr "path,file_name 和 file_hash 是必需的" -#: internal/service/environment_php.go:441 +#: internal/service/environment_php.go:404 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:451 +#: internal/service/environment_php.go:414 msgid "pdo_sqlsrv is a PDO driver for connecting to SQL Server" msgstr "pdo_sqlsrv 是一个用于连接 SQL Server 的 PDO 驱动程序" -#: internal/service/environment_php.go:436 +#: internal/service/environment_php.go:399 msgid "pgsql is a driver for connecting to PostgreSQL (requires PostgreSQL installed)" msgstr "pgsql 是一个用于连接 PostgreSQL 的驱动程序(需先安装 PostgreSQL)" -#: internal/apps/phpmyadmin/app.go:43 -#: internal/apps/phpmyadmin/app.go:54 +#: internal/apps/phpmyadmin/app.go:48 +#: internal/apps/phpmyadmin/app.go:59 msgid "phpMyAdmin directory not found" msgstr "没有找到 phpMyAdmin 目录" -#: internal/apps/phpmyadmin/app.go:65 +#: internal/apps/phpmyadmin/app.go:70 msgid "phpMyAdmin port not found" msgstr "没有找到 phpMyAdmin 端口" @@ -2861,9 +2862,9 @@ msgid "please complete pre-check first" msgstr "请先完成预检" #: internal/data/user.go:134 -#: internal/service/file.go:139 -#: internal/service/file.go:237 -#: internal/service/file.go:271 +#: internal/service/file.go:156 +#: internal/service/file.go:254 +#: internal/service/file.go:288 msgid "please don't do this" msgstr "请不要花样作死" @@ -2871,7 +2872,7 @@ msgstr "请不要花样作死" msgid "please set public ips first" msgstr "请先设置公网 IP 地址" -#: internal/data/setting.go:361 +#: internal/data/setting.go:369 msgid "port is already in use" msgstr "端口已被占用" @@ -2879,31 +2880,35 @@ msgstr "端口已被占用" msgid "preparing renewal" msgstr "准备续签" +#: internal/apps/supervisor/app.go:309 +msgid "process %s already exists" +msgstr "进程 %s 已存在" + #: internal/service/toolbox_migration.go:755 msgid "project migration completed" msgstr "项目迁移完成" -#: internal/data/project.go:96 +#: internal/data/project.go:95 msgid "project name already exists" msgstr "项目名已存在" -#: internal/service/environment_php.go:541 +#: internal/service/environment_php.go:504 msgid "protobuf is a library for serializing and deserializing data" msgstr "protobuf 是一个用于序列化和反序列化数据的库" -#: internal/service/environment_php.go:546 +#: internal/service/environment_php.go:509 msgid "rdkafka is a library for connecting to Apache Kafka" msgstr "rdkafka 是一个用于连接 Apache Kafka 的库" -#: internal/service/file.go:727 +#: internal/service/file.go:743 msgid "read chunk %d error: %v" msgstr "读取分块 %d 错误:%v" -#: internal/service/file.go:658 +#: internal/service/file.go:674 msgid "read chunk data error: %v" msgstr "读取分块数据错误:%v" -#: internal/service/file.go:599 +#: internal/service/file.go:615 msgid "read directory error: %v" msgstr "读取目录错误:%v" @@ -2919,11 +2924,11 @@ msgstr "续签失败,尝试重新签发" msgid "renewing certificate, domains: %s" msgstr "续签证书,域名:%s" -#: internal/apps/fail2ban/app.go:109 +#: internal/apps/fail2ban/app.go:117 msgid "rule already exists" msgstr "规则已存在" -#: internal/apps/fail2ban/app.go:228 +#: internal/apps/fail2ban/app.go:236 msgid "rule not found" msgstr "找不到规则" @@ -2939,7 +2944,7 @@ msgstr "运行目录不存在" msgid "s3 configuration error: %v" msgstr "S3 配置错误:%v" -#: internal/service/file.go:677 +#: internal/service/file.go:693 msgid "save chunk error: %v" msgstr "保存分块错误:%v" @@ -2980,7 +2985,7 @@ msgstr "未安装 smartmontools,请先安装它(例如:apt install smartmo msgid "sqlite does not support dropping tables from here" msgstr "sqlite 不支持从此处删除表" -#: internal/service/environment_php.go:446 +#: internal/service/environment_php.go:409 msgid "sqlsrv is a driver for connecting to SQL Server" msgstr "sqlsrv 是一个用于连接 SQL Server 的驱动程序" @@ -3007,23 +3012,23 @@ msgstr "正在停止网站" msgid "storage connection error: %v" msgstr "存储连接错误:%v" -#: internal/apps/nginx/stream.go:40 -#: internal/apps/nginx/stream.go:82 +#: internal/apps/nginx/stream.go:41 +#: internal/apps/nginx/stream.go:83 msgid "stream server config already exists: %s" msgstr "Stream 服务器配置已存在:%s" -#: internal/apps/nginx/stream.go:114 -#: internal/apps/nginx/stream.go:74 +#: internal/apps/nginx/stream.go:115 +#: internal/apps/nginx/stream.go:75 msgid "stream server not found: %s" msgstr "未找到 Stream 服务器:%s" -#: internal/apps/nginx/stream.go:151 -#: internal/apps/nginx/stream.go:193 +#: internal/apps/nginx/stream.go:152 +#: internal/apps/nginx/stream.go:194 msgid "stream upstream config already exists: %s" msgstr "Stream 上游配置已存在:%s" -#: internal/apps/nginx/stream.go:185 -#: internal/apps/nginx/stream.go:225 +#: internal/apps/nginx/stream.go:186 +#: internal/apps/nginx/stream.go:226 msgid "stream upstream not found: %s" msgstr "未找到 Stream 上游:%s" @@ -3037,13 +3042,13 @@ msgstr "从服务器 %s 同步" msgid "target backup %s already exists" msgstr "目标备份 %s 已存在" -#: internal/service/file.go:84 +#: internal/service/file.go:85 msgid "target is a directory" msgstr "目标是一个目录" -#: internal/service/file.go:165 -#: internal/service/file.go:583 -#: internal/service/file.go:698 +#: internal/service/file.go:182 +#: internal/service/file.go:599 +#: internal/service/file.go:714 msgid "target path %s already exists" msgstr "目标路径 %s 已存在" @@ -3051,7 +3056,7 @@ msgstr "目标路径 %s 已存在" msgid "template %s not found" msgstr "模板 %s 未找到" -#: internal/service/home.go:365 +#: internal/service/home.go:346 msgid "the current version is the latest version" msgstr "当前版本是最新版本" @@ -3076,12 +3081,12 @@ msgstr "此证书未与 ACME 帐户关联,无法签发" msgid "token expired" msgstr "令牌已过期" -#: internal/service/home.go:306 -#: internal/service/home.go:342 +#: internal/service/home.go:287 +#: internal/service/home.go:323 msgid "unable to check for updates in offline mode" msgstr "离线模式下无法检查更新" -#: internal/service/home.go:380 +#: internal/service/home.go:361 msgid "unable to update in offline mode" msgstr "离线模式下无法更新" @@ -3089,8 +3094,8 @@ msgstr "离线模式下无法更新" msgid "unknown" msgstr "未知" -#: internal/data/backup.go:132 -#: internal/data/backup.go:240 +#: internal/data/backup.go:133 +#: internal/data/backup.go:241 msgid "unknown backup type" msgstr "未知备份类型" @@ -3099,11 +3104,11 @@ msgstr "未知备份类型" msgid "unknown log type" msgstr "未知日志类型" -#: internal/apps/fail2ban/app.go:180 +#: internal/apps/fail2ban/app.go:188 msgid "unknown service" msgstr "未知服务" -#: internal/data/backup.go:467 +#: internal/data/backup.go:468 msgid "unknown storage type" msgstr "未知存储类型" @@ -3133,13 +3138,13 @@ msgstr "不支持的文件系统类型:%s" msgid "unsupported system" msgstr "不支持的系统" -#: internal/data/website.go:1224 -#: internal/data/website.go:1278 +#: internal/data/website.go:1214 +#: internal/data/website.go:1268 msgid "unsupported web server: %s" msgstr "不支持的 Web 服务器:%s" #: internal/data/cert.go:532 -#: internal/data/website.go:1190 +#: internal/data/website.go:1180 msgid "unsupported website type: %s" msgstr "不支持的网站类型:%s" @@ -3152,7 +3157,7 @@ msgstr "上传的证书无法设置为自动续签" msgid "upload failed: %v" msgstr "上传失败:%v" -#: internal/service/file.go:161 +#: internal/service/file.go:178 msgid "upload file error: %v" msgstr "上传文件错误:%v" @@ -3240,15 +3245,15 @@ msgstr "网站迁移完成" msgid "wildcard domains cannot use HTTP verification" msgstr "通配符域名不能使用 HTTP 验证" -#: internal/data/website.go:1000 +#: internal/data/website.go:990 msgid "wildcard domains require DNS verification, please select a DNS provider" msgstr "通配符域名需要 DNS 验证,请选择一个 DNS 提供商" -#: internal/service/file.go:733 +#: internal/service/file.go:749 msgid "write chunk %d error: %v" msgstr "写入分块 %d 错误:%v" -#: internal/service/file.go:189 +#: internal/service/file.go:206 msgid "write file error: %v" msgstr "写入文件错误:%v" @@ -3256,7 +3261,7 @@ msgstr "写入文件错误:%v" msgid "ws not allowed" msgstr "不允许 ws" -#: internal/service/environment_php.go:556 +#: internal/service/environment_php.go:519 msgid "xdebug is a library for debugging and profiling PHP code" msgstr "xdebug 是一个用于调试和分析 PHP 代码的库" @@ -3264,57 +3269,57 @@ 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:551 +#: internal/service/environment_php.go:514 msgid "xhprof is a library for performance profiling" msgstr "xhprof 是一个用于性能分析的库" -#: internal/service/environment_php.go:561 +#: internal/service/environment_php.go:524 msgid "yaml is a library for handling YAML" msgstr "yaml 是一个用于处理 YAML 的库" -#: internal/service/environment_php.go:566 +#: internal/service/environment_php.go:529 msgid "zstd is a library for compressing and decompressing files" msgstr "zstd 是一个压缩和解压文件的库" -#: internal/data/backup.go:893 +#: internal/data/backup.go:894 msgid "|-Backup file used: %s" msgstr "|-使用的备份文件:%s" -#: internal/data/backup.go:198 -#: internal/data/backup.go:507 -#: internal/data/backup.go:565 -#: internal/data/backup.go:623 -#: internal/data/backup.go:667 +#: internal/data/backup.go:199 +#: internal/data/backup.go:508 +#: internal/data/backup.go:566 +#: internal/data/backup.go:624 +#: internal/data/backup.go:668 msgid "|-Backup file: %s" msgstr "|-备份文件:%s" -#: internal/data/backup.go:1031 +#: internal/data/backup.go:1032 msgid "|-Backup panel data failed, missing file" msgstr "|-备份面板数据失败,缺少文件" -#: internal/data/backup.go:1025 -#: internal/data/backup.go:1028 +#: internal/data/backup.go:1026 +#: internal/data/backup.go:1029 msgid "|-Backup panel data failed: %v" msgstr "|-备份面板数据失败:%v" -#: internal/data/backup.go:1021 +#: internal/data/backup.go:1022 msgid "|-Backup panel data..." msgstr "|-备份面板数据……" -#: internal/data/backup.go:118 +#: internal/data/backup.go:119 msgid "|-Backup storage: %s" msgstr "|-备份存储:%s" -#: internal/data/backup.go:119 +#: internal/data/backup.go:120 msgid "|-Backup target: %s" msgstr "|-备份目标:%s" -#: internal/data/backup.go:136 -#: internal/data/backup.go:197 +#: internal/data/backup.go:137 +#: internal/data/backup.go:198 msgid "|-Backup time: %s" msgstr "|-备份时间:%s" -#: internal/data/backup.go:117 +#: internal/data/backup.go:118 msgid "|-Backup type: %s" msgstr "|-备份类型:%s" @@ -3322,28 +3327,28 @@ msgstr "|-备份类型:%s" msgid "|-Backup type: panel" msgstr "|-备份类型:面板" -#: internal/data/backup.go:1051 +#: internal/data/backup.go:1052 msgid "|-Clean up temporary file failed: %v" msgstr "|-清理临时文件失败:%v" -#: internal/data/backup.go:1013 +#: internal/data/backup.go:1014 msgid "|-Clean up verification file failed: %v" msgstr "|-清理验证文件失败:%v" -#: internal/data/backup.go:865 +#: internal/data/backup.go:866 msgid "|-Cleaned up temporary files, please run acepanel update to update the panel" msgstr "|-已清理临时文件,请运行 acepanel update 更新面板" -#: internal/data/backup.go:360 -#: internal/data/backup.go:424 +#: internal/data/backup.go:361 +#: internal/data/backup.go:425 msgid "|-Cleaning expired file: %s" msgstr "|-清理过期文件:%s" -#: internal/data/backup.go:1038 +#: internal/data/backup.go:1039 msgid "|-Cleaning old version failed: %v" msgstr "|-清理旧版本失败:%v" -#: internal/data/backup.go:1035 +#: internal/data/backup.go:1036 msgid "|-Cleaning old version..." msgstr "|-清理旧版本……" @@ -3357,28 +3362,28 @@ msgstr "|-清理目标:%s" msgid "|-Cleaning type: %s" msgstr "|-清理类型:%s" -#: internal/data/backup.go:989 +#: internal/data/backup.go:990 msgid "|-Download link: %s" msgstr "|-下载链接:%s" -#: internal/data/backup.go:1074 +#: internal/data/backup.go:1075 msgid "|-Download panel service file failed: %v" msgstr "|-下载面板服务文件失败:%v" -#: internal/data/backup.go:994 +#: internal/data/backup.go:995 msgid "|-Downloading..." msgstr "|-下载中……" -#: internal/data/backup.go:990 +#: internal/data/backup.go:991 msgid "|-File name: %s" msgstr "|-文件名:%s" -#: internal/data/backup.go:849 -#: internal/data/backup.go:970 +#: internal/data/backup.go:850 +#: internal/data/backup.go:971 msgid "|-Fix completed" msgstr "|-修复完成" -#: internal/data/backup.go:842 +#: internal/data/backup.go:843 msgid "|-Found %s.db is abnormal, removed it" msgstr "|-发现 %s.db 异常,已删除" @@ -3387,24 +3392,24 @@ msgstr "|-发现 %s.db 异常,已删除" msgid "|-Keep count: %d" msgstr "|-保留数量:%d" -#: internal/data/backup.go:1080 +#: internal/data/backup.go:1081 msgid "|-Move acepanel tool failed: %v" msgstr "|-移动 acepanel 工具失败:%v" -#: internal/data/backup.go:909 +#: internal/data/backup.go:910 msgid "|-Move backup file..." msgstr "|-移动备份文件……" -#: internal/data/backup.go:1061 +#: internal/data/backup.go:1062 msgid "|-Restore panel data failed, missing file" msgstr "|-恢复面板数据失败,缺少文件" -#: internal/data/backup.go:1058 +#: internal/data/backup.go:1059 msgid "|-Restore panel data failed: %v" msgstr "|-恢复面板数据失败:%v" -#: internal/data/backup.go:1055 -#: internal/data/backup.go:927 +#: internal/data/backup.go:1056 +#: internal/data/backup.go:928 msgid "|-Restore panel data..." msgstr "|-恢复面板数据……" @@ -3421,63 +3426,63 @@ msgstr "|-轮转类型:container" msgid "|-Rotation type: website" msgstr "|-轮转类型:website" -#: internal/data/backup.go:1068 +#: internal/data/backup.go:1069 msgid "|-Run post-update script failed: %v" msgstr "|-运行更新后脚本失败:%v" -#: internal/data/backup.go:1065 +#: internal/data/backup.go:1066 msgid "|-Run post-update script..." msgstr "|-运行更新后脚本……" -#: internal/data/backup.go:1084 -#: internal/data/backup.go:947 +#: internal/data/backup.go:1085 +#: internal/data/backup.go:948 msgid "|-Set key file permissions..." msgstr "|-设置关键文件权限……" -#: internal/data/backup.go:798 +#: internal/data/backup.go:799 msgid "|-Start fixing the panel..." msgstr "|-开始修复面板……" -#: internal/data/backup.go:988 +#: internal/data/backup.go:989 msgid "|-Target version: %s" msgstr "|-目标版本:%s" -#: internal/data/backup.go:486 -#: internal/data/backup.go:536 -#: internal/data/backup.go:594 -#: internal/data/backup.go:646 +#: internal/data/backup.go:487 +#: internal/data/backup.go:537 +#: internal/data/backup.go:595 +#: internal/data/backup.go:647 msgid "|-Temporary directory: %s" msgstr "|-临时目录:%s" -#: internal/data/backup.go:898 +#: internal/data/backup.go:899 msgid "|-Unzip backup file..." msgstr "|-解压备份文件……" -#: internal/data/backup.go:1048 +#: internal/data/backup.go:1049 msgid "|-Unzip new version failed, missing file" msgstr "|-解压新版本失败,缺少文件" -#: internal/data/backup.go:1045 +#: internal/data/backup.go:1046 msgid "|-Unzip new version failed: %v" msgstr "|-解压新版本失败:%v" -#: internal/data/backup.go:1042 +#: internal/data/backup.go:1043 msgid "|-Unzip new version..." msgstr "|-解压新版本……" -#: internal/data/backup.go:1091 +#: internal/data/backup.go:1092 msgid "|-Update completed" msgstr "|-更新完成" -#: internal/data/backup.go:1007 +#: internal/data/backup.go:1008 msgid "|-Verify download file..." msgstr "|-验证下载文件……" -#: internal/data/backup.go:1077 +#: internal/data/backup.go:1078 msgid "|-Write new panel version failed: %v" msgstr "|-写入新面板版本失败:%v" -#: internal/data/backup.go:115 +#: internal/data/backup.go:116 #: internal/service/cli.go:689 msgid "★ Start backup [%s]" msgstr "★ 开始备份 [%s]" @@ -3495,11 +3500,11 @@ msgstr "★ 开始清理轮转日志 [%s]" msgid "★ Start log rotation [%s]" msgstr "★ 开始轮转日志 [%s]" -#: internal/data/backup.go:157 +#: internal/data/backup.go:158 msgid "☆ Backup completed [%s]" msgstr "☆ 备份完成 [%s]" -#: internal/data/backup.go:147 +#: internal/data/backup.go:148 msgid "☆ Backup failed: %v [%s]" msgstr "☆ 备份失败:%v [%s]" diff --git a/pkg/embed/locales/zh_TW/backend.po b/pkg/embed/locales/zh_TW/backend.po index 73fc7fd8..5b4438e4 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-04-21 20:38\n" +"PO-Revision-Date: 2026-05-06 21:07\n" #: internal/service/toolbox_log.go:257 msgid "%d images" @@ -35,7 +35,7 @@ msgstr "用戶 %s 已禁用兩步驗證" msgid "2FA url: %s" msgstr "兩步驗證 URL: %s" -#: internal/service/environment_php.go:421 +#: internal/service/environment_php.go:384 msgid "APCu is a user-level cache for PHP, providing fast in-memory key-value storage" msgstr "APCu 是 PHP 的使用者級快取,提供快速的記憶體鍵值儲存" @@ -43,11 +43,11 @@ msgstr "APCu 是 PHP 的使用者級快取,提供快速的記憶體鍵值儲 msgid "AUTHOR" msgstr "作者" -#: internal/service/environment_php.go:183 +#: internal/service/environment_php.go:184 msgid "Accepted Connections" msgstr "已接受連接" -#: internal/service/home.go:67 +#: internal/service/home.go:68 msgid "AcePanel" msgstr "AcePanel" @@ -71,29 +71,29 @@ msgstr "AcePanel 服務狀態:%s" msgid "AcePanel service stopped" msgstr "AcePanel 服務已停止" -#: internal/apps/mysql/app.go:124 +#: internal/apps/mysql/app.go:127 msgid "Active Connections" msgstr "活動連接" -#: internal/apps/elasticsearch/app.go:81 -#: internal/apps/opensearch/app.go:81 +#: internal/apps/elasticsearch/app.go:86 +#: internal/apps/opensearch/app.go:86 msgid "Active Primary Shards" msgstr "活躍主分片" -#: internal/service/environment_php.go:188 +#: internal/service/environment_php.go:189 msgid "Active Processes" msgstr "活動進程" -#: internal/apps/clickhouse/app.go:93 +#: internal/apps/clickhouse/app.go:98 msgid "Active Queries" msgstr "活躍查詢" -#: internal/apps/elasticsearch/app.go:80 -#: internal/apps/opensearch/app.go:80 +#: internal/apps/elasticsearch/app.go:85 +#: internal/apps/opensearch/app.go:85 msgid "Active Shards" msgstr "活躍分片" -#: internal/apps/nginx/app.go:133 +#: internal/apps/nginx/app.go:138 msgid "Active connections" msgstr "活動連接" @@ -117,7 +117,7 @@ msgstr "已清除使用者 %s 的所有通行金鑰" msgid "Already initialized" msgstr "已經初始化過了" -#: internal/data/app.go:395 +#: internal/data/app.go:390 msgid "App %s %s" msgstr "應用 %s %s" @@ -145,7 +145,7 @@ msgstr "應用程式解除安裝失敗:%v" msgid "App update failed: %v" msgstr "應用程式更新失敗:%v" -#: internal/service/environment_php.go:180 +#: internal/service/environment_php.go:181 msgid "Application Pool" msgstr "應用程序池" @@ -193,37 +193,37 @@ msgstr "繫結 UA 已禁用" msgid "Bind domain disabled" msgstr "繫結網域已禁用" -#: internal/apps/rocketmq/app.go:58 +#: internal/apps/rocketmq/app.go:64 msgid "Broker Name" msgstr "Broker 名稱" -#: internal/apps/rocketmq/app.go:61 +#: internal/apps/rocketmq/app.go:67 msgid "Broker Role" msgstr "Broker 角色" -#: internal/apps/rocketmq/app.go:57 +#: internal/apps/rocketmq/app.go:63 msgid "Broker Status" msgstr "Broker 狀態" -#: internal/apps/apache/app.go:130 +#: internal/apps/apache/app.go:135 msgid "Busy Workers" msgstr "繁忙的 Worker" -#: internal/apps/mysql/app.go:123 -#: internal/apps/mysql/app.go:142 +#: internal/apps/mysql/app.go:126 +#: internal/apps/mysql/app.go:145 msgid "Bytes Received" msgstr "已接收字節" -#: internal/apps/mysql/app.go:122 -#: internal/apps/mysql/app.go:142 +#: internal/apps/mysql/app.go:125 +#: internal/apps/mysql/app.go:145 msgid "Bytes Sent" msgstr "已發送字節" -#: internal/apps/apache/app.go:151 +#: internal/apps/apache/app.go:156 msgid "Bytes/sec" msgstr "每秒字節" -#: internal/service/environment_php.go:466 +#: internal/service/environment_php.go:429 msgid "Bzip2 is a library for compressing and decompressing files" msgstr "Bzip2 是一個用於壓縮和解壓縮文件的庫" @@ -240,7 +240,7 @@ msgstr "命令" msgid "COPYRIGHT" msgstr "版權" -#: internal/service/environment_php.go:506 +#: internal/service/environment_php.go:469 msgid "Calendar is a library for handling dates" msgstr "Calendar 是一個用於處理日期的庫" @@ -261,16 +261,16 @@ msgstr "更改 AcePanel 監聽端口" msgid "Cleaning failed: %v" msgstr "清理失敗:%v" -#: internal/data/backup.go:901 +#: internal/data/backup.go:902 msgid "Cleaning temporary directory failed: %v" msgstr "清理臨時目錄失敗:%v" -#: internal/data/backup.go:934 +#: internal/data/backup.go:935 msgid "Cleaning temporary file failed: %v" msgstr "清理臨時檔案失敗:%v" -#: internal/data/backup.go:363 -#: internal/data/backup.go:427 +#: internal/data/backup.go:364 +#: internal/data/backup.go:428 msgid "Cleanup failed: %v" msgstr "清理失敗:%v" @@ -298,27 +298,27 @@ msgstr "ClouDNS" msgid "CloudFlare" msgstr "CloudFlare" -#: internal/apps/elasticsearch/app.go:76 -#: internal/apps/opensearch/app.go:76 +#: internal/apps/elasticsearch/app.go:81 +#: internal/apps/opensearch/app.go:81 msgid "Cluster Name" msgstr "叢集名稱" -#: internal/apps/elasticsearch/app.go:77 -#: internal/apps/opensearch/app.go:77 +#: internal/apps/elasticsearch/app.go:82 +#: internal/apps/opensearch/app.go:82 msgid "Cluster Status" msgstr "叢集狀態" -#: internal/apps/redis/app.go:91 -#: internal/apps/valkey/app.go:91 +#: internal/apps/redis/app.go:95 +#: internal/apps/valkey/app.go:95 msgid "Commands Per Second" msgstr "每秒執行命令數" -#: internal/apps/prometheus/app.go:93 +#: internal/apps/prometheus/app.go:100 msgid "Config Reload Success" msgstr "設定重載成功" -#: internal/apps/redis/app.go:84 -#: internal/apps/valkey/app.go:84 +#: internal/apps/redis/app.go:88 +#: internal/apps/valkey/app.go:88 msgid "Connected Clients" msgstr "已連接客戶端數" @@ -338,7 +338,7 @@ msgstr "容器名稱" msgid "Create new website" msgstr "創建新網站" -#: internal/apps/mongodb/app.go:90 +#: internal/apps/mongodb/app.go:95 msgid "Current Connections" msgstr "目前連線數" @@ -355,7 +355,7 @@ msgstr "數據備份" msgid "Data synchronized successfully" msgstr "數據同步成功" -#: internal/apps/grafana/app.go:82 +#: internal/apps/grafana/app.go:88 #: internal/service/toolbox_migration.go:506 msgid "Database" msgstr "資料庫" @@ -384,11 +384,11 @@ msgstr "數據庫伺服器 %s 刪除成功" msgid "Database type" msgstr "數據庫類型" -#: internal/apps/clickhouse/app.go:95 +#: internal/apps/clickhouse/app.go:100 msgid "Databases" msgstr "資料庫" -#: internal/apps/mongodb/app.go:95 +#: internal/apps/mongodb/app.go:100 msgid "Delete Operations" msgstr "刪除操作" @@ -432,20 +432,20 @@ msgstr "Docker 容器日誌:%d 個文件" msgid "Download URL is empty" msgstr "下載 URL 為空" -#: internal/data/backup.go:1000 -#: internal/data/backup.go:997 +#: internal/data/backup.go:1001 +#: internal/data/backup.go:998 msgid "Download failed: %v" msgstr "下載失敗:%v" -#: internal/data/backup.go:1003 +#: internal/data/backup.go:1004 msgid "Download file check failed" msgstr "下載文件檢查失敗" -#: internal/service/file.go:314 +#: internal/service/file.go:331 msgid "Download remote file %v" msgstr "下載遠程文件 %v" -#: internal/apps/prometheus/app.go:401 +#: internal/apps/prometheus/app.go:408 msgid "Elasticsearch metrics" msgstr "Elasticsearch 指標" @@ -457,7 +457,7 @@ msgstr "啟用 HTTPS" msgid "Enable access entrance" msgstr "啟用訪問入口" -#: internal/service/environment_php.go:496 +#: internal/service/environment_php.go:459 msgid "Enchant is a spell-checking library" msgstr "Enchant 是一個拼寫檢查庫" @@ -474,11 +474,11 @@ msgstr "入口已啟用" msgid "Entrance: %s" msgstr "入口:%s" -#: internal/service/environment_php.go:476 +#: internal/service/environment_php.go:439 msgid "Event is a library for handling events" msgstr "Event 是一個用於處理事件的庫" -#: internal/service/environment_php.go:431 +#: internal/service/environment_php.go:394 msgid "Exif is a library for reading and writing image metadata" msgstr "Exif 是一個用於讀取和寫入圖像元數據的庫" @@ -575,7 +575,7 @@ msgstr "無法通過 ACME 獲取面板證書,使用自簽名證書" msgid "Failed to read input: %v" msgstr "讀取輸入失敗: %v" -#: internal/data/backup.go:839 +#: internal/data/backup.go:840 msgid "Failed to remove %s.db: %v" msgstr "無法刪除 %s.db:%v" @@ -609,11 +609,11 @@ msgstr "同步分類資料失敗:%v" msgid "Failed to update 2FA: %v" msgstr "更新兩步驗證失敗: %v" -#: internal/service/environment_php.go:396 +#: internal/service/environment_php.go:359 msgid "Fileinfo is a library used to identify file types" msgstr "Fileinfo 是一個用於識別文件類型的庫" -#: internal/data/backup.go:829 +#: internal/data/backup.go:830 msgid "Files are normal and do not need to be repaired, please run acepanel update to update the panel" msgstr "文件正常,無需修復,請運行 acepanel update 更新面板" @@ -621,7 +621,7 @@ msgstr "文件正常,無需修復,請運行 acepanel update 更新面板" msgid "Fix AcePanel upgrade issues" msgstr "修復 AcePanel 升級問題" -#: internal/apps/rocketmq/app.go:62 +#: internal/apps/rocketmq/app.go:68 msgid "Flush Disk Type" msgstr "刷盤類型" @@ -629,11 +629,11 @@ msgstr "刷盤類型" msgid "Forum:https://tom.moe" msgstr "論壇:https://tom.moe" -#: internal/apps/mysql/app.go:130 +#: internal/apps/mysql/app.go:133 msgid "Full Joins without Index" msgstr "沒有使用索引的 Join" -#: internal/apps/mysql/app.go:131 +#: internal/apps/mysql/app.go:134 msgid "Full Range Joins without Index" msgstr "沒有使用索引的範圍 Join" @@ -641,7 +641,7 @@ msgstr "沒有使用索引的範圍 Join" msgid "GLOBAL OPTIONS" msgstr "全局選項" -#: internal/service/environment_php.go:511 +#: internal/service/environment_php.go:474 msgid "GMP is a library for handling large integers" msgstr "GMP 是一個用於處理大整數的庫" @@ -657,7 +657,7 @@ msgstr "獲取 AcePanel 服務狀態" msgid "Get panel setting (use only under guidance)" msgstr "獲取面板設置(僅在指導下使用)" -#: internal/service/environment_php.go:531 +#: internal/service/environment_php.go:494 msgid "Gettext is a library for handling multilingual support" msgstr "Gettext 是一個處理多語言支持的庫" @@ -667,7 +667,7 @@ msgstr "Gettext 是一個處理多語言支持的庫" msgid "Go-%s is not installed" msgstr "Go-%s 未安裝" -#: internal/apps/prometheus/app.go:91 +#: internal/apps/prometheus/app.go:98 msgid "Goroutine Count" msgstr "Goroutine 數量" @@ -683,7 +683,7 @@ msgstr "HTTPS 已停用" msgid "HTTPS enabled" msgstr "HTTPS 已啟用" -#: internal/apps/prometheus/app.go:396 +#: internal/apps/prometheus/app.go:403 msgid "Hardware and OS metrics" msgstr "硬體和作業系統指標" @@ -695,15 +695,15 @@ msgstr "華為雲" msgid "ID: %d, Username: %s, Email: %s, Created At: %s" msgstr "ID: %d, 用戶名: %s, 電子郵件: %s, 創建時間: %s" -#: internal/service/environment_php.go:456 +#: internal/service/environment_php.go:419 msgid "IMAP module allows PHP to read, search, delete, download, and manage emails" msgstr "IMAP 模組允許 PHP 讀取、搜尋、刪除、下載和管理郵件" -#: internal/service/environment_php.go:187 +#: internal/service/environment_php.go:188 msgid "Idle Processes" msgstr "空閒進程" -#: internal/apps/apache/app.go:137 +#: internal/apps/apache/app.go:142 msgid "Idle Workers" msgstr "空閒的 Worker" @@ -715,22 +715,22 @@ 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:406 +#: internal/service/environment_php.go:369 msgid "Igbinary is a library for serializing and deserializing data" msgstr "Igbinary 是一個用於序列化和反序列化數據的庫" -#: internal/service/environment_php.go:426 +#: internal/service/environment_php.go:389 msgid "ImageMagick is free software for creating, editing, and composing images" msgstr "ImageMagick 是一個創建、編輯、合成圖片的免費軟件" -#: internal/apps/mysql/app.go:126 +#: internal/apps/mysql/app.go:129 msgid "Index Hit Rate" msgstr "索引命中率" -#: internal/service/cli.go:1060 -#: internal/service/cli.go:1065 -#: internal/service/cli.go:1070 -#: internal/service/cli.go:1112 +#: internal/service/cli.go:1061 +#: internal/service/cli.go:1066 +#: internal/service/cli.go:1071 +#: internal/service/cli.go:1113 msgid "Initialization failed: %v" msgstr "初始化失敗:%v" @@ -738,23 +738,23 @@ msgstr "初始化失敗:%v" msgid "Initialize AcePanel (use only under guidance)" msgstr "初始化 AcePanel(僅在指導下使用)" -#: internal/apps/mysql/app.go:127 +#: internal/apps/mysql/app.go:130 msgid "Innodb Index Hit Rate" msgstr "Innodb 索引命中率" -#: internal/apps/mongodb/app.go:93 +#: internal/apps/mongodb/app.go:98 msgid "Insert Operations" msgstr "插入操作" -#: internal/service/environment_php.go:346 +#: internal/service/environment_php.go:309 msgid "Install PHP-%d %s module" msgstr "安裝 PHP-%d %s 模組" -#: internal/apps/prometheus/app.go:255 +#: internal/apps/prometheus/app.go:262 msgid "Install Prometheus exporter %s" msgstr "安裝 Prometheus exporter %s" -#: internal/data/app.go:228 +#: internal/data/app.go:223 msgid "Install app %s" msgstr "安裝應用 %s" @@ -766,7 +766,7 @@ msgstr "安裝應用程式" msgid "Install environment %s" msgstr "安裝環境 %s" -#: internal/service/environment_php.go:526 +#: internal/service/environment_php.go:489 msgid "Intl is a library for handling internationalization and localization" msgstr "Intl 是一個處理國際化和本地化的庫" @@ -778,26 +778,26 @@ msgstr "Java-%s 未安裝" msgid "Journal logs" msgstr "Journal 日誌" -#: internal/apps/prometheus/app.go:404 +#: internal/apps/prometheus/app.go:411 msgid "Kafka metrics" msgstr "Kafka 指標" -#: internal/apps/redis/app.go:92 -#: internal/apps/valkey/app.go:92 +#: internal/apps/redis/app.go:96 +#: internal/apps/valkey/app.go:96 msgid "Keyspace Hits" msgstr "查找數據庫鍵成功次數" -#: internal/apps/redis/app.go:93 -#: internal/apps/valkey/app.go:93 +#: internal/apps/redis/app.go:97 +#: internal/apps/valkey/app.go:97 msgid "Keyspace Misses" msgstr "查找數據庫鍵失敗次數" -#: internal/service/environment_php.go:491 +#: internal/service/environment_php.go:454 msgid "LDAP is a protocol for accessing directory services" msgstr "LDAP 是一種用於訪問目錄服務的協議" -#: internal/apps/redis/app.go:94 -#: internal/apps/valkey/app.go:94 +#: internal/apps/redis/app.go:98 +#: internal/apps/valkey/app.go:98 msgid "Latest Fork Time (ms)" msgstr "最近一次 fork() 操作耗費的毫秒數" @@ -813,19 +813,19 @@ msgstr "與網站關聯的域名列表" msgid "List of listening addresses associated with the website" msgstr "與網站關聯的監聽地址列表" -#: internal/apps/rocketmq/app.go:59 +#: internal/apps/rocketmq/app.go:65 msgid "Listen Port" msgstr "監聽連接埠" -#: internal/service/environment_php.go:184 +#: internal/service/environment_php.go:185 msgid "Listen Queue" msgstr "監聽佇列" -#: internal/service/environment_php.go:186 +#: internal/service/environment_php.go:187 msgid "Listen Queue Length" msgstr "監聽佇列長度" -#: internal/apps/kafka/app.go:50 +#: internal/apps/kafka/app.go:55 msgid "Listeners" msgstr "監聽器" @@ -837,20 +837,20 @@ msgstr "本地 IPv4:%s://%s:%d%s" msgid "Local IPv6: %s://[%s]:%d%s" msgstr "本地 IPv6:%s://[%s]:%d%s" -#: internal/data/backup.go:94 +#: internal/data/backup.go:95 #: internal/data/backup_storage.go:62 msgid "Local Storage" msgstr "本地存儲" -#: internal/apps/kafka/app.go:51 +#: internal/apps/kafka/app.go:56 msgid "Log Dirs" msgstr "日誌目錄" -#: internal/apps/kafka/app.go:53 +#: internal/apps/kafka/app.go:58 msgid "Log Retention Hours" msgstr "日誌保留小時數" -#: internal/apps/kafka/app.go:54 +#: internal/apps/kafka/app.go:59 msgid "Log Segment Bytes" msgstr "日誌段位元組數" @@ -858,37 +858,37 @@ msgstr "日誌段位元組數" msgid "Log rotation" msgstr "日誌輪替" -#: internal/service/environment_php.go:190 +#: internal/service/environment_php.go:191 msgid "Max Active Processes" msgstr "最大活躍進程數量" -#: internal/service/environment_php.go:191 +#: internal/service/environment_php.go:192 msgid "Max Children Reached" msgstr "達到進程上限次數" -#: internal/service/environment_php.go:185 +#: internal/service/environment_php.go:186 msgid "Max Listen Queue" msgstr "最大監聽佇列" -#: internal/service/environment_php.go:416 +#: internal/service/environment_php.go:379 msgid "Memcached is a driver for connecting to Memcached servers" msgstr "Memcached 是一個用於連接 Memcached 伺服器的驅動程式" -#: internal/apps/prometheus/app.go:403 +#: internal/apps/prometheus/app.go:410 msgid "Memcached metrics" msgstr "Memcached 指標" -#: internal/apps/apache/app.go:109 -#: internal/apps/nginx/app.go:126 +#: internal/apps/apache/app.go:114 +#: internal/apps/nginx/app.go:131 msgid "Memory" msgstr "記憶體" -#: internal/apps/redis/app.go:88 -#: internal/apps/valkey/app.go:88 +#: internal/apps/redis/app.go:92 +#: internal/apps/valkey/app.go:92 msgid "Memory Fragmentation Ratio" msgstr "記憶體碎片比率" -#: internal/apps/clickhouse/app.go:94 +#: internal/apps/clickhouse/app.go:99 msgid "Memory Usage (bytes)" msgstr "記憶體使用(位元組)" @@ -900,19 +900,19 @@ msgstr "遷移完成" msgid "Migration started" msgstr "遷移已開始" -#: internal/apps/prometheus/app.go:400 +#: internal/apps/prometheus/app.go:407 msgid "MongoDB metrics" msgstr "MongoDB 指標" -#: internal/data/backup.go:921 +#: internal/data/backup.go:922 msgid "Move acepanel file failed: %v" msgstr "移動 acepanel 文件失敗:%v" -#: internal/data/backup.go:916 +#: internal/data/backup.go:917 msgid "Move panel file failed: %v" msgstr "移動面板檔案失敗:%v" -#: internal/apps/prometheus/app.go:398 +#: internal/apps/prometheus/app.go:405 msgid "MySQL database metrics" msgstr "MySQL 資料庫指標" @@ -922,11 +922,11 @@ msgstr "MySQL 資料庫指標" msgid "NAME" msgstr "名稱" -#: internal/apps/rocketmq/app.go:60 +#: internal/apps/rocketmq/app.go:66 msgid "NameServer Address" msgstr "NameServer 地址" -#: internal/apps/rocketmq/app.go:56 +#: internal/apps/rocketmq/app.go:62 msgid "NameServer Status" msgstr "NameServer 狀態" @@ -938,15 +938,15 @@ msgstr "NameSilo" msgid "New username cannot be empty" msgstr "新用戶名不能為空" -#: internal/apps/prometheus/app.go:397 +#: internal/apps/prometheus/app.go:404 msgid "Nginx metrics" msgstr "Nginx 指標" -#: internal/data/backup.go:888 +#: internal/data/backup.go:889 msgid "No backup file found, unable to automatically repair" msgstr "未找到備份檔案,無法自動修復" -#: internal/apps/kafka/app.go:49 +#: internal/apps/kafka/app.go:54 msgid "Node ID" msgstr "節點 ID" @@ -960,21 +960,21 @@ msgstr "Node.js-%s 未安裝" msgid "Not supported" msgstr "不支援" -#: internal/service/home.go:282 +#: internal/service/home.go:263 msgid "Not used" msgstr "不使用" -#: internal/apps/kafka/app.go:52 +#: internal/apps/kafka/app.go:57 msgid "Num Partitions" msgstr "分區數量" -#: internal/apps/elasticsearch/app.go:79 -#: internal/apps/opensearch/app.go:79 +#: internal/apps/elasticsearch/app.go:84 +#: internal/apps/opensearch/app.go:84 msgid "Number of Data Nodes" msgstr "資料節點數量" -#: internal/apps/elasticsearch/app.go:78 -#: internal/apps/opensearch/app.go:78 +#: internal/apps/elasticsearch/app.go:83 +#: internal/apps/opensearch/app.go:83 msgid "Number of Nodes" msgstr "節點數量" @@ -991,7 +991,7 @@ msgstr "要保留的日誌數量" msgid "OPTIONS" msgstr "選項" -#: internal/service/environment_php.go:401 +#: internal/service/environment_php.go:364 msgid "OPcache stores precompiled PHP script bytecode in shared memory to improve PHP performance" msgstr "OPcache 將 PHP 腳本預編譯的位元組碼儲存到共享記憶體中來提升 PHP 的效能" @@ -1003,7 +1003,7 @@ msgstr "獲取免費證書或生成自簽名證書" msgid "Old username cannot be empty" msgstr "舊用戶名不能為空" -#: internal/apps/mysql/app.go:129 +#: internal/apps/mysql/app.go:132 msgid "Open Tables" msgstr "已開啟的表" @@ -1039,23 +1039,21 @@ msgstr "輸出 AcePanel 基本資訊並生成新密碼" msgid "PHP version used by the website (not used if not filled)" msgstr "網站使用的 PHP 版本(不填則不使用)" -#: internal/service/environment_php.go:108 -#: internal/service/environment_php.go:127 -#: internal/service/environment_php.go:147 -#: internal/service/environment_php.go:166 -#: internal/service/environment_php.go:231 -#: internal/service/environment_php.go:245 -#: internal/service/environment_php.go:259 -#: internal/service/environment_php.go:278 -#: internal/service/environment_php.go:297 -#: internal/service/environment_php.go:330 -#: internal/service/environment_php.go:364 -#: internal/service/environment_php.go:47 -#: internal/service/environment_php.go:652 -#: internal/service/environment_php.go:67 -#: internal/service/environment_php.go:711 -#: internal/service/environment_php.go:774 -#: internal/service/environment_php.go:88 +#: internal/service/environment_php.go:109 +#: internal/service/environment_php.go:128 +#: internal/service/environment_php.go:148 +#: internal/service/environment_php.go:167 +#: internal/service/environment_php.go:232 +#: internal/service/environment_php.go:246 +#: internal/service/environment_php.go:260 +#: internal/service/environment_php.go:293 +#: internal/service/environment_php.go:327 +#: internal/service/environment_php.go:48 +#: internal/service/environment_php.go:609 +#: internal/service/environment_php.go:668 +#: internal/service/environment_php.go:68 +#: internal/service/environment_php.go:731 +#: internal/service/environment_php.go:89 msgid "PHP-%d is not installed" msgstr "PHP-%d 未安裝" @@ -1090,16 +1088,16 @@ msgstr "密碼:%s" msgid "Path where the website is hosted (default path if not filled)" msgstr "網站託管的路徑(不填則使用默認路徑)" -#: internal/apps/mysql/app.go:125 +#: internal/apps/mysql/app.go:128 msgid "Peak Connections" msgstr "峰值連接數" -#: internal/apps/redis/app.go:87 -#: internal/apps/valkey/app.go:87 +#: internal/apps/redis/app.go:91 +#: internal/apps/valkey/app.go:91 msgid "Peak Memory Usage" msgstr "佔用記憶體峰值" -#: internal/service/environment_php.go:411 +#: internal/service/environment_php.go:374 msgid "PhpRedis connects to and operates on data in Redis databases (requires the igbinary module installed above)" msgstr "PhpRedis 連接並操作 Redis 資料庫上的資料(需先安裝上面 igbinary 模組)" @@ -1139,19 +1137,19 @@ msgstr "端口範圍錯誤" msgid "Port: %d" msgstr "端口:%d" -#: internal/apps/prometheus/app.go:399 +#: internal/apps/prometheus/app.go:406 msgid "PostgreSQL database metrics" msgstr "PostgreSQL 資料庫指標" -#: internal/apps/postgresql/app.go:170 +#: internal/apps/postgresql/app.go:174 msgid "Process Count" msgstr "進程數" -#: internal/service/environment_php.go:181 +#: internal/service/environment_php.go:182 msgid "Process Manager" msgstr "進程管理方式" -#: internal/apps/postgresql/app.go:169 +#: internal/apps/postgresql/app.go:173 msgid "Process PID" msgstr "進程 PID" @@ -1159,7 +1157,7 @@ msgstr "進程 PID" msgid "Project" msgstr "項目" -#: internal/service/environment_php.go:501 +#: internal/service/environment_php.go:464 msgid "Pspell is a spell-checking library" msgstr "Pspell 是一個拼寫檢查庫" @@ -1181,40 +1179,40 @@ msgstr "Python-%s 未安裝" msgid "QQ Group:12370907" msgstr "QQ 群:12370907" -#: internal/apps/mysql/app.go:189 +#: internal/apps/mysql/app.go:192 msgid "Query Cache Hit Rate" msgstr "查詢快取命中率" -#: internal/apps/mysql/app.go:177 +#: internal/apps/mysql/app.go:180 msgid "Query Cache Hits" msgstr "查詢快取命中次數" -#: internal/apps/mysql/app.go:181 +#: internal/apps/mysql/app.go:184 msgid "Query Cache Inserts" msgstr "查詢快取插入次數" -#: internal/apps/mysql/app.go:185 +#: internal/apps/mysql/app.go:188 msgid "Query Cache Not Cached" msgstr "查詢快取未快取次數" -#: internal/apps/mongodb/app.go:92 +#: internal/apps/mongodb/app.go:97 msgid "Query Operations" msgstr "查詢操作" -#: internal/apps/nginx/app.go:157 +#: internal/apps/nginx/app.go:162 msgid "Reading" msgstr "正在讀取" -#: internal/service/environment_php.go:481 +#: internal/service/environment_php.go:444 msgid "Readline is a library for processing text" msgstr "Readline 是一個處理文本的庫" -#: internal/apps/prometheus/app.go:402 +#: internal/apps/prometheus/app.go:409 msgid "Redis metrics" msgstr "Redis 指標" -#: internal/apps/elasticsearch/app.go:82 -#: internal/apps/opensearch/app.go:82 +#: internal/apps/elasticsearch/app.go:87 +#: internal/apps/opensearch/app.go:87 msgid "Relocating Shards" msgstr "遷移中的分片" @@ -1222,7 +1220,7 @@ msgstr "遷移中的分片" msgid "Remove panel application mark (use only under guidance)" msgstr "移除面板應用標記(僅在指導下使用)" -#: internal/data/backup.go:913 +#: internal/data/backup.go:914 msgid "Remove panel file failed: %v" msgstr "刪除面板檔案失敗:%v" @@ -1234,11 +1232,11 @@ msgstr "移除面板設置(僅在指導下使用)" msgid "Remove website" msgstr "移除網站" -#: internal/apps/apache/app.go:144 +#: internal/apps/apache/app.go:149 msgid "Requests/sec" msgstr "每秒請求" -#: internal/apps/mongodb/app.go:96 +#: internal/apps/mongodb/app.go:101 msgid "Resident Memory (MB)" msgstr "常駐記憶體(MB)" @@ -1246,7 +1244,7 @@ msgstr "常駐記憶體(MB)" msgid "Restart AcePanel service" msgstr "重啟 AcePanel 服務" -#: internal/apps/mysql/app.go:121 +#: internal/apps/mysql/app.go:124 msgid "Rollbacks per Second" msgstr "每秒回滾" @@ -1254,7 +1252,7 @@ msgstr "每秒回滾" msgid "Rotation type" msgstr "旋轉類型" -#: internal/service/environment_php.go:486 +#: internal/service/environment_php.go:449 msgid "SNMP is a protocol for network management" msgstr "SNMP 是一種用於網絡管理的協議" @@ -1262,7 +1260,7 @@ msgstr "SNMP 是一種用於網絡管理的協議" msgid "SSH log file not found" msgstr "未找到 SSH 日誌檔案" -#: internal/service/environment_php.go:471 +#: internal/service/environment_php.go:434 msgid "SSH2 is a library for connecting to SSH servers" msgstr "SSH2 是一個用於連接 SSH 伺服器的程式庫" @@ -1295,7 +1293,7 @@ msgstr "伺服器類型" msgid "Server username" msgstr "伺服器用戶名" -#: internal/service/environment_php.go:787 +#: internal/service/environment_php.go:744 msgid "Session save handler is not files, cannot clean" msgstr "Session 保存處理程序不是 files,無法清理" @@ -1307,11 +1305,11 @@ msgstr "設置管理" msgid "Setting not exists" msgstr "設置不存在" -#: internal/service/environment_php.go:192 +#: internal/service/environment_php.go:193 msgid "Slow Requests" msgstr "慢請求" -#: internal/apps/mysql/app.go:133 +#: internal/apps/mysql/app.go:136 msgid "Sort Merge Passes" msgstr "排序後的合併次數" @@ -1319,9 +1317,9 @@ msgstr "排序後的合併次數" msgid "Start AcePanel service" msgstr "啟動 AcePanel 服務" -#: internal/apps/postgresql/app.go:168 -#: internal/apps/prometheus/app.go:89 -#: internal/service/environment_php.go:182 +#: internal/apps/postgresql/app.go:172 +#: internal/apps/prometheus/app.go:96 +#: internal/service/environment_php.go:183 msgid "Start Time" msgstr "啟動時間" @@ -1329,7 +1327,7 @@ msgstr "啟動時間" msgid "Stop AcePanel service" msgstr "停止 AcePanel 服務" -#: internal/apps/mongodb/app.go:97 +#: internal/apps/mongodb/app.go:102 msgid "Storage Engine" msgstr "儲存引擎" @@ -1343,15 +1341,15 @@ msgstr "儲存引擎" msgid "Storage ID (local storage if not filled)" msgstr "存儲 ID(留空則為本地存儲)" -#: internal/apps/prometheus/app.go:90 +#: internal/apps/prometheus/app.go:97 msgid "Storage Retention" msgstr "儲存保留" -#: internal/apps/postgresql/app.go:172 +#: internal/apps/postgresql/app.go:176 msgid "Storage Usage" msgstr "存儲使用" -#: internal/apps/mysql/app.go:132 +#: internal/apps/mysql/app.go:135 msgid "Subqueries without Index" msgstr "沒有索引的子查詢" @@ -1359,11 +1357,11 @@ msgstr "沒有索引的子查詢" msgid "Successfully obtained panel certificate via ACME" msgstr "成功通過 ACME 獲取面板證書" -#: internal/service/environment_php.go:591 +#: internal/service/environment_php.go:554 msgid "Swoole is a PHP module for building high-performance asynchronous concurrent servers" msgstr "Swoole 是構建高性能異步並發伺服器的 PHP 模組" -#: internal/service/environment_php.go:600 +#: internal/service/environment_php.go:563 msgid "Swow is a PHP module for building high-performance asynchronous concurrent servers" msgstr "Swow 是構建高性能異步並發伺服器的 PHP 模組" @@ -1375,28 +1373,28 @@ msgstr "與雲端同步 AcePanel 快取資料" msgid "Sync server time with NTP" msgstr "與 NTP 同步伺服器時間" -#: internal/service/environment_php.go:571 +#: internal/service/environment_php.go:534 msgid "Sysvmsg is a library for handling System V message queues" msgstr "Sysvmsg 是一個處理系統 V 訊息佇列的庫" -#: internal/service/environment_php.go:576 +#: internal/service/environment_php.go:539 msgid "Sysvsem is a library for handling System V semaphores" msgstr "Sysvsem 是一個處理系統 V 信號的庫" -#: internal/service/environment_php.go:581 +#: internal/service/environment_php.go:544 msgid "Sysvshm is a library for handling System V shared memory" msgstr "Sysvshm 是一個處理系統 V 共享記憶體的庫" -#: internal/apps/redis/app.go:82 -#: internal/apps/valkey/app.go:82 +#: internal/apps/redis/app.go:86 +#: internal/apps/valkey/app.go:86 msgid "TCP Port" msgstr "TCP 連接埠" -#: internal/apps/mysql/app.go:134 +#: internal/apps/mysql/app.go:137 msgid "Table Locks Waited" msgstr "等待表鎖定" -#: internal/apps/clickhouse/app.go:96 +#: internal/apps/clickhouse/app.go:101 msgid "Tables" msgstr "表" @@ -1408,11 +1406,11 @@ msgstr "目標名稱" msgid "Tasks cleared successfully" msgstr "任務已成功清除" -#: internal/apps/mysql/app.go:128 +#: internal/apps/mysql/app.go:131 msgid "Temporary Tables Created on Disk" msgstr "在磁碟上創建的臨時表" -#: internal/data/backup.go:1017 +#: internal/data/backup.go:1018 msgid "Temporary file detected in /tmp, this may be caused by the last update failure, please run acepanel fix to repair and try again" msgstr "在 /tmp 中檢測到臨時文件,這可能是上次更新失敗導致的,請運行 acepanel fix 進行修復並重試" @@ -1420,7 +1418,7 @@ msgstr "在 /tmp 中檢測到臨時文件,這可能是上次更新失敗導致 msgid "Tencent Cloud" msgstr "騰訊雲" -#: internal/data/backup.go:782 +#: internal/data/backup.go:783 msgid "The number of files contained in the compressed file is not 1, actual %d" msgstr "壓縮檔案包含的檔案數量不為1,實際為 %d" @@ -1432,64 +1430,64 @@ msgstr "時間同步成功" msgid "Toggle two-factor authentication for a user" msgstr "開關用戶兩步驗證" -#: internal/apps/apache/app.go:116 +#: internal/apps/apache/app.go:121 msgid "Total Accesses" msgstr "總訪問量" -#: internal/apps/redis/app.go:85 -#: internal/apps/valkey/app.go:85 +#: internal/apps/redis/app.go:89 +#: internal/apps/valkey/app.go:89 msgid "Total Allocated Memory" msgstr "已分配記憶體總量" -#: internal/apps/redis/app.go:90 -#: internal/apps/valkey/app.go:90 +#: internal/apps/redis/app.go:94 +#: internal/apps/valkey/app.go:94 msgid "Total Commands Processed" msgstr "已處理的命令總數" -#: internal/apps/mysql/app.go:119 -#: internal/apps/postgresql/app.go:171 +#: internal/apps/mysql/app.go:122 +#: internal/apps/postgresql/app.go:175 msgid "Total Connections" msgstr "總連接數" -#: internal/apps/mongodb/app.go:91 +#: internal/apps/mongodb/app.go:96 msgid "Total Connections Created" msgstr "建立的連線總數" -#: internal/apps/redis/app.go:89 -#: internal/apps/valkey/app.go:89 +#: internal/apps/redis/app.go:93 +#: internal/apps/valkey/app.go:93 msgid "Total Connections Received" msgstr "已接收的連接總數" -#: internal/apps/redis/app.go:86 -#: internal/apps/valkey/app.go:86 +#: internal/apps/redis/app.go:90 +#: internal/apps/valkey/app.go:90 msgid "Total Memory Usage" msgstr "記憶體使用總量" -#: internal/service/environment_php.go:189 +#: internal/service/environment_php.go:190 msgid "Total Processes" msgstr "總進程數" -#: internal/apps/mysql/app.go:118 +#: internal/apps/mysql/app.go:121 msgid "Total Queries" msgstr "查詢總數" -#: internal/apps/apache/app.go:123 +#: internal/apps/apache/app.go:128 msgid "Total Traffic" msgstr "總流量" -#: internal/apps/nginx/app.go:141 +#: internal/apps/nginx/app.go:146 msgid "Total connections" msgstr "總連接數" -#: internal/apps/nginx/app.go:145 +#: internal/apps/nginx/app.go:150 msgid "Total handshakes" msgstr "總握手數" -#: internal/apps/nginx/app.go:149 +#: internal/apps/nginx/app.go:154 msgid "Total requests" msgstr "總請求數" -#: internal/apps/mysql/app.go:120 +#: internal/apps/mysql/app.go:123 msgid "Transactions per Second" msgstr "每秒事務" @@ -1500,24 +1498,24 @@ msgstr "每秒事務" msgid "USAGE" msgstr "使用" -#: internal/service/app.go:216 +#: internal/service/app.go:223 msgid "Unable to update app list cache in offline mode" msgstr "無法在離線模式下更新應用程式列表快取" -#: internal/apps/elasticsearch/app.go:83 -#: internal/apps/opensearch/app.go:83 +#: internal/apps/elasticsearch/app.go:88 +#: internal/apps/opensearch/app.go:88 msgid "Unassigned Shards" msgstr "未分配的分片" -#: internal/service/environment_php.go:380 +#: internal/service/environment_php.go:343 msgid "Uninstall PHP-%d %s module" msgstr "卸載 PHP-%d %s 模組" -#: internal/apps/prometheus/app.go:282 +#: internal/apps/prometheus/app.go:289 msgid "Uninstall Prometheus exporter %s" msgstr "解除安裝 Prometheus exporter %s" -#: internal/data/app.go:282 +#: internal/data/app.go:277 msgid "Uninstall app %s" msgstr "卸載應用 %s" @@ -1537,11 +1535,11 @@ msgstr "不支援的輪轉類型:%s" msgid "Unused container images: %d" msgstr "未使用的容器鏡像:%d" -#: internal/data/backup.go:904 +#: internal/data/backup.go:905 msgid "Unzip backup file failed: %v" msgstr "解壓備份檔案失敗:%v" -#: internal/data/backup.go:931 +#: internal/data/backup.go:932 msgid "Unzip panel data failed: %v" msgstr "解壓面板數據失敗:%v" @@ -1549,11 +1547,11 @@ msgstr "解壓面板數據失敗:%v" msgid "Update AcePanel to the latest version" msgstr "更新 AcePanel 到最新版本" -#: internal/apps/mongodb/app.go:94 +#: internal/apps/mongodb/app.go:99 msgid "Update Operations" msgstr "更新操作" -#: internal/data/app.go:341 +#: internal/data/app.go:336 msgid "Update app %s" msgstr "更新應用 %s" @@ -1565,17 +1563,17 @@ msgstr "更新應用" msgid "Update environment %s" msgstr "更新環境 %s" -#: internal/apps/mysql/app.go:117 +#: internal/apps/mysql/app.go:120 msgid "Uptime" msgstr "運行時間" -#: internal/apps/clickhouse/app.go:92 -#: internal/apps/mongodb/app.go:89 +#: internal/apps/clickhouse/app.go:97 +#: internal/apps/mongodb/app.go:94 msgid "Uptime (seconds)" msgstr "執行時間(秒)" -#: internal/apps/redis/app.go:83 -#: internal/apps/valkey/app.go:83 +#: internal/apps/redis/app.go:87 +#: internal/apps/valkey/app.go:87 msgid "Uptime in Days" msgstr "已運行天數" @@ -1607,17 +1605,17 @@ msgstr "使用者名稱:%s" msgid "VERSION" msgstr "版本" -#: internal/data/backup.go:1010 +#: internal/data/backup.go:1011 msgid "Verify download file failed: %v" msgstr "驗證下載文件失敗:%v" -#: internal/apps/clickhouse/app.go:91 -#: internal/apps/grafana/app.go:80 -#: internal/apps/mongodb/app.go:88 +#: internal/apps/clickhouse/app.go:96 +#: internal/apps/grafana/app.go:86 +#: internal/apps/mongodb/app.go:93 msgid "Version" msgstr "版本" -#: internal/apps/nginx/app.go:165 +#: internal/apps/nginx/app.go:170 msgid "Waiting" msgstr "正在駐留等待" @@ -1662,8 +1660,8 @@ msgstr "網站:https://acepanel.net" msgid "West.cn" msgstr "西部數碼" -#: internal/apps/apache/app.go:98 -#: internal/apps/nginx/app.go:115 +#: internal/apps/apache/app.go:103 +#: internal/apps/nginx/app.go:120 msgid "Workers" msgstr "工作進程" @@ -1675,73 +1673,73 @@ msgstr "寫入面板設置(僅在指導下使用)" msgid "Write website data (use only under guidance)" msgstr "寫入網站數據(僅在指導下使用)" -#: internal/apps/nginx/app.go:161 +#: internal/apps/nginx/app.go:166 msgid "Writing" msgstr "正在寫入" -#: internal/service/environment_php.go:516 +#: internal/service/environment_php.go:479 msgid "XLSWriter is a high-performance library for reading and writing Excel files" msgstr "XLSWriter 是一個高性能讀寫 Excel 文件的庫" -#: internal/service/environment_php.go:521 +#: internal/service/environment_php.go:484 msgid "XSL is a library for processing XML documents" msgstr "XSL 是用於處理 XML 文檔的庫" -#: internal/service/environment_php.go:461 +#: internal/service/environment_php.go:424 msgid "Zip is a library for handling ZIP files" msgstr "Zip 是一個用於處理 ZIP 文件的庫" -#: internal/data/app.go:191 +#: internal/data/app.go:186 msgid "app %s already installed" msgstr "應用 %s 已安裝" -#: internal/data/app.go:90 +#: internal/data/app.go:85 msgid "app %s not found" msgstr "找不到應用 %s" -#: internal/data/app.go:246 -#: internal/data/app.go:300 -#: internal/http/middleware/must_install.go:38 +#: internal/data/app.go:241 +#: internal/data/app.go:295 +#: internal/http/middleware/must_install.go:36 msgid "app %s not installed" msgstr "應用程式 %s 未安裝" -#: internal/data/app.go:211 -#: internal/data/app.go:324 +#: internal/data/app.go:206 +#: internal/data/app.go:319 msgid "app %s not support current panel version" msgstr "應用程式 %s 不支援目前面板版本" -#: internal/data/app.go:202 -#: internal/data/app.go:261 -#: internal/data/app.go:315 +#: internal/data/app.go:197 +#: internal/data/app.go:256 +#: internal/data/app.go:310 msgid "app %s requires panel version %s, current version %s" msgstr "應用程式 %s 需要面板版本 %s,目前版本 %s" -#: internal/http/middleware/must_install.go:24 +#: internal/http/middleware/must_install.go:25 msgid "app not found" msgstr "找不到應用" -#: internal/data/setting.go:333 -#: internal/data/setting.go:395 -#: internal/data/setting.go:411 +#: internal/data/setting.go:341 +#: internal/data/setting.go:403 +#: internal/data/setting.go:419 msgid "background task is running, modifying some settings is prohibited, please try again later" msgstr "後台任務正在運行,禁止修改某些設置,請稍後再試" -#: internal/service/home.go:419 -#: internal/service/home.go:429 +#: internal/service/home.go:400 +#: internal/service/home.go:410 msgid "background task is running, restart is prohibited, please try again later" msgstr "後台任務正在運行,禁止重啟,請稍後再試" -#: internal/service/home.go:385 +#: internal/service/home.go:366 msgid "background task is running, updating is prohibited, please try again later" msgstr "後台任務正在運行,禁止更新,請稍後再試" -#: internal/data/backup.go:228 +#: internal/data/backup.go:229 msgid "backup file not exists" msgstr "備份文件不存在" -#: internal/data/backup.go:294 -#: internal/data/backup.go:375 -#: internal/data/backup.go:88 +#: internal/data/backup.go:295 +#: internal/data/backup.go:376 +#: internal/data/backup.go:89 msgid "backup storage not found" msgstr "未找到備份存儲" @@ -1753,7 +1751,7 @@ msgstr "備份傳輸失敗:%v" msgid "btrfs filesystem is not mounted, logical volume has been extended but filesystem was not resized" msgstr "btrfs 檔案系統未掛載,邏輯卷已擴展但檔案系統未調整大小" -#: internal/service/file.go:297 +#: internal/service/file.go:314 msgid "can't download a directory" msgstr "無法下載目錄" @@ -1774,7 +1772,7 @@ msgstr "無法初始化系統磁碟" msgid "check server connection failed" msgstr "檢查伺服器連接失敗" -#: internal/service/file.go:667 +#: internal/service/file.go:683 msgid "chunk hash mismatch" msgstr "分塊哈希不匹配" @@ -1794,16 +1792,16 @@ msgstr "編排 %s 已存在" msgid "compressing directory: %s" msgstr "正在壓縮目錄:%s" -#: internal/data/backup.go:790 +#: internal/data/backup.go:791 msgid "could not find .sql backup file" msgstr "找不到 .sql 備份檔案" -#: internal/service/file.go:176 -#: internal/service/file.go:590 +#: internal/service/file.go:193 +#: internal/service/file.go:606 msgid "create directory error: %v" msgstr "創建目錄錯誤:%v" -#: internal/service/file.go:710 +#: internal/service/file.go:726 msgid "create target file error: %v" msgstr "創建目標文件錯誤:%v" @@ -1823,10 +1821,10 @@ msgstr "正在遠端伺服器上建立項目" msgid "creating website on remote server" msgstr "正在遠端伺服器上建立網站" -#: internal/data/backup.go:525 -#: internal/data/backup.go:583 -#: internal/data/backup.go:708 -#: internal/data/backup.go:744 +#: internal/data/backup.go:526 +#: internal/data/backup.go:584 +#: internal/data/backup.go:709 +#: internal/data/backup.go:745 msgid "database does not exist: %s" msgstr "資料庫不存在:%s" @@ -1842,12 +1840,12 @@ msgstr "資料庫遷移完成" msgid "database user migration completed" msgstr "資料庫使用者遷移完成" -#: internal/apps/grafana/app.go:221 +#: internal/apps/grafana/app.go:229 msgid "datasource %s already exists" msgstr "資料來源 %s 已存在" -#: internal/apps/grafana/app.go:270 -#: internal/apps/grafana/app.go:313 +#: internal/apps/grafana/app.go:266 +#: internal/apps/grafana/app.go:314 msgid "datasource %s not found" msgstr "資料來源 %s 不存在" @@ -1860,11 +1858,11 @@ msgstr "部署證書到網站" msgid "device not found: %s" msgstr "未找到設備:%s" -#: internal/apps/pureftpd/app.go:87 +#: internal/apps/pureftpd/app.go:92 msgid "directory %s does not exist" msgstr "目錄 %s 不存在" -#: internal/service/toolbox_system.go:129 +#: internal/service/toolbox_system.go:130 msgid "disk space is insufficient, current free %s" msgstr "磁盤空間不足,當前可用 %s" @@ -1872,7 +1870,7 @@ msgstr "磁盤空間不足,當前可用 %s" msgid "duplicate submission, please wait for the previous task to end" msgstr "重複提交,請等待前一個任務結束" -#: internal/apps/s3fs/app.go:62 +#: internal/apps/s3fs/app.go:68 msgid "endpoint should not contain bucket" msgstr "端點不應包含 bucket" @@ -1895,18 +1893,18 @@ msgstr "到期時間必須大於當前時間" msgid "expiration time must be less than 10 years" msgstr "到期時間必須小於 10 年" -#: internal/apps/prometheus/app.go:248 -#: internal/apps/prometheus/app.go:275 -#: internal/apps/prometheus/app.go:297 -#: internal/apps/prometheus/app.go:313 -#: internal/apps/prometheus/app.go:329 -#: internal/apps/prometheus/app.go:345 -#: internal/apps/prometheus/app.go:364 +#: internal/apps/prometheus/app.go:255 +#: internal/apps/prometheus/app.go:282 +#: internal/apps/prometheus/app.go:304 +#: internal/apps/prometheus/app.go:320 +#: internal/apps/prometheus/app.go:336 +#: internal/apps/prometheus/app.go:352 +#: internal/apps/prometheus/app.go:371 msgid "exporter %s does not exist" msgstr "exporter %s 不存在" -#: internal/apps/prometheus/app.go:351 -#: internal/apps/prometheus/app.go:370 +#: internal/apps/prometheus/app.go:358 +#: internal/apps/prometheus/app.go:377 msgid "exporter %s has no configuration file" msgstr "exporter %s 沒有設定檔" @@ -1927,10 +1925,14 @@ msgstr "失敗" msgid "failed to check ssh connection: %v" msgstr "檢查 ssh 連接失敗:%v" -#: internal/data/backup.go:862 +#: internal/data/backup.go:863 msgid "failed to clean temporary files: %v" msgstr "清理臨時文件失敗:%v" +#: internal/service/systemctl.go:153 +msgid "failed to clear log for %s service: %v" +msgstr "無法清除 %s 服務的日誌:%v" + #: internal/service/toolbox_migration.go:186 msgid "failed to connect remote server: %v" msgstr "連線遠端伺服器失敗:%v" @@ -1959,7 +1961,7 @@ msgstr "創建 docker 客戶端失敗:%v" msgid "failed to create logical volume: %v" msgstr "創建邏輯卷失敗:%v" -#: internal/apps/s3fs/app.go:69 +#: internal/apps/s3fs/app.go:75 msgid "failed to create mount path: %v" msgstr "創建掛載路徑失敗:%v" @@ -1971,7 +1973,7 @@ msgstr "創建掛載點失敗:%v" msgid "failed to create partition: %v" msgstr "創建分區失敗:%v" -#: internal/apps/s3fs/app.go:94 +#: internal/apps/s3fs/app.go:98 msgid "failed to create passwd file: %v" msgstr "創建 passwd 文件失敗:%v" @@ -1979,7 +1981,7 @@ msgstr "創建 passwd 文件失敗:%v" msgid "failed to create physical volume: %v" msgstr "創建物理卷失敗:%v" -#: internal/data/project.go:113 +#: internal/data/project.go:112 msgid "failed to create project directory" msgstr "建立項目目錄失敗" @@ -1995,15 +1997,15 @@ msgstr "創建 webhook 目錄失敗:%v" msgid "failed to delete fstab entry: %v" msgstr "刪除 fstab 條目失敗:%v" -#: internal/apps/nginx/stream.go:119 +#: internal/apps/nginx/stream.go:120 msgid "failed to delete stream server config: %v" msgstr "刪除 Stream 伺服器配置失敗:%v" -#: internal/apps/nginx/stream.go:230 +#: internal/apps/nginx/stream.go:231 msgid "failed to delete stream upstream config: %v" msgstr "刪除 Stream 上游配置失敗:%v" -#: internal/data/project.go:170 +#: internal/data/project.go:169 msgid "failed to delete systemd config" msgstr "刪除 systemd 配置失敗" @@ -2032,11 +2034,11 @@ msgstr "格式化分區失敗:%v" msgid "failed to generate SSH key: %v" msgstr "生成 SSH 密鑰失敗:%v" -#: internal/data/setting.go:322 +#: internal/data/setting.go:330 msgid "failed to generate self-signed certificate: %v" msgstr "生成自簽名證書失敗:%v" -#: internal/data/project.go:118 +#: internal/data/project.go:117 msgid "failed to generate systemd config" msgstr "生成 systemd 配置失敗" @@ -2048,7 +2050,7 @@ msgstr "無法獲取 %s 服務啟用狀態:%v" msgid "failed to get %s service running status: %v" msgstr "無法獲取 %s 服務運行狀態:%v" -#: internal/apps/clickhouse/app.go:199 +#: internal/apps/clickhouse/app.go:204 msgid "failed to get ClickHouse default password: %v" msgstr "取得 ClickHouse 預設密碼失敗:%v" @@ -2060,39 +2062,39 @@ msgstr "無法獲取 Google EAB:%s" msgid "failed to get Google EAB: %v" msgstr "無法獲取 Google EAB:%v" -#: internal/apps/memcached/app.go:40 +#: internal/apps/memcached/app.go:45 msgid "failed to get Memcached status: %v" msgstr "獲取 Memcached 狀態失敗:%v" -#: internal/apps/mongodb/app.go:194 +#: internal/apps/mongodb/app.go:199 msgid "failed to get MongoDB admin password: %v" msgstr "取得 MongoDB 管理員密碼失敗:%v" -#: internal/apps/mysql/app.go:104 +#: internal/apps/mysql/app.go:107 msgid "failed to get MySQL status: %v" msgstr "獲取 MySQL 狀態失敗:%v" -#: internal/service/toolbox_system.go:264 +#: internal/service/toolbox_system.go:259 msgid "failed to get NTP configuration: %v" msgstr "獲取 NTP 配置失敗:%v" -#: internal/apps/postgresql/app.go:143 +#: internal/apps/postgresql/app.go:147 msgid "failed to get PostgreSQL backend pid: %v" msgstr "無法獲取 PostgreSQL 後端 pid:%v" -#: internal/apps/postgresql/app.go:153 +#: internal/apps/postgresql/app.go:157 msgid "failed to get PostgreSQL connections: %v" msgstr "無法獲取 PostgreSQL 連接:%v" -#: internal/apps/postgresql/app.go:158 +#: internal/apps/postgresql/app.go:162 msgid "failed to get PostgreSQL database size: %v" msgstr "無法獲取 PostgreSQL 數據庫大小:%v" -#: internal/apps/postgresql/app.go:148 +#: internal/apps/postgresql/app.go:152 msgid "failed to get PostgreSQL process: %v" msgstr "無法獲取 PostgreSQL 進程:%v" -#: internal/apps/postgresql/app.go:138 +#: internal/apps/postgresql/app.go:142 msgid "failed to get PostgreSQL start time: %v" msgstr "無法獲取 PostgreSQL 啟動時間:%v" @@ -2100,7 +2102,7 @@ msgstr "無法獲取 PostgreSQL 啟動時間:%v" msgid "failed to get SMART info for device %s" msgstr "獲取裝置 %s 的 SMART 資訊失敗" -#: internal/service/toolbox_system.go:79 +#: internal/service/toolbox_system.go:80 msgid "failed to get SWAP: %v" msgstr "無法獲取 SWAP:%v" @@ -2112,20 +2114,20 @@ msgstr "無法獲取 ZeroSSL EAB" msgid "failed to get ZeroSSL EAB: %v" msgstr "無法獲取 ZeroSSL EAB:%v" -#: internal/apps/apache/app.go:104 -#: internal/apps/apache/app.go:94 +#: internal/apps/apache/app.go:109 +#: internal/apps/apache/app.go:99 msgid "failed to get apache workers: %v" msgstr "獲取 apache 工作進程失敗:%v" -#: internal/service/toolbox_system.go:181 +#: internal/service/toolbox_system.go:182 msgid "failed to get available timezones: %v" msgstr "無法獲取可用時區:%v" -#: internal/apps/fail2ban/app.go:268 +#: internal/apps/fail2ban/app.go:276 msgid "failed to get banned ip list" msgstr "無法獲取被封禁的 ip 列表" -#: internal/apps/fail2ban/app.go:258 +#: internal/apps/fail2ban/app.go:266 msgid "failed to get current banned list" msgstr "無法獲取當前被禁止的列表" @@ -2154,15 +2156,15 @@ msgstr "獲取資料庫使用者列表失敗:%v" msgid "failed to get disk list: %v" msgstr "獲取磁碟列表失敗:%v" -#: internal/service/toolbox_system.go:125 +#: internal/service/toolbox_system.go:126 msgid "failed to get disk space: %v" msgstr "無法獲取磁盤空間:%v" -#: internal/apps/elasticsearch/app.go:43 +#: internal/apps/elasticsearch/app.go:48 msgid "failed to get elasticsearch status: %v" msgstr "取得 elasticsearch 狀態失敗:%v" -#: internal/service/file.go:341 +#: internal/service/file.go:358 msgid "failed to get file system info" msgstr "獲取檔案系統信息失敗" @@ -2170,11 +2172,11 @@ msgstr "獲取檔案系統信息失敗" msgid "failed to get filesystem type: %v" msgstr "獲取檔案系統類型失敗:%v" -#: internal/apps/grafana/app.go:46 +#: internal/apps/grafana/app.go:52 msgid "failed to get grafana status: %v" msgstr "取得 grafana 狀態失敗:%v" -#: internal/service/home.go:83 +#: internal/service/home.go:84 msgid "failed to get home apps: %v" msgstr "無法獲取主頁應用:%v" @@ -2182,23 +2184,22 @@ msgstr "無法獲取主頁應用:%v" msgid "failed to get index template file: %v" msgstr "獲取首頁模板文件失敗:%v" -#: internal/apps/kafka/app.go:38 +#: internal/apps/kafka/app.go:43 msgid "failed to get kafka status: %v" msgstr "取得 kafka 狀態失敗:%v" -#: internal/apps/supervisor/app.go:218 -#: internal/apps/supervisor/app.go:241 -#: internal/apps/supervisor/app.go:358 -#: internal/apps/supervisor/app.go:368 +#: internal/apps/supervisor/app.go:217 +#: internal/apps/supervisor/app.go:343 +#: internal/apps/supervisor/app.go:353 msgid "failed to get log path for process %s: %v" msgstr "無法獲取進程 %s 的日誌路徑:%v" -#: internal/apps/nginx/app.go:111 -#: internal/apps/nginx/app.go:121 +#: internal/apps/nginx/app.go:116 +#: internal/apps/nginx/app.go:126 msgid "failed to get nginx workers: %v" msgstr "無法獲取 nginx 工作進程:%v" -#: internal/apps/opensearch/app.go:43 +#: internal/apps/opensearch/app.go:48 msgid "failed to get opensearch status: %v" msgstr "取得 opensearch 狀態失敗:%v" @@ -2210,7 +2211,7 @@ msgstr "獲取分區 UUID 失敗:%v" msgid "failed to get partitions: %v" msgstr "獲取分區失敗:%v" -#: internal/apps/pureftpd/app.go:147 +#: internal/apps/pureftpd/app.go:152 msgid "failed to get port: %v" msgstr "無法獲取端口:%v" @@ -2234,15 +2235,15 @@ msgstr "獲取項目詳情失敗:%v" msgid "failed to get project list: %v" msgstr "獲取項目列表失敗:%v" -#: internal/apps/prometheus/app.go:58 +#: internal/apps/prometheus/app.go:65 msgid "failed to get prometheus status: %v" msgstr "取得 prometheus 狀態失敗:%v" -#: internal/apps/redis/app.go:67 +#: internal/apps/redis/app.go:73 msgid "failed to get redis info: %v" msgstr "無法獲取 redis 信息:%v" -#: internal/apps/redis/app.go:44 +#: internal/apps/redis/app.go:50 msgid "failed to get redis status: %v" msgstr "無法獲取 redis 狀態:%v" @@ -2250,51 +2251,51 @@ msgstr "無法獲取 redis 狀態:%v" msgid "failed to get remote database servers: %v" msgstr "獲取遠端資料庫伺服器失敗:%v" -#: internal/apps/s3fs/app.go:127 -#: internal/apps/s3fs/app.go:40 -#: internal/apps/s3fs/app.go:80 +#: internal/apps/s3fs/app.go:131 +#: internal/apps/s3fs/app.go:46 +#: internal/apps/s3fs/app.go:86 msgid "failed to get s3fs list: %v" msgstr "無法獲取 s3fs 列表:%v" -#: internal/service/home.go:103 +#: internal/service/home.go:104 msgid "failed to get system info: %v" msgstr "無法獲取系統信息:%v" -#: internal/service/home.go:398 +#: internal/service/home.go:379 msgid "failed to get the latest version download link" msgstr "無法獲取最新版本下載鏈接" -#: internal/service/home.go:314 -#: internal/service/home.go:350 -#: internal/service/home.go:392 +#: internal/service/home.go:295 +#: internal/service/home.go:331 +#: internal/service/home.go:373 msgid "failed to get the latest version: %v" msgstr "無法獲取最新版本:%v" -#: internal/apps/rsync/app.go:82 +#: internal/apps/rsync/app.go:88 msgid "failed to get the secret key for module %s" msgstr "無法獲取模組 %s 的密鑰" -#: internal/service/home.go:371 +#: internal/service/home.go:352 msgid "failed to get the update information: %v" msgstr "無法獲取更新信息:%v" -#: internal/service/toolbox_system.go:170 +#: internal/service/toolbox_system.go:171 msgid "failed to get timezone: %v" msgstr "無法獲取時區:%v" -#: internal/apps/fail2ban/app.go:263 +#: internal/apps/fail2ban/app.go:271 msgid "failed to get total banned list" msgstr "無法獲取全部被禁止的列表" -#: internal/data/app.go:270 +#: internal/data/app.go:265 msgid "failed to get uninstall script for app %s" msgstr "無法取得應用程式 %s 的解除安裝腳本" -#: internal/apps/valkey/app.go:67 +#: internal/apps/valkey/app.go:73 msgid "failed to get valkey info: %v" msgstr "取得 valkey 資訊失敗:%v" -#: internal/apps/valkey/app.go:44 +#: internal/apps/valkey/app.go:50 msgid "failed to get valkey status: %v" msgstr "取得 valkey 狀態失敗:%v" @@ -2306,20 +2307,20 @@ msgstr "獲取網站詳情失敗:%v" msgid "failed to get website list: %v" msgstr "獲取網站列表失敗:%v" -#: internal/apps/nginx/stream.go:24 +#: internal/apps/nginx/stream.go:25 msgid "failed to list stream servers: %v" msgstr "列出 Stream 伺服器失敗:%v" -#: internal/apps/nginx/stream.go:135 +#: internal/apps/nginx/stream.go:136 msgid "failed to list stream upstreams: %v" msgstr "列出 Stream 上游失敗:%v" -#: internal/apps/mysql/app.go:226 -#: internal/apps/mysql/app.go:94 +#: internal/apps/mysql/app.go:209 +#: internal/apps/mysql/app.go:97 msgid "failed to load MySQL root password: %v" msgstr "無法載入 MySQL root 密碼:%v" -#: internal/apps/postgresql/app.go:127 +#: internal/apps/postgresql/app.go:131 msgid "failed to load PostgreSQL postgres password: %v" msgstr "無法載入 PostgreSQL postgres 密碼:%v" @@ -2332,10 +2333,10 @@ msgid "failed to parse SMART info: %v" msgstr "解析 SMART 資訊失敗:%v" #: internal/data/cert.go:103 -#: internal/data/setting.go:340 -#: internal/data/setting.go:414 +#: internal/data/setting.go:348 +#: internal/data/setting.go:422 #: internal/data/website.go:616 -#: internal/data/website.go:967 +#: internal/data/website.go:957 msgid "failed to parse certificate: %v" msgstr "無法解析證書:%v" @@ -2344,10 +2345,10 @@ msgid "failed to parse disk list: %v" msgstr "無法解析磁碟列表:%v" #: internal/data/cert.go:106 -#: internal/data/setting.go:343 -#: internal/data/setting.go:417 +#: internal/data/setting.go:351 +#: internal/data/setting.go:425 #: internal/data/website.go:619 -#: internal/data/website.go:970 +#: internal/data/website.go:960 msgid "failed to parse private key: %v" msgstr "解析私鑰失敗:%v" @@ -2355,19 +2356,19 @@ msgstr "解析私鑰失敗:%v" msgid "failed to parse smartctl output: %v" msgstr "解析 smartctl 輸出失敗:%v" -#: internal/data/project.go:210 +#: internal/data/project.go:209 msgid "failed to parse systemd config" msgstr "解析 systemd 配置失敗" -#: internal/apps/fail2ban/app.go:327 -#: internal/apps/fail2ban/app.go:355 +#: internal/apps/fail2ban/app.go:332 +#: internal/apps/fail2ban/app.go:360 msgid "failed to parse the ignoreip of fail2ban" msgstr "無法解析 fail2ban 的 ignoreip" -#: internal/service/home.go:320 -#: internal/service/home.go:325 -#: internal/service/home.go:356 -#: internal/service/home.go:361 +#: internal/service/home.go:301 +#: internal/service/home.go:306 +#: internal/service/home.go:337 +#: internal/service/home.go:342 msgid "failed to parse version: %v" msgstr "解析版本失敗:%v" @@ -2384,7 +2385,7 @@ msgstr "讀取命令輸出失敗:%v" msgid "failed to read command: %v" msgstr "讀取命令失敗:%v" -#: internal/apps/memcached/app.go:80 +#: internal/apps/memcached/app.go:85 msgid "failed to read from Memcached: %v" msgstr "從 Memcached 讀取失敗:%v" @@ -2414,26 +2415,26 @@ msgstr "註冊帳戶失敗:%v" msgid "failed to reload %s service: %v" msgstr "重新載入 %s 服務失敗:%v" -#: internal/apps/postgresql/app.go:110 +#: internal/apps/postgresql/app.go:114 #: internal/apps/postgresql/app.go:328 -#: internal/apps/postgresql/app.go:77 +#: internal/apps/postgresql/app.go:81 msgid "failed to reload PostgreSQL: %v" msgstr "重新載入 PostgreSQL 失敗:%v" -#: internal/apps/apache/app.go:63 +#: internal/apps/apache/app.go:68 msgid "failed to reload apache: %v" msgstr "重載 apache 失敗:%v" -#: internal/apps/nginx/app.go:266 -#: internal/apps/nginx/app.go:77 -#: internal/apps/nginx/stream.go:124 -#: internal/apps/nginx/stream.go:162 -#: internal/apps/nginx/stream.go:208 -#: internal/apps/nginx/stream.go:235 -#: internal/apps/nginx/stream.go:51 -#: internal/apps/nginx/stream.go:97 -#: internal/apps/phpmyadmin/app.go:108 -#: internal/apps/phpmyadmin/app.go:139 +#: internal/apps/nginx/app.go:271 +#: internal/apps/nginx/app.go:82 +#: internal/apps/nginx/stream.go:125 +#: internal/apps/nginx/stream.go:163 +#: internal/apps/nginx/stream.go:209 +#: internal/apps/nginx/stream.go:236 +#: internal/apps/nginx/stream.go:52 +#: internal/apps/nginx/stream.go:98 +#: internal/apps/phpmyadmin/app.go:113 +#: internal/apps/phpmyadmin/app.go:144 msgid "failed to reload nginx: %v" msgstr "重新載入 nginx 失敗:%v" @@ -2453,7 +2454,7 @@ msgstr "刪除物理卷失敗:%v" msgid "failed to remove volume group: %v" msgstr "刪除卷組失敗:%v" -#: internal/data/project.go:144 +#: internal/data/project.go:143 msgid "failed to rename systemd config" msgstr "重命名 systemd 配置失敗" @@ -2467,11 +2468,11 @@ msgstr "調整檔案系統大小失敗:%v" msgid "failed to restart %s service: %v" msgstr "重新啟動 %s 服務失敗:%v" -#: internal/apps/supervisor/app.go:108 +#: internal/apps/supervisor/app.go:102 msgid "failed to restart %s: %v" msgstr "重新啟動 %s 失敗:%v" -#: internal/apps/mysql/app.go:77 +#: internal/apps/mysql/app.go:80 msgid "failed to restart MySQL: %v" msgstr "重新啟動 MySQL 失敗:%v" @@ -2479,11 +2480,11 @@ msgstr "重新啟動 MySQL 失敗:%v" msgid "failed to run command: %v" msgstr "運行命令失敗:%v" -#: internal/apps/clickhouse/app.go:249 +#: internal/apps/clickhouse/app.go:254 msgid "failed to save ClickHouse default password: %v" msgstr "儲存 ClickHouse 預設密碼失敗:%v" -#: internal/apps/mongodb/app.go:227 +#: internal/apps/mongodb/app.go:232 msgid "failed to save MongoDB admin password: %v" msgstr "儲存 MongoDB 管理員密碼失敗:%v" @@ -2491,31 +2492,31 @@ msgstr "儲存 MongoDB 管理員密碼失敗:%v" msgid "failed to select database: %v" msgstr "選擇資料庫失敗:%v" -#: internal/apps/mysql/app.go:99 +#: internal/apps/mysql/app.go:102 msgid "failed to set MYSQL_PWD env: %v" msgstr "設置 MYSQL_PWD 環境變數失敗:%v" -#: internal/apps/mongodb/app.go:221 +#: internal/apps/mongodb/app.go:226 msgid "failed to set MongoDB admin password: %v" msgstr "設定 MongoDB 管理員密碼失敗:%v" -#: internal/service/toolbox_system.go:285 +#: internal/service/toolbox_system.go:280 msgid "failed to set NTP servers: %v" msgstr "設置 NTP 伺服器失敗:%v" -#: internal/apps/postgresql/app.go:132 +#: internal/apps/postgresql/app.go:136 msgid "failed to set PGPASSWORD env: %v" msgstr "設置 PGPASSWORD 環境變數失敗:%v" -#: internal/service/toolbox_system.go:149 +#: internal/service/toolbox_system.go:150 msgid "failed to set SWAP permission: %v" msgstr "設置 SWAP 權限失敗: %v" -#: internal/service/toolbox_system.go:312 +#: internal/service/toolbox_system.go:307 msgid "failed to set hostname: %v" msgstr "設置主機名失敗: %v" -#: internal/service/toolbox_system.go:335 +#: internal/service/toolbox_system.go:330 msgid "failed to set hosts: %v" msgstr "設置 hosts 失敗: %v" @@ -2541,19 +2542,19 @@ msgstr "停止 %s 服務失敗:%v" msgid "failed to umount partition: %v" msgstr "卸載分區失敗:%v" -#: internal/apps/s3fs/app.go:147 +#: internal/apps/s3fs/app.go:145 msgid "failed to unmount: %v" msgstr "卸載失敗:%v" -#: internal/apps/mysql/app.go:108 +#: internal/apps/mysql/app.go:111 msgid "failed to unset MYSQL_PWD env: %v" msgstr "取消設置 MYSQL_PWD 環境變量失敗:%v" -#: internal/apps/postgresql/app.go:163 +#: internal/apps/postgresql/app.go:167 msgid "failed to unset PGPASSWORD env: %v" msgstr "取消設置 PGPASSWORD 環境變量失敗:%v" -#: internal/service/toolbox_system.go:58 +#: internal/service/toolbox_system.go:59 msgid "failed to update DNS: %v" msgstr "更新 DNS 失敗: %v" @@ -2585,7 +2586,7 @@ msgstr "更新 root 密碼失敗:%v" msgid "failed to wipe disk: %v" msgstr "擦除磁碟失敗:%v" -#: internal/apps/clickhouse/app.go:237 +#: internal/apps/clickhouse/app.go:242 msgid "failed to write ClickHouse user config: %v" msgstr "寫入 ClickHouse 使用者設定失敗:%v" @@ -2593,17 +2594,17 @@ msgstr "寫入 ClickHouse 使用者設定失敗:%v" msgid "failed to write fstab: %v" msgstr "寫入 fstab 失敗:%v" -#: internal/apps/nginx/stream.go:45 -#: internal/apps/nginx/stream.go:88 +#: internal/apps/nginx/stream.go:46 +#: internal/apps/nginx/stream.go:89 msgid "failed to write stream server config: %v" msgstr "寫入 Stream 伺服器配置失敗:%v" -#: internal/apps/nginx/stream.go:156 -#: internal/apps/nginx/stream.go:199 +#: internal/apps/nginx/stream.go:157 +#: internal/apps/nginx/stream.go:200 msgid "failed to write stream upstream config: %v" msgstr "寫入 Stream 上游配置失敗:%v" -#: internal/apps/memcached/app.go:59 +#: internal/apps/memcached/app.go:64 msgid "failed to write to Memcached: %v" msgstr "寫入 Memcached 失敗: %v" @@ -2612,19 +2613,19 @@ msgstr "寫入 Memcached 失敗: %v" msgid "failed to write webhook script: %v" msgstr "寫入 Web 掛鉤腳本失敗:%v" -#: internal/service/file.go:88 +#: internal/service/file.go:89 msgid "file is too large, please download it to view" msgstr "檔案太大,請下載後查看" -#: internal/service/environment_php.go:536 +#: internal/service/environment_php.go:499 msgid "gRPC is a high-performance, open-source, and general-purpose RPC framework" msgstr "gRPC 是一個高性能、開源和通用的 RPC 框架" -#: internal/apps/fail2ban/app.go:184 +#: internal/apps/fail2ban/app.go:192 msgid "get service port failed, please check if it is installed" msgstr "獲取服務端口失敗,請檢查是否安裝" -#: internal/service/file.go:644 +#: internal/service/file.go:660 msgid "get upload file error: %v" msgstr "獲取上傳文件錯誤:%v" @@ -2690,7 +2691,7 @@ msgstr "無效的簽名" msgid "invalid size" msgstr "無效的大小" -#: internal/service/home.go:453 +#: internal/service/home.go:434 msgid "invalid type" msgstr "無效的類型" @@ -2698,7 +2699,7 @@ msgstr "無效的類型" msgid "invalid user id, please login again" msgstr "無效的用戶ID,請重新登錄" -#: internal/service/environment_php.go:586 +#: internal/service/environment_php.go:549 msgid "ionCube is a professional-grade PHP encryption and decryption tool (must be installed after OPcache)" msgstr "ionCube 是一個專業級的 PHP 加密解密工具(需在 OPcache 之後安裝)" @@ -2710,11 +2711,11 @@ msgstr "簽發證書,域名:%s" msgid "journalctl is not available" msgstr "journalctl 不可用" -#: internal/data/backup.go:272 +#: internal/data/backup.go:273 msgid "log file %s not exists" msgstr "日誌檔案 %s 不存在" -#: internal/data/website.go:1122 +#: internal/data/website.go:1112 msgid "maximum number of custom configurations reached (limit: %d)" msgstr "已達到自定義配置的最大數量(限制:%d)" @@ -2727,30 +2728,30 @@ msgstr "遷移正在執行中" msgid "migration is running, cannot reset" msgstr "遷移正在執行中,無法重置" -#: internal/apps/rsync/app.go:117 +#: internal/apps/rsync/app.go:123 msgid "module %s already exists" msgstr "模組 %s 已存在" -#: internal/apps/rsync/app.go:162 -#: internal/apps/rsync/app.go:204 -#: internal/service/environment_php.go:335 -#: internal/service/environment_php.go:369 +#: internal/apps/rsync/app.go:168 +#: internal/apps/rsync/app.go:210 +#: internal/service/environment_php.go:298 +#: internal/service/environment_php.go:332 msgid "module %s does not exist" msgstr "模組 %s 不存在" -#: internal/apps/s3fs/app.go:110 +#: internal/apps/s3fs/app.go:114 msgid "mount failed: %v" msgstr "掛載失敗: %v" -#: internal/apps/s3fs/app.go:139 +#: internal/apps/s3fs/app.go:137 msgid "mount not found" msgstr "找不到掛載" -#: internal/apps/s3fs/app.go:86 +#: internal/apps/s3fs/app.go:91 msgid "mount path already exists" msgstr "掛載路徑已存在" -#: internal/apps/s3fs/app.go:74 +#: internal/apps/s3fs/app.go:80 msgid "mount path is not empty" msgstr "掛載路徑不為空" @@ -2758,10 +2759,10 @@ msgstr "掛載路徑不為空" msgid "mount point %s already exists in fstab" msgstr "掛載點 %s 已存在於 fstab 中" -#: internal/apps/nginx/stream.go:108 -#: internal/apps/nginx/stream.go:173 -#: internal/apps/nginx/stream.go:219 -#: internal/apps/nginx/stream.go:62 +#: internal/apps/nginx/stream.go:109 +#: internal/apps/nginx/stream.go:174 +#: internal/apps/nginx/stream.go:220 +#: internal/apps/nginx/stream.go:63 msgid "name is required" msgstr "名稱是必填項" @@ -2787,11 +2788,11 @@ msgstr "暫無遷移日誌" msgid "obtaining and saving certificate" msgstr "獲取並保存證書" -#: internal/service/file.go:184 +#: internal/service/file.go:201 msgid "open file error: %v" msgstr "開啟檔案錯誤:%v" -#: internal/service/file.go:650 +#: internal/service/file.go:666 msgid "open upload file error: %v" msgstr "打開上傳文件錯誤:%v" @@ -2823,36 +2824,36 @@ msgstr "通行金鑰登入失敗:%v" msgid "passkey registration failed: %v" msgstr "通行金鑰註冊失敗:%v" -#: internal/data/backup.go:632 +#: internal/data/backup.go:633 msgid "path does not exist: %s" msgstr "路徑不存在:%s" -#: internal/data/backup.go:635 +#: internal/data/backup.go:636 msgid "path is not a directory: %s" msgstr "路徑不是目錄:%s" -#: internal/service/file.go:637 +#: internal/service/file.go:653 msgid "path, file_name and file_hash are required" msgstr "path,file_name 和 file_hash 是必需的" -#: internal/service/environment_php.go:441 +#: internal/service/environment_php.go:404 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:451 +#: internal/service/environment_php.go:414 msgid "pdo_sqlsrv is a PDO driver for connecting to SQL Server" msgstr "pdo_sqlsrv 是一個用於連接 SQL Server 的 PDO 驅動程序" -#: internal/service/environment_php.go:436 +#: internal/service/environment_php.go:399 msgid "pgsql is a driver for connecting to PostgreSQL (requires PostgreSQL installed)" msgstr "pgsql 是一個用於連接 PostgreSQL 的驅動程序(需先安裝 PostgreSQL)" -#: internal/apps/phpmyadmin/app.go:43 -#: internal/apps/phpmyadmin/app.go:54 +#: internal/apps/phpmyadmin/app.go:48 +#: internal/apps/phpmyadmin/app.go:59 msgid "phpMyAdmin directory not found" msgstr "未找到 phpMyAdmin 目錄" -#: internal/apps/phpmyadmin/app.go:65 +#: internal/apps/phpmyadmin/app.go:70 msgid "phpMyAdmin port not found" msgstr "未找到 phpMyAdmin 端口" @@ -2861,9 +2862,9 @@ msgid "please complete pre-check first" msgstr "請先完成預檢" #: internal/data/user.go:134 -#: internal/service/file.go:139 -#: internal/service/file.go:237 -#: internal/service/file.go:271 +#: internal/service/file.go:156 +#: internal/service/file.go:254 +#: internal/service/file.go:288 msgid "please don't do this" msgstr "請不要這樣做" @@ -2871,7 +2872,7 @@ msgstr "請不要這樣做" msgid "please set public ips first" msgstr "請先設置公網 IP 地址" -#: internal/data/setting.go:361 +#: internal/data/setting.go:369 msgid "port is already in use" msgstr "端口已被佔用" @@ -2879,31 +2880,35 @@ msgstr "端口已被佔用" msgid "preparing renewal" msgstr "準備續簽" +#: internal/apps/supervisor/app.go:309 +msgid "process %s already exists" +msgstr "處理 %s 已存在" + #: internal/service/toolbox_migration.go:755 msgid "project migration completed" msgstr "項目遷移完成" -#: internal/data/project.go:96 +#: internal/data/project.go:95 msgid "project name already exists" msgstr "項目名已存在" -#: internal/service/environment_php.go:541 +#: internal/service/environment_php.go:504 msgid "protobuf is a library for serializing and deserializing data" msgstr "protobuf 是一個用於序列化和反序列化數據的庫" -#: internal/service/environment_php.go:546 +#: internal/service/environment_php.go:509 msgid "rdkafka is a library for connecting to Apache Kafka" msgstr "rdkafka 是一個用於連接 Apache Kafka 的庫" -#: internal/service/file.go:727 +#: internal/service/file.go:743 msgid "read chunk %d error: %v" msgstr "讀取分塊 %d 錯誤:%v" -#: internal/service/file.go:658 +#: internal/service/file.go:674 msgid "read chunk data error: %v" msgstr "讀取分塊數據錯誤:%v" -#: internal/service/file.go:599 +#: internal/service/file.go:615 msgid "read directory error: %v" msgstr "讀取目錄錯誤:%v" @@ -2919,11 +2924,11 @@ msgstr "續簽失敗,嘗試重新簽發" msgid "renewing certificate, domains: %s" msgstr "續簽證書,域名:%s" -#: internal/apps/fail2ban/app.go:109 +#: internal/apps/fail2ban/app.go:117 msgid "rule already exists" msgstr "規則已存在" -#: internal/apps/fail2ban/app.go:228 +#: internal/apps/fail2ban/app.go:236 msgid "rule not found" msgstr "找不到規則" @@ -2939,7 +2944,7 @@ msgstr "運行目錄不存在" msgid "s3 configuration error: %v" msgstr "S3 配置錯誤:%v" -#: internal/service/file.go:677 +#: internal/service/file.go:693 msgid "save chunk error: %v" msgstr "保存分塊錯誤:%v" @@ -2980,7 +2985,7 @@ msgstr "未安裝 smartmontools,請先安裝它(例如:apt install smartmo msgid "sqlite does not support dropping tables from here" msgstr "sqlite 不支援從此處刪除表" -#: internal/service/environment_php.go:446 +#: internal/service/environment_php.go:409 msgid "sqlsrv is a driver for connecting to SQL Server" msgstr "sqlsrv 是一個用於連接 SQL Server 的驅動程序" @@ -3007,23 +3012,23 @@ msgstr "正在停止網站" msgid "storage connection error: %v" msgstr "存儲連接錯誤:%v" -#: internal/apps/nginx/stream.go:40 -#: internal/apps/nginx/stream.go:82 +#: internal/apps/nginx/stream.go:41 +#: internal/apps/nginx/stream.go:83 msgid "stream server config already exists: %s" msgstr "Stream 伺服器配置已存在:%s" -#: internal/apps/nginx/stream.go:114 -#: internal/apps/nginx/stream.go:74 +#: internal/apps/nginx/stream.go:115 +#: internal/apps/nginx/stream.go:75 msgid "stream server not found: %s" msgstr "未找到 Stream 伺服器:%s" -#: internal/apps/nginx/stream.go:151 -#: internal/apps/nginx/stream.go:193 +#: internal/apps/nginx/stream.go:152 +#: internal/apps/nginx/stream.go:194 msgid "stream upstream config already exists: %s" msgstr "Stream 上游配置已存在:%s" -#: internal/apps/nginx/stream.go:185 -#: internal/apps/nginx/stream.go:225 +#: internal/apps/nginx/stream.go:186 +#: internal/apps/nginx/stream.go:226 msgid "stream upstream not found: %s" msgstr "未找到 Stream 上游:%s" @@ -3037,13 +3042,13 @@ msgstr "從伺服器 %s 同步" msgid "target backup %s already exists" msgstr "目標備份 %s 已存在" -#: internal/service/file.go:84 +#: internal/service/file.go:85 msgid "target is a directory" msgstr "目標是一個目錄" -#: internal/service/file.go:165 -#: internal/service/file.go:583 -#: internal/service/file.go:698 +#: internal/service/file.go:182 +#: internal/service/file.go:599 +#: internal/service/file.go:714 msgid "target path %s already exists" msgstr "目標路徑 %s 已存在" @@ -3051,7 +3056,7 @@ msgstr "目標路徑 %s 已存在" msgid "template %s not found" msgstr "模板 %s 未找到" -#: internal/service/home.go:365 +#: internal/service/home.go:346 msgid "the current version is the latest version" msgstr "當前版本是最新版本" @@ -3076,12 +3081,12 @@ msgstr "此證書未與 ACME 帳戶關聯,無法簽發" msgid "token expired" msgstr "令牌已過期" -#: internal/service/home.go:306 -#: internal/service/home.go:342 +#: internal/service/home.go:287 +#: internal/service/home.go:323 msgid "unable to check for updates in offline mode" msgstr "離線模式下無法檢查更新" -#: internal/service/home.go:380 +#: internal/service/home.go:361 msgid "unable to update in offline mode" msgstr "離線模式下無法更新" @@ -3089,8 +3094,8 @@ msgstr "離線模式下無法更新" msgid "unknown" msgstr "未知" -#: internal/data/backup.go:132 -#: internal/data/backup.go:240 +#: internal/data/backup.go:133 +#: internal/data/backup.go:241 msgid "unknown backup type" msgstr "未知備份類型" @@ -3099,11 +3104,11 @@ msgstr "未知備份類型" msgid "unknown log type" msgstr "未知日誌類型" -#: internal/apps/fail2ban/app.go:180 +#: internal/apps/fail2ban/app.go:188 msgid "unknown service" msgstr "未知服務" -#: internal/data/backup.go:467 +#: internal/data/backup.go:468 msgid "unknown storage type" msgstr "未知存儲類型" @@ -3133,13 +3138,13 @@ msgstr "不支援的檔案系統類型:%s" msgid "unsupported system" msgstr "不支援的系統" -#: internal/data/website.go:1224 -#: internal/data/website.go:1278 +#: internal/data/website.go:1214 +#: internal/data/website.go:1268 msgid "unsupported web server: %s" msgstr "不支援的 Web 伺服器:%s" #: internal/data/cert.go:532 -#: internal/data/website.go:1190 +#: internal/data/website.go:1180 msgid "unsupported website type: %s" msgstr "不支援的網站類型:%s" @@ -3152,7 +3157,7 @@ msgstr "上傳的證書無法設置為自動續簽" msgid "upload failed: %v" msgstr "上傳失敗:%v" -#: internal/service/file.go:161 +#: internal/service/file.go:178 msgid "upload file error: %v" msgstr "上傳檔案錯誤:%v" @@ -3240,15 +3245,15 @@ msgstr "網站遷移完成" msgid "wildcard domains cannot use HTTP verification" msgstr "萬用字元網域無法使用 HTTP 驗證" -#: internal/data/website.go:1000 +#: internal/data/website.go:990 msgid "wildcard domains require DNS verification, please select a DNS provider" msgstr "萬用字元域名需要 DNS 驗證,請選擇一個 DNS 提供商" -#: internal/service/file.go:733 +#: internal/service/file.go:749 msgid "write chunk %d error: %v" msgstr "寫入分塊 %d 錯誤:%v" -#: internal/service/file.go:189 +#: internal/service/file.go:206 msgid "write file error: %v" msgstr "寫入檔案錯誤:%v" @@ -3256,7 +3261,7 @@ msgstr "寫入檔案錯誤:%v" msgid "ws not allowed" msgstr "不允許 ws" -#: internal/service/environment_php.go:556 +#: internal/service/environment_php.go:519 msgid "xdebug is a library for debugging and profiling PHP code" msgstr "xdebug 是一個用於調試和分析 PHP 代碼的庫" @@ -3264,57 +3269,57 @@ 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:551 +#: internal/service/environment_php.go:514 msgid "xhprof is a library for performance profiling" msgstr "xhprof 是一個用於性能分析的庫" -#: internal/service/environment_php.go:561 +#: internal/service/environment_php.go:524 msgid "yaml is a library for handling YAML" msgstr "yaml 是一個用於處理 YAML 的庫" -#: internal/service/environment_php.go:566 +#: internal/service/environment_php.go:529 msgid "zstd is a library for compressing and decompressing files" msgstr "zstd 是一個壓縮和解壓文件的庫" -#: internal/data/backup.go:893 +#: internal/data/backup.go:894 msgid "|-Backup file used: %s" msgstr "|-使用的備份檔案:%s" -#: internal/data/backup.go:198 -#: internal/data/backup.go:507 -#: internal/data/backup.go:565 -#: internal/data/backup.go:623 -#: internal/data/backup.go:667 +#: internal/data/backup.go:199 +#: internal/data/backup.go:508 +#: internal/data/backup.go:566 +#: internal/data/backup.go:624 +#: internal/data/backup.go:668 msgid "|-Backup file: %s" msgstr "|-備份文件:%s" -#: internal/data/backup.go:1031 +#: internal/data/backup.go:1032 msgid "|-Backup panel data failed, missing file" msgstr "|-備份面板數據失敗,缺少檔案" -#: internal/data/backup.go:1025 -#: internal/data/backup.go:1028 +#: internal/data/backup.go:1026 +#: internal/data/backup.go:1029 msgid "|-Backup panel data failed: %v" msgstr "|-備份面板數據失敗:%v" -#: internal/data/backup.go:1021 +#: internal/data/backup.go:1022 msgid "|-Backup panel data..." msgstr "|-備份面板數據……" -#: internal/data/backup.go:118 +#: internal/data/backup.go:119 msgid "|-Backup storage: %s" msgstr "|-備份存儲:%s" -#: internal/data/backup.go:119 +#: internal/data/backup.go:120 msgid "|-Backup target: %s" msgstr "|-備份目標:%s" -#: internal/data/backup.go:136 -#: internal/data/backup.go:197 +#: internal/data/backup.go:137 +#: internal/data/backup.go:198 msgid "|-Backup time: %s" msgstr "|-備份時間:%s" -#: internal/data/backup.go:117 +#: internal/data/backup.go:118 msgid "|-Backup type: %s" msgstr "|-備份類型:%s" @@ -3322,28 +3327,28 @@ msgstr "|-備份類型:%s" msgid "|-Backup type: panel" msgstr "|-備份類型:面板" -#: internal/data/backup.go:1051 +#: internal/data/backup.go:1052 msgid "|-Clean up temporary file failed: %v" msgstr "|-清理臨時文件失敗:%v" -#: internal/data/backup.go:1013 +#: internal/data/backup.go:1014 msgid "|-Clean up verification file failed: %v" msgstr "|-清理驗證文件失敗:%v" -#: internal/data/backup.go:865 +#: internal/data/backup.go:866 msgid "|-Cleaned up temporary files, please run acepanel update to update the panel" msgstr "|-已清理臨時文件,請運行 acepanel update 更新面板" -#: internal/data/backup.go:360 -#: internal/data/backup.go:424 +#: internal/data/backup.go:361 +#: internal/data/backup.go:425 msgid "|-Cleaning expired file: %s" msgstr "|-清理過期文件:%s" -#: internal/data/backup.go:1038 +#: internal/data/backup.go:1039 msgid "|-Cleaning old version failed: %v" msgstr "|-清理舊版本失敗:%v" -#: internal/data/backup.go:1035 +#: internal/data/backup.go:1036 msgid "|-Cleaning old version..." msgstr "|-清理舊版本……" @@ -3357,28 +3362,28 @@ msgstr "|-清理目標:%s" msgid "|-Cleaning type: %s" msgstr "|-清理類型:%s" -#: internal/data/backup.go:989 +#: internal/data/backup.go:990 msgid "|-Download link: %s" msgstr "|-下載鏈接:%s" -#: internal/data/backup.go:1074 +#: internal/data/backup.go:1075 msgid "|-Download panel service file failed: %v" msgstr "|-下載面板服務文件失敗:%v" -#: internal/data/backup.go:994 +#: internal/data/backup.go:995 msgid "|-Downloading..." msgstr "|-下載中……" -#: internal/data/backup.go:990 +#: internal/data/backup.go:991 msgid "|-File name: %s" msgstr "|-文件名:%s" -#: internal/data/backup.go:849 -#: internal/data/backup.go:970 +#: internal/data/backup.go:850 +#: internal/data/backup.go:971 msgid "|-Fix completed" msgstr "|-修復完成" -#: internal/data/backup.go:842 +#: internal/data/backup.go:843 msgid "|-Found %s.db is abnormal, removed it" msgstr "|-發現 %s.db 異常,已刪除" @@ -3387,24 +3392,24 @@ msgstr "|-發現 %s.db 異常,已刪除" msgid "|-Keep count: %d" msgstr "|-保留數量:%d" -#: internal/data/backup.go:1080 +#: internal/data/backup.go:1081 msgid "|-Move acepanel tool failed: %v" msgstr "|-移動 acepanel 工具失敗:%v" -#: internal/data/backup.go:909 +#: internal/data/backup.go:910 msgid "|-Move backup file..." msgstr "|-移動備份檔案……" -#: internal/data/backup.go:1061 +#: internal/data/backup.go:1062 msgid "|-Restore panel data failed, missing file" msgstr "|-還原面板資料失敗,缺少檔案" -#: internal/data/backup.go:1058 +#: internal/data/backup.go:1059 msgid "|-Restore panel data failed: %v" msgstr "|-還原面板數據失敗:%v" -#: internal/data/backup.go:1055 -#: internal/data/backup.go:927 +#: internal/data/backup.go:1056 +#: internal/data/backup.go:928 msgid "|-Restore panel data..." msgstr "|-還原面板資料……" @@ -3421,63 +3426,63 @@ msgstr "|-輪轉類型:container" msgid "|-Rotation type: website" msgstr "|-旋轉類型:website" -#: internal/data/backup.go:1068 +#: internal/data/backup.go:1069 msgid "|-Run post-update script failed: %v" msgstr "|-運行更新後腳本失敗:%v" -#: internal/data/backup.go:1065 +#: internal/data/backup.go:1066 msgid "|-Run post-update script..." msgstr "|-執行更新後腳本……" -#: internal/data/backup.go:1084 -#: internal/data/backup.go:947 +#: internal/data/backup.go:1085 +#: internal/data/backup.go:948 msgid "|-Set key file permissions..." msgstr "|-設定關鍵檔案權限……" -#: internal/data/backup.go:798 +#: internal/data/backup.go:799 msgid "|-Start fixing the panel..." msgstr "|-開始修復面板……" -#: internal/data/backup.go:988 +#: internal/data/backup.go:989 msgid "|-Target version: %s" msgstr "|-目標版本:%s" -#: internal/data/backup.go:486 -#: internal/data/backup.go:536 -#: internal/data/backup.go:594 -#: internal/data/backup.go:646 +#: internal/data/backup.go:487 +#: internal/data/backup.go:537 +#: internal/data/backup.go:595 +#: internal/data/backup.go:647 msgid "|-Temporary directory: %s" msgstr "|-臨時目錄:%s" -#: internal/data/backup.go:898 +#: internal/data/backup.go:899 msgid "|-Unzip backup file..." msgstr "|-解壓備份檔案……" -#: internal/data/backup.go:1048 +#: internal/data/backup.go:1049 msgid "|-Unzip new version failed, missing file" msgstr "|-解壓新版本失敗,缺少檔案" -#: internal/data/backup.go:1045 +#: internal/data/backup.go:1046 msgid "|-Unzip new version failed: %v" msgstr "|-解壓新版本失敗:%v" -#: internal/data/backup.go:1042 +#: internal/data/backup.go:1043 msgid "|-Unzip new version..." msgstr "|-解壓新版本……" -#: internal/data/backup.go:1091 +#: internal/data/backup.go:1092 msgid "|-Update completed" msgstr "|-更新完成" -#: internal/data/backup.go:1007 +#: internal/data/backup.go:1008 msgid "|-Verify download file..." msgstr "|-驗證下載檔案……" -#: internal/data/backup.go:1077 +#: internal/data/backup.go:1078 msgid "|-Write new panel version failed: %v" msgstr "|-寫入新面板版本失敗:%v" -#: internal/data/backup.go:115 +#: internal/data/backup.go:116 #: internal/service/cli.go:689 msgid "★ Start backup [%s]" msgstr "★ 開始備份 [%s]" @@ -3495,11 +3500,11 @@ msgstr "★ 開始清理已旋轉的日誌 [%s]" msgid "★ Start log rotation [%s]" msgstr "★ 開始日誌旋轉 [%s]" -#: internal/data/backup.go:157 +#: internal/data/backup.go:158 msgid "☆ Backup completed [%s]" msgstr "☆ 備份完成 [%s]" -#: internal/data/backup.go:147 +#: internal/data/backup.go:148 msgid "☆ Backup failed: %v [%s]" msgstr "☆ 備份失敗:%v [%s]" diff --git a/web/src/locales/zh_CN.po b/web/src/locales/zh_CN.po index 078d2dce..0c968152 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-04-21 20:48\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-05-06 21:16\n" -#: src/components/common/AppFooter.vue:18 src/views/home/IndexView.vue:547 +#: src/components/common/AppFooter.vue:18 +#: src/views/home/IndexView.vue:547 msgid "AcePanel" msgstr "AcePanel" @@ -24,12 +25,18 @@ msgstr "版权所有" msgid "QQ Group" msgstr "QQ 群" -#: src/components/common/AppFooter.vue:38 src/locales/menu.ts:23 -#: src/views/apps/fail2ban/IndexView.vue:332 src/views/backup/IndexView.vue:38 -#: src/views/backup/ListView.vue:258 src/views/backup/ListView.vue:301 -#: src/views/cert/CertView.vue:480 src/views/cert/CertView.vue:588 -#: src/views/cert/CreateCertModal.vue:117 src/views/home/IndexView.vue:529 -#: src/views/task/CreateModal.vue:424 src/views/task/CreateModal.vue:437 +#: src/components/common/AppFooter.vue:38 +#: src/locales/menu.ts:23 +#: src/views/apps/fail2ban/IndexView.vue:332 +#: src/views/backup/IndexView.vue:38 +#: src/views/backup/ListView.vue:258 +#: src/views/backup/ListView.vue:301 +#: src/views/cert/CertView.vue:480 +#: src/views/cert/CertView.vue:588 +#: src/views/cert/CreateCertModal.vue:117 +#: src/views/home/IndexView.vue:529 +#: src/views/task/CreateModal.vue:424 +#: src/views/task/CreateModal.vue:437 msgid "Website" msgstr "网站" @@ -181,11 +188,16 @@ msgid "After Reboot" msgstr "重启后" #: src/components/common/CronSelector.vue:191 -#: src/views/monitor/IndexView.vue:781 src/views/monitor/IndexView.vue:835 -#: src/views/monitor/IndexView.vue:887 src/views/monitor/IndexView.vue:943 -#: src/views/monitor/IndexView.vue:1010 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:781 +#: src/views/monitor/IndexView.vue:835 +#: src/views/monitor/IndexView.vue:887 +#: src/views/monitor/IndexView.vue:943 +#: src/views/monitor/IndexView.vue:1010 +#: 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:346 -#: src/views/apps/nginx/NginxIndex.vue:799 src/views/website/EditModal.vue:646 +#: src/views/apps/nginx/NginxIndex.vue:799 +#: src/views/website/EditModal.vue:646 msgid "Seconds" msgstr "秒" #: src/components/common/CronSelector.vue:357 -#: src/views/apps/nginx/NginxIndex.vue:800 src/views/website/EditModal.vue:647 +#: src/views/apps/nginx/NginxIndex.vue:800 +#: src/views/website/EditModal.vue:647 msgid "Minutes" msgstr "分" #: src/components/common/CronSelector.vue:368 -#: src/views/apps/nginx/NginxIndex.vue:801 src/views/website/EditModal.vue:648 +#: src/views/apps/nginx/NginxIndex.vue:801 +#: src/views/website/EditModal.vue:648 msgid "Hours" msgstr "时" @@ -234,18 +249,29 @@ msgstr "输入 Cron 表达式" #: src/components/common/PtyTerminalModal.vue:199 #: src/layouts/header/components/UserAvatar.vue:29 #: src/views/app/TemplateDeployModal.vue:341 -#: src/views/file/composables/usePaste.ts:64 src/views/home/IndexView.vue:1028 -#: src/views/home/UpdateView.vue:30 src/views/monitor/IndexView.vue:731 -#: src/views/toolbox/DiskView.vue:407 src/views/toolbox/DiskView.vue:409 -#: src/views/toolbox/DiskView.vue:432 src/views/toolbox/DiskView.vue:434 -#: src/views/toolbox/DiskView.vue:504 src/views/toolbox/DiskView.vue:508 -#: src/views/toolbox/DiskView.vue:527 src/views/toolbox/DiskView.vue:546 -#: src/views/toolbox/DiskView.vue:550 src/views/toolbox/DiskView.vue:571 -#: src/views/toolbox/DiskView.vue:590 src/views/toolbox/DiskView.vue:598 -#: src/views/toolbox/DiskView.vue:620 src/views/toolbox/DiskView.vue:639 -#: src/views/toolbox/DiskView.vue:644 src/views/toolbox/DiskView.vue:667 +#: src/views/file/composables/usePaste.ts:64 +#: src/views/home/IndexView.vue:1028 +#: src/views/home/UpdateView.vue:30 +#: src/views/monitor/IndexView.vue:731 +#: src/views/toolbox/DiskView.vue:407 +#: src/views/toolbox/DiskView.vue:409 +#: src/views/toolbox/DiskView.vue:432 +#: src/views/toolbox/DiskView.vue:434 +#: src/views/toolbox/DiskView.vue:504 +#: src/views/toolbox/DiskView.vue:508 +#: src/views/toolbox/DiskView.vue:527 +#: src/views/toolbox/DiskView.vue:546 +#: src/views/toolbox/DiskView.vue:550 +#: src/views/toolbox/DiskView.vue:571 +#: src/views/toolbox/DiskView.vue:590 +#: src/views/toolbox/DiskView.vue:598 +#: src/views/toolbox/DiskView.vue:620 +#: src/views/toolbox/DiskView.vue:639 +#: src/views/toolbox/DiskView.vue:644 +#: src/views/toolbox/DiskView.vue:667 #: src/views/toolbox/MigrationView.vue:346 -#: src/views/toolbox/ProcessView.vue:242 src/views/toolbox/ProcessView.vue:247 +#: src/views/toolbox/ProcessView.vue:242 +#: src/views/toolbox/ProcessView.vue:247 msgid "Confirm" msgstr "确认" @@ -259,21 +285,34 @@ msgstr "确认" #: src/views/container/ContainerCreate.vue:536 #: src/views/container/ImagePullModal.vue:184 #: src/views/container/ImagePullModal.vue:198 -#: src/views/container/ImageView.vue:350 src/views/container/ImageView.vue:365 +#: src/views/container/ImageView.vue:350 +#: src/views/container/ImageView.vue:365 #: src/views/file/composables/usePaste.ts:65 -#: src/views/file/composables/usePaste.ts:145 src/views/file/ListView.vue:245 -#: src/views/file/ListView.vue:777 src/views/file/ToolBar.vue:207 -#: src/views/file/UploadModal.vue:340 src/views/file/UploadModal.vue:450 -#: src/views/home/IndexView.vue:1029 src/views/home/UpdateView.vue:31 -#: src/views/project/EditModal.vue:579 src/views/toolbox/DiskView.vue:410 -#: src/views/toolbox/DiskView.vue:435 src/views/toolbox/DiskView.vue:458 -#: src/views/toolbox/DiskView.vue:484 src/views/toolbox/DiskView.vue:509 -#: src/views/toolbox/DiskView.vue:528 src/views/toolbox/DiskView.vue:551 -#: src/views/toolbox/DiskView.vue:572 src/views/toolbox/DiskView.vue:599 -#: src/views/toolbox/DiskView.vue:621 src/views/toolbox/DiskView.vue:645 -#: src/views/toolbox/DiskView.vue:668 src/views/toolbox/MigrationView.vue:257 +#: src/views/file/composables/usePaste.ts:145 +#: src/views/file/ListView.vue:245 +#: src/views/file/ListView.vue:777 +#: src/views/file/ToolBar.vue:207 +#: src/views/file/UploadModal.vue:340 +#: src/views/file/UploadModal.vue:450 +#: src/views/home/IndexView.vue:1029 +#: src/views/home/UpdateView.vue:31 +#: src/views/project/EditModal.vue:579 +#: src/views/toolbox/DiskView.vue:410 +#: src/views/toolbox/DiskView.vue:435 +#: src/views/toolbox/DiskView.vue:458 +#: src/views/toolbox/DiskView.vue:484 +#: src/views/toolbox/DiskView.vue:509 +#: src/views/toolbox/DiskView.vue:528 +#: src/views/toolbox/DiskView.vue:551 +#: src/views/toolbox/DiskView.vue:572 +#: src/views/toolbox/DiskView.vue:599 +#: src/views/toolbox/DiskView.vue:621 +#: src/views/toolbox/DiskView.vue:645 +#: src/views/toolbox/DiskView.vue:668 +#: src/views/toolbox/MigrationView.vue:257 #: src/views/toolbox/MigrationView.vue:347 -#: src/views/toolbox/ProcessView.vue:248 src/views/website/EditModal.vue:2067 +#: src/views/toolbox/ProcessView.vue:248 +#: src/views/website/EditModal.vue:2067 msgid "Cancel" msgstr "取消" @@ -317,7 +356,8 @@ msgstr "当前状态无法保存" #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:58 #: src/views/apps/elasticsearch/IndexView.vue:50 #: src/views/apps/fail2ban/IndexView.vue:164 -#: 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:154 @@ -361,25 +401,34 @@ msgstr "当前状态无法保存" #: src/views/apps/valkey/IndexView.vue:50 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:103 #: src/views/database/ElasticsearchDocModal.vue:60 -#: src/views/database/RedisKeyModal.vue:76 src/views/environment/GoView.vue:52 +#: src/views/database/RedisKeyModal.vue:76 +#: src/views/environment/GoView.vue:52 #: src/views/environment/NodejsView.vue:55 #: src/views/environment/PhpConfigTuneView.vue:183 -#: src/views/environment/PHPView.vue:167 src/views/environment/PHPView.vue:173 -#: src/views/environment/PythonView.vue:59 src/views/project/EditModal.vue:159 -#: src/views/setting/IndexView.vue:84 src/views/toolbox/SystemView.vue:72 -#: src/views/toolbox/SystemView.vue:83 src/views/toolbox/SystemView.vue:97 -#: src/views/toolbox/SystemView.vue:111 src/views/toolbox/SystemView.vue:158 +#: src/views/environment/PHPView.vue:167 +#: src/views/environment/PHPView.vue:173 +#: src/views/environment/PythonView.vue:59 +#: src/views/project/EditModal.vue:159 +#: src/views/setting/IndexView.vue:84 +#: src/views/toolbox/SystemView.vue:72 +#: src/views/toolbox/SystemView.vue:83 +#: src/views/toolbox/SystemView.vue:97 +#: src/views/toolbox/SystemView.vue:111 +#: src/views/toolbox/SystemView.vue:158 #: src/views/website/EditModal.vue:158 msgid "Saved successfully" msgstr "保存成功" #: src/components/common/KeyValueEditor.vue:111 -#: src/views/toolbox/DiskView.vue:843 src/views/toolbox/DiskView.vue:873 -#: src/views/toolbox/DiskView.vue:911 src/views/toolbox/DiskView.vue:956 +#: src/views/toolbox/DiskView.vue:843 +#: src/views/toolbox/DiskView.vue:873 +#: src/views/toolbox/DiskView.vue:911 +#: src/views/toolbox/DiskView.vue:956 msgid "Remove" msgstr "移除" -#: src/components/common/PathSelector.vue:27 src/views/task/CreateModal.vue:476 +#: src/components/common/PathSelector.vue:27 +#: src/views/task/CreateModal.vue:476 msgid "Select Directory" msgstr "选择目录" @@ -389,7 +438,8 @@ msgstr "选择文件" #: src/components/common/PathSelector.vue:50 #: src/components/common/PathSelector.vue:394 -#: src/views/app/EnvironmentView.vue:28 src/views/app/InstalledView.vue:167 +#: src/views/app/EnvironmentView.vue:28 +#: src/views/app/InstalledView.vue:167 #: src/views/apps/fail2ban/IndexView.vue:39 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:68 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:181 @@ -398,24 +448,37 @@ msgstr "选择文件" #: src/views/apps/nginx/NginxIndex.vue:627 #: src/views/apps/nginx/NginxIndex.vue:705 #: src/views/apps/prometheus/PrometheusExportersView.vue:24 -#: src/views/apps/rsync/IndexView.vue:41 src/views/apps/rsync/IndexView.vue:269 +#: src/views/apps/rsync/IndexView.vue:41 +#: src/views/apps/rsync/IndexView.vue:269 #: src/views/apps/supervisor/IndexView.vue:54 #: src/views/apps/supervisor/IndexView.vue:411 -#: src/views/backup/StorageView.vue:63 src/views/backup/StorageView.vue:237 -#: src/views/backup/StorageView.vue:391 src/views/container/ComposeView.vue:57 -#: src/views/container/NetworkView.vue:46 src/views/container/VolumeView.vue:27 +#: src/views/backup/StorageView.vue:63 +#: src/views/backup/StorageView.vue:237 +#: src/views/backup/StorageView.vue:391 +#: src/views/container/ComposeView.vue:57 +#: src/views/container/NetworkView.vue:46 +#: src/views/container/VolumeView.vue:27 #: src/views/database/CreateServerModal.vue:107 #: src/views/database/ServerList.vue:64 -#: src/views/database/UpdateServerModal.vue:64 src/views/file/ListView.vue:1346 -#: src/views/file/PropertyModal.vue:27 src/views/file/ToolBar.vue:149 -#: src/views/home/IndexView.vue:658 src/views/home/IndexView.vue:759 -#: src/views/project/ListView.vue:36 src/views/setting/PasskeyModal.vue:23 -#: src/views/ssh/CreateModal.vue:59 src/views/ssh/UpdateModal.vue:65 -#: src/views/toolbox/LogView.vue:216 src/views/toolbox/MigrationView.vue:694 +#: src/views/database/UpdateServerModal.vue:64 +#: src/views/file/ListView.vue:1346 +#: src/views/file/PropertyModal.vue:27 +#: src/views/file/ToolBar.vue:149 +#: src/views/home/IndexView.vue:658 +#: src/views/home/IndexView.vue:759 +#: src/views/project/ListView.vue:36 +#: src/views/setting/PasskeyModal.vue:23 +#: src/views/ssh/CreateModal.vue:59 +#: src/views/ssh/UpdateModal.vue:65 +#: src/views/toolbox/LogView.vue:216 +#: src/views/toolbox/MigrationView.vue:694 #: src/views/toolbox/MigrationView.vue:781 -#: src/views/toolbox/ProcessView.vue:106 src/views/toolbox/ProcessView.vue:394 -#: src/views/toolbox/WebHookView.vue:35 src/views/toolbox/WebHookView.vue:344 -#: src/views/toolbox/WebHookView.vue:379 src/views/website/CreateModal.vue:187 +#: src/views/toolbox/ProcessView.vue:106 +#: src/views/toolbox/ProcessView.vue:394 +#: src/views/toolbox/WebHookView.vue:35 +#: src/views/toolbox/WebHookView.vue:344 +#: src/views/toolbox/WebHookView.vue:379 +#: src/views/website/CreateModal.vue:187 #: src/views/website/EditModal.vue:1964 msgid "Name" msgstr "名称" @@ -424,46 +487,59 @@ msgstr "名称" msgid "Permissions" msgstr "权限" -#: src/components/common/PathSelector.vue:101 src/views/file/ListView.vue:1357 +#: src/components/common/PathSelector.vue:101 +#: src/views/file/ListView.vue:1357 msgid "Owner / Group" msgstr "所有者 / 组" -#: src/components/common/PathSelector.vue:113 src/views/backup/ListView.vue:47 +#: src/components/common/PathSelector.vue:113 +#: src/views/backup/ListView.vue:47 #: src/views/container/ImageView.vue:68 #: src/views/database/ElasticsearchDataView.vue:109 -#: src/views/database/RedisDataView.vue:109 src/views/file/ListView.vue:1353 -#: src/views/file/PropertyModal.vue:39 src/views/file/ToolBar.vue:150 +#: src/views/database/RedisDataView.vue:109 +#: src/views/file/ListView.vue:1353 +#: src/views/file/PropertyModal.vue:39 +#: src/views/file/ToolBar.vue:150 #: src/views/toolbox/disk/RaidView.vue:95 -#: src/views/toolbox/disk/RaidView.vue:179 src/views/toolbox/DiskView.vue:279 +#: src/views/toolbox/disk/RaidView.vue:179 +#: src/views/toolbox/DiskView.vue:279 #: src/views/toolbox/LogView.vue:217 msgid "Size" msgstr "大小" -#: src/components/common/PathSelector.vue:148 src/views/file/ListView.vue:1496 +#: src/components/common/PathSelector.vue:148 +#: src/views/file/ListView.vue:1496 msgid "Calculate" msgstr "计算" -#: src/components/common/PathSelector.vue:153 src/views/file/ListView.vue:1362 -#: src/views/file/PropertyModal.vue:51 src/views/file/ToolBar.vue:151 +#: src/components/common/PathSelector.vue:153 +#: src/views/file/ListView.vue:1362 +#: src/views/file/PropertyModal.vue:51 +#: src/views/file/ToolBar.vue:151 msgid "Modification Time" msgstr "修改时间" -#: src/components/common/PathSelector.vue:187 src/views/file/ListView.vue:1211 +#: src/components/common/PathSelector.vue:187 +#: src/views/file/ListView.vue:1211 #: src/views/file/PathInput.vue:43 msgid "Invalid path" msgstr "无效路径" -#: src/components/common/PathSelector.vue:247 src/views/file/ListView.vue:143 -#: src/views/file/ListView.vue:764 src/views/file/ToolBar.vue:43 +#: src/components/common/PathSelector.vue:247 +#: src/views/file/ListView.vue:143 +#: src/views/file/ListView.vue:764 +#: src/views/file/ToolBar.vue:43 msgid "Invalid name" msgstr "无效的名称" #: src/components/common/PathSelector.vue:257 #: src/components/file-editor/FileTree.vue:285 -#: src/views/app/TemplateDeployModal.vue:236 src/views/backup/ListView.vue:128 +#: src/views/app/TemplateDeployModal.vue:236 +#: src/views/backup/ListView.vue:128 #: src/views/backup/StorageView.vue:156 #: src/views/cert/CreateAccountModal.vue:54 -#: src/views/cert/CreateCertModal.vue:74 src/views/cert/CreateDnsModal.vue:43 +#: src/views/cert/CreateCertModal.vue:74 +#: src/views/cert/CreateDnsModal.vue:43 #: src/views/cert/UploadCertModal.vue:25 #: src/views/container/ComposeView.vue:269 #: src/views/container/ContainerCreate.vue:107 @@ -472,19 +548,24 @@ msgstr "无效的名称" #: src/views/database/CreateDatabaseModal.vue:47 #: src/views/database/CreateUserModal.vue:50 #: src/views/database/ElasticsearchDataView.vue:270 -#: src/views/file/ListView.vue:152 src/views/firewall/CreateForwardModal.vue:43 -#: src/views/setting/CreateModal.vue:23 src/views/setting/TokenModal.vue:128 -#: src/views/ssh/CreateModal.vue:40 src/views/task/CreateModal.vue:112 +#: src/views/file/ListView.vue:152 +#: src/views/firewall/CreateForwardModal.vue:43 +#: src/views/setting/CreateModal.vue:23 +#: src/views/setting/TokenModal.vue:128 +#: src/views/ssh/CreateModal.vue:40 +#: src/views/task/CreateModal.vue:112 #: src/views/toolbox/WebHookView.vue:262 msgid "Created successfully" msgstr "创建成功" #: src/components/common/PathSelector.vue:318 -#: src/views/file/PropertyModal.vue:34 src/views/file/ToolBar.vue:173 +#: src/views/file/PropertyModal.vue:34 +#: src/views/file/ToolBar.vue:173 msgid "File" msgstr "文件" -#: src/components/common/PathSelector.vue:319 src/views/file/ToolBar.vue:174 +#: src/components/common/PathSelector.vue:319 +#: src/views/file/ToolBar.vue:174 msgid "Folder" msgstr "文件夹" @@ -492,14 +573,16 @@ msgstr "文件夹" #: src/components/common/PathSelector.vue:386 #: src/views/app/TemplateDeployModal.vue:651 #: src/views/container/ContainerCreate.vue:539 -#: src/views/project/CreateModal.vue:686 src/views/setting/TokenModal.vue:276 +#: src/views/project/CreateModal.vue:686 +#: src/views/setting/TokenModal.vue:276 #: src/views/toolbox/WebHookView.vue:364 #: src/views/website/BulkCreateModal.vue:240 #: src/views/website/CreateModal.vue:342 msgid "Create" msgstr "创建" -#: src/components/common/PathSelector.vue:332 src/views/file/PathInput.vue:155 +#: src/components/common/PathSelector.vue:332 +#: src/views/file/PathInput.vue:155 msgid "Root Directory" msgstr "根目录" @@ -509,14 +592,21 @@ msgstr "根目录" #: src/views/apps/nginx/NginxIndex.vue:810 #: src/views/apps/pureftpd/IndexView.vue:264 #: src/views/apps/pureftpd/IndexView.vue:286 -#: src/views/apps/rsync/IndexView.vue:318 src/views/apps/s3fs/IndexView.vue:187 +#: src/views/apps/rsync/IndexView.vue:318 +#: src/views/apps/s3fs/IndexView.vue:187 #: src/views/apps/supervisor/IndexView.vue:447 -#: src/views/backup/ListView.vue:287 src/views/backup/ListView.vue:318 -#: src/views/backup/StorageView.vue:376 src/views/backup/StorageView.vue:524 -#: src/views/cert/AccountView.vue:271 src/views/cert/CertView.vue:574 -#: src/views/cert/CertView.vue:601 src/views/cert/CreateAccountModal.vue:128 -#: src/views/cert/CreateCertModal.vue:161 src/views/cert/CreateDnsModal.vue:197 -#: src/views/cert/DnsView.vue:335 src/views/cert/ObtainModal.vue:183 +#: src/views/backup/ListView.vue:287 +#: src/views/backup/ListView.vue:318 +#: src/views/backup/StorageView.vue:376 +#: src/views/backup/StorageView.vue:524 +#: src/views/cert/AccountView.vue:271 +#: src/views/cert/CertView.vue:574 +#: src/views/cert/CertView.vue:601 +#: src/views/cert/CreateAccountModal.vue:128 +#: src/views/cert/CreateCertModal.vue:161 +#: src/views/cert/CreateDnsModal.vue:197 +#: src/views/cert/DnsView.vue:335 +#: src/views/cert/ObtainModal.vue:183 #: src/views/cert/UploadCertModal.vue:62 #: src/views/container/ComposeView.vue:377 #: src/views/container/ComposeView.vue:403 @@ -532,12 +622,16 @@ msgstr "根目录" #: src/views/database/RedisDataView.vue:331 #: src/views/database/RedisKeyModal.vue:141 #: src/views/database/UpdateServerModal.vue:121 -#: src/views/database/UpdateUserModal.vue:86 src/views/file/ToolBar.vue:253 +#: src/views/database/UpdateUserModal.vue:86 +#: src/views/file/ToolBar.vue:253 #: src/views/firewall/CreateForwardModal.vue:93 #: src/views/firewall/CreateIpModal.vue:124 -#: src/views/firewall/CreateModal.vue:158 src/views/setting/CreateModal.vue:71 -#: src/views/setting/PasswordModal.vue:51 src/views/setting/TwoFaModal.vue:93 -#: src/views/ssh/CreateModal.vue:109 src/views/ssh/UpdateModal.vue:115 +#: src/views/firewall/CreateModal.vue:158 +#: src/views/setting/CreateModal.vue:71 +#: src/views/setting/PasswordModal.vue:51 +#: src/views/setting/TwoFaModal.vue:93 +#: src/views/ssh/CreateModal.vue:109 +#: src/views/ssh/UpdateModal.vue:115 #: src/views/task/CreateModal.vue:518 msgid "Submit" msgstr "提交" @@ -569,16 +663,17 @@ msgid "Failed to connect" msgstr "连接失败" #: src/components/common/PtyTerminalModal.vue:196 -msgid "" -"Command may still running. Closing the window will terminate the command. " -"Are you sure?" +msgid "Command may still running. Closing the window will terminate the command. Are you sure?" msgstr "命令可能仍在运行。关闭窗口将终止命令。您确定吗?" -#: src/components/common/PtyTerminalModal.vue:252 src/locales/menu.ts:19 +#: src/components/common/PtyTerminalModal.vue:252 +#: src/locales/menu.ts:19 #: src/views/container/ContainerView.vue:122 #: src/views/container/ContainerView.vue:643 -#: src/views/database/ServerList.vue:173 src/views/file/ListView.vue:350 -#: src/views/file/ListView.vue:966 src/views/file/ToolBar.vue:182 +#: src/views/database/ServerList.vue:173 +#: src/views/file/ListView.vue:350 +#: src/views/file/ListView.vue:966 +#: src/views/file/ToolBar.vue:182 msgid "Terminal" msgstr "终端" @@ -595,11 +690,14 @@ msgstr "获取日志流失败" msgid "No logs available" msgstr "暂无日志数据" -#: src/components/common/RealtimeLogModal.vue:203 src/locales/menu.ts:15 +#: src/components/common/RealtimeLogModal.vue:203 +#: src/locales/menu.ts:15 #: src/views/apps/supervisor/IndexView.vue:97 #: src/views/container/ContainerView.vue:135 -#: src/views/container/ContainerView.vue:611 src/views/project/ListView.vue:170 -#: src/views/project/ListView.vue:338 src/views/task/CronView.vue:148 +#: src/views/container/ContainerView.vue:611 +#: src/views/project/ListView.vue:170 +#: src/views/project/ListView.vue:338 +#: src/views/task/CronView.vue:148 #: src/views/task/TaskView.vue:84 msgid "Logs" msgstr "日志" @@ -617,13 +715,15 @@ msgid "Clear Log" msgstr "清除日志" #: src/components/common/RealtimeLogModal.vue:217 -#, fuzzy msgid "Are you sure you want to clear the log?" -msgstr "确定要清除吗?" +msgstr "您确定要清除日志吗?" -#: src/components/common/ServiceStatus.vue:29 src/views/home/IndexView.vue:890 -#: src/views/home/IndexView.vue:898 src/views/home/IndexView.vue:905 -#: src/views/home/IndexView.vue:911 src/views/home/IndexView.vue:922 +#: src/components/common/ServiceStatus.vue:29 +#: src/views/home/IndexView.vue:890 +#: src/views/home/IndexView.vue:898 +#: src/views/home/IndexView.vue:905 +#: src/views/home/IndexView.vue:911 +#: src/views/home/IndexView.vue:922 #: src/views/home/IndexView.vue:934 msgid "Loading..." msgstr "加载中……" @@ -631,8 +731,10 @@ msgstr "加载中……" #: src/components/common/ServiceStatus.vue:30 #: src/views/app/InstalledView.vue:14 #: src/views/apps/prometheus/PrometheusExportersView.vue:44 -#: src/views/project/ListView.vue:69 src/views/task/TaskView.vue:43 -#: src/views/toolbox/ProcessView.vue:48 src/views/toolbox/ProcessView.vue:77 +#: src/views/project/ListView.vue:69 +#: src/views/task/TaskView.vue:43 +#: src/views/toolbox/ProcessView.vue:48 +#: src/views/toolbox/ProcessView.vue:77 #: src/views/website/ListView.vue:115 msgid "Running" msgstr "运行中" @@ -640,7 +742,8 @@ msgstr "运行中" #: src/components/common/ServiceStatus.vue:30 #: src/views/app/InstalledView.vue:15 #: src/views/apps/prometheus/PrometheusExportersView.vue:45 -#: src/views/project/ListView.vue:71 src/views/toolbox/ProcessView.vue:50 +#: src/views/project/ListView.vue:71 +#: src/views/toolbox/ProcessView.vue:50 #: src/views/toolbox/ProcessView.vue:83 msgid "Stopped" msgstr "已停止" @@ -652,7 +755,8 @@ msgstr "正在启动……" #: src/components/common/ServiceStatus.vue:52 #: src/views/apps/prometheus/PrometheusExportersView.vue:117 #: src/views/apps/supervisor/IndexView.vue:264 -#: src/views/project/ListView.vue:229 src/views/website/ListView.vue:331 +#: src/views/project/ListView.vue:229 +#: src/views/website/ListView.vue:331 msgid "Started successfully" msgstr "启动成功" @@ -664,7 +768,8 @@ msgstr "停止中..." #: src/components/common/ServiceStatus.vue:67 #: src/views/apps/prometheus/PrometheusExportersView.vue:124 #: src/views/apps/supervisor/IndexView.vue:271 -#: src/views/project/ListView.vue:224 src/views/website/ListView.vue:333 +#: src/views/project/ListView.vue:224 +#: src/views/website/ListView.vue:333 msgid "Stopped successfully" msgstr "停止成功" @@ -743,7 +848,8 @@ msgstr "自启动关闭" #: src/views/apps/supervisor/IndexView.vue:123 #: src/views/container/ComposeView.vue:173 #: src/views/container/ContainerView.vue:159 -#: src/views/container/ContainerView.vue:564 src/views/project/ListView.vue:129 +#: src/views/container/ContainerView.vue:564 +#: src/views/project/ListView.vue:129 #: src/views/toolbox/MigrationView.vue:256 msgid "Start" msgstr "启动" @@ -753,7 +859,8 @@ msgstr "启动" #: src/views/apps/supervisor/IndexView.vue:148 #: src/views/container/ComposeView.vue:212 #: src/views/container/ContainerView.vue:164 -#: src/views/container/ContainerView.vue:567 src/views/project/ListView.vue:129 +#: src/views/container/ContainerView.vue:567 +#: src/views/project/ListView.vue:129 msgid "Stop" msgstr "停止" @@ -765,7 +872,8 @@ msgstr "您确定要停止 %{ service } 吗?" #: src/views/apps/prometheus/PrometheusExportersView.vue:76 #: src/views/apps/supervisor/IndexView.vue:176 #: src/views/container/ContainerView.vue:169 -#: src/views/container/ContainerView.vue:570 src/views/home/IndexView.vue:554 +#: src/views/container/ContainerView.vue:570 +#: src/views/home/IndexView.vue:554 #: src/views/project/ListView.vue:145 msgid "Restart" msgstr "重启" @@ -815,8 +923,10 @@ msgstr "保存文件失败" #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:92 #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:118 #: src/views/apps/elasticsearch/IndexView.vue:76 -#: src/views/apps/frp/IndexView.vue:71 src/views/apps/frp/IndexView.vue:86 -#: src/views/apps/frp/IndexView.vue:99 src/views/apps/frp/IndexView.vue:114 +#: src/views/apps/frp/IndexView.vue:71 +#: src/views/apps/frp/IndexView.vue:86 +#: src/views/apps/frp/IndexView.vue:99 +#: src/views/apps/frp/IndexView.vue:114 #: src/views/apps/gitea/IndexView.vue:50 #: src/views/apps/grafana/GrafanaConfigTuneView.vue:170 #: src/views/apps/grafana/GrafanaConfigTuneView.vue:199 @@ -886,21 +996,30 @@ msgstr "保存文件失败" #: src/views/apps/valkey/ValkeyConfigTuneView.vue:145 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:168 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:188 -#: 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:384 #: src/views/environment/PhpConfigTuneView.vue:429 #: src/views/environment/PhpConfigTuneView.vue:485 #: src/views/environment/PhpConfigTuneView.vue:557 -#: src/views/environment/PHPView.vue:256 src/views/environment/PHPView.vue:274 -#: src/views/environment/PythonView.vue:97 src/views/file/EditModal.vue:110 -#: src/views/firewall/SettingView.vue:135 src/views/project/EditModal.vue:582 -#: src/views/setting/IndexView.vue:169 src/views/task/CreateModal.vue:518 -#: src/views/task/CronView.vue:361 src/views/toolbox/SshView.vue:239 -#: src/views/toolbox/SystemView.vue:190 src/views/toolbox/SystemView.vue:214 -#: src/views/toolbox/SystemView.vue:232 src/views/toolbox/SystemView.vue:270 -#: src/views/toolbox/SystemView.vue:342 src/views/toolbox/WebHookView.vue:402 +#: src/views/environment/PHPView.vue:256 +#: src/views/environment/PHPView.vue:274 +#: src/views/environment/PythonView.vue:97 +#: src/views/file/EditModal.vue:110 +#: src/views/firewall/SettingView.vue:135 +#: src/views/project/EditModal.vue:582 +#: src/views/setting/IndexView.vue:169 +#: src/views/task/CreateModal.vue:518 +#: src/views/task/CronView.vue:361 +#: src/views/toolbox/SshView.vue:239 +#: src/views/toolbox/SystemView.vue:190 +#: src/views/toolbox/SystemView.vue:214 +#: src/views/toolbox/SystemView.vue:232 +#: src/views/toolbox/SystemView.vue:270 +#: src/views/toolbox/SystemView.vue:342 +#: src/views/toolbox/WebHookView.vue:402 #: src/views/website/EditModal.vue:2076 msgid "Save" msgstr "保存" @@ -976,12 +1095,17 @@ msgstr "此文件有未保存的更改。刷新将丢弃它们。是否继续? #: src/components/file-editor/EditorToolbar.vue:100 #: src/components/file-editor/EditorToolbar.vue:200 #: src/components/file-editor/EditorToolbar.vue:205 -#: src/components/file-editor/FileTree.vue:696 src/views/file/PathInput.vue:133 -#: src/views/log/DatabaseLog.vue:131 src/views/log/HttpLog.vue:156 -#: src/views/log/OperationLog.vue:183 src/views/log/SSHLog.vue:113 +#: src/components/file-editor/FileTree.vue:696 +#: src/views/file/PathInput.vue:133 +#: src/views/log/DatabaseLog.vue:131 +#: src/views/log/HttpLog.vue:156 +#: src/views/log/OperationLog.vue:183 +#: src/views/log/SSHLog.vue:113 #: src/views/toolbox/MigrationView.vue:587 -#: src/views/toolbox/NetworkView.vue:188 src/views/toolbox/PanelView.vue:99 -#: src/views/toolbox/PanelView.vue:232 src/views/toolbox/ProcessView.vue:335 +#: src/views/toolbox/NetworkView.vue:188 +#: src/views/toolbox/PanelView.vue:99 +#: src/views/toolbox/PanelView.vue:232 +#: src/views/toolbox/ProcessView.vue:335 #: src/views/website/StatsView.vue:176 msgid "Refresh" msgstr "刷新" @@ -1007,8 +1131,10 @@ msgid "Search (Ctrl+F)" msgstr "搜索(Ctrl+F)" #: src/components/file-editor/EditorToolbar.vue:221 -#: src/components/file-editor/FileTree.vue:718 src/views/app/AppView.vue:250 -#: src/views/app/EnvironmentView.vue:235 src/views/app/TemplateView.vue:101 +#: src/components/file-editor/FileTree.vue:718 +#: src/views/app/AppView.vue:250 +#: src/views/app/EnvironmentView.vue:235 +#: src/views/app/TemplateView.vue:101 #: src/views/database/ElasticsearchDataView.vue:321 #: src/views/database/RedisDataView.vue:264 msgid "Search" @@ -1039,7 +1165,8 @@ msgid "Toggle Minimap" msgstr "切换小地图" #: src/components/file-editor/EditorToolbar.vue:291 -#: src/views/firewall/IndexView.vue:25 src/views/ssh/IndexView.vue:570 +#: src/views/firewall/IndexView.vue:25 +#: src/views/ssh/IndexView.vue:570 #: src/views/website/IndexView.vue:30 msgid "Settings" msgstr "设置" @@ -1115,14 +1242,22 @@ msgid "Render Whitespace" msgstr "渲染空格" #: src/components/file-editor/FileEditorView.vue:207 -#: src/views/apps/docker/IndexView.vue:83 src/views/cert/CertView.vue:86 -#: src/views/cert/CertView.vue:140 src/views/cert/CertView.vue:151 -#: src/views/cert/CertView.vue:169 src/views/container/ContainerCreate.vue:51 -#: src/views/database/ServerList.vue:76 src/views/database/ServerList.vue:91 -#: src/views/database/UserList.vue:27 src/views/database/UserList.vue:67 -#: src/views/firewall/ForwardView.vue:25 src/views/firewall/IpRuleView.vue:25 -#: src/views/firewall/IpRuleView.vue:42 src/views/firewall/RuleView.vue:42 -#: src/views/firewall/RuleView.vue:59 src/views/toolbox/MigrationView.vue:478 +#: src/views/apps/docker/IndexView.vue:83 +#: src/views/cert/CertView.vue:86 +#: src/views/cert/CertView.vue:140 +#: src/views/cert/CertView.vue:151 +#: src/views/cert/CertView.vue:169 +#: src/views/container/ContainerCreate.vue:51 +#: src/views/database/ServerList.vue:76 +#: src/views/database/ServerList.vue:91 +#: src/views/database/UserList.vue:27 +#: src/views/database/UserList.vue:67 +#: src/views/firewall/ForwardView.vue:25 +#: src/views/firewall/IpRuleView.vue:25 +#: src/views/firewall/IpRuleView.vue:42 +#: src/views/firewall/RuleView.vue:42 +#: src/views/firewall/RuleView.vue:59 +#: src/views/toolbox/MigrationView.vue:478 #: src/views/toolbox/MigrationView.vue:479 #: src/views/toolbox/MigrationView.vue:558 #: src/views/toolbox/MigrationView.vue:573 @@ -1142,9 +1277,12 @@ msgid "Trailing" msgstr "尾部" #: src/components/file-editor/FileEditorView.vue:211 -#: src/views/app/AppView.vue:235 src/views/app/EnvironmentView.vue:220 -#: src/views/app/TemplateView.vue:86 src/views/firewall/RuleView.vue:217 -#: src/views/project/IndexView.vue:21 src/views/website/IndexView.vue:25 +#: src/views/app/AppView.vue:235 +#: src/views/app/EnvironmentView.vue:220 +#: src/views/app/TemplateView.vue:86 +#: src/views/firewall/RuleView.vue:217 +#: src/views/project/IndexView.vue:21 +#: src/views/website/IndexView.vue:25 #: src/views/website/stats/ErrorsTab.vue:18 msgid "All" msgstr "全部" @@ -1237,7 +1375,8 @@ msgstr "粘贴时格式化" msgid "Format On Type" msgstr "输入时格式化" -#: src/components/file-editor/FileTree.vue:154 src/views/file/EditModal.vue:137 +#: src/components/file-editor/FileTree.vue:154 +#: src/views/file/EditModal.vue:137 msgid "Failed to load file" msgstr "加载文件失败" @@ -1245,12 +1384,14 @@ msgstr "加载文件失败" msgid "Failed to create" msgstr "创建失败" -#: src/components/file-editor/FileTree.vue:379 src/views/file/ListView.vue:1383 +#: src/components/file-editor/FileTree.vue:379 +#: src/views/file/ListView.vue:1383 #: src/views/file/ListView.vue:1404 msgid "Folder name" msgstr "文件夹名" -#: src/components/file-editor/FileTree.vue:379 src/views/file/ListView.vue:1383 +#: src/components/file-editor/FileTree.vue:379 +#: src/views/file/ListView.vue:1383 #: src/views/file/ListView.vue:1404 msgid "File name" msgstr "文件名" @@ -1259,7 +1400,8 @@ msgstr "文件名" #: src/views/container/ContainerView.vue:151 #: src/views/container/ContainerView.vue:622 #: src/views/file/composables/usePaste.ts:40 -#: src/views/file/composables/usePaste.ts:156 src/views/file/ListView.vue:348 +#: src/views/file/composables/usePaste.ts:156 +#: src/views/file/ListView.vue:348 #: src/views/file/ListView.vue:1552 msgid "Rename" msgstr "重命名" @@ -1276,38 +1418,57 @@ msgstr "重命名" #: src/views/apps/pureftpd/IndexView.vue:92 #: src/views/apps/rsync/IndexView.vue:107 #: src/views/apps/supervisor/IndexView.vue:203 -#: src/views/backup/ListView.vue:101 src/views/backup/StorageView.vue:129 -#: src/views/cert/AccountView.vue:128 src/views/cert/CertView.vue:317 -#: src/views/cert/DnsView.vue:116 src/views/container/ComposeView.vue:243 +#: src/views/backup/ListView.vue:101 +#: src/views/backup/StorageView.vue:129 +#: src/views/cert/AccountView.vue:128 +#: src/views/cert/CertView.vue:317 +#: src/views/cert/DnsView.vue:116 +#: src/views/container/ComposeView.vue:243 #: src/views/container/ComposeView.vue:323 #: src/views/container/ContainerView.vue:189 #: src/views/container/ContainerView.vue:582 -#: src/views/container/ImageView.vue:109 src/views/container/ImageView.vue:274 +#: src/views/container/ImageView.vue:109 +#: src/views/container/ImageView.vue:274 #: src/views/container/NetworkView.vue:136 #: src/views/container/NetworkView.vue:215 -#: src/views/container/VolumeView.vue:89 src/views/container/VolumeView.vue:168 +#: src/views/container/VolumeView.vue:89 +#: src/views/container/VolumeView.vue:168 #: src/views/database/DatabaseList.vue:91 #: src/views/database/ElasticsearchDataView.vue:146 #: src/views/database/ElasticsearchDataView.vue:205 #: src/views/database/RedisDataView.vue:165 -#: src/views/database/ServerList.vue:253 src/views/database/UserList.vue:171 -#: src/views/environment/PHPView.vue:119 src/views/file/ListView.vue:311 -#: src/views/file/ListView.vue:355 src/views/file/ListView.vue:1557 -#: src/views/file/ToolBar.vue:220 src/views/firewall/ForwardView.vue:103 -#: src/views/firewall/ForwardView.vue:168 src/views/firewall/IpRuleView.vue:145 -#: src/views/firewall/IpRuleView.vue:210 src/views/firewall/RuleView.vue:249 -#: src/views/firewall/RuleView.vue:314 src/views/project/ListView.vue:199 -#: src/views/project/ListView.vue:307 src/views/setting/PasskeyModal.vue:70 -#: src/views/setting/SettingUser.vue:154 src/views/setting/TokenModal.vue:93 -#: src/views/ssh/IndexView.vue:132 src/views/task/CronView.vue:181 -#: src/views/task/IndexView.vue:36 src/views/task/TaskView.vue:107 -#: src/views/toolbox/WebHookView.vue:181 src/views/website/ListView.vue:298 +#: src/views/database/ServerList.vue:253 +#: src/views/database/UserList.vue:171 +#: src/views/environment/PHPView.vue:119 +#: src/views/file/ListView.vue:311 +#: src/views/file/ListView.vue:355 +#: src/views/file/ListView.vue:1557 +#: src/views/file/ToolBar.vue:220 +#: src/views/firewall/ForwardView.vue:103 +#: src/views/firewall/ForwardView.vue:168 +#: src/views/firewall/IpRuleView.vue:145 +#: src/views/firewall/IpRuleView.vue:210 +#: src/views/firewall/RuleView.vue:249 +#: src/views/firewall/RuleView.vue:314 +#: src/views/project/ListView.vue:199 +#: src/views/project/ListView.vue:307 +#: src/views/setting/PasskeyModal.vue:70 +#: src/views/setting/SettingUser.vue:154 +#: src/views/setting/TokenModal.vue:93 +#: src/views/ssh/IndexView.vue:132 +#: src/views/task/CronView.vue:181 +#: src/views/task/IndexView.vue:36 +#: src/views/task/TaskView.vue:107 +#: src/views/toolbox/WebHookView.vue:181 +#: src/views/website/ListView.vue:298 #: src/views/website/ListView.vue:401 msgid "Delete" msgstr "删除" -#: src/components/file-editor/FileTree.vue:482 src/views/file/ListView.vue:345 -#: src/views/file/ListView.vue:1547 src/views/monitor/IndexView.vue:602 +#: src/components/file-editor/FileTree.vue:482 +#: src/views/file/ListView.vue:345 +#: src/views/file/ListView.vue:1547 +#: src/views/monitor/IndexView.vue:602 #: src/views/toolbox/SshView.vue:301 msgid "Download" msgstr "下载" @@ -1322,7 +1483,8 @@ msgstr "重命名失败" #: src/components/file-editor/FileTree.vue:602 #: src/views/apps/nginx/NginxIndex.vue:214 -#: src/views/apps/nginx/NginxIndex.vue:290 src/views/file/ListView.vue:1560 +#: src/views/apps/nginx/NginxIndex.vue:290 +#: src/views/file/ListView.vue:1560 msgid "Are you sure you want to delete %{ name }?" msgstr "您确定要删除 %{ name } 吗?" @@ -1332,9 +1494,11 @@ msgstr "您确定要删除 %{ name } 吗?" #: src/views/apps/nginx/NginxIndex.vue:430 #: src/views/apps/nginx/NginxIndex.vue:512 #: src/views/apps/pureftpd/IndexView.vue:164 -#: src/views/apps/rsync/IndexView.vue:170 src/views/apps/s3fs/IndexView.vue:95 +#: src/views/apps/rsync/IndexView.vue:170 +#: src/views/apps/s3fs/IndexView.vue:95 #: src/views/apps/supervisor/IndexView.vue:285 -#: src/views/backup/ListView.vue:155 src/views/backup/StorageView.vue:189 +#: src/views/backup/ListView.vue:155 +#: src/views/backup/StorageView.vue:189 #: src/views/container/ImageView.vue:155 #: src/views/container/NetworkView.vue:182 #: src/views/container/VolumeView.vue:135 @@ -1342,17 +1506,28 @@ msgstr "您确定要删除 %{ name } 吗?" #: src/views/database/ElasticsearchDataView.vue:248 #: src/views/database/ElasticsearchDataView.vue:257 #: src/views/database/RedisDataView.vue:197 -#: src/views/database/ServerList.vue:277 src/views/database/UserList.vue:195 -#: src/views/file/ListView.vue:832 src/views/file/ListView.vue:852 -#: src/views/file/ToolBar.vue:114 src/views/firewall/ForwardView.vue:129 -#: src/views/firewall/ForwardView.vue:147 src/views/firewall/IpRuleView.vue:171 -#: src/views/firewall/IpRuleView.vue:189 src/views/firewall/RuleView.vue:275 -#: src/views/firewall/RuleView.vue:293 src/views/project/ListView.vue:275 -#: src/views/project/ListView.vue:285 src/views/setting/PasskeyModal.vue:102 -#: src/views/setting/SettingUser.vue:189 src/views/setting/TokenModal.vue:116 -#: src/views/task/CronView.vue:247 src/views/task/CronView.vue:257 -#: src/views/task/TaskView.vue:132 src/views/toolbox/WebHookView.vue:238 -#: src/views/website/ListView.vue:366 src/views/website/ListView.vue:376 +#: src/views/database/ServerList.vue:277 +#: src/views/database/UserList.vue:195 +#: src/views/file/ListView.vue:832 +#: src/views/file/ListView.vue:852 +#: src/views/file/ToolBar.vue:114 +#: src/views/firewall/ForwardView.vue:129 +#: src/views/firewall/ForwardView.vue:147 +#: src/views/firewall/IpRuleView.vue:171 +#: src/views/firewall/IpRuleView.vue:189 +#: src/views/firewall/RuleView.vue:275 +#: src/views/firewall/RuleView.vue:293 +#: src/views/project/ListView.vue:275 +#: src/views/project/ListView.vue:285 +#: src/views/setting/PasskeyModal.vue:102 +#: src/views/setting/SettingUser.vue:189 +#: src/views/setting/TokenModal.vue:116 +#: src/views/task/CronView.vue:247 +#: src/views/task/CronView.vue:257 +#: src/views/task/TaskView.vue:132 +#: src/views/toolbox/WebHookView.vue:238 +#: src/views/website/ListView.vue:366 +#: src/views/website/ListView.vue:376 msgid "Deleted successfully" msgstr "删除成功" @@ -1364,15 +1539,18 @@ msgstr "删除失败" msgid "Go Up" msgstr "上一级" -#: src/components/file-editor/FileTree.vue:703 src/views/file/ListView.vue:292 +#: src/components/file-editor/FileTree.vue:703 +#: src/views/file/ListView.vue:292 msgid "New File" msgstr "新文件" -#: src/components/file-editor/FileTree.vue:704 src/views/file/ListView.vue:293 +#: src/components/file-editor/FileTree.vue:704 +#: src/views/file/ListView.vue:293 msgid "New Folder" msgstr "新文件夹" -#: src/components/file-editor/FileTree.vue:708 src/views/file/ToolBar.vue:178 +#: src/components/file-editor/FileTree.vue:708 +#: src/views/file/ToolBar.vue:178 msgid "New" msgstr "新建" @@ -1429,7 +1607,8 @@ msgstr "切换主题" #: src/layouts/header/components/UserAvatar.vue:13 #: src/views/apps/pureftpd/IndexView.vue:69 #: src/views/apps/pureftpd/IndexView.vue:271 -#: src/views/setting/PasswordModal.vue:33 src/views/setting/SettingUser.vue:132 +#: src/views/setting/PasswordModal.vue:33 +#: src/views/setting/SettingUser.vue:132 msgid "Change Password" msgstr "更改密码" @@ -1450,12 +1629,16 @@ msgid "Logged out successfully!" msgstr "退出登录成功!" #: src/layouts/header/components/UserAvatar.vue:48 -#: src/views/cert/DnsView.vue:59 src/views/firewall/IpRuleView.vue:76 -#: src/views/firewall/IpRuleView.vue:101 src/views/firewall/RuleView.vue:177 -#: src/views/firewall/RuleView.vue:202 src/views/toolbox/DiskView.vue:176 +#: src/views/cert/DnsView.vue:59 +#: src/views/firewall/IpRuleView.vue:76 +#: src/views/firewall/IpRuleView.vue:101 +#: src/views/firewall/RuleView.vue:177 +#: src/views/firewall/RuleView.vue:202 +#: src/views/toolbox/DiskView.vue:176 #: 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 "未知" @@ -1479,25 +1662,32 @@ msgstr "关闭右侧" msgid "Apps" msgstr "应用" -#: src/locales/menu.ts:8 src/views/task/CreateModal.vue:134 +#: src/locales/menu.ts:8 +#: src/views/task/CreateModal.vue:134 msgid "Backup" msgstr "备份" -#: src/locales/menu.ts:9 src/views/cert/CertView.vue:536 -#: src/views/cert/CertView.vue:616 src/views/cert/IndexView.vue:96 -#: src/views/cert/UploadCertModal.vue:45 src/views/setting/SettingSafe.vue:275 +#: src/locales/menu.ts:9 +#: src/views/cert/CertView.vue:536 +#: src/views/cert/CertView.vue:616 +#: src/views/cert/IndexView.vue:96 +#: src/views/cert/UploadCertModal.vue:45 +#: src/views/setting/SettingSafe.vue:275 #: src/views/website/EditModal.vue:1644 msgid "Certificate" msgstr "证书" -#: src/locales/menu.ts:10 src/views/home/IndexView.vue:524 +#: src/locales/menu.ts:10 +#: src/views/home/IndexView.vue:524 #: src/views/task/CreateModal.vue:439 msgid "Container" msgstr "容器" -#: src/locales/menu.ts:11 src/views/apps/grafana/GrafanaConfigTuneView.vue:175 +#: src/locales/menu.ts:11 +#: src/views/apps/grafana/GrafanaConfigTuneView.vue:175 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:197 -#: src/views/backup/ListView.vue:308 src/views/home/IndexView.vue:533 +#: src/views/backup/ListView.vue:308 +#: src/views/home/IndexView.vue:533 #: src/views/toolbox/MigrationView.vue:545 #: src/views/website/CreateModal.vue:248 msgid "Database" @@ -1519,7 +1709,8 @@ msgstr "首页" msgid "Monitoring" msgstr "监控" -#: src/locales/menu.ts:17 src/views/home/IndexView.vue:538 +#: src/locales/menu.ts:17 +#: src/views/home/IndexView.vue:538 msgid "Project" msgstr "项目" @@ -1535,10 +1726,13 @@ msgstr "任务" msgid "Toolbox" msgstr "工具箱" -#: src/locales/menu.ts:22 src/views/app/AppView.vue:97 -#: src/views/app/EnvironmentView.vue:79 src/views/app/InstalledView.vue:103 +#: src/locales/menu.ts:22 +#: src/views/app/AppView.vue:97 +#: src/views/app/EnvironmentView.vue:79 +#: src/views/app/InstalledView.vue:103 #: src/views/app/InstalledView.vue:212 -#: src/views/app/TemplateDeployModal.vue:651 src/views/home/IndexView.vue:562 +#: src/views/app/TemplateDeployModal.vue:651 +#: src/views/home/IndexView.vue:562 #: src/views/setting/TokenModal.vue:309 msgid "Update" msgstr "更新" @@ -1567,40 +1761,52 @@ msgstr "Rsync 管理器" msgid "Frp Manager" msgstr "Frp 管理器" -#: src/router/routes/index.ts:18 src/views/login/IndexView.vue:303 +#: src/router/routes/index.ts:18 +#: src/views/login/IndexView.vue:303 msgid "Login" msgstr "登录" -#: src/views/app/AppView.vue:17 src/views/app/AppView.vue:156 -#: src/views/app/AppView.vue:161 src/views/app/EnvironmentView.vue:146 +#: src/views/app/AppView.vue:17 +#: src/views/app/AppView.vue:156 +#: src/views/app/AppView.vue:161 +#: src/views/app/EnvironmentView.vue:146 #: src/views/apps/prometheus/PrometheusExportersView.vue:62 #: src/views/environment/PHPView.vue:92 msgid "Install" msgstr "安装" -#: src/views/app/AppView.vue:35 src/views/app/InstalledView.vue:32 +#: src/views/app/AppView.vue:35 +#: src/views/app/InstalledView.vue:32 msgid "App Name" msgstr "应用名称" -#: src/views/app/AppView.vue:41 src/views/app/EnvironmentView.vue:34 -#: src/views/app/InstalledView.vue:38 src/views/app/InstalledView.vue:173 +#: src/views/app/AppView.vue:41 +#: src/views/app/EnvironmentView.vue:34 +#: src/views/app/InstalledView.vue:38 +#: src/views/app/InstalledView.vue:173 #: src/views/apps/prometheus/PrometheusExportersView.vue:30 -#: src/views/environment/PHPView.vue:61 src/views/project/EditModal.vue:193 +#: src/views/environment/PHPView.vue:61 +#: src/views/project/EditModal.vue:193 #: src/views/project/ListView.vue:43 msgid "Description" msgstr "描述" -#: src/views/app/AppView.vue:47 src/views/app/EnvironmentView.vue:46 -#: src/views/app/InstalledView.vue:44 src/views/app/InstalledView.vue:179 +#: src/views/app/AppView.vue:47 +#: src/views/app/EnvironmentView.vue:46 +#: src/views/app/InstalledView.vue:44 +#: src/views/app/InstalledView.vue:179 msgid "Installed Version" msgstr "已安装版本" -#: src/views/app/AppView.vue:53 src/views/app/InstalledView.vue:59 +#: src/views/app/AppView.vue:53 +#: src/views/app/InstalledView.vue:59 msgid "Show in Home" msgstr "在主页显示" -#: src/views/app/AppView.vue:66 src/views/app/EnvironmentView.vue:52 -#: src/views/app/InstalledView.vue:72 src/views/app/InstalledView.vue:185 +#: src/views/app/AppView.vue:66 +#: src/views/app/EnvironmentView.vue:52 +#: src/views/app/InstalledView.vue:72 +#: src/views/app/InstalledView.vue:185 #: src/views/apps/fail2ban/IndexView.vue:61 #: src/views/apps/fail2ban/IndexView.vue:120 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:95 @@ -1609,66 +1815,88 @@ msgstr "在主页显示" #: src/views/apps/nginx/NginxIndex.vue:751 #: src/views/apps/prometheus/PrometheusExportersView.vue:49 #: src/views/apps/pureftpd/IndexView.vue:50 -#: src/views/apps/rsync/IndexView.vue:70 src/views/apps/s3fs/IndexView.vue:33 -#: src/views/apps/supervisor/IndexView.vue:82 src/views/backup/ListView.vue:62 -#: src/views/backup/StorageView.vue:92 src/views/cert/AccountView.vue:80 -#: src/views/cert/CertView.vue:187 src/views/cert/DnsView.vue:67 +#: src/views/apps/rsync/IndexView.vue:70 +#: src/views/apps/s3fs/IndexView.vue:33 +#: src/views/apps/supervisor/IndexView.vue:82 +#: src/views/backup/ListView.vue:62 +#: src/views/backup/StorageView.vue:92 +#: src/views/cert/AccountView.vue:80 +#: src/views/cert/CertView.vue:187 +#: src/views/cert/DnsView.vue:67 #: src/views/container/ComposeView.vue:100 #: src/views/container/ContainerView.vue:107 -#: src/views/container/ImageView.vue:84 src/views/container/NetworkView.vue:110 -#: src/views/container/VolumeView.vue:64 src/views/database/DatabaseList.vue:67 +#: src/views/container/ImageView.vue:84 +#: src/views/container/NetworkView.vue:110 +#: src/views/container/VolumeView.vue:64 +#: src/views/database/DatabaseList.vue:67 #: src/views/database/ElasticsearchDataView.vue:114 #: src/views/database/ElasticsearchDataView.vue:171 #: src/views/database/RedisDataView.vue:117 -#: src/views/database/ServerList.vue:159 src/views/database/UserList.vue:133 -#: src/views/environment/PHPView.vue:68 src/views/file/ListView.vue:1365 -#: src/views/firewall/ForwardView.vue:79 src/views/firewall/IpRuleView.vue:121 -#: src/views/firewall/RuleView.vue:225 src/views/firewall/ScanView.vue:254 -#: src/views/project/ListView.vue:116 src/views/setting/PasskeyModal.vue:48 -#: src/views/setting/SettingUser.vue:85 src/views/setting/TokenModal.vue:54 -#: src/views/task/CronView.vue:117 src/views/task/TaskView.vue:65 -#: src/views/toolbox/DiskView.vue:344 src/views/toolbox/DiskView.vue:830 -#: src/views/toolbox/WebHookView.vue:133 src/views/website/ListView.vue:226 +#: src/views/database/ServerList.vue:159 +#: src/views/database/UserList.vue:133 +#: src/views/environment/PHPView.vue:68 +#: src/views/file/ListView.vue:1365 +#: src/views/firewall/ForwardView.vue:79 +#: src/views/firewall/IpRuleView.vue:121 +#: src/views/firewall/RuleView.vue:225 +#: src/views/firewall/ScanView.vue:254 +#: src/views/project/ListView.vue:116 +#: src/views/setting/PasskeyModal.vue:48 +#: src/views/setting/SettingUser.vue:85 +#: src/views/setting/TokenModal.vue:54 +#: src/views/task/CronView.vue:117 +#: src/views/task/TaskView.vue:65 +#: src/views/toolbox/DiskView.vue:344 +#: src/views/toolbox/DiskView.vue:830 +#: src/views/toolbox/WebHookView.vue:133 +#: src/views/website/ListView.vue:226 msgid "Actions" msgstr "操作" -#: src/views/app/AppView.vue:84 src/views/app/InstalledView.vue:90 -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:84 +#: src/views/app/InstalledView.vue:90 +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:113 src/views/app/EnvironmentView.vue:95 -#: src/views/app/InstalledView.vue:118 src/views/app/InstalledView.vue:227 +#: src/views/app/AppView.vue:113 +#: src/views/app/EnvironmentView.vue:95 +#: src/views/app/InstalledView.vue:118 +#: src/views/app/InstalledView.vue:227 msgid "Manage" msgstr "管理" -#: src/views/app/AppView.vue:127 src/views/app/InstalledView.vue:129 -msgid "" -"Reinstalling/Switching to a different web server will reset the " -"configuration of all websites, are you sure to continue?" +#: src/views/app/AppView.vue:127 +#: src/views/app/InstalledView.vue:129 +msgid "Reinstalling/Switching to a different web server will reset the configuration of all websites, are you sure to continue?" msgstr "重新安装/切换到不同的 Web 服务器将重置所有网站的配置,您确定要继续吗?" -#: src/views/app/AppView.vue:131 src/views/app/InstalledView.vue:133 +#: src/views/app/AppView.vue:131 +#: src/views/app/InstalledView.vue:133 msgid "Are you sure to uninstall app %{ app }?" msgstr "您确定要卸载应用 %{ app } 吗?" -#: src/views/app/AppView.vue:141 src/views/app/EnvironmentView.vue:119 -#: src/views/app/InstalledView.vue:143 src/views/app/InstalledView.vue:249 +#: src/views/app/AppView.vue:141 +#: src/views/app/EnvironmentView.vue:119 +#: src/views/app/InstalledView.vue:143 +#: src/views/app/InstalledView.vue:249 msgid "Uninstall" msgstr "卸载" -#: src/views/app/AppView.vue:196 src/views/app/InstalledView.vue:293 +#: src/views/app/AppView.vue:196 +#: src/views/app/InstalledView.vue:293 msgid "Setup successfully" msgstr "设置成功" -#: src/views/app/AppView.vue:203 src/views/app/AppView.vue:211 -#: src/views/app/EnvironmentView.vue:180 src/views/app/EnvironmentView.vue:188 -#: src/views/app/EnvironmentView.vue:196 src/views/app/InstalledView.vue:300 -#: src/views/app/InstalledView.vue:308 src/views/app/InstalledView.vue:321 -#: src/views/app/InstalledView.vue:329 src/views/app/VersionModal.vue:40 +#: src/views/app/AppView.vue:203 +#: src/views/app/AppView.vue:211 +#: src/views/app/EnvironmentView.vue:180 +#: src/views/app/EnvironmentView.vue:188 +#: src/views/app/EnvironmentView.vue:196 +#: src/views/app/InstalledView.vue:300 +#: src/views/app/InstalledView.vue:308 +#: src/views/app/InstalledView.vue:321 +#: src/views/app/InstalledView.vue:329 +#: src/views/app/VersionModal.vue:40 msgid "Task submitted, please check the progress in background tasks" msgstr "任务已提交,请在后台任务中查看进度" @@ -1676,11 +1904,13 @@ msgstr "任务已提交,请在后台任务中查看进度" msgid "Latest Version" msgstr "最新版本" -#: src/views/app/EnvironmentView.vue:67 src/views/app/InstalledView.vue:200 +#: src/views/app/EnvironmentView.vue:67 +#: src/views/app/InstalledView.vue:200 msgid "Are you sure to update environment %{ environment }?" msgstr "您确定要更新环境 %{ environment } 吗?" -#: src/views/app/EnvironmentView.vue:107 src/views/app/InstalledView.vue:237 +#: src/views/app/EnvironmentView.vue:107 +#: src/views/app/InstalledView.vue:237 msgid "Are you sure to uninstall environment %{ environment }?" msgstr "您确定要卸载环境 %{ environment } 吗?" @@ -1696,11 +1926,13 @@ msgstr "缓存更新成功" msgid "Installed" msgstr "已安装" -#: src/views/app/IndexView.vue:41 src/views/app/InstalledView.vue:348 +#: src/views/app/IndexView.vue:41 +#: src/views/app/InstalledView.vue:348 msgid "Native App" msgstr "原生应用" -#: src/views/app/IndexView.vue:42 src/views/app/InstalledView.vue:372 +#: src/views/app/IndexView.vue:42 +#: src/views/app/InstalledView.vue:372 msgid "Operating Environment" msgstr "运行环境" @@ -1713,29 +1945,35 @@ msgid "Update Cache" msgstr "更新缓存" #: src/views/app/InstalledView.vue:16 -#, fuzzy msgid "Partial" -msgstr "分区" +msgstr "部分运行" #: src/views/app/InstalledView.vue:17 msgid "N/A" -msgstr "" +msgstr "未知" -#: src/views/app/InstalledView.vue:50 src/views/apps/fail2ban/IndexView.vue:45 +#: src/views/app/InstalledView.vue:50 +#: src/views/apps/fail2ban/IndexView.vue:45 #: src/views/apps/phpmyadmin/IndexView.vue:67 #: src/views/apps/prometheus/PrometheusExportersView.vue:36 #: src/views/apps/supervisor/IndexView.vue:61 #: src/views/container/ComposeView.vue:84 #: src/views/container/ContainerView.vue:52 -#: src/views/database/ServerList.vue:138 src/views/database/UserList.vue:112 -#: src/views/firewall/RuleView.vue:78 src/views/log/HttpLog.vue:90 -#: src/views/log/SSHLog.vue:63 src/views/project/ListView.vue:58 -#: src/views/task/TaskView.vue:32 src/views/toolbox/disk/RaidView.vue:97 +#: src/views/database/ServerList.vue:138 +#: src/views/database/UserList.vue:112 +#: src/views/firewall/RuleView.vue:78 +#: src/views/log/HttpLog.vue:90 +#: src/views/log/SSHLog.vue:63 +#: src/views/project/ListView.vue:58 +#: src/views/task/TaskView.vue:32 +#: src/views/toolbox/disk/RaidView.vue:97 #: src/views/toolbox/disk/SmartView.vue:217 #: src/views/toolbox/MigrationView.vue:472 #: src/views/toolbox/MigrationView.vue:695 -#: src/views/toolbox/MigrationView.vue:782 src/views/toolbox/NetworkView.vue:96 -#: src/views/toolbox/ProcessView.vue:134 src/views/toolbox/ProcessView.vue:400 +#: src/views/toolbox/MigrationView.vue:782 +#: src/views/toolbox/NetworkView.vue:96 +#: src/views/toolbox/ProcessView.vue:134 +#: src/views/toolbox/ProcessView.vue:400 #: src/views/website/stats/ErrorsTab.vue:95 msgid "Status" msgstr "状态" @@ -1760,9 +1998,12 @@ msgstr "请输入编排名称" msgid "Please select a compose" msgstr "请选择一个编排" -#: src/views/app/TemplateDeployModal.vue:257 src/views/cert/AccountView.vue:164 -#: src/views/cert/CertView.vue:355 src/views/cert/CertView.vue:376 -#: src/views/cert/DnsView.vue:148 src/views/container/ComposeView.vue:287 +#: src/views/app/TemplateDeployModal.vue:257 +#: src/views/cert/AccountView.vue:164 +#: src/views/cert/CertView.vue:355 +#: src/views/cert/CertView.vue:376 +#: src/views/cert/DnsView.vue:148 +#: src/views/container/ComposeView.vue:287 msgid "Update successful" msgstr "更新成功" @@ -1837,7 +2078,8 @@ msgstr "自动放行在 compose 中定义的端口" #: src/views/container/ComposeView.vue:367 #: src/views/container/ComposeView.vue:393 #: src/views/container/ContainerCreate.vue:454 -#: src/views/project/EditModal.vue:380 src/views/toolbox/ProcessView.vue:446 +#: src/views/project/EditModal.vue:380 +#: src/views/toolbox/ProcessView.vue:446 msgid "Environment Variables" msgstr "环境变量" @@ -1859,9 +2101,7 @@ msgid "Compose File" msgstr "编排文件" #: src/views/app/TemplateDeployModal.vue:566 -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:585 @@ -1887,8 +2127,10 @@ msgstr "更新现有" #: src/views/app/TemplateDeployModal.vue:605 #: src/views/app/TemplateDeployModal.vue:610 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:90 -#: src/views/apps/nginx/NginxIndex.vue:187 src/views/file/ListView.vue:846 -#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/apps/nginx/NginxIndex.vue:187 +#: src/views/file/ListView.vue:846 +#: src/views/file/PropertyModal.vue:55 +#: src/views/file/PropertyModal.vue:59 #: src/views/toolbox/WebHookView.vue:83 msgid "Yes" msgstr "是" @@ -1896,8 +2138,10 @@ msgstr "是" #: src/views/app/TemplateDeployModal.vue:605 #: src/views/app/TemplateDeployModal.vue:610 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:91 -#: src/views/apps/nginx/NginxIndex.vue:187 src/views/file/ListView.vue:847 -#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/apps/nginx/NginxIndex.vue:187 +#: src/views/file/ListView.vue:847 +#: src/views/file/PropertyModal.vue:55 +#: src/views/file/PropertyModal.vue:59 #: src/views/toolbox/WebHookView.vue:83 msgid "No" msgstr "否" @@ -1928,13 +2172,16 @@ msgstr "下一步" msgid "Starting Compose" msgstr "正在启动编排" -#: src/views/app/TemplateView.vue:141 src/views/backup/StorageView.vue:75 -#: src/views/ssh/IndexView.vue:72 src/views/ssh/IndexView.vue:81 +#: src/views/app/TemplateView.vue:141 +#: src/views/backup/StorageView.vue:75 +#: src/views/ssh/IndexView.vue:72 +#: src/views/ssh/IndexView.vue:81 #: src/views/toolbox/MigrationView.vue:470 msgid "Local" msgstr "本地" -#: src/views/app/TemplateView.vue:151 src/views/cert/CertView.vue:226 +#: src/views/app/TemplateView.vue:151 +#: src/views/cert/CertView.vue:226 msgid "Deploy" msgstr "部署" @@ -1968,7 +2215,8 @@ msgstr "发行日志" #: src/views/apps/prometheus/IndexView.vue:40 #: src/views/apps/redis/IndexView.vue:32 #: src/views/apps/rocketmq/IndexView.vue:32 -#: src/views/apps/valkey/IndexView.vue:32 src/views/environment/PHPView.vue:133 +#: src/views/apps/valkey/IndexView.vue:32 +#: src/views/environment/PHPView.vue:133 msgid "Property" msgstr "属性" @@ -1986,7 +2234,8 @@ msgstr "属性" #: src/views/apps/prometheus/IndexView.vue:47 #: src/views/apps/redis/IndexView.vue:39 #: src/views/apps/rocketmq/IndexView.vue:39 -#: src/views/apps/valkey/IndexView.vue:39 src/views/environment/PHPView.vue:140 +#: src/views/apps/valkey/IndexView.vue:39 +#: src/views/environment/PHPView.vue:140 msgid "Current Value" msgstr "当前值" @@ -2000,16 +2249,20 @@ msgstr "当前值" #: src/views/apps/supervisor/IndexView.vue:241 #: src/views/apps/supervisor/IndexView.vue:297 #: src/views/database/RedisDataView.vue:223 -#: src/views/environment/PHPView.vue:180 src/views/environment/PHPView.vue:187 -#: src/views/firewall/ScanView.vue:327 src/views/task/CronView.vue:21 -#: src/views/task/TaskView.vue:19 src/views/website/EditModal.vue:261 +#: src/views/environment/PHPView.vue:180 +#: src/views/environment/PHPView.vue:187 +#: src/views/firewall/ScanView.vue:327 +#: src/views/task/CronView.vue:21 +#: src/views/task/TaskView.vue:19 +#: src/views/website/EditModal.vue:261 #: src/views/website/StatsView.vue:93 msgid "Cleared successfully" msgstr "清除成功" #: src/views/apps/apache/IndexView.vue:74 #: src/views/apps/codeserver/IndexView.vue:40 -#: src/views/apps/frp/IndexView.vue:83 src/views/apps/frp/IndexView.vue:111 +#: src/views/apps/frp/IndexView.vue:83 +#: src/views/apps/frp/IndexView.vue:111 #: src/views/apps/gitea/IndexView.vue:38 #: src/views/apps/mysql/MysqlIndex.vue:144 #: src/views/apps/nginx/NginxIndex.vue:524 @@ -2019,11 +2272,8 @@ msgstr "修改配置" #: src/views/apps/apache/IndexView.vue:78 #: src/views/apps/nginx/NginxIndex.vue:528 -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:92 #: src/views/apps/clickhouse/IndexView.vue:135 @@ -2039,7 +2289,8 @@ msgstr "" #: src/views/apps/prometheus/IndexView.vue:129 #: src/views/apps/redis/IndexView.vue:84 #: src/views/apps/rocketmq/IndexView.vue:87 -#: src/views/apps/valkey/IndexView.vue:84 src/views/environment/PHPView.vue:279 +#: src/views/apps/valkey/IndexView.vue:84 +#: src/views/environment/PHPView.vue:279 #: src/views/home/IndexView.vue:574 msgid "Load Status" msgstr "负载状态" @@ -2066,7 +2317,8 @@ msgstr "负载状态" #: src/views/apps/rocketmq/IndexView.vue:97 #: src/views/apps/rsync/IndexView.vue:253 #: src/views/apps/supervisor/IndexView.vue:385 -#: src/views/apps/valkey/IndexView.vue:94 src/views/environment/PHPView.vue:289 +#: src/views/apps/valkey/IndexView.vue:94 +#: src/views/environment/PHPView.vue:289 msgid "Runtime Logs" msgstr "运行日志" @@ -2078,8 +2330,10 @@ msgstr "错误日志" #: src/views/apps/clickhouse/ClickHouseConfigTuneView.vue:68 #: src/views/apps/mongodb/MongoDBConfigTuneView.vue:79 -#: src/views/container/ContainerCreate.vue:211 src/views/home/IndexView.vue:187 -#: src/views/home/IndexView.vue:954 src/views/monitor/IndexView.vue:982 +#: src/views/container/ContainerCreate.vue:211 +#: src/views/home/IndexView.vue:187 +#: src/views/home/IndexView.vue:954 +#: src/views/monitor/IndexView.vue:982 #: src/views/toolbox/IndexView.vue:27 msgid "Network" msgstr "网络" @@ -2150,12 +2404,18 @@ msgstr "日志级别(logger.level)" #: src/views/database/ServerList.vue:283 #: src/views/database/UpdateServerModal.vue:26 #: src/views/database/UpdateUserModal.vue:22 -#: src/views/database/UserList.vue:201 src/views/file/PermissionModal.vue:57 -#: src/views/setting/SettingUser.vue:177 src/views/setting/SettingUser.vue:183 -#: src/views/task/CreateModal.vue:113 src/views/task/CronView.vue:205 -#: src/views/task/CronView.vue:275 src/views/toolbox/WebHookView.vue:213 -#: src/views/toolbox/WebHookView.vue:291 src/views/website/ListView.vue:347 -#: src/views/website/ListView.vue:353 src/views/website/SettingView.vue:45 +#: src/views/database/UserList.vue:201 +#: src/views/file/PermissionModal.vue:57 +#: src/views/setting/SettingUser.vue:177 +#: src/views/setting/SettingUser.vue:183 +#: src/views/task/CreateModal.vue:113 +#: src/views/task/CronView.vue:205 +#: src/views/task/CronView.vue:275 +#: src/views/toolbox/WebHookView.vue:213 +#: src/views/toolbox/WebHookView.vue:291 +#: src/views/website/ListView.vue:347 +#: src/views/website/ListView.vue:353 +#: src/views/website/SettingView.vue:45 #: src/views/website/SettingView.vue:56 msgid "Modified successfully" msgstr "修改成功" @@ -2164,7 +2424,8 @@ msgstr "修改成功" #: src/views/apps/mongodb/IndexView.vue:76 #: src/views/apps/mysql/MysqlIndex.vue:109 #: src/views/apps/postgresql/IndexView.vue:143 -#: src/views/database/ServerList.vue:100 src/views/database/UserList.vue:51 +#: src/views/database/ServerList.vue:100 +#: src/views/database/UserList.vue:51 #: src/views/file/composables/usePaste.ts:27 #: src/views/setting/TokenModal.vue:166 msgid "Copied successfully" @@ -2175,18 +2436,19 @@ msgid "Default User Password" msgstr "默认用户密码" #: src/views/apps/clickhouse/IndexView.vue:91 -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:104 #: src/views/apps/mongodb/IndexView.vue:104 #: src/views/apps/mysql/MysqlIndex.vue:133 #: src/views/apps/postgresql/IndexView.vue:171 -#: src/views/database/ServerList.vue:104 src/views/database/UserList.vue:55 -#: src/views/file/ListView.vue:307 src/views/file/ListView.vue:341 -#: src/views/file/ListView.vue:951 src/views/file/ToolBar.vue:213 +#: src/views/database/ServerList.vue:104 +#: src/views/database/UserList.vue:55 +#: src/views/file/ListView.vue:307 +#: src/views/file/ListView.vue:341 +#: src/views/file/ListView.vue:951 +#: src/views/file/ToolBar.vue:213 msgid "Copy" msgstr "复制" @@ -2202,16 +2464,14 @@ msgstr "复制" #: src/views/apps/rocketmq/IndexView.vue:67 #: src/views/apps/rsync/IndexView.vue:236 #: src/views/apps/supervisor/IndexView.vue:368 -#: src/views/apps/valkey/IndexView.vue:64 src/views/environment/PHPView.vue:243 +#: src/views/apps/valkey/IndexView.vue:64 +#: src/views/environment/PHPView.vue:243 msgid "Main Configuration" msgstr "主配置" #: src/views/apps/clickhouse/IndexView.vue:119 -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:132 #: src/views/apps/elasticsearch/IndexView.vue:81 @@ -2227,16 +2487,14 @@ msgstr "" #: src/views/apps/pureftpd/IndexView.vue:220 #: src/views/apps/redis/IndexView.vue:81 #: src/views/apps/rocketmq/IndexView.vue:84 -#: src/views/apps/valkey/IndexView.vue:81 src/views/environment/PHPView.vue:240 +#: src/views/apps/valkey/IndexView.vue:81 +#: src/views/environment/PHPView.vue:240 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 @@ -2260,7 +2518,8 @@ msgstr "中国 - 腾讯(仅内网)" #: src/views/apps/docker/IndexView.vue:194 #: src/views/container/ContainerCreate.vue:191 -#: src/views/project/EditModal.vue:182 src/views/website/EditModal.vue:869 +#: src/views/project/EditModal.vue:182 +#: src/views/website/EditModal.vue:869 msgid "Basic Settings" msgstr "基本设置" @@ -2268,14 +2527,13 @@ msgstr "基本设置" msgid "Registry Mirrors" msgstr "注册表镜像" -#: src/views/apps/docker/IndexView.vue:203 src/views/website/EditModal.vue:1671 +#: src/views/apps/docker/IndexView.vue:203 +#: src/views/website/EditModal.vue:1671 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 @@ -2286,7 +2544,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:335 +#: src/views/apps/nginx/NginxIndex.vue:743 +#: src/views/toolbox/SystemView.vue:335 msgid "Add" msgstr "添加" @@ -2295,12 +2554,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" @@ -2371,9 +2626,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 @@ -2437,12 +2690,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" @@ -2497,9 +2746,7 @@ msgstr "路径和 JVM" #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:100 #: src/views/apps/opensearch/OpenSearchConfigTuneView.vue:100 -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:103 @@ -2529,12 +2776,8 @@ msgid "Max Heap Size (-Xmx)" msgstr "最大堆大小(-Xmx)" #: src/views/apps/elasticsearch/IndexView.vue:68 -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:57 #: src/views/apps/fail2ban/IndexView.vue:375 @@ -2551,7 +2794,8 @@ msgstr "封禁时间" msgid "Find Time" msgstr "查找时间" -#: src/views/apps/fail2ban/IndexView.vue:79 src/views/cert/CertView.vue:262 +#: src/views/apps/fail2ban/IndexView.vue:79 +#: src/views/cert/CertView.vue:262 #: src/views/database/ElasticsearchDataView.vue:188 #: src/views/database/RedisDataView.vue:134 msgid "View" @@ -2571,7 +2815,8 @@ msgstr "解封" #: src/views/apps/fail2ban/IndexView.vue:197 #: src/views/apps/pureftpd/IndexView.vue:139 -#: src/views/apps/rsync/IndexView.vue:159 src/views/apps/s3fs/IndexView.vue:85 +#: src/views/apps/rsync/IndexView.vue:159 +#: src/views/apps/s3fs/IndexView.vue:85 #: src/views/apps/supervisor/IndexView.vue:254 #: src/views/database/CreateServerModal.vue:78 msgid "Added successfully" @@ -2609,33 +2854,30 @@ msgid "Add Rule" msgstr "添加规则" #: src/views/apps/fail2ban/IndexView.vue:314 -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:321 -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:328 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:74 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:184 -#: src/views/backup/StorageView.vue:70 src/views/backup/StorageView.vue:240 -#: src/views/backup/StorageView.vue:394 src/views/cert/CertView.vue:103 -#: src/views/cert/DnsView.vue:41 src/views/database/CreateServerModal.vue:99 +#: src/views/backup/StorageView.vue:70 +#: src/views/backup/StorageView.vue:240 +#: src/views/backup/StorageView.vue:394 +#: src/views/cert/CertView.vue:103 +#: src/views/cert/DnsView.vue:41 +#: src/views/database/CreateServerModal.vue:99 #: src/views/database/RedisDataView.vue:87 -#: src/views/database/RedisKeyModal.vue:98 src/views/file/PropertyModal.vue:33 -#: src/views/log/OperationLog.vue:73 src/views/project/ListView.vue:50 +#: src/views/database/RedisKeyModal.vue:98 +#: src/views/file/PropertyModal.vue:33 +#: src/views/log/OperationLog.vue:73 +#: src/views/project/ListView.vue:50 #: src/views/toolbox/MigrationView.vue:693 -#: src/views/toolbox/MigrationView.vue:780 src/views/toolbox/NetworkView.vue:61 +#: src/views/toolbox/MigrationView.vue:780 +#: src/views/toolbox/NetworkView.vue:61 msgid "Type" msgstr "类型" @@ -2645,7 +2887,8 @@ msgid "Service" msgstr "服务" #: src/views/apps/fail2ban/IndexView.vue:338 -#: src/views/apps/fail2ban/IndexView.vue:342 src/views/task/CreateModal.vue:449 +#: src/views/apps/fail2ban/IndexView.vue:342 +#: src/views/task/CreateModal.vue:449 #: src/views/task/CreateModal.vue:455 msgid "Select Website" msgstr "选择网站" @@ -2656,9 +2899,12 @@ msgstr "保护模式" #: src/views/apps/fail2ban/IndexView.vue:350 #: src/views/apps/pureftpd/IndexView.vue:43 -#: src/views/backup/StorageView.vue:284 src/views/backup/StorageView.vue:338 -#: src/views/backup/StorageView.vue:368 src/views/backup/StorageView.vue:432 -#: src/views/backup/StorageView.vue:486 src/views/backup/StorageView.vue:516 +#: src/views/backup/StorageView.vue:284 +#: src/views/backup/StorageView.vue:338 +#: src/views/backup/StorageView.vue:368 +#: src/views/backup/StorageView.vue:432 +#: src/views/backup/StorageView.vue:486 +#: src/views/backup/StorageView.vue:516 #: src/views/log/HttpLog.vue:80 msgid "Path" msgstr "路径" @@ -2689,42 +2935,55 @@ msgstr "总封禁次数" msgid "Ban List" msgstr "封禁列表" -#: src/views/apps/frp/IndexView.vue:68 src/views/apps/frp/IndexView.vue:96 -#: 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:96 +#: src/views/project/CreateModal.vue:622 +#: src/views/project/EditModal.vue:237 msgid "Run User" msgstr "运行用户" -#: src/views/apps/frp/IndexView.vue:75 src/views/apps/frp/IndexView.vue:76 -#: src/views/apps/frp/IndexView.vue:103 src/views/apps/frp/IndexView.vue:104 +#: src/views/apps/frp/IndexView.vue:75 +#: src/views/apps/frp/IndexView.vue:76 +#: src/views/apps/frp/IndexView.vue:103 +#: src/views/apps/frp/IndexView.vue:104 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:200 -#: src/views/apps/rsync/IndexView.vue:55 src/views/apps/rsync/IndexView.vue:285 -#: src/views/apps/rsync/IndexView.vue:338 src/views/database/IndexView.vue:36 -#: src/views/home/IndexView.vue:660 src/views/home/IndexView.vue:761 -#: src/views/log/SSHLog.vue:71 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:397 -#: src/views/toolbox/WebHookView.vue:347 src/views/toolbox/WebHookView.vue:382 +#: src/views/apps/rsync/IndexView.vue:55 +#: src/views/apps/rsync/IndexView.vue:285 +#: src/views/apps/rsync/IndexView.vue:338 +#: src/views/database/IndexView.vue:36 +#: src/views/home/IndexView.vue:660 +#: src/views/home/IndexView.vue:761 +#: src/views/log/SSHLog.vue:71 +#: 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:397 +#: src/views/toolbox/WebHookView.vue:347 +#: src/views/toolbox/WebHookView.vue:382 msgid "User" msgstr "用户" -#: src/views/apps/frp/IndexView.vue:78 src/views/apps/frp/IndexView.vue:79 -#: src/views/apps/frp/IndexView.vue:106 src/views/apps/frp/IndexView.vue:107 +#: src/views/apps/frp/IndexView.vue:78 +#: src/views/apps/frp/IndexView.vue:79 +#: src/views/apps/frp/IndexView.vue:106 +#: src/views/apps/frp/IndexView.vue:107 #: 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:547 #: src/views/database/CreateDatabaseModal.vue:85 #: src/views/database/CreateUserModal.vue:97 -#: src/views/database/DatabaseList.vue:27 src/views/database/IndexView.vue:37 +#: src/views/database/DatabaseList.vue:27 +#: src/views/database/IndexView.vue:37 #: src/views/database/UserList.vue:72 msgid "Server" msgstr "服务器" @@ -2878,11 +3137,16 @@ msgstr "浏览器(直连)" #: src/views/apps/grafana/GrafanaDataSourcesView.vue:101 #: src/views/apps/nginx/NginxIndex.vue:204 -#: src/views/apps/nginx/NginxIndex.vue:280 src/views/backup/StorageView.vue:109 -#: src/views/container/ComposeView.vue:122 src/views/file/ListView.vue:332 -#: src/views/file/ListView.vue:1544 src/views/project/ListView.vue:180 -#: src/views/ssh/IndexView.vue:114 src/views/task/CronView.vue:160 -#: src/views/toolbox/WebHookView.vue:160 src/views/website/ListView.vue:241 +#: src/views/apps/nginx/NginxIndex.vue:280 +#: src/views/backup/StorageView.vue:109 +#: src/views/container/ComposeView.vue:122 +#: src/views/file/ListView.vue:332 +#: src/views/file/ListView.vue:1544 +#: src/views/project/ListView.vue:180 +#: src/views/ssh/IndexView.vue:114 +#: src/views/task/CronView.vue:160 +#: src/views/toolbox/WebHookView.vue:160 +#: src/views/website/ListView.vue:241 msgid "Edit" msgstr "编辑" @@ -2911,20 +3175,28 @@ msgstr "访问" #: src/views/apps/pureftpd/IndexView.vue:244 #: src/views/apps/pureftpd/IndexView.vue:275 #: src/views/apps/rsync/IndexView.vue:293 -#: src/views/apps/rsync/IndexView.vue:346 src/views/backup/StorageView.vue:32 -#: src/views/backup/StorageView.vue:316 src/views/backup/StorageView.vue:360 -#: src/views/backup/StorageView.vue:464 src/views/backup/StorageView.vue:508 +#: src/views/apps/rsync/IndexView.vue:346 +#: src/views/backup/StorageView.vue:32 +#: src/views/backup/StorageView.vue:316 +#: src/views/backup/StorageView.vue:360 +#: src/views/backup/StorageView.vue:464 +#: src/views/backup/StorageView.vue:508 #: src/views/container/ImageView.vue:393 #: src/views/database/CreateDatabaseModal.vue:124 #: src/views/database/CreateServerModal.vue:162 #: src/views/database/CreateUserModal.vue:113 #: src/views/database/ServerList.vue:80 #: src/views/database/UpdateServerModal.vue:103 -#: src/views/database/UpdateUserModal.vue:62 src/views/database/UserList.vue:31 -#: src/views/login/IndexView.vue:255 src/views/setting/CreateModal.vue:54 -#: src/views/setting/PasswordModal.vue:41 src/views/ssh/CreateModal.vue:79 -#: src/views/ssh/CreateModal.vue:88 src/views/ssh/UpdateModal.vue:85 -#: src/views/ssh/UpdateModal.vue:94 src/views/website/EditModal.vue:1923 +#: src/views/database/UpdateUserModal.vue:62 +#: src/views/database/UserList.vue:31 +#: src/views/login/IndexView.vue:255 +#: src/views/setting/CreateModal.vue:54 +#: src/views/setting/PasswordModal.vue:41 +#: src/views/ssh/CreateModal.vue:79 +#: src/views/ssh/CreateModal.vue:88 +#: src/views/ssh/UpdateModal.vue:85 +#: src/views/ssh/UpdateModal.vue:94 +#: src/views/website/EditModal.vue:1923 msgid "Password" msgstr "密码" @@ -2941,30 +3213,20 @@ msgid "Import dashboards in Grafana via Dashboard ID:" msgstr "通过 Dashboard ID 在 Grafana 中导入仪表盘:" #: src/views/apps/grafana/IndexView.vue:82 -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:95 -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:116 msgid "Data Sources" msgstr "数据源" #: src/views/apps/kafka/IndexView.vue:68 -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 @@ -3071,33 +3333,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:87 msgid "Admin Password" msgstr "管理员密码" #: src/views/apps/mongodb/IndexView.vue:91 -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:119 -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:112 -#: src/views/backup/IndexView.vue:41 src/views/task/CreateModal.vue:508 +#: src/views/backup/IndexView.vue:41 +#: src/views/task/CreateModal.vue:508 msgid "Storage" msgstr "存储" @@ -3138,7 +3392,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:24 +#: src/views/project/IndexView.vue:22 +#: src/views/project/ListView.vue:24 msgid "General" msgstr "通用" @@ -3344,22 +3599,18 @@ msgstr "长查询时间(long_query_time)" msgid "e.g. 3 (seconds)" msgstr "例如 3(秒)" -#: src/views/apps/mysql/MysqlIndex.vue:120 src/views/toolbox/SshView.vue:263 +#: src/views/apps/mysql/MysqlIndex.vue:120 +#: src/views/toolbox/SshView.vue:263 msgid "Root Password" msgstr "Root 密码" #: src/views/apps/mysql/MysqlIndex.vue:124 -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:148 -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:185 msgid "Slow Query Log" @@ -3435,9 +3686,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 @@ -3475,9 +3724,7 @@ msgid "e.g. any" msgstr "例如 any" #: src/views/apps/nginx/NginxConfigTuneView.vue:335 -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:341 @@ -3501,8 +3748,7 @@ msgid "Static (brotli_static)" msgstr "静态(brotli_static)" #: src/views/apps/nginx/NginxConfigTuneView.vue:386 -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:390 @@ -3529,13 +3775,15 @@ msgstr "静态(zstd_static)" msgid "Listen" msgstr "监听" -#: src/views/apps/nginx/NginxIndex.vue:168 src/views/firewall/ScanView.vue:292 +#: src/views/apps/nginx/NginxIndex.vue:168 +#: src/views/firewall/ScanView.vue:292 #: src/views/firewall/ScanView.vue:308 msgid "Protocol" msgstr "协议" #: src/views/apps/nginx/NginxIndex.vue:176 -#: src/views/apps/nginx/NginxIndex.vue:643 src/views/website/EditModal.vue:1061 +#: src/views/apps/nginx/NginxIndex.vue:643 +#: src/views/website/EditModal.vue:1061 msgid "Proxy Pass" msgstr "代理目标" @@ -3586,15 +3834,18 @@ msgstr "Stream" #: src/views/apps/nginx/NginxIndex.vue:551 #: src/views/database/CreateServerModal.vue:91 -#: src/views/database/IndexView.vue:57 src/views/website/EditModal.vue:998 +#: src/views/database/IndexView.vue:57 +#: src/views/website/EditModal.vue:998 msgid "Add Server" msgstr "添加服务器" -#: src/views/apps/nginx/NginxIndex.vue:564 src/views/website/EditModal.vue:922 +#: src/views/apps/nginx/NginxIndex.vue:564 +#: src/views/website/EditModal.vue:922 msgid "Upstream" msgstr "上游" -#: src/views/apps/nginx/NginxIndex.vue:568 src/views/website/EditModal.vue:1014 +#: src/views/apps/nginx/NginxIndex.vue:568 +#: src/views/website/EditModal.vue:1014 msgid "Add Upstream" msgstr "添加上游" @@ -3651,7 +3902,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:933 +#: src/views/apps/nginx/NginxIndex.vue:713 +#: src/views/website/EditModal.vue:933 msgid "Load Balancing Algorithm" msgstr "负载均衡算法" @@ -3673,7 +3925,8 @@ msgstr "地址" #: src/views/apps/nginx/NginxIndex.vue:750 #: src/views/container/NetworkView.vue:327 -#: src/views/container/VolumeView.vue:226 src/views/toolbox/DiskView.vue:828 +#: src/views/container/VolumeView.vue:226 +#: src/views/toolbox/DiskView.vue:828 msgid "Options" msgstr "选项" @@ -3681,27 +3934,27 @@ msgstr "选项" msgid "No servers added yet" msgstr "尚未添加服务器" -#: src/views/apps/nginx/NginxIndex.vue:777 src/views/website/EditModal.vue:963 +#: src/views/apps/nginx/NginxIndex.vue:777 +#: src/views/website/EditModal.vue:963 #: src/views/website/EditModal.vue:1095 msgid "DNS Resolver" msgstr "DNS 解析器" -#: src/views/apps/nginx/NginxIndex.vue:780 src/views/website/EditModal.vue:966 +#: src/views/apps/nginx/NginxIndex.vue:780 +#: src/views/website/EditModal.vue:966 #: src/views/website/EditModal.vue:1098 msgid "e.g., 8.8.8.8" msgstr "例如 8.8.8.8" -#: src/views/apps/nginx/NginxIndex.vue:786 src/views/website/EditModal.vue:972 +#: src/views/apps/nginx/NginxIndex.vue:786 +#: src/views/website/EditModal.vue:972 #: src/views/website/EditModal.vue:1104 msgid "Resolver Timeout" msgstr "解析超时" #: src/views/apps/opensearch/IndexView.vue:68 -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." @@ -3724,28 +3977,19 @@ msgid "Modify phpMyAdmin access port" msgstr "修改 phpMyAdmin 访问端口" #: src/views/apps/phpmyadmin/IndexView.vue:89 -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:80 @@ -3753,9 +3997,7 @@ msgid "Storage Configuration" msgstr "存储配置" #: src/views/apps/podman/IndexView.vue:84 -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:154 @@ -3763,34 +4005,24 @@ msgid "Super Password" msgstr "超级密码" #: src/views/apps/postgresql/IndexView.vue:158 -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:186 -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:202 msgid "User Configuration" msgstr "用户配置" #: src/views/apps/postgresql/IndexView.vue:206 -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:239 -#, fuzzy msgid "Application Logs" -msgstr "迁移日志" +msgstr "应用日志" #: src/views/apps/postgresql/PostgresqlConfigTuneView.vue:174 #: src/views/toolbox/MigrationView.vue:405 @@ -3825,11 +4057,16 @@ msgstr "例如 3" #: src/views/apps/postgresql/PostgresqlConfigTuneView.vue:224 #: src/views/apps/redis/RedisConfigTuneView.vue:156 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:150 -#: src/views/container/ContainerCreate.vue:428 src/views/home/IndexView.vue:687 -#: src/views/home/IndexView.vue:760 src/views/monitor/IndexView.vue:532 -#: src/views/monitor/IndexView.vue:539 src/views/monitor/IndexView.vue:555 -#: src/views/monitor/IndexView.vue:859 src/views/toolbox/BenchmarkView.vue:177 -#: src/views/toolbox/PanelView.vue:121 src/views/toolbox/ProcessView.vue:152 +#: src/views/container/ContainerCreate.vue:428 +#: src/views/home/IndexView.vue:687 +#: src/views/home/IndexView.vue:760 +#: src/views/monitor/IndexView.vue:532 +#: src/views/monitor/IndexView.vue:539 +#: src/views/monitor/IndexView.vue:555 +#: src/views/monitor/IndexView.vue:859 +#: src/views/toolbox/BenchmarkView.vue:177 +#: src/views/toolbox/PanelView.vue:121 +#: src/views/toolbox/ProcessView.vue:152 msgid "Memory" msgstr "内存" @@ -3959,33 +4196,20 @@ msgid "IO Method (io_method)" msgstr "IO 方法(io_method)" #: src/views/apps/prometheus/IndexView.vue:84 -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:92 -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:108 msgid "Alertmanager" msgstr "Alertmanager" #: src/views/apps/prometheus/IndexView.vue:113 -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:126 msgid "Exporters" @@ -4037,13 +4261,13 @@ msgstr "您确定要卸载 %{ name } 吗?" #: src/views/apps/prometheus/PrometheusExportersView.vue:103 #: src/views/apps/prometheus/PrometheusExportersView.vue:110 -#: src/views/environment/PHPView.vue:193 src/views/environment/PHPView.vue:199 +#: src/views/environment/PHPView.vue:193 +#: src/views/environment/PHPView.vue:199 msgid "Task submitted, please check progress in background tasks" msgstr "任务已提交,请在后台任务中查看进度" #: src/views/apps/prometheus/PrometheusExportersView.vue:160 -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:166 @@ -4056,17 +4280,22 @@ msgstr "修改 exporter 配置将重启 exporter 服务。" #: src/views/apps/pureftpd/IndexView.vue:36 #: src/views/apps/pureftpd/IndexView.vue:236 -#: src/views/backup/StorageView.vue:305 src/views/backup/StorageView.vue:354 -#: src/views/backup/StorageView.vue:453 src/views/backup/StorageView.vue:502 +#: src/views/backup/StorageView.vue:305 +#: src/views/backup/StorageView.vue:354 +#: src/views/backup/StorageView.vue:453 +#: src/views/backup/StorageView.vue:502 #: src/views/container/ImageView.vue:385 #: src/views/database/CreateDatabaseModal.vue:116 #: src/views/database/CreateServerModal.vue:154 #: src/views/database/CreateUserModal.vue:105 #: src/views/database/ServerList.vue:71 #: src/views/database/UpdateServerModal.vue:95 -#: src/views/database/UserList.vue:21 src/views/login/IndexView.vue:246 -#: src/views/setting/CreateModal.vue:47 src/views/setting/SettingUser.vue:21 -#: src/views/ssh/CreateModal.vue:85 src/views/ssh/UpdateModal.vue:91 +#: src/views/database/UserList.vue:21 +#: src/views/login/IndexView.vue:246 +#: src/views/setting/CreateModal.vue:47 +#: src/views/setting/SettingUser.vue:21 +#: src/views/ssh/CreateModal.vue:85 +#: src/views/ssh/UpdateModal.vue:91 #: src/views/website/EditModal.vue:1922 msgid "Username" msgstr "用户名" @@ -4100,14 +4329,17 @@ msgstr "运行日志" #: src/views/apps/pureftpd/IndexView.vue:232 #: src/views/database/CreateDatabaseModal.vue:101 #: src/views/database/CreateUserModal.vue:83 -#: src/views/database/IndexView.vue:50 src/views/setting/CreateModal.vue:39 +#: src/views/database/IndexView.vue:50 +#: src/views/setting/CreateModal.vue:39 #: src/views/setting/IndexView.vue:155 msgid "Create User" msgstr "创建用户" #: src/views/apps/pureftpd/IndexView.vue:241 -#: src/views/backup/StorageView.vue:308 src/views/backup/StorageView.vue:357 -#: src/views/backup/StorageView.vue:456 src/views/backup/StorageView.vue:505 +#: src/views/backup/StorageView.vue:308 +#: src/views/backup/StorageView.vue:357 +#: src/views/backup/StorageView.vue:456 +#: src/views/backup/StorageView.vue:505 #: src/views/container/ImageView.vue:390 #: src/views/database/CreateDatabaseModal.vue:121 #: src/views/database/CreateUserModal.vue:110 @@ -4120,11 +4352,15 @@ msgid "It is recommended to use the generator to generate a random password" msgstr "建议使用生成器生成随机密码" #: src/views/apps/pureftpd/IndexView.vue:255 -#: src/views/apps/rsync/IndexView.vue:48 src/views/apps/rsync/IndexView.vue:277 +#: src/views/apps/rsync/IndexView.vue:48 +#: src/views/apps/rsync/IndexView.vue:277 #: src/views/apps/rsync/IndexView.vue:330 -#: src/views/container/ComposeView.vue:64 src/views/file/PropertyModal.vue:34 -#: src/views/project/ListView.vue:96 src/views/task/CreateModal.vue:431 -#: src/views/website/CreateModal.vue:305 src/views/website/ListView.vue:128 +#: src/views/container/ComposeView.vue:64 +#: src/views/file/PropertyModal.vue:34 +#: src/views/project/ListView.vue:96 +#: src/views/task/CreateModal.vue:431 +#: src/views/website/CreateModal.vue:305 +#: src/views/website/ListView.vue:128 msgid "Directory" msgstr "目录" @@ -4181,11 +4417,8 @@ msgid "e.g. 99" msgstr "例如 99" #: src/views/apps/redis/IndexView.vue:68 -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." @@ -4270,12 +4503,8 @@ msgid "Append Fsync (appendfsync)" msgstr "追加同步(appendfsync)" #: src/views/apps/rocketmq/IndexView.vue:71 -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." @@ -4325,26 +4554,33 @@ msgstr "JVM" msgid "JVM heap memory settings for NameServer and Broker." msgstr "NameServer 和 Broker 的 JVM 堆内存设置。" -#: src/views/apps/rsync/IndexView.vue:62 src/views/apps/rsync/IndexView.vue:301 -#: src/views/apps/rsync/IndexView.vue:355 src/views/backup/StorageView.vue:294 +#: src/views/apps/rsync/IndexView.vue:62 +#: src/views/apps/rsync/IndexView.vue:301 +#: src/views/apps/rsync/IndexView.vue:355 +#: src/views/backup/StorageView.vue:294 #: src/views/backup/StorageView.vue:442 #: src/views/database/CreateDatabaseModal.vue:138 #: src/views/database/CreateServerModal.vue:133 #: src/views/database/CreateUserModal.vue:127 #: src/views/database/ServerList.vue:111 #: src/views/database/UpdateServerModal.vue:74 -#: src/views/database/UserList.vue:62 src/views/ssh/CreateModal.vue:64 -#: src/views/ssh/UpdateModal.vue:70 src/views/toolbox/SystemView.vue:219 +#: src/views/database/UserList.vue:62 +#: src/views/ssh/CreateModal.vue:64 +#: src/views/ssh/UpdateModal.vue:70 +#: src/views/toolbox/SystemView.vue:219 msgid "Host" msgstr "主机" -#: src/views/apps/rsync/IndexView.vue:68 src/views/apps/rsync/IndexView.vue:309 +#: src/views/apps/rsync/IndexView.vue:68 +#: src/views/apps/rsync/IndexView.vue:309 #: src/views/apps/rsync/IndexView.vue:363 #: src/views/database/CreateServerModal.vue:172 #: src/views/database/CreateUserModal.vue:149 -#: src/views/database/DatabaseList.vue:48 src/views/database/ServerList.vue:121 +#: src/views/database/DatabaseList.vue:48 +#: src/views/database/ServerList.vue:121 #: src/views/database/UpdateServerModal.vue:112 -#: src/views/database/UpdateUserModal.vue:77 src/views/database/UserList.vue:95 +#: src/views/database/UpdateUserModal.vue:77 +#: src/views/database/UserList.vue:95 msgid "Comment" msgstr "注释" @@ -4357,7 +4593,8 @@ msgstr "配置" msgid "Are you sure you want to delete module %{ name }?" msgstr "确定要删除模块 %{ name } 吗?" -#: src/views/apps/rsync/IndexView.vue:207 src/views/environment/PHPView.vue:227 +#: src/views/apps/rsync/IndexView.vue:207 +#: src/views/environment/PHPView.vue:227 msgid "Module Management" msgstr "模块管理" @@ -4367,11 +4604,8 @@ msgid "Add Module" msgstr "添加模块" #: src/views/apps/rsync/IndexView.vue:240 -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:274 #: src/views/apps/supervisor/IndexView.vue:416 @@ -4407,7 +4641,8 @@ msgstr "输入注释" msgid "Module Configuration" msgstr "模块配置" -#: src/views/apps/s3fs/IndexView.vue:25 src/views/toolbox/DiskView.vue:733 +#: src/views/apps/s3fs/IndexView.vue:25 +#: src/views/toolbox/DiskView.vue:733 msgid "Mount Path" msgstr "挂载路径" @@ -4415,11 +4650,13 @@ msgstr "挂载路径" msgid "Are you sure you want to delete mount %{ path }?" msgstr "您确定要删除挂载 %{ path } 吗?" -#: src/views/apps/s3fs/IndexView.vue:58 src/views/toolbox/DiskView.vue:358 +#: src/views/apps/s3fs/IndexView.vue:58 +#: src/views/toolbox/DiskView.vue:358 msgid "Unmount" msgstr "卸载" -#: src/views/apps/s3fs/IndexView.vue:109 src/views/apps/s3fs/IndexView.vue:134 +#: src/views/apps/s3fs/IndexView.vue:109 +#: src/views/apps/s3fs/IndexView.vue:134 #: src/views/apps/s3fs/IndexView.vue:138 msgid "Add Mount" msgstr "添加挂载" @@ -4441,9 +4678,7 @@ msgid "Region Endpoint" msgstr "区域端点" #: src/views/apps/s3fs/IndexView.vue:172 -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:178 @@ -4481,18 +4716,16 @@ msgid "Add Process" msgstr "添加进程" #: src/views/apps/supervisor/IndexView.vue:372 -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:388 msgid "Daemon Logs" msgstr "守护进程日志" #: src/views/apps/supervisor/IndexView.vue:419 -#: 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 "启动命令" @@ -4501,7 +4734,8 @@ msgid "Please enter absolute path for files in start command" msgstr "请在启动命令中输入文件的绝对路径" #: src/views/apps/supervisor/IndexView.vue:427 -#: src/views/project/EditModal.vue:219 src/views/toolbox/ProcessView.vue:432 +#: src/views/project/EditModal.vue:219 +#: src/views/toolbox/ProcessView.vue:432 msgid "Working Directory" msgstr "工作目录" @@ -4527,11 +4761,8 @@ msgid "Process Configuration" msgstr "进程配置" #: src/views/apps/valkey/IndexView.vue:68 -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." @@ -4549,7 +4780,8 @@ msgstr "Valkey AOF 持久化设置。" msgid "Filename" msgstr "文件名" -#: src/views/backup/ListView.vue:53 src/views/database/ServerList.vue:150 +#: src/views/backup/ListView.vue:53 +#: src/views/database/ServerList.vue:150 #: src/views/database/UserList.vue:124 msgid "Update Date" msgstr "更新日期" @@ -4567,26 +4799,28 @@ msgid "Restored successfully" msgstr "恢复成功" #: src/views/backup/ListView.vue:213 -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:220 src/views/backup/ListView.vue:250 +#: src/views/backup/ListView.vue:220 +#: src/views/backup/ListView.vue:250 msgid "Create Backup" msgstr "创建备份" -#: src/views/backup/ListView.vue:223 src/views/backup/UploadModal.vue:38 +#: src/views/backup/ListView.vue:223 +#: src/views/backup/UploadModal.vue:38 msgid "Upload Backup" msgstr "上传备份" -#: src/views/backup/ListView.vue:262 src/views/backup/ListView.vue:305 +#: src/views/backup/ListView.vue:262 +#: src/views/backup/ListView.vue:305 msgid "Select website" msgstr "选择网站" #: src/views/backup/ListView.vue:265 #: src/views/database/CreateDatabaseModal.vue:93 -#: src/views/database/DatabaseList.vue:20 src/views/website/CreateModal.vue:269 +#: src/views/database/DatabaseList.vue:20 +#: src/views/website/CreateModal.vue:269 #: src/views/website/CreateModal.vue:274 msgid "Database Name" msgstr "数据库名称" @@ -4610,12 +4844,18 @@ msgstr "选择备份存储" msgid "Restore Backup" msgstr "恢复备份" -#: src/views/backup/StorageView.vue:33 src/views/backup/StorageView.vue:328 -#: src/views/backup/StorageView.vue:476 src/views/cert/CertView.vue:548 -#: src/views/cert/CertView.vue:619 src/views/cert/UploadCertModal.vue:53 -#: src/views/setting/SettingSafe.vue:282 src/views/ssh/CreateModal.vue:80 -#: src/views/ssh/CreateModal.vue:91 src/views/ssh/UpdateModal.vue:86 -#: src/views/ssh/UpdateModal.vue:97 src/views/website/EditModal.vue:1654 +#: src/views/backup/StorageView.vue:33 +#: src/views/backup/StorageView.vue:328 +#: src/views/backup/StorageView.vue:476 +#: src/views/cert/CertView.vue:548 +#: src/views/cert/CertView.vue:619 +#: src/views/cert/UploadCertModal.vue:53 +#: src/views/setting/SettingSafe.vue:282 +#: src/views/ssh/CreateModal.vue:80 +#: src/views/ssh/CreateModal.vue:91 +#: src/views/ssh/UpdateModal.vue:86 +#: src/views/ssh/UpdateModal.vue:97 +#: src/views/website/EditModal.vue:1654 msgid "Private Key" msgstr "私钥" @@ -4627,41 +4867,51 @@ msgstr "创建于" msgid "Are you sure you want to delete this storage?" msgstr "您确定要删除此存储吗?" -#: src/views/backup/StorageView.vue:179 src/views/setting/PasswordModal.vue:20 -#: src/views/setting/TokenModal.vue:188 src/views/setting/TwoFaModal.vue:27 +#: src/views/backup/StorageView.vue:179 +#: src/views/setting/PasswordModal.vue:20 +#: src/views/setting/TokenModal.vue:188 +#: src/views/setting/TwoFaModal.vue:27 #: src/views/ssh/UpdateModal.vue:31 msgid "Updated successfully" msgstr "更新成功" -#: src/views/backup/StorageView.vue:201 src/views/backup/StorageView.vue:229 +#: src/views/backup/StorageView.vue:201 +#: src/views/backup/StorageView.vue:229 msgid "Add Storage" msgstr "添加存储" -#: src/views/backup/StorageView.vue:238 src/views/backup/StorageView.vue:392 +#: src/views/backup/StorageView.vue:238 +#: src/views/backup/StorageView.vue:392 msgid "Enter storage name" msgstr "输入存储名称" -#: src/views/backup/StorageView.vue:246 src/views/backup/StorageView.vue:400 +#: src/views/backup/StorageView.vue:246 +#: src/views/backup/StorageView.vue:400 msgid "Access Key" msgstr "Access Key" -#: src/views/backup/StorageView.vue:249 src/views/backup/StorageView.vue:403 +#: src/views/backup/StorageView.vue:249 +#: src/views/backup/StorageView.vue:403 msgid "Enter access key" msgstr "输入 Access Key" -#: src/views/backup/StorageView.vue:252 src/views/backup/StorageView.vue:406 +#: src/views/backup/StorageView.vue:252 +#: src/views/backup/StorageView.vue:406 msgid "Secret Key" msgstr "Secret Key" -#: src/views/backup/StorageView.vue:257 src/views/backup/StorageView.vue:411 +#: src/views/backup/StorageView.vue:257 +#: src/views/backup/StorageView.vue:411 msgid "Enter secret key" msgstr "输入 Secret Key" -#: src/views/backup/StorageView.vue:260 src/views/backup/StorageView.vue:414 +#: src/views/backup/StorageView.vue:260 +#: src/views/backup/StorageView.vue:414 msgid "Style" msgstr "风格" -#: src/views/backup/StorageView.vue:263 src/views/website/stats/GeoTab.vue:91 +#: src/views/backup/StorageView.vue:263 +#: src/views/website/stats/GeoTab.vue:91 #: src/views/website/stats/GeoTab.vue:248 msgid "Region" msgstr "区域" @@ -4670,56 +4920,74 @@ msgstr "区域" msgid "Enter region (e.g., us-east-1)" msgstr "输入区域(例如 us-east-1)" -#: src/views/backup/StorageView.vue:269 src/views/backup/StorageView.vue:417 +#: src/views/backup/StorageView.vue:269 +#: src/views/backup/StorageView.vue:417 msgid "Endpoint" msgstr "端点" -#: src/views/backup/StorageView.vue:272 src/views/backup/StorageView.vue:420 +#: src/views/backup/StorageView.vue:272 +#: src/views/backup/StorageView.vue:420 msgid "Enter endpoint URL" msgstr "输入端点 URL" -#: src/views/backup/StorageView.vue:275 src/views/backup/StorageView.vue:423 +#: src/views/backup/StorageView.vue:275 +#: src/views/backup/StorageView.vue:423 msgid "Scheme" msgstr "协议" -#: src/views/backup/StorageView.vue:278 src/views/backup/StorageView.vue:426 +#: src/views/backup/StorageView.vue:278 +#: src/views/backup/StorageView.vue:426 msgid "Bucket" msgstr "存储桶" -#: src/views/backup/StorageView.vue:281 src/views/backup/StorageView.vue:429 +#: src/views/backup/StorageView.vue:281 +#: src/views/backup/StorageView.vue:429 msgid "Enter bucket name" msgstr "输入存储桶名称" -#: src/views/backup/StorageView.vue:287 src/views/backup/StorageView.vue:371 -#: src/views/backup/StorageView.vue:435 src/views/backup/StorageView.vue:519 +#: src/views/backup/StorageView.vue:287 +#: src/views/backup/StorageView.vue:371 +#: src/views/backup/StorageView.vue:435 +#: src/views/backup/StorageView.vue:519 msgid "Enter path (optional)" msgstr "输入路径(可选)" -#: src/views/backup/StorageView.vue:295 src/views/backup/StorageView.vue:443 +#: src/views/backup/StorageView.vue:295 +#: src/views/backup/StorageView.vue:443 msgid "Enter host" msgstr "输入主机" -#: src/views/backup/StorageView.vue:297 src/views/backup/StorageView.vue:445 +#: src/views/backup/StorageView.vue:297 +#: src/views/backup/StorageView.vue:445 #: src/views/database/CreateServerModal.vue:144 #: src/views/database/UpdateServerModal.vue:85 -#: src/views/firewall/ForwardView.vue:31 src/views/firewall/RuleView.vue:65 -#: src/views/firewall/ScanView.vue:291 src/views/firewall/ScanView.vue:307 -#: src/views/firewall/ScanView.vue:371 src/views/log/SSHLog.vue:81 -#: src/views/setting/SettingBase.vue:136 src/views/ssh/CreateModal.vue:70 -#: src/views/ssh/UpdateModal.vue:76 src/views/website/CreateModal.vue:224 +#: src/views/firewall/ForwardView.vue:31 +#: src/views/firewall/RuleView.vue:65 +#: src/views/firewall/ScanView.vue:291 +#: src/views/firewall/ScanView.vue:307 +#: src/views/firewall/ScanView.vue:371 +#: src/views/log/SSHLog.vue:81 +#: src/views/setting/SettingBase.vue:136 +#: src/views/ssh/CreateModal.vue:70 +#: src/views/ssh/UpdateModal.vue:76 +#: src/views/website/CreateModal.vue:224 msgid "Port" msgstr "端口" -#: src/views/backup/StorageView.vue:302 src/views/backup/StorageView.vue:450 +#: src/views/backup/StorageView.vue:302 +#: src/views/backup/StorageView.vue:450 msgid "Enter port" msgstr "输入端口" -#: src/views/backup/StorageView.vue:311 src/views/backup/StorageView.vue:459 +#: src/views/backup/StorageView.vue:311 +#: src/views/backup/StorageView.vue:459 msgid "Auth Type" msgstr "认证类型" -#: src/views/backup/StorageView.vue:323 src/views/backup/StorageView.vue:365 -#: src/views/backup/StorageView.vue:471 src/views/backup/StorageView.vue:513 +#: src/views/backup/StorageView.vue:323 +#: src/views/backup/StorageView.vue:365 +#: src/views/backup/StorageView.vue:471 +#: src/views/backup/StorageView.vue:513 #: src/views/container/ImageView.vue:399 #: src/views/database/CreateDatabaseModal.vue:131 #: src/views/database/CreateUserModal.vue:120 @@ -4727,19 +4995,23 @@ msgstr "认证类型" msgid "Enter password" msgstr "输入密码" -#: src/views/backup/StorageView.vue:335 src/views/backup/StorageView.vue:483 +#: src/views/backup/StorageView.vue:335 +#: src/views/backup/StorageView.vue:483 msgid "Enter private key" msgstr "输入私钥" -#: src/views/backup/StorageView.vue:341 src/views/backup/StorageView.vue:489 +#: src/views/backup/StorageView.vue:341 +#: src/views/backup/StorageView.vue:489 msgid "Enter remote path" msgstr "输入远程路径" -#: src/views/backup/StorageView.vue:348 src/views/backup/StorageView.vue:496 +#: src/views/backup/StorageView.vue:348 +#: src/views/backup/StorageView.vue:496 msgid "URL" msgstr "URL" -#: src/views/backup/StorageView.vue:351 src/views/backup/StorageView.vue:499 +#: src/views/backup/StorageView.vue:351 +#: src/views/backup/StorageView.vue:499 msgid "Enter WebDAV URL" msgstr "输入 WebDAV URL" @@ -4751,35 +5023,43 @@ msgstr "编辑存储" msgid "Upload %{ filename } successfully" msgstr "上传 %{ filename } 成功" -#: src/views/backup/UploadModal.vue:50 src/views/file/UploadModal.vue:500 +#: src/views/backup/UploadModal.vue:50 +#: src/views/file/UploadModal.vue:500 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:45 src/views/cert/AccountView.vue:246 +#: src/views/cert/AccountView.vue:45 +#: src/views/cert/AccountView.vue:246 #: src/views/cert/CreateAccountModal.vue:103 -#: src/views/setting/CreateModal.vue:63 src/views/setting/SettingUser.vue:37 +#: src/views/setting/CreateModal.vue:63 +#: src/views/setting/SettingUser.vue:37 msgid "Email" msgstr "邮箱" -#: src/views/cert/AccountView.vue:73 src/views/cert/AccountView.vue:238 -#: src/views/cert/CertView.vue:472 src/views/cert/CreateAccountModal.vue:95 +#: src/views/cert/AccountView.vue:73 +#: src/views/cert/AccountView.vue:238 +#: src/views/cert/CertView.vue:472 +#: src/views/cert/CreateAccountModal.vue:95 #: src/views/cert/CreateCertModal.vue:109 msgid "Key Type" msgstr "密钥类型" -#: src/views/cert/AccountView.vue:102 src/views/cert/CertView.vue:291 -#: src/views/cert/DnsView.vue:90 src/views/database/ServerList.vue:221 -#: src/views/database/UserList.vue:150 src/views/file/PermissionModal.vue:156 +#: src/views/cert/AccountView.vue:102 +#: src/views/cert/CertView.vue:291 +#: src/views/cert/DnsView.vue:90 +#: src/views/database/ServerList.vue:221 +#: src/views/database/UserList.vue:150 +#: src/views/file/PermissionModal.vue:156 #: src/views/setting/TokenModal.vue:71 msgid "Modify" msgstr "修改" -#: src/views/cert/AccountView.vue:110 src/views/cert/CertView.vue:300 +#: src/views/cert/AccountView.vue:110 +#: src/views/cert/CertView.vue:300 #: src/views/cert/DnsView.vue:99 msgid "Deletion successful" msgstr "删除成功" @@ -4788,7 +5068,8 @@ msgstr "删除成功" msgid "Are you sure you want to delete the account?" msgstr "您确定要删除该账户吗?" -#: src/views/cert/AccountView.vue:152 src/views/cert/CreateAccountModal.vue:41 +#: src/views/cert/AccountView.vue:152 +#: src/views/cert/CreateAccountModal.vue:41 msgid "Registering account with CA, please wait patiently" msgstr "正在向 CA 注册账户,请耐心等待" @@ -4796,54 +5077,61 @@ msgstr "正在向 CA 注册账户,请耐心等待" msgid "Modify Account" msgstr "修改账户" -#: src/views/cert/AccountView.vue:218 src/views/cert/CreateAccountModal.vue:75 -msgid "" -"LiteSSL, Google and SSL.com require obtaining EAB (KID and HMAC) from their " -"official websites first" +#: src/views/cert/AccountView.vue:218 +#: src/views/cert/CreateAccountModal.vue:75 +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:224 src/views/cert/CreateAccountModal.vue:81 -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:224 +#: src/views/cert/CreateAccountModal.vue:81 +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:230 src/views/cert/CreateAccountModal.vue:87 +#: src/views/cert/AccountView.vue:230 +#: src/views/cert/CreateAccountModal.vue:87 msgid "CA" msgstr "CA" -#: src/views/cert/AccountView.vue:233 src/views/cert/CreateAccountModal.vue:90 +#: src/views/cert/AccountView.vue:233 +#: src/views/cert/CreateAccountModal.vue:90 msgid "Select CA" msgstr "选择 CA" -#: src/views/cert/AccountView.vue:241 src/views/cert/CertView.vue:475 +#: src/views/cert/AccountView.vue:241 +#: src/views/cert/CertView.vue:475 #: src/views/cert/CreateAccountModal.vue:98 #: src/views/cert/CreateCertModal.vue:112 msgid "Select key type" msgstr "选择密钥类型" -#: src/views/cert/AccountView.vue:251 src/views/cert/CreateAccountModal.vue:108 +#: src/views/cert/AccountView.vue:251 +#: src/views/cert/CreateAccountModal.vue:108 msgid "Enter email address" msgstr "输入电子邮件地址" -#: src/views/cert/AccountView.vue:259 src/views/cert/CreateAccountModal.vue:116 +#: src/views/cert/AccountView.vue:259 +#: src/views/cert/CreateAccountModal.vue:116 msgid "Enter KID" msgstr "输入 KID" -#: src/views/cert/AccountView.vue:267 src/views/cert/CreateAccountModal.vue:124 +#: src/views/cert/AccountView.vue:267 +#: src/views/cert/CreateAccountModal.vue:124 msgid "Enter HMAC" msgstr "输入 HMAC" -#: src/views/cert/CertView.vue:80 src/views/cert/CertView.vue:464 -#: src/views/cert/CreateCertModal.vue:101 src/views/project/CreateModal.vue:661 -#: src/views/website/CreateModal.vue:201 src/views/website/EditModal.vue:828 +#: src/views/cert/CertView.vue:80 +#: src/views/cert/CertView.vue:464 +#: src/views/cert/CreateCertModal.vue:101 +#: src/views/project/CreateModal.vue:661 +#: src/views/website/CreateModal.vue:201 +#: src/views/website/EditModal.vue:828 msgid "Domain" msgstr "域名" -#: src/views/cert/CertView.vue:125 src/views/file/ToolBar.vue:180 -#: src/views/file/UploadModal.vue:465 src/views/monitor/IndexView.vue:596 +#: src/views/cert/CertView.vue:125 +#: src/views/file/ToolBar.vue:180 +#: src/views/file/UploadModal.vue:465 +#: src/views/monitor/IndexView.vue:596 msgid "Upload" msgstr "上传" @@ -4851,12 +5139,15 @@ msgstr "上传" msgid "Associated Account" msgstr "关联账户" -#: src/views/cert/CertView.vue:146 src/views/website/EditModal.vue:1581 +#: src/views/cert/CertView.vue:146 +#: src/views/website/EditModal.vue:1581 msgid "Issuer" msgstr "颁发者" -#: src/views/cert/CertView.vue:155 src/views/setting/TokenModal.vue:45 -#: src/views/setting/TokenModal.vue:266 src/views/setting/TokenModal.vue:299 +#: src/views/cert/CertView.vue:155 +#: src/views/setting/TokenModal.vue:45 +#: src/views/setting/TokenModal.vue:266 +#: src/views/setting/TokenModal.vue:299 msgid "Expiration Time" msgstr "过期时间" @@ -4868,7 +5159,8 @@ msgstr "下次续签时间" msgid "Auto Renewal" msgstr "自动续签" -#: src/views/cert/CertView.vue:207 src/views/website/EditModal.vue:2107 +#: src/views/cert/CertView.vue:207 +#: src/views/website/EditModal.vue:2107 msgid "Issue" msgstr "签发" @@ -4889,57 +5181,63 @@ msgid "Modify Certificate" msgstr "修改证书" #: src/views/cert/CertView.vue:458 -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:483 src/views/cert/CreateCertModal.vue:120 +#: src/views/cert/CertView.vue:483 +#: src/views/cert/CreateCertModal.vue:120 msgid "Select website for certificate deployment" msgstr "选择要部署证书的网站" -#: src/views/cert/CertView.vue:491 src/views/cert/CreateCertModal.vue:125 +#: src/views/cert/CertView.vue:491 +#: src/views/cert/CreateCertModal.vue:125 #: src/views/cert/IndexView.vue:97 msgid "Account" msgstr "账户" -#: src/views/cert/CertView.vue:495 src/views/cert/CreateCertModal.vue:128 +#: src/views/cert/CertView.vue:495 +#: src/views/cert/CreateCertModal.vue:128 msgid "Select account for certificate issuance" msgstr "选择用于证书颁发的账户" -#: src/views/cert/CertView.vue:500 src/views/cert/CreateCertModal.vue:133 -#: src/views/cert/CreateDnsModal.vue:70 src/views/cert/DnsView.vue:208 -#: src/views/cert/IndexView.vue:98 src/views/website/EditModal.vue:2098 +#: src/views/cert/CertView.vue:500 +#: src/views/cert/CreateCertModal.vue:133 +#: src/views/cert/CreateDnsModal.vue:70 +#: src/views/cert/DnsView.vue:208 +#: src/views/cert/IndexView.vue:98 +#: src/views/website/EditModal.vue:2098 msgid "DNS" msgstr "DNS" -#: src/views/cert/CertView.vue:503 src/views/cert/CreateCertModal.vue:136 +#: src/views/cert/CertView.vue:503 +#: src/views/cert/CreateCertModal.vue:136 #: src/views/website/EditModal.vue:2101 msgid "Select DNS for certificate issuance" msgstr "选择用于证书颁发的 DNS" -#: src/views/cert/CertView.vue:510 src/views/cert/CreateCertModal.vue:141 +#: src/views/cert/CertView.vue:510 +#: src/views/cert/CreateCertModal.vue:141 msgid "DNS Alias" msgstr "DNS 别名" -#: src/views/cert/CertView.vue:520 src/views/cert/CreateCertModal.vue:147 +#: src/views/cert/CertView.vue:520 +#: src/views/cert/CreateCertModal.vue:147 msgid "Original domain, e.g. example.com" msgstr "原始域名,例如 example.com" -#: src/views/cert/CertView.vue:526 src/views/cert/CreateCertModal.vue:153 +#: src/views/cert/CertView.vue:526 +#: src/views/cert/CreateCertModal.vue:153 msgid "Alias record, e.g. _acme-challenge.delegated.com" msgstr "别名记录,例如 _acme-challenge.delegated.com" -#: src/views/cert/CertView.vue:541 src/views/cert/UploadCertModal.vue:49 +#: src/views/cert/CertView.vue:541 +#: src/views/cert/UploadCertModal.vue:49 #: src/views/website/EditModal.vue:1648 msgid "Enter the content of the PEM certificate file" msgstr "输入 PEM 证书文件的内容" -#: src/views/cert/CertView.vue:553 src/views/cert/UploadCertModal.vue:57 +#: src/views/cert/CertView.vue:553 +#: src/views/cert/UploadCertModal.vue:57 #: src/views/website/EditModal.vue:1658 msgid "Enter the content of the KEY private key file" msgstr "输入 KEY 私钥文件的内容" @@ -4949,9 +5247,7 @@ msgid "Deployment Script" msgstr "部署脚本" #: src/views/cert/CertView.vue:566 -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:580 @@ -4970,24 +5266,22 @@ msgstr "启用 HTTPS" msgid "View Certificate" msgstr "查看证书" -#: src/views/cert/CreateAccountModal.vue:67 src/views/cert/IndexView.vue:110 +#: src/views/cert/CreateAccountModal.vue:67 +#: src/views/cert/IndexView.vue:110 msgid "Create Account" msgstr "创建账户" -#: src/views/cert/CreateCertModal.vue:86 src/views/cert/IndexView.vue:107 +#: src/views/cert/CreateCertModal.vue:86 +#: src/views/cert/IndexView.vue:107 msgid "Create Certificate" msgstr "创建证书" #: src/views/cert/CreateCertModal.vue:95 -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:55 src/views/cert/IndexView.vue:113 +#: src/views/cert/CreateDnsModal.vue:55 +#: src/views/cert/IndexView.vue:113 msgid "Create DNS" msgstr "创建 DNS" @@ -4999,87 +5293,108 @@ msgstr "备注名称" msgid "Enter comment name" msgstr "输入备注名称" -#: src/views/cert/CreateDnsModal.vue:73 src/views/cert/DnsView.vue:211 +#: src/views/cert/CreateDnsModal.vue:73 +#: src/views/cert/DnsView.vue:211 msgid "Select DNS" msgstr "选择 DNS" -#: src/views/cert/CreateDnsModal.vue:82 src/views/cert/DnsView.vue:220 +#: src/views/cert/CreateDnsModal.vue:82 +#: src/views/cert/DnsView.vue:220 msgid "Enter Aliyun Access Key" msgstr "输入阿里云 Access Key" -#: src/views/cert/CreateDnsModal.vue:89 src/views/cert/DnsView.vue:227 +#: src/views/cert/CreateDnsModal.vue:89 +#: src/views/cert/DnsView.vue:227 msgid "Enter Aliyun Secret Key" msgstr "输入阿里云 Secret Key" -#: src/views/cert/CreateDnsModal.vue:96 src/views/cert/DnsView.vue:234 +#: src/views/cert/CreateDnsModal.vue:96 +#: src/views/cert/DnsView.vue:234 msgid "Enter Tencent Cloud SecretId" msgstr "输入腾讯云 SecretId" -#: src/views/cert/CreateDnsModal.vue:103 src/views/cert/DnsView.vue:241 +#: src/views/cert/CreateDnsModal.vue:103 +#: src/views/cert/DnsView.vue:241 msgid "Enter Tencent Cloud SecretKey" msgstr "输入腾讯云 SecretKey" -#: src/views/cert/CreateDnsModal.vue:110 src/views/cert/DnsView.vue:248 +#: src/views/cert/CreateDnsModal.vue:110 +#: src/views/cert/DnsView.vue:248 msgid "Enter Huawei Cloud AccessKeyId" msgstr "输入华为云 AccessKeyId" -#: src/views/cert/CreateDnsModal.vue:117 src/views/cert/DnsView.vue:255 +#: src/views/cert/CreateDnsModal.vue:117 +#: src/views/cert/DnsView.vue:255 msgid "Enter Huawei Cloud SecretAccessKey" msgstr "输入华为云 SecretAccessKey" -#: src/views/cert/CreateDnsModal.vue:124 src/views/cert/DnsView.vue:262 +#: src/views/cert/CreateDnsModal.vue:124 +#: src/views/cert/DnsView.vue:262 msgid "Enter West.cn Username" msgstr "输入西部数码用户名" -#: src/views/cert/CreateDnsModal.vue:131 src/views/cert/DnsView.vue:269 +#: src/views/cert/CreateDnsModal.vue:131 +#: src/views/cert/DnsView.vue:269 msgid "Enter West.cn API Password" msgstr "输入西部数码 API 密码" -#: src/views/cert/CreateDnsModal.vue:138 src/views/cert/DnsView.vue:276 +#: src/views/cert/CreateDnsModal.vue:138 +#: src/views/cert/DnsView.vue:276 msgid "Enter Cloudflare API Key" msgstr "输入 Cloudflare API 密钥" -#: src/views/cert/CreateDnsModal.vue:145 src/views/cert/DnsView.vue:283 +#: src/views/cert/CreateDnsModal.vue:145 +#: src/views/cert/DnsView.vue:283 msgid "Enter G-Core API Key" msgstr "输入 G-Core API 密钥" -#: src/views/cert/CreateDnsModal.vue:152 src/views/cert/DnsView.vue:290 +#: src/views/cert/CreateDnsModal.vue:152 +#: src/views/cert/DnsView.vue:290 msgid "Enter Porkbun API Key" msgstr "输入 Porkbun API 密钥" -#: src/views/cert/CreateDnsModal.vue:159 src/views/cert/DnsView.vue:297 +#: src/views/cert/CreateDnsModal.vue:159 +#: src/views/cert/DnsView.vue:297 msgid "Enter Porkbun Secret Key" msgstr "输入 Porkbun 密钥" -#: src/views/cert/CreateDnsModal.vue:166 src/views/cert/DnsView.vue:304 +#: src/views/cert/CreateDnsModal.vue:166 +#: src/views/cert/DnsView.vue:304 msgid "Enter NameSilo API Token" msgstr "输入 NameSilo API 令牌" -#: src/views/cert/CreateDnsModal.vue:173 src/views/cert/DnsView.vue:311 +#: src/views/cert/CreateDnsModal.vue:173 +#: src/views/cert/DnsView.vue:311 msgid "Enter ClouDNS Auth ID (use Sub Auth ID by adding sub-prefix)" msgstr "输入 ClouDNS 认证 ID(使用子认证 ID 时添加 sub- 前缀)" -#: src/views/cert/CreateDnsModal.vue:180 src/views/cert/DnsView.vue:318 +#: src/views/cert/CreateDnsModal.vue:180 +#: src/views/cert/DnsView.vue:318 msgid "Enter ClouDNS Auth Password" msgstr "输入 ClouDNS 认证密码" -#: src/views/cert/CreateDnsModal.vue:183 src/views/cert/DnsView.vue:321 +#: src/views/cert/CreateDnsModal.vue:183 +#: src/views/cert/DnsView.vue:321 msgid "DNS Server" msgstr "DNS 服务器" -#: src/views/cert/CreateDnsModal.vue:187 src/views/cert/DnsView.vue:325 +#: src/views/cert/CreateDnsModal.vue:187 +#: src/views/cert/DnsView.vue:325 msgid "DNS server for propagation check, e.g. 8.8.8.8" msgstr "用于生效检查的 DNS 服务器,例如 8.8.8.8" -#: src/views/cert/CreateDnsModal.vue:190 src/views/cert/DnsView.vue:328 +#: src/views/cert/CreateDnsModal.vue:190 +#: src/views/cert/DnsView.vue:328 msgid "Skip DNS Verification" msgstr "跳过 DNS 验证" -#: src/views/cert/CreateDnsModal.vue:193 src/views/cert/DnsView.vue:331 +#: src/views/cert/CreateDnsModal.vue:193 +#: src/views/cert/DnsView.vue:331 msgid "For intranet environments, will wait 60s instead of polling DNS" msgstr "在内网环境中,将等待 60 秒而不是轮询 DNS" -#: src/views/cert/DnsView.vue:34 src/views/cert/DnsView.vue:201 +#: src/views/cert/DnsView.vue:34 +#: src/views/cert/DnsView.vue:201 msgid "Note Name" msgstr "备注名称" @@ -5095,7 +5410,8 @@ msgstr "修改 DNS" msgid "Enter note name" msgstr "输入备注名称" -#: src/views/cert/IndexView.vue:104 src/views/cert/UploadCertModal.vue:37 +#: src/views/cert/IndexView.vue:104 +#: src/views/cert/UploadCertModal.vue:37 msgid "Upload Certificate" msgstr "上传证书" @@ -5107,16 +5423,19 @@ msgstr "自动" msgid "Self-signed" msgstr "自签名" -#: src/views/cert/ObtainModal.vue:66 src/views/cert/ObtainModal.vue:169 +#: src/views/cert/ObtainModal.vue:66 +#: src/views/cert/ObtainModal.vue:169 msgid "Renewal successful" msgstr "续签成功" -#: src/views/cert/ObtainModal.vue:67 src/views/cert/ObtainModal.vue:109 +#: src/views/cert/ObtainModal.vue:67 +#: src/views/cert/ObtainModal.vue:109 #: src/views/cert/ObtainModal.vue:170 msgid "Issuance successful" msgstr "签发成功" -#: src/views/cert/ObtainModal.vue:83 src/views/cert/ObtainModal.vue:89 +#: src/views/cert/ObtainModal.vue:83 +#: src/views/cert/ObtainModal.vue:89 msgid "WebSocket connection failed" msgstr "WebSocket 连接失败" @@ -5132,11 +5451,15 @@ msgstr "签发证书" msgid "Issuance Mode" msgstr "签发模式" -#: src/views/container/ComposeView.vue:91 src/views/container/ImageView.vue:75 +#: src/views/container/ComposeView.vue:91 +#: src/views/container/ImageView.vue:75 #: src/views/container/NetworkView.vue:101 -#: src/views/container/VolumeView.vue:55 src/views/setting/PasskeyModal.vue:30 -#: src/views/setting/SettingUser.vue:76 src/views/setting/TokenModal.vue:36 -#: src/views/task/CronView.vue:98 src/views/task/TaskView.vue:47 +#: src/views/container/VolumeView.vue:55 +#: src/views/setting/PasskeyModal.vue:30 +#: src/views/setting/SettingUser.vue:76 +#: src/views/setting/TokenModal.vue:36 +#: src/views/task/CronView.vue:98 +#: src/views/task/TaskView.vue:47 #: src/views/toolbox/WebHookView.vue:123 msgid "Creation Time" msgstr "创建时间" @@ -5183,7 +5506,8 @@ msgid "Are you sure you want to delete the selected composes?" msgstr "您确定要删除所选的编排吗?" #: src/views/container/ComposeView.vue:364 -#: src/views/container/ComposeView.vue:390 src/views/container/IndexView.vue:23 +#: src/views/container/ComposeView.vue:390 +#: src/views/container/IndexView.vue:23 msgid "Compose" msgstr "编排" @@ -5311,9 +5635,7 @@ msgid "Container End" msgstr "容器结束" #: src/views/container/ContainerCreate.vue:329 -msgid "" -"All exposed ports in the image will be automatically mapped to random host " -"ports." +msgid "All exposed ports in the image will be automatically mapped to random host ports." msgstr "镜像中的所有暴露端口将自动映射到随机主机端口。" #: src/views/container/ContainerCreate.vue:338 @@ -5334,9 +5656,7 @@ msgid "Container path" msgstr "容器路径" #: src/views/container/ContainerCreate.vue:371 -msgid "" -"Mount host directories or volumes into the container. Use absolute paths for " -"host directories." +msgid "Mount host directories or volumes into the container. Use absolute paths for host directories." msgstr "将主机目录或卷挂载到容器中。主机目录需使用绝对路径。" #: src/views/container/ContainerCreate.vue:380 @@ -5345,9 +5665,7 @@ msgid "Resource Limits" msgstr "资源限制" #: src/views/container/ContainerCreate.vue:384 -msgid "" -"Set resource limits to prevent the container from consuming too many system " -"resources. Set to 0 for no limit." +msgid "Set resource limits to prevent the container from consuming too many system resources. Set to 0 for no limit." msgstr "设置资源限制以防止容器消耗过多系统资源。设置为 0 表示无限制。" #: src/views/container/ContainerCreate.vue:392 @@ -5379,17 +5697,12 @@ msgid "Maximum memory the container can use, in MB. 0 means no limit." msgstr "容器可以使用的最大内存,单位为 MB。0 表示无限制。" #: src/views/container/ContainerCreate.vue:433 -msgid "" -"Number of CPU cores the container can use. 0.5 means half a core, 2 means 2 " -"cores." +msgid "Number of CPU cores the container can use. 0.5 means half a core, 2 means 2 cores." msgstr "容器可以使用的 CPU 核心数。0.5 意味着半个核心,2 意味着 2 个核心。" #: src/views/container/ContainerCreate.vue:440 -msgid "" -"Relative CPU weight. Default is 1024. Higher values get more CPU time when " -"competing." -msgstr "" -"相对 CPU 权重。默认值为 1024。当竞争时,更高的值会获得更多的 CPU 时间。" +msgid "Relative CPU weight. Default is 1024. Higher values get more CPU time when competing." +msgstr "相对 CPU 权重。默认值为 1024。当竞争时,更高的值会获得更多的 CPU 时间。" #: src/views/container/ContainerCreate.vue:452 #: src/views/toolbox/MigrationView.vue:469 @@ -5410,8 +5723,10 @@ msgstr "变量值" msgid "Startup Commands" msgstr "启动命令" -#: src/views/container/ContainerCreate.vue:480 src/views/home/IndexView.vue:661 -#: src/views/home/IndexView.vue:762 src/views/monitor/IndexView.vue:335 +#: src/views/container/ContainerCreate.vue:480 +#: src/views/home/IndexView.vue:661 +#: src/views/home/IndexView.vue:762 +#: src/views/monitor/IndexView.vue:335 #: src/views/monitor/IndexView.vue:347 msgid "Command" msgstr "命令" @@ -5473,7 +5788,8 @@ msgstr "暂停" msgid "Resume" msgstr "恢复" -#: src/views/container/ContainerView.vue:229 src/views/file/ListView.vue:1568 +#: src/views/container/ContainerView.vue:229 +#: src/views/file/ListView.vue:1568 msgid "More" msgstr "更多" @@ -5566,9 +5882,12 @@ msgstr "重试" msgid "Container Count" msgstr "容器数量" -#: src/views/container/ImageView.vue:99 src/views/container/NetworkView.vue:125 -#: src/views/container/VolumeView.vue:79 src/views/firewall/ForwardView.vue:92 -#: src/views/firewall/IpRuleView.vue:134 src/views/firewall/RuleView.vue:238 +#: src/views/container/ImageView.vue:99 +#: src/views/container/NetworkView.vue:125 +#: src/views/container/VolumeView.vue:79 +#: src/views/firewall/ForwardView.vue:92 +#: src/views/firewall/IpRuleView.vue:134 +#: src/views/firewall/RuleView.vue:238 #: src/views/task/TaskView.vue:96 msgid "Are you sure you want to delete?" msgstr "您确定要删除吗?" @@ -5577,7 +5896,8 @@ msgstr "您确定要删除吗?" msgid "Pull successful" msgstr "拉取成功" -#: src/views/container/ImageView.vue:267 src/views/container/ImageView.vue:305 +#: src/views/container/ImageView.vue:267 +#: src/views/container/ImageView.vue:305 msgid "Pull Image" msgstr "拉取镜像" @@ -5615,11 +5935,13 @@ msgstr "网络" #: src/views/container/NetworkView.vue:53 #: src/views/container/NetworkView.vue:256 -#: src/views/container/VolumeView.vue:34 src/views/container/VolumeView.vue:209 +#: src/views/container/VolumeView.vue:34 +#: src/views/container/VolumeView.vue:209 msgid "Driver" msgstr "驱动" -#: src/views/container/NetworkView.vue:60 src/views/container/VolumeView.vue:41 +#: src/views/container/NetworkView.vue:60 +#: src/views/container/VolumeView.vue:41 #: src/views/website/EditModal.vue:1972 msgid "Scope" msgstr "范围" @@ -5699,8 +6021,10 @@ msgstr "选项名称" msgid "Option Value" msgstr "选项值" -#: src/views/container/VolumeView.vue:48 src/views/home/IndexView.vue:805 -#: src/views/toolbox/DiskView.vue:328 src/views/toolbox/DiskView.vue:826 +#: src/views/container/VolumeView.vue:48 +#: src/views/home/IndexView.vue:805 +#: src/views/toolbox/DiskView.vue:328 +#: src/views/toolbox/DiskView.vue:826 msgid "Mount Point" msgstr "挂载点" @@ -5822,12 +6146,12 @@ msgstr "输入数据库服务器备注" #: src/views/database/CreateUserModal.vue:93 #: src/views/database/UpdateUserModal.vue:58 -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:143 -#: src/views/database/UpdateUserModal.vue:71 src/views/database/UserList.vue:80 +#: src/views/database/UpdateUserModal.vue:71 +#: src/views/database/UserList.vue:80 msgid "Privileges" msgstr "权限" @@ -5961,7 +6285,8 @@ msgstr "设置 TTL" msgid "-1 means no expiration" msgstr "-1 表示永不过期" -#: src/views/database/RedisKeyModal.vue:89 src/views/toolbox/SshView.vue:298 +#: src/views/database/RedisKeyModal.vue:89 +#: src/views/toolbox/SshView.vue:298 msgid "View Key" msgstr "查看密钥" @@ -5991,22 +6316,23 @@ msgstr "输入 JSON 值" msgid "Unsupported database type" msgstr "不支持的数据库类型" -#: src/views/database/ServerList.vue:145 src/views/database/UserList.vue:119 +#: src/views/database/ServerList.vue:145 +#: src/views/database/UserList.vue:119 msgid "Valid" msgstr "有效" -#: src/views/database/ServerList.vue:145 src/views/database/UserList.vue:119 +#: src/views/database/ServerList.vue:145 +#: src/views/database/UserList.vue:119 msgid "Invalid" msgstr "无效" -#: src/views/database/ServerList.vue:183 src/views/toolbox/SystemView.vue:122 +#: src/views/database/ServerList.vue:183 +#: src/views/toolbox/SystemView.vue:122 msgid "Synchronized successfully" msgstr "同步成功" #: src/views/database/ServerList.vue:189 -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:202 @@ -6014,9 +6340,7 @@ msgid "Sync" msgstr "同步" #: src/views/database/ServerList.vue:231 -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:242 @@ -6039,7 +6363,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:149 @@ -6047,7 +6372,8 @@ msgstr "您确定要删除该用户吗?" msgid "Set successfully" msgstr "设置成功" -#: src/views/environment/DotnetView.vue:27 src/views/environment/GoView.vue:64 +#: src/views/environment/DotnetView.vue:27 +#: src/views/environment/GoView.vue:64 #: src/views/environment/JavaView.vue:27 #: src/views/environment/NodejsView.vue:67 #: src/views/environment/PHPView.vue:216 @@ -6056,11 +6382,8 @@ msgid "Set as CLI Default Version" msgstr "设置为 CLI 默认版本" #: src/views/environment/DotnetView.vue:31 -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)" @@ -6070,11 +6393,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)" @@ -6084,9 +6409,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 @@ -6098,12 +6421,8 @@ msgid "Select or enter proxy address" msgstr "选择或输入代理地址" #: src/views/environment/JavaView.vue:31 -msgid "" -"Amazon Corretto is a no-cost, multiplatform, production-ready distribution " -"of the Open Java Development Kit (OpenJDK)." -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)" @@ -6122,9 +6441,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 @@ -6169,12 +6486,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" @@ -6185,9 +6498,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 @@ -6215,8 +6526,7 @@ msgid "Timeout Limits" msgstr "超时限制" #: src/views/environment/PhpConfigTuneView.vue:393 -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:397 @@ -6241,8 +6551,7 @@ msgid "e.g. 1000" msgstr "例如 1000" #: src/views/environment/PhpConfigTuneView.vue:438 -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:442 @@ -6270,12 +6579,8 @@ msgid "Max Spare Servers (pm.max_spare_servers)" msgstr "最大空闲服务器数(pm.max_spare_servers)" #: src/views/environment/PhpConfigTuneView.vue:494 -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:500 msgid "Save Handler (session.save_handler)" @@ -6346,24 +6651,16 @@ msgid "View PHPInfo" msgstr "查看 PHPInfo" #: src/views/environment/PHPView.vue:247 -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:261 msgid "FPM Configuration" msgstr "FPM 配置" #: src/views/environment/PHPView.vue:265 -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:302 msgid "Slow Logs" @@ -6390,9 +6687,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 @@ -6433,8 +6728,10 @@ msgstr "名称不能为空" msgid "Canceled" msgstr "已取消" -#: src/views/file/composables/usePaste.ts:130 src/views/file/ListView.vue:239 -#: src/views/file/ListView.vue:774 src/views/file/ListView.vue:842 +#: src/views/file/composables/usePaste.ts:130 +#: src/views/file/ListView.vue:239 +#: src/views/file/ListView.vue:774 +#: src/views/file/ListView.vue:842 msgid "Warning" msgstr "警告" @@ -6442,7 +6739,8 @@ msgstr "警告" msgid "There are items with the same name %{ items } Do you want to overwrite?" msgstr "存在同名项目 %{ items } 是否要覆盖?" -#: src/views/file/composables/usePaste.ts:167 src/views/file/ListView.vue:776 +#: src/views/file/composables/usePaste.ts:167 +#: src/views/file/ListView.vue:776 msgid "Overwrite" msgstr "覆盖" @@ -6454,9 +6752,12 @@ msgstr "压缩中……" msgid "Compressed successfully" msgstr "压缩成功" -#: src/views/file/CompressModal.vue:73 src/views/file/CompressModal.vue:105 -#: src/views/file/ListView.vue:309 src/views/file/ListView.vue:345 -#: src/views/file/ListView.vue:954 src/views/file/ListView.vue:1538 +#: src/views/file/CompressModal.vue:73 +#: src/views/file/CompressModal.vue:105 +#: src/views/file/ListView.vue:309 +#: src/views/file/ListView.vue:345 +#: src/views/file/ListView.vue:954 +#: src/views/file/ListView.vue:1538 #: src/views/file/ToolBar.vue:215 msgid "Compress" msgstr "压缩" @@ -6486,55 +6787,63 @@ msgid "File Editor" msgstr "文件编辑器" #: src/views/file/ListView.vue:240 -msgid "" -"%{ name } has immutable attribute. The panel will temporarily remove the " -"immutable attribute, perform the operation, and then restore the immutable " -"attribute. Do you want to continue?" -msgstr "" -"%{ name } 具有不可变属性。面板将暂时移除不可变属性,执行操作,然后恢复不可变" -"属性。您要继续吗?" +msgid "%{ name } has immutable attribute. The panel will temporarily remove the immutable attribute, perform the operation, and then restore the immutable attribute. Do you want to continue?" +msgstr "%{ name } 具有不可变属性。面板将暂时移除不可变属性,执行操作,然后恢复不可变属性。您要继续吗?" -#: src/views/file/ListView.vue:244 src/views/file/UploadModal.vue:339 +#: src/views/file/ListView.vue:244 +#: src/views/file/UploadModal.vue:339 #: src/views/file/UploadModal.vue:449 msgid "Continue" msgstr "继续" -#: src/views/file/ListView.vue:297 src/views/file/ListView.vue:315 -#: src/views/file/ListView.vue:359 src/views/file/ToolBar.vue:210 +#: src/views/file/ListView.vue:297 +#: src/views/file/ListView.vue:315 +#: src/views/file/ListView.vue:359 +#: src/views/file/ToolBar.vue:210 msgid "Paste" msgstr "粘贴" -#: src/views/file/ListView.vue:308 src/views/file/ListView.vue:342 -#: src/views/file/ListView.vue:952 src/views/file/ToolBar.vue:214 +#: src/views/file/ListView.vue:308 +#: src/views/file/ListView.vue:342 +#: src/views/file/ListView.vue:952 +#: src/views/file/ToolBar.vue:214 msgid "Move" msgstr "移动" -#: src/views/file/ListView.vue:310 src/views/file/ListView.vue:343 -#: src/views/file/ListView.vue:953 src/views/file/ListView.vue:1356 -#: src/views/file/PermissionModal.vue:146 src/views/file/PropertyModal.vue:42 +#: src/views/file/ListView.vue:310 +#: src/views/file/ListView.vue:343 +#: src/views/file/ListView.vue:953 +#: src/views/file/ListView.vue:1356 +#: src/views/file/PermissionModal.vue:146 +#: src/views/file/PropertyModal.vue:42 #: src/views/file/ToolBar.vue:216 msgid "Permission" msgstr "权限" -#: src/views/file/ListView.vue:327 src/views/file/ListView.vue:1525 +#: src/views/file/ListView.vue:327 +#: src/views/file/ListView.vue:1525 msgid "Open" msgstr "打开" -#: src/views/file/ListView.vue:329 src/views/file/ListView.vue:1544 +#: src/views/file/ListView.vue:329 +#: src/views/file/ListView.vue:1544 msgid "Preview" msgstr "预览" -#: src/views/file/ListView.vue:331 src/views/file/ListView.vue:959 +#: src/views/file/ListView.vue:331 +#: src/views/file/ListView.vue:959 #: src/views/file/ListView.vue:1648 msgid "Uncompress" msgstr "解压" -#: src/views/file/ListView.vue:354 src/views/file/ListView.vue:969 +#: src/views/file/ListView.vue:354 +#: src/views/file/ListView.vue:969 #: src/views/file/PropertyModal.vue:11 msgid "Properties" msgstr "属性" -#: src/views/file/ListView.vue:685 src/views/file/ToolBar.vue:77 +#: src/views/file/ListView.vue:685 +#: src/views/file/ToolBar.vue:77 #: src/views/file/ToolBar.vue:96 msgid "Marked successfully, please navigate to the destination path to paste" msgstr "标记成功,请导航到目标路径进行粘贴" @@ -6543,7 +6852,8 @@ msgstr "标记成功,请导航到目标路径进行粘贴" msgid "There are items with the same name. Do you want to overwrite?" msgstr "存在同名项目。您要覆盖吗?" -#: src/views/file/ListView.vue:783 src/views/file/ListView.vue:802 +#: src/views/file/ListView.vue:783 +#: src/views/file/ListView.vue:802 msgid "Renamed %{ source } to %{ target } successfully" msgstr "成功将 %{ source } 重命名为 %{ target }" @@ -6555,7 +6865,8 @@ msgstr "某些文件是不可变的,无法删除" msgid "Are you sure you want to delete %{count} items?" msgstr "您确定要删除 %{count} 项吗?" -#: src/views/file/ListView.vue:862 src/views/file/PathInput.vue:34 +#: src/views/file/ListView.vue:862 +#: src/views/file/PathInput.vue:34 msgid "Path copied to clipboard" msgstr "路径已复制到剪贴板" @@ -6595,7 +6906,8 @@ msgstr "解压 - %{ file }" msgid "Uncompress to" msgstr "解压到" -#: src/views/file/ListView.vue:1656 src/views/file/ToolBar.vue:260 +#: src/views/file/ListView.vue:1656 +#: src/views/file/ToolBar.vue:260 msgid "Terminal - %{ path }" msgstr "终端 - %{ path }" @@ -6644,22 +6956,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:211 -#: src/views/home/IndexView.vue:227 src/views/home/IndexView.vue:999 +#: src/views/file/PermissionModal.vue:139 +#: src/views/home/IndexView.vue:211 +#: src/views/home/IndexView.vue:227 +#: src/views/home/IndexView.vue:999 #: 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:211 -#: src/views/home/IndexView.vue:251 src/views/home/IndexView.vue:1000 +#: src/views/file/PermissionModal.vue:140 +#: src/views/home/IndexView.vue:211 +#: src/views/home/IndexView.vue:251 +#: src/views/home/IndexView.vue:1000 #: src/views/monitor/IndexView.vue:648 msgid "Write" msgstr "写入" @@ -6699,8 +7016,7 @@ msgid "Immutable" msgstr "不可变" #: src/views/file/ToolBar.vue:54 -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:64 @@ -6715,7 +7031,8 @@ msgstr "请选择要移动的文件/文件夹" msgid "Sort" msgstr "排序" -#: src/views/file/ToolBar.vue:181 src/views/file/ToolBar.vue:232 +#: src/views/file/ToolBar.vue:181 +#: src/views/file/ToolBar.vue:232 msgid "Remote Download" msgstr "远程下载" @@ -6739,18 +7056,19 @@ msgstr "下载 URL" msgid "Save as" msgstr "另存为" -#: src/views/file/UploadModal.vue:306 src/views/file/UploadModal.vue:409 +#: src/views/file/UploadModal.vue:306 +#: src/views/file/UploadModal.vue:409 msgid "Upload %{ fileName } successful" msgstr "上传 %{ fileName } 成功" -#: src/views/file/UploadModal.vue:334 src/views/file/UploadModal.vue:444 +#: src/views/file/UploadModal.vue:334 +#: src/views/file/UploadModal.vue:444 msgid "Confirm Upload" msgstr "确认上传" -#: src/views/file/UploadModal.vue:335 src/views/file/UploadModal.vue:445 -msgid "" -"You are about to upload %{count} files. This may take a while. Do you want " -"to continue?" +#: src/views/file/UploadModal.vue:335 +#: src/views/file/UploadModal.vue:445 +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:474 @@ -6762,8 +7080,7 @@ msgid "Preparing..." msgstr "准备中……" #: src/views/file/UploadModal.vue:503 -msgid "" -"For large files, it is recommended to use SFTP and other methods to upload" +msgid "For large files, it is recommended to use SFTP and other methods to upload" msgstr "对于大文件,建议使用 SFTP 等方法上传" #: src/views/firewall/CreateForwardModal.vue:55 @@ -6773,8 +7090,10 @@ msgstr "创建转发" #: src/views/firewall/CreateForwardModal.vue:63 #: src/views/firewall/CreateIpModal.vue:103 -#: src/views/firewall/CreateModal.vue:115 src/views/firewall/ForwardView.vue:14 -#: src/views/firewall/IpRuleView.vue:14 src/views/firewall/RuleView.vue:31 +#: src/views/firewall/CreateModal.vue:115 +#: src/views/firewall/ForwardView.vue:14 +#: src/views/firewall/IpRuleView.vue:14 +#: src/views/firewall/RuleView.vue:31 msgid "Transport Protocol" msgstr "传输协议" @@ -6793,25 +7112,29 @@ msgid "Target Port" msgstr "目标端口" #: src/views/firewall/CreateIpModal.vue:38 -#: src/views/firewall/CreateModal.vue:38 src/views/firewall/IpRuleView.vue:68 +#: src/views/firewall/CreateModal.vue:38 +#: src/views/firewall/IpRuleView.vue:68 #: src/views/firewall/RuleView.vue:169 msgid "Accept" msgstr "接受" #: src/views/firewall/CreateIpModal.vue:42 -#: src/views/firewall/CreateModal.vue:42 src/views/firewall/IpRuleView.vue:70 +#: src/views/firewall/CreateModal.vue:42 +#: src/views/firewall/IpRuleView.vue:70 #: src/views/firewall/RuleView.vue:171 msgid "Drop" msgstr "丢弃" #: src/views/firewall/CreateIpModal.vue:46 -#: src/views/firewall/CreateModal.vue:46 src/views/firewall/IpRuleView.vue:72 +#: src/views/firewall/CreateModal.vue:46 +#: src/views/firewall/IpRuleView.vue:72 #: src/views/firewall/RuleView.vue:173 msgid "Reject" msgstr "拒绝" #: src/views/firewall/CreateIpModal.vue:53 -#: src/views/firewall/CreateModal.vue:53 src/views/firewall/IpRuleView.vue:97 +#: src/views/firewall/CreateModal.vue:53 +#: src/views/firewall/IpRuleView.vue:97 #: src/views/firewall/RuleView.vue:198 #: src/views/website/stats/OverviewTab.vue:390 #: src/views/website/stats/OverviewTab.vue:424 @@ -6821,7 +7144,8 @@ msgid "Inbound" msgstr "入站" #: src/views/firewall/CreateIpModal.vue:57 -#: src/views/firewall/CreateModal.vue:57 src/views/firewall/IpRuleView.vue:99 +#: src/views/firewall/CreateModal.vue:57 +#: src/views/firewall/IpRuleView.vue:99 #: src/views/firewall/RuleView.vue:200 #: src/views/website/stats/OverviewTab.vue:388 #: src/views/website/stats/OverviewTab.vue:389 @@ -6837,13 +7161,15 @@ msgid "%{ address } created successfully" msgstr "%{ address } 创建成功" #: src/views/firewall/CreateIpModal.vue:95 -#: src/views/firewall/CreateModal.vue:107 src/views/firewall/IpRuleView.vue:205 +#: src/views/firewall/CreateModal.vue:107 +#: src/views/firewall/IpRuleView.vue:205 #: src/views/firewall/RuleView.vue:309 msgid "Create Rule" msgstr "创建规则" #: src/views/firewall/CreateIpModal.vue:106 -#: src/views/firewall/CreateModal.vue:118 src/views/firewall/IpRuleView.vue:31 +#: src/views/firewall/CreateModal.vue:118 +#: src/views/firewall/IpRuleView.vue:31 #: src/views/firewall/RuleView.vue:48 msgid "Network Protocol" msgstr "网络协议" @@ -6858,13 +7184,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:116 -#: src/views/firewall/CreateModal.vue:150 src/views/firewall/IpRuleView.vue:48 +#: src/views/firewall/CreateModal.vue:150 +#: src/views/firewall/IpRuleView.vue:48 #: src/views/firewall/RuleView.vue:149 msgid "Strategy" msgstr "策略" #: src/views/firewall/CreateIpModal.vue:119 -#: src/views/firewall/CreateModal.vue:153 src/views/firewall/IpRuleView.vue:84 +#: src/views/firewall/CreateModal.vue:153 +#: src/views/firewall/IpRuleView.vue:84 #: src/views/firewall/RuleView.vue:185 msgid "Direction" msgstr "方向" @@ -6877,17 +7205,21 @@ msgstr "起始端口" msgid "End Port" msgstr "结束端口" -#: src/views/firewall/CreateModal.vue:143 src/views/firewall/IpRuleView.vue:109 -#: src/views/firewall/RuleView.vue:210 src/views/website/EditModal.vue:1739 +#: src/views/firewall/CreateModal.vue:143 +#: src/views/firewall/IpRuleView.vue:109 +#: src/views/firewall/RuleView.vue:210 +#: src/views/website/EditModal.vue:1739 msgid "Target" msgstr "目标" -#: src/views/firewall/ForwardView.vue:135 src/views/firewall/IpRuleView.vue:177 +#: src/views/firewall/ForwardView.vue:135 +#: src/views/firewall/IpRuleView.vue:177 #: src/views/firewall/RuleView.vue:281 msgid "Please select rules to delete" msgstr "请选择要删除的规则" -#: src/views/firewall/ForwardView.vue:171 src/views/firewall/IpRuleView.vue:213 +#: src/views/firewall/ForwardView.vue:171 +#: src/views/firewall/IpRuleView.vue:213 #: src/views/firewall/RuleView.vue:317 msgid "Are you sure you want to delete the selected rules?" msgstr "您确定要删除所选规则吗?" @@ -6904,11 +7236,13 @@ msgstr "IP 规则" msgid "Port Forwarding" msgstr "端口转发" -#: src/views/firewall/IndexView.vue:24 src/views/firewall/SettingView.vue:95 +#: src/views/firewall/IndexView.vue:24 +#: src/views/firewall/SettingView.vue:95 msgid "Scan Awareness" msgstr "扫描感知" -#: src/views/firewall/IpRuleView.vue:74 src/views/firewall/RuleView.vue:175 +#: src/views/firewall/IpRuleView.vue:74 +#: src/views/firewall/RuleView.vue:175 msgid "Mark" msgstr "标记" @@ -6916,7 +7250,8 @@ msgstr "标记" msgid "Not Used" msgstr "未使用" -#: src/views/firewall/RuleView.vue:104 src/views/toolbox/PanelView.vue:153 +#: src/views/firewall/RuleView.vue:104 +#: src/views/toolbox/PanelView.vue:153 msgid "In Use" msgstr "使用中" @@ -6924,14 +7259,19 @@ msgstr "使用中" msgid "No process information" msgstr "没有进程信息" -#: src/views/firewall/ScanView.vue:191 src/views/firewall/ScanView.vue:209 -#: src/views/firewall/ScanView.vue:221 src/views/firewall/ScanView.vue:279 -#: src/views/firewall/ScanView.vue:293 src/views/firewall/ScanView.vue:309 +#: src/views/firewall/ScanView.vue:191 +#: src/views/firewall/ScanView.vue:209 +#: src/views/firewall/ScanView.vue:221 +#: src/views/firewall/ScanView.vue:279 +#: src/views/firewall/ScanView.vue:293 +#: src/views/firewall/ScanView.vue:309 msgid "Scan Count" msgstr "扫描次数" -#: src/views/firewall/ScanView.vue:191 src/views/firewall/ScanView.vue:214 -#: src/views/firewall/ScanView.vue:227 src/views/firewall/ScanView.vue:428 +#: src/views/firewall/ScanView.vue:191 +#: src/views/firewall/ScanView.vue:214 +#: src/views/firewall/ScanView.vue:227 +#: src/views/firewall/ScanView.vue:428 msgid "Source IPs" msgstr "源 IP 数" @@ -6949,13 +7289,16 @@ msgctxt "firewall" msgid "Block" msgstr "阻止" -#: src/views/firewall/ScanView.vue:270 src/views/firewall/ScanView.vue:298 +#: src/views/firewall/ScanView.vue:270 +#: src/views/firewall/ScanView.vue:298 #: src/views/log/SSHLog.vue:76 msgid "Source IP" msgstr "源 IP" -#: src/views/firewall/ScanView.vue:272 src/views/firewall/ScanView.vue:300 -#: src/views/firewall/ScanView.vue:381 src/views/website/stats/IPsTab.vue:122 +#: src/views/firewall/ScanView.vue:272 +#: src/views/firewall/ScanView.vue:300 +#: src/views/firewall/ScanView.vue:381 +#: src/views/website/stats/IPsTab.vue:122 msgid "Location" msgstr "位置" @@ -6963,7 +7306,8 @@ msgstr "位置" msgid "Port Count" msgstr "端口数" -#: src/views/firewall/ScanView.vue:282 src/views/firewall/ScanView.vue:317 +#: src/views/firewall/ScanView.vue:282 +#: src/views/firewall/ScanView.vue:317 msgid "Last Seen" msgstr "最后记录" @@ -6980,11 +7324,11 @@ msgid "Scan Awareness Disabled" msgstr "扫描感知已禁用" #: src/views/firewall/ScanView.vue:339 -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:347 src/views/website/StatsView.vue:191 +#: src/views/firewall/ScanView.vue:347 +#: src/views/website/StatsView.vue:191 msgid "Overview" msgstr "概览" @@ -6996,7 +7340,8 @@ msgstr "扫描事件" msgid "Search IP" msgstr "搜索 IP" -#: src/views/firewall/ScanView.vue:390 src/views/website/StatsView.vue:181 +#: src/views/firewall/ScanView.vue:390 +#: src/views/website/StatsView.vue:181 msgid "Clear Data" msgstr "清除数据" @@ -7024,7 +7369,8 @@ msgstr "源 IP 前 10" msgid "Top 10 Scanned Ports" msgstr "扫描端口前 10" -#: src/views/firewall/SettingView.vue:21 src/views/firewall/SettingView.vue:27 +#: src/views/firewall/SettingView.vue:21 +#: src/views/firewall/SettingView.vue:27 #: src/views/firewall/SettingView.vue:78 msgid "Settings saved successfully" msgstr "设置保存成功" @@ -7085,17 +7431,22 @@ msgstr "运行正常" msgid "Running smoothly" msgstr "运行流畅" -#: src/views/home/IndexView.vue:187 src/views/home/IndexView.vue:955 -#: src/views/home/IndexView.vue:975 src/views/toolbox/BenchmarkView.vue:203 -#: src/views/toolbox/DiskView.vue:802 src/views/toolbox/IndexView.vue:30 +#: src/views/home/IndexView.vue:187 +#: src/views/home/IndexView.vue:955 +#: src/views/home/IndexView.vue:975 +#: src/views/toolbox/BenchmarkView.vue:203 +#: src/views/toolbox/DiskView.vue:802 +#: src/views/toolbox/IndexView.vue:30 msgid "Disk" msgstr "磁盘" -#: src/views/home/IndexView.vue:210 src/views/home/IndexView.vue:227 +#: src/views/home/IndexView.vue:210 +#: src/views/home/IndexView.vue:227 msgid "Send" msgstr "发送" -#: src/views/home/IndexView.vue:210 src/views/home/IndexView.vue:251 +#: src/views/home/IndexView.vue:210 +#: src/views/home/IndexView.vue:251 msgid "Receive" msgstr "接收" @@ -7103,20 +7454,26 @@ msgstr "接收" msgid "Unit %{unit}" msgstr "单位 %{unit}" -#: src/views/home/IndexView.vue:233 src/views/home/IndexView.vue:257 -#: src/views/monitor/IndexView.vue:433 src/views/monitor/IndexView.vue:502 +#: src/views/home/IndexView.vue:233 +#: src/views/home/IndexView.vue:257 +#: 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:234 src/views/home/IndexView.vue:258 -#: src/views/monitor/IndexView.vue:434 src/views/monitor/IndexView.vue:503 +#: src/views/home/IndexView.vue:234 +#: src/views/home/IndexView.vue:258 +#: 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:238 src/views/home/IndexView.vue:262 -#: src/views/monitor/IndexView.vue:438 src/views/monitor/IndexView.vue:507 +#: src/views/home/IndexView.vue:238 +#: src/views/home/IndexView.vue:262 +#: src/views/monitor/IndexView.vue:438 +#: src/views/monitor/IndexView.vue:507 #: src/views/monitor/IndexView.vue:569 msgid "Average" msgstr "平均值" @@ -7137,7 +7494,8 @@ msgstr "服务器重启中……" msgid "Restart Panel" msgstr "重启面板" -#: src/views/home/IndexView.vue:393 src/views/home/IndexView.vue:1024 +#: src/views/home/IndexView.vue:393 +#: src/views/home/IndexView.vue:1024 msgid "Restart Server" msgstr "重启服务器" @@ -7146,24 +7504,15 @@ msgid "Current version is the latest" msgstr "当前版本是最新版本" #: src/views/home/IndexView.vue:500 -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:511 -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:542 src/views/task/IndexView.vue:24 +#: src/views/home/IndexView.vue:542 +#: src/views/task/IndexView.vue:24 msgid "Scheduled Tasks" msgstr "计划任务" @@ -7191,7 +7540,8 @@ msgstr "最近 15 分钟" msgid "cores" msgstr "核心" -#: src/views/home/IndexView.vue:616 src/views/toolbox/disk/RaidView.vue:111 +#: src/views/home/IndexView.vue:616 +#: src/views/toolbox/disk/RaidView.vue:111 #: src/views/toolbox/disk/RaidView.vue:144 #: src/views/toolbox/disk/SmartView.vue:104 msgid "Model" @@ -7225,7 +7575,8 @@ msgstr "已用物理内存" msgid "Physical Memory Available" msgstr "可用物理内存" -#: src/views/home/IndexView.vue:708 src/views/toolbox/DiskView.vue:258 +#: src/views/home/IndexView.vue:708 +#: src/views/toolbox/DiskView.vue:258 msgid "Free" msgstr "空闲" @@ -7233,7 +7584,8 @@ msgstr "空闲" msgid "Active" msgstr "活跃" -#: src/views/home/IndexView.vue:714 src/views/project/ListView.vue:75 +#: src/views/home/IndexView.vue:714 +#: src/views/project/ListView.vue:75 msgid "Inactive" msgstr "非活跃" @@ -7293,7 +7645,8 @@ msgstr "您尚未设置任何要在此处显示的应用!" msgid "Environment Information" msgstr "环境信息" -#: src/views/home/IndexView.vue:888 src/views/toolbox/SystemView.vue:221 +#: src/views/home/IndexView.vue:888 +#: src/views/toolbox/SystemView.vue:221 msgid "System Hostname" msgstr "系统主机名" @@ -7354,9 +7707,7 @@ msgid "Read/Write Latency" msgstr "读/写延迟" #: src/views/home/IndexView.vue:1026 -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:28 @@ -7391,22 +7742,29 @@ msgstr "立即更新" msgid "Loading update information, please wait a moment" msgstr "正在加载更新信息,请稍候" -#: src/views/log/DatabaseLog.vue:30 src/views/log/HttpLog.vue:30 -#: src/views/log/OperationLog.vue:33 src/views/monitor/IndexView.vue:765 -#: src/views/monitor/IndexView.vue:819 src/views/monitor/IndexView.vue:871 -#: src/views/monitor/IndexView.vue:927 src/views/monitor/IndexView.vue:994 +#: src/views/log/DatabaseLog.vue:30 +#: src/views/log/HttpLog.vue:30 +#: src/views/log/OperationLog.vue:33 +#: src/views/monitor/IndexView.vue:765 +#: src/views/monitor/IndexView.vue:819 +#: src/views/monitor/IndexView.vue:871 +#: src/views/monitor/IndexView.vue:927 +#: src/views/monitor/IndexView.vue:994 #: src/views/website/StatsView.vue:138 msgid "Today" msgstr "今天" -#: src/views/log/DatabaseLog.vue:47 src/views/log/HttpLog.vue:55 -#: src/views/log/OperationLog.vue:50 src/views/log/SSHLog.vue:58 +#: src/views/log/DatabaseLog.vue:47 +#: src/views/log/HttpLog.vue:55 +#: src/views/log/OperationLog.vue:50 +#: src/views/log/SSHLog.vue:58 #: src/views/toolbox/SystemView.vue:235 #: src/views/website/stats/ErrorsTab.vue:87 msgid "Time" msgstr "时间" -#: src/views/log/DatabaseLog.vue:56 src/views/log/OperationLog.vue:59 +#: src/views/log/DatabaseLog.vue:56 +#: src/views/log/OperationLog.vue:59 msgid "Level" msgstr "级别" @@ -7414,7 +7772,8 @@ msgstr "级别" msgid "Query" msgstr "查询" -#: src/views/log/DatabaseLog.vue:80 src/views/log/HttpLog.vue:102 +#: src/views/log/DatabaseLog.vue:80 +#: src/views/log/HttpLog.vue:102 #: src/views/toolbox/MigrationView.vue:696 #: src/views/toolbox/MigrationView.vue:783 msgid "Duration" @@ -7424,17 +7783,21 @@ msgstr "持续时间" msgid "Rows" msgstr "行" -#: src/views/log/DatabaseLog.vue:111 src/views/log/HttpLog.vue:136 +#: src/views/log/DatabaseLog.vue:111 +#: src/views/log/HttpLog.vue:136 #: src/views/log/OperationLog.vue:163 msgid "Date" msgstr "日期" -#: src/views/log/DatabaseLog.vue:118 src/views/log/HttpLog.vue:143 -#: src/views/log/OperationLog.vue:170 src/views/log/SSHLog.vue:100 +#: src/views/log/DatabaseLog.vue:118 +#: src/views/log/HttpLog.vue:143 +#: src/views/log/OperationLog.vue:170 +#: src/views/log/SSHLog.vue:100 msgid "Show entries" msgstr "显示条目" -#: src/views/log/HttpLog.vue:64 src/views/website/stats/ErrorsTab.vue:94 +#: src/views/log/HttpLog.vue:64 +#: src/views/website/stats/ErrorsTab.vue:94 msgid "Method" msgstr "方法" @@ -7462,8 +7825,10 @@ msgstr "SSH 日志" msgid "Operator" msgstr "操作员" -#: src/views/log/OperationLog.vue:86 src/views/toolbox/IndexView.vue:28 -#: src/views/toolbox/PanelView.vue:128 src/views/toolbox/PanelView.vue:147 +#: src/views/log/OperationLog.vue:86 +#: src/views/toolbox/IndexView.vue:28 +#: src/views/toolbox/PanelView.vue:128 +#: src/views/toolbox/PanelView.vue:147 msgid "System" msgstr "系统" @@ -7471,7 +7836,8 @@ msgstr "系统" msgid "Message" msgstr "消息" -#: src/views/log/OperationLog.vue:99 src/views/toolbox/MigrationView.vue:784 +#: src/views/log/OperationLog.vue:99 +#: src/views/toolbox/MigrationView.vue:784 msgid "Details" msgstr "详情" @@ -7483,7 +7849,8 @@ msgstr "%{count} 个字段" msgid "Accepted" msgstr "已接受" -#: src/views/log/SSHLog.vue:46 src/views/project/ListView.vue:73 +#: src/views/log/SSHLog.vue:46 +#: src/views/project/ListView.vue:73 #: src/views/task/TaskView.vue:42 msgid "Failed" msgstr "失败" @@ -7513,8 +7880,7 @@ msgid "Please enter captcha code" msgstr "请输入验证码" #: src/views/login/IndexView.vue:152 -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:232 @@ -7545,8 +7911,10 @@ msgstr "记住我" msgid "Login with Passkey" msgstr "使用通行密钥登录" -#: src/views/monitor/IndexView.vue:335 src/views/monitor/IndexView.vue:347 -#: src/views/toolbox/IndexView.vue:26 src/views/toolbox/NetworkView.vue:75 +#: src/views/monitor/IndexView.vue:335 +#: src/views/monitor/IndexView.vue:347 +#: src/views/toolbox/IndexView.vue:26 +#: src/views/toolbox/NetworkView.vue:75 msgid "Process" msgstr "进程" @@ -7574,7 +7942,8 @@ msgstr "15 分钟" msgid "Usage %" msgstr "使用率 %" -#: src/views/monitor/IndexView.vue:493 src/views/toolbox/DiskView.vue:305 +#: src/views/monitor/IndexView.vue:493 +#: src/views/toolbox/DiskView.vue:305 msgid "Usage" msgstr "使用率" @@ -7582,7 +7951,8 @@ msgstr "使用率" msgid "Unit MB" msgstr "单位 MB" -#: src/views/monitor/IndexView.vue:695 src/views/monitor/IndexView.vue:704 +#: src/views/monitor/IndexView.vue:695 +#: src/views/monitor/IndexView.vue:704 msgid "Operation successful" msgstr "操作成功" @@ -7602,7 +7972,8 @@ 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 "分钟" @@ -7610,7 +7981,8 @@ msgstr "分钟" msgid "Clear Monitoring Records" msgstr "清除监控记录" -#: src/views/monitor/IndexView.vue:742 src/views/website/EditModal.vue:2047 +#: src/views/monitor/IndexView.vue:742 +#: src/views/website/EditModal.vue:2047 msgid "Are you sure you want to clear?" msgstr "确定要清除吗?" @@ -7618,17 +7990,22 @@ msgstr "确定要清除吗?" msgid "Load" msgstr "负载" -#: src/views/monitor/IndexView.vue:759 src/views/monitor/IndexView.vue:813 -#: src/views/monitor/IndexView.vue:865 src/views/monitor/IndexView.vue:921 +#: src/views/monitor/IndexView.vue:759 +#: src/views/monitor/IndexView.vue:813 +#: src/views/monitor/IndexView.vue:865 +#: src/views/monitor/IndexView.vue:921 #: src/views/monitor/IndexView.vue:988 #: src/views/website/stats/OverviewTab.vue:259 #: src/views/website/StatsView.vue:144 msgid "Yesterday" msgstr "昨天" -#: src/views/monitor/IndexView.vue:771 src/views/monitor/IndexView.vue:825 -#: src/views/monitor/IndexView.vue:877 src/views/monitor/IndexView.vue:933 -#: src/views/monitor/IndexView.vue:1000 src/views/website/StatsView.vue:147 +#: src/views/monitor/IndexView.vue:771 +#: src/views/monitor/IndexView.vue:825 +#: src/views/monitor/IndexView.vue:877 +#: src/views/monitor/IndexView.vue:933 +#: src/views/monitor/IndexView.vue:1000 +#: src/views/website/StatsView.vue:147 msgid "Last 7 Days" msgstr "近 7 天" @@ -7688,26 +8065,28 @@ msgstr "创建 Python 项目" msgid "Create .NET Project" msgstr "创建 .NET 项目" -#: src/views/project/CreateModal.vue:407 src/views/project/ListView.vue:302 +#: src/views/project/CreateModal.vue:407 +#: src/views/project/ListView.vue:302 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 @@ -7738,14 +8117,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 "选择框架" @@ -7758,12 +8141,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:888 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:893 msgid "Select PHP Version" msgstr "选择 PHP 版本" @@ -7784,7 +8169,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 "选择或输入用户" @@ -7792,13 +8178,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:106 msgid "Reverse Proxy" msgstr "反向代理" @@ -7847,9 +8235,12 @@ msgstr "文件(附加)" msgid "File (truncate)" msgstr "文件(截断)" -#: src/views/project/EditModal.vue:72 src/views/setting/SettingBase.vue:186 -#: src/views/setting/SettingSafe.vue:246 src/views/website/EditModal.vue:740 -#: src/views/website/EditModal.vue:744 src/views/website/EditModal.vue:959 +#: src/views/project/EditModal.vue:72 +#: src/views/setting/SettingBase.vue:186 +#: src/views/setting/SettingSafe.vue:246 +#: src/views/website/EditModal.vue:740 +#: src/views/website/EditModal.vue:744 +#: src/views/website/EditModal.vue:959 msgid "Disabled" msgstr "禁用" @@ -7946,12 +8337,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" @@ -7986,9 +8373,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 @@ -8020,9 +8405,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 @@ -8046,11 +8429,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" @@ -8084,8 +8464,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:107 msgid "PHP" msgstr "PHP" @@ -8122,7 +8504,8 @@ msgstr "您确定要删除所选项目吗?" msgid "Enter user name" msgstr "输入用户名" -#: src/views/setting/CreateModal.vue:60 src/views/setting/PasswordModal.vue:47 +#: src/views/setting/CreateModal.vue:60 +#: src/views/setting/PasswordModal.vue:47 msgid "Enter user password" msgstr "输入用户密码" @@ -8130,11 +8513,13 @@ msgstr "输入用户密码" msgid "Enter user email" msgstr "输入用户邮箱" -#: src/views/setting/IndexView.vue:100 src/views/setting/IndexView.vue:124 +#: src/views/setting/IndexView.vue:100 +#: src/views/setting/IndexView.vue:124 msgid "Panel is restarting, page will refresh in 5 seconds" msgstr "面板正在重启,页面将在 5 秒后刷新" -#: src/views/setting/IndexView.vue:118 src/views/website/EditModal.vue:225 +#: src/views/setting/IndexView.vue:118 +#: src/views/website/EditModal.vue:225 msgid "Please wait..." msgstr "请稍候……" @@ -8182,14 +8567,13 @@ msgstr "注册已取消" msgid "Passkey registration failed: %{msg}" msgstr "通行密钥注册失败:%{msg}" -#: src/views/setting/PasskeyModal.vue:158 src/views/setting/SettingUser.vue:117 +#: src/views/setting/PasskeyModal.vue:158 +#: src/views/setting/SettingUser.vue:117 msgid "Passkeys" msgstr "通行密钥" #: src/views/setting/PasskeyModal.vue:168 -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:177 @@ -8208,7 +8592,8 @@ msgstr "稳定版" msgid "Beta" msgstr "测试版" -#: src/views/setting/SettingBase.vue:127 src/views/setting/SettingBase.vue:128 +#: src/views/setting/SettingBase.vue:127 +#: src/views/setting/SettingBase.vue:128 msgid "Panel Name" msgstr "面板名称" @@ -8238,7 +8623,7 @@ msgstr "/opt/ace/backup" #: src/views/setting/SettingBase.vue:159 msgid "Backup Compression Format" -msgstr "" +msgstr "备份压缩格式" #: src/views/setting/SettingBase.vue:162 msgid "Default Project Directory" @@ -8301,9 +8686,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 @@ -8315,26 +8698,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" @@ -8351,9 +8727,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 @@ -8361,12 +8735,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" @@ -8377,9 +8747,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 @@ -8387,9 +8755,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 @@ -8397,9 +8763,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 @@ -8407,38 +8771,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)" @@ -8452,16 +8802,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:53 msgid "2FA" @@ -8471,7 +8819,8 @@ msgstr "两步验证" msgid "Disabled successfully" msgstr "禁用成功" -#: src/views/setting/SettingUser.vue:102 src/views/setting/TokenModal.vue:212 +#: src/views/setting/SettingUser.vue:102 +#: src/views/setting/TokenModal.vue:212 msgid "Access Tokens" msgstr "访问令牌" @@ -8499,19 +8848,23 @@ msgstr "复制并关闭" msgid "Copy failed" msgstr "复制失败" -#: src/views/setting/TokenModal.vue:222 src/views/setting/TokenModal.vue:250 +#: src/views/setting/TokenModal.vue:222 +#: src/views/setting/TokenModal.vue:250 msgid "Create Access Token" msgstr "创建访问令牌" -#: src/views/setting/TokenModal.vue:259 src/views/setting/TokenModal.vue:292 +#: src/views/setting/TokenModal.vue:259 +#: src/views/setting/TokenModal.vue:292 msgid "IP White List" msgstr "IP 白名单" -#: src/views/setting/TokenModal.vue:262 src/views/setting/TokenModal.vue:295 +#: src/views/setting/TokenModal.vue:262 +#: src/views/setting/TokenModal.vue:295 msgid "127.0.0.1" msgstr "127.0.0.1" -#: src/views/setting/TokenModal.vue:270 src/views/setting/TokenModal.vue:303 +#: src/views/setting/TokenModal.vue:270 +#: src/views/setting/TokenModal.vue:303 msgid "Please select the expiration time" msgstr "请选择到期时间" @@ -8532,8 +8885,7 @@ msgid "Scan the QR code with your 2FA app and enter the code below" msgstr "用您的两步验证应用扫描二维码并在下方输入代码" #: src/views/setting/TwoFaModal.vue:72 -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:85 @@ -8544,29 +8896,33 @@ msgstr "代码" msgid "Enter the code" msgstr "输入代码" -#: src/views/ssh/CreateModal.vue:52 src/views/ssh/IndexView.vue:628 +#: src/views/ssh/CreateModal.vue:52 +#: src/views/ssh/IndexView.vue:628 msgid "Create Host" msgstr "创建主机" -#: src/views/ssh/CreateModal.vue:75 src/views/ssh/UpdateModal.vue:81 +#: src/views/ssh/CreateModal.vue:75 +#: src/views/ssh/UpdateModal.vue:81 msgid "Authentication Method" msgstr "认证方式" -#: src/views/ssh/CreateModal.vue:94 src/views/ssh/UpdateModal.vue:100 +#: src/views/ssh/CreateModal.vue:94 +#: src/views/ssh/UpdateModal.vue:100 msgid "Passphrase" msgstr "密码短语" -#: src/views/ssh/CreateModal.vue:99 src/views/ssh/UpdateModal.vue:105 +#: src/views/ssh/CreateModal.vue:99 +#: src/views/ssh/UpdateModal.vue:105 msgid "Leave empty if key has no passphrase" msgstr "如果密钥没有密码短语,请留空" -#: src/views/ssh/CreateModal.vue:102 src/views/ssh/UpdateModal.vue:108 +#: src/views/ssh/CreateModal.vue:102 +#: src/views/ssh/UpdateModal.vue:108 msgid "Remarks" msgstr "备注" #: src/views/ssh/IndexView.vue:66 -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:123 @@ -8621,17 +8977,20 @@ msgstr "日志轮转 - 网站" msgid "Log Rotation - Container" msgstr "日志轮转 - 容器" -#: src/views/task/CreateModal.vue:141 src/views/task/CreateModal.vue:314 +#: src/views/task/CreateModal.vue:141 +#: src/views/task/CreateModal.vue:314 #: src/views/task/CronView.vue:69 msgid "Log Rotation" msgstr "日志轮转" -#: src/views/task/CreateModal.vue:146 src/views/task/CreateModal.vue:315 +#: src/views/task/CreateModal.vue:146 +#: src/views/task/CreateModal.vue:315 #: src/views/task/CronView.vue:66 msgid "Access URL" msgstr "访问 URL" -#: src/views/task/CreateModal.vue:148 src/views/task/CreateModal.vue:316 +#: src/views/task/CreateModal.vue:148 +#: src/views/task/CreateModal.vue:316 #: src/views/task/CronView.vue:67 msgid "Sync Time" msgstr "同步时间" @@ -8644,25 +9003,32 @@ msgstr "创建计划任务" msgid "Edit Scheduled Task" msgstr "编辑计划任务" -#: src/views/task/CreateModal.vue:308 src/views/task/CronView.vue:55 +#: src/views/task/CreateModal.vue:308 +#: src/views/task/CronView.vue:55 msgid "Task Type" msgstr "任务类型" -#: src/views/task/CreateModal.vue:312 src/views/task/CronView.vue:64 +#: src/views/task/CreateModal.vue:312 +#: src/views/task/CronView.vue:64 msgid "Run Script" msgstr "运行脚本" -#: src/views/task/CreateModal.vue:313 src/views/task/CronView.vue:65 +#: src/views/task/CreateModal.vue:313 +#: src/views/task/CronView.vue:65 msgid "Backup Data" msgstr "备份数据" -#: src/views/task/CreateModal.vue:320 src/views/task/CreateModal.vue:321 -#: src/views/task/CronView.vue:48 src/views/task/CronView.vue:335 -#: src/views/task/CronView.vue:336 src/views/task/TaskView.vue:25 +#: src/views/task/CreateModal.vue:320 +#: src/views/task/CreateModal.vue:321 +#: src/views/task/CronView.vue:48 +#: src/views/task/CronView.vue:335 +#: src/views/task/CronView.vue:336 +#: src/views/task/TaskView.vue:25 msgid "Task Name" msgstr "任务名称" -#: src/views/task/CreateModal.vue:328 src/views/task/CronView.vue:88 +#: src/views/task/CreateModal.vue:328 +#: src/views/task/CronView.vue:88 #: src/views/task/CronView.vue:338 msgid "Task Schedule" msgstr "任务周期" @@ -8671,14 +9037,14 @@ msgstr "任务周期" msgid "Retention Count" msgstr "保留数量" -#: src/views/task/CreateModal.vue:338 src/views/task/CronView.vue:341 +#: src/views/task/CreateModal.vue:338 +#: src/views/task/CronView.vue:341 msgid "Process Lock" msgstr "进程锁" -#: src/views/task/CreateModal.vue:342 src/views/task/CronView.vue:345 -msgid "" -"Prevent duplicate execution: skip this run if the previous one is still " -"running" +#: src/views/task/CreateModal.vue:342 +#: src/views/task/CronView.vue:345 +msgid "Prevent duplicate execution: skip this run if the previous one is still running" msgstr "防止重复执行:如果上次运行未结束,则跳过本次运行" #: src/views/task/CreateModal.vue:349 @@ -8701,7 +9067,8 @@ msgstr "头部名称" msgid "Header Value" msgstr "头部值" -#: src/views/task/CreateModal.vue:394 src/views/task/CreateModal.vue:399 +#: src/views/task/CreateModal.vue:394 +#: src/views/task/CreateModal.vue:399 msgid "Request Body" msgstr "请求体" @@ -8733,7 +9100,8 @@ msgstr "PostgreSQL 数据库" msgid "Rotation Type" msgstr "轮转类型" -#: src/views/task/CreateModal.vue:464 src/views/task/CreateModal.vue:470 +#: src/views/task/CreateModal.vue:464 +#: src/views/task/CreateModal.vue:470 #: src/views/website/CreateModal.vue:252 msgid "Select Database" msgstr "选择数据库" @@ -8742,7 +9110,8 @@ msgstr "选择数据库" msgid "Enter directory path" msgstr "输入目录路径" -#: src/views/task/CreateModal.vue:496 src/views/task/CreateModal.vue:502 +#: src/views/task/CreateModal.vue:496 +#: src/views/task/CreateModal.vue:502 msgid "Select Container" msgstr "选择容器" @@ -8750,7 +9119,8 @@ msgstr "选择容器" msgid "Select storage" msgstr "选择存储" -#: src/views/task/CronView.vue:74 src/views/toolbox/WebHookView.vue:89 +#: src/views/task/CronView.vue:74 +#: src/views/toolbox/WebHookView.vue:89 #: src/views/toolbox/WebHookView.vue:394 msgid "Enabled" msgstr "已启用" @@ -8787,7 +9157,8 @@ msgstr "您确定要删除所选任务吗?" msgid "Completed" msgstr "已完成" -#: src/views/task/TaskView.vue:40 src/views/toolbox/ProcessView.vue:53 +#: src/views/task/TaskView.vue:40 +#: src/views/toolbox/ProcessView.vue:53 #: src/views/toolbox/ProcessView.vue:89 msgid "Waiting" msgstr "等待中" @@ -8820,11 +9191,8 @@ msgid "Pending benchmark" msgstr "待跑分" #: src/views/toolbox/BenchmarkView.vue:89 -msgid "" -"Benchmark results are for reference only and may differ from actual " -"performance due to system resource scheduling, caching, and other factors!" -msgstr "" -"跑分结果仅供参考,由于系统资源调度、缓存和其他因素,可能与实际性能有所不同!" +msgid "Benchmark results are for reference only and may differ from actual performance due to system resource scheduling, caching, and other factors!" +msgstr "跑分结果仅供参考,由于系统资源调度、缓存和其他因素,可能与实际性能有所不同!" #: src/views/toolbox/BenchmarkView.vue:96 msgid "Benchmarking in progress, it may take some time..." @@ -8902,7 +9270,8 @@ msgstr "跑分中……" msgid "Start Benchmark" msgstr "开始跑分" -#: src/views/toolbox/disk/RaidView.vue:93 src/views/toolbox/DiskView.vue:825 +#: src/views/toolbox/disk/RaidView.vue:93 +#: src/views/toolbox/DiskView.vue:825 #: src/views/toolbox/DiskView.vue:883 msgid "Device" msgstr "设备" @@ -9082,7 +9451,8 @@ msgstr "选择一个磁盘" msgid "No SMART-capable disks found" msgstr "未找到支持 SMART 的磁盘" -#: src/views/toolbox/disk/SmartView.vue:282 src/views/toolbox/PanelView.vue:97 +#: src/views/toolbox/disk/SmartView.vue:282 +#: src/views/toolbox/PanelView.vue:97 msgid "Basic Info" msgstr "基本信息" @@ -9126,21 +9496,21 @@ msgstr "可用" msgid "Not Mounted" msgstr "未挂载" -#: src/views/toolbox/DiskView.vue:336 src/views/toolbox/DiskView.vue:827 +#: src/views/toolbox/DiskView.vue:336 +#: src/views/toolbox/DiskView.vue:827 msgid "Filesystem" msgstr "文件系统" -#: src/views/toolbox/DiskView.vue:389 src/views/toolbox/DiskView.vue:541 -#: src/views/toolbox/DiskView.vue:585 src/views/toolbox/DiskView.vue:634 +#: src/views/toolbox/DiskView.vue:389 +#: src/views/toolbox/DiskView.vue:541 +#: src/views/toolbox/DiskView.vue:585 +#: src/views/toolbox/DiskView.vue:634 msgid "Please fill in all fields" msgstr "请填写所有字段" #: src/views/toolbox/DiskView.vue:394 -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:401 msgid "Are you sure you want to mount %{ device } to %{ path }?" @@ -9158,20 +9528,22 @@ msgstr "您确定要卸载这个分区吗?" msgid "Unmounted successfully" msgstr "卸载成功" -#: src/views/toolbox/DiskView.vue:448 src/views/toolbox/DiskView.vue:499 +#: src/views/toolbox/DiskView.vue:448 +#: src/views/toolbox/DiskView.vue:499 msgid "Please select a device" msgstr "请选择一个设备" -#: src/views/toolbox/DiskView.vue:453 src/views/toolbox/DiskView.vue:478 -#: src/views/toolbox/DiskView.vue:523 src/views/toolbox/DiskView.vue:566 -#: src/views/toolbox/DiskView.vue:615 src/views/toolbox/DiskView.vue:662 +#: src/views/toolbox/DiskView.vue:453 +#: src/views/toolbox/DiskView.vue:478 +#: src/views/toolbox/DiskView.vue:523 +#: src/views/toolbox/DiskView.vue:566 +#: src/views/toolbox/DiskView.vue:615 +#: src/views/toolbox/DiskView.vue:662 msgid "Dangerous Operation" msgstr "危险操作" #: src/views/toolbox/DiskView.vue:454 -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:457 @@ -9187,12 +9559,8 @@ msgid "Please enter disk name" msgstr "请输入磁盘名称" #: src/views/toolbox/DiskView.vue:479 -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:483 msgid "Confirm Initialize" @@ -9227,9 +9595,7 @@ msgid "Volume group created successfully" msgstr "卷组创建成功" #: src/views/toolbox/DiskView.vue:567 -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:575 @@ -9237,8 +9603,7 @@ msgid "Volume group removed successfully" msgstr "卷组删除成功" #: src/views/toolbox/DiskView.vue:591 -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:602 @@ -9246,9 +9611,7 @@ msgid "Logical volume created successfully" msgstr "逻辑卷创建成功" #: src/views/toolbox/DiskView.vue:616 -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:624 @@ -9264,11 +9627,8 @@ msgid "Logical volume extended successfully" msgstr "逻辑卷扩展成功" #: src/views/toolbox/DiskView.vue:663 -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:671 msgid "Fstab entry removed successfully" @@ -9310,11 +9670,13 @@ msgstr "未找到磁盘" msgid "Mount Partition" msgstr "挂载分区" -#: src/views/toolbox/DiskView.vue:724 src/views/toolbox/DiskView.vue:769 +#: src/views/toolbox/DiskView.vue:724 +#: src/views/toolbox/DiskView.vue:769 msgid "Partition" msgstr "分区" -#: src/views/toolbox/DiskView.vue:728 src/views/toolbox/DiskView.vue:773 +#: src/views/toolbox/DiskView.vue:728 +#: src/views/toolbox/DiskView.vue:773 msgid "Select partition" msgstr "选择分区" @@ -9339,9 +9701,7 @@ msgid "Mount" msgstr "挂载" #: src/views/toolbox/DiskView.vue:757 -msgid "" -"When enabled, the partition UUID will be written to /etc/fstab for automatic " -"mounting on system boot." +msgid "When enabled, the partition UUID will be written to /etc/fstab for automatic mounting on system boot." msgstr "启用后,分区 UUID 将被写入 /etc/fstab,以便在系统启动时自动挂载。" #: src/views/toolbox/DiskView.vue:764 @@ -9352,7 +9712,8 @@ msgstr "格式化分区" msgid "Warning: Formatting will erase all data!" msgstr "警告:格式化将清除所有数据!" -#: src/views/toolbox/DiskView.vue:778 src/views/toolbox/DiskView.vue:811 +#: src/views/toolbox/DiskView.vue:778 +#: src/views/toolbox/DiskView.vue:811 msgid "Filesystem Type" msgstr "文件系统类型" @@ -9366,9 +9727,7 @@ msgid "Initialize Disk" msgstr "初始化磁盘" #: src/views/toolbox/DiskView.vue:796 -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:806 @@ -9391,7 +9750,8 @@ msgstr "无 fstab 条目" msgid "LVM Management" msgstr "LVM 管理" -#: src/views/toolbox/DiskView.vue:862 src/views/toolbox/DiskView.vue:928 +#: src/views/toolbox/DiskView.vue:862 +#: src/views/toolbox/DiskView.vue:928 msgid "Physical Volumes" msgstr "物理卷" @@ -9597,9 +9957,7 @@ msgid "Environment check refreshed" msgstr "环境检查已刷新" #: src/views/toolbox/MigrationView.vue:141 -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:144 @@ -9608,18 +9966,12 @@ msgid "none" msgstr "none" #: src/views/toolbox/MigrationView.vue:159 -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:179 -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:247 msgid "Please select at least one item to migrate" @@ -9630,9 +9982,7 @@ msgid "Confirm Migration" msgstr "确认迁移" #: src/views/toolbox/MigrationView.vue:253 -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:344 @@ -9831,13 +10181,8 @@ msgid "Reminder" msgstr "提醒" #: src/views/toolbox/MigrationView.vue:822 -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:833 msgid "Start New Migration" @@ -9879,7 +10224,8 @@ msgstr "Goroutines" msgid "Cgo Calls" msgstr "Cgo 调用" -#: src/views/toolbox/PanelView.vue:122 src/views/toolbox/PanelView.vue:144 +#: src/views/toolbox/PanelView.vue:122 +#: src/views/toolbox/PanelView.vue:144 msgid "Allocated" msgstr "已分配" @@ -9899,7 +10245,8 @@ msgstr "分配次数" msgid "Frees" msgstr "释放次数" -#: src/views/toolbox/PanelView.vue:150 src/views/toolbox/ProcessView.vue:51 +#: src/views/toolbox/PanelView.vue:150 +#: src/views/toolbox/ProcessView.vue:51 #: src/views/toolbox/ProcessView.vue:85 msgid "Idle" msgstr "空闲" @@ -9980,15 +10327,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 "已锁定" @@ -10032,15 +10382,18 @@ msgstr "用户信号 2(SIGUSR2)" msgid "Blocked" msgstr "阻塞" -#: src/views/toolbox/ProcessView.vue:114 src/views/toolbox/ProcessView.vue:391 +#: src/views/toolbox/ProcessView.vue:114 +#: src/views/toolbox/ProcessView.vue:391 msgid "Parent PID" msgstr "父进程 PID" -#: src/views/toolbox/ProcessView.vue:121 src/views/toolbox/ProcessView.vue:403 +#: src/views/toolbox/ProcessView.vue:121 +#: src/views/toolbox/ProcessView.vue:403 msgid "Threads" msgstr "线程" -#: src/views/toolbox/ProcessView.vue:162 src/views/toolbox/ProcessView.vue:424 +#: src/views/toolbox/ProcessView.vue:162 +#: src/views/toolbox/ProcessView.vue:424 msgid "Start Time" msgstr "启动时间" @@ -10148,7 +10501,8 @@ msgstr "请输入密码" msgid "Root password updated" msgstr "Root 密码已更新" -#: src/views/toolbox/SshView.vue:150 src/views/toolbox/SshView.vue:164 +#: src/views/toolbox/SshView.vue:150 +#: src/views/toolbox/SshView.vue:164 msgid "SSH key generated" msgstr "SSH 密钥已生成" @@ -10201,9 +10555,7 @@ msgid "Reset" msgstr "重置" #: src/views/toolbox/SshView.vue:287 -msgid "" -"It is recommended to use a complex password. Refresh will clear the password " -"field." +msgid "It is recommended to use a complex password. Refresh will clear the password field." msgstr "建议使用复杂密码。刷新页面将清除密码字段。" #: src/views/toolbox/SshView.vue:296 @@ -10219,9 +10571,7 @@ msgid "Root Private Key" msgstr "Root 私钥" #: src/views/toolbox/SshView.vue:326 -msgid "" -"This is the private key of the root user. Keep it safe and use it to login " -"to this server." +msgid "This is the private key of the root user. Keep it safe and use it to login to this server." msgstr "这是 root 用户的私钥。请妥善保管,并用它登录到此服务器。" #: src/views/toolbox/SshView.vue:336 @@ -10273,9 +10623,7 @@ msgid "Hosts" msgstr "Hosts" #: src/views/toolbox/SystemView.vue:239 -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:245 @@ -10311,15 +10659,11 @@ msgid "System NTP Server Configuration" msgstr "系统 NTP 服务器配置" #: src/views/toolbox/SystemView.vue:293 -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:300 -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:313 @@ -10330,7 +10674,8 @@ msgstr "输入 NTP 服务器地址" msgid "Reset to Default" msgstr "重置为默认值" -#: src/views/toolbox/WebHookView.vue:71 src/views/toolbox/WebHookView.vue:353 +#: src/views/toolbox/WebHookView.vue:71 +#: src/views/toolbox/WebHookView.vue:353 #: src/views/toolbox/WebHookView.vue:388 msgid "Raw Output" msgstr "原始输出" @@ -10355,31 +10700,38 @@ msgstr "您确定要删除此 Web 钩子吗?" msgid "URL copied to clipboard" msgstr "URL 已复制到剪贴板" -#: src/views/toolbox/WebHookView.vue:245 src/views/toolbox/WebHookView.vue:272 +#: src/views/toolbox/WebHookView.vue:245 +#: src/views/toolbox/WebHookView.vue:272 msgid "Please enter a name" msgstr "请输入名称" -#: src/views/toolbox/WebHookView.vue:249 src/views/toolbox/WebHookView.vue:276 +#: src/views/toolbox/WebHookView.vue:249 +#: src/views/toolbox/WebHookView.vue:276 msgid "Please enter a script" msgstr "请输入脚本" -#: src/views/toolbox/WebHookView.vue:308 src/views/toolbox/WebHookView.vue:337 +#: src/views/toolbox/WebHookView.vue:308 +#: src/views/toolbox/WebHookView.vue:337 msgid "Create WebHook" msgstr "创建 Web 钩子" -#: src/views/toolbox/WebHookView.vue:345 src/views/toolbox/WebHookView.vue:380 +#: src/views/toolbox/WebHookView.vue:345 +#: src/views/toolbox/WebHookView.vue:380 msgid "Enter WebHook name" msgstr "输入 Web 钩子名称" -#: src/views/toolbox/WebHookView.vue:350 src/views/toolbox/WebHookView.vue:385 +#: src/views/toolbox/WebHookView.vue:350 +#: src/views/toolbox/WebHookView.vue:385 msgid "User to run the script (default: root)" msgstr "运行脚本用户(默认:root)" -#: src/views/toolbox/WebHookView.vue:356 src/views/toolbox/WebHookView.vue:391 +#: src/views/toolbox/WebHookView.vue:356 +#: src/views/toolbox/WebHookView.vue:391 msgid "Return script output as raw text instead of JSON" msgstr "将脚本输出作为原始文本而非 JSON 返回" -#: src/views/toolbox/WebHookView.vue:359 src/views/toolbox/WebHookView.vue:397 +#: src/views/toolbox/WebHookView.vue:359 +#: src/views/toolbox/WebHookView.vue:397 msgid "Script" msgstr "脚本" @@ -10388,12 +10740,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:108 msgid "Pure Static" msgstr "纯静态" @@ -10410,7 +10764,8 @@ msgstr "批量创建 PHP 网站" msgid "Bulk Create Pure Static Website" msgstr "批量创建纯静态网站" -#: src/views/website/BulkCreateModal.vue:74 src/views/website/ListView.vue:396 +#: src/views/website/BulkCreateModal.vue:74 +#: src/views/website/ListView.vue:396 msgid "Bulk Create Website" msgstr "批量创建网站" @@ -10427,9 +10782,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 @@ -10450,7 +10803,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:100 +#: src/views/website/CreateModal.vue:180 +#: src/views/website/ListView.vue:100 msgid "Website Type" msgstr "网站类型" @@ -10460,27 +10814,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 @@ -10499,28 +10845,27 @@ msgstr "创建 PHP 网站" msgid "Create Pure Static Website" msgstr "创建纯静态网站" -#: src/views/website/CreateModal.vue:80 src/views/website/ListView.vue:393 +#: src/views/website/CreateModal.vue:80 +#: src/views/website/ListView.vue:393 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 @@ -10531,7 +10876,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:209 msgid "Remark" msgstr "备注" @@ -10549,12 +10895,8 @@ msgid "Reset successfully" msgstr "重置成功" #: src/views/website/EditModal.vue:199 -msgid "" -"Your website contains wildcard domains, which require DNS verification. " -"Please add a DNS provider in Certificate Management first." -msgstr "" -"您的网站包含通配符域名,这需要进行 DNS 验证。请先在证书管理中添加一个 DNS 提" -"供商。" +msgid "Your website contains wildcard domains, which require DNS verification. Please add a DNS provider in Certificate Management first." +msgstr "您的网站包含通配符域名,这需要进行 DNS 验证。请先在证书管理中添加一个 DNS 提供商。" #: src/views/website/EditModal.vue:216 msgid "Please select a DNS provider" @@ -10616,7 +10958,8 @@ msgstr "临时重定向" msgid "Permanent Redirect" msgstr "永久重定向" -#: src/views/website/EditModal.vue:741 src/views/website/EditModal.vue:745 +#: src/views/website/EditModal.vue:741 +#: src/views/website/EditModal.vue:745 msgid "Default Path" msgstr "默认路径" @@ -10660,7 +11003,8 @@ msgstr "上游" msgid "Upstream name" msgstr "上游名称" -#: src/views/website/EditModal.vue:939 src/views/website/EditModal.vue:946 +#: src/views/website/EditModal.vue:939 +#: src/views/website/EditModal.vue:946 msgid "Round Robin (default)" msgstr "轮询(默认)" @@ -10696,7 +11040,8 @@ msgstr "未配置上游" msgid "Proxies" msgstr "代理" -#: src/views/website/EditModal.vue:1036 src/views/website/EditModal.vue:1701 +#: src/views/website/EditModal.vue:1036 +#: src/views/website/EditModal.vue:1701 msgid "Rule" msgstr "规则" @@ -10808,7 +11153,8 @@ msgstr "自定义缓存键,例如 $scheme$host$request_uri" msgid "Custom Request Headers" msgstr "自定义请求头" -#: src/views/website/EditModal.vue:1225 src/views/website/EditModal.vue:1514 +#: src/views/website/EditModal.vue:1225 +#: src/views/website/EditModal.vue:1514 msgid "Header name" msgstr "请求头" @@ -10836,7 +11182,8 @@ msgstr "替换内容" msgid "Add Replacement Rule" msgstr "添加替换规则" -#: src/views/website/EditModal.vue:1253 src/views/website/EditModal.vue:1773 +#: src/views/website/EditModal.vue:1253 +#: src/views/website/EditModal.vue:1773 msgid "Advanced Settings" msgstr "高级设置" @@ -10896,8 +11243,10 @@ msgstr "选择重试条件" msgid "Max Tries" msgstr "最大重试次数" -#: src/views/website/EditModal.vue:1435 src/views/website/EditModal.vue:1449 -#: src/views/website/EditModal.vue:1825 src/views/website/EditModal.vue:1838 +#: src/views/website/EditModal.vue:1435 +#: src/views/website/EditModal.vue:1449 +#: src/views/website/EditModal.vue:1825 +#: src/views/website/EditModal.vue:1838 #: src/views/website/EditModal.vue:1851 msgid "Unlimited" msgstr "无限制" @@ -11059,11 +11408,13 @@ msgstr "启用统计" msgid "Log Settings" msgstr "日志设置" -#: src/views/website/EditModal.vue:1791 src/views/website/EditModal.vue:2008 +#: src/views/website/EditModal.vue:1791 +#: src/views/website/EditModal.vue:2008 msgid "Access Log" msgstr "访问日志" -#: src/views/website/EditModal.vue:1800 src/views/website/EditModal.vue:2024 +#: src/views/website/EditModal.vue:1800 +#: src/views/website/EditModal.vue:2024 msgid "Error Log" msgstr "错误日志" @@ -11104,18 +11455,12 @@ msgid "Real IP" msgstr "真实 IP" #: src/views/website/EditModal.vue:1866 -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:1873 -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:1879 msgid "Enable" @@ -11150,8 +11495,7 @@ msgid "User Credentials" msgstr "用户凭据" #: src/views/website/EditModal.vue:1933 -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:1941 @@ -11182,11 +11526,13 @@ msgstr "没有自定义配置" msgid "Add Custom Config" msgstr "添加自定义配置" -#: src/views/website/EditModal.vue:2013 src/views/website/EditModal.vue:2029 +#: src/views/website/EditModal.vue:2013 +#: src/views/website/EditModal.vue:2029 msgid "All logs can be viewed by downloading the file" msgstr "所有日志可通过下载文件查看" -#: src/views/website/EditModal.vue:2015 src/views/website/EditModal.vue:2031 +#: src/views/website/EditModal.vue:2015 +#: src/views/website/EditModal.vue:2031 msgid "view" msgstr "查看" @@ -11211,11 +11557,8 @@ msgid "Select DNS Provider" msgstr "选择 DNS 提供商" #: src/views/website/EditModal.vue:2092 -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" @@ -11262,17 +11605,17 @@ msgid "Delete local database with the same name" msgstr "删除同名的本地数据库" #: src/views/website/ListView.vue:405 -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:66 msgid "Default Page" msgstr "默认页面" -#: src/views/website/SettingView.vue:71 src/views/website/SettingView.vue:81 -#: src/views/website/SettingView.vue:91 src/views/website/SettingView.vue:129 +#: src/views/website/SettingView.vue:71 +#: src/views/website/SettingView.vue:81 +#: src/views/website/SettingView.vue:91 +#: src/views/website/SettingView.vue:129 #: src/views/website/SettingView.vue:193 msgid "Save Changes" msgstr "保存更改" @@ -11294,15 +11637,11 @@ msgid "Default Settings" msgstr "默认设置" #: src/views/website/SettingView.vue:103 -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:110 -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:116 @@ -11314,9 +11653,7 @@ msgid "Statistics" msgstr "统计" #: src/views/website/SettingView.vue:137 -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:140 @@ -11355,7 +11692,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 @@ -11379,13 +11717,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 @@ -11408,12 +11748,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:218 +#: src/views/website/stats/URIsTab.vue:59 +#: src/views/website/StatsView.vue:218 msgid "Errors" msgstr "错误" #: src/views/website/stats/OverviewTab.vue:143 -#: src/views/website/stats/SitesTab.vue:59 src/views/website/StatsView.vue:197 +#: src/views/website/stats/SitesTab.vue:59 +#: src/views/website/StatsView.vue:197 msgid "Spiders" msgstr "蜘蛛" @@ -11489,3 +11831,4 @@ msgstr "URIs" #: src/views/website/StatsView.vue:215 msgid "Slow Requests" msgstr "慢请求" + diff --git a/web/src/locales/zh_TW.po b/web/src/locales/zh_TW.po index af7af63f..f8835b97 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-04-21 20:48\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-05-06 21:16\n" -#: src/components/common/AppFooter.vue:18 src/views/home/IndexView.vue:547 +#: src/components/common/AppFooter.vue:18 +#: src/views/home/IndexView.vue:547 msgid "AcePanel" msgstr "AcePanel" @@ -24,12 +25,18 @@ msgstr "版權所有" msgid "QQ Group" msgstr "QQ 群" -#: src/components/common/AppFooter.vue:38 src/locales/menu.ts:23 -#: src/views/apps/fail2ban/IndexView.vue:332 src/views/backup/IndexView.vue:38 -#: src/views/backup/ListView.vue:258 src/views/backup/ListView.vue:301 -#: src/views/cert/CertView.vue:480 src/views/cert/CertView.vue:588 -#: src/views/cert/CreateCertModal.vue:117 src/views/home/IndexView.vue:529 -#: src/views/task/CreateModal.vue:424 src/views/task/CreateModal.vue:437 +#: src/components/common/AppFooter.vue:38 +#: src/locales/menu.ts:23 +#: src/views/apps/fail2ban/IndexView.vue:332 +#: src/views/backup/IndexView.vue:38 +#: src/views/backup/ListView.vue:258 +#: src/views/backup/ListView.vue:301 +#: src/views/cert/CertView.vue:480 +#: src/views/cert/CertView.vue:588 +#: src/views/cert/CreateCertModal.vue:117 +#: src/views/home/IndexView.vue:529 +#: src/views/task/CreateModal.vue:424 +#: src/views/task/CreateModal.vue:437 msgid "Website" msgstr "網站" @@ -181,11 +188,16 @@ msgid "After Reboot" msgstr "重啟後" #: src/components/common/CronSelector.vue:191 -#: src/views/monitor/IndexView.vue:781 src/views/monitor/IndexView.vue:835 -#: src/views/monitor/IndexView.vue:887 src/views/monitor/IndexView.vue:943 -#: src/views/monitor/IndexView.vue:1010 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:781 +#: src/views/monitor/IndexView.vue:835 +#: src/views/monitor/IndexView.vue:887 +#: src/views/monitor/IndexView.vue:943 +#: src/views/monitor/IndexView.vue:1010 +#: 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:346 -#: src/views/apps/nginx/NginxIndex.vue:799 src/views/website/EditModal.vue:646 +#: src/views/apps/nginx/NginxIndex.vue:799 +#: src/views/website/EditModal.vue:646 msgid "Seconds" msgstr "秒" #: src/components/common/CronSelector.vue:357 -#: src/views/apps/nginx/NginxIndex.vue:800 src/views/website/EditModal.vue:647 +#: src/views/apps/nginx/NginxIndex.vue:800 +#: src/views/website/EditModal.vue:647 msgid "Minutes" msgstr "分" #: src/components/common/CronSelector.vue:368 -#: src/views/apps/nginx/NginxIndex.vue:801 src/views/website/EditModal.vue:648 +#: src/views/apps/nginx/NginxIndex.vue:801 +#: src/views/website/EditModal.vue:648 msgid "Hours" msgstr "時" @@ -234,18 +249,29 @@ msgstr "輸入 Cron 表達式" #: src/components/common/PtyTerminalModal.vue:199 #: src/layouts/header/components/UserAvatar.vue:29 #: src/views/app/TemplateDeployModal.vue:341 -#: src/views/file/composables/usePaste.ts:64 src/views/home/IndexView.vue:1028 -#: src/views/home/UpdateView.vue:30 src/views/monitor/IndexView.vue:731 -#: src/views/toolbox/DiskView.vue:407 src/views/toolbox/DiskView.vue:409 -#: src/views/toolbox/DiskView.vue:432 src/views/toolbox/DiskView.vue:434 -#: src/views/toolbox/DiskView.vue:504 src/views/toolbox/DiskView.vue:508 -#: src/views/toolbox/DiskView.vue:527 src/views/toolbox/DiskView.vue:546 -#: src/views/toolbox/DiskView.vue:550 src/views/toolbox/DiskView.vue:571 -#: src/views/toolbox/DiskView.vue:590 src/views/toolbox/DiskView.vue:598 -#: src/views/toolbox/DiskView.vue:620 src/views/toolbox/DiskView.vue:639 -#: src/views/toolbox/DiskView.vue:644 src/views/toolbox/DiskView.vue:667 +#: src/views/file/composables/usePaste.ts:64 +#: src/views/home/IndexView.vue:1028 +#: src/views/home/UpdateView.vue:30 +#: src/views/monitor/IndexView.vue:731 +#: src/views/toolbox/DiskView.vue:407 +#: src/views/toolbox/DiskView.vue:409 +#: src/views/toolbox/DiskView.vue:432 +#: src/views/toolbox/DiskView.vue:434 +#: src/views/toolbox/DiskView.vue:504 +#: src/views/toolbox/DiskView.vue:508 +#: src/views/toolbox/DiskView.vue:527 +#: src/views/toolbox/DiskView.vue:546 +#: src/views/toolbox/DiskView.vue:550 +#: src/views/toolbox/DiskView.vue:571 +#: src/views/toolbox/DiskView.vue:590 +#: src/views/toolbox/DiskView.vue:598 +#: src/views/toolbox/DiskView.vue:620 +#: src/views/toolbox/DiskView.vue:639 +#: src/views/toolbox/DiskView.vue:644 +#: src/views/toolbox/DiskView.vue:667 #: src/views/toolbox/MigrationView.vue:346 -#: src/views/toolbox/ProcessView.vue:242 src/views/toolbox/ProcessView.vue:247 +#: src/views/toolbox/ProcessView.vue:242 +#: src/views/toolbox/ProcessView.vue:247 msgid "Confirm" msgstr "確認" @@ -259,21 +285,34 @@ msgstr "確認" #: src/views/container/ContainerCreate.vue:536 #: src/views/container/ImagePullModal.vue:184 #: src/views/container/ImagePullModal.vue:198 -#: src/views/container/ImageView.vue:350 src/views/container/ImageView.vue:365 +#: src/views/container/ImageView.vue:350 +#: src/views/container/ImageView.vue:365 #: src/views/file/composables/usePaste.ts:65 -#: src/views/file/composables/usePaste.ts:145 src/views/file/ListView.vue:245 -#: src/views/file/ListView.vue:777 src/views/file/ToolBar.vue:207 -#: src/views/file/UploadModal.vue:340 src/views/file/UploadModal.vue:450 -#: src/views/home/IndexView.vue:1029 src/views/home/UpdateView.vue:31 -#: src/views/project/EditModal.vue:579 src/views/toolbox/DiskView.vue:410 -#: src/views/toolbox/DiskView.vue:435 src/views/toolbox/DiskView.vue:458 -#: src/views/toolbox/DiskView.vue:484 src/views/toolbox/DiskView.vue:509 -#: src/views/toolbox/DiskView.vue:528 src/views/toolbox/DiskView.vue:551 -#: src/views/toolbox/DiskView.vue:572 src/views/toolbox/DiskView.vue:599 -#: src/views/toolbox/DiskView.vue:621 src/views/toolbox/DiskView.vue:645 -#: src/views/toolbox/DiskView.vue:668 src/views/toolbox/MigrationView.vue:257 +#: src/views/file/composables/usePaste.ts:145 +#: src/views/file/ListView.vue:245 +#: src/views/file/ListView.vue:777 +#: src/views/file/ToolBar.vue:207 +#: src/views/file/UploadModal.vue:340 +#: src/views/file/UploadModal.vue:450 +#: src/views/home/IndexView.vue:1029 +#: src/views/home/UpdateView.vue:31 +#: src/views/project/EditModal.vue:579 +#: src/views/toolbox/DiskView.vue:410 +#: src/views/toolbox/DiskView.vue:435 +#: src/views/toolbox/DiskView.vue:458 +#: src/views/toolbox/DiskView.vue:484 +#: src/views/toolbox/DiskView.vue:509 +#: src/views/toolbox/DiskView.vue:528 +#: src/views/toolbox/DiskView.vue:551 +#: src/views/toolbox/DiskView.vue:572 +#: src/views/toolbox/DiskView.vue:599 +#: src/views/toolbox/DiskView.vue:621 +#: src/views/toolbox/DiskView.vue:645 +#: src/views/toolbox/DiskView.vue:668 +#: src/views/toolbox/MigrationView.vue:257 #: src/views/toolbox/MigrationView.vue:347 -#: src/views/toolbox/ProcessView.vue:248 src/views/website/EditModal.vue:2067 +#: src/views/toolbox/ProcessView.vue:248 +#: src/views/website/EditModal.vue:2067 msgid "Cancel" msgstr "取消" @@ -317,7 +356,8 @@ msgstr "當前狀態無法保存" #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:58 #: src/views/apps/elasticsearch/IndexView.vue:50 #: src/views/apps/fail2ban/IndexView.vue:164 -#: 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:154 @@ -361,25 +401,34 @@ msgstr "當前狀態無法保存" #: src/views/apps/valkey/IndexView.vue:50 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:103 #: src/views/database/ElasticsearchDocModal.vue:60 -#: src/views/database/RedisKeyModal.vue:76 src/views/environment/GoView.vue:52 +#: src/views/database/RedisKeyModal.vue:76 +#: src/views/environment/GoView.vue:52 #: src/views/environment/NodejsView.vue:55 #: src/views/environment/PhpConfigTuneView.vue:183 -#: src/views/environment/PHPView.vue:167 src/views/environment/PHPView.vue:173 -#: src/views/environment/PythonView.vue:59 src/views/project/EditModal.vue:159 -#: src/views/setting/IndexView.vue:84 src/views/toolbox/SystemView.vue:72 -#: src/views/toolbox/SystemView.vue:83 src/views/toolbox/SystemView.vue:97 -#: src/views/toolbox/SystemView.vue:111 src/views/toolbox/SystemView.vue:158 +#: src/views/environment/PHPView.vue:167 +#: src/views/environment/PHPView.vue:173 +#: src/views/environment/PythonView.vue:59 +#: src/views/project/EditModal.vue:159 +#: src/views/setting/IndexView.vue:84 +#: src/views/toolbox/SystemView.vue:72 +#: src/views/toolbox/SystemView.vue:83 +#: src/views/toolbox/SystemView.vue:97 +#: src/views/toolbox/SystemView.vue:111 +#: src/views/toolbox/SystemView.vue:158 #: src/views/website/EditModal.vue:158 msgid "Saved successfully" msgstr "儲存成功" #: src/components/common/KeyValueEditor.vue:111 -#: src/views/toolbox/DiskView.vue:843 src/views/toolbox/DiskView.vue:873 -#: src/views/toolbox/DiskView.vue:911 src/views/toolbox/DiskView.vue:956 +#: src/views/toolbox/DiskView.vue:843 +#: src/views/toolbox/DiskView.vue:873 +#: src/views/toolbox/DiskView.vue:911 +#: src/views/toolbox/DiskView.vue:956 msgid "Remove" msgstr "移除" -#: src/components/common/PathSelector.vue:27 src/views/task/CreateModal.vue:476 +#: src/components/common/PathSelector.vue:27 +#: src/views/task/CreateModal.vue:476 msgid "Select Directory" msgstr "選擇目錄" @@ -389,7 +438,8 @@ msgstr "選擇文件" #: src/components/common/PathSelector.vue:50 #: src/components/common/PathSelector.vue:394 -#: src/views/app/EnvironmentView.vue:28 src/views/app/InstalledView.vue:167 +#: src/views/app/EnvironmentView.vue:28 +#: src/views/app/InstalledView.vue:167 #: src/views/apps/fail2ban/IndexView.vue:39 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:68 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:181 @@ -398,24 +448,37 @@ msgstr "選擇文件" #: src/views/apps/nginx/NginxIndex.vue:627 #: src/views/apps/nginx/NginxIndex.vue:705 #: src/views/apps/prometheus/PrometheusExportersView.vue:24 -#: src/views/apps/rsync/IndexView.vue:41 src/views/apps/rsync/IndexView.vue:269 +#: src/views/apps/rsync/IndexView.vue:41 +#: src/views/apps/rsync/IndexView.vue:269 #: src/views/apps/supervisor/IndexView.vue:54 #: src/views/apps/supervisor/IndexView.vue:411 -#: src/views/backup/StorageView.vue:63 src/views/backup/StorageView.vue:237 -#: src/views/backup/StorageView.vue:391 src/views/container/ComposeView.vue:57 -#: src/views/container/NetworkView.vue:46 src/views/container/VolumeView.vue:27 +#: src/views/backup/StorageView.vue:63 +#: src/views/backup/StorageView.vue:237 +#: src/views/backup/StorageView.vue:391 +#: src/views/container/ComposeView.vue:57 +#: src/views/container/NetworkView.vue:46 +#: src/views/container/VolumeView.vue:27 #: src/views/database/CreateServerModal.vue:107 #: src/views/database/ServerList.vue:64 -#: src/views/database/UpdateServerModal.vue:64 src/views/file/ListView.vue:1346 -#: src/views/file/PropertyModal.vue:27 src/views/file/ToolBar.vue:149 -#: src/views/home/IndexView.vue:658 src/views/home/IndexView.vue:759 -#: src/views/project/ListView.vue:36 src/views/setting/PasskeyModal.vue:23 -#: src/views/ssh/CreateModal.vue:59 src/views/ssh/UpdateModal.vue:65 -#: src/views/toolbox/LogView.vue:216 src/views/toolbox/MigrationView.vue:694 +#: src/views/database/UpdateServerModal.vue:64 +#: src/views/file/ListView.vue:1346 +#: src/views/file/PropertyModal.vue:27 +#: src/views/file/ToolBar.vue:149 +#: src/views/home/IndexView.vue:658 +#: src/views/home/IndexView.vue:759 +#: src/views/project/ListView.vue:36 +#: src/views/setting/PasskeyModal.vue:23 +#: src/views/ssh/CreateModal.vue:59 +#: src/views/ssh/UpdateModal.vue:65 +#: src/views/toolbox/LogView.vue:216 +#: src/views/toolbox/MigrationView.vue:694 #: src/views/toolbox/MigrationView.vue:781 -#: src/views/toolbox/ProcessView.vue:106 src/views/toolbox/ProcessView.vue:394 -#: src/views/toolbox/WebHookView.vue:35 src/views/toolbox/WebHookView.vue:344 -#: src/views/toolbox/WebHookView.vue:379 src/views/website/CreateModal.vue:187 +#: src/views/toolbox/ProcessView.vue:106 +#: src/views/toolbox/ProcessView.vue:394 +#: src/views/toolbox/WebHookView.vue:35 +#: src/views/toolbox/WebHookView.vue:344 +#: src/views/toolbox/WebHookView.vue:379 +#: src/views/website/CreateModal.vue:187 #: src/views/website/EditModal.vue:1964 msgid "Name" msgstr "名稱" @@ -424,46 +487,59 @@ msgstr "名稱" msgid "Permissions" msgstr "權限" -#: src/components/common/PathSelector.vue:101 src/views/file/ListView.vue:1357 +#: src/components/common/PathSelector.vue:101 +#: src/views/file/ListView.vue:1357 msgid "Owner / Group" msgstr "所有者 / 群組" -#: src/components/common/PathSelector.vue:113 src/views/backup/ListView.vue:47 +#: src/components/common/PathSelector.vue:113 +#: src/views/backup/ListView.vue:47 #: src/views/container/ImageView.vue:68 #: src/views/database/ElasticsearchDataView.vue:109 -#: src/views/database/RedisDataView.vue:109 src/views/file/ListView.vue:1353 -#: src/views/file/PropertyModal.vue:39 src/views/file/ToolBar.vue:150 +#: src/views/database/RedisDataView.vue:109 +#: src/views/file/ListView.vue:1353 +#: src/views/file/PropertyModal.vue:39 +#: src/views/file/ToolBar.vue:150 #: src/views/toolbox/disk/RaidView.vue:95 -#: src/views/toolbox/disk/RaidView.vue:179 src/views/toolbox/DiskView.vue:279 +#: src/views/toolbox/disk/RaidView.vue:179 +#: src/views/toolbox/DiskView.vue:279 #: src/views/toolbox/LogView.vue:217 msgid "Size" msgstr "大小" -#: src/components/common/PathSelector.vue:148 src/views/file/ListView.vue:1496 +#: src/components/common/PathSelector.vue:148 +#: src/views/file/ListView.vue:1496 msgid "Calculate" msgstr "計算" -#: src/components/common/PathSelector.vue:153 src/views/file/ListView.vue:1362 -#: src/views/file/PropertyModal.vue:51 src/views/file/ToolBar.vue:151 +#: src/components/common/PathSelector.vue:153 +#: src/views/file/ListView.vue:1362 +#: src/views/file/PropertyModal.vue:51 +#: src/views/file/ToolBar.vue:151 msgid "Modification Time" msgstr "修改時間" -#: src/components/common/PathSelector.vue:187 src/views/file/ListView.vue:1211 +#: src/components/common/PathSelector.vue:187 +#: src/views/file/ListView.vue:1211 #: src/views/file/PathInput.vue:43 msgid "Invalid path" msgstr "無效路徑" -#: src/components/common/PathSelector.vue:247 src/views/file/ListView.vue:143 -#: src/views/file/ListView.vue:764 src/views/file/ToolBar.vue:43 +#: src/components/common/PathSelector.vue:247 +#: src/views/file/ListView.vue:143 +#: src/views/file/ListView.vue:764 +#: src/views/file/ToolBar.vue:43 msgid "Invalid name" msgstr "無效的名稱" #: src/components/common/PathSelector.vue:257 #: src/components/file-editor/FileTree.vue:285 -#: src/views/app/TemplateDeployModal.vue:236 src/views/backup/ListView.vue:128 +#: src/views/app/TemplateDeployModal.vue:236 +#: src/views/backup/ListView.vue:128 #: src/views/backup/StorageView.vue:156 #: src/views/cert/CreateAccountModal.vue:54 -#: src/views/cert/CreateCertModal.vue:74 src/views/cert/CreateDnsModal.vue:43 +#: src/views/cert/CreateCertModal.vue:74 +#: src/views/cert/CreateDnsModal.vue:43 #: src/views/cert/UploadCertModal.vue:25 #: src/views/container/ComposeView.vue:269 #: src/views/container/ContainerCreate.vue:107 @@ -472,19 +548,24 @@ msgstr "無效的名稱" #: src/views/database/CreateDatabaseModal.vue:47 #: src/views/database/CreateUserModal.vue:50 #: src/views/database/ElasticsearchDataView.vue:270 -#: src/views/file/ListView.vue:152 src/views/firewall/CreateForwardModal.vue:43 -#: src/views/setting/CreateModal.vue:23 src/views/setting/TokenModal.vue:128 -#: src/views/ssh/CreateModal.vue:40 src/views/task/CreateModal.vue:112 +#: src/views/file/ListView.vue:152 +#: src/views/firewall/CreateForwardModal.vue:43 +#: src/views/setting/CreateModal.vue:23 +#: src/views/setting/TokenModal.vue:128 +#: src/views/ssh/CreateModal.vue:40 +#: src/views/task/CreateModal.vue:112 #: src/views/toolbox/WebHookView.vue:262 msgid "Created successfully" msgstr "創建成功" #: src/components/common/PathSelector.vue:318 -#: src/views/file/PropertyModal.vue:34 src/views/file/ToolBar.vue:173 +#: src/views/file/PropertyModal.vue:34 +#: src/views/file/ToolBar.vue:173 msgid "File" msgstr "文件" -#: src/components/common/PathSelector.vue:319 src/views/file/ToolBar.vue:174 +#: src/components/common/PathSelector.vue:319 +#: src/views/file/ToolBar.vue:174 msgid "Folder" msgstr "文件夾" @@ -492,14 +573,16 @@ msgstr "文件夾" #: src/components/common/PathSelector.vue:386 #: src/views/app/TemplateDeployModal.vue:651 #: src/views/container/ContainerCreate.vue:539 -#: src/views/project/CreateModal.vue:686 src/views/setting/TokenModal.vue:276 +#: src/views/project/CreateModal.vue:686 +#: src/views/setting/TokenModal.vue:276 #: src/views/toolbox/WebHookView.vue:364 #: src/views/website/BulkCreateModal.vue:240 #: src/views/website/CreateModal.vue:342 msgid "Create" msgstr "創建" -#: src/components/common/PathSelector.vue:332 src/views/file/PathInput.vue:155 +#: src/components/common/PathSelector.vue:332 +#: src/views/file/PathInput.vue:155 msgid "Root Directory" msgstr "根目錄" @@ -509,14 +592,21 @@ msgstr "根目錄" #: src/views/apps/nginx/NginxIndex.vue:810 #: src/views/apps/pureftpd/IndexView.vue:264 #: src/views/apps/pureftpd/IndexView.vue:286 -#: src/views/apps/rsync/IndexView.vue:318 src/views/apps/s3fs/IndexView.vue:187 +#: src/views/apps/rsync/IndexView.vue:318 +#: src/views/apps/s3fs/IndexView.vue:187 #: src/views/apps/supervisor/IndexView.vue:447 -#: src/views/backup/ListView.vue:287 src/views/backup/ListView.vue:318 -#: src/views/backup/StorageView.vue:376 src/views/backup/StorageView.vue:524 -#: src/views/cert/AccountView.vue:271 src/views/cert/CertView.vue:574 -#: src/views/cert/CertView.vue:601 src/views/cert/CreateAccountModal.vue:128 -#: src/views/cert/CreateCertModal.vue:161 src/views/cert/CreateDnsModal.vue:197 -#: src/views/cert/DnsView.vue:335 src/views/cert/ObtainModal.vue:183 +#: src/views/backup/ListView.vue:287 +#: src/views/backup/ListView.vue:318 +#: src/views/backup/StorageView.vue:376 +#: src/views/backup/StorageView.vue:524 +#: src/views/cert/AccountView.vue:271 +#: src/views/cert/CertView.vue:574 +#: src/views/cert/CertView.vue:601 +#: src/views/cert/CreateAccountModal.vue:128 +#: src/views/cert/CreateCertModal.vue:161 +#: src/views/cert/CreateDnsModal.vue:197 +#: src/views/cert/DnsView.vue:335 +#: src/views/cert/ObtainModal.vue:183 #: src/views/cert/UploadCertModal.vue:62 #: src/views/container/ComposeView.vue:377 #: src/views/container/ComposeView.vue:403 @@ -532,12 +622,16 @@ msgstr "根目錄" #: src/views/database/RedisDataView.vue:331 #: src/views/database/RedisKeyModal.vue:141 #: src/views/database/UpdateServerModal.vue:121 -#: src/views/database/UpdateUserModal.vue:86 src/views/file/ToolBar.vue:253 +#: src/views/database/UpdateUserModal.vue:86 +#: src/views/file/ToolBar.vue:253 #: src/views/firewall/CreateForwardModal.vue:93 #: src/views/firewall/CreateIpModal.vue:124 -#: src/views/firewall/CreateModal.vue:158 src/views/setting/CreateModal.vue:71 -#: src/views/setting/PasswordModal.vue:51 src/views/setting/TwoFaModal.vue:93 -#: src/views/ssh/CreateModal.vue:109 src/views/ssh/UpdateModal.vue:115 +#: src/views/firewall/CreateModal.vue:158 +#: src/views/setting/CreateModal.vue:71 +#: src/views/setting/PasswordModal.vue:51 +#: src/views/setting/TwoFaModal.vue:93 +#: src/views/ssh/CreateModal.vue:109 +#: src/views/ssh/UpdateModal.vue:115 #: src/views/task/CreateModal.vue:518 msgid "Submit" msgstr "提交" @@ -569,16 +663,17 @@ msgid "Failed to connect" msgstr "連接失敗" #: src/components/common/PtyTerminalModal.vue:196 -msgid "" -"Command may still running. Closing the window will terminate the command. " -"Are you sure?" +msgid "Command may still running. Closing the window will terminate the command. Are you sure?" msgstr "命令可能仍在運行。關閉窗口將終止命令。您確定嗎?" -#: src/components/common/PtyTerminalModal.vue:252 src/locales/menu.ts:19 +#: src/components/common/PtyTerminalModal.vue:252 +#: src/locales/menu.ts:19 #: src/views/container/ContainerView.vue:122 #: src/views/container/ContainerView.vue:643 -#: src/views/database/ServerList.vue:173 src/views/file/ListView.vue:350 -#: src/views/file/ListView.vue:966 src/views/file/ToolBar.vue:182 +#: src/views/database/ServerList.vue:173 +#: src/views/file/ListView.vue:350 +#: src/views/file/ListView.vue:966 +#: src/views/file/ToolBar.vue:182 msgid "Terminal" msgstr "終端機" @@ -595,11 +690,14 @@ msgstr "獲取日誌流失敗" msgid "No logs available" msgstr "暫無日誌數據" -#: src/components/common/RealtimeLogModal.vue:203 src/locales/menu.ts:15 +#: src/components/common/RealtimeLogModal.vue:203 +#: src/locales/menu.ts:15 #: src/views/apps/supervisor/IndexView.vue:97 #: src/views/container/ContainerView.vue:135 -#: src/views/container/ContainerView.vue:611 src/views/project/ListView.vue:170 -#: src/views/project/ListView.vue:338 src/views/task/CronView.vue:148 +#: src/views/container/ContainerView.vue:611 +#: src/views/project/ListView.vue:170 +#: src/views/project/ListView.vue:338 +#: src/views/task/CronView.vue:148 #: src/views/task/TaskView.vue:84 msgid "Logs" msgstr "日誌" @@ -617,13 +715,15 @@ msgid "Clear Log" msgstr "清除日誌" #: src/components/common/RealtimeLogModal.vue:217 -#, fuzzy msgid "Are you sure you want to clear the log?" -msgstr "確定要清除嗎?" +msgstr "您確定要清除日誌嗎?" -#: src/components/common/ServiceStatus.vue:29 src/views/home/IndexView.vue:890 -#: src/views/home/IndexView.vue:898 src/views/home/IndexView.vue:905 -#: src/views/home/IndexView.vue:911 src/views/home/IndexView.vue:922 +#: src/components/common/ServiceStatus.vue:29 +#: src/views/home/IndexView.vue:890 +#: src/views/home/IndexView.vue:898 +#: src/views/home/IndexView.vue:905 +#: src/views/home/IndexView.vue:911 +#: src/views/home/IndexView.vue:922 #: src/views/home/IndexView.vue:934 msgid "Loading..." msgstr "載入中……" @@ -631,8 +731,10 @@ msgstr "載入中……" #: src/components/common/ServiceStatus.vue:30 #: src/views/app/InstalledView.vue:14 #: src/views/apps/prometheus/PrometheusExportersView.vue:44 -#: src/views/project/ListView.vue:69 src/views/task/TaskView.vue:43 -#: src/views/toolbox/ProcessView.vue:48 src/views/toolbox/ProcessView.vue:77 +#: src/views/project/ListView.vue:69 +#: src/views/task/TaskView.vue:43 +#: src/views/toolbox/ProcessView.vue:48 +#: src/views/toolbox/ProcessView.vue:77 #: src/views/website/ListView.vue:115 msgid "Running" msgstr "運行中" @@ -640,7 +742,8 @@ msgstr "運行中" #: src/components/common/ServiceStatus.vue:30 #: src/views/app/InstalledView.vue:15 #: src/views/apps/prometheus/PrometheusExportersView.vue:45 -#: src/views/project/ListView.vue:71 src/views/toolbox/ProcessView.vue:50 +#: src/views/project/ListView.vue:71 +#: src/views/toolbox/ProcessView.vue:50 #: src/views/toolbox/ProcessView.vue:83 msgid "Stopped" msgstr "已停止" @@ -652,7 +755,8 @@ msgstr "正在啟動……" #: src/components/common/ServiceStatus.vue:52 #: src/views/apps/prometheus/PrometheusExportersView.vue:117 #: src/views/apps/supervisor/IndexView.vue:264 -#: src/views/project/ListView.vue:229 src/views/website/ListView.vue:331 +#: src/views/project/ListView.vue:229 +#: src/views/website/ListView.vue:331 msgid "Started successfully" msgstr "啟動成功" @@ -664,7 +768,8 @@ msgstr "停止中..." #: src/components/common/ServiceStatus.vue:67 #: src/views/apps/prometheus/PrometheusExportersView.vue:124 #: src/views/apps/supervisor/IndexView.vue:271 -#: src/views/project/ListView.vue:224 src/views/website/ListView.vue:333 +#: src/views/project/ListView.vue:224 +#: src/views/website/ListView.vue:333 msgid "Stopped successfully" msgstr "停止成功" @@ -743,7 +848,8 @@ msgstr "自動啟動關閉" #: src/views/apps/supervisor/IndexView.vue:123 #: src/views/container/ComposeView.vue:173 #: src/views/container/ContainerView.vue:159 -#: src/views/container/ContainerView.vue:564 src/views/project/ListView.vue:129 +#: src/views/container/ContainerView.vue:564 +#: src/views/project/ListView.vue:129 #: src/views/toolbox/MigrationView.vue:256 msgid "Start" msgstr "開始" @@ -753,7 +859,8 @@ msgstr "開始" #: src/views/apps/supervisor/IndexView.vue:148 #: src/views/container/ComposeView.vue:212 #: src/views/container/ContainerView.vue:164 -#: src/views/container/ContainerView.vue:567 src/views/project/ListView.vue:129 +#: src/views/container/ContainerView.vue:567 +#: src/views/project/ListView.vue:129 msgid "Stop" msgstr "停止" @@ -765,7 +872,8 @@ msgstr "您確定要停止 %{ service } 嗎?" #: src/views/apps/prometheus/PrometheusExportersView.vue:76 #: src/views/apps/supervisor/IndexView.vue:176 #: src/views/container/ContainerView.vue:169 -#: src/views/container/ContainerView.vue:570 src/views/home/IndexView.vue:554 +#: src/views/container/ContainerView.vue:570 +#: src/views/home/IndexView.vue:554 #: src/views/project/ListView.vue:145 msgid "Restart" msgstr "重啟" @@ -815,8 +923,10 @@ msgstr "儲存檔案失敗" #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:92 #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:118 #: src/views/apps/elasticsearch/IndexView.vue:76 -#: src/views/apps/frp/IndexView.vue:71 src/views/apps/frp/IndexView.vue:86 -#: src/views/apps/frp/IndexView.vue:99 src/views/apps/frp/IndexView.vue:114 +#: src/views/apps/frp/IndexView.vue:71 +#: src/views/apps/frp/IndexView.vue:86 +#: src/views/apps/frp/IndexView.vue:99 +#: src/views/apps/frp/IndexView.vue:114 #: src/views/apps/gitea/IndexView.vue:50 #: src/views/apps/grafana/GrafanaConfigTuneView.vue:170 #: src/views/apps/grafana/GrafanaConfigTuneView.vue:199 @@ -886,21 +996,30 @@ msgstr "儲存檔案失敗" #: src/views/apps/valkey/ValkeyConfigTuneView.vue:145 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:168 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:188 -#: 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:384 #: src/views/environment/PhpConfigTuneView.vue:429 #: src/views/environment/PhpConfigTuneView.vue:485 #: src/views/environment/PhpConfigTuneView.vue:557 -#: src/views/environment/PHPView.vue:256 src/views/environment/PHPView.vue:274 -#: src/views/environment/PythonView.vue:97 src/views/file/EditModal.vue:110 -#: src/views/firewall/SettingView.vue:135 src/views/project/EditModal.vue:582 -#: src/views/setting/IndexView.vue:169 src/views/task/CreateModal.vue:518 -#: src/views/task/CronView.vue:361 src/views/toolbox/SshView.vue:239 -#: src/views/toolbox/SystemView.vue:190 src/views/toolbox/SystemView.vue:214 -#: src/views/toolbox/SystemView.vue:232 src/views/toolbox/SystemView.vue:270 -#: src/views/toolbox/SystemView.vue:342 src/views/toolbox/WebHookView.vue:402 +#: src/views/environment/PHPView.vue:256 +#: src/views/environment/PHPView.vue:274 +#: src/views/environment/PythonView.vue:97 +#: src/views/file/EditModal.vue:110 +#: src/views/firewall/SettingView.vue:135 +#: src/views/project/EditModal.vue:582 +#: src/views/setting/IndexView.vue:169 +#: src/views/task/CreateModal.vue:518 +#: src/views/task/CronView.vue:361 +#: src/views/toolbox/SshView.vue:239 +#: src/views/toolbox/SystemView.vue:190 +#: src/views/toolbox/SystemView.vue:214 +#: src/views/toolbox/SystemView.vue:232 +#: src/views/toolbox/SystemView.vue:270 +#: src/views/toolbox/SystemView.vue:342 +#: src/views/toolbox/WebHookView.vue:402 #: src/views/website/EditModal.vue:2076 msgid "Save" msgstr "儲存" @@ -976,12 +1095,17 @@ msgstr "此文件有未保存的更改。刷新將丟棄它們。是否繼續? #: src/components/file-editor/EditorToolbar.vue:100 #: src/components/file-editor/EditorToolbar.vue:200 #: src/components/file-editor/EditorToolbar.vue:205 -#: src/components/file-editor/FileTree.vue:696 src/views/file/PathInput.vue:133 -#: src/views/log/DatabaseLog.vue:131 src/views/log/HttpLog.vue:156 -#: src/views/log/OperationLog.vue:183 src/views/log/SSHLog.vue:113 +#: src/components/file-editor/FileTree.vue:696 +#: src/views/file/PathInput.vue:133 +#: src/views/log/DatabaseLog.vue:131 +#: src/views/log/HttpLog.vue:156 +#: src/views/log/OperationLog.vue:183 +#: src/views/log/SSHLog.vue:113 #: src/views/toolbox/MigrationView.vue:587 -#: src/views/toolbox/NetworkView.vue:188 src/views/toolbox/PanelView.vue:99 -#: src/views/toolbox/PanelView.vue:232 src/views/toolbox/ProcessView.vue:335 +#: src/views/toolbox/NetworkView.vue:188 +#: src/views/toolbox/PanelView.vue:99 +#: src/views/toolbox/PanelView.vue:232 +#: src/views/toolbox/ProcessView.vue:335 #: src/views/website/StatsView.vue:176 msgid "Refresh" msgstr "重新整理" @@ -1007,8 +1131,10 @@ msgid "Search (Ctrl+F)" msgstr "搜索(Ctrl+F)" #: src/components/file-editor/EditorToolbar.vue:221 -#: src/components/file-editor/FileTree.vue:718 src/views/app/AppView.vue:250 -#: src/views/app/EnvironmentView.vue:235 src/views/app/TemplateView.vue:101 +#: src/components/file-editor/FileTree.vue:718 +#: src/views/app/AppView.vue:250 +#: src/views/app/EnvironmentView.vue:235 +#: src/views/app/TemplateView.vue:101 #: src/views/database/ElasticsearchDataView.vue:321 #: src/views/database/RedisDataView.vue:264 msgid "Search" @@ -1039,7 +1165,8 @@ msgid "Toggle Minimap" msgstr "切換小地圖" #: src/components/file-editor/EditorToolbar.vue:291 -#: src/views/firewall/IndexView.vue:25 src/views/ssh/IndexView.vue:570 +#: src/views/firewall/IndexView.vue:25 +#: src/views/ssh/IndexView.vue:570 #: src/views/website/IndexView.vue:30 msgid "Settings" msgstr "設置" @@ -1115,14 +1242,22 @@ msgid "Render Whitespace" msgstr "渲染空格" #: src/components/file-editor/FileEditorView.vue:207 -#: src/views/apps/docker/IndexView.vue:83 src/views/cert/CertView.vue:86 -#: src/views/cert/CertView.vue:140 src/views/cert/CertView.vue:151 -#: src/views/cert/CertView.vue:169 src/views/container/ContainerCreate.vue:51 -#: src/views/database/ServerList.vue:76 src/views/database/ServerList.vue:91 -#: src/views/database/UserList.vue:27 src/views/database/UserList.vue:67 -#: src/views/firewall/ForwardView.vue:25 src/views/firewall/IpRuleView.vue:25 -#: src/views/firewall/IpRuleView.vue:42 src/views/firewall/RuleView.vue:42 -#: src/views/firewall/RuleView.vue:59 src/views/toolbox/MigrationView.vue:478 +#: src/views/apps/docker/IndexView.vue:83 +#: src/views/cert/CertView.vue:86 +#: src/views/cert/CertView.vue:140 +#: src/views/cert/CertView.vue:151 +#: src/views/cert/CertView.vue:169 +#: src/views/container/ContainerCreate.vue:51 +#: src/views/database/ServerList.vue:76 +#: src/views/database/ServerList.vue:91 +#: src/views/database/UserList.vue:27 +#: src/views/database/UserList.vue:67 +#: src/views/firewall/ForwardView.vue:25 +#: src/views/firewall/IpRuleView.vue:25 +#: src/views/firewall/IpRuleView.vue:42 +#: src/views/firewall/RuleView.vue:42 +#: src/views/firewall/RuleView.vue:59 +#: src/views/toolbox/MigrationView.vue:478 #: src/views/toolbox/MigrationView.vue:479 #: src/views/toolbox/MigrationView.vue:558 #: src/views/toolbox/MigrationView.vue:573 @@ -1142,9 +1277,12 @@ msgid "Trailing" msgstr "尾部" #: src/components/file-editor/FileEditorView.vue:211 -#: src/views/app/AppView.vue:235 src/views/app/EnvironmentView.vue:220 -#: src/views/app/TemplateView.vue:86 src/views/firewall/RuleView.vue:217 -#: src/views/project/IndexView.vue:21 src/views/website/IndexView.vue:25 +#: src/views/app/AppView.vue:235 +#: src/views/app/EnvironmentView.vue:220 +#: src/views/app/TemplateView.vue:86 +#: src/views/firewall/RuleView.vue:217 +#: src/views/project/IndexView.vue:21 +#: src/views/website/IndexView.vue:25 #: src/views/website/stats/ErrorsTab.vue:18 msgid "All" msgstr "全部" @@ -1237,7 +1375,8 @@ msgstr "粘貼時格式化" msgid "Format On Type" msgstr "輸入時格式化" -#: src/components/file-editor/FileTree.vue:154 src/views/file/EditModal.vue:137 +#: src/components/file-editor/FileTree.vue:154 +#: src/views/file/EditModal.vue:137 msgid "Failed to load file" msgstr "加載文件失敗" @@ -1245,12 +1384,14 @@ msgstr "加載文件失敗" msgid "Failed to create" msgstr "創建失敗" -#: src/components/file-editor/FileTree.vue:379 src/views/file/ListView.vue:1383 +#: src/components/file-editor/FileTree.vue:379 +#: src/views/file/ListView.vue:1383 #: src/views/file/ListView.vue:1404 msgid "Folder name" msgstr "文件夾名" -#: src/components/file-editor/FileTree.vue:379 src/views/file/ListView.vue:1383 +#: src/components/file-editor/FileTree.vue:379 +#: src/views/file/ListView.vue:1383 #: src/views/file/ListView.vue:1404 msgid "File name" msgstr "文件名" @@ -1259,7 +1400,8 @@ msgstr "文件名" #: src/views/container/ContainerView.vue:151 #: src/views/container/ContainerView.vue:622 #: src/views/file/composables/usePaste.ts:40 -#: src/views/file/composables/usePaste.ts:156 src/views/file/ListView.vue:348 +#: src/views/file/composables/usePaste.ts:156 +#: src/views/file/ListView.vue:348 #: src/views/file/ListView.vue:1552 msgid "Rename" msgstr "重新命名" @@ -1276,38 +1418,57 @@ msgstr "重新命名" #: src/views/apps/pureftpd/IndexView.vue:92 #: src/views/apps/rsync/IndexView.vue:107 #: src/views/apps/supervisor/IndexView.vue:203 -#: src/views/backup/ListView.vue:101 src/views/backup/StorageView.vue:129 -#: src/views/cert/AccountView.vue:128 src/views/cert/CertView.vue:317 -#: src/views/cert/DnsView.vue:116 src/views/container/ComposeView.vue:243 +#: src/views/backup/ListView.vue:101 +#: src/views/backup/StorageView.vue:129 +#: src/views/cert/AccountView.vue:128 +#: src/views/cert/CertView.vue:317 +#: src/views/cert/DnsView.vue:116 +#: src/views/container/ComposeView.vue:243 #: src/views/container/ComposeView.vue:323 #: src/views/container/ContainerView.vue:189 #: src/views/container/ContainerView.vue:582 -#: src/views/container/ImageView.vue:109 src/views/container/ImageView.vue:274 +#: src/views/container/ImageView.vue:109 +#: src/views/container/ImageView.vue:274 #: src/views/container/NetworkView.vue:136 #: src/views/container/NetworkView.vue:215 -#: src/views/container/VolumeView.vue:89 src/views/container/VolumeView.vue:168 +#: src/views/container/VolumeView.vue:89 +#: src/views/container/VolumeView.vue:168 #: src/views/database/DatabaseList.vue:91 #: src/views/database/ElasticsearchDataView.vue:146 #: src/views/database/ElasticsearchDataView.vue:205 #: src/views/database/RedisDataView.vue:165 -#: src/views/database/ServerList.vue:253 src/views/database/UserList.vue:171 -#: src/views/environment/PHPView.vue:119 src/views/file/ListView.vue:311 -#: src/views/file/ListView.vue:355 src/views/file/ListView.vue:1557 -#: src/views/file/ToolBar.vue:220 src/views/firewall/ForwardView.vue:103 -#: src/views/firewall/ForwardView.vue:168 src/views/firewall/IpRuleView.vue:145 -#: src/views/firewall/IpRuleView.vue:210 src/views/firewall/RuleView.vue:249 -#: src/views/firewall/RuleView.vue:314 src/views/project/ListView.vue:199 -#: src/views/project/ListView.vue:307 src/views/setting/PasskeyModal.vue:70 -#: src/views/setting/SettingUser.vue:154 src/views/setting/TokenModal.vue:93 -#: src/views/ssh/IndexView.vue:132 src/views/task/CronView.vue:181 -#: src/views/task/IndexView.vue:36 src/views/task/TaskView.vue:107 -#: src/views/toolbox/WebHookView.vue:181 src/views/website/ListView.vue:298 +#: src/views/database/ServerList.vue:253 +#: src/views/database/UserList.vue:171 +#: src/views/environment/PHPView.vue:119 +#: src/views/file/ListView.vue:311 +#: src/views/file/ListView.vue:355 +#: src/views/file/ListView.vue:1557 +#: src/views/file/ToolBar.vue:220 +#: src/views/firewall/ForwardView.vue:103 +#: src/views/firewall/ForwardView.vue:168 +#: src/views/firewall/IpRuleView.vue:145 +#: src/views/firewall/IpRuleView.vue:210 +#: src/views/firewall/RuleView.vue:249 +#: src/views/firewall/RuleView.vue:314 +#: src/views/project/ListView.vue:199 +#: src/views/project/ListView.vue:307 +#: src/views/setting/PasskeyModal.vue:70 +#: src/views/setting/SettingUser.vue:154 +#: src/views/setting/TokenModal.vue:93 +#: src/views/ssh/IndexView.vue:132 +#: src/views/task/CronView.vue:181 +#: src/views/task/IndexView.vue:36 +#: src/views/task/TaskView.vue:107 +#: src/views/toolbox/WebHookView.vue:181 +#: src/views/website/ListView.vue:298 #: src/views/website/ListView.vue:401 msgid "Delete" msgstr "刪除" -#: src/components/file-editor/FileTree.vue:482 src/views/file/ListView.vue:345 -#: src/views/file/ListView.vue:1547 src/views/monitor/IndexView.vue:602 +#: src/components/file-editor/FileTree.vue:482 +#: src/views/file/ListView.vue:345 +#: src/views/file/ListView.vue:1547 +#: src/views/monitor/IndexView.vue:602 #: src/views/toolbox/SshView.vue:301 msgid "Download" msgstr "下載" @@ -1322,7 +1483,8 @@ msgstr "重命名失敗" #: src/components/file-editor/FileTree.vue:602 #: src/views/apps/nginx/NginxIndex.vue:214 -#: src/views/apps/nginx/NginxIndex.vue:290 src/views/file/ListView.vue:1560 +#: src/views/apps/nginx/NginxIndex.vue:290 +#: src/views/file/ListView.vue:1560 msgid "Are you sure you want to delete %{ name }?" msgstr "您確定要刪除 %{ name } 嗎?" @@ -1332,9 +1494,11 @@ msgstr "您確定要刪除 %{ name } 嗎?" #: src/views/apps/nginx/NginxIndex.vue:430 #: src/views/apps/nginx/NginxIndex.vue:512 #: src/views/apps/pureftpd/IndexView.vue:164 -#: src/views/apps/rsync/IndexView.vue:170 src/views/apps/s3fs/IndexView.vue:95 +#: src/views/apps/rsync/IndexView.vue:170 +#: src/views/apps/s3fs/IndexView.vue:95 #: src/views/apps/supervisor/IndexView.vue:285 -#: src/views/backup/ListView.vue:155 src/views/backup/StorageView.vue:189 +#: src/views/backup/ListView.vue:155 +#: src/views/backup/StorageView.vue:189 #: src/views/container/ImageView.vue:155 #: src/views/container/NetworkView.vue:182 #: src/views/container/VolumeView.vue:135 @@ -1342,17 +1506,28 @@ msgstr "您確定要刪除 %{ name } 嗎?" #: src/views/database/ElasticsearchDataView.vue:248 #: src/views/database/ElasticsearchDataView.vue:257 #: src/views/database/RedisDataView.vue:197 -#: src/views/database/ServerList.vue:277 src/views/database/UserList.vue:195 -#: src/views/file/ListView.vue:832 src/views/file/ListView.vue:852 -#: src/views/file/ToolBar.vue:114 src/views/firewall/ForwardView.vue:129 -#: src/views/firewall/ForwardView.vue:147 src/views/firewall/IpRuleView.vue:171 -#: src/views/firewall/IpRuleView.vue:189 src/views/firewall/RuleView.vue:275 -#: src/views/firewall/RuleView.vue:293 src/views/project/ListView.vue:275 -#: src/views/project/ListView.vue:285 src/views/setting/PasskeyModal.vue:102 -#: src/views/setting/SettingUser.vue:189 src/views/setting/TokenModal.vue:116 -#: src/views/task/CronView.vue:247 src/views/task/CronView.vue:257 -#: src/views/task/TaskView.vue:132 src/views/toolbox/WebHookView.vue:238 -#: src/views/website/ListView.vue:366 src/views/website/ListView.vue:376 +#: src/views/database/ServerList.vue:277 +#: src/views/database/UserList.vue:195 +#: src/views/file/ListView.vue:832 +#: src/views/file/ListView.vue:852 +#: src/views/file/ToolBar.vue:114 +#: src/views/firewall/ForwardView.vue:129 +#: src/views/firewall/ForwardView.vue:147 +#: src/views/firewall/IpRuleView.vue:171 +#: src/views/firewall/IpRuleView.vue:189 +#: src/views/firewall/RuleView.vue:275 +#: src/views/firewall/RuleView.vue:293 +#: src/views/project/ListView.vue:275 +#: src/views/project/ListView.vue:285 +#: src/views/setting/PasskeyModal.vue:102 +#: src/views/setting/SettingUser.vue:189 +#: src/views/setting/TokenModal.vue:116 +#: src/views/task/CronView.vue:247 +#: src/views/task/CronView.vue:257 +#: src/views/task/TaskView.vue:132 +#: src/views/toolbox/WebHookView.vue:238 +#: src/views/website/ListView.vue:366 +#: src/views/website/ListView.vue:376 msgid "Deleted successfully" msgstr "刪除成功" @@ -1364,15 +1539,18 @@ msgstr "刪除失敗" msgid "Go Up" msgstr "上一級" -#: src/components/file-editor/FileTree.vue:703 src/views/file/ListView.vue:292 +#: src/components/file-editor/FileTree.vue:703 +#: src/views/file/ListView.vue:292 msgid "New File" msgstr "新文件" -#: src/components/file-editor/FileTree.vue:704 src/views/file/ListView.vue:293 +#: src/components/file-editor/FileTree.vue:704 +#: src/views/file/ListView.vue:293 msgid "New Folder" msgstr "新文件夾" -#: src/components/file-editor/FileTree.vue:708 src/views/file/ToolBar.vue:178 +#: src/components/file-editor/FileTree.vue:708 +#: src/views/file/ToolBar.vue:178 msgid "New" msgstr "新建" @@ -1429,7 +1607,8 @@ msgstr "切換主題" #: src/layouts/header/components/UserAvatar.vue:13 #: src/views/apps/pureftpd/IndexView.vue:69 #: src/views/apps/pureftpd/IndexView.vue:271 -#: src/views/setting/PasswordModal.vue:33 src/views/setting/SettingUser.vue:132 +#: src/views/setting/PasswordModal.vue:33 +#: src/views/setting/SettingUser.vue:132 msgid "Change Password" msgstr "更改密碼" @@ -1450,12 +1629,16 @@ msgid "Logged out successfully!" msgstr "成功登出!" #: src/layouts/header/components/UserAvatar.vue:48 -#: src/views/cert/DnsView.vue:59 src/views/firewall/IpRuleView.vue:76 -#: src/views/firewall/IpRuleView.vue:101 src/views/firewall/RuleView.vue:177 -#: src/views/firewall/RuleView.vue:202 src/views/toolbox/DiskView.vue:176 +#: src/views/cert/DnsView.vue:59 +#: src/views/firewall/IpRuleView.vue:76 +#: src/views/firewall/IpRuleView.vue:101 +#: src/views/firewall/RuleView.vue:177 +#: src/views/firewall/RuleView.vue:202 +#: src/views/toolbox/DiskView.vue:176 #: 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 "未知" @@ -1479,25 +1662,32 @@ msgstr "關閉右側" msgid "Apps" msgstr "應用程式" -#: src/locales/menu.ts:8 src/views/task/CreateModal.vue:134 +#: src/locales/menu.ts:8 +#: src/views/task/CreateModal.vue:134 msgid "Backup" msgstr "備份" -#: src/locales/menu.ts:9 src/views/cert/CertView.vue:536 -#: src/views/cert/CertView.vue:616 src/views/cert/IndexView.vue:96 -#: src/views/cert/UploadCertModal.vue:45 src/views/setting/SettingSafe.vue:275 +#: src/locales/menu.ts:9 +#: src/views/cert/CertView.vue:536 +#: src/views/cert/CertView.vue:616 +#: src/views/cert/IndexView.vue:96 +#: src/views/cert/UploadCertModal.vue:45 +#: src/views/setting/SettingSafe.vue:275 #: src/views/website/EditModal.vue:1644 msgid "Certificate" msgstr "證書" -#: src/locales/menu.ts:10 src/views/home/IndexView.vue:524 +#: src/locales/menu.ts:10 +#: src/views/home/IndexView.vue:524 #: src/views/task/CreateModal.vue:439 msgid "Container" msgstr "容器" -#: src/locales/menu.ts:11 src/views/apps/grafana/GrafanaConfigTuneView.vue:175 +#: src/locales/menu.ts:11 +#: src/views/apps/grafana/GrafanaConfigTuneView.vue:175 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:197 -#: src/views/backup/ListView.vue:308 src/views/home/IndexView.vue:533 +#: src/views/backup/ListView.vue:308 +#: src/views/home/IndexView.vue:533 #: src/views/toolbox/MigrationView.vue:545 #: src/views/website/CreateModal.vue:248 msgid "Database" @@ -1519,7 +1709,8 @@ msgstr "首頁" msgid "Monitoring" msgstr "監控" -#: src/locales/menu.ts:17 src/views/home/IndexView.vue:538 +#: src/locales/menu.ts:17 +#: src/views/home/IndexView.vue:538 msgid "Project" msgstr "項目" @@ -1535,10 +1726,13 @@ msgstr "任務" msgid "Toolbox" msgstr "工具箱" -#: src/locales/menu.ts:22 src/views/app/AppView.vue:97 -#: src/views/app/EnvironmentView.vue:79 src/views/app/InstalledView.vue:103 +#: src/locales/menu.ts:22 +#: src/views/app/AppView.vue:97 +#: src/views/app/EnvironmentView.vue:79 +#: src/views/app/InstalledView.vue:103 #: src/views/app/InstalledView.vue:212 -#: src/views/app/TemplateDeployModal.vue:651 src/views/home/IndexView.vue:562 +#: src/views/app/TemplateDeployModal.vue:651 +#: src/views/home/IndexView.vue:562 #: src/views/setting/TokenModal.vue:309 msgid "Update" msgstr "更新" @@ -1567,40 +1761,52 @@ msgstr "Rsync 管理器" msgid "Frp Manager" msgstr "Frp 管理器" -#: src/router/routes/index.ts:18 src/views/login/IndexView.vue:303 +#: src/router/routes/index.ts:18 +#: src/views/login/IndexView.vue:303 msgid "Login" msgstr "登錄" -#: src/views/app/AppView.vue:17 src/views/app/AppView.vue:156 -#: src/views/app/AppView.vue:161 src/views/app/EnvironmentView.vue:146 +#: src/views/app/AppView.vue:17 +#: src/views/app/AppView.vue:156 +#: src/views/app/AppView.vue:161 +#: src/views/app/EnvironmentView.vue:146 #: src/views/apps/prometheus/PrometheusExportersView.vue:62 #: src/views/environment/PHPView.vue:92 msgid "Install" msgstr "安裝" -#: src/views/app/AppView.vue:35 src/views/app/InstalledView.vue:32 +#: src/views/app/AppView.vue:35 +#: src/views/app/InstalledView.vue:32 msgid "App Name" msgstr "應用名稱" -#: src/views/app/AppView.vue:41 src/views/app/EnvironmentView.vue:34 -#: src/views/app/InstalledView.vue:38 src/views/app/InstalledView.vue:173 +#: src/views/app/AppView.vue:41 +#: src/views/app/EnvironmentView.vue:34 +#: src/views/app/InstalledView.vue:38 +#: src/views/app/InstalledView.vue:173 #: src/views/apps/prometheus/PrometheusExportersView.vue:30 -#: src/views/environment/PHPView.vue:61 src/views/project/EditModal.vue:193 +#: src/views/environment/PHPView.vue:61 +#: src/views/project/EditModal.vue:193 #: src/views/project/ListView.vue:43 msgid "Description" msgstr "描述" -#: src/views/app/AppView.vue:47 src/views/app/EnvironmentView.vue:46 -#: src/views/app/InstalledView.vue:44 src/views/app/InstalledView.vue:179 +#: src/views/app/AppView.vue:47 +#: src/views/app/EnvironmentView.vue:46 +#: src/views/app/InstalledView.vue:44 +#: src/views/app/InstalledView.vue:179 msgid "Installed Version" msgstr "已安裝版本" -#: src/views/app/AppView.vue:53 src/views/app/InstalledView.vue:59 +#: src/views/app/AppView.vue:53 +#: src/views/app/InstalledView.vue:59 msgid "Show in Home" msgstr "在主頁顯示" -#: src/views/app/AppView.vue:66 src/views/app/EnvironmentView.vue:52 -#: src/views/app/InstalledView.vue:72 src/views/app/InstalledView.vue:185 +#: src/views/app/AppView.vue:66 +#: src/views/app/EnvironmentView.vue:52 +#: src/views/app/InstalledView.vue:72 +#: src/views/app/InstalledView.vue:185 #: src/views/apps/fail2ban/IndexView.vue:61 #: src/views/apps/fail2ban/IndexView.vue:120 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:95 @@ -1609,66 +1815,88 @@ msgstr "在主頁顯示" #: src/views/apps/nginx/NginxIndex.vue:751 #: src/views/apps/prometheus/PrometheusExportersView.vue:49 #: src/views/apps/pureftpd/IndexView.vue:50 -#: src/views/apps/rsync/IndexView.vue:70 src/views/apps/s3fs/IndexView.vue:33 -#: src/views/apps/supervisor/IndexView.vue:82 src/views/backup/ListView.vue:62 -#: src/views/backup/StorageView.vue:92 src/views/cert/AccountView.vue:80 -#: src/views/cert/CertView.vue:187 src/views/cert/DnsView.vue:67 +#: src/views/apps/rsync/IndexView.vue:70 +#: src/views/apps/s3fs/IndexView.vue:33 +#: src/views/apps/supervisor/IndexView.vue:82 +#: src/views/backup/ListView.vue:62 +#: src/views/backup/StorageView.vue:92 +#: src/views/cert/AccountView.vue:80 +#: src/views/cert/CertView.vue:187 +#: src/views/cert/DnsView.vue:67 #: src/views/container/ComposeView.vue:100 #: src/views/container/ContainerView.vue:107 -#: src/views/container/ImageView.vue:84 src/views/container/NetworkView.vue:110 -#: src/views/container/VolumeView.vue:64 src/views/database/DatabaseList.vue:67 +#: src/views/container/ImageView.vue:84 +#: src/views/container/NetworkView.vue:110 +#: src/views/container/VolumeView.vue:64 +#: src/views/database/DatabaseList.vue:67 #: src/views/database/ElasticsearchDataView.vue:114 #: src/views/database/ElasticsearchDataView.vue:171 #: src/views/database/RedisDataView.vue:117 -#: src/views/database/ServerList.vue:159 src/views/database/UserList.vue:133 -#: src/views/environment/PHPView.vue:68 src/views/file/ListView.vue:1365 -#: src/views/firewall/ForwardView.vue:79 src/views/firewall/IpRuleView.vue:121 -#: src/views/firewall/RuleView.vue:225 src/views/firewall/ScanView.vue:254 -#: src/views/project/ListView.vue:116 src/views/setting/PasskeyModal.vue:48 -#: src/views/setting/SettingUser.vue:85 src/views/setting/TokenModal.vue:54 -#: src/views/task/CronView.vue:117 src/views/task/TaskView.vue:65 -#: src/views/toolbox/DiskView.vue:344 src/views/toolbox/DiskView.vue:830 -#: src/views/toolbox/WebHookView.vue:133 src/views/website/ListView.vue:226 +#: src/views/database/ServerList.vue:159 +#: src/views/database/UserList.vue:133 +#: src/views/environment/PHPView.vue:68 +#: src/views/file/ListView.vue:1365 +#: src/views/firewall/ForwardView.vue:79 +#: src/views/firewall/IpRuleView.vue:121 +#: src/views/firewall/RuleView.vue:225 +#: src/views/firewall/ScanView.vue:254 +#: src/views/project/ListView.vue:116 +#: src/views/setting/PasskeyModal.vue:48 +#: src/views/setting/SettingUser.vue:85 +#: src/views/setting/TokenModal.vue:54 +#: src/views/task/CronView.vue:117 +#: src/views/task/TaskView.vue:65 +#: src/views/toolbox/DiskView.vue:344 +#: src/views/toolbox/DiskView.vue:830 +#: src/views/toolbox/WebHookView.vue:133 +#: src/views/website/ListView.vue:226 msgid "Actions" msgstr "操作" -#: src/views/app/AppView.vue:84 src/views/app/InstalledView.vue:90 -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:84 +#: src/views/app/InstalledView.vue:90 +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:113 src/views/app/EnvironmentView.vue:95 -#: src/views/app/InstalledView.vue:118 src/views/app/InstalledView.vue:227 +#: src/views/app/AppView.vue:113 +#: src/views/app/EnvironmentView.vue:95 +#: src/views/app/InstalledView.vue:118 +#: src/views/app/InstalledView.vue:227 msgid "Manage" msgstr "管理" -#: src/views/app/AppView.vue:127 src/views/app/InstalledView.vue:129 -msgid "" -"Reinstalling/Switching to a different web server will reset the " -"configuration of all websites, are you sure to continue?" +#: src/views/app/AppView.vue:127 +#: src/views/app/InstalledView.vue:129 +msgid "Reinstalling/Switching to a different web server will reset the configuration of all websites, are you sure to continue?" msgstr "重新安裝/切換到不同的 Web 伺服器將重置所有網站的配置,您確定要繼續嗎?" -#: src/views/app/AppView.vue:131 src/views/app/InstalledView.vue:133 +#: src/views/app/AppView.vue:131 +#: src/views/app/InstalledView.vue:133 msgid "Are you sure to uninstall app %{ app }?" msgstr "您確定要卸載應用程式 %{ app } 嗎?" -#: src/views/app/AppView.vue:141 src/views/app/EnvironmentView.vue:119 -#: src/views/app/InstalledView.vue:143 src/views/app/InstalledView.vue:249 +#: src/views/app/AppView.vue:141 +#: src/views/app/EnvironmentView.vue:119 +#: src/views/app/InstalledView.vue:143 +#: src/views/app/InstalledView.vue:249 msgid "Uninstall" msgstr "卸載" -#: src/views/app/AppView.vue:196 src/views/app/InstalledView.vue:293 +#: src/views/app/AppView.vue:196 +#: src/views/app/InstalledView.vue:293 msgid "Setup successfully" msgstr "設置成功" -#: src/views/app/AppView.vue:203 src/views/app/AppView.vue:211 -#: src/views/app/EnvironmentView.vue:180 src/views/app/EnvironmentView.vue:188 -#: src/views/app/EnvironmentView.vue:196 src/views/app/InstalledView.vue:300 -#: src/views/app/InstalledView.vue:308 src/views/app/InstalledView.vue:321 -#: src/views/app/InstalledView.vue:329 src/views/app/VersionModal.vue:40 +#: src/views/app/AppView.vue:203 +#: src/views/app/AppView.vue:211 +#: src/views/app/EnvironmentView.vue:180 +#: src/views/app/EnvironmentView.vue:188 +#: src/views/app/EnvironmentView.vue:196 +#: src/views/app/InstalledView.vue:300 +#: src/views/app/InstalledView.vue:308 +#: src/views/app/InstalledView.vue:321 +#: src/views/app/InstalledView.vue:329 +#: src/views/app/VersionModal.vue:40 msgid "Task submitted, please check the progress in background tasks" msgstr "任務已提交,請在後台任務中查看進度" @@ -1676,11 +1904,13 @@ msgstr "任務已提交,請在後台任務中查看進度" msgid "Latest Version" msgstr "最新版本" -#: src/views/app/EnvironmentView.vue:67 src/views/app/InstalledView.vue:200 +#: src/views/app/EnvironmentView.vue:67 +#: src/views/app/InstalledView.vue:200 msgid "Are you sure to update environment %{ environment }?" msgstr "您確定要更新環境 %{ environment } 嗎?" -#: src/views/app/EnvironmentView.vue:107 src/views/app/InstalledView.vue:237 +#: src/views/app/EnvironmentView.vue:107 +#: src/views/app/InstalledView.vue:237 msgid "Are you sure to uninstall environment %{ environment }?" msgstr "您確定要卸載環境 %{ environment } 嗎?" @@ -1696,11 +1926,13 @@ msgstr "快取更新成功" msgid "Installed" msgstr "已安裝" -#: src/views/app/IndexView.vue:41 src/views/app/InstalledView.vue:348 +#: src/views/app/IndexView.vue:41 +#: src/views/app/InstalledView.vue:348 msgid "Native App" msgstr "原生應用" -#: src/views/app/IndexView.vue:42 src/views/app/InstalledView.vue:372 +#: src/views/app/IndexView.vue:42 +#: src/views/app/InstalledView.vue:372 msgid "Operating Environment" msgstr "運行環境" @@ -1713,29 +1945,35 @@ msgid "Update Cache" msgstr "更新快取" #: src/views/app/InstalledView.vue:16 -#, fuzzy msgid "Partial" -msgstr "分區" +msgstr "部分" #: src/views/app/InstalledView.vue:17 msgid "N/A" -msgstr "" +msgstr "不適用" -#: src/views/app/InstalledView.vue:50 src/views/apps/fail2ban/IndexView.vue:45 +#: src/views/app/InstalledView.vue:50 +#: src/views/apps/fail2ban/IndexView.vue:45 #: src/views/apps/phpmyadmin/IndexView.vue:67 #: src/views/apps/prometheus/PrometheusExportersView.vue:36 #: src/views/apps/supervisor/IndexView.vue:61 #: src/views/container/ComposeView.vue:84 #: src/views/container/ContainerView.vue:52 -#: src/views/database/ServerList.vue:138 src/views/database/UserList.vue:112 -#: src/views/firewall/RuleView.vue:78 src/views/log/HttpLog.vue:90 -#: src/views/log/SSHLog.vue:63 src/views/project/ListView.vue:58 -#: src/views/task/TaskView.vue:32 src/views/toolbox/disk/RaidView.vue:97 +#: src/views/database/ServerList.vue:138 +#: src/views/database/UserList.vue:112 +#: src/views/firewall/RuleView.vue:78 +#: src/views/log/HttpLog.vue:90 +#: src/views/log/SSHLog.vue:63 +#: src/views/project/ListView.vue:58 +#: src/views/task/TaskView.vue:32 +#: src/views/toolbox/disk/RaidView.vue:97 #: src/views/toolbox/disk/SmartView.vue:217 #: src/views/toolbox/MigrationView.vue:472 #: src/views/toolbox/MigrationView.vue:695 -#: src/views/toolbox/MigrationView.vue:782 src/views/toolbox/NetworkView.vue:96 -#: src/views/toolbox/ProcessView.vue:134 src/views/toolbox/ProcessView.vue:400 +#: src/views/toolbox/MigrationView.vue:782 +#: src/views/toolbox/NetworkView.vue:96 +#: src/views/toolbox/ProcessView.vue:134 +#: src/views/toolbox/ProcessView.vue:400 #: src/views/website/stats/ErrorsTab.vue:95 msgid "Status" msgstr "狀態" @@ -1760,9 +1998,12 @@ msgstr "請輸入編排名稱" msgid "Please select a compose" msgstr "請選擇一個編排" -#: src/views/app/TemplateDeployModal.vue:257 src/views/cert/AccountView.vue:164 -#: src/views/cert/CertView.vue:355 src/views/cert/CertView.vue:376 -#: src/views/cert/DnsView.vue:148 src/views/container/ComposeView.vue:287 +#: src/views/app/TemplateDeployModal.vue:257 +#: src/views/cert/AccountView.vue:164 +#: src/views/cert/CertView.vue:355 +#: src/views/cert/CertView.vue:376 +#: src/views/cert/DnsView.vue:148 +#: src/views/container/ComposeView.vue:287 msgid "Update successful" msgstr "更新成功" @@ -1837,7 +2078,8 @@ msgstr "自動放行在 compose 中定義的端口" #: src/views/container/ComposeView.vue:367 #: src/views/container/ComposeView.vue:393 #: src/views/container/ContainerCreate.vue:454 -#: src/views/project/EditModal.vue:380 src/views/toolbox/ProcessView.vue:446 +#: src/views/project/EditModal.vue:380 +#: src/views/toolbox/ProcessView.vue:446 msgid "Environment Variables" msgstr "環境變數" @@ -1859,9 +2101,7 @@ msgid "Compose File" msgstr "編排檔案" #: src/views/app/TemplateDeployModal.vue:566 -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:585 @@ -1887,8 +2127,10 @@ msgstr "更新現有" #: src/views/app/TemplateDeployModal.vue:605 #: src/views/app/TemplateDeployModal.vue:610 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:90 -#: src/views/apps/nginx/NginxIndex.vue:187 src/views/file/ListView.vue:846 -#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/apps/nginx/NginxIndex.vue:187 +#: src/views/file/ListView.vue:846 +#: src/views/file/PropertyModal.vue:55 +#: src/views/file/PropertyModal.vue:59 #: src/views/toolbox/WebHookView.vue:83 msgid "Yes" msgstr "是" @@ -1896,8 +2138,10 @@ msgstr "是" #: src/views/app/TemplateDeployModal.vue:605 #: src/views/app/TemplateDeployModal.vue:610 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:91 -#: src/views/apps/nginx/NginxIndex.vue:187 src/views/file/ListView.vue:847 -#: src/views/file/PropertyModal.vue:55 src/views/file/PropertyModal.vue:59 +#: src/views/apps/nginx/NginxIndex.vue:187 +#: src/views/file/ListView.vue:847 +#: src/views/file/PropertyModal.vue:55 +#: src/views/file/PropertyModal.vue:59 #: src/views/toolbox/WebHookView.vue:83 msgid "No" msgstr "否" @@ -1928,13 +2172,16 @@ msgstr "下一步" msgid "Starting Compose" msgstr "正在啟動編排" -#: src/views/app/TemplateView.vue:141 src/views/backup/StorageView.vue:75 -#: src/views/ssh/IndexView.vue:72 src/views/ssh/IndexView.vue:81 +#: src/views/app/TemplateView.vue:141 +#: src/views/backup/StorageView.vue:75 +#: src/views/ssh/IndexView.vue:72 +#: src/views/ssh/IndexView.vue:81 #: src/views/toolbox/MigrationView.vue:470 msgid "Local" msgstr "本地" -#: src/views/app/TemplateView.vue:151 src/views/cert/CertView.vue:226 +#: src/views/app/TemplateView.vue:151 +#: src/views/cert/CertView.vue:226 msgid "Deploy" msgstr "部署" @@ -1968,7 +2215,8 @@ msgstr "發行日誌" #: src/views/apps/prometheus/IndexView.vue:40 #: src/views/apps/redis/IndexView.vue:32 #: src/views/apps/rocketmq/IndexView.vue:32 -#: src/views/apps/valkey/IndexView.vue:32 src/views/environment/PHPView.vue:133 +#: src/views/apps/valkey/IndexView.vue:32 +#: src/views/environment/PHPView.vue:133 msgid "Property" msgstr "屬性" @@ -1986,7 +2234,8 @@ msgstr "屬性" #: src/views/apps/prometheus/IndexView.vue:47 #: src/views/apps/redis/IndexView.vue:39 #: src/views/apps/rocketmq/IndexView.vue:39 -#: src/views/apps/valkey/IndexView.vue:39 src/views/environment/PHPView.vue:140 +#: src/views/apps/valkey/IndexView.vue:39 +#: src/views/environment/PHPView.vue:140 msgid "Current Value" msgstr "當前值" @@ -2000,16 +2249,20 @@ msgstr "當前值" #: src/views/apps/supervisor/IndexView.vue:241 #: src/views/apps/supervisor/IndexView.vue:297 #: src/views/database/RedisDataView.vue:223 -#: src/views/environment/PHPView.vue:180 src/views/environment/PHPView.vue:187 -#: src/views/firewall/ScanView.vue:327 src/views/task/CronView.vue:21 -#: src/views/task/TaskView.vue:19 src/views/website/EditModal.vue:261 +#: src/views/environment/PHPView.vue:180 +#: src/views/environment/PHPView.vue:187 +#: src/views/firewall/ScanView.vue:327 +#: src/views/task/CronView.vue:21 +#: src/views/task/TaskView.vue:19 +#: src/views/website/EditModal.vue:261 #: src/views/website/StatsView.vue:93 msgid "Cleared successfully" msgstr "清除成功" #: src/views/apps/apache/IndexView.vue:74 #: src/views/apps/codeserver/IndexView.vue:40 -#: src/views/apps/frp/IndexView.vue:83 src/views/apps/frp/IndexView.vue:111 +#: src/views/apps/frp/IndexView.vue:83 +#: src/views/apps/frp/IndexView.vue:111 #: src/views/apps/gitea/IndexView.vue:38 #: src/views/apps/mysql/MysqlIndex.vue:144 #: src/views/apps/nginx/NginxIndex.vue:524 @@ -2019,11 +2272,8 @@ msgstr "修改配置" #: src/views/apps/apache/IndexView.vue:78 #: src/views/apps/nginx/NginxIndex.vue:528 -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:92 #: src/views/apps/clickhouse/IndexView.vue:135 @@ -2039,7 +2289,8 @@ msgstr "" #: src/views/apps/prometheus/IndexView.vue:129 #: src/views/apps/redis/IndexView.vue:84 #: src/views/apps/rocketmq/IndexView.vue:87 -#: src/views/apps/valkey/IndexView.vue:84 src/views/environment/PHPView.vue:279 +#: src/views/apps/valkey/IndexView.vue:84 +#: src/views/environment/PHPView.vue:279 #: src/views/home/IndexView.vue:574 msgid "Load Status" msgstr "負載狀態" @@ -2066,7 +2317,8 @@ msgstr "負載狀態" #: src/views/apps/rocketmq/IndexView.vue:97 #: src/views/apps/rsync/IndexView.vue:253 #: src/views/apps/supervisor/IndexView.vue:385 -#: src/views/apps/valkey/IndexView.vue:94 src/views/environment/PHPView.vue:289 +#: src/views/apps/valkey/IndexView.vue:94 +#: src/views/environment/PHPView.vue:289 msgid "Runtime Logs" msgstr "運行日誌" @@ -2078,8 +2330,10 @@ msgstr "錯誤日誌" #: src/views/apps/clickhouse/ClickHouseConfigTuneView.vue:68 #: src/views/apps/mongodb/MongoDBConfigTuneView.vue:79 -#: src/views/container/ContainerCreate.vue:211 src/views/home/IndexView.vue:187 -#: src/views/home/IndexView.vue:954 src/views/monitor/IndexView.vue:982 +#: src/views/container/ContainerCreate.vue:211 +#: src/views/home/IndexView.vue:187 +#: src/views/home/IndexView.vue:954 +#: src/views/monitor/IndexView.vue:982 #: src/views/toolbox/IndexView.vue:27 msgid "Network" msgstr "網絡" @@ -2150,12 +2404,18 @@ msgstr "日誌級別(logger.level)" #: src/views/database/ServerList.vue:283 #: src/views/database/UpdateServerModal.vue:26 #: src/views/database/UpdateUserModal.vue:22 -#: src/views/database/UserList.vue:201 src/views/file/PermissionModal.vue:57 -#: src/views/setting/SettingUser.vue:177 src/views/setting/SettingUser.vue:183 -#: src/views/task/CreateModal.vue:113 src/views/task/CronView.vue:205 -#: src/views/task/CronView.vue:275 src/views/toolbox/WebHookView.vue:213 -#: src/views/toolbox/WebHookView.vue:291 src/views/website/ListView.vue:347 -#: src/views/website/ListView.vue:353 src/views/website/SettingView.vue:45 +#: src/views/database/UserList.vue:201 +#: src/views/file/PermissionModal.vue:57 +#: src/views/setting/SettingUser.vue:177 +#: src/views/setting/SettingUser.vue:183 +#: src/views/task/CreateModal.vue:113 +#: src/views/task/CronView.vue:205 +#: src/views/task/CronView.vue:275 +#: src/views/toolbox/WebHookView.vue:213 +#: src/views/toolbox/WebHookView.vue:291 +#: src/views/website/ListView.vue:347 +#: src/views/website/ListView.vue:353 +#: src/views/website/SettingView.vue:45 #: src/views/website/SettingView.vue:56 msgid "Modified successfully" msgstr "修改成功" @@ -2164,7 +2424,8 @@ msgstr "修改成功" #: src/views/apps/mongodb/IndexView.vue:76 #: src/views/apps/mysql/MysqlIndex.vue:109 #: src/views/apps/postgresql/IndexView.vue:143 -#: src/views/database/ServerList.vue:100 src/views/database/UserList.vue:51 +#: src/views/database/ServerList.vue:100 +#: src/views/database/UserList.vue:51 #: src/views/file/composables/usePaste.ts:27 #: src/views/setting/TokenModal.vue:166 msgid "Copied successfully" @@ -2175,18 +2436,19 @@ msgid "Default User Password" msgstr "預設用戶密碼" #: src/views/apps/clickhouse/IndexView.vue:91 -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:104 #: src/views/apps/mongodb/IndexView.vue:104 #: src/views/apps/mysql/MysqlIndex.vue:133 #: src/views/apps/postgresql/IndexView.vue:171 -#: src/views/database/ServerList.vue:104 src/views/database/UserList.vue:55 -#: src/views/file/ListView.vue:307 src/views/file/ListView.vue:341 -#: src/views/file/ListView.vue:951 src/views/file/ToolBar.vue:213 +#: src/views/database/ServerList.vue:104 +#: src/views/database/UserList.vue:55 +#: src/views/file/ListView.vue:307 +#: src/views/file/ListView.vue:341 +#: src/views/file/ListView.vue:951 +#: src/views/file/ToolBar.vue:213 msgid "Copy" msgstr "複製" @@ -2202,16 +2464,14 @@ msgstr "複製" #: src/views/apps/rocketmq/IndexView.vue:67 #: src/views/apps/rsync/IndexView.vue:236 #: src/views/apps/supervisor/IndexView.vue:368 -#: src/views/apps/valkey/IndexView.vue:64 src/views/environment/PHPView.vue:243 +#: src/views/apps/valkey/IndexView.vue:64 +#: src/views/environment/PHPView.vue:243 msgid "Main Configuration" msgstr "主配置" #: src/views/apps/clickhouse/IndexView.vue:119 -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:132 #: src/views/apps/elasticsearch/IndexView.vue:81 @@ -2227,16 +2487,14 @@ msgstr "" #: src/views/apps/pureftpd/IndexView.vue:220 #: src/views/apps/redis/IndexView.vue:81 #: src/views/apps/rocketmq/IndexView.vue:84 -#: src/views/apps/valkey/IndexView.vue:81 src/views/environment/PHPView.vue:240 +#: src/views/apps/valkey/IndexView.vue:81 +#: src/views/environment/PHPView.vue:240 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 @@ -2260,7 +2518,8 @@ msgstr "中國 - 騰訊(僅內網)" #: src/views/apps/docker/IndexView.vue:194 #: src/views/container/ContainerCreate.vue:191 -#: src/views/project/EditModal.vue:182 src/views/website/EditModal.vue:869 +#: src/views/project/EditModal.vue:182 +#: src/views/website/EditModal.vue:869 msgid "Basic Settings" msgstr "基本設置" @@ -2268,14 +2527,13 @@ msgstr "基本設置" msgid "Registry Mirrors" msgstr "註冊表鏡像" -#: src/views/apps/docker/IndexView.vue:203 src/views/website/EditModal.vue:1671 +#: src/views/apps/docker/IndexView.vue:203 +#: src/views/website/EditModal.vue:1671 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 @@ -2286,7 +2544,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:335 +#: src/views/apps/nginx/NginxIndex.vue:743 +#: src/views/toolbox/SystemView.vue:335 msgid "Add" msgstr "添加" @@ -2295,12 +2554,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" @@ -2371,9 +2626,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 @@ -2437,12 +2690,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" @@ -2497,9 +2746,7 @@ msgstr "路徑和 JVM" #: src/views/apps/elasticsearch/ElasticSearchConfigTuneView.vue:100 #: src/views/apps/opensearch/OpenSearchConfigTuneView.vue:100 -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:103 @@ -2529,12 +2776,8 @@ msgid "Max Heap Size (-Xmx)" msgstr "最大堆大小(-Xmx)" #: src/views/apps/elasticsearch/IndexView.vue:68 -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:57 #: src/views/apps/fail2ban/IndexView.vue:375 @@ -2551,7 +2794,8 @@ msgstr "封禁時間" msgid "Find Time" msgstr "查找時間" -#: src/views/apps/fail2ban/IndexView.vue:79 src/views/cert/CertView.vue:262 +#: src/views/apps/fail2ban/IndexView.vue:79 +#: src/views/cert/CertView.vue:262 #: src/views/database/ElasticsearchDataView.vue:188 #: src/views/database/RedisDataView.vue:134 msgid "View" @@ -2571,7 +2815,8 @@ msgstr "解封" #: src/views/apps/fail2ban/IndexView.vue:197 #: src/views/apps/pureftpd/IndexView.vue:139 -#: src/views/apps/rsync/IndexView.vue:159 src/views/apps/s3fs/IndexView.vue:85 +#: src/views/apps/rsync/IndexView.vue:159 +#: src/views/apps/s3fs/IndexView.vue:85 #: src/views/apps/supervisor/IndexView.vue:254 #: src/views/database/CreateServerModal.vue:78 msgid "Added successfully" @@ -2609,33 +2854,30 @@ msgid "Add Rule" msgstr "新增規則" #: src/views/apps/fail2ban/IndexView.vue:314 -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:321 -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:328 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:74 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:184 -#: src/views/backup/StorageView.vue:70 src/views/backup/StorageView.vue:240 -#: src/views/backup/StorageView.vue:394 src/views/cert/CertView.vue:103 -#: src/views/cert/DnsView.vue:41 src/views/database/CreateServerModal.vue:99 +#: src/views/backup/StorageView.vue:70 +#: src/views/backup/StorageView.vue:240 +#: src/views/backup/StorageView.vue:394 +#: src/views/cert/CertView.vue:103 +#: src/views/cert/DnsView.vue:41 +#: src/views/database/CreateServerModal.vue:99 #: src/views/database/RedisDataView.vue:87 -#: src/views/database/RedisKeyModal.vue:98 src/views/file/PropertyModal.vue:33 -#: src/views/log/OperationLog.vue:73 src/views/project/ListView.vue:50 +#: src/views/database/RedisKeyModal.vue:98 +#: src/views/file/PropertyModal.vue:33 +#: src/views/log/OperationLog.vue:73 +#: src/views/project/ListView.vue:50 #: src/views/toolbox/MigrationView.vue:693 -#: src/views/toolbox/MigrationView.vue:780 src/views/toolbox/NetworkView.vue:61 +#: src/views/toolbox/MigrationView.vue:780 +#: src/views/toolbox/NetworkView.vue:61 msgid "Type" msgstr "類型" @@ -2645,7 +2887,8 @@ msgid "Service" msgstr "服務" #: src/views/apps/fail2ban/IndexView.vue:338 -#: src/views/apps/fail2ban/IndexView.vue:342 src/views/task/CreateModal.vue:449 +#: src/views/apps/fail2ban/IndexView.vue:342 +#: src/views/task/CreateModal.vue:449 #: src/views/task/CreateModal.vue:455 msgid "Select Website" msgstr "選擇網站" @@ -2656,9 +2899,12 @@ msgstr "保護模式" #: src/views/apps/fail2ban/IndexView.vue:350 #: src/views/apps/pureftpd/IndexView.vue:43 -#: src/views/backup/StorageView.vue:284 src/views/backup/StorageView.vue:338 -#: src/views/backup/StorageView.vue:368 src/views/backup/StorageView.vue:432 -#: src/views/backup/StorageView.vue:486 src/views/backup/StorageView.vue:516 +#: src/views/backup/StorageView.vue:284 +#: src/views/backup/StorageView.vue:338 +#: src/views/backup/StorageView.vue:368 +#: src/views/backup/StorageView.vue:432 +#: src/views/backup/StorageView.vue:486 +#: src/views/backup/StorageView.vue:516 #: src/views/log/HttpLog.vue:80 msgid "Path" msgstr "路徑" @@ -2689,42 +2935,55 @@ msgstr "總封禁次數" msgid "Ban List" msgstr "封禁列表" -#: src/views/apps/frp/IndexView.vue:68 src/views/apps/frp/IndexView.vue:96 -#: 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:96 +#: src/views/project/CreateModal.vue:622 +#: src/views/project/EditModal.vue:237 msgid "Run User" msgstr "運行用戶" -#: src/views/apps/frp/IndexView.vue:75 src/views/apps/frp/IndexView.vue:76 -#: src/views/apps/frp/IndexView.vue:103 src/views/apps/frp/IndexView.vue:104 +#: src/views/apps/frp/IndexView.vue:75 +#: src/views/apps/frp/IndexView.vue:76 +#: src/views/apps/frp/IndexView.vue:103 +#: src/views/apps/frp/IndexView.vue:104 #: src/views/apps/grafana/GrafanaDataSourcesView.vue:200 -#: src/views/apps/rsync/IndexView.vue:55 src/views/apps/rsync/IndexView.vue:285 -#: src/views/apps/rsync/IndexView.vue:338 src/views/database/IndexView.vue:36 -#: src/views/home/IndexView.vue:660 src/views/home/IndexView.vue:761 -#: src/views/log/SSHLog.vue:71 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:397 -#: src/views/toolbox/WebHookView.vue:347 src/views/toolbox/WebHookView.vue:382 +#: src/views/apps/rsync/IndexView.vue:55 +#: src/views/apps/rsync/IndexView.vue:285 +#: src/views/apps/rsync/IndexView.vue:338 +#: src/views/database/IndexView.vue:36 +#: src/views/home/IndexView.vue:660 +#: src/views/home/IndexView.vue:761 +#: src/views/log/SSHLog.vue:71 +#: 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:397 +#: src/views/toolbox/WebHookView.vue:347 +#: src/views/toolbox/WebHookView.vue:382 msgid "User" msgstr "用戶" -#: src/views/apps/frp/IndexView.vue:78 src/views/apps/frp/IndexView.vue:79 -#: src/views/apps/frp/IndexView.vue:106 src/views/apps/frp/IndexView.vue:107 +#: src/views/apps/frp/IndexView.vue:78 +#: src/views/apps/frp/IndexView.vue:79 +#: src/views/apps/frp/IndexView.vue:106 +#: src/views/apps/frp/IndexView.vue:107 #: 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:547 #: src/views/database/CreateDatabaseModal.vue:85 #: src/views/database/CreateUserModal.vue:97 -#: src/views/database/DatabaseList.vue:27 src/views/database/IndexView.vue:37 +#: src/views/database/DatabaseList.vue:27 +#: src/views/database/IndexView.vue:37 #: src/views/database/UserList.vue:72 msgid "Server" msgstr "伺服器" @@ -2878,11 +3137,16 @@ msgstr "瀏覽器(直連)" #: src/views/apps/grafana/GrafanaDataSourcesView.vue:101 #: src/views/apps/nginx/NginxIndex.vue:204 -#: src/views/apps/nginx/NginxIndex.vue:280 src/views/backup/StorageView.vue:109 -#: src/views/container/ComposeView.vue:122 src/views/file/ListView.vue:332 -#: src/views/file/ListView.vue:1544 src/views/project/ListView.vue:180 -#: src/views/ssh/IndexView.vue:114 src/views/task/CronView.vue:160 -#: src/views/toolbox/WebHookView.vue:160 src/views/website/ListView.vue:241 +#: src/views/apps/nginx/NginxIndex.vue:280 +#: src/views/backup/StorageView.vue:109 +#: src/views/container/ComposeView.vue:122 +#: src/views/file/ListView.vue:332 +#: src/views/file/ListView.vue:1544 +#: src/views/project/ListView.vue:180 +#: src/views/ssh/IndexView.vue:114 +#: src/views/task/CronView.vue:160 +#: src/views/toolbox/WebHookView.vue:160 +#: src/views/website/ListView.vue:241 msgid "Edit" msgstr "編輯" @@ -2911,20 +3175,28 @@ msgstr "存取" #: src/views/apps/pureftpd/IndexView.vue:244 #: src/views/apps/pureftpd/IndexView.vue:275 #: src/views/apps/rsync/IndexView.vue:293 -#: src/views/apps/rsync/IndexView.vue:346 src/views/backup/StorageView.vue:32 -#: src/views/backup/StorageView.vue:316 src/views/backup/StorageView.vue:360 -#: src/views/backup/StorageView.vue:464 src/views/backup/StorageView.vue:508 +#: src/views/apps/rsync/IndexView.vue:346 +#: src/views/backup/StorageView.vue:32 +#: src/views/backup/StorageView.vue:316 +#: src/views/backup/StorageView.vue:360 +#: src/views/backup/StorageView.vue:464 +#: src/views/backup/StorageView.vue:508 #: src/views/container/ImageView.vue:393 #: src/views/database/CreateDatabaseModal.vue:124 #: src/views/database/CreateServerModal.vue:162 #: src/views/database/CreateUserModal.vue:113 #: src/views/database/ServerList.vue:80 #: src/views/database/UpdateServerModal.vue:103 -#: src/views/database/UpdateUserModal.vue:62 src/views/database/UserList.vue:31 -#: src/views/login/IndexView.vue:255 src/views/setting/CreateModal.vue:54 -#: src/views/setting/PasswordModal.vue:41 src/views/ssh/CreateModal.vue:79 -#: src/views/ssh/CreateModal.vue:88 src/views/ssh/UpdateModal.vue:85 -#: src/views/ssh/UpdateModal.vue:94 src/views/website/EditModal.vue:1923 +#: src/views/database/UpdateUserModal.vue:62 +#: src/views/database/UserList.vue:31 +#: src/views/login/IndexView.vue:255 +#: src/views/setting/CreateModal.vue:54 +#: src/views/setting/PasswordModal.vue:41 +#: src/views/ssh/CreateModal.vue:79 +#: src/views/ssh/CreateModal.vue:88 +#: src/views/ssh/UpdateModal.vue:85 +#: src/views/ssh/UpdateModal.vue:94 +#: src/views/website/EditModal.vue:1923 msgid "Password" msgstr "密碼" @@ -2941,30 +3213,20 @@ msgid "Import dashboards in Grafana via Dashboard ID:" msgstr "透過 Dashboard ID 在 Grafana 中匯入儀表盤:" #: src/views/apps/grafana/IndexView.vue:82 -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:95 -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:116 msgid "Data Sources" msgstr "資料源" #: src/views/apps/kafka/IndexView.vue:68 -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 @@ -3071,33 +3333,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:87 msgid "Admin Password" msgstr "管理員密碼" #: src/views/apps/mongodb/IndexView.vue:91 -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:119 -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:112 -#: src/views/backup/IndexView.vue:41 src/views/task/CreateModal.vue:508 +#: src/views/backup/IndexView.vue:41 +#: src/views/task/CreateModal.vue:508 msgid "Storage" msgstr "儲存" @@ -3138,7 +3392,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:24 +#: src/views/project/IndexView.vue:22 +#: src/views/project/ListView.vue:24 msgid "General" msgstr "通用" @@ -3344,22 +3599,18 @@ msgstr "長查詢時間(long_query_time)" msgid "e.g. 3 (seconds)" msgstr "例如 3(秒)" -#: src/views/apps/mysql/MysqlIndex.vue:120 src/views/toolbox/SshView.vue:263 +#: src/views/apps/mysql/MysqlIndex.vue:120 +#: src/views/toolbox/SshView.vue:263 msgid "Root Password" msgstr "Root 密碼" #: src/views/apps/mysql/MysqlIndex.vue:124 -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:148 -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:185 msgid "Slow Query Log" @@ -3435,9 +3686,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 @@ -3475,9 +3724,7 @@ msgid "e.g. any" msgstr "例如 any" #: src/views/apps/nginx/NginxConfigTuneView.vue:335 -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:341 @@ -3501,8 +3748,7 @@ msgid "Static (brotli_static)" msgstr "靜態(brotli_static)" #: src/views/apps/nginx/NginxConfigTuneView.vue:386 -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:390 @@ -3529,13 +3775,15 @@ msgstr "靜態(zstd_static)" msgid "Listen" msgstr "監聽" -#: src/views/apps/nginx/NginxIndex.vue:168 src/views/firewall/ScanView.vue:292 +#: src/views/apps/nginx/NginxIndex.vue:168 +#: src/views/firewall/ScanView.vue:292 #: src/views/firewall/ScanView.vue:308 msgid "Protocol" msgstr "協議" #: src/views/apps/nginx/NginxIndex.vue:176 -#: src/views/apps/nginx/NginxIndex.vue:643 src/views/website/EditModal.vue:1061 +#: src/views/apps/nginx/NginxIndex.vue:643 +#: src/views/website/EditModal.vue:1061 msgid "Proxy Pass" msgstr "代理目標" @@ -3586,15 +3834,18 @@ msgstr "Stream" #: src/views/apps/nginx/NginxIndex.vue:551 #: src/views/database/CreateServerModal.vue:91 -#: src/views/database/IndexView.vue:57 src/views/website/EditModal.vue:998 +#: src/views/database/IndexView.vue:57 +#: src/views/website/EditModal.vue:998 msgid "Add Server" msgstr "添加伺服器" -#: src/views/apps/nginx/NginxIndex.vue:564 src/views/website/EditModal.vue:922 +#: src/views/apps/nginx/NginxIndex.vue:564 +#: src/views/website/EditModal.vue:922 msgid "Upstream" msgstr "上游" -#: src/views/apps/nginx/NginxIndex.vue:568 src/views/website/EditModal.vue:1014 +#: src/views/apps/nginx/NginxIndex.vue:568 +#: src/views/website/EditModal.vue:1014 msgid "Add Upstream" msgstr "添加上游" @@ -3651,7 +3902,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:933 +#: src/views/apps/nginx/NginxIndex.vue:713 +#: src/views/website/EditModal.vue:933 msgid "Load Balancing Algorithm" msgstr "負載均衡算法" @@ -3673,7 +3925,8 @@ msgstr "地址" #: src/views/apps/nginx/NginxIndex.vue:750 #: src/views/container/NetworkView.vue:327 -#: src/views/container/VolumeView.vue:226 src/views/toolbox/DiskView.vue:828 +#: src/views/container/VolumeView.vue:226 +#: src/views/toolbox/DiskView.vue:828 msgid "Options" msgstr "選項" @@ -3681,27 +3934,27 @@ msgstr "選項" msgid "No servers added yet" msgstr "尚未添加服務器" -#: src/views/apps/nginx/NginxIndex.vue:777 src/views/website/EditModal.vue:963 +#: src/views/apps/nginx/NginxIndex.vue:777 +#: src/views/website/EditModal.vue:963 #: src/views/website/EditModal.vue:1095 msgid "DNS Resolver" msgstr "DNS 解析器" -#: src/views/apps/nginx/NginxIndex.vue:780 src/views/website/EditModal.vue:966 +#: src/views/apps/nginx/NginxIndex.vue:780 +#: src/views/website/EditModal.vue:966 #: src/views/website/EditModal.vue:1098 msgid "e.g., 8.8.8.8" msgstr "例如 8.8.8.8" -#: src/views/apps/nginx/NginxIndex.vue:786 src/views/website/EditModal.vue:972 +#: src/views/apps/nginx/NginxIndex.vue:786 +#: src/views/website/EditModal.vue:972 #: src/views/website/EditModal.vue:1104 msgid "Resolver Timeout" msgstr "解析超時" #: src/views/apps/opensearch/IndexView.vue:68 -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." @@ -3724,28 +3977,19 @@ msgid "Modify phpMyAdmin access port" msgstr "修改 phpMyAdmin 訪問連接埠" #: src/views/apps/phpmyadmin/IndexView.vue:89 -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:80 @@ -3753,9 +3997,7 @@ msgid "Storage Configuration" msgstr "儲存配置" #: src/views/apps/podman/IndexView.vue:84 -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:154 @@ -3763,34 +4005,24 @@ msgid "Super Password" msgstr "超級密碼" #: src/views/apps/postgresql/IndexView.vue:158 -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:186 -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:202 msgid "User Configuration" msgstr "用戶配置" #: src/views/apps/postgresql/IndexView.vue:206 -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:239 -#, fuzzy msgid "Application Logs" -msgstr "遷移日誌" +msgstr "應用程式日誌" #: src/views/apps/postgresql/PostgresqlConfigTuneView.vue:174 #: src/views/toolbox/MigrationView.vue:405 @@ -3825,11 +4057,16 @@ msgstr "例如 3" #: src/views/apps/postgresql/PostgresqlConfigTuneView.vue:224 #: src/views/apps/redis/RedisConfigTuneView.vue:156 #: src/views/apps/valkey/ValkeyConfigTuneView.vue:150 -#: src/views/container/ContainerCreate.vue:428 src/views/home/IndexView.vue:687 -#: src/views/home/IndexView.vue:760 src/views/monitor/IndexView.vue:532 -#: src/views/monitor/IndexView.vue:539 src/views/monitor/IndexView.vue:555 -#: src/views/monitor/IndexView.vue:859 src/views/toolbox/BenchmarkView.vue:177 -#: src/views/toolbox/PanelView.vue:121 src/views/toolbox/ProcessView.vue:152 +#: src/views/container/ContainerCreate.vue:428 +#: src/views/home/IndexView.vue:687 +#: src/views/home/IndexView.vue:760 +#: src/views/monitor/IndexView.vue:532 +#: src/views/monitor/IndexView.vue:539 +#: src/views/monitor/IndexView.vue:555 +#: src/views/monitor/IndexView.vue:859 +#: src/views/toolbox/BenchmarkView.vue:177 +#: src/views/toolbox/PanelView.vue:121 +#: src/views/toolbox/ProcessView.vue:152 msgid "Memory" msgstr "記憶體" @@ -3959,33 +4196,20 @@ msgid "IO Method (io_method)" msgstr "IO 方法(io_method)" #: src/views/apps/prometheus/IndexView.vue:84 -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:92 -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:108 msgid "Alertmanager" msgstr "Alertmanager" #: src/views/apps/prometheus/IndexView.vue:113 -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:126 msgid "Exporters" @@ -4037,13 +4261,13 @@ msgstr "您確定要卸載 %{ name } 嗎?" #: src/views/apps/prometheus/PrometheusExportersView.vue:103 #: src/views/apps/prometheus/PrometheusExportersView.vue:110 -#: src/views/environment/PHPView.vue:193 src/views/environment/PHPView.vue:199 +#: src/views/environment/PHPView.vue:193 +#: src/views/environment/PHPView.vue:199 msgid "Task submitted, please check progress in background tasks" msgstr "任務已提交,請在後台任務中查看進度" #: src/views/apps/prometheus/PrometheusExportersView.vue:160 -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:166 @@ -4056,17 +4280,22 @@ msgstr "修改 exporter 配置將重啟 exporter 服務。" #: src/views/apps/pureftpd/IndexView.vue:36 #: src/views/apps/pureftpd/IndexView.vue:236 -#: src/views/backup/StorageView.vue:305 src/views/backup/StorageView.vue:354 -#: src/views/backup/StorageView.vue:453 src/views/backup/StorageView.vue:502 +#: src/views/backup/StorageView.vue:305 +#: src/views/backup/StorageView.vue:354 +#: src/views/backup/StorageView.vue:453 +#: src/views/backup/StorageView.vue:502 #: src/views/container/ImageView.vue:385 #: src/views/database/CreateDatabaseModal.vue:116 #: src/views/database/CreateServerModal.vue:154 #: src/views/database/CreateUserModal.vue:105 #: src/views/database/ServerList.vue:71 #: src/views/database/UpdateServerModal.vue:95 -#: src/views/database/UserList.vue:21 src/views/login/IndexView.vue:246 -#: src/views/setting/CreateModal.vue:47 src/views/setting/SettingUser.vue:21 -#: src/views/ssh/CreateModal.vue:85 src/views/ssh/UpdateModal.vue:91 +#: src/views/database/UserList.vue:21 +#: src/views/login/IndexView.vue:246 +#: src/views/setting/CreateModal.vue:47 +#: src/views/setting/SettingUser.vue:21 +#: src/views/ssh/CreateModal.vue:85 +#: src/views/ssh/UpdateModal.vue:91 #: src/views/website/EditModal.vue:1922 msgid "Username" msgstr "使用者名稱" @@ -4100,14 +4329,17 @@ msgstr "運行日誌" #: src/views/apps/pureftpd/IndexView.vue:232 #: src/views/database/CreateDatabaseModal.vue:101 #: src/views/database/CreateUserModal.vue:83 -#: src/views/database/IndexView.vue:50 src/views/setting/CreateModal.vue:39 +#: src/views/database/IndexView.vue:50 +#: src/views/setting/CreateModal.vue:39 #: src/views/setting/IndexView.vue:155 msgid "Create User" msgstr "建立使用者" #: src/views/apps/pureftpd/IndexView.vue:241 -#: src/views/backup/StorageView.vue:308 src/views/backup/StorageView.vue:357 -#: src/views/backup/StorageView.vue:456 src/views/backup/StorageView.vue:505 +#: src/views/backup/StorageView.vue:308 +#: src/views/backup/StorageView.vue:357 +#: src/views/backup/StorageView.vue:456 +#: src/views/backup/StorageView.vue:505 #: src/views/container/ImageView.vue:390 #: src/views/database/CreateDatabaseModal.vue:121 #: src/views/database/CreateUserModal.vue:110 @@ -4120,11 +4352,15 @@ msgid "It is recommended to use the generator to generate a random password" msgstr "建議使用生成器生成隨機密碼" #: src/views/apps/pureftpd/IndexView.vue:255 -#: src/views/apps/rsync/IndexView.vue:48 src/views/apps/rsync/IndexView.vue:277 +#: src/views/apps/rsync/IndexView.vue:48 +#: src/views/apps/rsync/IndexView.vue:277 #: src/views/apps/rsync/IndexView.vue:330 -#: src/views/container/ComposeView.vue:64 src/views/file/PropertyModal.vue:34 -#: src/views/project/ListView.vue:96 src/views/task/CreateModal.vue:431 -#: src/views/website/CreateModal.vue:305 src/views/website/ListView.vue:128 +#: src/views/container/ComposeView.vue:64 +#: src/views/file/PropertyModal.vue:34 +#: src/views/project/ListView.vue:96 +#: src/views/task/CreateModal.vue:431 +#: src/views/website/CreateModal.vue:305 +#: src/views/website/ListView.vue:128 msgid "Directory" msgstr "目錄" @@ -4181,11 +4417,8 @@ msgid "e.g. 99" msgstr "例如 99" #: src/views/apps/redis/IndexView.vue:68 -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." @@ -4270,12 +4503,8 @@ msgid "Append Fsync (appendfsync)" msgstr "追加同步(appendfsync)" #: src/views/apps/rocketmq/IndexView.vue:71 -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." @@ -4325,26 +4554,33 @@ msgstr "JVM" msgid "JVM heap memory settings for NameServer and Broker." msgstr "NameServer 和 Broker 的 JVM 堆記憶體設置。" -#: src/views/apps/rsync/IndexView.vue:62 src/views/apps/rsync/IndexView.vue:301 -#: src/views/apps/rsync/IndexView.vue:355 src/views/backup/StorageView.vue:294 +#: src/views/apps/rsync/IndexView.vue:62 +#: src/views/apps/rsync/IndexView.vue:301 +#: src/views/apps/rsync/IndexView.vue:355 +#: src/views/backup/StorageView.vue:294 #: src/views/backup/StorageView.vue:442 #: src/views/database/CreateDatabaseModal.vue:138 #: src/views/database/CreateServerModal.vue:133 #: src/views/database/CreateUserModal.vue:127 #: src/views/database/ServerList.vue:111 #: src/views/database/UpdateServerModal.vue:74 -#: src/views/database/UserList.vue:62 src/views/ssh/CreateModal.vue:64 -#: src/views/ssh/UpdateModal.vue:70 src/views/toolbox/SystemView.vue:219 +#: src/views/database/UserList.vue:62 +#: src/views/ssh/CreateModal.vue:64 +#: src/views/ssh/UpdateModal.vue:70 +#: src/views/toolbox/SystemView.vue:219 msgid "Host" msgstr "主機" -#: src/views/apps/rsync/IndexView.vue:68 src/views/apps/rsync/IndexView.vue:309 +#: src/views/apps/rsync/IndexView.vue:68 +#: src/views/apps/rsync/IndexView.vue:309 #: src/views/apps/rsync/IndexView.vue:363 #: src/views/database/CreateServerModal.vue:172 #: src/views/database/CreateUserModal.vue:149 -#: src/views/database/DatabaseList.vue:48 src/views/database/ServerList.vue:121 +#: src/views/database/DatabaseList.vue:48 +#: src/views/database/ServerList.vue:121 #: src/views/database/UpdateServerModal.vue:112 -#: src/views/database/UpdateUserModal.vue:77 src/views/database/UserList.vue:95 +#: src/views/database/UpdateUserModal.vue:77 +#: src/views/database/UserList.vue:95 msgid "Comment" msgstr "註釋" @@ -4357,7 +4593,8 @@ msgstr "配置" msgid "Are you sure you want to delete module %{ name }?" msgstr "您確定要刪除模組 %{ name } 嗎?" -#: src/views/apps/rsync/IndexView.vue:207 src/views/environment/PHPView.vue:227 +#: src/views/apps/rsync/IndexView.vue:207 +#: src/views/environment/PHPView.vue:227 msgid "Module Management" msgstr "模組管理" @@ -4367,11 +4604,8 @@ msgid "Add Module" msgstr "添加模組" #: src/views/apps/rsync/IndexView.vue:240 -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:274 #: src/views/apps/supervisor/IndexView.vue:416 @@ -4407,7 +4641,8 @@ msgstr "輸入註釋" msgid "Module Configuration" msgstr "模組配置" -#: src/views/apps/s3fs/IndexView.vue:25 src/views/toolbox/DiskView.vue:733 +#: src/views/apps/s3fs/IndexView.vue:25 +#: src/views/toolbox/DiskView.vue:733 msgid "Mount Path" msgstr "掛載路徑" @@ -4415,11 +4650,13 @@ msgstr "掛載路徑" msgid "Are you sure you want to delete mount %{ path }?" msgstr "您確定要刪除掛載 %{ path } 嗎?" -#: src/views/apps/s3fs/IndexView.vue:58 src/views/toolbox/DiskView.vue:358 +#: src/views/apps/s3fs/IndexView.vue:58 +#: src/views/toolbox/DiskView.vue:358 msgid "Unmount" msgstr "卸載" -#: src/views/apps/s3fs/IndexView.vue:109 src/views/apps/s3fs/IndexView.vue:134 +#: src/views/apps/s3fs/IndexView.vue:109 +#: src/views/apps/s3fs/IndexView.vue:134 #: src/views/apps/s3fs/IndexView.vue:138 msgid "Add Mount" msgstr "添加掛載" @@ -4441,9 +4678,7 @@ msgid "Region Endpoint" msgstr "區域端點" #: src/views/apps/s3fs/IndexView.vue:172 -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:178 @@ -4481,18 +4716,16 @@ msgid "Add Process" msgstr "添加進程" #: src/views/apps/supervisor/IndexView.vue:372 -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:388 msgid "Daemon Logs" msgstr "守護進程日誌" #: src/views/apps/supervisor/IndexView.vue:419 -#: 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 "啟動命令" @@ -4501,7 +4734,8 @@ msgid "Please enter absolute path for files in start command" msgstr "請在啟動命令中輸入文件的絕對路徑" #: src/views/apps/supervisor/IndexView.vue:427 -#: src/views/project/EditModal.vue:219 src/views/toolbox/ProcessView.vue:432 +#: src/views/project/EditModal.vue:219 +#: src/views/toolbox/ProcessView.vue:432 msgid "Working Directory" msgstr "工作目錄" @@ -4527,11 +4761,8 @@ msgid "Process Configuration" msgstr "進程配置" #: src/views/apps/valkey/IndexView.vue:68 -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." @@ -4549,7 +4780,8 @@ msgstr "Valkey AOF 持久化設置。" msgid "Filename" msgstr "檔案名稱" -#: src/views/backup/ListView.vue:53 src/views/database/ServerList.vue:150 +#: src/views/backup/ListView.vue:53 +#: src/views/database/ServerList.vue:150 #: src/views/database/UserList.vue:124 msgid "Update Date" msgstr "更新日期" @@ -4567,26 +4799,28 @@ msgid "Restored successfully" msgstr "恢復成功" #: src/views/backup/ListView.vue:213 -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:220 src/views/backup/ListView.vue:250 +#: src/views/backup/ListView.vue:220 +#: src/views/backup/ListView.vue:250 msgid "Create Backup" msgstr "創建備份" -#: src/views/backup/ListView.vue:223 src/views/backup/UploadModal.vue:38 +#: src/views/backup/ListView.vue:223 +#: src/views/backup/UploadModal.vue:38 msgid "Upload Backup" msgstr "上傳備份" -#: src/views/backup/ListView.vue:262 src/views/backup/ListView.vue:305 +#: src/views/backup/ListView.vue:262 +#: src/views/backup/ListView.vue:305 msgid "Select website" msgstr "選擇網站" #: src/views/backup/ListView.vue:265 #: src/views/database/CreateDatabaseModal.vue:93 -#: src/views/database/DatabaseList.vue:20 src/views/website/CreateModal.vue:269 +#: src/views/database/DatabaseList.vue:20 +#: src/views/website/CreateModal.vue:269 #: src/views/website/CreateModal.vue:274 msgid "Database Name" msgstr "數據庫名稱" @@ -4610,12 +4844,18 @@ msgstr "選擇備份儲存" msgid "Restore Backup" msgstr "恢復備份" -#: src/views/backup/StorageView.vue:33 src/views/backup/StorageView.vue:328 -#: src/views/backup/StorageView.vue:476 src/views/cert/CertView.vue:548 -#: src/views/cert/CertView.vue:619 src/views/cert/UploadCertModal.vue:53 -#: src/views/setting/SettingSafe.vue:282 src/views/ssh/CreateModal.vue:80 -#: src/views/ssh/CreateModal.vue:91 src/views/ssh/UpdateModal.vue:86 -#: src/views/ssh/UpdateModal.vue:97 src/views/website/EditModal.vue:1654 +#: src/views/backup/StorageView.vue:33 +#: src/views/backup/StorageView.vue:328 +#: src/views/backup/StorageView.vue:476 +#: src/views/cert/CertView.vue:548 +#: src/views/cert/CertView.vue:619 +#: src/views/cert/UploadCertModal.vue:53 +#: src/views/setting/SettingSafe.vue:282 +#: src/views/ssh/CreateModal.vue:80 +#: src/views/ssh/CreateModal.vue:91 +#: src/views/ssh/UpdateModal.vue:86 +#: src/views/ssh/UpdateModal.vue:97 +#: src/views/website/EditModal.vue:1654 msgid "Private Key" msgstr "私鑰" @@ -4627,41 +4867,51 @@ msgstr "創建於" msgid "Are you sure you want to delete this storage?" msgstr "您確定要刪除此儲存嗎?" -#: src/views/backup/StorageView.vue:179 src/views/setting/PasswordModal.vue:20 -#: src/views/setting/TokenModal.vue:188 src/views/setting/TwoFaModal.vue:27 +#: src/views/backup/StorageView.vue:179 +#: src/views/setting/PasswordModal.vue:20 +#: src/views/setting/TokenModal.vue:188 +#: src/views/setting/TwoFaModal.vue:27 #: src/views/ssh/UpdateModal.vue:31 msgid "Updated successfully" msgstr "更新成功" -#: src/views/backup/StorageView.vue:201 src/views/backup/StorageView.vue:229 +#: src/views/backup/StorageView.vue:201 +#: src/views/backup/StorageView.vue:229 msgid "Add Storage" msgstr "新增儲存" -#: src/views/backup/StorageView.vue:238 src/views/backup/StorageView.vue:392 +#: src/views/backup/StorageView.vue:238 +#: src/views/backup/StorageView.vue:392 msgid "Enter storage name" msgstr "輸入儲存名稱" -#: src/views/backup/StorageView.vue:246 src/views/backup/StorageView.vue:400 +#: src/views/backup/StorageView.vue:246 +#: src/views/backup/StorageView.vue:400 msgid "Access Key" msgstr "Access Key" -#: src/views/backup/StorageView.vue:249 src/views/backup/StorageView.vue:403 +#: src/views/backup/StorageView.vue:249 +#: src/views/backup/StorageView.vue:403 msgid "Enter access key" msgstr "輸入 Access Key" -#: src/views/backup/StorageView.vue:252 src/views/backup/StorageView.vue:406 +#: src/views/backup/StorageView.vue:252 +#: src/views/backup/StorageView.vue:406 msgid "Secret Key" msgstr "Secret Key" -#: src/views/backup/StorageView.vue:257 src/views/backup/StorageView.vue:411 +#: src/views/backup/StorageView.vue:257 +#: src/views/backup/StorageView.vue:411 msgid "Enter secret key" msgstr "輸入 Secret Key" -#: src/views/backup/StorageView.vue:260 src/views/backup/StorageView.vue:414 +#: src/views/backup/StorageView.vue:260 +#: src/views/backup/StorageView.vue:414 msgid "Style" msgstr "風格" -#: src/views/backup/StorageView.vue:263 src/views/website/stats/GeoTab.vue:91 +#: src/views/backup/StorageView.vue:263 +#: src/views/website/stats/GeoTab.vue:91 #: src/views/website/stats/GeoTab.vue:248 msgid "Region" msgstr "區域" @@ -4670,56 +4920,74 @@ msgstr "區域" msgid "Enter region (e.g., us-east-1)" msgstr "輸入區域(例如 us-east-1)" -#: src/views/backup/StorageView.vue:269 src/views/backup/StorageView.vue:417 +#: src/views/backup/StorageView.vue:269 +#: src/views/backup/StorageView.vue:417 msgid "Endpoint" msgstr "端點" -#: src/views/backup/StorageView.vue:272 src/views/backup/StorageView.vue:420 +#: src/views/backup/StorageView.vue:272 +#: src/views/backup/StorageView.vue:420 msgid "Enter endpoint URL" msgstr "輸入端點 URL" -#: src/views/backup/StorageView.vue:275 src/views/backup/StorageView.vue:423 +#: src/views/backup/StorageView.vue:275 +#: src/views/backup/StorageView.vue:423 msgid "Scheme" msgstr "協定" -#: src/views/backup/StorageView.vue:278 src/views/backup/StorageView.vue:426 +#: src/views/backup/StorageView.vue:278 +#: src/views/backup/StorageView.vue:426 msgid "Bucket" msgstr "儲存桶" -#: src/views/backup/StorageView.vue:281 src/views/backup/StorageView.vue:429 +#: src/views/backup/StorageView.vue:281 +#: src/views/backup/StorageView.vue:429 msgid "Enter bucket name" msgstr "輸入儲存桶名稱" -#: src/views/backup/StorageView.vue:287 src/views/backup/StorageView.vue:371 -#: src/views/backup/StorageView.vue:435 src/views/backup/StorageView.vue:519 +#: src/views/backup/StorageView.vue:287 +#: src/views/backup/StorageView.vue:371 +#: src/views/backup/StorageView.vue:435 +#: src/views/backup/StorageView.vue:519 msgid "Enter path (optional)" msgstr "輸入路徑(可選)" -#: src/views/backup/StorageView.vue:295 src/views/backup/StorageView.vue:443 +#: src/views/backup/StorageView.vue:295 +#: src/views/backup/StorageView.vue:443 msgid "Enter host" msgstr "輸入主機" -#: src/views/backup/StorageView.vue:297 src/views/backup/StorageView.vue:445 +#: src/views/backup/StorageView.vue:297 +#: src/views/backup/StorageView.vue:445 #: src/views/database/CreateServerModal.vue:144 #: src/views/database/UpdateServerModal.vue:85 -#: src/views/firewall/ForwardView.vue:31 src/views/firewall/RuleView.vue:65 -#: src/views/firewall/ScanView.vue:291 src/views/firewall/ScanView.vue:307 -#: src/views/firewall/ScanView.vue:371 src/views/log/SSHLog.vue:81 -#: src/views/setting/SettingBase.vue:136 src/views/ssh/CreateModal.vue:70 -#: src/views/ssh/UpdateModal.vue:76 src/views/website/CreateModal.vue:224 +#: src/views/firewall/ForwardView.vue:31 +#: src/views/firewall/RuleView.vue:65 +#: src/views/firewall/ScanView.vue:291 +#: src/views/firewall/ScanView.vue:307 +#: src/views/firewall/ScanView.vue:371 +#: src/views/log/SSHLog.vue:81 +#: src/views/setting/SettingBase.vue:136 +#: src/views/ssh/CreateModal.vue:70 +#: src/views/ssh/UpdateModal.vue:76 +#: src/views/website/CreateModal.vue:224 msgid "Port" msgstr "端口" -#: src/views/backup/StorageView.vue:302 src/views/backup/StorageView.vue:450 +#: src/views/backup/StorageView.vue:302 +#: src/views/backup/StorageView.vue:450 msgid "Enter port" msgstr "輸入連接埠" -#: src/views/backup/StorageView.vue:311 src/views/backup/StorageView.vue:459 +#: src/views/backup/StorageView.vue:311 +#: src/views/backup/StorageView.vue:459 msgid "Auth Type" msgstr "認證類型" -#: src/views/backup/StorageView.vue:323 src/views/backup/StorageView.vue:365 -#: src/views/backup/StorageView.vue:471 src/views/backup/StorageView.vue:513 +#: src/views/backup/StorageView.vue:323 +#: src/views/backup/StorageView.vue:365 +#: src/views/backup/StorageView.vue:471 +#: src/views/backup/StorageView.vue:513 #: src/views/container/ImageView.vue:399 #: src/views/database/CreateDatabaseModal.vue:131 #: src/views/database/CreateUserModal.vue:120 @@ -4727,19 +4995,23 @@ msgstr "認證類型" msgid "Enter password" msgstr "輸入密碼" -#: src/views/backup/StorageView.vue:335 src/views/backup/StorageView.vue:483 +#: src/views/backup/StorageView.vue:335 +#: src/views/backup/StorageView.vue:483 msgid "Enter private key" msgstr "輸入私鑰" -#: src/views/backup/StorageView.vue:341 src/views/backup/StorageView.vue:489 +#: src/views/backup/StorageView.vue:341 +#: src/views/backup/StorageView.vue:489 msgid "Enter remote path" msgstr "輸入遠端路徑" -#: src/views/backup/StorageView.vue:348 src/views/backup/StorageView.vue:496 +#: src/views/backup/StorageView.vue:348 +#: src/views/backup/StorageView.vue:496 msgid "URL" msgstr "URL" -#: src/views/backup/StorageView.vue:351 src/views/backup/StorageView.vue:499 +#: src/views/backup/StorageView.vue:351 +#: src/views/backup/StorageView.vue:499 msgid "Enter WebDAV URL" msgstr "輸入 WebDAV URL" @@ -4751,35 +5023,43 @@ msgstr "編輯儲存" msgid "Upload %{ filename } successfully" msgstr "上傳 %{ filename } 成功" -#: src/views/backup/UploadModal.vue:50 src/views/file/UploadModal.vue:500 +#: src/views/backup/UploadModal.vue:50 +#: src/views/file/UploadModal.vue:500 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:45 src/views/cert/AccountView.vue:246 +#: src/views/cert/AccountView.vue:45 +#: src/views/cert/AccountView.vue:246 #: src/views/cert/CreateAccountModal.vue:103 -#: src/views/setting/CreateModal.vue:63 src/views/setting/SettingUser.vue:37 +#: src/views/setting/CreateModal.vue:63 +#: src/views/setting/SettingUser.vue:37 msgid "Email" msgstr "電子郵件" -#: src/views/cert/AccountView.vue:73 src/views/cert/AccountView.vue:238 -#: src/views/cert/CertView.vue:472 src/views/cert/CreateAccountModal.vue:95 +#: src/views/cert/AccountView.vue:73 +#: src/views/cert/AccountView.vue:238 +#: src/views/cert/CertView.vue:472 +#: src/views/cert/CreateAccountModal.vue:95 #: src/views/cert/CreateCertModal.vue:109 msgid "Key Type" msgstr "密鑰類型" -#: src/views/cert/AccountView.vue:102 src/views/cert/CertView.vue:291 -#: src/views/cert/DnsView.vue:90 src/views/database/ServerList.vue:221 -#: src/views/database/UserList.vue:150 src/views/file/PermissionModal.vue:156 +#: src/views/cert/AccountView.vue:102 +#: src/views/cert/CertView.vue:291 +#: src/views/cert/DnsView.vue:90 +#: src/views/database/ServerList.vue:221 +#: src/views/database/UserList.vue:150 +#: src/views/file/PermissionModal.vue:156 #: src/views/setting/TokenModal.vue:71 msgid "Modify" msgstr "修改" -#: src/views/cert/AccountView.vue:110 src/views/cert/CertView.vue:300 +#: src/views/cert/AccountView.vue:110 +#: src/views/cert/CertView.vue:300 #: src/views/cert/DnsView.vue:99 msgid "Deletion successful" msgstr "刪除成功" @@ -4788,7 +5068,8 @@ msgstr "刪除成功" msgid "Are you sure you want to delete the account?" msgstr "您確定要刪除該賬戶嗎?" -#: src/views/cert/AccountView.vue:152 src/views/cert/CreateAccountModal.vue:41 +#: src/views/cert/AccountView.vue:152 +#: src/views/cert/CreateAccountModal.vue:41 msgid "Registering account with CA, please wait patiently" msgstr "正在向 CA 註冊賬戶,請耐心等待" @@ -4796,55 +5077,61 @@ msgstr "正在向 CA 註冊賬戶,請耐心等待" msgid "Modify Account" msgstr "修改帳戶" -#: src/views/cert/AccountView.vue:218 src/views/cert/CreateAccountModal.vue:75 -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:218 +#: src/views/cert/CreateAccountModal.vue:75 +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:224 src/views/cert/CreateAccountModal.vue:81 -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:224 +#: src/views/cert/CreateAccountModal.vue:81 +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:230 src/views/cert/CreateAccountModal.vue:87 +#: src/views/cert/AccountView.vue:230 +#: src/views/cert/CreateAccountModal.vue:87 msgid "CA" msgstr "CA" -#: src/views/cert/AccountView.vue:233 src/views/cert/CreateAccountModal.vue:90 +#: src/views/cert/AccountView.vue:233 +#: src/views/cert/CreateAccountModal.vue:90 msgid "Select CA" msgstr "選擇 CA" -#: src/views/cert/AccountView.vue:241 src/views/cert/CertView.vue:475 +#: src/views/cert/AccountView.vue:241 +#: src/views/cert/CertView.vue:475 #: src/views/cert/CreateAccountModal.vue:98 #: src/views/cert/CreateCertModal.vue:112 msgid "Select key type" msgstr "選擇密鑰類型" -#: src/views/cert/AccountView.vue:251 src/views/cert/CreateAccountModal.vue:108 +#: src/views/cert/AccountView.vue:251 +#: src/views/cert/CreateAccountModal.vue:108 msgid "Enter email address" msgstr "輸入電子郵件地址" -#: src/views/cert/AccountView.vue:259 src/views/cert/CreateAccountModal.vue:116 +#: src/views/cert/AccountView.vue:259 +#: src/views/cert/CreateAccountModal.vue:116 msgid "Enter KID" msgstr "輸入 KID" -#: src/views/cert/AccountView.vue:267 src/views/cert/CreateAccountModal.vue:124 +#: src/views/cert/AccountView.vue:267 +#: src/views/cert/CreateAccountModal.vue:124 msgid "Enter HMAC" msgstr "輸入 HMAC" -#: src/views/cert/CertView.vue:80 src/views/cert/CertView.vue:464 -#: src/views/cert/CreateCertModal.vue:101 src/views/project/CreateModal.vue:661 -#: src/views/website/CreateModal.vue:201 src/views/website/EditModal.vue:828 +#: src/views/cert/CertView.vue:80 +#: src/views/cert/CertView.vue:464 +#: src/views/cert/CreateCertModal.vue:101 +#: src/views/project/CreateModal.vue:661 +#: src/views/website/CreateModal.vue:201 +#: src/views/website/EditModal.vue:828 msgid "Domain" msgstr "域名" -#: src/views/cert/CertView.vue:125 src/views/file/ToolBar.vue:180 -#: src/views/file/UploadModal.vue:465 src/views/monitor/IndexView.vue:596 +#: src/views/cert/CertView.vue:125 +#: src/views/file/ToolBar.vue:180 +#: src/views/file/UploadModal.vue:465 +#: src/views/monitor/IndexView.vue:596 msgid "Upload" msgstr "上傳" @@ -4852,12 +5139,15 @@ msgstr "上傳" msgid "Associated Account" msgstr "關聯帳戶" -#: src/views/cert/CertView.vue:146 src/views/website/EditModal.vue:1581 +#: src/views/cert/CertView.vue:146 +#: src/views/website/EditModal.vue:1581 msgid "Issuer" msgstr "頒發者" -#: src/views/cert/CertView.vue:155 src/views/setting/TokenModal.vue:45 -#: src/views/setting/TokenModal.vue:266 src/views/setting/TokenModal.vue:299 +#: src/views/cert/CertView.vue:155 +#: src/views/setting/TokenModal.vue:45 +#: src/views/setting/TokenModal.vue:266 +#: src/views/setting/TokenModal.vue:299 msgid "Expiration Time" msgstr "過期時間" @@ -4869,7 +5159,8 @@ msgstr "下次續簽時間" msgid "Auto Renewal" msgstr "自動續簽" -#: src/views/cert/CertView.vue:207 src/views/website/EditModal.vue:2107 +#: src/views/cert/CertView.vue:207 +#: src/views/website/EditModal.vue:2107 msgid "Issue" msgstr "簽發" @@ -4890,57 +5181,63 @@ msgid "Modify Certificate" msgstr "修改證書" #: src/views/cert/CertView.vue:458 -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:483 src/views/cert/CreateCertModal.vue:120 +#: src/views/cert/CertView.vue:483 +#: src/views/cert/CreateCertModal.vue:120 msgid "Select website for certificate deployment" msgstr "選擇要部署憑證的網站" -#: src/views/cert/CertView.vue:491 src/views/cert/CreateCertModal.vue:125 +#: src/views/cert/CertView.vue:491 +#: src/views/cert/CreateCertModal.vue:125 #: src/views/cert/IndexView.vue:97 msgid "Account" msgstr "帳戶" -#: src/views/cert/CertView.vue:495 src/views/cert/CreateCertModal.vue:128 +#: src/views/cert/CertView.vue:495 +#: src/views/cert/CreateCertModal.vue:128 msgid "Select account for certificate issuance" msgstr "選擇用於憑證頒發的帳戶" -#: src/views/cert/CertView.vue:500 src/views/cert/CreateCertModal.vue:133 -#: src/views/cert/CreateDnsModal.vue:70 src/views/cert/DnsView.vue:208 -#: src/views/cert/IndexView.vue:98 src/views/website/EditModal.vue:2098 +#: src/views/cert/CertView.vue:500 +#: src/views/cert/CreateCertModal.vue:133 +#: src/views/cert/CreateDnsModal.vue:70 +#: src/views/cert/DnsView.vue:208 +#: src/views/cert/IndexView.vue:98 +#: src/views/website/EditModal.vue:2098 msgid "DNS" msgstr "DNS" -#: src/views/cert/CertView.vue:503 src/views/cert/CreateCertModal.vue:136 +#: src/views/cert/CertView.vue:503 +#: src/views/cert/CreateCertModal.vue:136 #: src/views/website/EditModal.vue:2101 msgid "Select DNS for certificate issuance" msgstr "選擇用於證書頒發的 DNS" -#: src/views/cert/CertView.vue:510 src/views/cert/CreateCertModal.vue:141 +#: src/views/cert/CertView.vue:510 +#: src/views/cert/CreateCertModal.vue:141 msgid "DNS Alias" msgstr "DNS 別名" -#: src/views/cert/CertView.vue:520 src/views/cert/CreateCertModal.vue:147 +#: src/views/cert/CertView.vue:520 +#: src/views/cert/CreateCertModal.vue:147 msgid "Original domain, e.g. example.com" msgstr "原始域名,例如 example.com" -#: src/views/cert/CertView.vue:526 src/views/cert/CreateCertModal.vue:153 +#: src/views/cert/CertView.vue:526 +#: src/views/cert/CreateCertModal.vue:153 msgid "Alias record, e.g. _acme-challenge.delegated.com" msgstr "別名記錄,例如 _acme-challenge.delegated.com" -#: src/views/cert/CertView.vue:541 src/views/cert/UploadCertModal.vue:49 +#: src/views/cert/CertView.vue:541 +#: src/views/cert/UploadCertModal.vue:49 #: src/views/website/EditModal.vue:1648 msgid "Enter the content of the PEM certificate file" msgstr "輸入 PEM 證書文件的內容" -#: src/views/cert/CertView.vue:553 src/views/cert/UploadCertModal.vue:57 +#: src/views/cert/CertView.vue:553 +#: src/views/cert/UploadCertModal.vue:57 #: src/views/website/EditModal.vue:1658 msgid "Enter the content of the KEY private key file" msgstr "輸入 KEY 私鑰文件的內容" @@ -4950,9 +5247,7 @@ msgid "Deployment Script" msgstr "部署腳本" #: src/views/cert/CertView.vue:566 -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:580 @@ -4971,24 +5266,22 @@ msgstr "啟用 HTTPS" msgid "View Certificate" msgstr "查看證書" -#: src/views/cert/CreateAccountModal.vue:67 src/views/cert/IndexView.vue:110 +#: src/views/cert/CreateAccountModal.vue:67 +#: src/views/cert/IndexView.vue:110 msgid "Create Account" msgstr "創建賬戶" -#: src/views/cert/CreateCertModal.vue:86 src/views/cert/IndexView.vue:107 +#: src/views/cert/CreateCertModal.vue:86 +#: src/views/cert/IndexView.vue:107 msgid "Create Certificate" msgstr "建立憑證" #: src/views/cert/CreateCertModal.vue:95 -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:55 src/views/cert/IndexView.vue:113 +#: src/views/cert/CreateDnsModal.vue:55 +#: src/views/cert/IndexView.vue:113 msgid "Create DNS" msgstr "創建 DNS" @@ -5000,87 +5293,108 @@ msgstr "備註名稱" msgid "Enter comment name" msgstr "輸入備註名稱" -#: src/views/cert/CreateDnsModal.vue:73 src/views/cert/DnsView.vue:211 +#: src/views/cert/CreateDnsModal.vue:73 +#: src/views/cert/DnsView.vue:211 msgid "Select DNS" msgstr "選擇 DNS" -#: src/views/cert/CreateDnsModal.vue:82 src/views/cert/DnsView.vue:220 +#: src/views/cert/CreateDnsModal.vue:82 +#: src/views/cert/DnsView.vue:220 msgid "Enter Aliyun Access Key" msgstr "輸入阿里雲 Access Key" -#: src/views/cert/CreateDnsModal.vue:89 src/views/cert/DnsView.vue:227 +#: src/views/cert/CreateDnsModal.vue:89 +#: src/views/cert/DnsView.vue:227 msgid "Enter Aliyun Secret Key" msgstr "輸入阿里雲 Secret Key" -#: src/views/cert/CreateDnsModal.vue:96 src/views/cert/DnsView.vue:234 +#: src/views/cert/CreateDnsModal.vue:96 +#: src/views/cert/DnsView.vue:234 msgid "Enter Tencent Cloud SecretId" msgstr "輸入騰訊雲 SecretId" -#: src/views/cert/CreateDnsModal.vue:103 src/views/cert/DnsView.vue:241 +#: src/views/cert/CreateDnsModal.vue:103 +#: src/views/cert/DnsView.vue:241 msgid "Enter Tencent Cloud SecretKey" msgstr "輸入騰訊雲 SecretKey" -#: src/views/cert/CreateDnsModal.vue:110 src/views/cert/DnsView.vue:248 +#: src/views/cert/CreateDnsModal.vue:110 +#: src/views/cert/DnsView.vue:248 msgid "Enter Huawei Cloud AccessKeyId" msgstr "輸入華為雲 AccessKeyId" -#: src/views/cert/CreateDnsModal.vue:117 src/views/cert/DnsView.vue:255 +#: src/views/cert/CreateDnsModal.vue:117 +#: src/views/cert/DnsView.vue:255 msgid "Enter Huawei Cloud SecretAccessKey" msgstr "輸入華為雲 SecretAccessKey" -#: src/views/cert/CreateDnsModal.vue:124 src/views/cert/DnsView.vue:262 +#: src/views/cert/CreateDnsModal.vue:124 +#: src/views/cert/DnsView.vue:262 msgid "Enter West.cn Username" msgstr "輸入西部數碼用戶名" -#: src/views/cert/CreateDnsModal.vue:131 src/views/cert/DnsView.vue:269 +#: src/views/cert/CreateDnsModal.vue:131 +#: src/views/cert/DnsView.vue:269 msgid "Enter West.cn API Password" msgstr "輸入西部數碼 API 密碼" -#: src/views/cert/CreateDnsModal.vue:138 src/views/cert/DnsView.vue:276 +#: src/views/cert/CreateDnsModal.vue:138 +#: src/views/cert/DnsView.vue:276 msgid "Enter Cloudflare API Key" msgstr "輸入 Cloudflare API 金鑰" -#: src/views/cert/CreateDnsModal.vue:145 src/views/cert/DnsView.vue:283 +#: src/views/cert/CreateDnsModal.vue:145 +#: src/views/cert/DnsView.vue:283 msgid "Enter G-Core API Key" msgstr "輸入 G-Core API 金鑰" -#: src/views/cert/CreateDnsModal.vue:152 src/views/cert/DnsView.vue:290 +#: src/views/cert/CreateDnsModal.vue:152 +#: src/views/cert/DnsView.vue:290 msgid "Enter Porkbun API Key" msgstr "輸入 Porkbun API 金鑰" -#: src/views/cert/CreateDnsModal.vue:159 src/views/cert/DnsView.vue:297 +#: src/views/cert/CreateDnsModal.vue:159 +#: src/views/cert/DnsView.vue:297 msgid "Enter Porkbun Secret Key" msgstr "輸入 Porkbun 密鑰" -#: src/views/cert/CreateDnsModal.vue:166 src/views/cert/DnsView.vue:304 +#: src/views/cert/CreateDnsModal.vue:166 +#: src/views/cert/DnsView.vue:304 msgid "Enter NameSilo API Token" msgstr "輸入 NameSilo API 令牌" -#: src/views/cert/CreateDnsModal.vue:173 src/views/cert/DnsView.vue:311 +#: src/views/cert/CreateDnsModal.vue:173 +#: src/views/cert/DnsView.vue:311 msgid "Enter ClouDNS Auth ID (use Sub Auth ID by adding sub-prefix)" msgstr "輸入 ClouDNS 認證 ID(使用子認證 ID 時添加 sub- 前綴)" -#: src/views/cert/CreateDnsModal.vue:180 src/views/cert/DnsView.vue:318 +#: src/views/cert/CreateDnsModal.vue:180 +#: src/views/cert/DnsView.vue:318 msgid "Enter ClouDNS Auth Password" msgstr "輸入 ClouDNS 認證密碼" -#: src/views/cert/CreateDnsModal.vue:183 src/views/cert/DnsView.vue:321 +#: src/views/cert/CreateDnsModal.vue:183 +#: src/views/cert/DnsView.vue:321 msgid "DNS Server" msgstr "DNS 伺服器" -#: src/views/cert/CreateDnsModal.vue:187 src/views/cert/DnsView.vue:325 +#: src/views/cert/CreateDnsModal.vue:187 +#: src/views/cert/DnsView.vue:325 msgid "DNS server for propagation check, e.g. 8.8.8.8" msgstr "用於生效檢查的 DNS 伺服器,例如 8.8.8.8" -#: src/views/cert/CreateDnsModal.vue:190 src/views/cert/DnsView.vue:328 +#: src/views/cert/CreateDnsModal.vue:190 +#: src/views/cert/DnsView.vue:328 msgid "Skip DNS Verification" msgstr "跳過 DNS 驗證" -#: src/views/cert/CreateDnsModal.vue:193 src/views/cert/DnsView.vue:331 +#: src/views/cert/CreateDnsModal.vue:193 +#: src/views/cert/DnsView.vue:331 msgid "For intranet environments, will wait 60s instead of polling DNS" msgstr "在內網環境中,將等待 60 秒而不是輪詢 DNS" -#: src/views/cert/DnsView.vue:34 src/views/cert/DnsView.vue:201 +#: src/views/cert/DnsView.vue:34 +#: src/views/cert/DnsView.vue:201 msgid "Note Name" msgstr "備註名稱" @@ -5096,7 +5410,8 @@ msgstr "修改 DNS" msgid "Enter note name" msgstr "輸入備註名稱" -#: src/views/cert/IndexView.vue:104 src/views/cert/UploadCertModal.vue:37 +#: src/views/cert/IndexView.vue:104 +#: src/views/cert/UploadCertModal.vue:37 msgid "Upload Certificate" msgstr "上傳證書" @@ -5108,16 +5423,19 @@ msgstr "自動" msgid "Self-signed" msgstr "自簽名" -#: src/views/cert/ObtainModal.vue:66 src/views/cert/ObtainModal.vue:169 +#: src/views/cert/ObtainModal.vue:66 +#: src/views/cert/ObtainModal.vue:169 msgid "Renewal successful" msgstr "續期成功" -#: src/views/cert/ObtainModal.vue:67 src/views/cert/ObtainModal.vue:109 +#: src/views/cert/ObtainModal.vue:67 +#: src/views/cert/ObtainModal.vue:109 #: src/views/cert/ObtainModal.vue:170 msgid "Issuance successful" msgstr "簽發成功" -#: src/views/cert/ObtainModal.vue:83 src/views/cert/ObtainModal.vue:89 +#: src/views/cert/ObtainModal.vue:83 +#: src/views/cert/ObtainModal.vue:89 msgid "WebSocket connection failed" msgstr "WebSocket 連線失敗" @@ -5133,11 +5451,15 @@ msgstr "簽發證書" msgid "Issuance Mode" msgstr "簽發模式" -#: src/views/container/ComposeView.vue:91 src/views/container/ImageView.vue:75 +#: src/views/container/ComposeView.vue:91 +#: src/views/container/ImageView.vue:75 #: src/views/container/NetworkView.vue:101 -#: src/views/container/VolumeView.vue:55 src/views/setting/PasskeyModal.vue:30 -#: src/views/setting/SettingUser.vue:76 src/views/setting/TokenModal.vue:36 -#: src/views/task/CronView.vue:98 src/views/task/TaskView.vue:47 +#: src/views/container/VolumeView.vue:55 +#: src/views/setting/PasskeyModal.vue:30 +#: src/views/setting/SettingUser.vue:76 +#: src/views/setting/TokenModal.vue:36 +#: src/views/task/CronView.vue:98 +#: src/views/task/TaskView.vue:47 #: src/views/toolbox/WebHookView.vue:123 msgid "Creation Time" msgstr "創建時間" @@ -5184,7 +5506,8 @@ msgid "Are you sure you want to delete the selected composes?" msgstr "您確定要刪除所選的編排嗎?" #: src/views/container/ComposeView.vue:364 -#: src/views/container/ComposeView.vue:390 src/views/container/IndexView.vue:23 +#: src/views/container/ComposeView.vue:390 +#: src/views/container/IndexView.vue:23 msgid "Compose" msgstr "編排" @@ -5312,9 +5635,7 @@ msgid "Container End" msgstr "容器結束" #: src/views/container/ContainerCreate.vue:329 -msgid "" -"All exposed ports in the image will be automatically mapped to random host " -"ports." +msgid "All exposed ports in the image will be automatically mapped to random host ports." msgstr "鏡像中的所有暴露端口將自動映射到隨機主機端口。" #: src/views/container/ContainerCreate.vue:338 @@ -5335,9 +5656,7 @@ msgid "Container path" msgstr "容器路徑" #: src/views/container/ContainerCreate.vue:371 -msgid "" -"Mount host directories or volumes into the container. Use absolute paths for " -"host directories." +msgid "Mount host directories or volumes into the container. Use absolute paths for host directories." msgstr "將主機目錄或卷掛載到容器中。主機目錄需使用絕對路徑。" #: src/views/container/ContainerCreate.vue:380 @@ -5346,9 +5665,7 @@ msgid "Resource Limits" msgstr "資源限制" #: src/views/container/ContainerCreate.vue:384 -msgid "" -"Set resource limits to prevent the container from consuming too many system " -"resources. Set to 0 for no limit." +msgid "Set resource limits to prevent the container from consuming too many system resources. Set to 0 for no limit." msgstr "設置資源限制以防止容器消耗過多系統資源。設置為 0 表示無限制。" #: src/views/container/ContainerCreate.vue:392 @@ -5380,17 +5697,12 @@ msgid "Maximum memory the container can use, in MB. 0 means no limit." msgstr "容器可以使用的最大內存,單位為 MB。0 表示無限制。" #: src/views/container/ContainerCreate.vue:433 -msgid "" -"Number of CPU cores the container can use. 0.5 means half a core, 2 means 2 " -"cores." +msgid "Number of CPU cores the container can use. 0.5 means half a core, 2 means 2 cores." msgstr "容器可以使用的 CPU 核心數。0.5 意味著半個核心,2 意味著 2 個核心。" #: src/views/container/ContainerCreate.vue:440 -msgid "" -"Relative CPU weight. Default is 1024. Higher values get more CPU time when " -"competing." -msgstr "" -"相對 CPU 權重。默認值為 1024。當競爭時,更高的值會獲得更多的 CPU 時間。" +msgid "Relative CPU weight. Default is 1024. Higher values get more CPU time when competing." +msgstr "相對 CPU 權重。默認值為 1024。當競爭時,更高的值會獲得更多的 CPU 時間。" #: src/views/container/ContainerCreate.vue:452 #: src/views/toolbox/MigrationView.vue:469 @@ -5411,8 +5723,10 @@ msgstr "變量值" msgid "Startup Commands" msgstr "啟動命令" -#: src/views/container/ContainerCreate.vue:480 src/views/home/IndexView.vue:661 -#: src/views/home/IndexView.vue:762 src/views/monitor/IndexView.vue:335 +#: src/views/container/ContainerCreate.vue:480 +#: src/views/home/IndexView.vue:661 +#: src/views/home/IndexView.vue:762 +#: src/views/monitor/IndexView.vue:335 #: src/views/monitor/IndexView.vue:347 msgid "Command" msgstr "命令" @@ -5474,7 +5788,8 @@ msgstr "暫停" msgid "Resume" msgstr "恢復" -#: src/views/container/ContainerView.vue:229 src/views/file/ListView.vue:1568 +#: src/views/container/ContainerView.vue:229 +#: src/views/file/ListView.vue:1568 msgid "More" msgstr "更多" @@ -5567,9 +5882,12 @@ msgstr "重試" msgid "Container Count" msgstr "容器數量" -#: src/views/container/ImageView.vue:99 src/views/container/NetworkView.vue:125 -#: src/views/container/VolumeView.vue:79 src/views/firewall/ForwardView.vue:92 -#: src/views/firewall/IpRuleView.vue:134 src/views/firewall/RuleView.vue:238 +#: src/views/container/ImageView.vue:99 +#: src/views/container/NetworkView.vue:125 +#: src/views/container/VolumeView.vue:79 +#: src/views/firewall/ForwardView.vue:92 +#: src/views/firewall/IpRuleView.vue:134 +#: src/views/firewall/RuleView.vue:238 #: src/views/task/TaskView.vue:96 msgid "Are you sure you want to delete?" msgstr "您確定要刪除嗎?" @@ -5578,7 +5896,8 @@ msgstr "您確定要刪除嗎?" msgid "Pull successful" msgstr "拉取成功" -#: src/views/container/ImageView.vue:267 src/views/container/ImageView.vue:305 +#: src/views/container/ImageView.vue:267 +#: src/views/container/ImageView.vue:305 msgid "Pull Image" msgstr "拉取鏡像" @@ -5616,11 +5935,13 @@ msgstr "網絡" #: src/views/container/NetworkView.vue:53 #: src/views/container/NetworkView.vue:256 -#: src/views/container/VolumeView.vue:34 src/views/container/VolumeView.vue:209 +#: src/views/container/VolumeView.vue:34 +#: src/views/container/VolumeView.vue:209 msgid "Driver" msgstr "驅動程式" -#: src/views/container/NetworkView.vue:60 src/views/container/VolumeView.vue:41 +#: src/views/container/NetworkView.vue:60 +#: src/views/container/VolumeView.vue:41 #: src/views/website/EditModal.vue:1972 msgid "Scope" msgstr "範圍" @@ -5700,8 +6021,10 @@ msgstr "選項名稱" msgid "Option Value" msgstr "選項值" -#: src/views/container/VolumeView.vue:48 src/views/home/IndexView.vue:805 -#: src/views/toolbox/DiskView.vue:328 src/views/toolbox/DiskView.vue:826 +#: src/views/container/VolumeView.vue:48 +#: src/views/home/IndexView.vue:805 +#: src/views/toolbox/DiskView.vue:328 +#: src/views/toolbox/DiskView.vue:826 msgid "Mount Point" msgstr "掛載點" @@ -5823,12 +6146,12 @@ msgstr "輸入數據庫伺服器備註" #: src/views/database/CreateUserModal.vue:93 #: src/views/database/UpdateUserModal.vue:58 -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:143 -#: src/views/database/UpdateUserModal.vue:71 src/views/database/UserList.vue:80 +#: src/views/database/UpdateUserModal.vue:71 +#: src/views/database/UserList.vue:80 msgid "Privileges" msgstr "權限" @@ -5962,7 +6285,8 @@ msgstr "設置 TTL" msgid "-1 means no expiration" msgstr "-1 表示永不過期" -#: src/views/database/RedisKeyModal.vue:89 src/views/toolbox/SshView.vue:298 +#: src/views/database/RedisKeyModal.vue:89 +#: src/views/toolbox/SshView.vue:298 msgid "View Key" msgstr "查看密鑰" @@ -5992,22 +6316,23 @@ msgstr "輸入 JSON 值" msgid "Unsupported database type" msgstr "不支援的資料庫類型" -#: src/views/database/ServerList.vue:145 src/views/database/UserList.vue:119 +#: src/views/database/ServerList.vue:145 +#: src/views/database/UserList.vue:119 msgid "Valid" msgstr "有效" -#: src/views/database/ServerList.vue:145 src/views/database/UserList.vue:119 +#: src/views/database/ServerList.vue:145 +#: src/views/database/UserList.vue:119 msgid "Invalid" msgstr "無效" -#: src/views/database/ServerList.vue:183 src/views/toolbox/SystemView.vue:122 +#: src/views/database/ServerList.vue:183 +#: src/views/toolbox/SystemView.vue:122 msgid "Synchronized successfully" msgstr "同步成功" #: src/views/database/ServerList.vue:189 -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:202 @@ -6015,9 +6340,7 @@ msgid "Sync" msgstr "同步" #: src/views/database/ServerList.vue:231 -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:242 @@ -6040,7 +6363,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:149 @@ -6048,7 +6372,8 @@ msgstr "您確定要刪除該用戶嗎?" msgid "Set successfully" msgstr "設置成功" -#: src/views/environment/DotnetView.vue:27 src/views/environment/GoView.vue:64 +#: src/views/environment/DotnetView.vue:27 +#: src/views/environment/GoView.vue:64 #: src/views/environment/JavaView.vue:27 #: src/views/environment/NodejsView.vue:67 #: src/views/environment/PHPView.vue:216 @@ -6057,11 +6382,8 @@ msgid "Set as CLI Default Version" msgstr "設置為 CLI 默認版本" #: src/views/environment/DotnetView.vue:31 -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)" @@ -6071,11 +6393,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)" @@ -6085,9 +6409,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 @@ -6099,12 +6421,8 @@ msgid "Select or enter proxy address" msgstr "選擇或輸入代理地址" #: src/views/environment/JavaView.vue:31 -msgid "" -"Amazon Corretto is a no-cost, multiplatform, production-ready distribution " -"of the Open Java Development Kit (OpenJDK)." -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)" @@ -6123,9 +6441,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 @@ -6170,12 +6486,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" @@ -6186,9 +6498,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 @@ -6216,8 +6526,7 @@ msgid "Timeout Limits" msgstr "超時限制" #: src/views/environment/PhpConfigTuneView.vue:393 -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:397 @@ -6242,8 +6551,7 @@ msgid "e.g. 1000" msgstr "例如 1000" #: src/views/environment/PhpConfigTuneView.vue:438 -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:442 @@ -6271,12 +6579,8 @@ msgid "Max Spare Servers (pm.max_spare_servers)" msgstr "最大空閒服務器數(pm.max_spare_servers)" #: src/views/environment/PhpConfigTuneView.vue:494 -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:500 msgid "Save Handler (session.save_handler)" @@ -6347,24 +6651,16 @@ msgid "View PHPInfo" msgstr "查看 PHPInfo" #: src/views/environment/PHPView.vue:247 -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:261 msgid "FPM Configuration" msgstr "FPM 配置" #: src/views/environment/PHPView.vue:265 -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:302 msgid "Slow Logs" @@ -6391,9 +6687,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 @@ -6434,8 +6728,10 @@ msgstr "名稱不能為空" msgid "Canceled" msgstr "已取消" -#: src/views/file/composables/usePaste.ts:130 src/views/file/ListView.vue:239 -#: src/views/file/ListView.vue:774 src/views/file/ListView.vue:842 +#: src/views/file/composables/usePaste.ts:130 +#: src/views/file/ListView.vue:239 +#: src/views/file/ListView.vue:774 +#: src/views/file/ListView.vue:842 msgid "Warning" msgstr "警告" @@ -6443,7 +6739,8 @@ msgstr "警告" msgid "There are items with the same name %{ items } Do you want to overwrite?" msgstr "存在同名項目 %{ items } 是否要覆蓋?" -#: src/views/file/composables/usePaste.ts:167 src/views/file/ListView.vue:776 +#: src/views/file/composables/usePaste.ts:167 +#: src/views/file/ListView.vue:776 msgid "Overwrite" msgstr "覆蓋" @@ -6455,9 +6752,12 @@ msgstr "壓縮中……" msgid "Compressed successfully" msgstr "壓縮成功" -#: src/views/file/CompressModal.vue:73 src/views/file/CompressModal.vue:105 -#: src/views/file/ListView.vue:309 src/views/file/ListView.vue:345 -#: src/views/file/ListView.vue:954 src/views/file/ListView.vue:1538 +#: src/views/file/CompressModal.vue:73 +#: src/views/file/CompressModal.vue:105 +#: src/views/file/ListView.vue:309 +#: src/views/file/ListView.vue:345 +#: src/views/file/ListView.vue:954 +#: src/views/file/ListView.vue:1538 #: src/views/file/ToolBar.vue:215 msgid "Compress" msgstr "壓縮" @@ -6487,55 +6787,63 @@ msgid "File Editor" msgstr "文件編輯器" #: src/views/file/ListView.vue:240 -msgid "" -"%{ name } has immutable attribute. The panel will temporarily remove the " -"immutable attribute, perform the operation, and then restore the immutable " -"attribute. Do you want to continue?" -msgstr "" -"%{ name } 具有不可變屬性。面板將暫時移除不可變屬性,執行操作,然後恢復不可變" -"屬性。您要繼續嗎?" +msgid "%{ name } has immutable attribute. The panel will temporarily remove the immutable attribute, perform the operation, and then restore the immutable attribute. Do you want to continue?" +msgstr "%{ name } 具有不可變屬性。面板將暫時移除不可變屬性,執行操作,然後恢復不可變屬性。您要繼續嗎?" -#: src/views/file/ListView.vue:244 src/views/file/UploadModal.vue:339 +#: src/views/file/ListView.vue:244 +#: src/views/file/UploadModal.vue:339 #: src/views/file/UploadModal.vue:449 msgid "Continue" msgstr "繼續" -#: src/views/file/ListView.vue:297 src/views/file/ListView.vue:315 -#: src/views/file/ListView.vue:359 src/views/file/ToolBar.vue:210 +#: src/views/file/ListView.vue:297 +#: src/views/file/ListView.vue:315 +#: src/views/file/ListView.vue:359 +#: src/views/file/ToolBar.vue:210 msgid "Paste" msgstr "貼上" -#: src/views/file/ListView.vue:308 src/views/file/ListView.vue:342 -#: src/views/file/ListView.vue:952 src/views/file/ToolBar.vue:214 +#: src/views/file/ListView.vue:308 +#: src/views/file/ListView.vue:342 +#: src/views/file/ListView.vue:952 +#: src/views/file/ToolBar.vue:214 msgid "Move" msgstr "移動" -#: src/views/file/ListView.vue:310 src/views/file/ListView.vue:343 -#: src/views/file/ListView.vue:953 src/views/file/ListView.vue:1356 -#: src/views/file/PermissionModal.vue:146 src/views/file/PropertyModal.vue:42 +#: src/views/file/ListView.vue:310 +#: src/views/file/ListView.vue:343 +#: src/views/file/ListView.vue:953 +#: src/views/file/ListView.vue:1356 +#: src/views/file/PermissionModal.vue:146 +#: src/views/file/PropertyModal.vue:42 #: src/views/file/ToolBar.vue:216 msgid "Permission" msgstr "權限" -#: src/views/file/ListView.vue:327 src/views/file/ListView.vue:1525 +#: src/views/file/ListView.vue:327 +#: src/views/file/ListView.vue:1525 msgid "Open" msgstr "開啟" -#: src/views/file/ListView.vue:329 src/views/file/ListView.vue:1544 +#: src/views/file/ListView.vue:329 +#: src/views/file/ListView.vue:1544 msgid "Preview" msgstr "預覽" -#: src/views/file/ListView.vue:331 src/views/file/ListView.vue:959 +#: src/views/file/ListView.vue:331 +#: src/views/file/ListView.vue:959 #: src/views/file/ListView.vue:1648 msgid "Uncompress" msgstr "解壓縮" -#: src/views/file/ListView.vue:354 src/views/file/ListView.vue:969 +#: src/views/file/ListView.vue:354 +#: src/views/file/ListView.vue:969 #: src/views/file/PropertyModal.vue:11 msgid "Properties" msgstr "屬性" -#: src/views/file/ListView.vue:685 src/views/file/ToolBar.vue:77 +#: src/views/file/ListView.vue:685 +#: src/views/file/ToolBar.vue:77 #: src/views/file/ToolBar.vue:96 msgid "Marked successfully, please navigate to the destination path to paste" msgstr "標記成功,請導航到目標路徑進行粘貼" @@ -6544,7 +6852,8 @@ msgstr "標記成功,請導航到目標路徑進行粘貼" msgid "There are items with the same name. Do you want to overwrite?" msgstr "存在同名項目。您要覆蓋嗎?" -#: src/views/file/ListView.vue:783 src/views/file/ListView.vue:802 +#: src/views/file/ListView.vue:783 +#: src/views/file/ListView.vue:802 msgid "Renamed %{ source } to %{ target } successfully" msgstr "成功將 %{ source } 重命名為 %{ target }" @@ -6556,7 +6865,8 @@ msgstr "某些文件是不可變的,無法刪除" msgid "Are you sure you want to delete %{count} items?" msgstr "您確定要刪除 %{count} 項嗎?" -#: src/views/file/ListView.vue:862 src/views/file/PathInput.vue:34 +#: src/views/file/ListView.vue:862 +#: src/views/file/PathInput.vue:34 msgid "Path copied to clipboard" msgstr "路徑已複製到剪貼板" @@ -6596,7 +6906,8 @@ msgstr "解壓 - %{ file }" msgid "Uncompress to" msgstr "解壓到" -#: src/views/file/ListView.vue:1656 src/views/file/ToolBar.vue:260 +#: src/views/file/ListView.vue:1656 +#: src/views/file/ToolBar.vue:260 msgid "Terminal - %{ path }" msgstr "終端 - %{ path }" @@ -6645,22 +6956,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:211 -#: src/views/home/IndexView.vue:227 src/views/home/IndexView.vue:999 +#: src/views/file/PermissionModal.vue:139 +#: src/views/home/IndexView.vue:211 +#: src/views/home/IndexView.vue:227 +#: src/views/home/IndexView.vue:999 #: 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:211 -#: src/views/home/IndexView.vue:251 src/views/home/IndexView.vue:1000 +#: src/views/file/PermissionModal.vue:140 +#: src/views/home/IndexView.vue:211 +#: src/views/home/IndexView.vue:251 +#: src/views/home/IndexView.vue:1000 #: src/views/monitor/IndexView.vue:648 msgid "Write" msgstr "寫入" @@ -6700,8 +7016,7 @@ msgid "Immutable" msgstr "不可變" #: src/views/file/ToolBar.vue:54 -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:64 @@ -6716,7 +7031,8 @@ msgstr "請選擇要移動的文件/文件夾" msgid "Sort" msgstr "排序" -#: src/views/file/ToolBar.vue:181 src/views/file/ToolBar.vue:232 +#: src/views/file/ToolBar.vue:181 +#: src/views/file/ToolBar.vue:232 msgid "Remote Download" msgstr "遠程下載" @@ -6740,18 +7056,19 @@ msgstr "下載 URL" msgid "Save as" msgstr "另存為" -#: src/views/file/UploadModal.vue:306 src/views/file/UploadModal.vue:409 +#: src/views/file/UploadModal.vue:306 +#: src/views/file/UploadModal.vue:409 msgid "Upload %{ fileName } successful" msgstr "上傳 %{ fileName } 成功" -#: src/views/file/UploadModal.vue:334 src/views/file/UploadModal.vue:444 +#: src/views/file/UploadModal.vue:334 +#: src/views/file/UploadModal.vue:444 msgid "Confirm Upload" msgstr "確認上傳" -#: src/views/file/UploadModal.vue:335 src/views/file/UploadModal.vue:445 -msgid "" -"You are about to upload %{count} files. This may take a while. Do you want " -"to continue?" +#: src/views/file/UploadModal.vue:335 +#: src/views/file/UploadModal.vue:445 +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:474 @@ -6763,8 +7080,7 @@ msgid "Preparing..." msgstr "準備中……" #: src/views/file/UploadModal.vue:503 -msgid "" -"For large files, it is recommended to use SFTP and other methods to upload" +msgid "For large files, it is recommended to use SFTP and other methods to upload" msgstr "對於大檔案,建議使用 SFTP 等方法上傳" #: src/views/firewall/CreateForwardModal.vue:55 @@ -6774,8 +7090,10 @@ msgstr "創建轉發" #: src/views/firewall/CreateForwardModal.vue:63 #: src/views/firewall/CreateIpModal.vue:103 -#: src/views/firewall/CreateModal.vue:115 src/views/firewall/ForwardView.vue:14 -#: src/views/firewall/IpRuleView.vue:14 src/views/firewall/RuleView.vue:31 +#: src/views/firewall/CreateModal.vue:115 +#: src/views/firewall/ForwardView.vue:14 +#: src/views/firewall/IpRuleView.vue:14 +#: src/views/firewall/RuleView.vue:31 msgid "Transport Protocol" msgstr "傳輸協議" @@ -6794,25 +7112,29 @@ msgid "Target Port" msgstr "目標端口" #: src/views/firewall/CreateIpModal.vue:38 -#: src/views/firewall/CreateModal.vue:38 src/views/firewall/IpRuleView.vue:68 +#: src/views/firewall/CreateModal.vue:38 +#: src/views/firewall/IpRuleView.vue:68 #: src/views/firewall/RuleView.vue:169 msgid "Accept" msgstr "接受" #: src/views/firewall/CreateIpModal.vue:42 -#: src/views/firewall/CreateModal.vue:42 src/views/firewall/IpRuleView.vue:70 +#: src/views/firewall/CreateModal.vue:42 +#: src/views/firewall/IpRuleView.vue:70 #: src/views/firewall/RuleView.vue:171 msgid "Drop" msgstr "丟棄" #: src/views/firewall/CreateIpModal.vue:46 -#: src/views/firewall/CreateModal.vue:46 src/views/firewall/IpRuleView.vue:72 +#: src/views/firewall/CreateModal.vue:46 +#: src/views/firewall/IpRuleView.vue:72 #: src/views/firewall/RuleView.vue:173 msgid "Reject" msgstr "拒絕" #: src/views/firewall/CreateIpModal.vue:53 -#: src/views/firewall/CreateModal.vue:53 src/views/firewall/IpRuleView.vue:97 +#: src/views/firewall/CreateModal.vue:53 +#: src/views/firewall/IpRuleView.vue:97 #: src/views/firewall/RuleView.vue:198 #: src/views/website/stats/OverviewTab.vue:390 #: src/views/website/stats/OverviewTab.vue:424 @@ -6822,7 +7144,8 @@ msgid "Inbound" msgstr "入站" #: src/views/firewall/CreateIpModal.vue:57 -#: src/views/firewall/CreateModal.vue:57 src/views/firewall/IpRuleView.vue:99 +#: src/views/firewall/CreateModal.vue:57 +#: src/views/firewall/IpRuleView.vue:99 #: src/views/firewall/RuleView.vue:200 #: src/views/website/stats/OverviewTab.vue:388 #: src/views/website/stats/OverviewTab.vue:389 @@ -6838,13 +7161,15 @@ msgid "%{ address } created successfully" msgstr "%{ address } 創建成功" #: src/views/firewall/CreateIpModal.vue:95 -#: src/views/firewall/CreateModal.vue:107 src/views/firewall/IpRuleView.vue:205 +#: src/views/firewall/CreateModal.vue:107 +#: src/views/firewall/IpRuleView.vue:205 #: src/views/firewall/RuleView.vue:309 msgid "Create Rule" msgstr "創建規則" #: src/views/firewall/CreateIpModal.vue:106 -#: src/views/firewall/CreateModal.vue:118 src/views/firewall/IpRuleView.vue:31 +#: src/views/firewall/CreateModal.vue:118 +#: src/views/firewall/IpRuleView.vue:31 #: src/views/firewall/RuleView.vue:48 msgid "Network Protocol" msgstr "網路協議" @@ -6859,13 +7184,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:116 -#: src/views/firewall/CreateModal.vue:150 src/views/firewall/IpRuleView.vue:48 +#: src/views/firewall/CreateModal.vue:150 +#: src/views/firewall/IpRuleView.vue:48 #: src/views/firewall/RuleView.vue:149 msgid "Strategy" msgstr "策略" #: src/views/firewall/CreateIpModal.vue:119 -#: src/views/firewall/CreateModal.vue:153 src/views/firewall/IpRuleView.vue:84 +#: src/views/firewall/CreateModal.vue:153 +#: src/views/firewall/IpRuleView.vue:84 #: src/views/firewall/RuleView.vue:185 msgid "Direction" msgstr "方向" @@ -6878,17 +7205,21 @@ msgstr "起始端口" msgid "End Port" msgstr "結束連接埠" -#: src/views/firewall/CreateModal.vue:143 src/views/firewall/IpRuleView.vue:109 -#: src/views/firewall/RuleView.vue:210 src/views/website/EditModal.vue:1739 +#: src/views/firewall/CreateModal.vue:143 +#: src/views/firewall/IpRuleView.vue:109 +#: src/views/firewall/RuleView.vue:210 +#: src/views/website/EditModal.vue:1739 msgid "Target" msgstr "目標" -#: src/views/firewall/ForwardView.vue:135 src/views/firewall/IpRuleView.vue:177 +#: src/views/firewall/ForwardView.vue:135 +#: src/views/firewall/IpRuleView.vue:177 #: src/views/firewall/RuleView.vue:281 msgid "Please select rules to delete" msgstr "請選擇要刪除的規則" -#: src/views/firewall/ForwardView.vue:171 src/views/firewall/IpRuleView.vue:213 +#: src/views/firewall/ForwardView.vue:171 +#: src/views/firewall/IpRuleView.vue:213 #: src/views/firewall/RuleView.vue:317 msgid "Are you sure you want to delete the selected rules?" msgstr "您確定要刪除所選規則嗎?" @@ -6905,11 +7236,13 @@ msgstr "IP 規則" msgid "Port Forwarding" msgstr "連接埠轉發" -#: src/views/firewall/IndexView.vue:24 src/views/firewall/SettingView.vue:95 +#: src/views/firewall/IndexView.vue:24 +#: src/views/firewall/SettingView.vue:95 msgid "Scan Awareness" msgstr "掃描感知" -#: src/views/firewall/IpRuleView.vue:74 src/views/firewall/RuleView.vue:175 +#: src/views/firewall/IpRuleView.vue:74 +#: src/views/firewall/RuleView.vue:175 msgid "Mark" msgstr "標記" @@ -6917,7 +7250,8 @@ msgstr "標記" msgid "Not Used" msgstr "未使用" -#: src/views/firewall/RuleView.vue:104 src/views/toolbox/PanelView.vue:153 +#: src/views/firewall/RuleView.vue:104 +#: src/views/toolbox/PanelView.vue:153 msgid "In Use" msgstr "使用中" @@ -6925,14 +7259,19 @@ msgstr "使用中" msgid "No process information" msgstr "沒有進程信息" -#: src/views/firewall/ScanView.vue:191 src/views/firewall/ScanView.vue:209 -#: src/views/firewall/ScanView.vue:221 src/views/firewall/ScanView.vue:279 -#: src/views/firewall/ScanView.vue:293 src/views/firewall/ScanView.vue:309 +#: src/views/firewall/ScanView.vue:191 +#: src/views/firewall/ScanView.vue:209 +#: src/views/firewall/ScanView.vue:221 +#: src/views/firewall/ScanView.vue:279 +#: src/views/firewall/ScanView.vue:293 +#: src/views/firewall/ScanView.vue:309 msgid "Scan Count" msgstr "掃描次數" -#: src/views/firewall/ScanView.vue:191 src/views/firewall/ScanView.vue:214 -#: src/views/firewall/ScanView.vue:227 src/views/firewall/ScanView.vue:428 +#: src/views/firewall/ScanView.vue:191 +#: src/views/firewall/ScanView.vue:214 +#: src/views/firewall/ScanView.vue:227 +#: src/views/firewall/ScanView.vue:428 msgid "Source IPs" msgstr "來源 IP 數" @@ -6950,13 +7289,16 @@ msgctxt "firewall" msgid "Block" msgstr "阻止" -#: src/views/firewall/ScanView.vue:270 src/views/firewall/ScanView.vue:298 +#: src/views/firewall/ScanView.vue:270 +#: src/views/firewall/ScanView.vue:298 #: src/views/log/SSHLog.vue:76 msgid "Source IP" msgstr "來源 IP" -#: src/views/firewall/ScanView.vue:272 src/views/firewall/ScanView.vue:300 -#: src/views/firewall/ScanView.vue:381 src/views/website/stats/IPsTab.vue:122 +#: src/views/firewall/ScanView.vue:272 +#: src/views/firewall/ScanView.vue:300 +#: src/views/firewall/ScanView.vue:381 +#: src/views/website/stats/IPsTab.vue:122 msgid "Location" msgstr "位置" @@ -6964,7 +7306,8 @@ msgstr "位置" msgid "Port Count" msgstr "端口數" -#: src/views/firewall/ScanView.vue:282 src/views/firewall/ScanView.vue:317 +#: src/views/firewall/ScanView.vue:282 +#: src/views/firewall/ScanView.vue:317 msgid "Last Seen" msgstr "最後記錄" @@ -6981,11 +7324,11 @@ msgid "Scan Awareness Disabled" msgstr "掃描感知已禁用" #: src/views/firewall/ScanView.vue:339 -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:347 src/views/website/StatsView.vue:191 +#: src/views/firewall/ScanView.vue:347 +#: src/views/website/StatsView.vue:191 msgid "Overview" msgstr "概覽" @@ -6997,7 +7340,8 @@ msgstr "掃描事件" msgid "Search IP" msgstr "搜索 IP" -#: src/views/firewall/ScanView.vue:390 src/views/website/StatsView.vue:181 +#: src/views/firewall/ScanView.vue:390 +#: src/views/website/StatsView.vue:181 msgid "Clear Data" msgstr "清除數據" @@ -7025,7 +7369,8 @@ msgstr "來源 IP 前 10" msgid "Top 10 Scanned Ports" msgstr "掃描端口前 10" -#: src/views/firewall/SettingView.vue:21 src/views/firewall/SettingView.vue:27 +#: src/views/firewall/SettingView.vue:21 +#: src/views/firewall/SettingView.vue:27 #: src/views/firewall/SettingView.vue:78 msgid "Settings saved successfully" msgstr "設置保存成功" @@ -7086,17 +7431,22 @@ msgstr "運行正常" msgid "Running smoothly" msgstr "運行流暢" -#: src/views/home/IndexView.vue:187 src/views/home/IndexView.vue:955 -#: src/views/home/IndexView.vue:975 src/views/toolbox/BenchmarkView.vue:203 -#: src/views/toolbox/DiskView.vue:802 src/views/toolbox/IndexView.vue:30 +#: src/views/home/IndexView.vue:187 +#: src/views/home/IndexView.vue:955 +#: src/views/home/IndexView.vue:975 +#: src/views/toolbox/BenchmarkView.vue:203 +#: src/views/toolbox/DiskView.vue:802 +#: src/views/toolbox/IndexView.vue:30 msgid "Disk" msgstr "磁碟" -#: src/views/home/IndexView.vue:210 src/views/home/IndexView.vue:227 +#: src/views/home/IndexView.vue:210 +#: src/views/home/IndexView.vue:227 msgid "Send" msgstr "發送" -#: src/views/home/IndexView.vue:210 src/views/home/IndexView.vue:251 +#: src/views/home/IndexView.vue:210 +#: src/views/home/IndexView.vue:251 msgid "Receive" msgstr "接收" @@ -7104,20 +7454,26 @@ msgstr "接收" msgid "Unit %{unit}" msgstr "單位 %{unit}" -#: src/views/home/IndexView.vue:233 src/views/home/IndexView.vue:257 -#: src/views/monitor/IndexView.vue:433 src/views/monitor/IndexView.vue:502 +#: src/views/home/IndexView.vue:233 +#: src/views/home/IndexView.vue:257 +#: 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:234 src/views/home/IndexView.vue:258 -#: src/views/monitor/IndexView.vue:434 src/views/monitor/IndexView.vue:503 +#: src/views/home/IndexView.vue:234 +#: src/views/home/IndexView.vue:258 +#: 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:238 src/views/home/IndexView.vue:262 -#: src/views/monitor/IndexView.vue:438 src/views/monitor/IndexView.vue:507 +#: src/views/home/IndexView.vue:238 +#: src/views/home/IndexView.vue:262 +#: src/views/monitor/IndexView.vue:438 +#: src/views/monitor/IndexView.vue:507 #: src/views/monitor/IndexView.vue:569 msgid "Average" msgstr "平均值" @@ -7138,7 +7494,8 @@ msgstr "伺服器重新啟動中……" msgid "Restart Panel" msgstr "重新啟動面板" -#: src/views/home/IndexView.vue:393 src/views/home/IndexView.vue:1024 +#: src/views/home/IndexView.vue:393 +#: src/views/home/IndexView.vue:1024 msgid "Restart Server" msgstr "重啟伺服器" @@ -7147,24 +7504,15 @@ msgid "Current version is the latest" msgstr "當前版本是最新版本" #: src/views/home/IndexView.vue:500 -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:511 -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:542 src/views/task/IndexView.vue:24 +#: src/views/home/IndexView.vue:542 +#: src/views/task/IndexView.vue:24 msgid "Scheduled Tasks" msgstr "計劃任務" @@ -7192,7 +7540,8 @@ msgstr "最近 15 分鐘" msgid "cores" msgstr "核心" -#: src/views/home/IndexView.vue:616 src/views/toolbox/disk/RaidView.vue:111 +#: src/views/home/IndexView.vue:616 +#: src/views/toolbox/disk/RaidView.vue:111 #: src/views/toolbox/disk/RaidView.vue:144 #: src/views/toolbox/disk/SmartView.vue:104 msgid "Model" @@ -7226,7 +7575,8 @@ msgstr "已用物理記憶體" msgid "Physical Memory Available" msgstr "可用實體記憶體" -#: src/views/home/IndexView.vue:708 src/views/toolbox/DiskView.vue:258 +#: src/views/home/IndexView.vue:708 +#: src/views/toolbox/DiskView.vue:258 msgid "Free" msgstr "空閒" @@ -7234,7 +7584,8 @@ msgstr "空閒" msgid "Active" msgstr "活躍" -#: src/views/home/IndexView.vue:714 src/views/project/ListView.vue:75 +#: src/views/home/IndexView.vue:714 +#: src/views/project/ListView.vue:75 msgid "Inactive" msgstr "非活躍" @@ -7294,7 +7645,8 @@ msgstr "您尚未設置任何要在此處顯示的應用!" msgid "Environment Information" msgstr "環境資訊" -#: src/views/home/IndexView.vue:888 src/views/toolbox/SystemView.vue:221 +#: src/views/home/IndexView.vue:888 +#: src/views/toolbox/SystemView.vue:221 msgid "System Hostname" msgstr "系統主機名" @@ -7355,9 +7707,7 @@ msgid "Read/Write Latency" msgstr "讀/寫延遲" #: src/views/home/IndexView.vue:1026 -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:28 @@ -7392,22 +7742,29 @@ msgstr "立即更新" msgid "Loading update information, please wait a moment" msgstr "正在加載更新資訊,請稍候" -#: src/views/log/DatabaseLog.vue:30 src/views/log/HttpLog.vue:30 -#: src/views/log/OperationLog.vue:33 src/views/monitor/IndexView.vue:765 -#: src/views/monitor/IndexView.vue:819 src/views/monitor/IndexView.vue:871 -#: src/views/monitor/IndexView.vue:927 src/views/monitor/IndexView.vue:994 +#: src/views/log/DatabaseLog.vue:30 +#: src/views/log/HttpLog.vue:30 +#: src/views/log/OperationLog.vue:33 +#: src/views/monitor/IndexView.vue:765 +#: src/views/monitor/IndexView.vue:819 +#: src/views/monitor/IndexView.vue:871 +#: src/views/monitor/IndexView.vue:927 +#: src/views/monitor/IndexView.vue:994 #: src/views/website/StatsView.vue:138 msgid "Today" msgstr "今天" -#: src/views/log/DatabaseLog.vue:47 src/views/log/HttpLog.vue:55 -#: src/views/log/OperationLog.vue:50 src/views/log/SSHLog.vue:58 +#: src/views/log/DatabaseLog.vue:47 +#: src/views/log/HttpLog.vue:55 +#: src/views/log/OperationLog.vue:50 +#: src/views/log/SSHLog.vue:58 #: src/views/toolbox/SystemView.vue:235 #: src/views/website/stats/ErrorsTab.vue:87 msgid "Time" msgstr "時間" -#: src/views/log/DatabaseLog.vue:56 src/views/log/OperationLog.vue:59 +#: src/views/log/DatabaseLog.vue:56 +#: src/views/log/OperationLog.vue:59 msgid "Level" msgstr "級別" @@ -7415,7 +7772,8 @@ msgstr "級別" msgid "Query" msgstr "查詢" -#: src/views/log/DatabaseLog.vue:80 src/views/log/HttpLog.vue:102 +#: src/views/log/DatabaseLog.vue:80 +#: src/views/log/HttpLog.vue:102 #: src/views/toolbox/MigrationView.vue:696 #: src/views/toolbox/MigrationView.vue:783 msgid "Duration" @@ -7425,17 +7783,21 @@ msgstr "持續時間" msgid "Rows" msgstr "行" -#: src/views/log/DatabaseLog.vue:111 src/views/log/HttpLog.vue:136 +#: src/views/log/DatabaseLog.vue:111 +#: src/views/log/HttpLog.vue:136 #: src/views/log/OperationLog.vue:163 msgid "Date" msgstr "日期" -#: src/views/log/DatabaseLog.vue:118 src/views/log/HttpLog.vue:143 -#: src/views/log/OperationLog.vue:170 src/views/log/SSHLog.vue:100 +#: src/views/log/DatabaseLog.vue:118 +#: src/views/log/HttpLog.vue:143 +#: src/views/log/OperationLog.vue:170 +#: src/views/log/SSHLog.vue:100 msgid "Show entries" msgstr "顯示條目" -#: src/views/log/HttpLog.vue:64 src/views/website/stats/ErrorsTab.vue:94 +#: src/views/log/HttpLog.vue:64 +#: src/views/website/stats/ErrorsTab.vue:94 msgid "Method" msgstr "方法" @@ -7463,8 +7825,10 @@ msgstr "SSH 日誌" msgid "Operator" msgstr "操作員" -#: src/views/log/OperationLog.vue:86 src/views/toolbox/IndexView.vue:28 -#: src/views/toolbox/PanelView.vue:128 src/views/toolbox/PanelView.vue:147 +#: src/views/log/OperationLog.vue:86 +#: src/views/toolbox/IndexView.vue:28 +#: src/views/toolbox/PanelView.vue:128 +#: src/views/toolbox/PanelView.vue:147 msgid "System" msgstr "系統" @@ -7472,7 +7836,8 @@ msgstr "系統" msgid "Message" msgstr "消息" -#: src/views/log/OperationLog.vue:99 src/views/toolbox/MigrationView.vue:784 +#: src/views/log/OperationLog.vue:99 +#: src/views/toolbox/MigrationView.vue:784 msgid "Details" msgstr "詳情" @@ -7484,7 +7849,8 @@ msgstr "%{count} 個字段" msgid "Accepted" msgstr "已接受" -#: src/views/log/SSHLog.vue:46 src/views/project/ListView.vue:73 +#: src/views/log/SSHLog.vue:46 +#: src/views/project/ListView.vue:73 #: src/views/task/TaskView.vue:42 msgid "Failed" msgstr "失敗" @@ -7514,8 +7880,7 @@ msgid "Please enter captcha code" msgstr "請輸入驗證碼" #: src/views/login/IndexView.vue:152 -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:232 @@ -7546,8 +7911,10 @@ msgstr "記住我" msgid "Login with Passkey" msgstr "使用通行金鑰登入" -#: src/views/monitor/IndexView.vue:335 src/views/monitor/IndexView.vue:347 -#: src/views/toolbox/IndexView.vue:26 src/views/toolbox/NetworkView.vue:75 +#: src/views/monitor/IndexView.vue:335 +#: src/views/monitor/IndexView.vue:347 +#: src/views/toolbox/IndexView.vue:26 +#: src/views/toolbox/NetworkView.vue:75 msgid "Process" msgstr "進程" @@ -7575,7 +7942,8 @@ msgstr "15 分鐘" msgid "Usage %" msgstr "使用率 %" -#: src/views/monitor/IndexView.vue:493 src/views/toolbox/DiskView.vue:305 +#: src/views/monitor/IndexView.vue:493 +#: src/views/toolbox/DiskView.vue:305 msgid "Usage" msgstr "使用率" @@ -7583,7 +7951,8 @@ msgstr "使用率" msgid "Unit MB" msgstr "單位 MB" -#: src/views/monitor/IndexView.vue:695 src/views/monitor/IndexView.vue:704 +#: src/views/monitor/IndexView.vue:695 +#: src/views/monitor/IndexView.vue:704 msgid "Operation successful" msgstr "操作成功" @@ -7603,7 +7972,8 @@ 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 "分鐘" @@ -7611,7 +7981,8 @@ msgstr "分鐘" msgid "Clear Monitoring Records" msgstr "清除監控記錄" -#: src/views/monitor/IndexView.vue:742 src/views/website/EditModal.vue:2047 +#: src/views/monitor/IndexView.vue:742 +#: src/views/website/EditModal.vue:2047 msgid "Are you sure you want to clear?" msgstr "確定要清除嗎?" @@ -7619,17 +7990,22 @@ msgstr "確定要清除嗎?" msgid "Load" msgstr "負載" -#: src/views/monitor/IndexView.vue:759 src/views/monitor/IndexView.vue:813 -#: src/views/monitor/IndexView.vue:865 src/views/monitor/IndexView.vue:921 +#: src/views/monitor/IndexView.vue:759 +#: src/views/monitor/IndexView.vue:813 +#: src/views/monitor/IndexView.vue:865 +#: src/views/monitor/IndexView.vue:921 #: src/views/monitor/IndexView.vue:988 #: src/views/website/stats/OverviewTab.vue:259 #: src/views/website/StatsView.vue:144 msgid "Yesterday" msgstr "昨天" -#: src/views/monitor/IndexView.vue:771 src/views/monitor/IndexView.vue:825 -#: src/views/monitor/IndexView.vue:877 src/views/monitor/IndexView.vue:933 -#: src/views/monitor/IndexView.vue:1000 src/views/website/StatsView.vue:147 +#: src/views/monitor/IndexView.vue:771 +#: src/views/monitor/IndexView.vue:825 +#: src/views/monitor/IndexView.vue:877 +#: src/views/monitor/IndexView.vue:933 +#: src/views/monitor/IndexView.vue:1000 +#: src/views/website/StatsView.vue:147 msgid "Last 7 Days" msgstr "近 7 天" @@ -7689,26 +8065,28 @@ msgstr "創建 Python 項目" msgid "Create .NET Project" msgstr "建立 .NET 專案" -#: src/views/project/CreateModal.vue:407 src/views/project/ListView.vue:302 +#: src/views/project/CreateModal.vue:407 +#: src/views/project/ListView.vue:302 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 @@ -7739,14 +8117,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 "選擇框架" @@ -7759,12 +8141,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:888 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:893 msgid "Select PHP Version" msgstr "選擇 PHP 版本" @@ -7785,7 +8169,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 "選擇或輸入用戶" @@ -7793,13 +8178,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:106 msgid "Reverse Proxy" msgstr "反向代理" @@ -7848,9 +8235,12 @@ msgstr "文件(附加)" msgid "File (truncate)" msgstr "文件(截斷)" -#: src/views/project/EditModal.vue:72 src/views/setting/SettingBase.vue:186 -#: src/views/setting/SettingSafe.vue:246 src/views/website/EditModal.vue:740 -#: src/views/website/EditModal.vue:744 src/views/website/EditModal.vue:959 +#: src/views/project/EditModal.vue:72 +#: src/views/setting/SettingBase.vue:186 +#: src/views/setting/SettingSafe.vue:246 +#: src/views/website/EditModal.vue:740 +#: src/views/website/EditModal.vue:744 +#: src/views/website/EditModal.vue:959 msgid "Disabled" msgstr "禁用" @@ -7947,12 +8337,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" @@ -7987,9 +8373,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 @@ -8021,9 +8405,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 @@ -8047,11 +8429,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" @@ -8085,8 +8464,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:107 msgid "PHP" msgstr "PHP" @@ -8123,7 +8504,8 @@ msgstr "您確定要刪除所選項目嗎?" msgid "Enter user name" msgstr "輸入用戶名" -#: src/views/setting/CreateModal.vue:60 src/views/setting/PasswordModal.vue:47 +#: src/views/setting/CreateModal.vue:60 +#: src/views/setting/PasswordModal.vue:47 msgid "Enter user password" msgstr "輸入用戶密碼" @@ -8131,11 +8513,13 @@ msgstr "輸入用戶密碼" msgid "Enter user email" msgstr "輸入用戶郵箱" -#: src/views/setting/IndexView.vue:100 src/views/setting/IndexView.vue:124 +#: src/views/setting/IndexView.vue:100 +#: src/views/setting/IndexView.vue:124 msgid "Panel is restarting, page will refresh in 5 seconds" msgstr "面板正在重啟,頁面將在 5 秒後刷新" -#: src/views/setting/IndexView.vue:118 src/views/website/EditModal.vue:225 +#: src/views/setting/IndexView.vue:118 +#: src/views/website/EditModal.vue:225 msgid "Please wait..." msgstr "請稍候……" @@ -8183,14 +8567,13 @@ msgstr "註冊已取消" msgid "Passkey registration failed: %{msg}" msgstr "通行金鑰註冊失敗:%{msg}" -#: src/views/setting/PasskeyModal.vue:158 src/views/setting/SettingUser.vue:117 +#: src/views/setting/PasskeyModal.vue:158 +#: src/views/setting/SettingUser.vue:117 msgid "Passkeys" msgstr "通行金鑰" #: src/views/setting/PasskeyModal.vue:168 -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:177 @@ -8209,7 +8592,8 @@ msgstr "穩定版" msgid "Beta" msgstr "測試版" -#: src/views/setting/SettingBase.vue:127 src/views/setting/SettingBase.vue:128 +#: src/views/setting/SettingBase.vue:127 +#: src/views/setting/SettingBase.vue:128 msgid "Panel Name" msgstr "面板名稱" @@ -8239,7 +8623,7 @@ msgstr "/opt/ace/backup" #: src/views/setting/SettingBase.vue:159 msgid "Backup Compression Format" -msgstr "" +msgstr "備份壓縮格式" #: src/views/setting/SettingBase.vue:162 msgid "Default Project Directory" @@ -8302,9 +8686,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 @@ -8316,26 +8698,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" @@ -8352,9 +8727,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 @@ -8362,12 +8735,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" @@ -8378,9 +8747,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 @@ -8388,9 +8755,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 @@ -8398,9 +8763,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 @@ -8408,38 +8771,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)" @@ -8453,16 +8802,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:53 msgid "2FA" @@ -8472,7 +8819,8 @@ msgstr "兩步驗證" msgid "Disabled successfully" msgstr "禁用成功" -#: src/views/setting/SettingUser.vue:102 src/views/setting/TokenModal.vue:212 +#: src/views/setting/SettingUser.vue:102 +#: src/views/setting/TokenModal.vue:212 msgid "Access Tokens" msgstr "訪問令牌" @@ -8500,19 +8848,23 @@ msgstr "複製並關閉" msgid "Copy failed" msgstr "複製失敗" -#: src/views/setting/TokenModal.vue:222 src/views/setting/TokenModal.vue:250 +#: src/views/setting/TokenModal.vue:222 +#: src/views/setting/TokenModal.vue:250 msgid "Create Access Token" msgstr "創建訪問令牌" -#: src/views/setting/TokenModal.vue:259 src/views/setting/TokenModal.vue:292 +#: src/views/setting/TokenModal.vue:259 +#: src/views/setting/TokenModal.vue:292 msgid "IP White List" msgstr "IP 白名單" -#: src/views/setting/TokenModal.vue:262 src/views/setting/TokenModal.vue:295 +#: src/views/setting/TokenModal.vue:262 +#: src/views/setting/TokenModal.vue:295 msgid "127.0.0.1" msgstr "127.0.0.1" -#: src/views/setting/TokenModal.vue:270 src/views/setting/TokenModal.vue:303 +#: src/views/setting/TokenModal.vue:270 +#: src/views/setting/TokenModal.vue:303 msgid "Please select the expiration time" msgstr "請選擇到期時間" @@ -8533,8 +8885,7 @@ msgid "Scan the QR code with your 2FA app and enter the code below" msgstr "用您的兩步驗證應用掃描二維碼並在下方輸入代碼" #: src/views/setting/TwoFaModal.vue:72 -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:85 @@ -8545,29 +8896,33 @@ msgstr "代碼" msgid "Enter the code" msgstr "輸入代碼" -#: src/views/ssh/CreateModal.vue:52 src/views/ssh/IndexView.vue:628 +#: src/views/ssh/CreateModal.vue:52 +#: src/views/ssh/IndexView.vue:628 msgid "Create Host" msgstr "創建主機" -#: src/views/ssh/CreateModal.vue:75 src/views/ssh/UpdateModal.vue:81 +#: src/views/ssh/CreateModal.vue:75 +#: src/views/ssh/UpdateModal.vue:81 msgid "Authentication Method" msgstr "驗證方式" -#: src/views/ssh/CreateModal.vue:94 src/views/ssh/UpdateModal.vue:100 +#: src/views/ssh/CreateModal.vue:94 +#: src/views/ssh/UpdateModal.vue:100 msgid "Passphrase" msgstr "密碼短語" -#: src/views/ssh/CreateModal.vue:99 src/views/ssh/UpdateModal.vue:105 +#: src/views/ssh/CreateModal.vue:99 +#: src/views/ssh/UpdateModal.vue:105 msgid "Leave empty if key has no passphrase" msgstr "如果密鑰沒有密碼短語,請留空" -#: src/views/ssh/CreateModal.vue:102 src/views/ssh/UpdateModal.vue:108 +#: src/views/ssh/CreateModal.vue:102 +#: src/views/ssh/UpdateModal.vue:108 msgid "Remarks" msgstr "備註" #: src/views/ssh/IndexView.vue:66 -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:123 @@ -8622,17 +8977,20 @@ msgstr "日誌輪轉 - 網站" msgid "Log Rotation - Container" msgstr "日誌輪轉 - 容器" -#: src/views/task/CreateModal.vue:141 src/views/task/CreateModal.vue:314 +#: src/views/task/CreateModal.vue:141 +#: src/views/task/CreateModal.vue:314 #: src/views/task/CronView.vue:69 msgid "Log Rotation" msgstr "日誌輪替" -#: src/views/task/CreateModal.vue:146 src/views/task/CreateModal.vue:315 +#: src/views/task/CreateModal.vue:146 +#: src/views/task/CreateModal.vue:315 #: src/views/task/CronView.vue:66 msgid "Access URL" msgstr "訪問 URL" -#: src/views/task/CreateModal.vue:148 src/views/task/CreateModal.vue:316 +#: src/views/task/CreateModal.vue:148 +#: src/views/task/CreateModal.vue:316 #: src/views/task/CronView.vue:67 msgid "Sync Time" msgstr "同步時間" @@ -8645,25 +9003,32 @@ msgstr "創建計劃任務" msgid "Edit Scheduled Task" msgstr "編輯計劃任務" -#: src/views/task/CreateModal.vue:308 src/views/task/CronView.vue:55 +#: src/views/task/CreateModal.vue:308 +#: src/views/task/CronView.vue:55 msgid "Task Type" msgstr "任務類型" -#: src/views/task/CreateModal.vue:312 src/views/task/CronView.vue:64 +#: src/views/task/CreateModal.vue:312 +#: src/views/task/CronView.vue:64 msgid "Run Script" msgstr "運行腳本" -#: src/views/task/CreateModal.vue:313 src/views/task/CronView.vue:65 +#: src/views/task/CreateModal.vue:313 +#: src/views/task/CronView.vue:65 msgid "Backup Data" msgstr "備份數據" -#: src/views/task/CreateModal.vue:320 src/views/task/CreateModal.vue:321 -#: src/views/task/CronView.vue:48 src/views/task/CronView.vue:335 -#: src/views/task/CronView.vue:336 src/views/task/TaskView.vue:25 +#: src/views/task/CreateModal.vue:320 +#: src/views/task/CreateModal.vue:321 +#: src/views/task/CronView.vue:48 +#: src/views/task/CronView.vue:335 +#: src/views/task/CronView.vue:336 +#: src/views/task/TaskView.vue:25 msgid "Task Name" msgstr "任務名稱" -#: src/views/task/CreateModal.vue:328 src/views/task/CronView.vue:88 +#: src/views/task/CreateModal.vue:328 +#: src/views/task/CronView.vue:88 #: src/views/task/CronView.vue:338 msgid "Task Schedule" msgstr "任務週期" @@ -8672,14 +9037,14 @@ msgstr "任務週期" msgid "Retention Count" msgstr "保留數量" -#: src/views/task/CreateModal.vue:338 src/views/task/CronView.vue:341 +#: src/views/task/CreateModal.vue:338 +#: src/views/task/CronView.vue:341 msgid "Process Lock" msgstr "進程鎖" -#: src/views/task/CreateModal.vue:342 src/views/task/CronView.vue:345 -msgid "" -"Prevent duplicate execution: skip this run if the previous one is still " -"running" +#: src/views/task/CreateModal.vue:342 +#: src/views/task/CronView.vue:345 +msgid "Prevent duplicate execution: skip this run if the previous one is still running" msgstr "防止重複執行:如果上次運行未結束,則跳過本次運行" #: src/views/task/CreateModal.vue:349 @@ -8702,7 +9067,8 @@ msgstr "標頭名稱" msgid "Header Value" msgstr "標頭值" -#: src/views/task/CreateModal.vue:394 src/views/task/CreateModal.vue:399 +#: src/views/task/CreateModal.vue:394 +#: src/views/task/CreateModal.vue:399 msgid "Request Body" msgstr "請求體" @@ -8734,7 +9100,8 @@ msgstr "PostgreSQL 數據庫" msgid "Rotation Type" msgstr "輪轉類型" -#: src/views/task/CreateModal.vue:464 src/views/task/CreateModal.vue:470 +#: src/views/task/CreateModal.vue:464 +#: src/views/task/CreateModal.vue:470 #: src/views/website/CreateModal.vue:252 msgid "Select Database" msgstr "選擇數據庫" @@ -8743,7 +9110,8 @@ msgstr "選擇數據庫" msgid "Enter directory path" msgstr "輸入目錄路徑" -#: src/views/task/CreateModal.vue:496 src/views/task/CreateModal.vue:502 +#: src/views/task/CreateModal.vue:496 +#: src/views/task/CreateModal.vue:502 msgid "Select Container" msgstr "選擇容器" @@ -8751,7 +9119,8 @@ msgstr "選擇容器" msgid "Select storage" msgstr "選擇儲存" -#: src/views/task/CronView.vue:74 src/views/toolbox/WebHookView.vue:89 +#: src/views/task/CronView.vue:74 +#: src/views/toolbox/WebHookView.vue:89 #: src/views/toolbox/WebHookView.vue:394 msgid "Enabled" msgstr "已啟用" @@ -8788,7 +9157,8 @@ msgstr "您確定要刪除所選任務嗎?" msgid "Completed" msgstr "已完成" -#: src/views/task/TaskView.vue:40 src/views/toolbox/ProcessView.vue:53 +#: src/views/task/TaskView.vue:40 +#: src/views/toolbox/ProcessView.vue:53 #: src/views/toolbox/ProcessView.vue:89 msgid "Waiting" msgstr "正在駐留等待" @@ -8821,11 +9191,8 @@ msgid "Pending benchmark" msgstr "待跑分" #: src/views/toolbox/BenchmarkView.vue:89 -msgid "" -"Benchmark results are for reference only and may differ from actual " -"performance due to system resource scheduling, caching, and other factors!" -msgstr "" -"跑分結果僅供參考,由於系統資源調度、快取和其他因素,可能與實際性能有所不同!" +msgid "Benchmark results are for reference only and may differ from actual performance due to system resource scheduling, caching, and other factors!" +msgstr "跑分結果僅供參考,由於系統資源調度、快取和其他因素,可能與實際性能有所不同!" #: src/views/toolbox/BenchmarkView.vue:96 msgid "Benchmarking in progress, it may take some time..." @@ -8903,7 +9270,8 @@ msgstr "跑分中……" msgid "Start Benchmark" msgstr "開始跑分" -#: src/views/toolbox/disk/RaidView.vue:93 src/views/toolbox/DiskView.vue:825 +#: src/views/toolbox/disk/RaidView.vue:93 +#: src/views/toolbox/DiskView.vue:825 #: src/views/toolbox/DiskView.vue:883 msgid "Device" msgstr "設備" @@ -9083,7 +9451,8 @@ msgstr "選擇一個磁盤" msgid "No SMART-capable disks found" msgstr "未找到支持 SMART 的磁盤" -#: src/views/toolbox/disk/SmartView.vue:282 src/views/toolbox/PanelView.vue:97 +#: src/views/toolbox/disk/SmartView.vue:282 +#: src/views/toolbox/PanelView.vue:97 msgid "Basic Info" msgstr "基本信息" @@ -9127,21 +9496,21 @@ msgstr "可用" msgid "Not Mounted" msgstr "未掛載" -#: src/views/toolbox/DiskView.vue:336 src/views/toolbox/DiskView.vue:827 +#: src/views/toolbox/DiskView.vue:336 +#: src/views/toolbox/DiskView.vue:827 msgid "Filesystem" msgstr "檔案系統" -#: src/views/toolbox/DiskView.vue:389 src/views/toolbox/DiskView.vue:541 -#: src/views/toolbox/DiskView.vue:585 src/views/toolbox/DiskView.vue:634 +#: src/views/toolbox/DiskView.vue:389 +#: src/views/toolbox/DiskView.vue:541 +#: src/views/toolbox/DiskView.vue:585 +#: src/views/toolbox/DiskView.vue:634 msgid "Please fill in all fields" msgstr "請填寫所有欄位" #: src/views/toolbox/DiskView.vue:394 -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:401 msgid "Are you sure you want to mount %{ device } to %{ path }?" @@ -9159,20 +9528,22 @@ msgstr "您確定要卸載這個分區嗎?" msgid "Unmounted successfully" msgstr "卸載成功" -#: src/views/toolbox/DiskView.vue:448 src/views/toolbox/DiskView.vue:499 +#: src/views/toolbox/DiskView.vue:448 +#: src/views/toolbox/DiskView.vue:499 msgid "Please select a device" msgstr "請選擇一個設備" -#: src/views/toolbox/DiskView.vue:453 src/views/toolbox/DiskView.vue:478 -#: src/views/toolbox/DiskView.vue:523 src/views/toolbox/DiskView.vue:566 -#: src/views/toolbox/DiskView.vue:615 src/views/toolbox/DiskView.vue:662 +#: src/views/toolbox/DiskView.vue:453 +#: src/views/toolbox/DiskView.vue:478 +#: src/views/toolbox/DiskView.vue:523 +#: src/views/toolbox/DiskView.vue:566 +#: src/views/toolbox/DiskView.vue:615 +#: src/views/toolbox/DiskView.vue:662 msgid "Dangerous Operation" msgstr "危險操作" #: src/views/toolbox/DiskView.vue:454 -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:457 @@ -9188,12 +9559,8 @@ msgid "Please enter disk name" msgstr "請輸入磁碟名稱" #: src/views/toolbox/DiskView.vue:479 -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:483 msgid "Confirm Initialize" @@ -9228,9 +9595,7 @@ msgid "Volume group created successfully" msgstr "卷組創建成功" #: src/views/toolbox/DiskView.vue:567 -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:575 @@ -9238,8 +9603,7 @@ msgid "Volume group removed successfully" msgstr "卷組刪除成功" #: src/views/toolbox/DiskView.vue:591 -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:602 @@ -9247,9 +9611,7 @@ msgid "Logical volume created successfully" msgstr "邏輯卷創建成功" #: src/views/toolbox/DiskView.vue:616 -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:624 @@ -9265,11 +9627,8 @@ msgid "Logical volume extended successfully" msgstr "邏輯卷擴展成功" #: src/views/toolbox/DiskView.vue:663 -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:671 msgid "Fstab entry removed successfully" @@ -9311,11 +9670,13 @@ msgstr "未找到磁碟" msgid "Mount Partition" msgstr "掛載分區" -#: src/views/toolbox/DiskView.vue:724 src/views/toolbox/DiskView.vue:769 +#: src/views/toolbox/DiskView.vue:724 +#: src/views/toolbox/DiskView.vue:769 msgid "Partition" msgstr "分區" -#: src/views/toolbox/DiskView.vue:728 src/views/toolbox/DiskView.vue:773 +#: src/views/toolbox/DiskView.vue:728 +#: src/views/toolbox/DiskView.vue:773 msgid "Select partition" msgstr "選擇分區" @@ -9340,9 +9701,7 @@ msgid "Mount" msgstr "掛載" #: src/views/toolbox/DiskView.vue:757 -msgid "" -"When enabled, the partition UUID will be written to /etc/fstab for automatic " -"mounting on system boot." +msgid "When enabled, the partition UUID will be written to /etc/fstab for automatic mounting on system boot." msgstr "啟用後,分區 UUID 將被寫入 /etc/fstab,以便在系統啟動時自動掛載。" #: src/views/toolbox/DiskView.vue:764 @@ -9353,7 +9712,8 @@ msgstr "格式化分區" msgid "Warning: Formatting will erase all data!" msgstr "警告:格式化將清除所有數據!" -#: src/views/toolbox/DiskView.vue:778 src/views/toolbox/DiskView.vue:811 +#: src/views/toolbox/DiskView.vue:778 +#: src/views/toolbox/DiskView.vue:811 msgid "Filesystem Type" msgstr "檔案系統類型" @@ -9367,9 +9727,7 @@ msgid "Initialize Disk" msgstr "初始化磁碟" #: src/views/toolbox/DiskView.vue:796 -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:806 @@ -9392,7 +9750,8 @@ msgstr "無 fstab 條目" msgid "LVM Management" msgstr "LVM 管理" -#: src/views/toolbox/DiskView.vue:862 src/views/toolbox/DiskView.vue:928 +#: src/views/toolbox/DiskView.vue:862 +#: src/views/toolbox/DiskView.vue:928 msgid "Physical Volumes" msgstr "物理卷" @@ -9598,9 +9957,7 @@ msgid "Environment check refreshed" msgstr "環境檢查已刷新" #: src/views/toolbox/MigrationView.vue:141 -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:144 @@ -9609,18 +9966,12 @@ msgid "none" msgstr "none" #: src/views/toolbox/MigrationView.vue:159 -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:179 -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:247 msgid "Please select at least one item to migrate" @@ -9631,9 +9982,7 @@ msgid "Confirm Migration" msgstr "確認遷移" #: src/views/toolbox/MigrationView.vue:253 -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:344 @@ -9832,13 +10181,8 @@ msgid "Reminder" msgstr "提醒" #: src/views/toolbox/MigrationView.vue:822 -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:833 msgid "Start New Migration" @@ -9880,7 +10224,8 @@ msgstr "Goroutines" msgid "Cgo Calls" msgstr "Cgo 調用" -#: src/views/toolbox/PanelView.vue:122 src/views/toolbox/PanelView.vue:144 +#: src/views/toolbox/PanelView.vue:122 +#: src/views/toolbox/PanelView.vue:144 msgid "Allocated" msgstr "已分配" @@ -9900,7 +10245,8 @@ msgstr "分配次數" msgid "Frees" msgstr "釋放次數" -#: src/views/toolbox/PanelView.vue:150 src/views/toolbox/ProcessView.vue:51 +#: src/views/toolbox/PanelView.vue:150 +#: src/views/toolbox/ProcessView.vue:51 #: src/views/toolbox/ProcessView.vue:85 msgid "Idle" msgstr "空閒" @@ -9981,15 +10327,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 "已鎖定" @@ -10033,15 +10382,18 @@ msgstr "用戶信號 2(SIGUSR2)" msgid "Blocked" msgstr "阻塞" -#: src/views/toolbox/ProcessView.vue:114 src/views/toolbox/ProcessView.vue:391 +#: src/views/toolbox/ProcessView.vue:114 +#: src/views/toolbox/ProcessView.vue:391 msgid "Parent PID" msgstr "父進程 PID" -#: src/views/toolbox/ProcessView.vue:121 src/views/toolbox/ProcessView.vue:403 +#: src/views/toolbox/ProcessView.vue:121 +#: src/views/toolbox/ProcessView.vue:403 msgid "Threads" msgstr "線程" -#: src/views/toolbox/ProcessView.vue:162 src/views/toolbox/ProcessView.vue:424 +#: src/views/toolbox/ProcessView.vue:162 +#: src/views/toolbox/ProcessView.vue:424 msgid "Start Time" msgstr "啟動時間" @@ -10149,7 +10501,8 @@ msgstr "請輸入密碼" msgid "Root password updated" msgstr "Root 密碼已更新" -#: src/views/toolbox/SshView.vue:150 src/views/toolbox/SshView.vue:164 +#: src/views/toolbox/SshView.vue:150 +#: src/views/toolbox/SshView.vue:164 msgid "SSH key generated" msgstr "SSH 密鑰已生成" @@ -10202,9 +10555,7 @@ msgid "Reset" msgstr "重置" #: src/views/toolbox/SshView.vue:287 -msgid "" -"It is recommended to use a complex password. Refresh will clear the password " -"field." +msgid "It is recommended to use a complex password. Refresh will clear the password field." msgstr "建議使用複雜密碼。刷新頁面將清除密碼字段。" #: src/views/toolbox/SshView.vue:296 @@ -10220,9 +10571,7 @@ msgid "Root Private Key" msgstr "Root 私鑰" #: src/views/toolbox/SshView.vue:326 -msgid "" -"This is the private key of the root user. Keep it safe and use it to login " -"to this server." +msgid "This is the private key of the root user. Keep it safe and use it to login to this server." msgstr "這是 root 用戶的私鑰。請妥善保管,並用它登入到此伺服器。" #: src/views/toolbox/SshView.vue:336 @@ -10274,9 +10623,7 @@ msgid "Hosts" msgstr "Hosts" #: src/views/toolbox/SystemView.vue:239 -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:245 @@ -10312,15 +10659,11 @@ msgid "System NTP Server Configuration" msgstr "系統 NTP 服務器配置" #: src/views/toolbox/SystemView.vue:293 -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:300 -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:313 @@ -10331,7 +10674,8 @@ msgstr "輸入 NTP 服務器地址" msgid "Reset to Default" msgstr "重置為默認值" -#: src/views/toolbox/WebHookView.vue:71 src/views/toolbox/WebHookView.vue:353 +#: src/views/toolbox/WebHookView.vue:71 +#: src/views/toolbox/WebHookView.vue:353 #: src/views/toolbox/WebHookView.vue:388 msgid "Raw Output" msgstr "原始輸出" @@ -10356,31 +10700,38 @@ msgstr "您確定要刪除此 Web 掛鉤嗎?" msgid "URL copied to clipboard" msgstr "URL 已複製到剪貼板" -#: src/views/toolbox/WebHookView.vue:245 src/views/toolbox/WebHookView.vue:272 +#: src/views/toolbox/WebHookView.vue:245 +#: src/views/toolbox/WebHookView.vue:272 msgid "Please enter a name" msgstr "請輸入名稱" -#: src/views/toolbox/WebHookView.vue:249 src/views/toolbox/WebHookView.vue:276 +#: src/views/toolbox/WebHookView.vue:249 +#: src/views/toolbox/WebHookView.vue:276 msgid "Please enter a script" msgstr "請輸入腳本" -#: src/views/toolbox/WebHookView.vue:308 src/views/toolbox/WebHookView.vue:337 +#: src/views/toolbox/WebHookView.vue:308 +#: src/views/toolbox/WebHookView.vue:337 msgid "Create WebHook" msgstr "創建 Web 掛鉤" -#: src/views/toolbox/WebHookView.vue:345 src/views/toolbox/WebHookView.vue:380 +#: src/views/toolbox/WebHookView.vue:345 +#: src/views/toolbox/WebHookView.vue:380 msgid "Enter WebHook name" msgstr "輸入 Web 掛鉤名稱" -#: src/views/toolbox/WebHookView.vue:350 src/views/toolbox/WebHookView.vue:385 +#: src/views/toolbox/WebHookView.vue:350 +#: src/views/toolbox/WebHookView.vue:385 msgid "User to run the script (default: root)" msgstr "運行腳本用戶(默認:root)" -#: src/views/toolbox/WebHookView.vue:356 src/views/toolbox/WebHookView.vue:391 +#: src/views/toolbox/WebHookView.vue:356 +#: src/views/toolbox/WebHookView.vue:391 msgid "Return script output as raw text instead of JSON" msgstr "將腳本輸出作為原始文本而非 JSON 返回" -#: src/views/toolbox/WebHookView.vue:359 src/views/toolbox/WebHookView.vue:397 +#: src/views/toolbox/WebHookView.vue:359 +#: src/views/toolbox/WebHookView.vue:397 msgid "Script" msgstr "腳本" @@ -10389,12 +10740,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:108 msgid "Pure Static" msgstr "純靜態" @@ -10411,7 +10764,8 @@ msgstr "批量創建 PHP 網站" msgid "Bulk Create Pure Static Website" msgstr "批量創建純靜態網站" -#: src/views/website/BulkCreateModal.vue:74 src/views/website/ListView.vue:396 +#: src/views/website/BulkCreateModal.vue:74 +#: src/views/website/ListView.vue:396 msgid "Bulk Create Website" msgstr "批量創建網站" @@ -10428,9 +10782,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 @@ -10451,7 +10803,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:100 +#: src/views/website/CreateModal.vue:180 +#: src/views/website/ListView.vue:100 msgid "Website Type" msgstr "網站類型" @@ -10461,27 +10814,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 @@ -10500,28 +10845,27 @@ msgstr "創建 PHP 網站" msgid "Create Pure Static Website" msgstr "創建純靜態網站" -#: src/views/website/CreateModal.vue:80 src/views/website/ListView.vue:393 +#: src/views/website/CreateModal.vue:80 +#: src/views/website/ListView.vue:393 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 @@ -10532,7 +10876,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:209 msgid "Remark" msgstr "備註" @@ -10550,12 +10895,8 @@ msgid "Reset successfully" msgstr "重置成功" #: src/views/website/EditModal.vue:199 -msgid "" -"Your website contains wildcard domains, which require DNS verification. " -"Please add a DNS provider in Certificate Management first." -msgstr "" -"您的網站包含萬用字元域名,這需要進行 DNS 驗證。請先在憑證管理中新增一個 DNS " -"提供商。" +msgid "Your website contains wildcard domains, which require DNS verification. Please add a DNS provider in Certificate Management first." +msgstr "您的網站包含萬用字元域名,這需要進行 DNS 驗證。請先在憑證管理中新增一個 DNS 提供商。" #: src/views/website/EditModal.vue:216 msgid "Please select a DNS provider" @@ -10617,7 +10958,8 @@ msgstr "臨時重定向" msgid "Permanent Redirect" msgstr "永久重定向" -#: src/views/website/EditModal.vue:741 src/views/website/EditModal.vue:745 +#: src/views/website/EditModal.vue:741 +#: src/views/website/EditModal.vue:745 msgid "Default Path" msgstr "預設路徑" @@ -10661,7 +11003,8 @@ msgstr "上游" msgid "Upstream name" msgstr "上游名稱" -#: src/views/website/EditModal.vue:939 src/views/website/EditModal.vue:946 +#: src/views/website/EditModal.vue:939 +#: src/views/website/EditModal.vue:946 msgid "Round Robin (default)" msgstr "輪詢(默認)" @@ -10697,7 +11040,8 @@ msgstr "未配置上游" msgid "Proxies" msgstr "代理" -#: src/views/website/EditModal.vue:1036 src/views/website/EditModal.vue:1701 +#: src/views/website/EditModal.vue:1036 +#: src/views/website/EditModal.vue:1701 msgid "Rule" msgstr "規則" @@ -10809,7 +11153,8 @@ msgstr "自訂快取鍵,例如 $scheme$host$request_uri" msgid "Custom Request Headers" msgstr "自定義請求頭" -#: src/views/website/EditModal.vue:1225 src/views/website/EditModal.vue:1514 +#: src/views/website/EditModal.vue:1225 +#: src/views/website/EditModal.vue:1514 msgid "Header name" msgstr "請求頭" @@ -10837,7 +11182,8 @@ msgstr "替換內容" msgid "Add Replacement Rule" msgstr "添加替換規則" -#: src/views/website/EditModal.vue:1253 src/views/website/EditModal.vue:1773 +#: src/views/website/EditModal.vue:1253 +#: src/views/website/EditModal.vue:1773 msgid "Advanced Settings" msgstr "進階設定" @@ -10897,8 +11243,10 @@ msgstr "選擇重試條件" msgid "Max Tries" msgstr "最大重試次數" -#: src/views/website/EditModal.vue:1435 src/views/website/EditModal.vue:1449 -#: src/views/website/EditModal.vue:1825 src/views/website/EditModal.vue:1838 +#: src/views/website/EditModal.vue:1435 +#: src/views/website/EditModal.vue:1449 +#: src/views/website/EditModal.vue:1825 +#: src/views/website/EditModal.vue:1838 #: src/views/website/EditModal.vue:1851 msgid "Unlimited" msgstr "無限制" @@ -11060,11 +11408,13 @@ msgstr "啟用統計" msgid "Log Settings" msgstr "日誌設置" -#: src/views/website/EditModal.vue:1791 src/views/website/EditModal.vue:2008 +#: src/views/website/EditModal.vue:1791 +#: src/views/website/EditModal.vue:2008 msgid "Access Log" msgstr "訪問日誌" -#: src/views/website/EditModal.vue:1800 src/views/website/EditModal.vue:2024 +#: src/views/website/EditModal.vue:1800 +#: src/views/website/EditModal.vue:2024 msgid "Error Log" msgstr "錯誤日誌" @@ -11105,18 +11455,12 @@ msgid "Real IP" msgstr "真實 IP" #: src/views/website/EditModal.vue:1866 -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:1873 -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:1879 msgid "Enable" @@ -11151,8 +11495,7 @@ msgid "User Credentials" msgstr "使用者憑據" #: src/views/website/EditModal.vue:1933 -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:1941 @@ -11183,11 +11526,13 @@ msgstr "沒有自定義配置" msgid "Add Custom Config" msgstr "添加自定義配置" -#: src/views/website/EditModal.vue:2013 src/views/website/EditModal.vue:2029 +#: src/views/website/EditModal.vue:2013 +#: src/views/website/EditModal.vue:2029 msgid "All logs can be viewed by downloading the file" msgstr "所有日誌可通過下載文件查看" -#: src/views/website/EditModal.vue:2015 src/views/website/EditModal.vue:2031 +#: src/views/website/EditModal.vue:2015 +#: src/views/website/EditModal.vue:2031 msgid "view" msgstr "查看" @@ -11212,11 +11557,8 @@ msgid "Select DNS Provider" msgstr "選擇 DNS 提供商" #: src/views/website/EditModal.vue:2092 -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" @@ -11263,17 +11605,17 @@ msgid "Delete local database with the same name" msgstr "刪除同名的本地數據庫" #: src/views/website/ListView.vue:405 -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:66 msgid "Default Page" msgstr "默認頁面" -#: src/views/website/SettingView.vue:71 src/views/website/SettingView.vue:81 -#: src/views/website/SettingView.vue:91 src/views/website/SettingView.vue:129 +#: src/views/website/SettingView.vue:71 +#: src/views/website/SettingView.vue:81 +#: src/views/website/SettingView.vue:91 +#: src/views/website/SettingView.vue:129 #: src/views/website/SettingView.vue:193 msgid "Save Changes" msgstr "保存更改" @@ -11295,15 +11637,11 @@ msgid "Default Settings" msgstr "預設設置" #: src/views/website/SettingView.vue:103 -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:110 -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:116 @@ -11315,9 +11653,7 @@ msgid "Statistics" msgstr "統計" #: src/views/website/SettingView.vue:137 -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:140 @@ -11356,7 +11692,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 @@ -11380,13 +11717,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 @@ -11409,12 +11748,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:218 +#: src/views/website/stats/URIsTab.vue:59 +#: src/views/website/StatsView.vue:218 msgid "Errors" msgstr "錯誤" #: src/views/website/stats/OverviewTab.vue:143 -#: src/views/website/stats/SitesTab.vue:59 src/views/website/StatsView.vue:197 +#: src/views/website/stats/SitesTab.vue:59 +#: src/views/website/StatsView.vue:197 msgid "Spiders" msgstr "蜘蛛" @@ -11490,3 +11831,4 @@ msgstr "URIs" #: src/views/website/StatsView.vue:215 msgid "Slow Requests" msgstr "慢請求" +