Files
1Panel/frontend/src/lang/modules/zh.ts
CityFun e2754b447d feat: Add support for text-to-image APIs. (#13380)
* feat: Add support for text-to-image APIs.

* feat: Add support for text-to-image APIs.
2026-07-28 09:42:23 +08:00

5660 lines
298 KiB
Go
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { getFuLocaleMessage } from '@/lang/fu';
const message = {
commons: {
true: '是',
false: '否',
example: '',
fit2cloud: '飞致云',
lingxia: '凌霞',
colon: '',
button: {
run: '运行',
prev: '上一步',
next: '下一步',
create: '创建',
add: '添加',
select: '选择',
save: '保存',
set: '设置',
sync: '同步',
delete: '删除',
edit: '编辑',
enable: '启用',
disable: '停用',
confirm: '确认',
cancel: '取消',
reset: '重置',
setDefault: '恢复默认',
restart: '重启',
conn: '连接',
disConn: '断开',
clean: '清空',
cleanAll: '清空所有',
selectAll: '全选',
login: '登录',
close: '关闭',
stop: '关闭',
start: '开启',
view: '详情',
watch: '追踪',
handle: '执行',
clone: '克隆',
expand: '展开',
collapse: '收起',
log: '日志',
back: '返回',
backup: '备份',
recover: '恢复',
retry: '重试',
upload: '上传',
download: '下载',
init: '初始化',
verify: '验证',
saveAndEnable: '保存并启用',
import: '导入',
importAll: '全部导入',
export: '导出',
power: '授权',
search: '搜索',
refresh: '刷新',
reconnect: '重新连接',
get: '获取',
upgrade: '升级',
update: '更新',
ignore: '忽略升级',
copy: '复制',
random: '随机密码',
install: '安装',
uninstall: '卸载',
fullscreen: '网页全屏',
quitFullscreen: '退出网页全屏',
showAll: '显示所有',
hideSome: '隐藏部分',
agree: '同意',
notAgree: '不同意',
preview: '预览',
open: '打开',
notSave: '不保存',
createNewFolder: '新建文件夹',
createNewFile: '新建文件',
helpDoc: '帮助文档',
bind: '绑定',
unbind: '解绑',
cover: '覆盖',
skip: '跳过',
fix: '修复',
down: '停止',
up: '启动',
sure: '确定',
show: '显示',
hide: '隐藏',
visit: '访问',
migrate: '迁移',
tip: '提示',
},
operate: {
start: '启动',
stop: '停止',
restart: '重启',
reload: '重载',
rebuild: '重建',
sync: '同步',
up: '启动',
down: '停止',
delete: '删除',
},
search: {
timeStart: '开始时间',
timeEnd: '结束时间',
date: '日期',
},
table: {
all: '所有',
name: '名称',
type: '类型',
card: '卡片',
table: '表格',
status: '状态',
group: '分组',
default: '默认',
createdAt: '创建时间',
creator: '创建人',
date: '时间',
updatedAt: '更新时间',
updater: '更新人',
operate: '操作',
message: '信息',
description: '描述',
interval: '耗时',
user: '用户',
title: '标题',
port: '端口',
protocol: '协议',
noRefresh: '不刷新',
selectColumn: '选择列',
local: '本地',
serialNumber: '序号',
manageGroup: '管理分组',
backToList: '返回列表',
keepEdit: '继续编辑',
},
loadingText: {
Upgrading: '系统升级中请稍候...',
Restarting: '系统重启中请稍候...',
Recovering: '快照恢复中请稍候...',
Rollbacking: '快照回滚中请稍候...',
},
msg: {
noneData: '暂无数据',
delete: '删除 操作不可回滚是否继续',
clean: '清空 操作不可回滚是否继续',
closeDrawerHelper: '系统可能不会保存您所做的更改是否继续',
deleteSuccess: '删除成功',
loginSuccess: '登录成功',
operationSuccess: '操作成功',
copySuccess: '复制成功',
notSupportOperation: '不支持的当前操作',
requestTimeout: '请求超时请稍后重试',
infoTitle: '提示',
notRecords: '当前任务未产生执行记录',
sureLogOut: '您是否确认退出登录?',
createSuccess: '创建成功',
updateSuccess: '更新成功',
uploadSuccess: '上传成功',
operateConfirm: '如果确认操作请手动输入 ',
inputOrSelect: '请选择或输入',
selectOne: '请选择一个{0}',
copyFailed: '复制失败',
operatorHelper: '将对以下{0}进行 {1} 操作是否继续',
backupSuccess: '备份成功',
restoreSuccess: '备份成功',
notFound: '抱歉您访问的页面不存在',
unSupportType: '不支持当前文件类型',
unSupportSize: '上传文件超过 {0}M请确认',
fileExist: '当前文件夹已存在该文件不支持重复上传',
fileNameErr: '仅支持上传名称包含英文中文数字或 .-_ ,长度 1-256 位的文件',
confirmNoNull: '请确认 {0} 值不为空',
errPort: '错误的端口信息请确认',
remove: '移出',
backupHelper: '当前操作将对 {0} 进行备份是否继续',
recoverHelper: '将从 {0} 文件进行恢复该操作不可回滚是否继续',
refreshSuccess: '刷新成功',
rootInfoErr: '已经是根目录了',
resetSuccess: '重置成功',
creatingInfo: '正在创建无需此操作',
installSuccess: '安装成功',
uninstallSuccess: '卸载成功',
offlineTips: '离线版不支持此操作',
errImportFormat: '导入数据或格式异常请检查后重试',
importHelper: '导入冲突或重复数据时将以导入内容为标准更新原数据库数据',
errImport: '文件内容异常',
},
login: {
username: '用户名',
password: '密码',
errorAuthInfo: '您输入的用户名或密码不正确请重新输入',
errorMfaInfo: '错误的验证信息请重试',
captchaHelper: '验证码',
errorCaptcha: '验证码错误',
mfaTitle: 'MFA 认证',
mfaCode: 'MFA 验证码',
passkey: '使用通行密钥',
passkeyFailed: '通行密钥登录失败请重试',
passkeyNotSupported: '当前浏览器或环境不支持通行密钥',
passkeyToPassword: '无法使用通行密钥? 使用账号密码登录',
licenseHelper: '飞致云社区软件许可协议',
errorAgree: '请点击同意社区软件许可协议',
agreeTitle: '服务协议及隐私保护',
agreeContent:
'为了更好的保障您的合法权益请您阅读并同意以下协议 &laquo; <a href="https://www.fit2cloud.com/legal/licenses.html" target="_blank"> 飞致云社区软件许可协议 </a> &raquo;',
logout: '退出登录',
},
rule: {
username: '请输入用户名',
password: '请输入密码',
rePassword: '密码不一致请检查后重新输入',
requiredInput: '请填写必填项',
requiredSelect: '请选择必选项',
illegalChar: '暂不支持注入字符 & ; $ \' ` ( ) " > < ',
illegalInput: '输入框中存在不合法字符',
duplicate: '内容不能重复',
commonName: '支持非特殊字符开头,英文、中文、数字、.-和_,长度1-128',
userName: '支持非特殊字符开头、英文、中文、数字和_,长度3-30',
simpleName: '支持非下划线开头英文、数字、_,长度3-30',
simplePassword: '支持非下划线开头英文、数字、_,长度1-30',
dbName: '支持非特殊字符开头,英文、中文、数字、.-_,长度1-64',
composeName: '支持非特殊字符开头,小写英文、数字、-和_,长度1-256',
imageName: '支持非特殊字符开头、英文、数字、:@/.-_,长度1-256',
volumeName: '支持英文、数字、.-和_,长度2-30',
supervisorName: '支持非特殊字符开头,英文、数字、-和_,长度1-128',
complexityPassword: '支持长度为 8-30 位且包含字母、数字、特殊字符中至少两项的密码组合',
linuxName: '长度1-128名称不能含有{0}等符号',
email: '请输入正确的邮箱',
number: '请输入正确的数字',
integer: '请输入正确的正整数',
ip: '请输入正确的 IP 地址',
host: '请输入正确的 IP 或域名',
hostHelper: '支持输入 ip 或域名',
port: '请输入正确的端口,1-65535',
domain: '域名格式错误',
databaseName: '支持英文、数字、_,长度1-30',
numberRange: '数字范围: {0} - {1}',
paramName: '支持英文、数字、.-和_,长度2-64',
paramComplexity: '支持英文、数字、{0},长度6-128特殊字符不能在首尾',
paramUrlAndPort: '格式为 http(s)://(域名/ip):(端口)',
nginxDoc: '仅支持英文大小写,数字,和.',
appName: '支持英文、数字、-和_,长度2-30,并且不能以-_开头和结尾',
containerName: '支持字母、数字、_-和.,不能以-_或.开头,长度2-128',
mirror: '支持以 http(s):// 开头,英文大小写,数字,. / 和 - 的镜像加速地址,且不能有空行',
disableFunction: '仅支持字母、下划线和,',
leechExts: '仅支持字母数字和,',
paramSimple: '支持小写字母和数字,长度1-128',
filePermission: '权限错误',
formatErr: '格式错误,检查后重试',
phpExtension: '仅支持 , _ 小写英文和数字',
paramHttp: '必须以 http:// 或 https:// 开头',
phone: '手机号码格式不正确',
authBasicPassword: '支持字母、数字以及常见特殊字符长度1-72',
length128Err: '长度不能超过128位',
maxLength: '长度不能超过 {0} 位',
alias: '支持英文、数字、-和_,长度1-128,并且不能以-_开头和结尾',
vmName: '支持英文、数字、.-和_,长度1-64且必须以英文或数字开头',
vmNetwork: '支持英文、数字、.:-和_,长度1-64且必须以英文或数字开头',
},
res: {
paramError: '请求失败,请稍后重试!',
forbidden: '当前用户无权限',
serverError: '服务异常',
notFound: '资源不存在',
commonError: '请求失败',
},
service: {
serviceNotStarted: '当前未启动 {0} 服务',
},
status: {
running: '已启动',
done: '已完成',
scanFailed: '未完成',
success: '成功',
waiting: '请等待',
waitForUpgrade: '等待升级',
failed: '失败',
stopped: '已停止',
error: '失败',
created: '已创建',
restarting: '重启中',
uploading: '上传中',
unhealthy: '异常',
removing: '移除中',
paused: '已暂停',
exited: '已停止',
partial: '部分启动',
dead: '已结束',
installing: '安装中',
enabled: '已启用',
disabled: '已停止',
normal: '正常',
building: '制作镜像中',
upgrading: '升级中',
pending: '待编辑',
rebuilding: '重建中',
deny: '已屏蔽',
accept: '已放行',
used: '已使用',
unused: '未使用',
starting: '启动中',
recreating: '重建中',
creating: '创建中',
init: '等待申请',
ready: '正常',
applying: '申请中',
uninstalling: '卸载中',
lost: '已失联',
bound: '已绑定',
unbind: '未绑定',
exceptional: '异常',
free: '空闲',
enable: '已启用',
disable: '已停止',
deleted: '已删除',
notfound: '不存在',
inactive: '未启动',
degraded: '降级',
inaccessible: '不可访问',
unknown: '未知',
downloading: '下载中',
packing: '打包中',
sending: '下发中',
healthy: '正常',
executing: '执行中',
installerr: '安装失败',
applyerror: '申请失败',
systemrestart: '中断',
starterr: '启动失败',
uperr: '启动失败',
new: '新',
conflict: '冲突',
duplicate: '重复',
unexecuted: '未执行',
canceled: '已取消',
},
units: {
second: '秒',
minute: '分钟',
hour: '小时',
day: '天',
week: '周',
month: '月',
year: '年',
time: '次',
core: '核',
secondUnit: '秒',
minuteUnit: '分钟',
hourUnit: '小时',
dayUnit: '天',
millisecond: '毫秒',
semicolon: '',
},
log: {
noLog: '暂无日志',
},
},
menu: {
home: '概览',
apps: '应用商店',
website: '网站',
project: '项目',
config: '配置',
ssh: 'SSH 管理',
firewall: '防火墙',
filter: '过滤器',
ssl: '证书',
database: '数据库',
aiTools: 'AI',
mcp: 'MCP',
container: '容器',
cronjob: '计划任务',
system: '系统',
files: '文件',
monitor: '监控',
terminal: '终端',
settings: '面板设置',
toolbox: '工具箱',
logs: '日志审计',
runtime: '运行环境',
processManage: '进程管理',
process: '进程',
network: '网络',
supervisor: '进程守护',
tamper: '防篡改',
app: '应用',
msgCenter: '任务中心',
disk: '磁盘管理',
},
home: {
dir: '目录',
alias: '别名',
quickDir: '快捷目录',
minQuickJump: '请至少设置一个快速跳转入口!',
maxQuickJump: '最多可设置四个快速跳转入口!',
database: '数据库 - 所有',
restart_1panel: '重启面板',
restart_system: '重启服务器',
operationSuccess: '操作成功,正在重启,请稍后手动刷新浏览器!',
entranceHelper: '设置安全入口有利于提高系统的安全性,如有需要,前往 面板设置-安全 中,启用安全入口',
appInstalled: '已安装应用',
systemInfo: '系统信息',
hostname: '主机名称',
platformVersion: '发行版本',
kernelVersion: '内核版本',
kernelArch: '系统类型',
network: '流量',
io: '磁盘 IO',
ip: '主机地址',
proxy: '系统代理',
baseInfo: '基本信息',
totalSend: '总发送',
totalRecv: '总接收',
rwPerSecond: '读写次数',
ioDelay: '读写延迟',
uptime: '启动时间',
runningTime: '运行时间',
mem: '系统内存',
swapMem: 'Swap 分区',
runSmoothly: '运行流畅',
runNormal: '运行正常',
runSlowly: '运行缓慢',
runJam: '运行堵塞',
core: '物理核心',
logicCore: '逻辑核心',
corePercent: '核心使用率',
cpuFrequency: 'CPU 频率',
cpuDetailedPercent: 'CPU 占用',
cpuUser: '用户态',
cpuSystem: '内核态',
cpuIdle: '空闲',
cpuIrq: '硬中断',
cpuSoftirq: '软中断',
cpuSteal: '被VM抢占',
cpuTop: 'CPU 占用率 Top5 的进程信息',
memTop: '内存占用率 Top5 的进程信息',
loadAverage: '最近 {0} 分钟平均负载',
load: '负载',
mount: '挂载点',
fileSystem: '文件系统',
total: '总数',
used: '已用',
cache: '缓存',
free: '空闲',
shard: '共享',
available: '可用',
percent: '使用率',
networkCard: '网卡',
disk: '磁盘',
memo: '备忘录',
memoPlaceholder: '点击编辑按钮启用编辑',
carouselSetting: '轮播设置',
tooltipSensitiveInfo: '显示/隐藏敏感信息',
},
tabs: {
more: '更多',
hide: '收起',
closeLeft: '关闭左侧',
closeRight: '关闭右侧',
closeOther: '关闭其它',
closeAll: '关闭所有',
},
header: {},
database: {
manage: '管理',
deleteBackupHelper: '同时删除数据库备份',
delete: '删除操作无法回滚,请输入 "',
deleteHelper: '" 删除此数据库',
deleteUserHelper: '" 删除此用户',
userBoundDatabases: '用户已获得以下数据库的访问授权:',
noMysql: '数据库服务 (MySQL 或 MariaDB)',
noPostgresql: '数据库服务 PostgreSQL',
goUpgrade: '去应用列表升级',
goInstall: '去应用商店安装',
isDelete: '已删除',
permission: '权限',
format: '字符集',
collation: '排序规则',
collationHelper: '为空则使用 {0} 字符集的默认排序规则',
permissionForIP: '指定 IP',
permissionAll: '所有人(%)',
localhostHelper: '将容器部署的数据库权限配置为 localhost 会导致容器外部无法访问,请谨慎选择!',
databaseConnInfo: '连接信息',
rootPassword: 'root 密码',
serviceName: '服务名称',
serviceNameHelper: '用于同一 network 下的容器间访问',
backupList: '备份列表',
loadBackup: '导入备份',
localUpload: '本地上传',
hostSelect: '服务器选择',
selectHelper: '是否确认导入备份文件 {0}',
remoteAccess: '远程访问',
remoteHelper: '多个 ip 以逗号分隔172.16.10.111,172.16.10.112',
remoteConnHelper: 'root 帐号远程连接 MySQL 有安全风险,开启需谨慎!',
changePassword: '改密',
changeConnHelper: '此操作将修改当前数据库 {0},是否继续?',
changePasswordHelper: '当前数据库已经关联应用,修改密码将同步修改应用中数据库密码,修改后重启生效。',
recoverTimeoutHelper: '-1 表示不限制超时时间',
portHelper: '该端口为容器对外暴露端口,修改需要单独保存并且重启容器!',
confChange: '配置修改',
confNotFound: '未能找到该应用配置文件,请在应用商店升级该应用至最新版本后重试!',
loadFromRemote: '从服务器同步',
userBind: '绑定用户',
userAuthorization: '用户授权',
noUserAuthorization: '不授权',
authorizedDatabaseCount: '已授权 {0} 个数据库',
authorizationManagement: '授权管理',
authorizedUsers: '已授权用户',
authorizedUserCount: '{0} 个用户',
addUserAuthorization: '添加用户授权',
revokeAuthorization: '撤销授权',
revokeAuthorizationHelper: '确定撤销用户 {0} 对数据库 {1} 的访问授权吗?',
supplementPassword: '补充密码',
supplementPasswordHelper: '仅将现有密码保存到 1Panel不会修改 MySQL 用户密码。',
noUserBind: '不绑定',
pgBindHelper: '该操作用于创建新用户并将其绑定到目标数据库,暂不支持选择已存在于数据库中的用户。',
pgSuperUser: '超级用户',
loadFromRemoteHelper: '此操作将同步服务器上的数据库、用户及授权信息到 1Panel是否继续',
passwordHelper: '无法获取,可点击修改',
remote: '远程',
remoteDB: '远程服务器',
createRemoteDB: '添加远程服务器',
unBindRemoteDB: '解绑远程服务器',
unBindForce: '强制解绑',
unBindForceHelper: '忽略解绑过程中的所有错误,确保最终操作成功',
unBindRemoteHelper: '解绑远程数据库只会删除绑定关系,不会直接删除远程数据库',
editRemoteDB: '编辑远程服务器',
localDB: '本地数据库',
address: '数据库地址',
version: '数据库版本',
userHelper: 'root 用户或拥有 root 权限的数据库用户',
mongodbPermissionDbOwner: '数据库所有者',
mongodbPermissionRead: '读取数据',
mongodbPermissionReadWrite: '读取和写入数据',
mongodbPermissionUserAdmin: '用户管理员',
pgUserHelper: '拥有超级管理员权限的数据库用户',
ssl: '使用 SSL',
clientKey: '客户端私钥',
clientCert: '客户端证书',
hasCA: '拥有 CA 证书',
caCert: 'CA 证书',
skipVerify: '忽略校验证书可用性检测',
initialDB: '初始数据库',
formatHelper: '当前数据库字符集为 {0},字符集不一致可能导致恢复失败',
dropHelper: '将上传文件拖拽到此处,或',
clickHelper: '点击上传',
supportUpType:
'仅支持 sql、sql.gz、tar.gz、.zip 文件格式,导入的压缩文件必须保证只有一个 .sql 文件或包含 test.sql',
currentStatus: '当前状态',
baseParam: '基础参数',
performanceParam: '性能参数',
runTime: '启动时间',
connections: '总连接数',
bytesSent: '发送',
bytesReceived: '接收',
queryPerSecond: '每秒查询',
txPerSecond: '每秒事务',
connInfo: '活动/峰值连接数',
connInfoHelper: '若值过大,增加 max_connections',
threadCacheHit: '线程缓存命中率',
threadCacheHitHelper: '若过低,增加 thread_cache_size',
indexHit: '索引命中率',
indexHitHelper: '若过低,增加 key_buffer_size',
innodbIndexHit: 'Innodb 索引命中率',
innodbIndexHitHelper: '若过低,增加 innodb_buffer_pool_size',
cacheHit: '查询缓存命中率',
cacheHitHelper: '若过低,增加 query_cache_size',
tmpTableToDB: '创建临时表到磁盘',
tmpTableToDBHelper: '若过大,尝试增加 tmp_table_size',
openTables: '已打开的表',
openTablesHelper: 'table_open_cache 配置值应大于等于此值',
selectFullJoin: '没有使用索引的量',
selectFullJoinHelper: '若不为0请检查数据表的索引是否合理',
selectRangeCheck: '没有索引的 JOIN 量',
selectRangeCheckHelper: '若不为0请检查数据表的索引是否合理',
sortMergePasses: '排序后的合并次数',
sortMergePassesHelper: '若值过大增加sort_buffer_size',
tableLocksWaited: '锁表次数',
tableLocksWaitedHelper: '若值过大,请考虑增加您的数据库性能',
performanceTuning: '性能调整',
optimizationScheme: '优化方案',
keyBufferSizeHelper: '用于索引的缓冲区大小',
queryCacheSizeHelper: '查询缓存不开启请设为0',
tmpTableSizeHelper: '临时表缓存大小',
innodbBufferPoolSizeHelper: 'Innodb 缓冲区大小',
innodbLogBufferSizeHelper: 'Innodb 日志缓冲区大小',
sortBufferSizeHelper: '* 连接数, 每个线程排序的缓冲大小',
readBufferSizeHelper: '* 连接数, 读入缓冲区大小',
readRndBufferSizeHelper: '* 连接数, 随机读取缓冲区大小',
joinBufferSizeHelper: '* 连接数, 关联表缓存大小',
threadStackelper: '* 连接数, 每个线程的堆栈大小',
binlogCacheSizeHelper: '* 连接数, 二进制日志缓存大小(4096的倍数)',
threadCacheSizeHelper: '线程池大小',
tableOpenCacheHelper: '表缓存',
maxConnectionsHelper: '最大连接数',
restart: '重启数据库',
slowLog: '慢日志',
noData: '暂无慢日志...',
isOn: '开启',
longQueryTime: '阈值(秒)',
thresholdRangeHelper: '请输入正确的阈值(1 - 600)',
timeout: '超时时间(秒)',
timeoutHelper: '空闲连接超时时间0表示不断开',
maxclients: '最大连接数',
requirepassHelper: '留空代表没有设置密码,修改需要单独保存并且重启容器!',
databases: '数据库数量',
maxmemory: '最大内存使用',
maxmemoryHelper: '0 表示不做限制',
tcpPort: '当前监听端口',
uptimeInDays: '已运行天数',
connectedClients: '连接的客户端数量',
usedMemory: '当前 Redis 使用的内存大小',
usedMemoryRss: '向操作系统申请的内存大小',
usedMemoryPeak: 'Redis 的内存消耗峰值',
memFragmentationRatio: '内存碎片比率',
totalConnectionsReceived: '运行以来连接过的客户端的总数量',
totalCommandsProcessed: '运行以来执行过的命令的总数量',
instantaneousOpsPerSec: '服务器每秒钟执行的命令数量',
keyspaceHits: '查找数据库键成功的次数',
keyspaceMisses: '查找数据库键失败的次数',
hit: '查找数据库键命中率',
latestForkUsec: '最近一次 fork() 操作耗费的微秒数',
redisCliHelper: '未检测到 redis-cli 服务,请先启用服务!',
redisQuickCmd: 'Redis 快速命令',
recoverHelper: '即将使用 [{0}] 对数据进行覆盖,是否继续?',
mongodbRecoverDropAllCollections: '恢复前清空当前数据库',
mongodbRecoverDropAllCollectionsHelper:
'默认仅覆盖已有集合,保留新增集合;开启后将清空当前数据库,并按备份内容恢复。',
submitIt: '覆盖数据',
baseConf: '基础配置',
allConf: '全部配置',
restartNow: '立即重启',
restartNowHelper1: '修改配置后需要重启生效,若您的数据需要持久化请先执行 save 操作。',
restartNowHelper: '修改配置后需要重启生效。',
persistence: '持久化',
rdbHelper1: '秒內,插入',
rdbHelper2: '条数据',
rdbHelper3: '符合任意一个条件将会触发RDB持久化',
rdbInfo: '请确认规则列表中值在 1-100000 之间',
containerConn: '容器连接',
copyConnURL: '复制连接 URL',
connAddress: '地址',
containerConnHelper: 'PHP 运行环境/容器安装的应用使用此连接地址',
remoteConn: '外部连接',
remoteConnHelper2: '非容器环境或外部连接需使用此地址。',
remoteConnHelper3: '默认访问地址为主机IP修改请前往面板设置页面的「默认访问地址」配置项。',
localIP: '本机 IP',
},
aiTools: {
agents: {
agent: '智能体',
account: '模型账号',
batchOperation: '批量操作',
operationType: '操作类型',
batchAction: '批量{0}',
installSkillAction: '下发 Skill',
batchAgentTask: '批量{0}智能体',
dispatchAgentTask: '下发智能体{0}任务',
dispatchTask: '下发{0}任务',
taskSubmitted: '{0}任务已下发',
allNodes: '所有节点',
targetVersion: '目标版本',
skillSource: 'Skill 来源',
skillKeyword: 'Skill 关键词',
clawHubSkillPlaceholder: '请先搜索并选择 Skill',
noAccountHint: '选择已有模型账号,或直接创建',
accountCount: '模型账号 {0} 个',
syncAgents: '同步关联智能体',
syncAgentsHelper: '更新使用该模型账号的智能体 openclaw.json',
appVersion: '应用版本',
webuiPort: 'WebUI 端口',
tokenOrAuth: 'Token/Auth',
allowedOrigins: '访问地址',
allowedOriginsRequired: '请至少填写一个访问地址',
allowedOriginsInvalid: '访问地址格式错误,请输入 http(s)://域名或IP[:端口]',
provider: '模型供应商',
accountModelsHelper: '配置账号可提供给 OpenClaw 使用和切换的模型列表',
accountModelsRequired: '请至少配置一个模型',
verifyModel: '验证模型',
verifyModelHelper: '请选择该账号有权限调用的模型,保存时将使用它发送最小请求验证连接。',
verifyModelRequired: '请选择验证模型',
discoverModels: '获取模型',
automaticModelDiscovery: '自动获取',
manualModelConfiguration: '手动配置',
discoverModelsHelper: '从供应商的 /v1/models 接口获取模型,获取后将全部加入模型池',
discoverModelsFailedFallback: '获取模型失败,请手动配置模型',
discoverModelsFailedUseDefaults: '获取模型失败,已使用默认模型',
accountModelsDuplicate: '模型池中存在重复模型,请检查后重试',
modelPool: '模型池',
fallbackModels: '备用模型',
addFallbackModel: '新增备用模型',
fallbackModelsEmpty: '尚未配置备用模型',
modelInputTypes: '输入类型',
reasoning: '推理模型',
verified: '验证状态',
verifySkipped: '不验证',
skillsTab: '技能',
securityTab: '安全',
otherTab: '其他',
timeZone: '时区',
browserEnabled: '浏览器开关',
npmRegistry: 'NPM 源',
npmRegistryHelper: '用于 OpenClaw 插件安装时的 npm registry可选择预设源或手动输入自定义源',
npmRegistryInvalid: '请输入正确的 NPM 源地址,需以 http:// 或 https:// 开头',
pluginInstallNPMRegistryHelper: '可前往 设置 -> 其他 配置 NPM 源,以加速插件安装',
skillsSearchPlaceholder: '搜索技能...',
skillsEmpty: '暂无技能',
skillsMarket: '技能市场',
skillsMarketHint: '请选择来源并搜索技能',
skillsMarketEmpty: '未找到相关技能',
skillsMarketSourceClawhubGlobal: 'ClawHub全球',
skillsMarketSourceClawhubChina: 'ClawHub中国',
skillsMarketSourceSkillhub: 'SkillHub腾讯',
skillsMarketSourceLocalHub: '本地 Skill 商店',
skillsScore: '评分',
skillsMarketSourceOfficial: '官方',
versionUnsupportedTitle: '当前版本暂不支持该功能',
versionUnsupportedHelper: '请升级 OpenClaw 到 {0} 或以上版本后使用。',
skillsGroupBuiltIn: '内置',
skillsGroupExternal: '外部',
skillsGroupWorkspace: '工作区',
switchModelSuccess: '模型切换成功',
channelsTab: '频道',
agentRoleTab: '角色',
agentRoleUnsupported: '当前仅 OpenClaw 支持角色管理。',
workspace: '工作区目录',
agentDir: 'Agent 目录',
roleMarkdownDescriptions: {
'AGENTS.md': ['Agent 的操作说明,以及如何使用记忆。', '适合放规则、优先级和行为方式等内容。'],
'SOUL.md': ['人格、语气和边界。'],
'USER.md': ['用户是谁,以及应该如何称呼和回应用户。'],
'IDENTITY.md': ['Agent 的名字、气质和 emoji。'],
'TOOLS.md': ['关于本地工具和约定的说明。'],
'HEARTBEAT.md': ['可选的心跳运行检查清单。', '尽量保持简短,避免消耗过多 token。'],
'BOOT.md': [
'可选的启动检查清单,会在 gateway 重启且启用内部 hooks 时执行。',
'尽量保持简短;如需对外发送消息,请使用 message 工具。',
],
'BOOTSTRAP.md': ['首次运行引导流程', '只会在全新的工作区中创建。'],
},
duplicateBinding: '频道和账号 ID 不能重复',
accountIdOptional: '账号 ID可选',
saveAllMd: '保存全部',
roleMarkdownRestartHelper: '保存当前全部 MD 文件后,需要重启容器才能生效。请选择立即重启或稍后重启。',
configFileRestartHelper: '保存配置文件后需要重启容器才能生效。',
overviewSnapshot: '状态概览',
primaryModel: '主模型',
defaultModel: '默认模型',
channelCount: '已配置频道数量',
skillCount: '技能数量',
jobCount: '定时任务数量',
sessionCount: '会话数量',
hermesChatAction: '对话',
hermesChatTitle: 'Hermes 对话',
hermesChatDialogTitle: 'Hermes 对话 - {0}',
hermesChatNewChat: '新对话',
hermesChatNoSessions: '暂无会话',
hermesChatMessageCount: '{0} 条',
hermesChatEmptyHint: '选择左侧会话或点击新对话',
hermesChatTitlePlaceholder: '请输入会话标题',
hermesChatRenameSuccess: '会话标题已更新',
hermesChatDeleteConfirm: '确认删除会话 {0}',
hermesChatDeleteSuccess: '会话已删除',
weixin: '微信',
wecom: '企业微信',
dingtalk: '钉钉',
feishu: '飞书',
pluginNotInstalled: '插件未安装,请先安装插件',
dmPolicy: '私聊策略',
threadSession: '线程会话',
replyMode: '回复模式',
requireMention: "群聊需 {'@'} 机器人",
requireMentionTrue: "需要 {'@'}",
requireMentionFalse: "无需 {'@'}",
requireMentionOpen: '按群组配置',
groupPolicy: '群组策略',
policyAllowlist: '白名单',
policyOpen: '开放',
policyDisabled: '禁用',
bots: 'Bot 列表',
addBot: '新增 Bot',
accountId: '账户 ID',
accountIdPlaceholder: '用于区分不同 Bot 的唯一标识,保存后用于配置和路由识别',
setDefaultBot: '设为默认 Bot',
botDuplicateField: '{field} 不能重复',
botRequired: '请至少添加一个 Bot',
botId: 'Bot ID',
allowFrom: '私聊白名单',
allowFromPlaceholder: '一行一个发送方标识',
allowlistPolicyHelper: '{0},仅在{1}为白名单时生效',
systemPrompt: '系统提示词',
groupAllowFrom: '群组白名单',
groupAllowFromPlaceholder: '一行一个群组标识',
separateSessionByConversation: '按会话隔离',
groupSessionScope: '群会话范围',
groupSessionScopeGroup: '整群共享',
groupSessionScopeGroupSender: '群内按人隔离',
sharedMemoryAcrossConversations: '跨会话共享记忆',
asyncMode: '异步模式',
ackText: '确认消息',
ackTextDefault: '任务已接收,处理中...',
streaming: '流式传输',
streamingOff: '关闭',
streamingPartial: '部分输出',
streamingBlock: '阻塞输出',
streamingProgress: '进度输出',
allowFromRequired: '请至少填写一个白名单项',
pairingCode: '配对码',
pairingCodePlaceholder: '请输入配对码',
approvePairing: '批准配对',
saveSuccess: '保存成功',
successAndRestart: '{0},容器正在自动重启。',
pairingApproveSuccess: '配对成功',
scanConnect: '扫码对接',
scanConnectHelper: '点击后将在任务日志中显示二维码,扫码确认成功后将自动重启容器。',
channelAutoRestartHelper: '保存后将自动重启容器以使配置生效。',
dashboardAuthAutoRebuildHelper: '保存用户名密码后将自动重建容器以使配置生效。',
channelDeleteConfirm: '确认删除 {0} 频道配置?',
apiTypeBaseURLHelper: '当前类型最终请求 {0}Base URL 建议填写 {1}',
customImageURLHelper: 'Custom 图片账号请填写完整的图片生成接口 URL系统不会自动补全路径例如{0}',
apiTypeBaseURLMismatch: '当前 Base URL 看起来是 {0} 路径,和已选择的 {1} 不一致,建议改为 {2}',
validateAvailability: '验证账号可用性',
validateAvailabilityHelper: '保存前发送最小消息验证接口可用性',
validateImageAvailabilityHelper: '保存前会真实生成一张最小图片,可能产生费用',
},
model: {
model: '模型',
localModel: '本地模型',
create_helper: '拉取 "{0}"',
ollama_doc: '您可以访问 Ollama 官网,搜索并查找更多模型。',
container_conn_helper: '容器间访问或连接使用此地址',
ollama_sync: '同步 Ollama 模型发现下列模型不存在,是否删除?',
from_remote: '该模型并非通过 1Panel 下载,无相关拉取日志。',
no_logs: '该模型的拉取日志已被删除,无法查看相关日志。',
vllmVersionHelper: 'FusionXpark GB 10 服务器请选择 -cu130 版本',
vllmCommandPortHelper: '启动命令必须使用 {0} 端口,否则服务将无法访问。',
syncModelAccount: '同步到模型账号',
modelAccountAddressHelper:
'容器地址适合智能体容器调用127.0.0.1、本机 IP 或自定义地址适合 AI 网关或外部服务调用。',
containerAddress: '容器地址',
customAddress: '自定义地址',
downloader: '下载器',
modelDir: '模型目录',
manualDownload: '手动下载',
modelSource: '模型来源',
repoID: '仓库 ID',
endpointLabel: '{0} 地址',
acceleratedEndpointLabel: '{0} 加速地址',
tokenOptionalLabel: '{0} Token可选',
searchSource: '搜索 {0}',
hfEndpointHelper: '国内访问 HuggingFace 不稳定时可配置加速地址,搜索、详情和下载都会使用该地址。',
sortTrending: '热门趋势',
sortLikes: '点赞最多',
sortDownloads: '下载最多',
sortUpdated: '最近更新',
sortCreated: '最新创建',
downloadsCount: '下载量',
likes: '点赞',
taskQueue: '下载队列',
progress: '进度',
localDownloaded: '已下载',
modelInfo: '模型详情',
downloading: '下载中',
canceled: '已取消',
downloadQueued: '已加入下载队列',
cancelTaskConfirm: '确认取消该下载任务?',
deleteLocalModelConfirm: '确认删除本地模型 {0}',
},
proxy: {
proxy: 'AI 网关增强',
proxyHelper1: '绑定域名并开启 HTTPS增强传输安全性',
proxyHelper2: '限制 IP 访问,防止在公网暴露',
proxyHelper3: '开启流式传输',
proxyHelper4: '创建完成之后可以在网站列表中查看并管理',
proxyHelper5: '创建完成之后可以在应用商店 - 已安装 - ollama - 参数中取消端口外部访问以提高安全性',
proxyHelper6: '如需关闭代理配置,可以在网站列表中删除',
whiteListHelper: '限制仅白名单中的 IP 可访问',
},
aiProxy: {
title: 'AI 网关',
apiReference: '接口说明',
notInstalled: '未安装',
usage: '用量统计',
accountPool: '账号池',
importModelAccount: '导入模型账号',
editModelAccount: '编辑模型账号',
selectModelAccount: '选择已有模型账号',
upstreamApiAddress: '上游 API 地址',
priority: '优先级',
healthStatus: '健康状态',
failureCount: '失败次数',
lastError: '最近错误',
modelMap: '模型映射',
qpsLimit: 'QPS 限制',
tokenLimit: 'Token 限制',
tokenUsed: '已用 Token',
tokenRemaining: '剩余 Token',
resetToken: '重置 Token',
resetTokenConfirm: '确认重置 {0} 的 Token 用量?',
unlimited: '不限',
unlimitedWithAuto: '不限,包含 auto',
apiKeyCount: 'API Key 数',
lastUsedAt: '最近使用时间',
settingTitle: 'AI 网关设置',
basicSetting: '基础设置',
performanceSetting: '性能设置',
logSetting: '日志设置',
lbPolicy: '负载策略',
lbPolicyRoundRobin: '轮询',
lbPolicyRoundRobinDesc: '按顺序依次选择可用模型账号,适合后端能力接近的场景。',
lbPolicyWeightedRoundRobin: '加权轮询',
lbPolicyWeightedRoundRobinDesc:
'根据模型账号权重分配请求,权重越高承担的请求越多,适合后端性能不同的场景。',
lbPolicyFailover: '故障转移',
lbPolicyFailoverDesc: '优先使用优先级最高的模型账号,失败或冷却后再切换到下一个可用账号。',
maxConcurrency: '最大并发',
queueSize: '等待队列大小',
queueTimeoutSeconds: '队列等待超时(秒)',
requestTimeoutSeconds: '非流式请求超时(秒)',
streamIdleTimeoutSeconds: '流式空闲超时(秒)',
maxBodyMb: '最大请求体MB',
runtimeRefreshSeconds: 'Runtime 刷新间隔(秒)',
logRetentionDays: 'AI 网关日志保留天数',
clearLogs: '清空日志',
clearLogsConfirm: '将清空 AI 网关用量统计、内容合规审计、智能路由决策、请求体日志和服务日志,是否继续?',
usageRetentionDays: '用量统计保留天数',
contentAuditRetentionDays: '内容合规审计日志保留天数',
logCleanupIntervalHours: '日志清理间隔(小时)',
requestBodyLog: '请求体日志',
requestBodyLogDesc: '用于将 AI 网关请求与响应内容写入 Elasticsearch便于检索、审计和问题排查。',
requestBodyLogIndexPrefix: '索引前缀',
requestBodyLogRetentionDays: '请求体日志保留天数',
requestBodyLogMaxBodyKb: '单请求体最大保存大小KB',
requestBody: '请求体',
requestBodySize: '请求体大小',
requestBodyTruncated: '是否截断',
requestBodyHash: '请求体 Hash',
responseBody: '响应体',
responseBodySize: '响应体大小',
responseBodyTruncated: '响应体是否截断',
responseBodyHash: '响应体 Hash',
readableContent: '可读内容',
rawResponse: '原始响应',
replyContent: '回复内容',
reasoningContent: '思考内容',
statusTitle: 'AI 网关状态',
serviceEnabled: '服务自启',
proxyEnabled: '网关启用',
statusMessage: '状态信息',
esLogDropped: 'ES 日志丢弃数',
esLogLastSuccessAt: 'ES 最近写入时间',
esLogCircuitOpen: '熔断中',
esLogCircuitUntil: 'ES 熔断结束时间',
serviceOperateConfirm: '确认{0} AI 网关服务?',
deleteTargetConfirm: '确认删除{0} {1}',
deleteBackendTitle: '删除模型账号',
userFallback: '已删除用户 (ID: {0})',
requestModel: '请求模型',
upstreamModel: '上游模型',
requestModelPlaceholder: '如 qwen2.5-coder',
upstreamModelPlaceholder: '如 Qwen/Qwen2.5-Coder-32B-Instruct',
addMapping: '添加映射',
overview: '概览',
distribution: '分布',
usageTrend: '使用趋势',
distributionBy: '按{0}分布',
unmatched: '未匹配',
modelAccount: '模型账号',
serviceProvider: '服务商',
tokenUsage: 'Token 用量',
percent: '占比',
ranking: '排行榜',
rank: '排名',
promptToken: '输入 Token',
completionToken: '输出 Token',
totalToken: '总 Token',
cachedToken: '缓存 Token',
cacheHitRate: '缓存命中率',
activeUsers: '活跃用户',
activeModels: '活跃模型',
failedRequests: '失败请求',
averageTokenPerRequest: '平均 Token/请求',
callLogs: '调用日志',
usageKeywordPlaceholder: '搜索 Request ID / 模型 / 上游模型 / 错误信息',
attemptChain: '调用链路',
attemptIndex: '调用顺序',
noAttemptDetails: '本次请求一次命中,无 fallback 明细',
input: '输入',
output: '输出',
total: '总计',
healthHealthy: '健康',
healthCooldown: '冷却',
healthUnhealthy: '异常',
healthDeleted: '已删除',
healthUnknown: '未知',
validationModelMapEmpty: '模型映射的模型名不能为空',
validationModelMapDuplicate: '请求模型 {0} 重复',
modelGroup: '模型组',
modelCapability: '模型能力',
textGeneration: '文本生成',
imageGeneration: '图片生成',
textModels: '文本模型',
textToImageModels: '文生图模型',
unauthorized: '未授权',
imageCount: '图片数量',
availableModels: '可用模型',
modelGroupModels: '请求模型',
modelGroupModelsPlaceholder: '请选择或输入请求模型名',
modelGroupModelsHelper:
'填写客户端请求 AI 网关时使用的请求模型名;智能路由会按顺序优先选择靠前模型,不做模型间负载均衡。',
modelGroupGuide:
'模型组配置客户端请求 AI 网关时使用的请求模型名上游模型在账号池的模型映射中配置。auto 是虚拟模型名,不需要放进模型组。',
modelGroupModelCount: '{0} 个模型',
contentCompliance: '内容合规',
contentAction: '处理动作',
actionBlock: '阻断',
actionAuditOnly: '仅记录',
actionDropHistory: '删除历史',
severity: '风险等级',
severityHigh: '高',
severityMedium: '中',
severityLow: '低',
sensitiveWord: '敏感词',
sensitiveGroup: '敏感词分组',
sensitiveWordCount: '词数',
normalizedWord: '归一化词',
matchedWords: '命中词',
matchedGroups: '命中分组',
importResult: '导入成功 {0} 条,重复 {1} 条,无效 {2} 条',
auditLogs: '审计日志',
smartRoute: '智能路由',
smartRouteGuideTitle: '客户端使用 model=auto 进入智能路由',
smartRouteGuideReady:
'model=auto 会按请求复杂度在简单模型组和复杂模型组中选择模型model 不是 auto 时仍按普通 AI 网关转发。',
smartRouteGuideNotReady:
'请先在设置中开启智能路由并配置简单/复杂模型组;配置完成后客户端使用 model=auto 进入智能路由。',
copyAutoModel: '复制 auto',
goSmartRouteSetting: '去设置',
smartRoutePolicy: '路由策略',
routeConfig: '路由配置',
embeddingConfig: 'Embedding 设置',
embeddingConfigDesc:
'用于智能路由和内容合规语义样本匹配。建议使用 llama.cpp + Qwen3-Embedding-0.6B,配置后可重建样本向量。',
decisionConfig: '判定参数',
simpleModelGroup: '简单模型组',
complexModelGroup: '复杂模型组',
embeddingEndpoint: '地址',
embeddingModel: '模型',
embeddingApiKey: 'API Key',
routeThreshold: '路由阈值',
routeThresholdHelper: '用于智能路由:请求与简单/复杂样本相似度达到该值后,才采用样本匹配结果。',
auditThreshold: '审核阈值',
auditThresholdHelper: '用于内容合规:请求与审核样本相似度达到该值后,才认为命中审核样本。',
topK: 'TopK',
topKHelper: '每次取最相似的样本数量。',
members: '成员',
samples: '样本',
routeSamplesGuide:
'样本是简单/复杂问题的示例,用于 Embedding 相似度匹配;文本尽量写真实用户请求,新增后可生成或重建向量。',
rebuildVectors: '重建向量',
rebuildVectorsConfirm: '重建向量会重新请求 Embedding 服务处理智能路由和内容合规样本,是否继续?',
createVectorOnImport: '导入后创建向量',
createVectorOnImportHelper: '默认选中。已配置 Embedding 时会创建后台任务生成向量,未配置时仅创建样本。',
route: '路由',
audit: '审核',
auditSamples: '审核样本',
sampleText: '文本',
sampleLabel: '标签',
vectorModel: '向量模型',
vectorDim: '维度',
threshold: '阈值',
preview: '预览',
previewGuide: '预览用于测试一段请求会判为简单还是复杂,不会真实调用上游模型;来源为样本匹配或规则判断。',
previewPlaceholder: '输入请求文本',
confidence: '置信度',
bestSampleSimilarity: '最高样本相似度',
source: '来源',
sourceHeuristic: '规则判断',
sourceEmbedding: '样本匹配',
latency: '耗时',
decisionLogs: '决策日志',
requestID: '请求 ID',
simple: '简单',
complex: '复杂',
sampleLabelSafe: '安全',
sampleLabelReview: '复核',
sampleLabelBlock: '阻断',
latencyMs: '耗时(ms)',
smartRouteSettingGuide:
'开启后只有 model=auto 的请求才触发智能路由;简单模型组用于低成本任务,复杂模型组用于代码分析、架构设计、故障排查等任务。',
sampleLabelPlaceholder: 'simple / complex / high',
sampleImportPlaceholder: '每行一个样本',
},
skillsHub: {
title: 'Skills Hub',
upload: '上传 Skill',
importSkill: '导入 Skill',
repositoryAddress: '仓库地址',
repositoryGithubOnly: '仅支持 GitHub 仓库地址',
repositoryRef: '分支或 Tag',
repositoryRefPlaceholder: '默认为 main失败后将尝试 master',
repositoryDownloadPreview: '目标下载地址:',
packageURL: '压缩包 URL',
packageURLPlaceholder: '请输入 .zip 压缩包地址',
importSuccess: 'Skill 导入成功,已进入待审核状态。',
source: '来源',
applicableAgent: '适用智能体',
overview: '概览',
versionHistory: '版本历史',
publishedAt: '上架时间',
versionMarker: '标记',
currentVersion: '当前查看',
latestVersion: '最新版本',
latestPublished: '最新发布',
riskLevel: '风险等级',
riskReferenceHint:
'风险等级由系统根据 Skill 包内容自动检测生成,仅作为审核参考,不代表绝对安全。\n低未发现明显风险\n中包含脚本、依赖、外部 URL 或环境变量\n高包含远程执行、敏感信息或高危命令',
riskCheckResult: '安全检查结果',
noRiskFound: '暂未发现明显风险。',
riskFilePath: '文件路径',
riskKeyword: '命中的关键字或规则',
riskDescription: '风险说明',
publishHighRiskConfirm: '该 Skill 存在高风险项,可能包含脚本执行、外部下载或敏感信息访问。确认仍要上架吗?',
approve: '审核通过',
reject: '审核驳回',
publish: '上架',
disable: '下架',
customTarget: '自定义智能体',
addCustomTarget: '添加智能体',
installToTarget: '安装到自定义智能体',
hostSkillDir: 'Skill 目录',
hostSkillDirHelper: '请填写节点 Skill 目录路径。',
installMethod: '安装方式',
copy: '复制',
extract: '解压',
postInstallCommand: '安装后命令',
localSource: '本地上传',
uploadDragTitle: '拖拽 Skill 包到此处,或点击上传',
uploadFormatLabel: '支持格式:',
uploadFormatValue: '.zip、.7z、.tar、.tar.gz',
uploadSizeLabel: '文件大小:',
uploadSizeValue: '单个文件不超过 5 MB',
uploadRequirementLabel: '包内要求:',
uploadRequirementPrefix: 'Skill 包内必须包含',
onlySupportedArchive: '仅支持上传 .zip、.7z、.tar、.tar.gz 格式的 Skill 包',
uploadSizeExceeded: '单个 Skill 包不能超过 5 MB',
uploadSuccess: 'Skill 上传成功,已进入待审核状态。',
versionAutoFillPlaceholder: '可从文件名自动识别,请确认或手动填写',
metadataOverwriteConfirm: 'Skill 包内的版本号与当前填写内容不一致,是否以当前填写内容为准?',
metadataOverwriteConfirmWithVersions:
'Skill 包内的版本号与当前填写内容不一致,包内版本:{packageVersion},填写版本:{inputVersion},是否以当前填写内容为准?',
offlineNotice: '当前为离线环境,仅支持从本地 Skill 商店安装技能。',
publishConfirm: '确认上架该 Skill上架后可在智能体中从本地 Skill 商店安装。',
disableConfirm: '确认下架该 Skill已安装到智能体中的 Skill 不受影响。',
deleteConfirm: '确认删除该 Skill删除后不可恢复已安装到智能体中的 Skill 不受影响。',
rejectConfirm: '确认驳回该 Skill 的审核?驳回后 Skill 将进入“审核未通过”状态。',
downloadPublishedOnly: '仅支持下载已上架的 Skill 包。',
deleteTargetConfirm: '确认删除该自定义智能体?删除后用户不能继续选择该安装目标。',
noInstallTarget: '暂无可用的自定义智能体,请先配置安装目标。',
postInstallConfirm: '该目标配置了安装后命令,执行前请确认该命令可信。',
status: {
pending: '待审核',
approved: '已审核',
published: '已上架',
disabled: '已下架',
rejected: '审核未通过',
deleted: '已删除',
},
agent: {
common: '通用',
},
risk: {
low: '低',
medium: '中',
high: '高',
},
riskType: {
script_file: '脚本文件',
dependency_manifest: '依赖声明',
external_url: '外部 URL',
environment_variable: '环境变量',
dockerfile: 'Dockerfile',
command_execution: '命令执行',
remote_script_execution: '远程脚本执行',
eval_execution: '动态执行',
base64_execution: 'Base64 解码执行',
privileged_command: '提权命令',
dangerous_delete: '危险删除',
world_writable_permission: '高危权限',
credential: '疑似密钥',
sensitive_path: '敏感路径',
suspicious_download_execute: '可疑下载执行',
binary_content: '二进制内容',
scan_truncated: '扫描内容截断',
},
riskDescriptionText: {
script_file: '包含脚本文件,可能执行本地命令。',
dependency_manifest: '包含依赖声明文件,安装时可能拉取外部依赖。',
external_url: '包含外部 URL请确认外联地址可信。',
environment_variable: '声明了环境变量,请确认用途和默认值。',
dockerfile: '包含 Dockerfile可能定义镜像构建或运行逻辑。',
command_execution: '包含命令执行相关调用,请确认执行逻辑可信。',
remote_script_execution: '包含远程脚本下载后直接执行逻辑。',
eval_execution: '包含 eval 动态执行逻辑。',
base64_execution: '包含 Base64 解码后执行逻辑。',
privileged_command: '包含 sudo 提权命令。',
dangerous_delete: '包含危险删除命令。',
world_writable_permission: '包含 chmod 777 权限放开命令。',
credential: '包含疑似 API Key、Token、Secret 或 Password。',
sensitive_path: '包含访问敏感目录或敏感文件的行为。',
suspicious_download_execute: '包含可疑外联下载或下载后执行逻辑。',
binary_content: '文件中包含 NUL 字节,可能隐藏可执行内容或二进制内容。',
scan_truncated: '文件内容超过扫描上限,未扫描部分仍需人工确认。',
},
},
benchmark: {
title: '基准测试',
launchCommand: '启动命令',
retest: '重新测试',
statusRunning: '运行中',
statusWaiting: '等待中',
base: '基础信息',
backend: '后端',
baseUrl: '服务地址',
endpoint: '接口路径',
tokenizer: '分词器',
tokenizerPlaceholder: '请选择或输入本地分词器目录,例如 /opt/1panel/tokenizers/DeepSeek-V3',
runConfig: '运行配置',
rawResult: '原始结果',
resultMetrics: '结果指标',
contextTokens: '上下文长度',
contextTokensHelper: '本次测试的输入 Token 与输出 Token 上限之和。',
outputThroughput: '输出吞吐',
outputThroughputHelper: '模型每秒生成的输出 Token 数,越高表示生成速度越快。',
totalThroughput: '总吞吐',
totalThroughputHelper: '每秒处理的输入与输出 Token 总数,用于衡量整体处理能力。',
firstTokenLatency: '首 Token 延迟',
firstTokenLatencyHelper: '从请求发出到收到第一个 Token 的时间,越低表示响应越快。',
tokenValueHelper: '请输入正整数或 k 单位,例如 512、1k、32k',
numPrompts: '请求数量',
concurrency: '并发数',
requestRate: '请求速率',
requestRateUnlimited: '不限速(最大吞吐)',
requestRateCustom: '自定义 QPS',
requestRateCustomPlaceholder: '请输入每秒请求数,如 2.5',
successfulRequests: '成功请求',
requestThroughput: '请求吞吐',
mean: '平均',
median: '中位数',
timeout: '超时时间(秒)',
image: 'vLLM 镜像',
ignoreEos: '忽略 EOS',
extraHeaders: '额外请求头',
},
gpu: {
gpu: 'GPU 监控',
gpuHelper: '当前系统未检测到 NVIDIA-SMI 或 XPU-SMI 指令,请检查后重试!',
process: '进程信息',
processCount: '进程数',
type: '类型',
typeG: '图形',
typeC: '计算',
typeCG: '计算+图形',
processName: '进程名称',
shr: '共享显存',
temperatureHelper: 'GPU 温度过高会导致 GPU 频率下降',
gpuUtil: 'GPU 使用率',
temperature: '温度',
performanceState: '性能状态',
powerUsage: '功耗',
memoryUsage: '显存使用率',
fanSpeed: '风扇转速',
power: '功率',
powerCurrent: '当前功率',
powerLimit: '功率上限',
memory: '显存',
memoryUsed: '显存使用',
memoryTotal: '显存总计',
percent: '使用率',
base: '基础信息',
driverVersion: '驱动版本',
cudaVersion: 'CUDA 版本',
processMemoryUsage: '显存使用',
performanceStateHelper: '从 P0 (最大性能) 到 P12 (最小性能)',
busID: '总线地址',
persistenceMode: '持续模式',
enabled: '开启',
disabled: '关闭',
persistenceModeHelper: '持续模式能更加快速地响应任务,但相应待机功耗也会增加',
displayActive: '显卡初始化',
displayActiveT: '是',
displayActiveF: '否',
ecc: '是否开启错误检查和纠正技术',
computeMode: '计算模式',
default: '默认',
exclusiveProcess: '进程排他',
exclusiveThread: '线程排他',
prohibited: '禁止',
defaultHelper: '默认: 进程可以并发执行',
exclusiveProcessHelper: '进程排他: 只有一个 CUDA 上下文可以使用 GPU, 但可以由多个线程共享',
exclusiveThreadHelper: '线程排他: 只有一个线程在 CUDA 上下文中可以使用 GPU',
prohibitedHelper: '禁止: 不允许进程同时执行',
migModeHelper: '用于创建 MIG 实例,在用户层实现 GPU 的物理隔离。',
migModeNA: '不支持',
current: '实时监控',
history: '历史记录',
notSupport: '当前版本或驱动不支持显示该参数。',
},
mcp: {
server: 'MCP Server',
baseUrl: '外部访问路径',
baseUrlHelper: '例如http://192.168.1.1:8000',
ssePath: 'SSE 路径',
ssePathHelper: '例如:/sse,注意不要与其他 Server 重复',
environment: '环境变量',
envKey: '变量名',
envValue: '变量值',
externalUrl: '外部连接地址',
operatorHelper: '将对 {0} 进行 {1} 操作,是否继续?',
domain: '默认访问地址',
domainHelper: '例如192.168.1.1 或 example.com',
bindDomain: '绑定网站',
commandPlaceHolder: '当前仅支持 npx 和 二进制启动的命令',
importMcpJson: '导入 MCP Server 配置',
importMcpJsonError: 'mcpServers 结构不正确',
bindDomainHelper: '绑定网站之后会修改所有已安装 MCP Server 的访问地址,并关闭端口的外部访问',
outputTransport: '输出类型',
streamableHttpPath: '流式传输路径',
streamableHttpPathHelper: '例如:/mcp, 注意不要与其他 Server 重复',
npxHelper: '适合 npx 或 二进制启动的 mcp',
uvxHelper: '适合 uvx 启动的 mcp',
protocolVersion: '协议版本',
protocolVersionHelper: '仅用于无状态 Streamable HTTP 自动初始化下游 stdio MCP Server',
gatewayArgsHelper:
'参数将追加到 supergateway 启动命令,不支持修改由 1Panel 管理的传输、端口、路径和协议参数',
testConnection: '测试连接',
connectionSuccess: '连接成功',
connectionFailed: '连接失败',
},
tensorRT: {
llm: 'TensorRT LLM',
modelDir: '模型目录',
commandHelper: '若需外部访问,请将命令中的端口设置为与应用端口相同',
imageAlert: '由于镜像较大,建议先手动将镜像下载到服务器后再进行安装',
modelSpeedup: '启用模型加速',
modelType: '模型类型',
},
},
container: {
createByCommand: '命令创建',
importContainerBackupTip: '导入容器备份文件,仅支持 .tar.gz 格式',
importComposeBackupTip: '导入编排备份文件,仅支持 .tar.gz 格式',
stopContainerBeforeBackup: '备份前停止容器',
stopComposeBeforeBackup: '备份前停止编排',
stopBeforeBackupHelper: '启用后备份前将停止容器或编排服务,完成后自动恢复,以确保数据一致性',
commandInput: '命令输入',
commandRule: '请输入正确的 docker run 容器创建命令!',
commandHelper: '将在服务器上执行该条命令以创建容器,是否继续?',
updateHelper1: '检测到该容器来源于应用商店,请注意以下两点:',
updateHelper2: '1. 当前修改内容不会同步到应用商店的已安装应用。',
updateHelper3: '2. 如果在已安装页面修改应用,当前编辑的部分内容将失效。',
updateHelper4: '编辑容器需要重建,任何未持久化的数据将丢失,是否继续操作?',
containerList: '容器列表',
operatorHelper: '将对以下容器进行 {0} 操作,是否继续?',
operatorAppHelper:
'将对以下容器进行 {0} 操作,\n其中部分来源于应用商店该操作可能会影响到该服务的正常使用。\n是否继续',
containerDeleteHelper:
'检测到容器来源于应用商店,删除容器不会将其从 1Panel 中完全移除。如需彻底删除,请前往应用商店-『已安装』或『运行环境』等菜单中操作。是否继续?',
start: '启动',
stop: '停止',
restart: '重启',
kill: '强制停止',
pause: '暂停',
unpause: '恢复',
rename: '重命名',
remove: '删除',
removeAll: '删除所有',
containerPrune: '清理容器',
containerPruneHelper1: '清理容器 将删除所有处于停止状态的容器。',
containerPruneHelper2:
'若容器来自于应用商店,在执行清理操作后,您需要前往 [应用商店] 的 [已安装] 列表,点击 [重建] 按钮进行重新安装。',
containerPruneHelper3: '该操作无法回滚,是否继续?',
imagePrune: '清理镜像',
imagePruneSome: '未标签镜像',
imagePruneSomeEmpty: '暂无待清理的未使用 none 标签镜像',
imagePruneSomeHelper: '清理下列标签为 none 且未被任何容器使用的镜像',
imagePruneAll: '未使用镜像',
imagePruneAllEmpty: '暂无待清理的未使用镜像',
imagePruneAllHelper: '清理下列未被任何容器使用的镜像',
networkPrune: '清理网络',
networkPruneHelper: '清理网络 将删除所有未被使用的网络,该操作无法回滚,是否继续?',
volumePrune: '清理存储卷',
volumePruneHelper: '清理存储卷 将删除所有未被使用的本地存储卷,该操作无法回滚,是否继续?',
cleanSuccess: '操作成功,本次清理数量: {0} 个!',
cleanSuccessWithSpace: '操作成功,本次清理数量: {0} 个,释放磁盘空间: {1}',
unExposedPort: '当前端口映射地址为 127.0.0.1,无法实现外部访问',
upTime: '运行时长',
fetch: '过滤',
lines: '条数',
linesHelper: '请输入正确的日志获取条数!',
downloadLinesHelper: '选择或者输入日志下载行数',
lastDay: '最近一天',
last4Hour: '最近 4 小时',
lastHour: '最近 1 小时',
last10Min: '最近 10 分钟',
cleanLog: '清空日志',
downLogHelper1: '即将下载 {0} 容器所有日志,是否继续?',
downLogHelper2: '即将下载 {0} 容器最近 {1} 条日志,是否继续?',
cleanLogHelper: '清空日志需要重启容器,该操作无法回滚,是否继续?',
newName: '新名称',
workingDir: '工作目录',
composeFileMissing: '未检测到编排文件',
source: '资源使用率',
cpuUsage: 'CPU 使用',
cpuTotal: 'CPU 总计',
core: '核心数',
memUsage: '内存使用',
memTotal: '内存限额',
memCache: '缓存使用',
loadSize: '获取容器大小',
ip: 'IP 地址',
cpuShare: 'CPU 权重',
cpuShareHelper: '容器默认份额为 1024 个 CPU增大可使当前容器获得更多的 CPU 时间',
inputIpv4: '请输入 IPv4 地址',
inputIpv6: '请输入 IPv6 地址',
diskUsage: '磁盘占用',
localVolume: '本地存储卷',
buildCache: '构建缓存',
usage: '已占用:{0}, 可释放:{1}',
clean: '释放',
imageClean: '清理镜像 将删除所有未被使用的镜像,该操作无法回滚,是否继续?',
containerClean: '清理容器 将删除所有处于停止中状态的容器(包括应用商店停止应用),该操作无法回滚,是否继续?',
sizeRw: '容器层大小',
sizeRwHelper: '容器独有的可写层大小',
sizeRootFs: '虚拟大小',
sizeRootFsHelper: ' 容器依赖的所有镜像层 + 容器层的总大小',
containerFromAppHelper: '检测到该容器来源于应用商店,应用操作可能会导致当前编辑失效',
containerFromAppHelper1: '在应用商店的已安装页面,点击 [参数] 按钮,进入编辑页面修改容器名称。',
command: '命令',
console: '控制台交互',
tty: '伪终端 ( -t )',
openStdin: '标准输入 ( -i )',
custom: '自定义',
emptyUser: '为空时,将使用容器默认的用户登录',
privileged: '特权模式',
privilegedHelper: '允许容器在主机上执行某些特权操作,可能会增加容器风险,谨慎开启!',
upgradeHelper: '仓库名称/镜像名称:镜像版本',
upgradeWarning2: '升级操作需要重建容器,任何未持久化的数据将会丢失,是否继续?',
oldImage: '当前镜像',
sameImageContainer: '同镜像容器',
sameImageHelper: '同镜像容器可勾选后批量升级',
targetImage: '目标镜像',
imageLoadErr: '未检测到容器的镜像名称',
imageUpdateTagEmpty: '未检测到可更新的镜像标签',
appHelper: '该容器来源于应用商店,升级可能导致该服务不可用',
resource: '资源',
input: '手动输入',
forcePull: '强制拉取镜像',
forcePullHelper: '忽略服务器已存在的镜像,重新拉取一次',
imageUpdateHelper: '将检查镜像仓库中的同名标签,若有更新则拉取并更新本地镜像。',
server: '服务器',
serverExample: '80, 80-88, ip:80 或 ip:80-88',
containerExample: '80 或 80-88',
exposePort: '暴露端口',
exposeAll: '暴露所有',
cmdHelper: '例: nginx -g "daemon off;"',
entrypointHelper: '例: docker-entrypoint.sh',
autoRemove: '容器退出后自动删除容器',
cpuQuota: 'CPU 限制',
memoryLimit: '内存限制',
limitHelper: '限制为 0 则关闭限制,最大可用为 {0}',
macAddr: 'MAC 地址',
mount: '挂载',
volumeOption: '挂载卷',
hostOption: '本机目录',
serverPath: '服务器目录',
containerDir: '容器目录',
volumeHelper: '请确认存储卷内容输入正确',
networkEmptyHelper: '请确认容器网络选择正确',
modeRW: '读写',
modeR: '只读',
sharedLabel: '传播模式',
private: '私有',
privateHelper: '容器里的挂载变化和主机互不干扰',
rprivate: '递归私有',
rprivateHelper: '容器里所有挂载都和主机完全隔离',
shared: '共享',
sharedHelper: '主机和容器里的挂载变化互相可见',
rshared: '递归共享',
rsharedHelper: '主机和容器里所有挂载变化都互相可见',
slave: '从属',
slaveHelper: '容器能看见主机的挂载变化,但自己的变化不影响主机',
rslave: '递归从属',
rslaveHelper: '容器里所有挂载都能看见主机变化,但不影响主机',
mode: '权限',
env: '环境变量',
restartPolicy: '重启规则',
always: '一直重启',
unlessStopped: '未手动停止则重启',
onFailure: '失败后重启(默认重启 5 次)',
no: '不重启',
refreshTime: '刷新间隔',
cache: '缓存',
image: '镜像',
imagePull: '拉取镜像',
imagePullHelper: '支持选择拉取多个镜像,输入一组镜像后回车继续',
imagePush: '推送镜像',
imagePushHelper: '检测到该镜像存在多个标签,请确认推送时使用的镜像名称为:{0}',
imageDelete: '删除镜像',
repoName: '仓库名',
imageName: '镜像名',
httpRepo: 'http 仓库添加授信需要重启 docker 服务',
delInsecure: '删除授信',
delInsecureHelper: '删除授信需要重启 docker 服务,是否删除?',
pull: '拉取',
path: '路径',
importImage: '导入镜像',
imageBuild: '构建镜像',
buildArgs: '构建参数',
pathSelect: '路径选择',
label: '标签',
imageTag: '镜像标签',
imageTagHelper: '支持设置多个镜像 tag输入一个 tag 后回车继续',
push: '推送',
fileName: '文件名',
export: '导出',
exportImage: '导出镜像',
size: '大小',
tag: '标签',
tagHelper: '一行一个,例: \nkey1=value1\nkey2=value2',
imageNameHelper: '镜像名称及 Tagnginx:latest',
cleanBuildCache: '清理构建缓存',
delBuildCacheHelper: '清理构建缓存 将删除所有构建产生的缓存,该操作无法回滚,是否继续?',
urlWarning: '路径前缀不需要添加 http:// 或 https://, 请修改',
network: '网络',
networkHelper: '删除 1panel-network 容器网络将影响部分应用和运行环境的正常使用,是否继续?',
networkName: '网络名',
driver: '模式',
option: '参数',
attachable: '可用',
parentNetworkCard: '父网卡',
subnet: '子网',
scope: 'IP 范围',
gateway: '网关',
auxAddress: '排除 IP',
volume: '存储卷',
volumeDir: '存储卷目录',
nfsEnable: '启用 NFS 存储',
nfsAddress: '地址',
mountpoint: '挂载点',
mountpointNFSHelper: '例:/nfs, /nfs-share',
options: '可选参数',
repo: '仓库',
httpRepoHelper: '操作 http 类型仓库需要重启 Docker 服务。',
downloadUrl: '下载地址',
imageRepo: '镜像仓库',
repoHelper: '是否包含镜像仓库/组织/项目?',
auth: '认证',
mirrorHelper:
'当存在多个加速器时,需要换行显示,例: \nhttp://xxxxxx.m.daocloud.io \nhttps://xxxxxx.mirror.aliyuncs.com',
registrieHelper: '当存在多个私有仓库时,需要换行显示,例:\n172.16.10.111:8081 \n172.16.10.112:8081',
compose: '编排',
composeFile: '编排文件',
fromChangeHelper: '切换来源将清空当前已编辑内容,是否继续?',
composePathHelper: '配置文件保存路径: {0}',
composeHelper: '通过 1Panel 编辑或模版创建的编排,将保存在 {0}/docker/compose 路径下',
deleteFile: '删除文件',
deleteComposeHelper: '删除容器编排的所有文件,包括配置文件和持久化文件,请谨慎操作!',
deleteCompose: '" 删除此编排',
composeDirectory: '编排目录',
template: '模版',
composeTemplate: '编排模版',
exportHelper: '即将导出 {0} 条编排模版,是否继续?',
content: '内容',
contentEmpty: '编排内容不能为空,请输入后重试!',
containerNumber: '容器数量',
containerStatus: '容器状态',
exited: '已停止',
running: '运行中 ( {0} / {1} )',
composeDetailHelper: '该 compose 为 1Panel 编排外部创建。暂不支持启停操作。',
composeOperatorHelper: '将对 {0} 进行 {1} 操作,是否继续?',
composeDownHelper: '将停止并删除 {0} 编排下所有容器及网络,是否继续?',
composeEnvHelper2: '该编排为 1Panel 应用商店创建,请在已安装应用中修改环境变量。',
composeContentPlaceholder: '在此写入或粘贴 docker-compose 文件内容',
setting: '配置',
goSetting: '去修改',
restartHelper: '修改配置后需要重启 Docker 服务生效',
operatorStatusHelper: '此操作将{0}Docker 服务,是否继续?',
dockerStatus: 'Docker 服务',
daemonJsonPathHelper: '请保证配置路径与 docker.service 中指定的配置路径保持一致。',
mirrors: '镜像加速',
mirrorsHelper: '优先使用加速 URL 执行操作,设置为空则取消镜像加速。',
mirrorsHelper2: '具体操作配置请参照官方文档',
registries: '私有仓库',
ipv6Helper: '开启 IPv6 后,需要增加 IPv6 的容器网络,具体操作配置请参照官方文档',
ipv6CidrHelper: '容器的 IPv6 地址池范围',
ipv6TablesHelper: 'Docker IPv6 对 iptables 规则的自动配置',
experimentalHelper: '开启 ip6tables 必须开启此配置,否则 ip6tables 会被忽略',
cutLog: '日志切割',
cutLogHelper1: '当前配置只会影响新创建的容器;',
cutLogHelper2: '已经创建的容器需要重新创建使配置生效;',
cutLogHelper3:
'注意,重新创建容器可能会导致数据丢失。如果你的容器中有重要数据,确保在执行重建操作之前进行备份。',
maxSize: '文件大小',
maxFile: '保留份数',
liveHelper: '允许在 Docker 守护进程发生意外停机或崩溃时保留正在运行的容器状态',
liveWithSwarmHelper: 'live-restore 守护进程配置与 Swarm 模式不兼容',
iptablesDisable: '关闭 iptables',
iptablesHelper1: 'Docker 对 iptables 规则的自动配置',
iptablesHelper2: '关闭 iptables 会导致容器无法与外部网络通信。',
daemonJsonPath: '配置路径',
serviceUnavailable: '当前未启动 Docker 服务,请在',
startIn: '中开启',
sockPath: 'Socket 路径',
sockPathHelper: 'Docker 守护进程Docker Daemon与客户端之间的通信通道',
sockPathHelper1: '默认路径:/var/run/docker.sock',
sockPathMsg: '保存设置 Socket 路径可能导致 Docker 服务不可用,是否继续?',
sockPathErr: '请选择或输入正确的 Docker sock 文件路径',
related: '关联资源',
includeAppstore: '显示应用商店容器',
excludeAppstore: '隐藏应用商店容器',
cleanDockerDiskZone: '清理 Docker 使用的磁盘空间',
cleanImagesHelper: '( 清理所有未被任何容器使用的镜像 )',
cleanContainersHelper: '( 清理所有处于停止状态的容器 )',
cleanVolumesHelper: '( 清理所有未被使用的本地存储卷 )',
makeImage: '制作镜像',
newImageName: '新镜像名称',
commitMessage: '提交信息',
author: '作者',
ifPause: '制作过程中是否暂停容器',
ifMakeImageWithContainer: '是否根据此容器制作新镜像?',
finishTime: '上一次停止时间',
},
cronjob: {
importHelper:
'导入时将自动跳过重名计划任务。任务默认设置为【停用】状态,数据关联异常时,设置为【待编辑】状态。',
changeStatus: '状态修改',
disableMsg: '停止计划任务会导致该任务不再自动执行。是否继续?',
enableMsg: '启用计划任务会让该任务定期自动执行。是否继续?',
taskType: '任务类型',
nextTime: '近 5 次执行',
record: '报告',
viewRecords: '查看报告',
shell: 'Shell 脚本',
stop: '手动结束',
stopHelper: '该操作将强制停止该次任务执行,是否继续?',
log: '备份日志',
logHelper: '备份系统日志',
logHelper1: '1. 1Panel 系统日志',
logHelper2: '2. 服务器的 SSH 登录日志',
logHelper3: '3. 所有网站日志',
containerCheckBox: '在容器中执行(无需再输入进入容器命令)',
containerName: '容器名称',
ntp: '同步服务器时间',
ntp_helper: '您可以在工具箱的快速设置页面配置 NTP 服务器',
app: '备份应用',
website: '备份网站',
rulesHelper: '支持多个排除规则,使用英文逗号 , 分隔,例如:*.log,*.sql',
lastRecordTime: '上次执行情况',
database: '备份数据库',
backupArgs: '备份参数',
backupArgsHelper: '未列出的备份参数可手动输入并选择,如: 输入 --no-data 后选择下拉列表中的第一个',
singleTransaction: '使用单一事务备份 InnoDB 表,适用于大数据量的备份',
quick: '逐行读取数据,而不是将整个表加载到内存中,适用于大数据量和低内存机器的备份',
skipLockTables: '不锁定所有表进行备份,适用于高并发的数据库',
missBackupAccount: '未能找到备份账号',
syncDate: '同步时间 ',
clean: '缓存清理',
curl: '访问 URL',
taskName: '任务名称',
cronSpec: '执行周期',
cronSpecDoc: '自定义执行周期仅支持【分时日月周】格式,如 0 0 * * * ,具体可参考官方文档',
cronSpecHelper: '请输入正确的执行周期',
cleanHelper: '该操作将清理所有任务执行记录、备份文件和日志文件,是否继续?',
backupContent: '备份内容',
directory: '备份目录 / 文件',
sourceDir: '备份目录',
snapshot: '系统快照',
allOptionHelper: '当前计划任务为备份所有【{0}】,暂不支持直接下载,可在【{0}】备份列表中查看',
exclusionRules: '排除规则',
exclusionRulesHelper: '选择或输入排除规则,输入完一组后回车继续,排除规则将对此次备份的所有压缩操作生效',
default_download_path: '默认下载地址',
saveLocal: '同时保留本地备份(和云存储保留份数一致)',
url: 'URL 地址',
urlHelper: '请输入正确的 URL 地址',
targetHelper: '备份账号可在面板设置中维护',
withImageHelper: '备份应用商店镜像,但是会增大快照文件体积。',
ignoreApp: '排除应用',
withImage: '备份应用镜像',
retainCopies: '保留份数',
retryTimes: '失败重试次数',
timeout: '超时时间',
ignoreErr: '忽略错误',
ignoreErrHelper: '忽略备份过程中出现的错误,保证所有备份任务执行',
retryTimesHelper: '为 0 表示失败后不重试',
retainCopiesHelper: '执行记录及日志保留份数',
retainCopiesHelper1: '备份文件保留份数',
retainCopiesUnit: ' 份 (查看)',
cronSpecRule: '第 {0} 行中执行周期格式错误,请检查后重试!',
cronSpecRule2: '执行周期格式错误,请检查后重试!',
perMonthHelper: '每月 {0} 日 {1}:{2} 执行',
perWeekHelper: '每周 {0} {1}:{2} 执行',
perDayHelper: '每日 {0}:{1} 执行',
perHourHelper: '每小时 {0}分 执行',
perNDayHelper: '每 {0} 日 {1}:{2} 执行',
perNHourHelper: '每 {0}小时 {1}分 执行',
perNMinuteHelper: '每 {0}分 执行',
perNSecondHelper: '每 {0}秒 执行',
perMonth: '每月',
perWeek: '每周',
perHour: '每小时',
perNDay: '每 N 日',
perDay: '每天',
perNHour: '每 N 时',
perNMinute: '每 N 分钟',
perNSecond: '每 N 秒',
day: '日',
monday: '周一',
tuesday: '周二',
wednesday: '周三',
thursday: '周四',
friday: '周五',
saturday: '周六',
sunday: '周日',
shellContent: '脚本内容',
executor: '解释器',
errRecord: '错误的日志记录',
errHandle: '任务执行失败',
noRecord: '当前计划任务暂未产生记录',
cleanData: '删除备份文件',
cleanRemoteData: '删除远程备份文件',
cleanDataHelper: '删除该任务执行过程中产生的备份文件',
noLogs: '暂无任务输出...',
errPath: '备份路径 [{0}] 错误,无法下载!',
cutWebsiteLog: '切割网站日志',
cutWebsiteLogHelper: '切割的日志文件会备份到 1Panel 的 backup 目录下',
syncIpGroup: '同步 WAF IP 组',
syncIpGroupHelper: '同步 WAF 黑白名单中的远程 IP 组',
requestExpirationTime: '上传请求过期时间(小时)',
unitHours: '单位:小时',
alertTitle: '计划任务-{0}「 {1} 」任务失败告警',
library: {
script: '脚本',
syncNow: '立即同步',
turnOnSync: '开启自动同步',
turnOnSyncHelper: '开启自动同步将在每天凌晨时段进行自动同步',
turnOffSync: '关闭自动同步',
turnOffSyncHelper: '关闭自动同步可能导致脚本同步不及时,是否确认?',
isInteractive: '交互式',
interactive: '交互式脚本',
interactiveHelper: '在脚本执行过程中需要用户输入参数或做出选择,且无法用于计划任务中。',
library: '脚本库',
remoteLibrary: '远程脚本库',
create: '添加脚本',
edit: '修改脚本',
groupHelper: '针对脚本特征设置不同的分组,可以更加快速的对脚本进行筛选操作。',
handleHelper: '将在 {0} 上执行 {1} 脚本,是否继续?',
noSuchApp: '未检测到 {0} 服务,请前往脚本库页面手动安装!',
syncHelper: '即将同步系统脚本库,该操作仅针对系统脚本,是否继续?',
},
cleanLog: '清理日志',
cleanLogscope: '清理类型',
},
monitor: {
enableMonitor: '监控状态',
storeDays: '保存天数',
defaultNetwork: '默认网卡',
defaultNetworkHelper: '默认监控和概览界面显示的网卡选项',
defaultIO: '默认磁盘',
defaultIOHelper: '默认监控和概览界面显示的磁盘选项',
cleanMonitor: '清空监控记录',
cleanHelper: '该操作将清空包括 GPU 在内的所有监控记录,是否继续?',
avgLoad: '平均负载',
loadDetail: '负载详情',
resourceUsage: '资源使用率',
read: '读取',
write: '写入',
readWriteCount: '读写次数',
readWriteTime: '读写延迟',
today: '今天',
yesterday: '昨天',
lastNDay: '近 {0} 天',
lastNMonth: '近 {0} 月',
lastHalfYear: '近半年',
memory: '内存',
percent: '占比',
disk: '磁盘',
network: '网络',
up: '上行',
down: '下行',
interval: '采集间隔',
intervalHelper: '请输入合适的监控采集时间间隔10秒 - 12小时',
runtimeDiagnostics: '运行时诊断',
runtimeRSS: '进程内存 (RSS)',
runtimeHeapAlloc: '堆内存',
runtimeHeapObjects: '堆对象',
runtimeGoroutines: 'Goroutine 数量',
goroutineSnapshot: 'Goroutine 快照',
goroutineSummary: '共 {0} 个 Goroutine聚合为 {1} 组调用栈',
goroutineTruncated: '快照内容过大,当前仅展示部分调用栈。',
captureSnapshot: '刷新快照',
count: '数量',
topFunction: '顶层函数',
manualCapture: '手动抓取',
startCapture: '开始抓取',
capturing: '正在抓取',
captureSuccess: '诊断文件已生成,已开始下载',
profileCPU: 'CPU',
profileHeap: '堆内存',
profileGoroutine: 'Goroutine',
profileMutex: '互斥锁',
profileBlock: '阻塞',
runtimeRSSDesc: '进程当前占用的物理内存,包括 Go 堆、线程栈及原生内存。',
runtimeHeapAllocDesc: 'Go 堆中已分配且尚未释放的内存,持续增长可能表示对象未释放。',
runtimeHeapObjectsDesc: 'Go 堆中当前存活的对象数量,持续增长可能表示对象未释放。',
runtimeGoroutineDesc: '当前轻量级并发任务数量,持续增长通常需要检查 Goroutine 泄漏。',
profileCPUDesc: '在指定时间内采样 CPU 调用栈,用于定位实际消耗 CPU 的热点函数。',
profileHeapDesc: '记录当前仍在使用的 Go 堆对象及其分配调用栈,用于排查内存持续增长。',
profileGoroutineDesc: '保存所有 Goroutine 的状态和调用栈,并按相同调用链聚合。',
profileMutexDesc: '统计互斥锁竞争造成的等待时间,用于定位锁竞争热点。',
profileBlockDesc: '统计 Channel、Select 和同步原语的阻塞等待,用于定位长时间阻塞。',
},
terminal: {
local: '本机',
defaultConn: '默认连接',
defaultConnHelper: '该操作将【{0}】打开终端后自动连接所在节点终端,是否继续?',
withReset: '重置连接信息',
localConnJump: '默认连接信息在 【 终端 - 配置 】中维护,连接失败可前往编辑!',
nodeAdminLocalOnly: '节点管理员仅支持本地终端',
localHelper: 'local 名称仅用于系统本机标识',
connLocalErr: '无法自动认证,请填写本地服务器的登录信息!',
testConn: '连接测试',
saveAndConn: '保存并连接',
connTestOk: '连接信息可用',
connTestFailed: '连接不可用,请检查连接信息!',
host: '主机',
createConn: '新建连接',
noHost: '暂无主机',
groupChange: '切换分组',
batchInput: '批量输入',
quickCommand: '快速命令',
noSuchCommand: '导入的 csv 文件中未能发现快速命令数据,请检查后重试!',
quickCommandHelper: '常用命令列表,用于在终端界面底部快速选择',
quickCommandBatchHelper: '每行一条快速命令,以 名称---命令 格式,例如:查看磁盘---df -h',
command: '命令',
addHost: '添加主机',
localhost: '本地服务器',
ip: '主机地址',
authMode: '认证方式',
passwordMode: '密码认证',
rememberPassword: '记住认证信息',
keyMode: '私钥认证',
key: '私钥',
keyPassword: '私钥密码',
emptyTerminal: '暂无终端连接',
lineHeight: '字体行高',
letterSpacing: '字体间距',
fontSize: '字体大小',
fontFamily: '字体集',
fontFamilySupportHelper:
'选择或输入字体,是否生效取决于浏览器所在系统是否已安装该字体,未安装会自动回退,为空则使用默认字体',
backgroundColor: '背景色',
foregroundColor: '前景色',
cursorBlink: '光标闪烁',
cursorStyle: '光标样式',
cursorUnderline: '下划线',
cursorBlock: '块状',
cursorBar: '条形',
scrollback: '滚动行数',
scrollSensitivity: '滚动速度',
aiAssistant: 'AI 助手',
aiAccountHelper: '使用所选模型账号生成并回填命令。Ollama、vLLM 本地模型请用自定义模型账号。',
aiPrefix: '触发前缀',
aiPrefixHelper: '输入“前缀 + 空格”并回车时,将触发 AI 命令生成,例如:{0} 帮我查询磁盘信息。',
aiRiskCommands: '风险命令拦截',
aiRiskCommandsHelper: '配置需拦截的风险命令(每行一条),命中后将阻止生成并以注释回填。',
aiSummary: '以 {0} 前缀开头并回车时,会触发 AI 命令生成',
aiPrefixAsciiVisible: '仅支持 ASCII 可见字符,不支持空格、中文或全角符号',
saveHelper: '是否确认保存当前终端配置?',
},
toolbox: {
common: {
toolboxHelper: '部分安装和使用问题,可参考',
},
swap: {
swapHelper1: 'Swap 的大小应该是物理内存的 1 到 2 倍,可根据具体情况进行调整;',
swapHelper2: '在创建 Swap 文件之前请确保系统硬盘有足够的可用空间Swap 文件的大小将占用相应的磁盘空间;',
swapHelper3:
'Swap 可以帮助缓解内存压力,但仅是一个备选项,过多依赖可能导致系统性能下降,建议优先考虑增加内存或优化应用程序内存使用;',
swapHelper4: '建议定期监控 Swap 的使用情况,以确保系统正常运行。',
saveSwap: '保存当前配置将调整 Swap 分区 {0} 大小到 {1},是否继续?',
swapMin: '分区大小最小值为 40 KB请修改后重试',
swapMax: '分区大小最大值为 {0},请修改后重试!',
swapOff: '分区大小最小值为 40 KB设置成 0 则关闭 Swap 分区。',
},
device: {
dnsHelper: '服务器地址域名解析',
dnsAlert: '请注意!修改 /etc/resolv.conf 文件的配置时,重启系统后会将文件恢复为默认值',
dnsHelper1: '当存在多个 DNS 时,需换行显示,例:\n114.114.114.114\n8.8.8.8',
hostsHelper: '主机名解析',
hosts: '域名',
toolbox: '快速设置',
hostname: '主机名',
passwd: '系统密码',
passwdHelper: '输入字符不能包含 $ 和 &',
timeZone: '系统时区',
localTime: '服务器时间',
timeZoneChangeHelper: '系统时区修改需要重启服务,是否继续?',
timeZoneHelper: '时区修改依赖于 timedatectl 命令,如未安装可能导致修改失败',
timeZoneCN: '北京',
timeZoneAM: '洛杉矶',
timeZoneNY: '纽约',
ntpALi: '阿里',
ntpGoogle: '谷歌',
syncSite: 'NTP 服务器',
syncSiteHelper: '该操作将使用 {0} 作为源进行系统时间同步,是否继续?',
hostnameHelper: '主机名修改依赖于 hostnamectl 命令,如未安装可能导致修改失败',
userHelper: '用户名依赖于 whoami 命令获取,如未安装可能导致获取失败。',
passwordHelper: '密码修改依赖于 chpasswd 命令,如未安装可能导致修改失败',
hostHelper: '填写的内容中存在空值,请检查修改后重试!',
dnsCheck: '测试可用性',
dnsOK: 'DNS 配置信息可用!',
dnsTestFailed: 'DNS 配置信息不可用,请修改后重试!',
},
fail2ban: {
sshPort: '监听 SSH 端口',
sshPortHelper: '当前 Fail2ban 监听主机 SSH 连接端口',
unActive: '当前未开启 Fail2ban 服务,请先开启!',
operation: '对 Fail2ban 服务进行 [{0}] 操作,是否继续?',
fail2banChange: 'Fail2ban 配置修改',
ignoreHelper: '白名单中的 IP 列表将被忽略屏蔽,是否继续?',
bannedHelper: '黑名单中的 IP 列表将被服务器屏蔽,是否继续?',
maxRetry: '最大重试次数',
banTime: '禁用时间',
banTimeHelper: '默认禁用时间为 10 分钟,禁用时间为 -1 则表示永久禁用',
banTimeRule: '请输入正确的禁用时间或 -1',
banAllTime: '永久禁用',
findTime: '发现周期',
banAction: '禁用方式',
banActionOption: '通过 {0} 来禁用指定的 IP 地址',
allPorts: ' (所有端口)',
ignoreIP: 'IP 白名单',
bannedIP: 'IP 黑名单',
logPath: '日志路径',
logPathHelper: '默认 /var/log/secure 或 /var/log/auth.log',
},
ftp: {
ftp: 'FTP 账户',
notStart: '当前未开启 FTP 服务,请先开启!',
operation: '对 FTP 服务进行 [{0}] 操作,是否继续?',
noPasswdMsg: '无法获取当前 FTP 账号密码,请先设置密码后重试!',
enableHelper: '启用选中的 FTP 账号后,该 FTP 账号恢复访问权限,是否继续操作?',
disableHelper: '停用选中的 FTP 账号后,该 FTP 账号将失去访问权限,是否继续操作?',
syncHelper: '同步服务器与数据库中的 FTP 账户数据,是否继续操作?',
dirSystem: '该目录为系统保留目录,修改可能导致系统崩溃,请修改后重试!',
dirHelper: '开启 FTP 需要修改目录权限,请谨慎选择',
dirMsg: '开启 FTP 将修改整个 {0} 目录权限,是否继续?',
},
clam: {
clam: '病毒扫描',
cron: '定时扫描',
cronHelper: '商业版支持定时扫描功能 ',
specErr: '执行周期格式错误,请检查后重试!',
disableMsg: '停止定时执行会导致该扫描任务不再自动执行。是否继续?',
enableMsg: '启用定时执行会让该扫描任务定期自动执行。是否继续?',
showFresh: '显示病毒库服务',
hideFresh: '隐藏病毒库服务',
clamHelper: 'ClamAV 建议最低配置3 GiB 以上内存、单核 2.0 GHz 以上 CPU以及至少 5 GiB 可用硬盘空间。',
notStart: '当前未开启 ClamAV 服务,请先开启!',
removeRecord: '删除报告文件',
noRecords: '点击“执行”按钮开始扫描,扫描结果将会记录在这里。',
removeInfected: '删除病毒文件',
removeInfectedHelper: '删除任务检测到的病毒文件,以确保服务器的安全和正常运行。',
clamCreate: '创建扫描规则',
infectedStrategy: '感染文件策略',
removeHelper: '删除病毒文件,请谨慎选择!',
move: '移动',
moveHelper: '将病毒文件移动到指定目录下',
copyHelper: '将病毒文件复制到指定目录下',
none: '不操作',
noneHelper: '不对病毒文件采取任何操作',
scanDir: '扫描目录',
infectedDir: '隔离目录',
scanDate: '扫描时间',
scanResult: '扫描报告条数',
tail: '日志显示行数',
infectedFiles: '感染文件数',
log: '详情',
clamConf: '扫描配置',
clamLog: '扫描日志',
freshClam: '病毒库刷新配置',
freshClamLog: '病毒库刷新日志',
alertHelper: '商业版支持定时扫描和短信告警功能',
alertTitle: '病毒扫描「 {0} 」任务检测到感染文件告警',
},
},
logs: {
core: '面板服务',
agent: '节点监控',
panelLog: '面板日志',
operation: '操作日志',
login: '访问日志',
loginIP: '登录 IP',
loginAddress: '登录地址',
loginAgent: '用户代理',
loginStatus: '登录状态',
system: '系统日志',
hostSystem: '主机日志',
previousPage: '上一页',
nextPage: '下一页',
filter: '过滤',
service: '服务',
priority: '优先级',
priorityEmergency: '紧急 Emergency',
priorityAlert: '警报 Alert',
priorityCritical: '严重 Critical',
priorityError: '错误 Error',
priorityWarning: '警告 Warning',
priorityNotice: '通知 Notice',
priorityInfo: '信息 Info',
priorityDebug: '调试 Debug',
message: '消息',
deleteLogs: '清空日志',
resource: '资源',
detail: {
dashboard: '概览',
ai: 'AI',
skills_hub: 'Skills Hub',
ai_proxy: 'AI 网关',
ai_benchmark: '基准测试',
groups: '分组',
hosts: '主机',
apps: '应用',
openresty: 'OpenResty',
websites: '网站',
monitor: '网站监控',
containers: '容器',
files: '文件管理',
runtimes: '运行环境',
process: '进程管理',
toolbox: '工具箱',
backups: '备份 / 恢复',
tampers: '防篡改',
xsetting: '界面设置',
logs: '日志审计',
settings: '面板设置',
cronjobs: '计划任务',
databases: '数据库',
waf: 'WAF',
licenses: '许可证',
nodes: '节点',
commands: '快速命令',
opsReport: '运维报表',
ops_report: '运维报表',
users: '用户管理',
roles: '角色',
auth: '登陆认证',
alert: '告警通知',
sync: '资源同步',
exchange: '资源同步',
xapp: 'APP',
vms: '虚拟机管理',
},
websiteLog: '网站日志',
runLog: '运行日志',
errLog: '错误日志',
task: '任务日志',
taskName: '任务名称',
taskRunning: '执行中',
},
file: {
fileDirNum: '共 {0} 个目录,{1} 个文件,',
currentDir: '当前目录',
dir: '文件夹',
fileName: '文件名',
search: '在当前目录下查找',
aiSearch: 'AI 搜索',
aiSearchTitle: 'AI 搜索',
aiSearchHint:
'按文件内容逐行匹配;匹配方式见搜索框右侧按钮与下方「高级条件」。启用并保存 AI 账号后,还可生成 Markdown 总结。',
aiSearchAccountTitle: 'AI 账号',
aiSearchAccountIntro: '选择用于生成总结的大模型账号,修改后请点击保存。',
aiSearchAccountEnable: '启用文件 AI 搜索',
aiSearchSaveAccount: '保存账号配置',
aiSearchSectionQuery: '搜索',
aiSearchSectionConditions: '检索条件',
aiSearchResultsSection: '分析结果',
aiSearchContentLabel: '搜索内容',
aiSearchDirLabel: '目录',
aiSearchExtLabel: '文件后缀',
aiSearchModifiedPreset: '修改时间',
aiSearchSizePresetLabel: '文件大小',
aiSearchTimeAny: '不限时间',
aiSearchTime3h: '最近 3 小时',
aiSearchTime1d: '最近 1 天',
aiSearchTime7d: '最近 7 天',
aiSearchTime30d: '最近 30 天',
aiSearchTimeCustom: '自定义',
aiSearchSizeAny: '不限大小',
aiSearchSize0_10mb: '0 ~ 10 MB',
aiSearchSize10_100mb: '10 MB ~ 100 MB',
aiSearchSize100_1gb: '100 MB ~ 1 GB',
aiSearchSizeGte1gb: '≥ 1 GB',
aiSearchSizeCustom: '自定义(字节)',
aiSearchPlaceholder: '请输入搜索内容',
aiSearchContainSub: '包含子目录',
aiSearchMaxItems: '参与检索的路径/文件条数上限目录枚举12000',
aiSearchRun: '开始分析',
aiSearchTruncated: '目录项过多,仅纳入部分列表,结果可能不完整。',
aiSearchPreFiltered: '已按关键字对相对路径做预筛选,以缩小送给模型的条目范围。',
aiSearchMeta: '供分析条目:{0} | 耗时 {1} | Token {2}',
aiSearchQueryRequired: '请输入搜索描述或关键字',
aiSearchContentHits: '内容命中',
aiSearchContentScanMeta: '内容扫描:已读取 {0} 个文本文件(按当前检索条件;受大小与数量限制)。',
aiSearchNoLineHits: '在已扫描的文本文件中,没有行符合当前检索条件;上方总结仍可能基于文件名与元数据。',
aiSearchHitsTruncated: '部分文件未扫描或命中列表因上限被截断。',
aiSearchHitFiles: '有命中的文件',
aiSearchHitLines: '命中行',
aiSearchOpenFile: '在编辑器中打开',
aiSearchOpenAtLine: '打开并定位到此行',
aiSearchGrepOnlyHint:
'当前未启用文件 AI只做确定性内容检索不会调用大模型。启用并保存 AI 账号后可获得总结。搜索行与下方选项均生效。',
aiSearchMatchCase: '区分大小写',
aiSearchWholeWord: '全词匹配(英文词边界 \\b',
aiSearchUseRegex: '正则表达式Go RE2 语法)',
aiSearchExtensions: '文件后缀(逗号分隔,如 go,ts,md',
aiSearchMinSize: '最小文件体积字节0 表示不限制)',
aiSearchMaxSize: '最大文件体积字节0 表示不限制)',
aiSearchSectionAdvanced: '高级条件',
aiSearchLimitMaxItems: '检索总文件数',
aiSearchLimitMaxScan: '内容扫描文件数',
aiSearchLimitMaxBytes: '单文件内容读取上限',
aiSearchLimitHitsPerFile: '单文件命中行',
aiSearchLimitTotalHits: '命中行总数',
aiSearchLimitUnitEntries: '条',
aiSearchLimitUnitFiles: '个文件',
aiSearchLimitUnitBytes: 'B',
aiSearchLimitUnitLines: '行',
aiSearchMaxScanFiles: '内容扫描最多文件数',
aiSearchMaxFileBytes:
'内容扫描时每个文件最多读取的字节数。与上方「文件大小」不同:那是按磁盘上的文件大小决定是否进入列表;此项限制打开文件后用于匹配的实际读取量。',
aiSearchMaxHitsPerFile: '单文件最多命中行',
aiSearchMaxTotalHits: '命中行总数上限',
aiSearchGrepMetaContent:
'内容扫描:搜索总条目 {0},已读取 {1} 个文本文件(按当前检索条件;受大小与数量限制)。耗时 {2}',
aiSearchAdvancedResetDefaults: '恢复默认上限',
mode: '权限',
editPermissions: '编辑@:file.mode',
owner: '所有者',
file: '文件',
remoteFile: '远程下载',
share: '分享',
sync: '数据同步',
size: '大小',
updateTime: '修改时间',
rename: '重命名',
role: '权限',
info: '属性',
linkFile: '软连接文件',
shareList: '分享列表',
fileTools: '文件工具',
zip: '压缩',
group: '用户组',
path: '路径',
public: '公共',
setRole: '设置权限',
link: '是否链接',
rRole: '读取',
wRole: '写入',
xRole: '可执行',
compress: '压缩',
deCompress: '解压',
compressType: '压缩格式',
compressDst: '压缩路径',
replace: '覆盖已存在的文件',
compressSuccess: '压缩成功',
deCompressSuccess: '解压成功',
deCompressDst: '解压路径',
linkType: '链接类型',
softLink: '软链接',
hardLink: '硬链接',
linkPath: '链接路径',
selectFile: '选择文件',
downloadSuccess: '下载成功',
downloadUrl: '下载地址',
downloadStart: '下载开始!',
wgetUrlInvalid: '请输入有效的 http(s) 下载地址',
moveSuccess: '移动成功',
copySuccess: '复制成功',
pasteMsg: '请在目标目录点击右上角【粘贴】按钮',
move: '移动',
calculate: '计算',
remark: '备注',
setRemark: '设置备注',
remarkPrompt: '请输入备注内容',
remarkPlaceholder: '备注内容',
remarkToggle: '备注',
remarkToggleTip: '加载文件备注',
canNotDeCompress: '无法解压此文件',
uploadSuccess: '上传成功!',
downloadProcess: '下载进度',
downloading: '正在下载...',
stopWgetConfirm: '确认停止该下载任务?',
infoDetail: '文件属性',
root: '根目录',
list: '文件列表',
sub: '子目录',
theme: '主题',
language: '语言',
eol: '行尾符',
history: '历史版本',
historyTitle: '历史版本',
historyHint: '记录文件变更前的版本,可查看文件内容的修改历史,回退内容修改版本。',
historySettingTitle: '版本策略',
historyEnable: '启用版本记录',
historyMaxPerPath: '单文件保留条数',
historyDiskQuota: '全局磁盘配额 (MB)',
historyCurrentScope: '当前文件',
historyAllScope: '所有文件',
historyDeleteConfirm: '确定删除所选的修改记录?',
historyNeedFile: '请先打开一个文件',
historyRestore: '恢复此版本',
historyOperationOnlyHint: '当前选中的是文件操作,不支持版本恢复。',
historyCurrentFile: '当前文件',
historyLatestVersion: '左侧显示历史版本内容,右侧显示所选文件的最新版本内容',
historyCompareTarget: '对比目标',
historyCompareTargetPath: '对比路径',
historyRestoreConfirm: '确定将此版本恢复到当前文件吗?',
historyRestoreDirtyConfirm: '当前文件还有未保存的修改,恢复后会覆盖这些内容。是否继续?',
historyRestoreSuccess: '版本恢复成功',
historyDirtyHint: '当前编辑器存在未保存修改,恢复版本会覆盖这些内容。',
historyDiffHintCurrent: '左侧显示历史版本内容,右侧显示当前文件内容',
historyDiffHintAll: '左侧显示历史版本内容,右侧显示所选文件的最新版本内容',
copyDir: '复制路径',
shareFile: '分享文件',
shareExpire: '有效期限',
shareExpire1h: '1 小时',
shareExpire6h: '6 小时',
shareExpire24h: '24 小时',
shareExpire3d: '3 天',
shareExpire7d: '7 天',
sharePassword: '访问密码',
sharePasswordPlaceholder: '不填则链接无需密码',
shareMaxDownloads: '最大下载次数',
shareMaxDownloadsHint: '0 表示不限制',
shareGenerate: '生成链接',
shareRegenerate: '再次分享',
shareClose: '关闭',
shareCancel: '取消分享',
shareCancelConfirm: '确定取消该文件的分享?',
shareDetail: '详情',
shareCopyLink: '复制链接',
shareLinkLabel: '分享链接',
shareQrCode: '二维码',
shareQrDialogTitle: '分享链接二维码图片',
shareQrDialogHelper: '手机打开微信、QQ 扫一扫',
shareSaveImage: '保存图片',
shareOpenImage: '打开图片',
shareExtractFile: '提取文件',
shareDownloadingHint: '文件准备中,正在开始下载…',
shareInvalid: '分享链接无效或已失效',
shareDownloadFailed: '下载失败,请稍后重试',
sharePasswordRequired: '访问密码',
sharePasswordRequiredInput: '请输入访问密码',
sharePasswordLengthHint: '访问密码长度需为 4-256 个字符',
shareDownloadPasswordTip: '链接设置了访问密码,请输入后再下载',
shareRiskAlert: '外链分享链接存在一定安全风险,建议仅分享给可信任人员,注意保护敏感信息不被泄露。',
sharePasswordSeparate:
'已设置访问密码,请通过安全渠道告知对方;打开链接时需在地址后加上参数 &password=密码,或使用支持填写密码的下载工具。',
shareExpiresAt: '过期时间',
paste: '粘贴',
changeOwner: '修改用户和用户组',
containSub: '同时修改子文件属性',
ownerHelper: 'PHP 运行环境默认用户:用户组为 1000:1000, 容器内外用户显示不一致为正常现象',
searchHelper: '支持 * 等通配符',
uploadFailed: '【{0}】 文件上传失败',
fileUploadStart: '正在上传【{0}】...',
uploadOverallProgress: '总进度',
uploadCurrentFileProgress: '当前文件',
currentSelect: '当前选中: ',
unsupportedType: '不支持的文件类型',
deleteHelper: '确定删除所选文件? 默认删除之后将进入回收站',
fileHelper: '注意1. 搜索结果不支持排序功能 2. 文件夹无法按大小排序。',
forceDeleteHelper: '永久删除文件(不进入回收站,直接删除)',
recycleBin: '回收站',
sourcePath: '原路径',
deleteTime: '删除时间',
reduce: '还原',
confirmReduce: '确定还原以下文件?',
reduceSuccess: '还原成功',
reduceHelper: '如果原路径存在同名文件或目录,将会被覆盖,是否继续?',
clearRecycleBin: '清空回收站',
clearRecycleBinHelper: '是否清空回收站?',
favorite: '收藏夹',
removeFavorite: '是否从收藏夹移出?',
addFavorite: '添加/移出收藏夹',
addFavoriteAction: '添加收藏夹',
removeFavoriteAction: '移出收藏夹',
clearList: '清空列表',
deleteRecycleHelper: '确定永久删除以下文件?',
typeErrOrEmpty: '【{0}】 文件类型错误或为空文件夹',
dropHelper: '将需要上传的文件拖拽到此处',
fileRecycleBin: '文件回收站',
fileRecycleBinMsg: '已{0}回收站',
wordWrap: '自动换行',
deleteHelper2: '确定删除所选文件?删除操作不可回滚',
ignoreCertificate: '忽略不可信证书',
ignoreCertificateHelper:
'下载时忽略不可信证书可能导致数据泄露或篡改。请谨慎使用此选项,仅在信任下载源的情况下启用',
useProxy: '使用代理下载',
useProxyHelper: '使用面板设置中的代理服务器访问远程下载地址',
uploadOverLimit: '文件数量超过 1000请压缩后上传',
clashDidNotSupport: '文件名禁止包含 .1panel_clash',
clashDeleteAlert: '回收站文件夹不能删除',
clashOpenAlert: '回收站目录请点击【回收站】按钮打开',
right: '前进',
back: '后退',
top: '返回上一级',
up: '上一级',
openWithVscode: 'VS Code 打开',
vscodeHelper: '请确认认证方式、主机、端口和用户名。私钥认证需先在运行 VS Code 的本地电脑完成 SSH 配置。',
vscodeCopyConfig: '复制脚本',
vscodeKeyHelper: '私钥下载文件名将根据填写的路径生成。请将文件保存至该路径,配置脚本会校验文件并设置访问权限。',
vscodeKeyPath: 'SSH 私钥路径',
vscodeKeyPathPlaceholder: '例如:~/.ssh/id_ed25519',
vscodeSelectKey: 'SSH 私钥',
vscodeScriptPreview: 'SSH 配置脚本',
vscodePasswordHelper: '密码认证不会写入本地 SSH 配置,连接远程主机时需在 VS Code 中输入密码。',
vscodePasswordHint: '密码认证将使用填写的主机、端口和用户名发起连接,无需配置脚本或私钥文件。',
vscodeScriptPreviewHint:
'在运行 VS Code 的本地电脑执行配置脚本后,将写入用于远程连接的 SSH 别名。主机、端口、用户名、私钥或私钥路径变更后,请重新执行脚本。',
vscodePasswordModeTitle: '密码认证',
vscodePasswordModeHint: '密码认证将使用填写的主机、端口和用户名发起连接,无需配置脚本或私钥文件。',
vscodePasswordStep1: '确认主机、端口和用户名。',
vscodePasswordStep2: '打开 VS Code连接时输入密码。',
vscodePasswordStep3: '无需下载私钥。',
saveContentAndClose: '文件已被修改,是否保存并关闭?',
saveAndOpenNewFile: '文件已被修改,是否保存并打开新文件?',
noEdit: '文件未修改,无需此操作!',
noNameFolder: '未命名文件夹',
noNameFile: '未命名文件',
minimap: '缩略图',
fileCanNotRead: '此文件不支持预览',
previewTruncated: '文件过大,仅显示末尾内容',
previewEmpty: '文件内容为空或不是文本文件',
previewLargeFile: '预览',
panelInstallDir: '1Panel 安装目录不能删除',
wgetTask: '下载任务',
existFileTitle: '同名文件提示',
existFileHelper: '上传的文件存在同名文件,是否覆盖?',
existFileSize: '文件大小 (新 -> 旧)',
existFileDirHelper: '选择的文件/文件夹存在同名,请谨慎操作!',
coverDirHelper: '选中覆盖的文件夹,将复制到目标路径!',
noSuchFile: '未能找到该文件或目录,请检查后重试',
setting: '设置',
showHide: '显示隐藏文件',
noShowHide: '不显示隐藏文件',
cancelUpload: '取消上传',
cancelUploadHelper: '是否取消上传,取消后将清空上传列表',
keepOneTab: '至少保留一个标签页',
notCanTab: '不可增加更多的标签页',
convert: '转换格式',
converting: '转换为',
fileCanNotConvert: '此文件不支持转换格式',
formatType: '格式类型',
sourceFormat: '源格式',
sourceFile: '源文件',
saveDir: '保存目录',
deleteSourceFile: '是否删除源文件',
convertHelper: '是否为选中的文件进行格式转换',
convertHelper1: '请选择需要转换格式的文件',
execConvert: '开始转换,可以在任务中心查看转换日志',
convertLogs: '转换日志',
formatConvert: '格式转换',
},
ssh: {
autoStart: '开机自启',
enable: '设置开机自启',
disable: '关闭开机自启',
sshAlert: '列表数据根据登录时间排序,但请注意,切换时区或其他操作可能导致登录日志的时间出现偏差。',
sshAlert2: '可通过工具箱中的 Fail2ban 屏蔽暴力破解 IP从而保护主机安全。',
sshOperate: '对 SSH 服务进行 [{0}] 操作,是否继续?',
sshChange: 'SSH 配置修改',
sshChangeHelper: '此操作将 {0} 修改为 [{1}] ,是否继续?',
sshFileChangeHelper: '直接修改配置文件可能会导致服务不可用,请谨慎操作,是否继续?',
port: '连接端口',
portHelper: '指定 SSH 服务监听的端口号,默认为 22。',
listenAddress: '监听地址',
allV4V6: '0.0.0.0:{0}(IPv4) 和 :::{0}(IPv6)',
listenHelper: '同时取消 IPv4 和 IPv6 设置,将会同时监听 0.0.0.0:{0}(IPv4) 和 :::{0}(IPv6)',
addressHelper: '指定 SSH 服务监听的 IP 地址',
permitRootLogin: 'root 用户',
rootSettingHelper: 'root 用户 SSH 登录方式,默认所有 SSH 登录。',
rootHelper1: '允许 SSH 登录',
rootHelper2: '禁止 SSH 登录',
rootHelper3: '仅允许密钥登录',
rootHelper4: '仅允许执行预先定义的命令,不能进行其他操作',
passwordAuthentication: '密码认证',
pwdAuthHelper: '是否启用密码认证,默认启用。',
pubkeyAuthentication: '密钥认证',
privateKey: '私钥',
publicKey: '公钥',
password: '密码',
createMode: '创建方式',
generate: '自动生成',
unSyncPass: '密钥密码无法同步',
syncHelper: '同步操作将清理失效密钥并同步新增的完整密钥对,是否继续?',
input: '手动输入',
import: '文件上传',
authKeys: '授权密钥',
authKeysHelper: '是否保存当前公钥信息?',
pubkey: '密钥信息',
pubKeyHelper: '当前密钥信息仅对用户 {0} 生效',
encryptionMode: '加密方式',
passwordHelper: '支持大小写英文、数字,长度6-10',
reGenerate: '重新生成密钥',
keyAuthHelper: '是否启用密钥认证,默认启用。',
useDNS: '反向解析',
dnsHelper: '控制 SSH 服务器是否启用 DNS 解析功能,从而验证连接方的身份。',
confFileOrderHelper: '下拉切换配置文件并编辑保存;按加载顺序生效,先加载优先生效,后加载不覆盖前值。',
confFileOrderLabel: '{0}(加载顺序 #{1}',
analysis: '统计信息',
denyHelper: '将对下列地址进行【屏蔽】操作,设置后该 IP 将禁止访问服务器,是否继续?',
acceptHelper: '将对下列地址进行【放行】操作,设置后该 IP 将恢复正常访问,是否继续?',
noAddrWarning: '当前未选中任何可【{0}】地址,请检查后重试!',
loginLogs: '登录日志',
loginMode: '登录方式',
authenticating: '密钥',
publickey: '密钥',
belong: '归属地',
local: '内网',
remote: '外网',
session: '会话',
loginTime: '登录时间',
loginIP: '登录IP',
stopSSHWarn: '是否断开此SSH连接',
},
setting: {
panel: '面板',
user: '面板用户',
userChange: '修改面板用户',
userChangeHelper: '修改面板用户将退出登录,是否继续?',
passwd: '面板密码',
emailHelper: '用于密码找回',
watermark: '水印设置',
watermarkContent: '水印内容',
contentHelper: '{0} 表示节点名称,{1} 表示节点地址,既可以使用变量,也可以填写自定义名称。',
watermarkColor: '水印颜色',
watermarkFont: '水印字号',
watermarkHeight: '水印高度',
watermarkWidth: '水印宽度',
watermarkRotate: '旋转角',
watermarkGap: '间距',
watermarkCloseHelper: '是否确认关闭系统水印设置',
watermarkOpenHelper: '是否确认保存当前系统水印设置',
title: '面板别名',
titleHelper: '支持长度3-30的英文、中文、数字、空格和常见的特殊字符',
panelPort: '面板端口',
portHelper: '建议端口范围8888 - 65535注意有安全组的服务器请提前在安全组放行新端口',
portChange: '端口修改',
portChangeHelper: '服务端口修改需要重启服务,是否继续?',
theme: '主题颜色',
menuTabs: '菜单标签页',
menuAccordion: '菜单多项展开',
menuAccordionHelper: '开启后,侧边栏可同时展开多个菜单分组。',
componentSize: '组件大小',
dark: '暗色',
darkGold: '黑金',
light: '亮色',
auto: '跟随系统',
language: '系统语言',
docSource: '文档来源',
withByRegion: '跟随运行区域(默认)',
withByLang: '跟随系统语言',
runtimeEnv: '运行环境',
region: '运行区域',
cn: '中国大陆',
intl: '全球',
regionHelper: '该操作可能影响后续资源下载与访问,是否继续?',
regionTip: '运行区域影响系统更新源以及安装包下载地址。',
docSourceTip: '文档来源决定文档与更新日志的跳转语言。',
languageHelper: '默认跟随浏览器语言,设置后只对当前浏览器生效,更换浏览器后需要重新设置',
sessionTimeout: '面板超时时间',
sessionTimeoutError: '最小超时时间为 300 秒',
sessionTimeoutHelper: '如果用户超过 {0} 秒未操作面板,面板将自动退出登录',
systemIP: '默认访问地址',
systemIPHelper: '应用跳转、容器访问等功能将使用此地址进行跳转,每个节点可设置不同地址。',
proxy: '代理服务器',
proxyHelper: '设置代理服务器后,将在以下场景中生效:',
proxyHelper1: '应用商店的安装包下载和同步(商业版功能)',
proxyHelper2: '系统版本升级及获取更新说明(商业版功能)',
proxyHelper3: '系统许可证的验证和同步',
proxyHelper4: 'Docker 拉取镜像等网络请求将通过代理服务器访问(商业版功能)',
proxyHelper5: '系统类型脚本库的统一下载与同步(商业版功能)',
proxyHelper6: '申请证书(商业版功能)',
proxyType: '代理类型',
proxyUrl: '代理地址',
proxyPort: '代理端口',
proxyPasswdKeep: '记住密码',
proxyDocker: 'Docker 代理',
proxyDockerHelper: '将代理服务器配置同步至 Docker支持离线服务器拉取镜像等操作',
syncToNode: '同步至子节点',
syncToNodeHelper: '同步设置至所选节点',
nodes: '节点',
selectNode: '选择节点',
selectNodeError: '请选择节点',
apiInterface: 'API 接口',
apiInterfaceClose: '关闭后将不能使用 API 接口进行访问,是否继续?',
apiInterfaceHelper: '提供面板支持 API 接口访问',
apiInterfaceAlert1: '请不要在生产环境开启,这可能增加服务器安全风险',
apiInterfaceAlert2: '请不要使用第三方应用调用面板 API以防止潜在的安全威胁。',
apiInterfaceAlert3: 'API 接口文档',
apiInterfaceAlert4: '使用文档',
apiKey: '接口密钥',
apiKeyHelper: '接口密钥用于外部应用访问 API 接口',
ipWhiteList: 'IP 白名单',
ipWhiteListEgs: '当存在多个 IP 时,需要换行显示,例: \n172.16.10.111 \n172.16.10.0/24',
ipWhiteListHelper:
'必需在 IP 白名单列表中的 IP 才能访问面板 API 接口0.0.0.0/0所有 IPv4::/0所有 IPv6',
apiKeyValidityTime: '接口密钥有效期',
apiKeyValidityTimeEgs: '接口密钥有效期(单位分)',
apiKeyValidityTimeHelper: '接口时间戳到请求时的当前时间戳之间有效(单位分),设置为 0 时,不做时间戳校验',
apiKeyReset: '接口密钥重置',
apiKeyResetHelper: '重置密钥后,已关联密钥服务将失效,请重新添加新密钥至服务。',
confDockerProxy: '配置 Docker 代理',
restartNowHelper: '配置 Docker 代理需要重启 Docker 服务。',
restartNow: '立即重启',
restartLater: '稍后手动重启',
systemIPWarning: '当前节点尚未配置默认访问地址,请前往面板设置进行设置!',
systemIPWarning1: '当前服务器地址设置为 {0},无法快速跳转!',
changePassword: '密码修改',
oldPassword: '原密码',
newPassword: '新密码',
retryPassword: '确认密码',
passwordEmptyTip: '密码为空则不做密码修改',
noSpace: '输入信息不能包含空格符',
duplicatePassword: '新密码不能与原始密码一致,请重新输入!',
diskClean: '缓存清理',
developerMode: '预览体验计划',
developerModeHelper: '获取 1Panel 的预览版本,以分享有关新功能和更新的反馈',
thirdParty: '第三方账号',
scope: '使用范围',
public: '公有',
publicHelper: '公有类型的备份账号会同步到各个子节点,子节点可以一起使用',
private: '私有',
privateHelper: '私有类型的备份账号只创建在当前节点上,仅供当前节点使用',
noTypeForCreate: '当前无可创建备份类型',
LOCAL: '服务器磁盘',
OSS: '阿里云 OSS',
S3: '亚马逊 S3 云存储',
mode: '模式',
MINIO: 'MINIO',
SFTP: 'SFTP',
WebDAV: 'WebDAV',
WebDAVAlist: 'WebDAV 连接 Alist 可参考官方文档',
UPYUN: '又拍云',
ALIYUN: '阿里云盘',
ALIYUNHelper: '当前阿里云盘非客户端下载最大限制为 100 MB超过限制需要通过客户端下载',
ALIYUNRecover:
'当前阿里云盘非客户端下载最大限制为 100 MB超过限制需要通过客户端下载到本地后同步快照进行恢复',
GoogleDrive: '谷歌云盘',
analysis: '解析',
analysisHelper: '粘贴整个 token 内容,自动解析所需部分,具体操作可参考官方文档',
serviceName: '服务名称',
operator: '操作员',
OneDrive: '微软 OneDrive',
isCN: '世纪互联',
isNotCN: '国际版',
client_id: '客户端 ID',
client_secret: '客户端密钥',
redirect_uri: '重定向 Url',
onedrive_helper: '自定义配置可参考官方文档',
clickToRefresh: '单击可手动刷新',
refreshTime: '令牌刷新时间',
refreshStatus: '令牌刷新状态',
codeWarning: '当前授权码格式错误,请重新确认!',
backupDir: '备份目录',
code: '授权码',
codeHelper:
'请点击获取按钮,然后登录 {0} 复制跳转链接中 code 后面的内容,粘贴到该输入框中,具体操作可参考官方文档。',
googleHelper: '请先在创建 google 应用并获取客户端信息,写入表单后点击获取按钮,具体操作可参考官方文档。',
loadCode: '获取',
COS: '腾讯云 COS',
ap_beijing_1: '北京一区',
ap_beijing: '北京',
ap_nanjing: '南京',
ap_shanghai: '上海',
ap_guangzhou: '广州',
ap_chengdu: '成都',
ap_chongqing: '重庆',
ap_shenzhen_fsi: '深圳金融',
ap_shanghai_fsi: '上海金融',
ap_beijing_fsi: '北京金融',
ap_hongkong: '中国香港',
ap_singapore: '新加坡',
ap_mumbai: '孟买',
ap_jakarta: '雅加达',
ap_seoul: '首尔',
ap_bangkok: '曼谷',
ap_tokyo: '东京',
na_siliconvalley: '硅谷(美西)',
na_ashburn: '弗吉尼亚(美东)',
na_toronto: '多伦多',
sa_saopaulo: '圣保罗',
eu_frankfurt: '法兰克福',
KODO: '七牛云 Kodo',
scType: '存储类型',
typeStandard: '标准存储',
typeStandard_IA: '低频存储',
typeArchive: '归档存储',
typeDeep_Archive: '深度归档存储',
scLighthouse: '默认,轻量对象存储仅支持该存储类型',
scStandard: '标准存储,适用于实时访问的大量热点文件、频繁的数据交互等业务场景。',
scStandard_IA: '低频存储适用于较低访问频率例如平均每月访问频率1到2次的业务场景最少存储30天。',
scArchive: '归档存储适用于极低访问频率例如半年访问1次的业务场景。',
scDeep_Archive: '深度归档存储适用于极低访问频率例如1年访问1~2次的业务场景。',
archiveHelper: '归档存储的文件无法直接下载,需要先在对应的云服务商网站进行恢复操作,请谨慎使用!',
backupAlert: '理论上只要云厂商兼容 S3 协议,就可以用现有的亚马逊 S3 云存储来备份,具体配置参考',
domain: '加速域名',
backupAccount: '备份账号',
loadBucket: '获取桶',
accountName: '账户名称',
accountKey: '账户密钥',
address: '地址',
path: '路径',
backupJump: '未在当前备份列表中的备份文件,请尝试从文件目录中下载后导入备份。',
snapshot: '快照',
noAppData: '暂无可选择系统应用',
noBackupData: '暂无可选择备份数据',
stepBaseData: '基础数据',
stepAppData: '系统应用',
stepPanelData: '系统数据',
stepBackupData: '备份数据',
stepOtherData: '其他数据',
monitorData: '监控数据',
dockerConf: 'Docker 配置',
selectAllImage: '备份所有应用镜像',
logLabel: '日志',
agentLabel: '节点配置',
appDataLabel: '应用数据',
appImage: '应用镜像',
appBackup: '应用备份',
backupLabel: '备份目录',
confLabel: '配置文件',
dockerLabel: '容器',
taskLabel: '计划任务',
resourceLabel: '应用资源目录',
runtimeLabel: '运行环境',
appLabel: '应用',
databaseLabel: '数据库',
snapshotLabel: '快照文件',
websiteLabel: '网站',
directoryLabel: '目录',
appStoreLabel: '应用商店',
shellLabel: '脚本',
tmpLabel: '临时目录',
sslLabel: '证书目录',
reCreate: '创建快照失败',
reRollback: '回滚快照失败',
deleteHelper: '将删除该快照的所有备份文件,包括第三方备份账号中的文件。',
ignoreRule: '排除规则',
editIgnoreRule: '@:commons.button.edit@:setting.ignoreRule',
ignoreHelper: '快照时将使用该规则对 1Panel 数据目录进行压缩备份,请谨慎修改。',
ignoreHelper1: '一行一个,例: \n*.log\n/opt/1panel/cache',
status: '快照状态',
panelInfo: '写入 1Panel 基础信息',
panelBin: '备份 1Panel 系统文件',
daemonJson: '备份 Docker 配置文件',
appData: '备份 1Panel 已安装应用',
panelData: '备份 1Panel 数据目录',
backupData: '备份 1Panel 本地备份目录',
compress: '制作快照文件',
upload: '上传快照文件',
recoverDetail: '恢复详情',
recoverFailed: '快照恢复失败',
importHelper: '快照文件目录:',
lastRecoverAt: '上次恢复时间',
lastRollbackAt: '上次回滚时间',
reDownload: '重新下载',
recoverErrArch: '不支持在不同服务器架构之间进行快照恢复操作!',
recoverErrSize: '检测到当前磁盘空间不足,请检查或清理后重试!',
recoverHelper: '即将从快照 {0} 开始恢复,恢复前请确认以下信息:',
recoverHelper1: '恢复需要重启 Docker 以及 1Panel 服务',
recoverHelper2: '请确保服务器磁盘空间充足 ( 快照文件大小: {0}, 可用空间: {1} )',
recoverHelper3: '请确保服务器架构与创建快照服务器架构信息保持一致 (当前服务器架构: {0} )',
recoverHelper4: '该操作仅回滚主节点,如存在已升级的子节点,请先回滚子节点后再执行此操作',
rollback: '回滚',
rollbackHelper:
'即将回滚本次恢复,回滚将替换所有本次恢复的文件,过程中可能需要重启 Docker 以及 1Panel 服务,是否继续?',
upgradeRecord: '更新记录',
upgrading: '正在升级中,请稍候...',
upgradeHelper: '升级操作需要重启 1Panel 服务,是否继续?',
noUpgrade: '当前已经是最新版本',
versionHelper: '1Panel 版本号命名规则为: [大版本].[功能版本].[Bug 修复版本],例:',
rollbackLocalHelper: '主节点暂不支持直接回滚,请手动执行 1pctl restore 命令回滚!',
upgradeCheck: '检查更新',
upgradeNotes: '更新内容',
upgradeNow: '立即更新',
source: '下载源',
versionNotSame: '节点版本与主节点不一致,暂不支持切换,请在节点管理中升级后重试!',
versionCompare: '检测到节点 {0} 版本已是当前可升级最新版本,请检查主节点版本后重试!',
safe: '安全',
bindInfo: '监听地址',
bindAll: '监听所有',
bindInfoHelper: '修改服务监听地址或协议可能导致服务不可用,是否继续?',
ipv6: '监听 IPv6',
bindAddress: '监听地址',
entrance: '安全入口',
showEntrance: '启用概览页未开启提醒',
entranceHelper: '开启安全入口后只能通过指定安全入口登录面板',
entranceError: '请输入 5-116 位安全登录入口,仅支持输入数字或字母',
entranceInputHelper: '安全入口设置为空时,则取消安全入口',
randomGenerate: '随机生成',
expirationTime: '密码过期时间',
unSetting: '未设置',
noneSetting: '为面板密码设置过期时间,过期后需要重新设置密码',
expirationHelper: '密码过期时间为 0 天时,则关闭密码过期功能',
days: '密码过期天数',
expiredHelper: '当前密码已过期,请重新修改密码:',
timeoutHelper: '{0} 天后面板密码即将过期,过期后需要重新设置密码',
complexity: '密码复杂度验证',
complexityHelper: '开启后密码必须满足长度为 8-30 位,且包含字母、数字、特殊字符中至少两项',
bindDomain: '域名绑定',
unBindDomain: '域名解绑',
panelSSL: '面板 SSL',
unBindDomainHelper: '解除域名绑定可能造成系统不安全,是否继续?',
bindDomainHelper: '设置域名绑定后,仅能通过设置中域名访问 1Panel 服务',
bindDomainHelper1: '绑定域名为空时,则取消域名绑定',
bindDomainWarning: '设置域名绑定后,将退出当前登录,且仅能通过设置中域名访问 1Panel 服务,是否继续?',
allowIPs: '授权 IP',
unAllowIPs: '取消授权',
unAllowIPsWarning: '授权 IP 为空将允许所有 IP 访问系统,可能造成系统不安全,是否继续?',
allowIPsHelper: '设置授权 IP 后,仅有设置中的 IP 可以访问 1Panel 服务',
allowIPsWarning: '设置授权 IP 后,仅有设置中的 IP 可以访问 1Panel 服务,是否继续?',
allowIPsHelper1: '授权 IP 为空时,则取消授权 IP',
allowIPEgs: '当存在多个授权 IP 时,需要换行显示,例: \n172.16.10.111 \n172.16.10.0/24',
mfa: '两步验证',
mfaClose: '关闭两步验证将导致服务安全性降低,是否继续?',
secret: '密钥',
mfaAlert: '两步验证密码是基于当前时间生成,请确保服务器时间已同步',
mfaHelper: '开启后会验证手机应用验证码',
mfaHelper1: '下载两步验证手机应用 如:',
mfaHelper2: '使用手机应用扫描以下二维码,获取 6 位验证码',
mfaHelper3: '输入手机应用上的 6 位数字',
mfaCode: '验证码',
mfaInterval: '刷新时间(秒)',
mfaTitleHelper: '用于区分不同 1Panel 主机,修改后请重新扫描或手动添加密钥信息!',
mfaIntervalHelper:
'修改刷新时间后,请重新扫描或手动添加密钥信息!\n部分验证器仅支持 30 秒刷新时间(如 Google/Microsoft Authenticator请确认兼容性。',
passkey: '通行密钥',
passkeyManage: '管理',
passkeyKeyManagement: '密钥管理',
passkeyHelper: '用于快速登录,最多可绑定 5 个通行密钥',
passkeyRequireSSL: '需设置域名绑定并通过 HTTPS 访问后才可使用通行密钥',
passkeyTrustedProxies: '可信代理',
passkeyTrustedProxiesHelper: '仅当请求来源命中以下 IP/CIDR 时,才信任 Forwarded 与 X-Forwarded-Proto 头',
passkeyNotSupported: '当前浏览器或环境不支持通行密钥',
passkeyPrereqTitle: '使用通行密钥需满足以下前置条件',
passkeyPrereqBindDomain: '已设置 1Panel 域名绑定',
passkeyPrereqHttps: '已通过 HTTPS 安全访问',
passkeyPrereqBrowser: '当前环境支持 PasskeyWebAuthn + 平台认证器)',
passkeyPrereqBrowserDetailWebAuthnUnavailable: '请使用系统浏览器访问,并确认已绑定域名且通过 HTTPS 打开面板',
passkeyPrereqBrowserDetailPlatformCapabilityUnavailable:
'当前环境无法使用设备认证,请改用系统浏览器并确认系统版本较新',
passkeyPrereqBrowserDetailNoPlatformAuthenticator: '请先在系统中启用屏幕锁/指纹/面容/Windows Hello 后重试',
passkeyPrereqBrowserDetailDetectFailed: '环境检测失败,请刷新页面重试,或改用系统浏览器访问',
passkeyPrereqGoSetup: '去设置',
passkeyCount: '已绑定 {0}/{1}',
passkeyName: '名称',
passkeyNameHelper: '请输入用于区分设备的名称',
passkeyAdd: '添加通行密钥',
passkeyCreatedAt: '创建时间',
passkeyLastUsedAt: '最近使用',
passkeyDeleteConfirm: '删除后将无法使用该通行密钥登录,是否继续?',
passkeyLimit: '最多可绑定 5 个通行密钥',
passkeyFailed: '通行密钥注册失败,请确认面板 SSL 证书是否为可信证书',
sslChangeHelper: 'https 设置修改需要重启服务,是否继续?',
sslDisable: '禁用',
sslDisableHelper: '禁用 https 服务,需要重启面板才能生效,是否继续?',
noAuthSetting: '未认证设置',
noAuthSettingHelper: '用户在未登录且未正确输入安全入口、授权 IP、或绑定域名时该响应可隐藏面板特征。',
responseSetting: '响应设置',
help200: '帮助页面',
error400: '错误请求',
error401: '未授权',
error403: '禁止访问',
error404: '未找到',
error408: '请求超时',
error416: '无效请求',
error444: '连接被关闭',
error500: '内部错误',
https: '为面板设置HTTPS可提升访问安全性',
strictHelper: '非 HTTPS 流量无法连接面板',
muxHelper: '面板将同时监听 HTTP 和 HTTPS 协议,并将 HTTP 重定向到 HTTPS此模式下可能会降低面板安全性',
certType: '证书类型',
selfSigned: '自签名',
selfSignedHelper: '自签证书,不被浏览器信任,显示不安全是正常现象',
select: '选择已有',
domainOrIP: '域名或 IP',
timeOut: '过期时间:',
rootCrtDownload: '根证书下载',
primaryKey: '密钥',
certificate: '证书',
about: '关于',
versionItem: '当前版本',
backupCopies: '备份份数',
backupCopiesHelper: '设置用于版本回滚的升级备份保留份数,为 0 则保留所有。',
backupCopiesRule: '请至少保存 3 份升级备份记录',
release: '版本更新日志',
releaseHelper: '当前环境更新日志获取异常,可手动前往官方文档查看',
project: '项目地址',
issue: '问题反馈',
doc: '官方文档',
star: '点亮 Star',
description: 'Linux 服务器运维管理面板',
forum: '论坛求助',
doc2: '使用手册',
currentVersion: '当前运行版本:',
license: '许可证',
bindNode: '绑定节点',
menuSetting: '菜单设置',
menuHide: '菜单隐藏',
menuSettingHelper: '当只存在 1 个子菜单时,菜单栏将仅展示该子菜单',
showAll: '全部显示',
hideALL: '全部隐藏',
ifShow: '是否显示',
menu: '菜单',
confirmMessage: '即将刷新页面更新高级功能菜单列表,是否继续?',
recoverMessage: '即将刷新页面恢复菜单列表到初始状态,是否继续?',
compressPassword: '压缩密码',
backupRecoverMessage: '请输入压缩或解压缩密码(留空则不设置)',
},
license: {
offLine: '离线版',
community: '社区版',
oss: '社区版',
ee: '企业版',
pro: '专业版',
trial: '试用',
add: '添加社区版',
licenseBindHelper: '仅当许可证已绑定节点时,才能使用其免费节点额度',
licenseAlert: '仅当许可证正常绑定到节点时,该许可证才能添加社区版节点,只有正常绑定到许可证的节点支持切换。',
licenseUnbindHelper: '检测到该许可证存在社区版节点,请解绑后重试!',
subscription: '订阅',
perpetual: '永久授权',
product: '产品',
versionConstraint: '{0} 版本买断',
forceUnbind: '强制解绑',
forceUnbindHelper: '强制解绑,会忽略解绑过程中产生的错误并最终解除许可证绑定',
updateForce: '强制更新(忽略解绑过程中的所有错误,确保最终操作成功)',
trialInfo: '版本',
authorizationId: '订阅授权 ID',
authorizedUser: '被授权方',
lostHelper: '许可证已达到最大重试次数,请手动点击同步按钮,以确保商业版功能正常使用,详情:',
exceptionalHelper: '许可证同步验证异常,请手动点击同步按钮,以确保商业版功能正常使用,详情:',
quickUpdate: '快速更新',
unbindHelper: '解除绑定后将清除该节点所有商业版相关设置,是否继续?',
importLicense: '导入许可证',
securityWarningTitle: '请勿使用破解版或来源不明的许可证!',
securityWarningContent:
'1Panel 需要以具备系统管理权限的用户运行,非官方许可证或被篡改版本可能导致服务器失控、数据泄露等严重安全风险。请通过飞致云官方渠道获取许可证和安装包。',
importHelper: '请点击或拖动许可文件到此处',
licenseRequiredTip: '当前尚未导入许可证,复制设备 ID 后获取许可证并导入后才能登录使用。',
licenseRequiredShortTip: '请先复制设备 ID 获取许可证,导入许可证后即可登录。',
licenseRequiredUserTip: '企业版许可证未绑定,请联系超级管理员导入许可证。',
levelUpPro: '升级商业版',
licenseSync: '许可证同步',
knowMorePro: '了解商业版',
closeAlert: '当前页面可在面板设置中关闭显示',
introduce: '功能介绍',
deviceID: '设备 ID',
corporation: '授权公司',
expired: '过期时间',
edition: '版本',
standard: '标准版',
enterprise: '企业版',
count: '授权数量',
serialNo: '序列号',
remark: '备注',
waf: '升级商业版可以获得拦截地图、日志、封锁记录、地理位置封禁、自定义规则、自定义拦截页面等功能。',
tamper: '升级商业版可以保护网站免受未经授权的修改或篡改。',
tamperHelper: '操作失败,该文件或文件夹已经开启防篡改,请检查后重试!',
setting: '升级商业版可以自定义面板 Logo、欢迎简介等信息。',
monitor: '升级商业版可以查看网站的实时状态、访客趋势、访客来源、请求日志等信息。',
alert: '升级商业版可通过短信接收告警信息,并查看告警日志,全面掌控各类关键事件,确保系统运行无忧。',
node: '升级商业版可以使用 1Panel 管理多台 linux 服务器。',
nodeApp: '升级商业版可以统一升级多节点应用版本,无需手动切换节点。',
nodeDashboard: '升级商业版可以集中管理多节点应用、网站、数据库和计划任务。',
fileExchange: '升级商业版可以在多台服务器之间快速传输文件。',
app: '升级商业版可通过手机 APP查看服务信息、异常监控等。',
cluster: '升级商业版可以管理 MySQL/Postgres/Redis 主从集群。',
vllm: '升级商业版可将 vLLM 服务统一纳入 1Panel 管理,集中完成部署、配置调整、状态运维与任务追踪,降低本地模型服务维护成本。',
'model-downloader':
'升级商业版可从 HuggingFace、ModelScope 或兼容镜像站搜索、下载并管理本地模型文件,统一维护本地模型目录与下载任务。',
},
clean: {
scan: '开始扫描',
scanHelper: '轻松梳理 1Panel 运行期间积累的垃圾文件',
clean: '立即清理',
cleanHelper: '已勾选文件及目录清理后无法回滚,是否继续?',
statusSuggest: '( 建议清理 )',
statusClean: '( 很干净 )',
statusEmpty: '非常干净,无需清理!',
statusWarning: '( 谨慎操作 )',
lastCleanTime: '上次清理时间: {0}',
lastCleanHelper: '清理文件及目录:{0} 个, 总计清理:{1}',
cleanSuccessful: '清理成功!',
currentCleanHelper: '本次清理文件及目录:{0} 个, 总计清理:{1}',
totalScan: '待清理垃圾文件共计: ',
selectScan: '已选中垃圾文件共计: ',
system: '系统垃圾',
systemHelper: '快照、升级等过程中产生的临时文件',
panelOriginal: '系统快照恢复前备份文件',
upgrade: '系统升级备份文件',
agentPackages: '历史版本子节点升级 / 安装包',
upgradeHelper: '( 建议保留最新的升级备份用于系统回滚 )',
snapshot: '系统快照临时文件',
rollback: '恢复前备份目录',
backup: '系统备份',
backupHelper: '本地备份账号中未关联的备份文件',
unknownBackup: '系统备份',
tmpBackup: '临时备份',
unknownApp: '未关联应用备份',
unknownDatabase: '未关联数据库备份',
unknownWebsite: '未关联网站备份',
unknownSnapshot: '未关联快照备份',
upload: '临时上传文件',
uploadHelper: '系统上传备份列表中上传的临时文件',
download: '临时下载文件',
downloadHelper: '系统从第三方备份账号下载的临时文件',
directory: '文件夹',
systemLog: '日志文件',
systemLogHelper: '系统日志、任务日志、网站日志文件',
dockerLog: '容器操作日志文件',
shell: 'Shell 脚本计划任务',
containerShell: '容器内执行 Shell 脚本计划任务',
curl: 'CURL 计划任务',
docker: '容器垃圾',
dockerHelper: '容器、镜像、存储卷、构建缓存等文件',
volumes: '存储卷',
buildCache: '构建缓存',
appTmpDownload: '应用临时下载文件',
unknownWebsiteLog: '未关联网站日志备份文件',
},
app: {
app: '应用',
installName: '安装名称',
installed: '已安装',
all: '全部',
version: '版本',
detail: '详情',
params: '参数',
author: '作者',
source: '来源',
appName: '应用名称',
deleteWarn: '删除操作会把所有数据和备份一并删除,此操作不可回滚,是否继续?',
syncSuccess: '同步成功',
canUpgrade: '可升级',
backupName: '文件名称',
backupPath: '文件路径',
backupdate: '备份时间',
versionSelect: '请选择版本',
operatorHelper: '将对选中应用进行 {0} 操作,是否继续?',
checkInstalledWarn: '未检测到 {0} ,请进入应用商店点击安装!',
limitHelper: '该应用已安装,不支持重复安装',
deleteHelper: '{0}已经关联以下资源,请检查后重试!',
checkTitle: '提示',
defaultConfig: '默认配置',
defaultConfigHelper: '已恢复为默认配置,保存后生效',
forceDelete: '强制删除',
forceDeleteHelper: '强制删除,会忽略删除过程中产生的错误并最终删除元数据',
deleteBackup: '删除备份',
deleteBackupHelper: '同时删除应用备份',
deleteDB: '删除数据库',
deleteDBHelper: '同时删除与应用关联的数据库',
noService: '无{0}',
toInstall: '去安装',
param: '参数配置',
syncAppList: '更新远程应用',
alreadyRun: '已安装',
less1Minute: '小于1分钟',
appOfficeWebsite: '官方网站',
github: '开源社区',
document: '文档说明',
updatePrompt: '当前应用均为最新版本',
installPrompt: '尚未安装任何应用',
updateHelper: '更新参数可能导致应用无法启动,请提前备份并谨慎操作',
updateWarn: '更新参数需要重建应用,是否继续?',
busPort: '服务端口',
syncStart: '开始同步!请稍后刷新应用商店',
advanced: '高级设置',
cpuCore: '核心数',
containerName: '容器名称',
containerNameHelper: '可以为空,为空自动生成',
allowPort: '端口外部访问',
allowPortHelper: '允许端口外部访问会放开防火墙端口',
appInstallWarn: '应用端口默认不允许外部访问,可以在下方高级设置中选择放开',
upgradeStart: '开始升级!请稍后刷新页面',
toFolder: '进入安装目录',
editCompose: '编辑 compose 文件',
editComposeHelper: '编辑 compose 文件可能导致软件安装失败',
composeNullErr: 'compose 不能为空',
takeDown: '已废弃',
allReadyInstalled: '已安装',
installHelper: '配置镜像加速可以解决镜像拉取失败的问题',
sortMode: '排序',
installWarn: '当前未勾选端口外部访问将无法通过外网IP:端口访问,是否继续?',
showIgnore: '查看忽略应用',
cancelIgnore: '取消忽略',
ignoreList: '忽略列表',
appHelper: '部分应用的安装使用说明请在应用详情页查看',
backupApp: '升级前备份应用',
backupAppHelper: '升级失败会使用备份自动回滚,请在日志审计-系统日志中查看失败原因',
openrestyDeleteHelper: '强制删除 OpenResty 会删除所有的网站,请确认风险之后操作',
downloadLogHelper1: '即将下载 {0} 应用所有日志,是否继续?',
downloadLogHelper2: '即将下载 {0} 应用最近 {1} 条日志,是否继续?',
syncAllAppHelper: '即将同步所有应用,是否继续?',
hostModeHelper: '当前应用网络模式为 host 模式,如需放开端口,请在防火墙页面手动放开',
showLocal: '本地应用',
reload: '重载',
upgradeWarn: '升级应用会替换 docker-compose.yml 文件,如有更改,可以点击查看文件对比',
openclawHttpsUpgradeNoticeTitle:
'注意:以下说明仅适用于 OpenClaw 从 2026.3.13 ~ 2026.3.22 版本升级到 2026.3.23 及以上版本的用户:',
openclawHttpsUpgradeNoticeItem1:
'升级完成后,智能体访问协议将恢复为 HTTP请进入 配置 → 设置 → 安全 检查访问地址。',
openclawHttpsUpgradeNoticeItem2: '如果之前通过反向代理网站访问,请将代理目标地址修改为 http://IP:Port。',
newVersion: '新版本',
oldVersion: '当前版本',
composeDiff: '文件对比',
showDiff: '查看对比',
useNew: '使用自定义版本',
useDefault: '使用默认版本',
useCustom: '自定义 docker-compose.yml',
useCustomHelper: '使用自定义 docker-compose.yml 文件,可能会导致应用升级失败,如无必要,请勿勾选',
diffHelper: '左侧为旧版本,右侧为新版,编辑之后点击使用自定义版本保存',
pullImage: '拉取镜像',
pullImageHelper: '在应用启动之前执行 docker pull 来拉取镜像',
deleteImage: '删除镜像',
deleteImageHelper: '删除应用相关镜像,删除失败任务不会终止',
requireMemory: '内存需求',
supportedArchitectures: '支持架构',
link: '链接',
showCurrentArch: '本服务器架构应用',
syncLocalApp: '同步本地应用',
memoryRequiredHelper: '当前应用内存需求 {0}',
gpuConfig: '开启 GPU 支持',
gpuConfigHelper: '请确保机器有 NVIDIA GPU 并且安装 NVIDIA 驱动 和 NVIDIA docker Container Toolkit',
webUI: 'Web 访问地址',
webUIPlaceholder: '例如example.com:8080/login',
defaultWebDomain: '默认访问地址',
defaultWebDomainHepler: '如果应用端口为 8080则跳转地址为 http(s)://默认访问地址:8080',
webUIConfig: '当前应用尚未配置访问地址,请在应用参数或前往面板设置进行设置!',
toLink: '跳转',
customAppHelper: '在使用自定义应用商店仓库之前,请确保没有任何已安装的应用。',
forceUninstall: '强制卸载',
syncCustomApp: '同步自定义应用',
ignoreAll: '忽略后续所有版本',
ignoreVersion: '忽略指定版本',
specifyIP: '绑定主机 IP',
specifyIPHelper: '设置端口绑定的主机地址/网卡(如果你不清楚这个的作用,请不要填写)',
uninstallDeleteBackup: '卸载应用-删除备份',
uninstallDeleteImage: '卸载应用-删除镜像',
upgradeBackup: '应用升级前备份应用',
upgradeDeleteImage: '升级应用-删除旧镜像',
installAllowPort: '安装应用默认打开端口外部访问',
noAppHelper: '未检测到应用,请前往任务中心查看应用商店同步日志',
isEdirWarn: '检测到 docker-compose.yml 文件被修改,请查看对比',
},
website: {
primaryDomain: '主域名',
otherDomains: '其他域名',
static: '静态网站',
deployment: '一键部署',
supportUpType: '仅支持 .tar.gz 文件格式,且压缩包内必须包含 {0}.json 文件',
proxy: '反向代理',
alias: '代号',
ftpUser: 'FTP 账号',
ftpPassword: 'FTP 密码',
ftpHelper: '创建站点的同时,为站点创建一个对应 FTP 帐户,并且 FTP 目录指向站点所在目录。',
remark: '备注',
groupSetting: '分组管理',
createGroup: '创建分组',
appNew: '新装应用',
appInstalled: '已装应用',
delete: '删除网站',
deleteApp: '删除应用',
deleteBackup: '删除备份',
domain: '域名',
domainHelper: '一行一个域名,支持*和IP地址支持"域名:端口"',
addDomain: '新增域名',
domainConfig: '域名设置',
defaultDoc: '默认文档',
perserver: '并发限制',
perserverHelper: '限制当前站点最大并发数',
perip: '单 IP 限制',
peripHelper: '限制单个 IP 访问最大并发数',
rate: '流量限制',
rateLimit: '单请求限速',
rateHelper: '限制每个请求的流量上限(单位:KB)',
rateLimitHelper: '限制每个请求的每秒传输速率单位KB/s',
limitHelper: '启用流量控制',
other: '其他',
currentSSL: '当前证书',
dnsAccount: 'DNS 账号',
applySSL: '证书申请',
SSLList: '证书列表',
createDnsAccount: 'DNS 账户',
aliyun: '阿里云',
aliEsa: '阿里云 ESA',
awsRoute53: 'Amazon Route 53',
manual: '手动解析',
key: '密钥',
check: '查看',
acmeAccountManage: 'Acme 账户',
email: '邮箱',
acmeAccount: 'Acme 账户',
provider: '验证方式',
dnsManual: '手动解析',
expireDate: '过期时间',
brand: '颁发组织',
deploySSL: '部署',
deploySSLHelper: '确定部署证书?',
ssl: '证书',
dnsAccountManage: 'DNS 账户',
renewSSL: '续签',
renewHelper: '确定续签证书?',
renewSuccess: '续签证书',
enableHTTPS: '启用 HTTPS',
aliasHelper: '代号是网站目录的文件夹名称',
lastBackupAt: '上次备份时间',
null: '无',
nginxConfig: 'Nginx配置',
websiteConfig: '网站设置',
proxySettings: '代理设置',
advancedSettings: '高级设置',
cacheSettings: '缓存设置',
sniSettings: 'SNI 设置',
basic: '基本',
source: '配置文件',
security: '安全',
nginxPer: '性能调整',
neverExpire: '永不过期',
setDefault: '设为默认',
deleteHelper: '相关应用状态不正常,请检查',
toApp: '去已安装列表',
cycle: '周期',
frequency: '频率',
ccHelper: '{0} 秒内累计请求同一URL超过 {1} 次,触发CC防御,封锁此IP',
mustSave: '修改之后需要保存才能生效',
fileExt: '文件扩展名',
fileExtBlock: '文件扩展名黑名单',
value: '值',
enable: '开启',
proxyAddress: '代理地址',
proxyHelper: '例: 127.0.0.1:8080',
forceDelete: '强制删除',
forceDeleteHelper: '强制删除,会忽略删除过程中产生的错误并最终删除元数据',
deleteAppHelper: '同时删除关联应用、数据库以及应用备份',
deleteBackupHelper: '同时删除网站备份',
deleteDatabaseHelper: '同时删除网站关联数据库',
deleteConfirmHelper: '删除操作无法回滚,请输入 <span style="color:red"> "{0}" </span> 删除',
staticPath: '对应主目录:',
limit: '限制方案',
blog: '论坛/博客',
imageSite: '图片站',
downloadSite: '下载站',
shopSite: '商城',
doorSite: '门户',
qiteSite: '企业',
videoSite: '视频',
errLog: '错误日志',
stopHelper: '停止站点后将无法正常访问,用户访问会显示当前站点停止页面,是否继续操作?',
startHelper: '启用站点后,用户可以正常访问网站内容,是否继续操作?',
sitePath: '网站目录',
siteAlias: '网站代号',
primaryPath: 'root 目录',
folderTitle: '网站主要包含以下文件夹',
wafFolder: '防火墙规则',
indexFolder: '网站 root 目录PHP 运行环境 静态网站代码存放目录)',
sslFolder: '网站证书',
enableOrNot: '是否启用',
oldSSL: '选择已有证书',
manualSSL: '手动导入证书',
select: '选择',
selectSSL: '选择证书',
privateKey: '私钥(KEY)',
certificate: '证书(PEM格式)',
HTTPConfig: 'HTTP 选项',
HTTPSOnly: '禁止 HTTP',
HTTPToHTTPS: '访问HTTP自动跳转到HTTPS',
HTTPAlso: 'HTTP可直接访问',
sslConfig: 'SSL 选项',
disableHTTPS: '禁用 HTTPS',
disableHTTPSHelper: '禁用 HTTPS会删除证书相关配置是否继续',
SSLHelper: '注意请勿将SSL证书用于非法网站 \n 如开启后无法使用HTTPS访问请检查安全组是否正确放行443端口',
SSLConfig: '证书设置',
SSLProConfig: 'SSL 协议设置',
supportProtocol: '支持的协议版本',
encryptionAlgorithm: '加密算法',
notSecurity: '(不安全)',
encryptHelper:
"Let's Encrypt 签发证书有频率限制,但足以满足正常需求,过于频繁操作会导致签发失败。具体限制请看 <a target=“_blank” href='https://letsencrypt.org/zh-cn/docs/rate-limits/'>官方文档</a> ",
ipValue: '值',
ext: '文件扩展名',
wafInputHelper: '按行输入数据,一行一个',
data: '数据',
ever: '永久',
nextYear: '一年后',
noLog: '当前没有日志...',
defaultServer: '默认站点',
noDefaultServer: '未设置',
defaultServerHelper:
'设置默认站点后,所有未绑定的域名和IP都被定向到默认站点\n可有效防止恶意解析\n但同时会导致 WAF 未授权域名拦截失败',
websiteDeploymentHelper: '使用从 1Panel 部署的应用创建网站',
websiteStatictHelper: '在主机上创建网站目录',
websiteProxyHelper:
'代理已有服务。例如本机已安装使用 8080 端口的 halo 服务,那么代理地址为 http://127.0.0.1:8080',
restoreHelper: '确认使用此备份恢复?',
wafValueHelper: '值',
runtimeProxyHelper: '使用从 1Panel 创建的运行环境',
runtime: '运行环境',
deleteRuntimeHelper: '运行环境应用需要跟网站一并删除,请谨慎处理',
proxyType: '监听网络类型',
unix: 'Unix 网络',
tcp: 'TCP/IP 网络',
phpFPM: 'FPM 配置文件',
phpConfig: 'PHP 配置文件',
updateConfig: '配置修改',
isOn: '开启',
isOff: '关闭',
rewrite: '伪静态',
rewriteMode: '方案',
current: '当前',
rewriteHelper: '若设置伪静态后网站无法正常访问请尝试设置回default',
runDir: '运行目录',
runUserHelper:
'通过 PHP 容器运行环境部署的网站,需要将 index 和子目录下的所有文件、文件夹所有者和用户组设置为 1000本地 PHP 环境需要参考本地 PHP-FPM 用户和用户组设置',
userGroup: '运行用户/组',
uGroup: '用户组',
proxyPath: '前端请求路径',
proxyPass: '后端代理地址',
cache: '缓存',
cacheTime: '缓存时间',
enableCache: '开启缓存',
proxyHost: '后端域名',
disabled: '已停止',
startProxy: '开启反向代理',
stopProxy: '关闭反向代理',
sourceFile: '源文',
proxyHelper1: '访问这个目录时将会把目标URL的内容返回并显示',
proxyPassHelper: '代理的站点必须为可正常访问的URL',
proxyHostHelper: '将域名添加到请求头传递到代理服务器',
modifier: '匹配规则',
modifierHelper: '例:= 精确匹配,~ 正则匹配,^~ 匹配路径开头 等',
replace: '文本替换',
replaceHelper:
'nginx文本替换功能可以在反向代理时对响应内容进行字符串替换。常用于修改代理后端返回的HTML、CSS、JavaScript等文件中的链接地址、API接口地址等。支持正则表达式匹配可实现复杂的内容替换需求。',
addReplace: '添加文本替换',
replaced: '搜索字符串(不能为空)',
replaceText: '替换为字符串',
replacedErr: '搜索字符串不能为空',
replacedErr2: '搜索字符串不能重复',
replacedListEmpty: '无文本替换规则',
proxySslName: '代理 SNI 名称',
basicAuth: '密码访问',
editBasicAuthHelper: '密码为非对称加密,无法回显,编辑需要重新设置密码',
antiLeech: '防盗链',
extends: '扩展名',
browserCache: '浏览器缓存',
noModify: '不修改',
serverCache: '服务器缓存',
leechLog: '记录防盗链日志',
accessDomain: '允许的域名',
leechReturn: '响应资源',
noneRef: '允许 Referer 为空',
disable: '未启用',
disableLeechHelper: '是否禁用防盗链',
disableLeech: '禁用防盗链',
ipv6: '监听 IPV6',
leechReturnError: '请填写 HTTP 状态码',
blockedRef: '允许非标准 Referer',
accessControl: '防盗链控制',
leechcacheControl: '缓存控制',
logEnableControl: '记录请求日志',
leechSpecialValidHelper:
'允许 Referer 为空启用时,不会阻止无 Referer 的请求(直接访问等),启用非标准 Referer 时会放行任何不以 http/https 开头的 Referer 请求(客户端请求等)',
leechInvalidReturnHelper: '拦截盗链请求后,返回的 HTTP 状态码',
leechlogControlHelper: '记录静态资源的请求,生产环境通常可以关闭避免过多无意义的日志',
selectAcme: '选择 acme 账号',
imported: '手动创建',
importType: '导入方式',
pasteSSL: '粘贴代码',
localSSL: '选择服务器文件',
privateKeyPath: '私钥文件',
certificatePath: '证书文件',
ipWhiteListHelper: 'IP 白名单的作用所有规则对IP白名单无效',
redirect: '重定向',
sourceDomain: '源域名/路径',
targetURL: '目标URL地址',
keepPath: '保留URI参数',
path: '路径',
redirectType: '重定向类型',
redirectWay: '方式',
keep: '保留',
notKeep: '不保留',
redirectRoot: '重定向到首页',
redirectHelper: '301永久重定向302临时重定向',
changePHPVersionWarn: '此操作不可回滚,是否继续',
changeVersion: '切换版本',
retainConfig: '是否保留 php-fpm.conf 和 php.ini 文件',
runDirHelper2: '请确保二级运行目录位于 index 目录下',
openrestyHelper: 'OpenResty 默认 HTTP 端口:{0} HTTPS 端口 {1},可能影响网站域名访问和 HTTPS 强制跳转',
primaryDomainHelper: '支持域名:端口',
acmeAccountType: '账号类型',
keyType: '密钥算法',
tencentCloud: '腾讯云',
containWarn: '其他域名中包含主域名,请重新输入',
rewriteHelper2: '从应用商店安装的 WordPress 等应用,默认已经配置好伪静态,重复配置可能会报错',
websiteBackupWarn: '仅支持导入本机备份,导入其他机器备份可能会恢复失败',
ipWebsiteWarn: 'IP 为域名的网站,需要设置为默认站点才能正常访问',
hstsHelper: '开启 HSTS 可以增加网站安全性',
includeSubDomains: '子域',
hstsIncludeSubDomainsHelper: '启用后HSTS策略将应用于当前域名的所有子域名',
defaultHtml: '默认页面',
website404: '网站 404 错误页',
domain404: '网站不存在页',
indexHtml: '静态网站默认页',
stopHtml: '网站停用页',
indexPHP: 'PHP 网站默认页',
sslExpireDate: '证书过期时间',
website404Helper: '网站 404 错误页仅支持 PHP 运行环境网站和静态网站',
sni: '回源 SNI',
sniHelper: '反代后端为 https 的时候可能需要设置回源 SNI具体需要看 CDN 服务商文档',
proxySslVerify: '校验后端 SSL 证书',
proxySslVerifyHelper: '开启后,反向代理 HTTPS 后端时将严格校验服务器证书(默认不校验)',
huaweicloud: '华为云',
createDb: '创建数据库',
enableSSLHelper: '开启失败不会影响网站创建',
batchAdd: '批量添加域名',
batchInput: '批量编辑',
domainNotFQDN: '该域名可能无法在公网访问',
domainInvalid: '域名格式不正确',
domainBatchHelper: '一行一个域名,格式:域名:端口\n示例example.com',
generateDomain: '生成',
global: '全局',
subsite: '子网站',
subsiteHelper: '子网站可以选择已存在的 PHP 和静态网站的目录作为主目录',
parentWbeiste: '父级网站',
deleteSubsite: '删除当前网站需要先删除子网站 {0}',
loadBalance: '负载均衡',
server: '节点',
algorithm: '算法',
ipHash: 'IP 哈希',
ipHashHelper: '基于客户端 IP 地址将请求分配到特定服务器,可以确保特定客户端总是被路由到同一服务器',
leastConn: '最小连接',
leastConnHelper: '将请求发送到当前活动连接数最少的服务器',
leastTime: '最小时间',
leastTimeHelper: '将请求发送到当前活动连接时间最短的服务器',
defaultHelper:
'默认方法,请求被均匀分配到每个服务器,如果服务器有权重配置,则根据指定的权重分配请求,权重越高的服务器接收更多请求',
weight: '权重',
maxFails: '最大失败次数',
maxConns: '最大连接数',
strategy: '策略',
strategyDown: '停用',
strategyBackup: '备用',
ipHashBackupErr: 'IP 哈希不支持备用节点',
failTimeout: '故障超时',
failTimeoutHelper:
'服务器健康检查的时间窗口长度。在该时间段内累计失败次数达到阈值时,服务器将被暂时移除,并在经过相同时长后重新尝试。默认 10 秒',
staticChangePHPHelper: '当前为静态网站,可以切换为 PHP 网站',
proxyCache: '反代缓存',
cacheLimit: '缓存空间限制',
shareCahe: '缓存计数内存大小',
cacheExpire: '缓存过期时间',
shareCaheHelper: '每1M内存可以存储约8000个缓存对象',
cacheLimitHelper: '超过限制会自动删除旧的缓存',
cacheExpireJHelper: '超出时间缓存未命中将会被删除',
realIP: '真实 IP',
ipFrom: 'IP 来源',
ipFromHelper:
'通过配置可信 IP 来源OpenResty 会分析 HTTP Header 中的 IP 信息,准确识别并记录访客的真实 IP 地址,包括在访问日志中',
ipFromExample1: '如果前端是 Frp 等工具,可以填写 Frp 的 IP 地址,类似 127.0.0.1',
ipFromExample2: '如果前端是 CDN可以填写 CDN 的 IP 地址段',
ipFromExample3: '如果不确定,可以填 0.0.0.0/0ipv4 ::/0ipv6 [注意:允许任意来源 IP 不安全]',
http3Helper:
'HTTP/3 是 HTTP/2 的升级版本,提供更快的连接速度和更好的性能,但是不是所有浏览器都支持 HTTP/3开启后可能会导致部分浏览器无法访问',
cors: '跨域访问',
enableCors: '开启跨域',
allowOrigins: '允许访问的域名',
allowMethods: '允许的请求方法',
allowHeaders: '允许的请求头',
allowCredentials: '允许携带cookies',
preflight: '预检请求快速响应',
preflightHleper:
'开启后当浏览器发送跨域预检请求OPTIONS 请求)时,系统会自动返回 204 状态码并设置必要的跨域响应头',
changeDatabase: '切换数据库',
changeDatabaseHelper1: '数据库关联用于备份恢复网站',
changeDatabaseHelper2: '切换其他数据库会导致以前的备份无法恢复',
saveCustom: '另存为模版',
rainyun: '雨云',
volcengine: '火山引擎',
runtimePortHelper: '当前运行环境存在多个端口,请选择一个代理端口',
runtimePortWarn: '当前运行环境没有端口,无法代理',
cacheWarn: '请先关闭反代中的缓存开关',
loadBalanceHelper: '创建负载均衡后请前往反向代理添加代理并将后端地址设置为http://<负载均衡名称>。',
favorite: '收藏',
cancelFavorite: '取消收藏',
useProxy: '使用代理',
useProxyHelper: '使用面板设置中的代理服务器地址',
westCN: '西部数码',
openBaseDir: '防跨站攻击',
openBaseDirHelper: 'open_basedir 用于限制 PHP 文件访问路径,有助于防止跨站访问和提升安全性',
serverCacheTime: '服务器缓存时间',
serverCacheTimeHelper: '请求在服务器端缓存的时间,到期前相同请求会直接返回缓存结果,不再请求源站。',
browserCacheTime: '浏览器缓存时间',
browserCacheTimeHelper: '静态资源在浏览器本地缓存的时间,减少重复请求。到期前用户刷新页面会直接使用本地缓存。',
donotLinkeDB: '不关联数据库',
toWebsiteDir: '进入网站目录',
execParameters: '执行参数',
extCommand: '补充命令',
mirror: '镜像源',
execUser: '执行用户',
execDir: '执行目录',
packagist: '中国全量镜像',
batchOperate: '批量操作',
batchOperateHelper: '批量{0}网站,是否继续操作?',
stream: 'TCP/UDP 代理',
streamPorts: '监听端口',
streamPortsHelper: '设置对外监听的端口号客户端将通过此端口访问服务按逗号分割例如5222,5223',
streamHelper: 'TCP/UDP 端口转发与负载均衡',
udp: '启用 UDP',
syncHtmlHelper: '同步到 PHP 和静态网站',
},
php: {
short_open_tag: '短标签支持',
max_execution_time: '最大脚本运行时间',
max_input_time: '最大输入时间',
memory_limit: ' 脚本内存限制',
post_max_size: 'POST数据最大尺寸',
file_uploads: '是否允许上传文件',
upload_max_filesize: '允许上传文件的最大尺寸',
max_file_uploads: '允许同时上传文件的最大数量',
default_socket_timeout: 'Socket超时时间',
error_reporting: '错误级别',
display_errors: '是否输出详细错误信息',
disableFunction: '禁用函数',
disableFunctionHelper: '输入要禁用的函数例如exec多个请用,分割',
uploadMaxSize: '上传限制',
indexHelper: '为保障 PHP 网站正常运行,请将代码放置于主目录下的 index 目录,并避免重命名',
extensions: '扩展模版',
extension: '扩展',
extensionsHelper: '多个扩展请用,分割',
toExtensionsList: '查看扩展列表',
containerConfig: '容器配置',
containerConfigHelper: '环境变量等信息可以在创建完成之后在配置-容器配置中修改',
dateTimezoneHelper: '示例TZ=Asia/Shanghai请根据需要自行添加',
},
nginx: {
serverNamesHashBucketSizeHelper: '服务器名字的hash表大小',
clientHeaderBufferSizeHelper: '客户端请求的头buffer大小',
clientMaxBodySizeHelper: '最大上传文件',
keepaliveTimeoutHelper: '连接超时时间',
gzipMinLengthHelper: '最小压缩文件',
gzipCompLevelHelper: '压缩率',
gzipHelper: '是否开启压缩传输',
connections: '活动连接(Active connections)',
accepts: '总连接次数(accepts)',
handled: '总握手次数(handled)',
requests: '总请求数(requests)',
reading: '请求数(Reading)',
writing: '响应数(Writing)',
waiting: '驻留进程(Waiting)',
status: '当前状态',
configResource: '配置修改',
saveAndReload: '保存并重载',
clearProxyCache: '清除反代缓存',
clearProxyCacheWarn: '此操作将删除缓存目录下的所有文件, 是否继续?',
create: '新增模块',
update: '编辑模块',
params: '参数',
packages: '软件包',
script: '脚本',
module: '模块',
build: '构建',
buildWarn: '本地构建模块需要占用一定的 CPU 和内存,静态模块还会重建并重启 OpenResty是否继续',
buildPurposeHint: '动态模块构建后热加载生效(容器不重启);包含静态模块时将全量重建镜像并重建容器',
buildMode: '构建方式',
buildModeDynamic: '动态模块',
buildModeStatic: '静态模块',
buildStatus: '构建状态',
loadOrder: '加载顺序',
modulesToBuild: '动态模块(构建后热加载,容器不重启)',
staticModules: '静态模块',
staticModulesHelper: '构建时将全量重建并重启 OpenResty',
forceBuild: '忽略缓存重新构建',
buildFailed: '上次构建失败',
pending: '待构建',
ready: '已构建',
failed: '构建失败',
dynamicUnsupported: '当前 OpenResty 版本不支持动态构建',
moduleDynamicUnsupported: '该模块参数不支持动态构建',
mirrorUrl: '软件源',
paramsHelper: '例如:--add-module=/tmp/ngx_brotli动态模式会自动转换参数',
packagesHelper: '例如git,curl 按,分割',
scriptHelper: '编译之前执行的脚本,一般为下载模块源码,安装依赖等',
buildHelper: '动态模块构建后通过配置加载;静态模块仍需重新构建 OpenResty',
defaultHttps: 'HTTPS 防窜站',
defaultHttpsHelper1: '开启后可以解决 HTTPS 窜站问题',
sslRejectHandshake: '拒绝默认 SSL 握手',
sslRejectHandshakeHelper: '开启之后可以避免证书泄露,设置默认网站会让此设置失效',
},
ssl: {
create: '申请证书',
provider: '类型',
manualCreate: '手动创建',
acmeAccount: 'Acme 账号',
resolveDomain: '解析域名',
err: '错误',
value: '记录值',
dnsResolveHelper: '请到DNS解析服务商处添加以下解析记录',
detail: '详情',
msg: '证书信息',
ssl: '证书',
key: '私钥',
startDate: '生效时间',
organization: '签发机构',
renewConfirm: '是否确定给域名 {0} 申请证书?',
autoRenew: '自动续签',
autoRenewHelper: '距离到期时间30天自动续签',
renewSuccess: '续签成功',
renewWebsite: '该证书已经和以下网站关联,申请会同步应用到这些网站',
createAcme: '创建账户',
acmeHelper: 'Acme 账户用于申请免费证书',
upload: '上传证书',
applyType: '申请方式',
apply: '申请',
applyStart: '证书申请开始',
getDnsResolve: '正在获取 DNS 解析值,请稍后 ...',
selfSigned: '自签证书',
ca: '证书颁发机构',
commonName: '证书主体名称(CN)',
caName: '机构名称',
company: '公司/组织',
department: '部门',
city: '城市',
province: '省份',
country: '国家代号',
commonNameHelper: '例如:',
selfSign: '签发证书',
days: '有效期',
domainHelper: '一行一个域名,支持*和IP地址',
pushDir: '推送证书到本地目录',
dir: '目录',
pushDirHelper: '会在此目录下生成两个文件证书文件fullchain.pem 密钥文件privkey.pem',
organizationDetail: '机构详情',
fromWebsite: '从网站中获取',
dnsMauanlHelper: '手动解析模式需要在创建完之后点击申请按钮获取 DNS 解析值',
httpHelper: '使用 HTTP 模式需安装 OpenResty且不支持申请泛域名证书。',
buypassHelper: 'Buypass 大陆地区无法访问',
googleHelper: '如何获取 EAB HmacKey 和 EAB kid',
googleCloudHelper: 'Google Cloud API 大陆大部分地区无法访问',
skipDNSCheck: '跳过 DNS 校验',
skipDNSCheckHelper: '如果出现申请超时问题,请勾选此处,其他情况请勿勾选',
cfHelper: '请勿使用 Global API Key',
deprecated: '即将废弃',
deprecatedHelper: '已经停止维护,可能会在以后的某个版本废弃,请使用腾讯云方式解析',
dnsPodRemoved: '已移除',
dnsPodRemovedTip: 'DnsPod 已被 lego v5 移除,当前账号无法用于证书申请/续签,请改用腾讯云 DNS 账号',
dnsPodRemovedSSLTip: '此证书绑定的 DnsPod 账号在 lego v5 已不可用,自动续签将失败,请将 DNS 账号切换到腾讯云',
disableCNAME: '禁用 CNAME',
disableCNAMEHelper: '有 CNAME 配置的域名,如果申请失败,可以勾选此处',
nameserver: 'DNS 服务器',
nameserverHelper: '使用自定义的 DNS 服务器来校验域名',
edit: '编辑证书',
execShell: '申请证书之后执行脚本',
shell: '脚本内容',
shellHelper:
'脚本默认执行目录为 1Panel 安装目录,如果有推送证书,那么执行目录为证书推送目录。默认超时时间 30 分钟',
customAcme: '自定义 ACME 服务',
customAcmeURL: 'ACME 服务 URL',
baiduCloud: '百度云',
pushNode: '同步到其他节点',
pushNodeHelper: '申请/续期之后推送到选择的节点',
fromMaster: '主节点推送',
hostedZoneID: '托管区域 ID',
isIP: 'IP 证书',
useEAB: '使用 EAB 认证',
},
firewall: {
create: '创建规则',
edit: '编辑规则',
advancedControl: '高级控制',
advancedControlNotAvailable: '当前使用 {0} 防火墙,高级规则仅支持 iptables',
ccDeny: 'CC 防护',
ipWhiteList: 'IP 白名单',
ipBlockList: 'IP 黑名单',
fileExtBlockList: '文件扩展名黑名单',
urlWhiteList: 'URL 白名单',
urlBlockList: 'URL 黑名单',
argsCheck: 'GET 参数校验',
postCheck: 'POST 参数校验',
cookieBlockList: 'Cookie 黑名单',
dockerHelper: '当前防火墙无法禁用容器端口映射,已安装应用可前往【已安装】页面编辑应用参数,配置端口放行规则。',
iptablesHelper: '检测到系统正在使用 {0} 防火墙,如需切换至 iptables请先手动卸载',
quickJump: '快速跳转',
used: '已使用',
unUsed: '未使用',
dockerRestart: '防火墙操作需要重启 Docker 服务',
firewallHelper: '{0}系统防火墙',
firewallNotStart: '当前未开启系统防火墙,请先开启!',
restartFirewallHelper: '该操作将对当前防火墙进行重启操作,是否继续?',
stopFirewallHelper: '系统防火墙关闭后,服务器将失去安全防护,是否继续?',
startFirewallHelper: '系统防火墙开启后,可以更好的防护服务器安全,是否继续?',
noPing: '禁 ping',
enableBanPing: '禁 ping',
disableBanPing: '解除禁 ping',
noPingTitle: '是否禁 ping',
noPingHelper: '禁 ping 后将无法 ping 通服务器,是否继续?',
onPingHelper: '解除禁 ping 后您的服务器可能会被黑客发现,是否继续?',
changeStrategy: '修改{0}策略',
changeStrategyIPHelper1: 'IP 策略修改为【屏蔽】,设置后该 IP 将禁止访问服务器,是否继续?',
changeStrategyIPHelper2: 'IP 策略修改为【放行】,设置后该 IP 将恢复正常访问,是否继续?',
changeStrategyPortHelper1: '端口策略修改为【拒绝】,设置后端口将拒绝外部访问,是否继续?',
changeStrategyPortHelper2: '端口策略修改为【允许】,设置后端口将恢复正常访问,是否继续?',
stop: '禁止',
portFormatError: '请输入正确的端口信息!',
portHelper1: '多个端口8080,8081',
portHelper2: '范围端口8080-8089',
strategy: '策略',
accept: '允许',
drop: '拒绝',
anyWhere: '所有 IP',
address: '指定 IP',
addressHelper: '支持输入 IP 或 IP 段',
allow: '放行',
deny: '屏蔽',
addressFormatError: '请输入合法的 ip 地址!',
addressHelper1: '支持输入 IP 或 IP 段172.16.10.11 或 172.16.0.0/24',
addressHelper2: '多个 IP 或 IP 段 请用 "," 隔开172.16.10.11,172.16.0.0/24',
allIP: '所有 IP',
portRule: '端口规则',
forwardRule: '端口转发',
ipRule: 'IP 规则',
userAgent: 'User-Agent 过滤',
destination: '目的地',
sourcePort: '源端口',
targetIP: '目标 IP',
targetPort: '目标端口',
forwardHelper1: '如果是本机端口转发目标IP为127.0.0.1',
forwardHelper2: '如果目标IP不填写则默认为本机端口转发',
forwardPortHelper: '支持端口范围8080-8089',
forwardInboundInterface: '转发入站网卡',
exportHelper: '即将导出 {0} 条防火墙规则,是否继续?',
importSuccess: '成功导入 {0} 条规则',
importPartialSuccess: '导入完成:成功 {0} 条,失败 {1} 条',
ipv4Limit: '当前操作暂仅支持 IPv4 地址',
basicStatus: '当前未绑定链 {0} ,请先绑定!',
baseIptables: 'iptables 服务',
forwardIptables: 'iptables 端口转发服务',
advanceIptables: 'iptables 高级配置服务',
initMsg: '即将初始化 {0}, 是否继续?',
initHelper: '检测到 {0} 未初始化,请点击顶部状态栏的初始化按钮进行配置!',
bindHelper: '绑定 仅当状态为绑定时,防火墙规则才能生效,是否确认?',
unbindHelper: '解绑 解除绑定时,已添加的所有防火墙规则将失效,请谨慎操作,是否确认?',
portWhiteList: '端口白名单',
portWhiteListAlter: '防火墙初始化或启动时,将自动放行白名单端口',
portWhiteListHelper: '支持指定协议(如 80/tcp、443/udp未指定时默认使用 TCP。',
defaultStrategy: '当前链 {0} 的默认策略为 {1}',
defaultStrategy2: '当前链 {0} 的默认策略为 {1},当前状态为未绑定,已添加的防火墙规则需要绑定后生效!',
filterRule: 'Filter 规则',
filterHelper: 'Filter 规则允许您在 INPUT/OUTPUT 级别控制网络流量。请谨慎配置,避免锁定系统。',
chain: '链',
targetChain: '目标链',
sourceIP: '源 IP',
destIP: '目标 IP',
inboundDirection: '入站方向',
outboundDirection: '出站方向',
destPort: '目标端口',
action: '动作',
reject: '拒绝',
sourceIPHelper: 'CIDR 格式,如 192.168.1.0/24留空表所有地址',
destIPHelper: 'CIDR 格式,如 10.0.0.0/留空表所有地址',
portHelper: '0 表示任意端口',
allPorts: '所有端口',
deleteRuleConfirm: '将删除 {0} 条规则,是否继续?',
},
runtime: {
runtime: '运行环境',
workDir: '工作目录',
localHelper: '本地环境安装及离线环境使用相关问题,可参考 ',
versionHelper: 'PHP的版本,例 v8.0',
buildHelper: '扩展越多,制作镜像时占用的 CPU 越高,可在创建环境后再安装扩展',
openrestyWarn: 'PHP 需要升级 OpenResty 至 1.21.4.1 版本以上才能使用',
toupgrade: '去升级',
edit: '编辑运行环境',
extendHelper: '未列出的扩展可手动输入并选择,如:输入 sockets 后选择下拉列表中的第一个',
rebuildHelper: '编辑扩展后需要【重建】PHP 应用之后才能生效',
rebuild: '重建 PHP 应用',
source: 'PHP 扩展源',
ustc: '中国科学技术大学',
netease: '网易',
aliyun: '阿里云',
tsinghua: '清华大学',
xtomhk: 'XTOM 镜像站(香港)',
xtom: 'XTOM 镜像站(全球)',
phpsourceHelper: '根据你的网络环境选择合适的源',
appPort: '应用端口',
externalPort: '外部映射端口',
packageManager: '包管理器',
codeDir: '项目目录',
appPortHelper: '应用端口是指容器内部的端口',
externalPortHelper: '外部映射端口是指容器对外暴露的端口',
runScript: '启动命令',
runScriptHelper: '启动命令列表是从源码目录下的 package.json 文件中解析而来',
open: '放开',
operatorHelper: '将对选中的运行环境进行 {0} 操作,是否继续?',
taobao: '淘宝',
tencent: '腾讯',
imageSource: '镜像源',
moduleManager: '模块管理',
module: '模块',
nodeOperatorHelper: '是否{0} {1} 模块?操作可能导致运行环境异常,请确认后操作',
customScript: '自定义启动命令',
customScriptHelper: '请填写完整的启动命令例如npm run startpm2 启动命令请换为 pm2-runtime否则会启动失败',
portError: '不能填写相同端口',
systemRestartHelper: '状态说明:中断-系统重启导致状态获取失败',
javaScriptHelper: '请填写完整启动命令例如java -jar halo.jar -Xmx1024M -Xms256M',
javaDirHelper: '目录中要包含 jar 包,子目录中包含也可',
goHelper: '请填写完整启动命令例如go run main.go 或 ./main',
goDirHelper: '目录中要包含 go 文件或二进制文件,子目录中包含也可',
extension: '扩展',
installExtension: '是否确认安装扩展 {0}',
loadedExtension: '已加载扩展',
popularExtension: '常用扩展',
uninstallExtension: '是否确认卸载扩展 {0}',
phpConfigHelper: '修改配置需要重启运行环境,是否继续',
operateMode: '运行模式',
dynamic: '动态',
static: '静态',
ondemand: '按需',
dynamicHelper: '动态调整进程数,灵活性高,适合流量波动较大或低内存的网站',
staticHelper: '固定进程数,适合高并发和稳定流量的网站,资源消耗较高',
ondemandHelper: '进程按需启动和销毁,资源利用最优,但初始响应可能较慢',
max_children: '允许创建的最大进程数',
start_servers: '启动时创建的进程数',
min_spare_servers: '最小空闲进程数',
max_spare_servers: '最大空闲进程数',
envKey: '名称',
envValue: '值',
environment: '环境变量',
pythonHelper:
'请填写完整启动命令例如pip install -r requirements.txt && python manage.py runserver 0.0.0.0:5000',
dotnetHelper: '请填写完整启动命令,例如 dotnet MyWebApp.dll',
dirHelper: '说明:请填写容器内的目录路径',
concurrency: '并发方案',
loadStatus: '负载状态',
extraHosts: '主机映射',
},
process: {
pid: '进程ID',
ppid: '父进程ID',
numThreads: '线程',
memory: '内存',
diskRead: '磁盘读',
diskWrite: '磁盘写',
netSent: '上行',
netRecv: '下行',
numConnections: '连接',
startTime: '启动时间',
running: '运行中',
sleep: '睡眠',
stop: '停止',
idle: '空闲',
zombie: '僵尸进程',
wait: '等待',
lock: '锁定',
blocked: '阻塞',
cmdLine: '启动命令',
basic: '基本信息',
mem: '内存信息',
openFiles: '文件打开',
env: '环境变量',
noenv: '无',
net: '网络连接',
laddr: '本地地址/端口',
raddr: '远程地址/端口',
stopProcess: '结束',
viewDetails: '查看详情',
stopProcessWarn: '是否确定结束此进程 (PID:{0})',
kill: '结束进程',
killNow: '立即结束',
killHelper: '结束进程 {0} 可能导致部分程序无法正常运行,是否继续?',
processName: '进程名称',
},
tool: {
supervisor: {
loadStatusErr: '获取进程状态失败,请检查 supervisor 服务状态',
notSupport: '未检测到 Supervisor 服务,请前往脚本库页面手动安装',
list: '守护进程',
config: 'Supervisor 配置',
primaryConfig: '主配置文件位置',
notSupportCtl: '未检测到 supervisorctl请前往脚本库页面手动安装',
user: '启动用户',
command: '启动命令',
dir: '运行目录',
numprocs: '进程数量',
initWarn:
'初始化操作需要修改配置文件的 [include] files 参数,修改后的服务配置文件所在目录: 1panel安装目录/1panel/tools/supervisord/supervisor.d/',
operatorHelper: '将对 {0} 进行 {1} 操作,是否继续?',
uptime: '运行时长',
notStartWarn: '当前未开启 Supervisor ,请先启动',
serviceName: '服务名称',
initHelper: '检测到 Supervisor 服务未初始化,请点击顶部状态栏的初始化按钮进行配置',
serviceNameHelper: 'systemctl 管理的 Supervisor 服务名称,一般为 supervisor、supervisord',
restartHelper: '初始化会重启服务,导致原有的守护进程全部关闭',
RUNNING: '运行中',
STOPPED: '已停止',
STOPPING: '停止中',
STARTING: '启动中',
FATAL: '启动失败',
BACKOFF: '启动异常',
ERROR: '错误',
statusCode: '状态码',
manage: '管理',
autoRestart: '自动重启',
EXITED: '已退出',
autoRestartHelper: '程序异常退出后是否自动重启',
autoStart: '自动启动',
autoStartHelper: 'Supervisor 启动后是否自动启动服务',
},
},
disk: {
management: '磁盘管理',
partition: '分区',
unmount: '取消挂载',
unmountHelper: '是否取消挂载分区 {0}',
mount: '挂载',
partitionAlert: '进行磁盘分区时需要格式化磁盘,原有数据将被删除,请提前保存或快照数据',
mountPoint: '挂载目录',
systemDisk: '系统磁盘',
unpartitionedDisk: '未分区磁盘',
handlePartition: '立即分区',
filesystem: '文件系统',
unmounted: '未挂载',
cannotOperate: '无法操作',
systemDiskHelper: '提示:当前磁盘为系统盘,无法进行操作',
autoMount: '开机自动挂载',
model: '设备型号',
diskType: '磁盘类型',
serial: '序列号',
noFail: '挂载失败不影响系统启动',
},
xpack: {
expiresEnterpriseAlert: '温馨提醒:企业版许可证将于 [{0}] 天后到期,届时将停止使用所有企业版功能。',
expiresProAlert: '温馨提醒:专业版许可证将于 [{0}] 天后到期,届时将停止使用所有专业版功能。',
menu: '高级功能',
upage: 'AI 建站',
proAlert: '升级商业版使用此功能',
logExport: {
title: '导出日志',
records: '导出记录',
retentionDays: '导出记录保留天数',
timeRange: '时间范围',
timeRequired: '请选择导出时间范围',
websiteRequired: '请选择网站',
blackStatus: '黑名单状态',
black: '已拉黑',
notBlack: '未拉黑',
fuzzy: '模糊匹配',
regex: '正则表达式',
invalidRegex: '请输入有效的 RE2 正则表达式,最长 256 个字符',
created: '导出任务已创建',
fileName: '文件名',
fileSize: '文件大小',
expiresAt: '过期时间',
cancelConfirm: '确认取消此导出任务?',
deleteConfirm: '确认删除此导出记录及文件?',
},
waf: {
name: 'WAF',
blackWhite: '黑白名单',
globalSetting: '全局设置',
websiteSetting: '网站设置',
blockRecords: '封锁记录',
world: '世界',
china: '中国',
intercept: '拦截',
request: '请求',
count4xx: '4xx 数量',
count5xx: '5xx 数量',
todayStatus: '今日状态',
reqMap: '拦截地图30日',
count: '数量',
hight: '高',
low: '低',
reqCount: '请求数',
interceptCount: '拦截数',
requestTrends: '请求趋势7日',
interceptTrends: '拦截趋势7日',
whiteList: '白名单',
blackList: '黑名单',
ipBlackListHelper: '黑名单中的 IP 无法访问网站',
ipWhiteListHelper: '白名单中的 IP 不受任何规则限制',
uaBlackListHelper: '携带黑名单中的 User-Agent 的请求将被拦截',
uaWhiteListHelper: '携带白名单中的 User-Agent 的请求不受任何规则限制',
urlBlackListHelper: '请求黑名单中的 URL 将被拦截',
urlWhiteListHelper: '请求白名单中的 URL 不受任何规则限制',
ccHelper: '{0} 秒内累计请求任意网站超过 {1} 次,封锁此 IP {2}',
blockTime: '封禁时间',
attackHelper: '{0} 秒内累计拦截超过 {1} 次,封锁此 IP {2} ',
notFoundHelper: '{0} 秒内累计请求返回 404 超过 {1} 次,封锁此 IP {2} ',
frequencyLimit: '频率限制',
regionLimit: '地区限制',
defaultRule: '默认规则',
accessFrequencyLimit: '访问频率限制',
attackLimit: '攻击频率限制',
notFoundLimit: '404 频率限制',
urlLimit: 'URL 频率限制',
urlLimitHelper: '为单个 URL 设置访问频率',
sqliDefense: 'SQL 注入防御',
sqliHelper: '识别请求中的 SQL 注入并拦截',
xssHelper: '识别请求中的 XSS 并拦截',
xssDefense: 'XSS 防御',
uaDefense: 'User-Agent 规则',
uaHelper: '包含常见的恶意爬虫规则',
argsDefense: '参数规则',
argsHelper: '禁止请求中携带恶意参数',
cookieDefense: 'Cookie 规则',
cookieHelper: '禁止请求中携带恶意 Cookie',
headerDefense: 'Header 规则',
headerHelper: '禁止请求中携带恶意 Header',
httpRule: 'HTTP 规则',
httpHelper:
'设置允许访问的方法类型,如果想限制某些类型访问,请关闭这个类型的按钮,例如:仅允许 GET 类型访问,那么需要关闭除了 GET 之外的其他类型按钮',
geoRule: '地区访问限制',
geoHelper: '使用一个开关组合地区和省份策略,地区规则先执行,省份规则可进一步限制中国省级区域',
regionPolicy: '地区策略',
provincePolicy: '省份策略',
provinceRuleLabel: '省份',
openRestyFeatureVersionAlert: 'OpenResty 版本需高于 1.31.1.1-0{0}才会生效。',
ipLocation: 'IP 归属地',
ipLocationSearchHelper: '请输入 IP 归属地,支持模糊搜索',
action: '动作',
ruleType: '攻击类型',
ipHelper: '请输入 IP',
attackLog: '攻击日志',
rule: '规则',
ipArr: 'IPV4 范围',
ipStart: '起始 IP',
ipEnd: '结束 IP',
ipv4: 'IPV4',
ipv6: 'IPV6',
urlDefense: 'URL 规则',
urlHelper: '禁止访问的 URL',
dirFilter: '目录过滤',
sqlInject: 'SQL 注入',
xss: 'XSS',
webshell: 'WebShell',
phpExec: 'PHP 脚本执行',
oneWordTrojan: '一句话木马',
appFilter: '应用危险目录过滤',
webShell: 'Webshell',
args: '参数规则',
protocolFilter: '协议过滤',
javaFilter: 'Java 危险文件过滤',
scannerFilter: '扫描器过滤',
escapeFilter: '转义过滤',
customRule: '自定义规则',
httpMethod: 'HTTP 方法过滤',
fileExt: '文件上传限制',
fileExtHelper: '禁止上传的文件扩展名',
deny: '禁止',
allow: '允许',
allowOnly: '仅放行',
field: '匹配对象',
pattern: '匹配条件',
ruleContent: '匹配内容',
contain: '包含',
equal: '等于',
regex: '正则表达式',
notEqual: '不等于',
customRuleHelper: '根据条件匹配执行相应动作',
actionAllow: '允许',
blockIP: '封禁 IP',
code: '返回状态码',
noRes: '断开连接 (444)',
badReq: '参数错误 (400)',
forbidden: '禁止访问 (403)',
serverErr: '服务器错误 (500)',
resHtml: '响应页面',
allowHelper: '允许访问会跳过 WAF 规则,请谨慎使用',
captcha: '人机验证',
fiveSeconds: '5 秒验证',
location: '地区',
redisConfig: 'Redis 配置',
redisHelper: '开启 Redis 可以将临时拉黑的 IP 持久化',
wafHelper: '关闭之后所有网站将失去防护',
websiteWafHelper: '关闭之后此网站将失去防护',
attackIP: '攻击 IP',
attackParam: '攻击信息',
execRule: '命中规则',
acl: '自定义规则',
sql: 'SQL 注入',
cc: '访问频率限制',
isBlocking: '封禁中',
isFree: '已解封',
unLock: '解封',
unLockHelper: '是否解封 IP:{0}?',
saveDefault: '保存默认',
saveToWebsite: '应用到网站',
saveToWebsiteHelper: '是否将当前设置应用到所有网站?',
websiteHelper: '此处为创建网站的默认设置,修改之后需要应用到网站才能生效',
websiteHelper2: '此处为创建网站的默认设置,具体配置请在网站处修改',
ipGroup: 'IP 组',
ipGroupHelper: '一行一个 IP 或 IP 段,支持 IPv4 和 IPv6 例如192.168.1.1 或 192.168.1.0/24',
ipBlack: 'IP 黑名单',
openRestyAlert: 'OpenResty 版本需要高于 {0}',
initAlert: '首次使用需要初始化,会修改网站配置文件,原有的 WAF 配置会丢失,请一定提前备份 OpenResty',
initHelper: '初始化操作将清除现有的 WAF 配置,您确定要进行初始化吗?',
mainSwitch: '总开关',
websiteSwitch: '开关',
websiteAlert: '请先创建网站',
defaultUrlBlack: 'URL 规则',
htmlRes: '拦截页面',
urlSearchHelper: '请输入 URL支持模糊搜索',
hostSearchHelper: '请输入 Host支持模糊搜索',
toCreate: '去创建',
closeWaf: '关闭 WAF',
closeWafHelper: '关闭 WAF 会使网站失去防护,是否继续',
addblack: '拉黑',
addwhite: '加白',
addblackHelper: '是否把 IP:{0} 添加到默认黑名单?',
addwhiteHelper: '是否把 IP:{0} 添加到默认白名单?',
defaultUaBlack: 'User-Agent 规则',
defaultIpBlack: '恶意 IP 组',
cookie: 'Cookie 规则',
urlBlack: 'URL 黑名单',
uaBlack: 'User-Agent 黑名单',
attackCount: '攻击频率限制',
fileExtCheck: '文件上传限制',
geoRestrict: '地区访问限制',
originProtect: 'CDN 源站保护',
attacklog: '拦截记录',
unknownWebsite: '未授权域名访问',
geoRuleEmpty: '地区或省份至少选择一项',
unknown: '网站不存在',
geo: '地区限制',
revertHtml: '是否还原{0}为默认页面?',
five_seconds: '5 秒验证',
header: 'Header 规则',
methodWhite: 'HTTP 规则',
expiryDate: '有效期',
expiryDateHelper: '验证通过后有效期内不再验证',
defaultIpBlackHelper: '从互联网收集的一些恶意 IP阻止其访问',
notFoundCount: '404 频率限制',
matchValue: '匹配值',
headerName: '支持非特殊字符开头,英文、数字、-,长度3-30',
cdnHelper: '使用 CDN 的网站可以打开此处来获取正确来源 IP',
clearLogWarn: '清空日志将无法恢复,是否继续?',
commonRuleHelper: '规则为模糊匹配',
blockIPHelper: '封锁 IP 临时存储在 OpenResty 中,重启 OpenResty 会解封,可以通过拉黑功能永久拉黑',
addWhiteUrlHelper: '是否把 URL {0} 添加到白名单?',
dashHelper: '社区版也可使用全局设置和网站设置中的功能',
wafStatusHelper: '当前防火墙未开启,网站安全防护已暂停,建议尽快启用。',
enableProtection: '开启防护',
ccMode: '模式',
global: '全局模式',
uriMode: 'URL 模式',
globalHelper: '全局模式:单位时间请求任意 URL 次数之和超过阈值即触发',
uriModeHelper: 'URL 模式:单位时间请求单个 URL 次数超过阈值即触发',
ip: 'IP 黑名单',
globalSettingHelper: '带有【网站】标签的设置,需要在【网站设置】配置生效,全局设置仅为新建网站的默认设置',
globalSettingHelper2: '设置生效需要【全局设置】和【网站设置】的开关同时打开',
urlCCHelper: '{0} 秒内累计请求此 URL 超过 {1} 次,封锁此 IP {2} ',
urlCCHelper2: 'URL 不能带参数',
notContain: '不包含',
urlcc: 'URL 频率限制',
method: '请求类型',
addIpsToBlock: '批量拉黑 IP',
addIpSegmentToBlock: '拉黑 IP 段',
addIpSegmentsToBlock: '批量拉黑 IP 段',
addUrlsToWhite: '批量加白 URL',
noBlackIp: 'IP 已拉黑,无需再次拉黑',
noWhiteUrl: 'URL 已加白,无需再次加白',
spiderIpHelper: '开启后仅放行已选择的蜘蛛,关闭后会拦截所有蜘蛛访问',
spiderIp: '蜘蛛 IP 池',
spider: '蜘蛛',
spiderAllowlist: '蜘蛛放行范围',
spiderAllowlistEmpty: '未选择任何蜘蛛,保存后将拦截所有蜘蛛访问',
geoIp: 'IP 地址库',
geoIpHelper: '用来确认 IP 的地理位置',
stat: '攻击报表',
statTitle: '报表',
attackIp: '攻击 IP',
attackCountNum: '攻击次数',
percent: '占比',
addblackUrlHelper: '是否把 URL:{0} 添加到默认黑名单?',
rce: '远程代码执行',
software: '软件',
cveHelper: '包含常见软件、框架的漏洞',
vulnCheck: '补充规则',
ssrf: 'SSRF 漏洞',
afr: '任意文件读取',
ua: '未授权访问',
id: '信息泄露',
aa: '认证绕过',
dr: '目录遍历',
xxe: 'XXE 漏洞',
suid: '序列化漏洞',
dos: '拒绝服务漏洞',
afd: '任意文件下载',
sqlInjection: 'SQL 注入',
afw: '任意文件写入',
il: '信息泄漏',
clearAllLog: '清空所有日志',
exportLog: '导出日志',
appRule: '应用规则',
appRuleHelper: '常见应用的规则,开启之后可以减少误报,一个网站只能使用一个规则',
logExternal: '排除记录类型',
ipWhite: 'IP 白名单',
urlWhite: 'URL 白名单',
uaWhite: 'User-Agent 白名单',
logExternalHelper:
'排除记录类型不会被记录到日志中,黑白名单、地区访问限制、自定义规则会产生大量日志,建议排除',
ssti: 'SSTI 攻击',
crlf: 'CRLF 注入',
strict: '严格模式',
strictHelper: '使用更严格的规则来校验请求',
executionStrategy: '执行策略',
detectionStrength: '检测强度',
protectionMode: '防护模式',
observationMode: '观察模式',
standardMode: '标准模式',
observationModeHelper: '仅检测并记录日志,不会拦截请求',
observationModeConfirm: '开启观察模式后,所有 WAF 命中都只记录日志,不会拦截请求,是否继续?',
globalStrictRequired: '需要先在全局设置中开启严格模式',
websiteSearchHelper: '请输入网站域名、别名或备注',
configReadFailed: '配置读取失败',
detailSetting: '详细设置',
observe: '观察',
saveLog: '保存日志',
remoteURLHelper: '远程 URL 需要保证每行一个 IP 并且没有其他字符',
notFound: 'Not Found (404)',
serviceUnavailable: '服务不可用 (503)',
gatewayTimeout: '网关超时 (504)',
belongToIpGroup: '属于 IP 组',
notBelongToIpGroup: '不属于 IP 组',
unknownWebsiteKey: '未知域名',
special: '指定',
fileToLarge: '文件超过 1MB 无法上传',
uploadOverLimit: '上传文件超过数量限制最大1个',
importRuleHelper: '一行一个规则',
},
monitor: {
name: '网站监控',
pv: '浏览量',
uv: '访客数',
flow: '流量',
ip: '独立 IP',
spider: '蜘蛛',
visitors: '访客趋势',
uvMap: '访客地图 (30日)',
qps: '实时请求数1分钟',
flowSec: '实时流量1分钟',
excludeCode: '排除状态码',
excludeUrl: '排除 URL',
excludeExt: '排除扩展名',
cdnHelper: '通过 CDN 设置的 Header 来获取真实 IP',
reqRank: '访问统计',
refererDomain: '来源',
os: '操作系统',
browser: '浏览器/客户端',
device: '设备',
showMore: '查看更多',
unknown: '其他',
pc: '电脑',
mobile: '移动端',
wechat: '微信',
machine: '机器',
tencent: '腾讯浏览器',
ucweb: 'UC 浏览器',
'2345explorer': '2345 浏览器',
huaweibrowser: '华为浏览器',
log: '请求日志',
statusCode: '状态码',
requestTime: '响应时间',
flowRes: '响应流量',
method: '请求类型',
statusCodeHelper: '可在上方输入状态码',
statusCodeError: '状态码类型错误',
methodHelper: '可在上方输入请求类型',
baidu: '百度',
google: '谷歌',
bing: '必应',
bytes: '今日头条',
sogou: '搜狗',
failed: '错误',
ipCount: 'IP 数',
spiderCount: '蜘蛛请求',
averageReqTime: '平均响应时间',
totalFlow: '总流量',
logSize: '日志文件大小',
realIPType: '真实IP获取方式',
realIPRecognition: '真实 IP 识别',
fromHeader: '从 HTTP Header 中获取',
fromHeaders: '从 Header 列表中获取',
header: 'HTTP Header',
cdnConfig: 'CDN 适配',
xff1: '获取 X-Forwarded-For 的上一级代理地址',
xff2: '获取 X-Forwarded-For 的上上一级代理地址',
xff3: '获取 X-Forwarded-For 的上上上一级代理地址',
xffHelper: '例如X-Forwarded-For: <client>,<proxy1>,<proxy2>,<proxy3> 上一级代理会取最后一个 IP <proxy3>',
headersHelper: '从下列常用的 CDN 携带真实 IP 的 HTTP Header 中获取,取第一个能获取到的值',
monitorCDNHelper: '修改网站监控的 CDN 配置会同步更新 WAF 的 CDN 配置',
wafCDNHelper: '修改 WAF 的 CDN 配置会同步更新网站监控的 CDN 配置',
originProtection: '源站保护',
originProtectionHelper: '只允许选定 IP 组中的 CDN 节点连接源站,访客真实 IP 识别使用独立开关',
originProtectionIPGroups: 'CDN 回源 IP 组',
originProtectionIPGroupsPlaceholder: '请选择可信 CDN 回源 IP 组',
originProtectionWarning: '配置错误可能导致网站无法访问,请先确认 IP 组包含全部 CDN 回源地址',
originProtectionEnableConfirm: '开启后,非所选 IP 组的连接将被视为源站直连并阻止访问,是否继续?',
statusErr: '状态码格式错误',
shenma: '神马搜索',
duckduckgo: 'DuckDuckGo',
yandex: 'Yandex',
gptbot: 'GPTBot',
'360': '360 搜索',
excludeUri: '排除 Uri',
top100Helper: '显示 Top 100 的数据',
logSaveDay: '日志保存天数',
cros: 'Chrome OS',
theworld: '世界之窗浏览器',
edge: 'Edge',
maxthon: '遨游浏览器',
monitorStatusHelper: '当前网站监控未开启,立即开启',
excludeIp: '排除 IP',
excludeUa: '排除 User-Agent',
remotePort: '远程端口',
unknown_browser: '未知',
unknown_os: '未知',
unknown_device: '未知',
logSaveSize: '最大日志保存大小',
logSaveSizeHelper: '此处为单个网站的日志保存大小',
'360se': '360 安全浏览器',
websites: '网站列表',
trend: '趋势统计',
reqCount: '请求数',
uriHelper: '可以使用 /test/* 或 /*/index.php 来排除 Uri',
},
tamper: {
tamper: '网站防篡改',
tamperCreateHint: '当前目录可能受防篡改或文件属性限制影响,导致创建失败。',
ignoreTemplate: '排除模版',
protectTemplate: '保护模版',
ignoreTemplateHelper:
'请输入排除内容,回车或空格分隔。(具体目录 ./log 或目录名 tmp排除文件需要输入具体文件 ./data/test.html',
protectTemplateHelper:
'请输入保护内容,回车或空格分隔。(具体文件 ./index.html、文件后缀 .html、 文件类型 js保护目录需要输入具体目录 ./log',
templateContent: '模版内容',
template: '模版',
saveTemplate: '保存为模版',
tamperHelper1:
'一键部署类型的网站,建议启用应用目录防篡改功能;如出现网站无法正常使用或备份、恢复失败的情况,请先关闭防篡改功能;',
tamperHelper2: '将限制非排除目录下受保护文件的读写、删除、权限和所有者修改操作',
tamperPath: '防护目录',
tamperPathEdit: '修改路径',
log: '拦截日志',
totalProtect: '总防护',
todayProtect: '今日防护',
templateRule: '长度1-512名称不能含有{0}等符号',
ignore: '排除',
ignoreHelper:
'请选择或输入排除内容,回车或空格分隔。(具体目录 ./log 或目录名 tmp排除文件需要输入或选择具体文件 ./data/test.html',
protect: '保护',
protectHelper:
'请选择或输入保护内容,回车或空格分隔。(具体文件 ./index.html、文件后缀 .html、文件类型 js, 保护目录需要输入或选择具体目录 ./log',
tamperHelper00: '排除和保护仅支持输入相对路径;',
tamperHelper01: '开启防篡改后,系统将限制非排除目录下保护文件的创建、编辑和删除操作等操作;',
tamperHelper02: '优先级:具体路径保护 > 具体路径排除 > 保护 > 排除',
tamperHelper03: '监听操作只针对于非排除目录,监听该目录下非保护文件的创建操作。',
disableHelper: '即将关闭下列网站的防篡改功能,是否继续?',
appendOnly: '仅追加',
appendOnlyHelper: '将限制该目录下文件的删除操作,仅允许添加排除目录或非保护文件',
immutable: '保护',
immutableHelper: '保护该文件的编辑、删除、权限和所有者修改操作',
onWatch: '监听',
onWatchHelper: '监听该目录下保护文件或非排除目录的创建拦截',
forceStop: '强制关闭',
forceStopHelper: '即将强制关闭该网站目录的防篡改功能,是否继续?',
},
setting: {
setting: '界面设置',
logo: 'Logo (不带文字)',
logoHelper: '将会显示在菜单收缩时管理页面左上方 (建议图片大小为: 82px*82px)',
logoWithText: 'Logo (带文字)',
logoWithTextHelper: '将会显示在菜单展开时管理页面左上方 (建议图片大小为: 185px*55px)',
favicon: '网站图标',
faviconHelper: '网站图标 (建议图片大小为: 16px*16px)',
setHelper: '即将保存当前界面设置内容,是否继续?',
setDefaultHelper: '即将恢复所有界面设置到初始状态,是否继续?',
logoGroup: 'Logo',
loginImage: '图片',
loginImageHelper: '将会显示在登录页面(建议图片大小为: 500*416px)',
loginBgType: '背景类型',
loginBgImage: '背景图片',
loginBgImageHelper: '将会显示在登录页面背景图片(建议图片大小为: 1920*1080px)',
loginBgColor: '背景颜色',
image: '图片',
bgColor: '背景色',
loginGroup: '登录页',
loginBtnLinkColor: '按钮/链接颜色',
},
helper: {
wafTitle1: '拦截地图',
wafContent1: '统计并展示 30 天内的拦截地理位置分布',
wafTitle2: '地区访问限制',
wafContent2: '按照地理位置限制网站的访问来源',
wafTitle3: '自定义拦截页面',
wafContent3: '自定义请求被拦截之后的显示页面',
wafTitle4: '自定义规则ACL',
wafContent4: '根据自定义的规则拦截请求',
tamperTitle1: '文件完整性监控',
tamperContent1: '监控网站文件的完整性,包括核心文件、脚本文件和配置文件等。',
tamperTitle2: '实时扫描和检测',
tamperContent2: '通过实时扫描网站文件系统,检测是否存在异常或被篡改的文件。',
tamperTitle3: '安全权限设置',
tamperContent3:
'通过合理的权限设置和访问控制策略,网站防篡改功能可以限制对网站文件的访问权限,减少潜在的攻击面。',
tamperTitle4: '日志记录与分析',
tamperContent4: '记录文件访问和操作日志,以便管理员进行后续的审计和分析,以及发现潜在的安全威胁。',
settingTitle1: '自定义欢迎语',
settingContent1: '在 1Panel 登录页上设置自定义的欢迎语。',
settingTitle2: '自定义 Logo',
settingContent2: '允许上传包含品牌名称或其他文字的 Logo 图像。',
settingTitle3: '自定义网站 icon',
settingContent3: '允许上传自定义的图标,以替代默认的浏览器图标,提升用户体验。',
monitorTitle1: '访客趋势',
monitorContent1: '统计并展示网站的访客趋势',
monitorTitle2: '访客地图',
monitorContent2: '统计并展示网站的访客地理位置分布',
monitorTitle3: '访问统计',
monitorContent3: '统计网站的请求信息,包括蜘蛛,访问设备,请求状态等',
monitorTitle4: '实时监控',
monitorContent4: '实时监控网站的请求信息,包括请求数,流量等',
alertTitle1: '短信告警',
alertContent1:
'当服务器资源使用异常、网站及证书过期、新版本更新、密码过期等情况发生时,通过短信告警通知用户,确保及时处理。',
alertTitle2: '告警日志',
alertContent2: '为用户提供查看告警日志的功能,方便追踪和分析历史告警事件。',
alertTitle3: '告警设置',
alertContent3:
'为用户提供自定义手机号、每日推送次数、每日推送时间的配置,方便用户的设置来更加合理的进行推送告警。',
nodeDashTitle1: '应用管理',
nodeDashContent1: '统一管理多节点应用,支持状态监控、快速起停、终端连接及备份',
nodeDashTitle2: '网站管理',
nodeDashContent2: '统一管理多节点网站,实时监控状态,支持批量起停与快速备份',
nodeDashTitle3: '数据库管理',
nodeDashContent3: '统一管理多节点数据库,关键状态一目了然,支持一键备份',
nodeDashTitle4: '计划任务管理',
nodeDashContent4: '统一管理多节点计划任务,支持状态监控、快速启停与手动触发执行',
nodeTitle1: '一键添加节点',
nodeContent1: '快速接入多台服务器节点',
nodeTitle2: '批量升级',
nodeContent2: '一次操作同步升级所有节点',
nodeTitle3: '节点状态监控',
nodeContent3: '实时掌握各节点运行状态',
nodeTitle4: '快速远程连接',
nodeContent4: '一键直连节点远程终端',
fileExchangeTitle1: '密钥认证传输',
fileExchangeContent1: '通过 SSH 密钥进行身份验证,确保传输的安全性。',
fileExchangeTitle2: '高效文件同步',
fileExchangeContent2: '仅同步变化内容,大幅提高传输速度与稳定性。',
fileExchangeTitle3: '支持多节点互传',
fileExchangeContent3: '可在不同节点间便捷传送项目文件,灵活管理多台服务器。',
nodeAppTitle1: '应用升级管理',
nodeAppContent1: '统一监控多节点应用更新情况,支持一键升级',
appTitle1: '灵活管理面板',
appContent1: '随时随地轻松管理你的 1Panel 服务器。',
appTitle2: '全面服务信息',
appContent2: '在移动端进行应用、网站、Docker、数据库等基础管理支持快速创建应用与网站。',
appTitle3: '实时异常监控',
appContent3: '移动端实时查看服务器状态、WAF 安全监控、网站访问统计与进程健康状况。',
clusterTitle1: '主从部署',
clusterContent1: '支持在不同节点创建 MySQL/Postgres/Redis 主从实例,自动完成主从关联与初始化',
clusterTitle2: '主从管理',
clusterContent2: '统一页面集中管理多个主从节点,查看其角色、运行状态等信息',
clusterTitle3: '复制状态',
clusterContent3: '展示主从复制状态与延迟信息,辅助排查同步异常问题',
vllmTitle1: '统一纳管',
vllmContent1: '将分散的 vLLM 服务统一接入 1Panel集中查看实例、版本、状态与运行目录。',
vllmTitle2: '快速部署',
vllmContent2: '通过可视化表单完成版本选择、模型目录挂载与启动参数配置,减少手工编排成本。',
vllmTitle3: '运维便捷',
vllmContent3: '在同一页面完成创建、编辑、启停、重启、删除与任务追踪,提升本地模型服务维护效率。',
vllmTitle4: '配置可控',
vllmContent4: '结合高级设置统一管理端口、容器、启动命令与 Compose 配置,便于标准化交付与后续调整。',
modelDownloaderTitle1: '模型发现',
modelDownloaderContent1: '直接搜索 HuggingFace 模型仓库,查看下载量、点赞数、模型详情与文件列表。',
modelDownloaderTitle2: '加速下载',
modelDownloaderContent2: '支持配置 HuggingFace 加速地址与 HF Token适配官方站、镜像站和私有模型访问。',
modelDownloaderTitle3: '任务追踪',
modelDownloaderContent3: '统一查看下载队列、任务状态、进度、错误信息,并支持取消、重试和记录清理。',
modelDownloaderTitle4: '本地管理',
modelDownloaderContent4: '集中维护本地模型目录,查看模型路径、大小和时间,支持删除不再需要的模型文件。',
},
node: {
master: '主节点',
masterBackup: '主节点备份',
backupNode: '备份节点',
backupFrequency: '备份频率(小时)',
backupCopies: '备份份数',
noBackupNode: '当前备份节点为空,请选择备份节点保存后重试!',
masterBackupAlert:
'当前未配置主节点备份,为保障数据安全,请尽快设置备份节点,便于主节点故障时可人工切换新主节点。',
node: '节点',
addr: '地址',
nodeUpgrade: '更新设置',
nodeUpgradeHelper: '选中的节点将在主节点升级完成后自动开始升级,无需手动操作。',
nodeUpgradePackageManage: '安装包管理',
nodeUpgradePackageClean: '清理',
nodeUpgradePackageFormatHelper: '仅支持 `1panel-agent_v*_*``1panel-v*-linux-*` 安装包',
nodeUpgradePackageHostConfirm: '即将选择服务器文件{0}是否继续',
nodeUpgradePackageCleanHelper: '即将清理所有低版本升级包是否继续',
nodeUpgradeOfflinePackageHelper: '离线环境中异构节点需先上传对应更新包后再更新',
healthCheck: '健康检查',
healthCheckFrequency: '检查频率',
healthCheckFrequencyHelper: '定时检查后端节点健康状态输入 0 时关闭检查',
healthCheckFrequencyLimit: '检查频率不能超过一天且必须为非负整数',
loadFailedNodeResources: '查询失败节点资源信息',
loadFailedNodeResourcesHelper: '打开节点列表时仍查询失败节点的资源信息',
nodeUnhealthy: '节点状态异常',
deletedNode: '已删除节点 {0} 暂不支持升级操作',
nodeUnhealthyHelper: '检测到该节点状态异常请在 [节点管理] 中检查后重试',
nodeUnbind: '节点未绑定许可证',
nodeUnbindHelper: '检测到该节点未绑定许可证请在 [ 面板设置 - 许可证 ] 菜单中绑定后重试',
memTotal: '内存总计',
nodeManagement: '多机管理',
multiOverview: '多机概览',
commonNodes: '常用节点',
searchNodePlaceholder: '搜索节点名称分组或地址',
nodeItem: '节点管理',
panelItem: '面板管理',
addPanel: '添加面板',
addPanelHelper: '面板添加成功后您可在 [ 概览 - 面板 ] 中快速访问目标面板',
panel: '1Panel 面板',
others: '其他面板',
addNode: '添加节点',
connInfo: '连接信息',
nodeInfo: '节点信息',
withProxy: '开启代理访问',
withoutProxy: '关闭代理访问',
withProxyHelper: '将使用面板设置中维护的系统代理 {0} 访问子节点是否继续',
withoutProxyHelper: '将停止使用面板设置中维护的系统代理访问子节点是否继续',
syncInfo: '数据同步',
syncHelper: '主节点数据发生变化时实时同步到该子节点',
syncBackupAccount: '备份账号设置',
syncWithMaster: '升级为商业版后将默认同步所有数据可在节点管理中手动调整同步策略',
syncProxy: '系统代理设置',
syncProxyHelper: '同步系统代理设置需要重启 Docker',
syncProxyHelper1: '重启 Docker 可能会影响当前正在运行的容器服务',
syncProxyHelper2: '可前往 容器 - 配置 页面手动重启',
syncProxyHelper3: '同步系统代理设置需要重启 Docker重启可能会影响当前正在运行的容器服务',
syncProxyHelper4: '同步系统代理设置需要重启 Docker可稍后前往 容器 - 配置 页面手动重启',
syncCustomApp: '同步自定义应用仓库',
syncAlertSetting: '系统告警设置',
syncNodeInfo: '节点基础数据',
nodeSyncHelper: '节点信息同步将同步以下信息',
nodeSyncHelper1: '1. 公用的备份账号信息',
nodeSyncHelper2: '2. 主节点与子节点的连接信息',
nodeCheck: '可用性检查',
checkSSH: '检查节点 SSH 连接',
checkUserPermission: '检查节点用户权限',
isNotRoot: '检查到该节点不支持免密 sudo且当前为非 root 用户',
checkLicense: '检查节点许可证状态',
checkService: '检查节点已存在服务信息',
checkPort: '检查节点端口可达',
panelExist: '检查到该节点正在运行 1Panel V1 服务请先通过迁移脚本升级至 V2 后再进行添加',
coreExist:
'当前节点已作为主节点启用无法直接作为从节点添加请先将其降级为从节点后再添加具体可参考文档',
agentExist: '检查到该节点已安装 1panel-agent继续添加将保留现有数据仅替换 1panel-agent 服务',
agentNotExist: '检查到该节点未安装 1panel-agent无法直接编辑该节点信息请先删除后重新添加',
oldDataExist: '检查到该节点存在 1Panel V2 历史数据将使用以下信息覆盖当前设置',
errLicense: '检查到该节点绑定的许可证不可用请检查后重试',
errNodePort: '检查到节点端口 [ {0} ] 无法访问请检查防火墙或安全组是否已放行该端口',
reinstallHelper: '重新安装节点 {0}, 是否继续',
unhealthyCheck: '异常检查',
fixOperation: '修复方案',
checkName: '检查项',
checkSSHConn: '检查 SSH 连接可用性',
fixSSHConn: '手动编辑节点确认连接信息',
checkConnInfo: '检查 Agent 连接信息',
checkStatus: '检查节点服务可用性',
fixStatus: 'systemctl status 1panel-agent.service 检查服务是否已启动',
checkAPI: '检查节点 API 可用性',
fixAPI: '排查节点日志检查防火墙端口是否正常放行',
forceDelete: '强制删除',
operateHelper: '将对以下节点进行 {0} 操作是否继续',
operatePanelHelper: '将对以下面板进行 {0} 操作是否继续',
uninstall: '删除节点数据',
uninstallHelper: '将删除节点所有 1Panel 相关数据谨慎选择',
forceDeleteHelper: '强制删除将会忽略节点删除错误删除数据库元数据',
baseDir: '安装目录',
baseDirHelper: '安装目录为空时默认安装在 /opt 目录下',
nodePort: '节点端口',
offline: '离线模式',
freeCount: '免费额度 [{0}] ',
offlineHelper: '节点为离线环境时使用',
appUpgrade: '应用升级',
appUpgradeHelper: ' {0} 个应用需要升级',
dashboardSetting: '概览设置',
keepOneDashboardComponent: '请至少保留一个概览板块',
},
opsReport: {
name: '运维报表',
overview: '概览',
system: '主机运行',
login: '登录与安全配置',
website: '网站防护',
resource: '运行资源',
cronjob: '计划任务',
alert: '告警通知',
history: '导出历史',
setting: '设置',
page: {
enterprise: '企业版',
reportNode: '报表节点',
selectReportNode: '选择报表节点',
currentNode: '当前节点',
scoreMeta: '扣分 {0} · 风险 {1} ',
hostAddress: '主机地址',
panelVersion: '面板版本',
cpuCores: '物理核心',
coreUnit: '{0} ',
memoryTotal: '内存总量',
reportDate: '报表日期',
serverSecurityOverview: '服务器安全运营概览',
securityScore: '安全评分',
overviewSummary: '当前安全等级为 {0}合计扣分 {1} 识别到 {2} 个风险项覆盖 {3} 个检查对象',
riskDistribution: '风险分布',
totalDeducted: '合计扣分',
noRiskDeducted: '未触发扣分',
scoreTrend: '评分趋势',
scoreLevelSafe: '安全',
scoreLevelAttention: '需关注',
scoreLevelMediumRisk: '中风险',
scoreLevelHighRisk: '高风险',
scoreCategoryHost: '主机资源',
scoreCategoryLogin: '登录安全',
scoreCategoryWebsite: '网站与证书',
scoreCategoryCronjob: '计划任务',
scoreCategoryResource: '运行资源',
scoreCategoryAlert: '告警通知',
scoreDiskHigh: '磁盘 {0} 使用率 {1}%',
scoreDiskMedium: '磁盘 {0} 使用率 {1}%',
scoreResourceHigh: '{0} 当前使用率 {1}%',
scoreResourceMedium: '{0} 当前使用率 {1}%',
scoreLoadMedium: '负载当前值 {0}',
scoreMonitorDisabled: '主机监控未开启',
scorePanelLoginFailedHigh: '面板登录失败 {0} ',
scorePanelLoginFailedMedium: '面板登录失败 {0} ',
scoreSSHLoginFailedHigh: 'SSH 登录失败 {0} ',
scoreSSHLoginFailedMedium: 'SSH 登录失败 {0} ',
scoreMFADisabled: 'MFA 未开启',
scoreAllowIPsOpen: '授权 IP 与绑定域名均未配置或未限制访问',
scorePanelHTTPSDisabled: '面板 HTTPS 未启用',
scoreSSHRootLogin: 'SSH 允许 Root 登录',
scoreSSHPasswordAuth: 'SSH 开启密码认证且未启用密钥认证',
scoreSSLExpired: '{0} 证书已到期',
scoreSSLHigh: '{0} 证书剩余 {1} ',
scoreSSLMedium: '{0} 证书剩余 {1} ',
scoreWebsiteExpired: '{0} 网站已到期',
scoreWebsiteExpire: '{0} 网站剩余 {1} 天到期',
scoreWebsiteHTTP: '{0} 未启用 HTTPS',
scoreWebsiteStopped: '{0} 状态异常',
scoreWebsiteMonitorUnavailable: '网站监控检测到不可用站点',
scoreWebsiteMonitorAvailability: '网站监控可用率 {0}% 低于阈值',
scoreWebsiteMonitorStatusAbnormal: '网站监控已开启但状态异常',
scoreWafDisabled: 'WAF 未开启网站未纳入防护',
scoreWafHighRiskHit: 'WAF 统计周期内命中 {0} 条风险规则',
scoreCronjobFailed: ' 7 天存在 {0} 条计划任务失败记录',
scoreAppFailed: '{0} 应用运行异常',
scoreAppStopped: '{0} 应用已停止',
scoreContainerHigh: '{0} 容器状态异常',
scoreContainerExited: '{0} 容器已停止',
scoreContainerResource: '{0} 容器资源使用率过高',
scoreContainerPublicPort: '{0} 容器存在公网暴露端口',
scoreAlertNoTask: '未配置告警任务',
scoreAlertNoEnabledTask: '告警任务均未启用',
scoreAlertDisabledTask: '存在 {0} 个停用告警任务',
scoreAlertNoChannel: '未启用告警通知通道',
scoreAlertFailedHigh: '存在 {0} 条告警失败日志',
scoreAlertFailedMedium: '存在 {0} 条告警失败日志',
scoreAlertPending: '存在 {0} 条告警待同步日志',
attentionItems: '待关注项',
attentionAssets: '待关注资产',
riskItems: '风险项',
object: '对象',
description: '说明',
itemUnit: '项',
recordUnit: '条',
certUnit: '张',
containerUnit: '个',
loginFailed: '登录失败',
sslExpire: '证书到期',
abnormalContainer: '异常容器',
statAttentionDesc: '当前合计扣分 {0} ',
statLoginDesc: '面板 {0} · SSH {1} ',
statSslDesc: '共检查 {0} 张证书',
statContainerDesc: '共检查 {0} 个容器',
statAlertDesc: '启用任务 {0} · 通道 {1} ',
assetHostDesc: '磁盘最高使用率 {0}%',
assetWebsiteDesc: '{0} 张证书即将到期{1} 个网站状态异常',
assetResourceDesc: '{0} 个应用异常{1} 个容器异常',
assetCronjobDesc: ' 7 {0} 条失败记录{1} 个任务未启用',
assetAlertDesc: '{0} 条失败日志{1} 条待同步日志',
app: '应用',
website: '网站',
websiteSsl: '网站 / 证书',
cronjob: '计划任务',
container: '容器',
sslCertificate: 'SSL 证书',
loginSecurity: '登录安全',
panelLogin: '面板登录',
sshLogin: 'SSH 登录',
failedRecord: '失败记录',
expired: '已到期',
expiredDays: '已过期 {0} ',
remainingDays: '{0} · 剩余 {1} ',
enabled: '已开启',
disabled: '未开启',
exportRecordFailed: '保存导出记录失败',
hostInfo: '主机信息',
hostname: '主机名',
osVersion: '系统版本',
kernelVersion: '内核版本',
arch: '架构',
uptime: '运行时间',
diskUsage: '磁盘使用',
mountPoint: '挂载点',
device: '设备',
capacity: '容量',
used: '已用',
usageRate: '使用率',
memory: '内存',
load: '负载',
maxDiskUsage: '磁盘最高使用率',
panelLoginSecurity: '面板登录安全配置',
sshSecurity: 'Linux 服务器 SSH 安全配置',
panelFailedRecords: '面板登录失败记录',
sshFailedRecords: 'SSH 登录失败记录',
location: '归属地',
configItem: '配置项',
currentValue: '当前值',
securityEntrance: '安全入口',
configured: '已配置',
notConfigured: '未配置',
normal: '正常',
needAttention: '需关注',
allowIPs: '授权 IP',
restricted: '已限制',
unrestricted: '未限制',
bindDomain: '绑定域名',
accessRestriction: '访问限制',
panelHTTPS: '面板 HTTPS',
passwordComplexity: '密码复杂度',
sshService: 'SSH 服务',
running: '运行中',
notRunning: '未运行',
listenPort: '监听端口',
read: '已读取',
rootLogin: 'Root 登录',
passwordAuth: '密码认证',
keyAuth: '密钥认证',
panelLoginFailed: '面板登录失败',
sshLoginFailed: 'SSH 登录失败',
panelSecurityItems: '面板安全项',
sshSecurityItems: 'SSH 安全项',
loginSecurityHealthStatus: '登录安全健康状态',
adjustSSHSecurity: '调整 SSH 安全',
viewLoginLogs: '查看登录日志',
riskLevel: '风险等级',
goConfig: '去配置',
viewMore: '查看更多',
involvedIPs: '涉及 {0} IP',
sessionTimeout: '会话超时时间',
countUnit: '次',
recent24Hours: ' 24 小时',
currentService: '当前服务',
riskItemsExist: '存在 {0} 项风险',
loginHealthRiskDesc: '存在 {0} 项风险配置建议立即加固登录安全配置降低被入侵风险',
loginHealthNormalDesc: '当前登录与 SSH 安全配置处于正常状态',
loginHealthNormalReason: '登录安全配置正常',
securityEntranceConfiguredDesc: '已配置安全入口降低默认入口暴露风险',
securityEntranceRiskDesc: '未开启安全入口建议隐藏默认登录入口',
allowIPsRestrictedDesc: '已限制允许访问面板的 IP',
allowIPsRiskDesc: '未限制访问 IP公网环境建议配置授权 IP',
bindDomainRestrictedDesc: '已绑定访问域名',
bindDomainRiskDesc: '未绑定访问域名建议限制固定域名访问',
accessRestrictionValue: '授权 IP{0} / 绑定域名{1}',
accessRestrictionNormalDesc: '已配置授权 IP 或绑定域名面板访问来源受限',
accessRestrictionRiskDesc: '授权 IP 与绑定域名均未配置或未限制访问建议至少配置一项',
panelHTTPSNormalDesc: '面板已启用 HTTPS',
panelHTTPSRiskDesc: '面板未启用 HTTPS登录链路存在明文风险',
passwordComplexityNormalDesc: '已开启密码复杂度校验',
passwordComplexityRiskDesc: '未开启密码复杂度校验弱密码风险较高',
mfa: 'MFA 认证',
mfaNormalDesc: '已开启 MFA 认证登录安全性更高',
mfaRiskDesc: '未开启 MFA 认证建议启用多因素认证',
sessionTimeoutNormalDesc: '会话超时时间处于较安全范围',
sessionTimeoutRiskDesc: '会话超时时间较长建议控制空闲会话有效期',
sshServiceNormalDesc: 'SSH 服务运行正常',
sshServiceRiskDesc: 'SSH 服务未运行或状态异常',
sshPortNormalDesc: 'SSH 端口已调整为非默认端口',
sshPortRiskDesc: '仍使用默认 22 端口建议按需调整',
rootLoginNormalDesc: 'Root 用户不可直接登录',
rootLoginRiskDesc: 'Root 用户可以直接登录建议禁用',
passwordAuthNormalDesc: '已禁用 SSH 密码登录',
passwordAuthRiskDesc: '允许使用密码登录暴力破解风险较高',
keyAuthNormalDesc: '已启用 SSH 密钥认证',
keyAuthRiskDesc: '未启用密钥认证建议使用密钥登录',
websiteOverview: '网站概览',
primaryDomain: '主域名',
expireTime: '到期时间',
domain: '域名',
issuer: '颁发机构',
autoRenew: '自动续签',
websiteCount: '网站数量',
httpsWebsite: 'HTTPS 网站',
certCount: '证书数量',
websiteExpire: '网站到期',
database: '数据库',
remoteDatabase: '远程数据库',
address: '地址',
containerResourceUsage: '容器资源占用',
spaceUsage: '占用空间',
reclaimable: '可回收空间',
containerReclaimable: '容器可回收',
image: '镜像',
volume: '数据卷',
buildCache: '构建缓存',
alert: '告警',
alertConfigured: '已配置告警',
alertOperations: '告警通知',
alertTaskCount: '告警任务',
enabledAlertTask: '启用任务',
disabledAlertTask: '停用任务',
alertChannels: '通知通道',
alertLogCount: '告警日志',
alertSuccessRate: '告警成功率',
alertFailedLogs: '失败告警日志',
alertPendingLogs: '待同步日志',
alertPending: '待同步',
alertTaskStats: '告警任务统计',
alertTaskType: '告警类型',
alertLogStatusStats: '告警执行状态',
alertHealthNormal: '正常',
alertHealthAttention: '需关注',
alertHealthRisk: '高风险',
alertHealthSummary: '告警健康状态',
alertHealthNormalReason: '告警任务通知通道和执行日志均处于正常状态',
alertNoChannelReason: '未启用通知通道',
alertFailedLogReason: '存在 {0} 条失败日志',
alertPendingReason: '存在 {0} 条待同步日志',
alertDisabledTaskReason: '{0} 个告警任务已停用',
alertNoTaskReason: '未配置告警任务',
goAlertConfig: '告警配置',
goAlertLogs: '告警日志',
configureAlertChannel: '配置通知通道',
createAlertTask: '创建告警任务',
viewAlertTasks: '查看告警任务',
viewFailedAlertLogs: '查看失败日志',
viewAlertLogs: '查看告警日志',
alertChannelSummary: '已启用 {0} / {1} 个通道',
alertTaskEnabledDesc: '已启用 {0} 个任务',
alertTaskSummary: '启用 {0} 停用 {1} ',
alertLogSummary: '成功 {0} 失败 {1} ',
alertPendingDesc: '{0} 条日志等待同步',
alertLogSuccessDesc: '已完成通知',
alertLogFailedDesc: '需检查通道配置或发送链路',
alertLogPendingDesc: '离线或同步链路待处理',
failedAlertLogs: '失败告警日志',
disabledAlertTasks: '停用告警任务',
alertTableDisplayDesc: '当前展示 {0} {1} ',
noAlertTask: '暂无告警任务',
noFailedAlertLog: '暂无失败告警日志',
noDisabledAlertTask: '暂无停用告警任务',
alertMsg: '告警内容',
alertMethod: '告警方式',
alertRule: '告警规则',
alertCronjobType: '计划任务{0}',
alertAllTargets: '全部对象',
alertAllDisks: '全部磁盘',
alertAllCertificates: '全部证书',
alertAllWebsites: '全部网站',
alertDiskRuleShort: '{0} 超过 {1}{2}每天 {3} ',
alertAverageRuleShort: '{0} 分钟均值超过 {1}%每天 {2} ',
alertTimeRuleShort: '剩余 {0} 天内触发发送 {1} ',
alertSendCountRuleShort: '每天发送 {0} ',
failedExecutionRecords: '失败执行记录',
taskID: '任务 ID',
executeTime: '执行时间',
backupTasks: '备份类任务',
systemMetrics: '运行指标',
cpu: 'CPU',
thresholdPercent: '阈值 {0}%',
recent24HourPeakPercent: ' 24 小时峰值 {0}',
loadAverage: '1 / 5 / 15 分钟负载{0} / {1} / {2}',
sourceMount: '挂载点 {0}',
storageUsage: '空间占用',
localDisk: '本地磁盘',
highUsagePeriods: '高负载时段',
timeRange: '时间范围',
threshold: '阈值',
duration: '持续时间',
peak: '峰值',
scoring: '计分',
counted: '计入',
notCounted: '未计入',
dataSource: '数据来源',
noHighUsagePeriod: '暂无高负载时段',
monitorDisabledOrNoData: '主机监控未启用或暂无监控数据',
systemHealthStatus: ' 24 小时主机运行风险状态',
mainReasons: '主要原因',
viewHostMonitor: '查看主机监控',
systemHealthAttentionDesc: ' 24 小时检测到 {0} 个风险项建议优先关注资源峰值和磁盘使用率',
systemHealthNormalDesc: ' 24 小时主机运行指标处于正常状态',
monitorEnabled: '监控已开启',
cpuCoreUsage: '{0} / {1} ',
load1Minute: '1 分钟负载',
diskSpaceUsage: '磁盘空间占用',
usedCapacity: '已使用 / 总容量',
fileSystem: '文件系统',
resourceTrendSummary: '资源趋势摘要',
last24Hours: ' 24 小时',
granularityHour: '粒度1 小时',
current: '当前',
average: '平均',
totalItems: ' {0} ',
to: '至',
hoursShort: '{0} 小时',
minutesShort: '{0} 分钟',
websiteStatus: '网站状态',
websiteHealthStatus: '网站防护健康状态',
websiteHealthNormalReason: '网站证书WAF 与网站监控均处于正常状态',
websiteHealthAttentionDesc: '检测到 {0} 个风险项建议尽快处理以保障网站安全与可用性',
websiteHealthNormalDesc: '当前网站防护指标处于正常状态',
handleSslRisk: '处理证书风险',
viewWaf: '查看 WAF',
priority: '优先级',
riskDescription: '风险描述',
deductScore: '影响分值',
remaining: '剩余',
wafSourceIpTop: 'WAF 拦截来源 IP TOP5',
wafAffectedSiteTop: '受影响站点 TOP5',
sslRisk: '证书风险',
sslExpiring: '证书临期',
includedInReport: '已纳入报表',
needRenewal: '建议续签',
fromExpireInfo: '来自到期信息',
runningWebsite: '运行中网站',
fromWebsiteStatus: '来自网站列表状态',
stoppedWebsite: '已停止网站',
confirmStoppedWebsite: '确认是否符合预期',
expiringWebsite: '快要过期网站',
expiringSoon: '即将到期',
none: '暂无',
noSslRisk: '暂无需处理证书',
websiteProtection: 'WAF 与网站监控',
websiteMonitor: '网站监控',
waf: 'WAF',
siteAvailability: '站点可用率',
monitoredSites: '监控站点',
requestCount: '请求数',
abnormalSites: '异常站点',
count5xxSource: ' 5xx 请求统计',
wafIntercept: 'WAF 拦截',
websiteMonitorDisabledOrNoData: '网站监控未启用或暂无监控数据',
wafDisabledOrNoData: 'WAF 未启用或暂无拦截数据',
serviceEnabledButAbnormal: '已开启但状态异常',
noWafData: '暂无 WAF 拦截数据',
sourceIP: '来源 IP',
hitCount: '命中次数',
level: '等级',
attackType: '攻击类型',
requestRatio: '请求占比',
installed: '已安装',
normalRunning: '正常运行',
failedStart: '启动失败',
manualStopped: '手动停止',
failed: '失败',
success: '成功',
canUpdate: '可升级',
listSeparator: '、',
containerCount: '容器数量',
stopped: '停止',
abnormal: '异常',
abnormalContainers: '异常容器',
resourceUsage: '资源使用',
exposedContainerPorts: '暴露端口',
portMapping: '端口映射',
risk: '风险',
noAbnormalContainer: '暂无异常容器',
noExposedContainer: '未检测到暴露端口',
publicExpose: '公网暴露',
privateExpose: '内网映射',
resourceHealth: '运行资源健康状态',
checkTime: '检测时间',
resourceHealthNormalDesc: '当前应用数据库和容器资源处于正常状态',
resourceHealthAttentionDesc: '检测到 {0} 个需关注项建议优先处理停止资源和公网暴露端口',
resourceHealthRiskDesc: '检测到 {0} 个高风险项请优先处理异常容器或启动失败应用',
resourceThresholdContainers: 'CPU / 内存超阈值容器',
noThresholdExceededContainer: '暂无超阈值容器',
triggerMetric: '触发项',
resourceReasonAppFailed: '{0} 个应用启动失败',
resourceReasonAppStopped: '{0} 个应用已停止',
resourceReasonContainerAbnormal: '{0} 个容器状态异常',
resourceReasonContainerStopped: '{0} 个容器已停止',
resourceReasonPublicPorts: '公网暴露端口 {0} ',
resourceReasonNormal: '应用数据库和容器状态正常',
viewAbnormalContainers: '查看异常容器',
viewExposedPorts: '查看暴露端口',
viewAppResources: '查看应用资源',
viewRuntimeResources: '查看运行资源',
viewContainerResources: '查看容器资源',
configuredServices: '已配置服务',
publicPrivatePorts: '公网暴露 {0} / 内网映射 {1} ',
currentDisplayTotal: '当前展示 {0} {1} ',
reclaimableSpace: '可回收空间',
estimatedReclaimable: '预计可回收',
unusedImageSpace: '未使用镜像空间',
stoppedContainerSpace: '停止容器空间',
unusedVolumeSpace: '未使用存储卷空间',
buildCacheSpace: 'Docker 构建缓存空间',
executionRecords: '执行记录',
successRate: '成功率',
failedJobs: '失败任务',
recentRecoveryPoint: '最近恢复点',
disabledCronjobTasks: '未启用计划任务',
remoteCoverage: '远程覆盖',
recent7Days: ' 7 ',
taskTypeStats: '任务类型统计',
total: '总计',
taskTypeDesc: '已启用 {0} 未启用 {1} ',
failedOrAttentionTasks: '失败或需关注任务',
execution: '执行情况',
latestExecution: '最近执行',
remoteBackup: '远程备份',
localOnly: '仅本地',
covered: '已覆盖',
noAttentionCronjob: '暂无失败或需关注的计划任务',
cronjobHealth: '计划任务健康状态',
cronjobHealthNormalDesc: '当前计划任务执行与备份配置处于正常状态',
cronjobHealthAttentionDesc: '存在 {0} 个需关注项建议优先处理未启用任务和失败记录',
cronjobHealthRiskDesc: '存在 {0} 个风险项建议优先处理失败任务和未启用任务',
cronjobReasonFailed: '失败记录 {0} ',
cronjobReasonDisabled: '{0} 个任务未启用',
cronjobReasonLocalOnlyBackup: '备份仅本地 {0} ',
cronjobReasonNormal: '计划任务执行与备份覆盖正常',
riskLow: '低风险',
viewFailedRecords: '查看失败任务',
viewCronjobTasks: '查看计划任务',
checkBackupTasks: '检查备份任务',
generationRule: '生成规则',
scheduleDaily: '每天',
scheduleDailyDesc: '每天 09:00 生成近 24 小时报表',
scheduleWeekly: '每周',
scheduleWeeklyDesc: '每周一 09:00 生成近 7 天报表',
scheduleMonthly: '每月',
scheduleMonthlyDesc: '每月 1 09:00 生成上月报表',
scheduleCurrentDaily: '每天 09:00 生成近 24 小时报表 · 下次 {0}',
scheduleCurrentWeekly: '每周一 09:00 生成近 7 天报表 · 下次 {0}',
scheduleCurrentMonthly: '每月 1 09:00 生成上月报表 · 下次 {0}',
notificationMethod: '通知方式',
channel: '通道',
receiver: '接收对象',
systemThreshold: '系统阈值',
metric: '指标',
currentRule: '当前规则',
hostMonitor: '主机监控',
monitorInterval: '监控间隔',
exportSettings: '导出设置',
lastExportReport: '最近生成结果',
noLastExportReport: '暂无导出报告记录',
lastExportStatus: '最后导出状态',
exportFile: '导出文件',
generateTime: '生成时间',
fileSize: '文件大小',
viewExportHistory: '查看导出历史',
defaultFormat: '默认格式',
savePath: '保存目录',
savePathRequired: '请设置报表保存目录',
autoExport: '启用自动导出',
autoExportDesc: '开启后将每天 09:00 自动生成运维报表',
autoExportEnabled: '已启用自动导出',
autoExportDisabled: '未启用自动导出',
readOnlyPermissionTip: '当前账号仅可查看运维报表设置如需修改请联系管理员授权',
refreshing: '刷新中',
exporting: '导出中',
exportFailed: '导出报表失败',
generating: '生成中',
saved: '已保存',
saveFailed: '保存设置失败',
generateNow: '立即生成',
generateSuccess: '已生成报表文件{0}',
generateFailed: '生成报表失败',
enabledStatus: '已启用',
disabledStatus: '已停用',
alertConfigInvalid: '配置异常',
thresholdRule: '阈值 {0}连续 {1} 次触发',
hours: '{0} 小时',
minutes: '{0} 分钟',
seconds: '{0} ',
totalExports: '导出总数',
successExports: '成功导出',
failedExports: '失败导出',
reportName: '报表名称',
exportFormat: '导出格式',
operator: '操作人',
triggerType: '触发方式',
filePath: '文件路径',
manualExport: '手动',
scheduledExport: '定时',
exportResult: '导出结果',
exportDetail: '导出说明',
},
},
user: {
user: '用户',
userInfo: '用户信息',
userManage: '用户管理',
superAdmin: '超级管理员',
superAdminDesc: '拥有系统全部管理权限可管理所有资源和配置',
nodeAdmin: '节点管理员',
nodeAdminDesc: '拥有指定节点的管理权限可管理节点内资源和配置',
readOnly: '只读用户',
readOnlyDesc: '拥有系统全部只读权限可查看所有资源和配置',
bindNode: '绑定节点',
boundUsers: '绑定用户',
role: '角色',
roleName: '名称',
permission: '权限',
permissionDuplicate: '每个节点只能添加一种角色',
nodeAdminMasterConfirm: '主节点节点管理员权限较高请结合实际管理需要谨慎分配',
permissionLinkageTip: '存在依赖时将自动勾选关联权限手动取消后部分功能可能提示当前用户无权限',
allViewPermissionHelper: '拥有 AI 网关的所有查看权限',
apiKeyViewPermissionHelper: '仅能查看 AI 网关 API Key',
masterOnlyPermission: '主节点权限',
masterOnlyPermissionHelper: '该权限仅在主节点生效',
view: '查看',
manage: '管理',
},
customApp: {
name: '自定义仓库',
appStoreType: '仓库来源',
appStoreUrl: '仓库地址',
local: '本地',
remote: '远程',
imagePrefix: '镜像前缀',
imagePrefixHelper:
'用于自定义镜像前缀自动修改 Compose 文件中的镜像字段\n 例如当镜像前缀设置为 1panel/custom MaxKB 的镜像将变更为 1panel/custom/maxkb:v1.10.0',
closeHelper: '是否取消使用自定义仓库',
appStoreUrlHelper: '仅支持 .tar.gz 格式',
selectNode: '选择节点',
licenseHelper: '商业版支持自定义应用仓库功能',
databaseHelper: '应用关联数据库请选择目标节点数据库',
nodeHelper: '不能选择当前节点',
migrateHelper: '当前仅支持迁移单体应用和只关联 MySQLMariaDBPostgreSQL 数据库的应用',
opensslHelper: '如果使用加密备份两个节点之间的 openssl 版本必须保持一致不然会导致迁移失败',
installApp: '批量安装',
installAppHelper: '批量安装应用到选择的节点中',
},
alert: {
isAlert: '是否告警',
alertCount: '告警次数',
clamHelper: '扫描到感染文件时触发告警通知',
cronJobHelper: '定时任务执行失败时将触发告警通知',
licenseHelper: '商业版支持更多告警功能',
alertCountHelper: '每日最大告警次数',
alert: '短信告警',
logs: '告警日志',
list: '告警列表',
addTask: '创建告警',
editTask: '编辑告警',
alertMethod: '告警方式',
alertMsg: '告警内容',
alertRule: '告警规则',
titleSearchHelper: '请输入告警标题支持模糊搜索',
taskType: '告警类型',
ssl: '网站证书到期',
siteEndTime: '网站到期',
panelPwdEndTime: '面板密码到期',
panelUpdate: '面板新版本提醒',
cpu: '面板服务器 CPU 过高告警',
memory: '面板服务器内存过高告警',
load: '面板服务器负载过高告警',
disk: '面板服务器磁盘过高告警',
certificate: '证书',
remainingDays: '剩余天数',
sendCount: '告警次数',
sms: '短信通知',
wechat: '微信公众号',
dingTalk: '钉钉通知',
feiShu: '飞书通知',
mail: '邮箱通知',
email: '邮箱通知',
weCom: '企业微信',
bark: 'Bark',
sendCountRulesHelper: '到期前发送告警的总数每日仅发送一次',
panelUpdateRulesHelper: '新版本发送告警总数每日仅发送一次',
oneDaySendCountRulesHelper: '每日发送告警的总数',
siteEndTimeRulesHelper: '永不过期的网站不触发告警',
autoRenewRulesHelper: '证书开启自动续期剩余天数小于 31 不触发告警',
panelPwdEndTimeRulesHelper: '面板未设置密码到期时长不能使用密码到期告警',
sslRulesHelper: '所有 ssl 证书',
diskInfo: '磁盘信息',
monitoringType: '监测类型',
autoRenew: '自动续签',
useDisk: '占用磁盘',
usePercentage: '占用百分比',
changeStatus: '状态修改',
disableMsg: '停止告警任务会导致该任务不再发送告警消息是否继续',
enableMsg: '启用告警任务会让该任务发送告警消息是否继续',
useExceed: '使用超过',
useExceedRulesHelper: '使用超过指定值触发告警',
cpuUseExceedAvg: 'CPU 平均使用率超过指定值',
memoryUseExceedAvg: '内存平均使用率超过指定值',
loadUseExceedAvg: '负载平均使用率超过指定值',
cpuUseExceedAvgHelper: '指定时间内 CPU 平均使用率超过指定值',
memoryUseExceedAvgHelper: '指定时间内内存平均使用率超过指定值',
loadUseExceedAvgHelper: '指定时间内负载平均使用率超过指定值',
resourceAlertRulesHelper: '注意30 分钟内持续告警只发送一次',
specifiedTime: '指定时间',
deleteTitle: '删除告警',
deleteMsg: '是否确认删除告警任务',
allSslTitle: '所有网站证书到期告警',
sslTitle: '网站 {0} 证书到期告警',
allSiteEndTimeTitle: '所有网站到期告警',
siteEndTimeTitle: '网站 {0} 到期告警',
panelPwdEndTimeTitle: '面板密码到期告警',
panelUpdateTitle: '面板新版本提醒',
cpuTitle: 'CPU 占用过高告警',
memoryTitle: '内存占用过高告警',
loadTitle: '负载占用过高告警',
diskTitle: '挂载目录{0}的磁盘占用过高告警',
allDiskTitle: '磁盘占用过高告警',
timeRule: '剩余时间小于 {0} (如未处理次日会重新发送)',
panelUpdateRule: '检测到面板有新版本时发送一次 (如未处理次日会重新发送)',
avgRule: '{0} 分钟内平均{1}占用超过 {2}% 触发每天发送 {3} ',
diskRule: '挂载目录 {0} 的磁盘占用超过 {1}{2} 触发每天发送 {3} ',
allDiskRule: '磁盘占用超过 {0}{1} 触发每天发送 {2} ',
cpuName: ' CPU ',
memoryName: '内存',
loadName: '负载',
diskName: '磁盘',
syncAlertInfo: '同步告警信息',
syncAlertInfoMsg: '是否同步告警信息内容状态',
pushError: '推送失败',
pushSuccess: '推送成功',
syncError: '同步失败',
success: '告警成功',
pushing: '推送中...',
error: '告警失败',
cleanLog: '清空日志',
cleanAlertLogs: '清空告警日志',
daily: '当日第 {0} 次告警',
cumulative: '累计第 {0} 次告警',
clams: '病毒扫描告警',
taskName: '任务名称',
cronJobType: '任务类型',
clamPath: '扫描目录',
cronjob: '计划任务执行{0}异常',
app: '备份应用',
web: '备份网站',
database: '备份数据库',
directory: '备份目录',
log: '备份日志',
snapshot: '系统快照',
clamsRulesHelper: '需要开启告警通知的病毒扫描任务',
cronJobRulesHelper: '需要配置此类型的计划任务',
clamsTitle: '病毒扫描 {0} 任务检测到感染文件告警',
cronJobAppTitle: '计划任务-备份应用 {0} 任务失败告警',
cronJobWebsiteTitle: '计划任务-备份网站 {0} 任务失败告警',
cronJobDatabaseTitle: '计划任务-备份数据库 {0} 任务失败告警',
cronJobDirectoryTitle: '计划任务-备份目录 {0} 任务失败告警',
cronJobLogTitle: '计划任务-备份日志 {0} 任务失败告警',
cronJobSnapshotTitle: '计划任务-系统快照 {0} 任务失败告警',
cronJobShellTitle: '计划任务-Shell 脚本 {0} 任务失败告警',
cronJobCurlTitle: '计划任务-访问 URL {0} 任务失败告警',
cronJobCutWebsiteLogTitle: '计划任务-切割网站日志 {0} 任务失败告警',
cronJobCleanTitle: '计划任务-缓存清理 {0} 任务失败告警',
cronJobNtpTitle: '计划任务-同步服务器时间 {0} 任务失败告警',
clamsRule: '病毒扫描任务检测到感染文件告警每天发送 {0} ',
cronJobAppRule: '备份应用任务失败告警每天发送 {0} ',
cronJobWebsiteRule: '备份网站任务失败告警每天发送 {0} ',
cronJobDatabaseRule: '备份数据库任务失败告警每天发送 {0} ',
cronJobDirectoryRule: '备份目录任务失败告警每天发送 {0} ',
cronJobLogRule: '备份日志任务失败告警每天发送 {0} ',
cronJobSnapshotRule: '系统快照任务失败告警每天发送 {0} ',
cronJobShellRule: 'Shell 脚本任务失败告警每天发送 {0} ',
cronJobCurlRule: '访问 URL 任务失败告警每天发送 {0} ',
cronJobCutWebsiteLogRule: '切割网站日志任务失败告警每天发送 {0} ',
cronJobCleanRule: '缓存清理任务失败告警每天发送 {0} ',
cronJobNtpRule: '同步服务器时间任务失败告警每天发送 {0} ',
alertSmsHelper: '短信额度总量 {0} 已使用 {1} ',
goBuy: '去购买',
phone: '手机号',
phoneHelper: '请填写真实的手机号以免不能正常接收告警信息',
dailyAlertNum: '每日告警次数',
dailyAlertNumHelper: '每日告警通知的总次数最多通知 100 ',
timeRange: '时间范围',
sendTimeRange: '可发送时间范围',
sendTimeRangeHelper: '可推送{0}时间范围',
defaultPhone: '默认使用与许可证绑定的账户手机号',
noticeAlert: '通知告警',
resourceAlert: '资源告警',
agentOfflineAlertHelper: '节点开启离线告警将通过主节点每半小时扫描执行一次告警任务',
offline: '离线告警',
offlineHelper: '设置为离线告警将通过主节点每半小时扫描执行一次告警任务',
offlineOff: '开启离线告警',
offlineOffHelper: '开启离线告警将通过主节点每半小时扫描执行一次告警任务',
offlineClose: '关闭离线告警',
offlineCloseHelper: '关闭离线告警告警需通过子节点自行告警请保证子节点网络畅通以避免告警失败',
alertNotice: '告警通知',
methodConfig: '发送方式配置',
createMethod: '创建发送方式',
methodInvalid: '失效配置 {0}',
commonConfig: '全局配置',
smsConfig: '短信通知',
smsConfigHelper: '配置短信通知号码',
emailConfig: '邮箱',
emailConfigHelper: '配置 SMTP 邮件发送服务',
deleteConfigTitle: '删除告警配置',
deleteConfigMsg: '是否确认删除告警配置',
test: '测试',
alertTestOk: '测试通知成功',
alertTestFailed: '测试通知失败',
displayName: '显示名称',
sender: '发信地址',
password: '密码',
host: 'SMTP 服务器',
port: '端口号',
encryption: '加密方式',
recipient: '收件人',
licenseTime: '许可证到期提醒',
licenseTimeTitle: '许可证到期提醒',
displayNameHelper: '邮件的发件人显示名称',
senderHelper: '用于发送邮件的邮箱地址',
passwordHelper: '邮件服务的授权码',
hostHelper: 'SMTP 服务器地址例如: smtp.qq.com',
portHelper: 'SSL 通常为465TLS 通常为587',
sslHelper: '如果 SMTP 端口是 465通常需要启用 SSL',
tlsHelper: '如果 SMTP 端口是 587通常需要启用 TLS',
triggerCondition: '触发条件',
loginFail: '登录失败',
nodeException: '节点异常告警',
licenseException: '许可证异常告警',
panelLogin: '面板登录异常告警',
sshLogin: 'SSH 登录异常告警',
panelIpLogin: '面板登录 IP 异常告警',
sshIpLogin: 'SSH 登录 IP 异常告警',
ipWhiteListHelper: '白名单中的 IP 不受规则限制登录成功不进行告警',
nodeExceptionRule: '节点异常告警每天发送 {0} ',
licenseExceptionRule: '许可证异常告警每天发送 {0} ',
panelLoginRule: '面板登录告警每天发送 {0} ',
sshLoginRule: 'SSH 登录告警每天发送 {0} ',
userNameHelper: '用户名为空会默认使用发件箱地址',
alertConfigHelper: '配置告警通知通道用于接收面板消息推送',
weComConfigHelper: '企业微信告警通知配置',
wechatConfigHelper: '微信公众号告警通知配置',
dingTalkConfigHelper: '钉钉告警通知配置',
feiShuConfigHelper: '飞书告警通知配置',
barkConfigHelper: 'Bark 告警通知配置',
webhookName: '机器人名称',
webhookUrl: 'Webhook 地址',
alertConfigProHelper: '商业版额外支持企业微信钉钉飞书及短信告警',
recipientPlaceholder: '请输入收件人邮箱地址',
addRecipient: '添加收件人',
webhookItem: 'Webhook',
addWebhook: '添加 Webhook',
selectAlertType: '选择告警类型',
configDetail: '配置详情',
webhookCount: ' Webhook',
},
theme: {
lingXiaGold: '凌霞金',
classicBlue: '经典蓝',
freshGreen: '清新绿',
customColor: '自定义主题色',
setDefaultHelper: '即将恢复主题配色到初始状态是否继续',
setHelper: '即将保存当前选定的主题配色是否继续',
},
app: {
app: 'APP',
title: '面板别名',
titleHelper: '面板别名用于 APP 端的显示默认面板别名',
qrCode: '二维码',
apiStatusHelper: '面板 APP 需要开启 API 接口功能',
apiInterfaceHelper: '支持面板 API 接口访问功能面板 APP 需要开启该功能',
apiInterfaceHelper1:
'面板 APP 访问需将访问者添加至白名单非固定 IP 建议添加 0.0.0.0/0所有 IPv4::/0所有 IPv6',
qrCodeExpired: '刷新时间',
apiLeakageHelper: '请勿泄露二维码确保仅在受信任的环境中使用',
},
sync: {
menu: '资源同步',
file: '文件对传',
fileSyncConfirm: '是否将 {0} 节点文件/文件夹 {1} 传输到 {2} 节点 {3} 目录',
image: '镜像对传',
imageBatchDesc: '先选择源节点和源镜像再批量选择目标节点进行转发',
imageBatchConfirmPrefix: '即将把 {0} 张镜像转发到 {1} 个节点 {2} 个任务',
ssl: '证书同步',
sslBatchDesc: '选择源节点后可将指定证书同步到当前面板环境',
sslBatchConfirmPrefix: '即将把 {0} 张证书同步到 {1} 个节点 {2} 个任务',
app: '应用对传',
appBatchDesc: '选择源节点单个应用和目标节点后确认资源依赖并执行应用对传任务',
appSelectedApp: '已选应用',
appPreviewTitle: '对传预览',
appPreviewDesc: '确认目标节点和依赖资源后执行应用对传',
appDatabaseDependency: '数据库依赖',
appResourceRequired: '请先选择所有必需的关联资源',
appUnsupportedMultipleResources: '当前仅支持迁移最多关联一个资源的应用',
appUnsupportedResourceType: '当前仅支持迁移无资源依赖或仅依赖 MySQLMariaDBPostgreSQL 的应用',
targetTitle: '目标节点',
targetDesc: '源节点会自动排除可选择一个或多个目标节点',
targetSearchPlaceholder: '搜索节点名称或地址',
noTargetNodes: '没有可选目标节点',
noSourceNode: '请先选择源节点',
reviewTargets: '目标节点',
reviewEmpty: '请先选择资源和目标节点',
selectSourceFirst: '请先选择源节点',
selectResourceFirst: '请先选择要同步的资源',
selectTargetFirst: '请先选择至少一个目标节点',
submitSuccess: '同步任务已提交',
},
vm: {
vm: '虚拟机',
title: '虚拟机管理',
healthCheck: '健康检查',
healthCheckResult: {
pass: '正常',
info: '信息',
warn: '警告',
fail: '失败',
normal: '正常',
fixCommand: '修复命令',
technicalDetail: '技术详情',
check: {
vmName: '虚拟机名称',
libvirtConnection: 'Libvirt 连接',
vmDefinition: '虚拟机定义',
domainXML: '虚拟机 XML',
architecture: '架构',
virtualizationType: '虚拟化类型',
machineType: '机器类型',
efiCapability: 'EFI 能力',
qemuEmulator: 'QEMU 模拟器',
bootOrder: '启动顺序',
arm64Firmware: 'ARM64 固件',
arm64Features: 'ARM64 特性',
arm64Video: 'ARM64 显示设备',
arm64FirmwareFile: 'ARM64 固件文件',
arm64CDROM: 'ARM64 光驱',
blockDevice: '块设备',
isoArchitecture: 'ISO 架构',
network: '网络',
qemuLog: 'QEMU 日志',
arm64RuntimeFirmware: 'ARM64 固件运行参数',
},
reason: {
invalidName: '虚拟机名称无效',
connectionFailed: '无法连接 {uri}',
vmNotFound: '找不到虚拟机 {name}',
xmlReadFailed: '读取虚拟机 XML 失败',
liveXMLFallback: '无法读取持久化配置已改用当前运行配置',
xmlParseFailed: '解析虚拟机 XML 失败',
stateReadFailed: '无法确认虚拟机运行状态将跳过运行态固件检查',
guestArchMissing: 'XML 中缺少客体架构',
archMismatch: '宿主机架构为 {hostArch}客体架构为 {guestArch}不支持跨架构运行',
nonKVMType: '虚拟化类型为 {type}不是默认的 KVM',
archOrMachineMissing: 'XML 中缺少架构或机器类型',
machineUnsupported: '宿主机不支持 {arch}/{machine}',
emulatorNotSpecified: 'XML 未显式指定模拟器将由 Libvirt 选择',
fileNotFound: '文件不存在{path}',
fileNotExecutable: '文件不可执行{path}',
bootDeviceMissing: 'XML 中没有启动设备',
diskNotFirst: '硬盘不是第一启动项当前顺序{order}',
cdromNotInBootOrder: '已挂载 CD-ROM但启动顺序中没有光驱',
firmwareNotConfigured: '未配置 EFI Loader客体可能无法初始化显示或引导',
acpiCustom: '检测到 ACPI请确认这是客体明确需要的自定义配置',
acpiRequiresUEFI: '检测到 ACPI 但没有 UEFI会触发 ACPI requires UEFI',
apicUnsupported: '检测到 x86 APICARM64 配置不应包含该项',
gicNotDeclared: '持久化 XML 未显示 GICLibvirt 可能在运行态自动补充',
videoNotConfigured: 'XML 中没有配置显示设备',
videoNotVirtio: '显示设备类型为 {type}推荐使用 Virtio',
firmwareFileMissing: '固件文件不存在或不是普通文件{path}',
firmwareNotAvailable: 'Libvirt 未报告 EFI 能力且未找到 ARM64 UEFI 固件',
cdromBusNotSCSI: 'CD-ROM 使用 {bus} 总线ARM64 应使用 SCSI',
cdromNotOnVirtioSCSI: 'CD-ROM 未连接到 Virtio SCSI 控制器',
diskSourceMissing: '{device} {target} 没有源文件',
sourceNotFound: '{device} {target} 的源文件不存在{path}',
sourceIsDirectory: '{device} {target} 的源路径是目录{path}',
systemDiskNotFound: '没有检测到系统磁盘',
isoArchMismatch: '{guestArch} 客体挂载了疑似 {imageArch} 镜像{path}',
networkReadFailed: '无法读取网络 {name}',
networkStateReadFailed: '无法读取网络 {name} 的状态',
networkInactive: '网络 {name} 存在但未启动',
logUnavailable: '暂无可分析的启动日志',
logErrorsFound: '最近一次启动记录中发现常见错误',
vmNotRunning: '虚拟机当前未运行已跳过 QEMU 运行参数检查',
runtimeFirmwareMissing: 'QEMU 日志中未发现 pflashAAVMF QEMU_EFI',
},
},
overview: '概览',
dependencies: '依赖',
dependencyPurpose: '作用',
dependencyPurposeMap: {
libvirt: '提供虚拟机管理服务负责虚拟机生命周期和资源调度',
storage: '提供默认存储目录或存储池用于保存虚拟机磁盘文件',
},
dependencyNotReady: '虚拟机依赖检测未通过请处理后再使用虚拟机功能',
helperUnavailable: '虚拟机能力初始化失败请检查 Core 日志或重新升级后再使用虚拟机功能',
kvmUnavailable: '未检测到可用的 KVM 硬件虚拟化能力',
kvmCheckCpu: '确认宿主机 CPU 支持 Intel VT-x AMD-V 虚拟化能力',
kvmCheckBios: '进入 BIOS/UEFI 开启虚拟化相关选项',
kvmCheckModule: '确认内核模块 kvmkvm_intel kvm_amd 已正确加载',
kvmCheckDevice: '确认 /dev/kvm 存在且当前运行环境不是不支持 KVM 的容器或云主机',
cpu: 'CPU',
memory: '内存',
disk: '磁盘',
abnormal: '异常',
resourceOverview: '资源概况',
cpuAllocated: 'CPU 分配',
memoryAllocated: '内存分配',
storageUsed: '存储使用',
riskReminder: '风险提醒',
noRisk: '暂无风险',
runtimeHealth: '运行环境',
runtimeAbnormal: '虚拟机运行环境异常',
noDependency: '暂无依赖检测数据',
storageOverview: '存储池概况',
totalAllocated: '按虚拟机配置总量统计',
runningAllocated: '运行中占用{0}',
storageAvailable: '剩余可用{0}',
inProgress: '任务进行中',
needAttention: '需要关注',
normal: '正常',
environmentRisk: '虚拟机运行环境未就绪请处理依赖或虚拟化服务',
storageRisk: '存储池 {0} 使用率已达 {1}%',
abnormalRisk: '当前有 {0} 台虚拟机处于异常状态',
pausedRisk: '当前有 {0} 台虚拟机处于暂停状态',
memoryRisk: '虚拟机内存分配率已达 {0}%',
cpuLimitHelper: '当前可用 CPU{0} ',
cpuLimitExceeded: 'CPU 超出限制当前最大可用{0} ',
memoryLimitHelper: '当前可分配内存{0}宿主机需要预留 {1} 内存',
memoryLimitExceeded: '内存超出限制当前最大可分配{0}',
storageLimitHelper: '目标存储池当前可用空间{0}',
storageLimitExceeded: '磁盘容量超出限制当前最大可用{0}',
iso: '镜像',
createFromTemplate: '从模板启动',
template: '模板',
templateName: '模板名称',
convertToTemplate: '转为模板',
sourceVM: '来源虚拟机',
templateSize: '模板大小',
deleteTemplateConfirm: '删除模板 {0}该操作不可回滚是否继续',
orphanClean: '孤立数据清理',
orphanScan: '重新扫描',
orphanCleanHelper:
'仅展示未被虚拟机快照或已登记模板引用的候选文件请确认文件不再使用后再清理清理操作不可恢复',
orphanSelected: '已选择 {0} 个文件 {1}',
orphanSize: '文件大小',
orphanCleanConfirm: '确认清理已选择的 {0} 个文件{1}该操作不可恢复',
orphanCleanSuccess: '已清理 {0} 个文件释放 {1}',
orphanType: {
orphan_domain_disk: '孤立磁盘',
orphan_snapshot: '孤立快照',
partial_file: '未完成文件',
},
diskSize: '磁盘容量',
diskPath: '磁盘路径',
isoPath: '镜像源文件',
storagePool: '存储池',
network: '网络',
bridgeName: '桥接名称',
natNetworkHelper: '虚拟机可通过宿主机访问网络外部设备通常无法直接访问虚拟机',
bridgeNetworkHelper:
'让虚拟机接入宿主机已有的网桥 br0如宿主机有未使用的额外网卡也可为其创建网桥后使用',
bridgeNameHelper:
'请选择宿主机上已存在的 Linux bridge例如 br0物理网卡不是 bridgedocker/libvirt 管理的 bridge 不能在这里选择',
natCIDRHelper: 'CIDR网关和 DHCP 地址段将用于新建的 NAT 虚拟网络',
networkCIDR: '网络 CIDR',
gateway: '网关',
dhcpStart: 'DHCP 起始地址',
dhcpEnd: 'DHCP 结束地址',
bootOrder: '启动项',
bootDiskFirst: '磁盘优先HD CD-ROM',
bootIsoFirst: '镜像优先CD-ROM HD',
bootOrderConfirm: '确定将启动顺序修改为 {0} 虚拟机下次启动时将按此顺序尝试当前已挂载且可启动的设备',
startAfterCreate: '创建后启动',
autoStart: '开机自启',
resourceAutoStart: '开机自启',
capacity: '容量',
available: '可用',
vmCount: '关联虚拟机',
usedIPs: '已用 IP',
monitor: '监控',
monitorNotReady: '虚拟机未运行无法获取监控数据',
monitorLoadFailed: '获取虚拟机监控数据失败',
monitorLoadFailedWithReason: '获取虚拟机监控数据失败{0}',
rename: '重命名',
newName: '新名称',
renameHelper: '请输入新的虚拟机名称重命名需要虚拟机处于关机状态',
renameConfirm: '确认将虚拟机 [{0}] 重命名为 [{1}]',
renameRunningHelper: '请先关闭虚拟机后再重命名',
cpuUsage: 'CPU 使用率',
memoryUsage: '内存使用率',
diskIO: '磁盘 IO',
networkIO: '网络 IO',
diskReadWrite: '磁盘读 / ',
networkRxTx: '网络收 / ',
rx: '接收',
tx: '发送',
console: '控制台',
consoleNotReady: 'VNC 控制台不可用请启动虚拟机并检查 VNC 图形配置',
consoleDisconnected: 'VNC 控制台已断开连接',
consoleConnectFailed: 'VNC 控制台连接失败请检查控制台代理服务',
consoleCredentialsRequired: 'VNC 控制台需要认证信息请检查后端代理配置',
snapshot: '快照',
createSnapshot: '创建快照',
recoverSnapshot: '恢复快照',
snapshotSize: '占用',
currentSnapshot: '当前',
snapshotEmpty: '暂无快照',
snapshotHelper:
'快照会保存虚拟机当前状态作为还原点后续数据变化会记录在差分文件中不影响原始磁盘恢复快照时虚拟机会回到该时间点状态',
snapshotRecoverConfirm: '确认将虚拟机 [{1}] 恢复到快照 [{0}]恢复后虚拟机磁盘会回到该快照状态',
interface: '网络接口',
device: '设备',
path: '路径',
start: '启动',
shutdown: '关机',
reboot: '重启',
destroy: '强制停止',
suspend: '暂停',
resume: '恢复',
operateConfirm: '确认 {0} 虚拟机 [{1}]',
forceDelete: '强制删除',
forceDeleteHelper: '强制删除将会忽略虚拟机删除错误删除面板元数据并释放资源占用',
deleteNameHelper: '" 删除此虚拟机',
isoSource: '镜像来源',
downloadFromServer: '远程下载',
isoTargetDir: '镜像目标路径',
isoTargetDirHelper: '本地上传或从服务器下载的镜像会保存到该目录',
addingIsoRecord: '正在添加 ISO 记录',
transferInProgress: 'ISO 传输中请勿关闭当前抽屉或页面',
isoSize: '镜像大小',
deleteIsoConfirm: '删除操作不可回滚是否继续',
deleteSourceFile: '删除源文件',
deleteSourceFileHelper: '勾选后会同时删除该镜像记录引用的源文件文件删除后无法恢复',
dir: '本地目录',
},
cluster: {
cluster: '应用高可用',
name: '集群名称',
addCluster: '添加集群',
installNode: '安装节点',
master: '主节点',
slave: '从节点',
replicaStatus: '主从状态',
unhealthyDeleteError: '安装节点状态异常请在节点列表检查后重试',
replicaStatusError: '状态获取异常 请检查主节点',
masterHostError: '主节点 IP 不能为 127.0.0.1',
},
},
};
export default {
...getFuLocaleMessage('zh'),
...message,
};