mirror of
https://hubproxy.babadafafafafa.cn/https://github.com/1Panel-dev/1Panel.git
synced 2026-09-20 08:03:55 +08:00
* feat: integrate virtual machine migration into XPack * chore: remove virtual machine test files
6733 lines
368 KiB
Go
6733 lines
368 KiB
Go
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: '确认',
|
||
check: '检查',
|
||
submit: '提交',
|
||
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: '结束时间',
|
||
timeRange: '至',
|
||
dateStart: '开始日期',
|
||
dateEnd: '结束日期',
|
||
date: '日期',
|
||
},
|
||
table: {
|
||
all: '所有',
|
||
total: '共 {0} 条',
|
||
name: '名称',
|
||
type: '类型',
|
||
card: '卡片',
|
||
table: '表格',
|
||
status: '状态',
|
||
statusSuccess: '成功',
|
||
statusFailed: '失败',
|
||
statusWaiting: '等待中...',
|
||
records: '记录',
|
||
group: '分组',
|
||
default: '默认',
|
||
createdAt: '创建时间',
|
||
creator: '创建人',
|
||
publishedAt: '发布时间',
|
||
date: '时间',
|
||
updatedAt: '更新时间',
|
||
updater: '更新人',
|
||
operate: '操作',
|
||
message: '信息',
|
||
description: '描述',
|
||
interval: '耗时',
|
||
user: '用户',
|
||
title: '标题',
|
||
port: '端口',
|
||
forward: '转发',
|
||
protocol: '协议',
|
||
tableSetting: '表格设置',
|
||
refreshRate: '刷新频率',
|
||
noRefresh: '不刷新',
|
||
selectColumn: '选择列',
|
||
local: '本地',
|
||
serialNumber: '序号',
|
||
manageGroup: '管理分组',
|
||
backToList: '返回列表',
|
||
keepEdit: '继续编辑',
|
||
pin: '置顶',
|
||
unpin: '取消置顶',
|
||
},
|
||
loadingText: {
|
||
Upgrading: '系统升级中,请稍候...',
|
||
Restarting: '系统重启中,请稍候...',
|
||
Recovering: '快照恢复中,请稍候...',
|
||
Rollbacking: '快照回滚中,请稍候...',
|
||
},
|
||
msg: {
|
||
noneData: '暂无数据',
|
||
delete: '删除 操作不可回滚,是否继续?',
|
||
clean: '清空 操作不可回滚,是否继续?',
|
||
closeDrawerHelper: '系统可能不会保存您所做的更改,是否继续?',
|
||
deleteSuccess: '删除成功',
|
||
loginSuccess: '登录成功',
|
||
operationSuccess: '操作成功',
|
||
operationFailed: '操作失败',
|
||
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: '密码',
|
||
welcome: '欢迎回来,请使用用户名和密码登录。',
|
||
errorAuthInfo: '您输入的用户名或密码不正确,请重新输入!',
|
||
errorMfaInfo: '错误的验证信息,请重试!',
|
||
captchaHelper: '验证码',
|
||
errorCaptcha: '验证码错误!',
|
||
codeInput: '请输入 6 位 MFA 验证码',
|
||
mfaTitle: 'MFA 认证',
|
||
mfaCode: 'MFA 验证码',
|
||
title: 'Linux 服务器运维管理面板',
|
||
passkey: '使用通行密钥',
|
||
otherLoginMethods: '其他方式登录',
|
||
passkeyFailed: '通行密钥登录失败,请重试',
|
||
passkeyNotSupported: '当前浏览器或环境不支持通行密钥',
|
||
passkeyToPassword: '无法使用通行密钥? 使用账号密码登录',
|
||
licenseHelper: '《飞致云社区软件许可协议》',
|
||
errorAgree: '请点击同意社区软件许可协议',
|
||
agreeTitle: '服务协议及隐私保护',
|
||
agreeContent:
|
||
'为了更好的保障您的合法权益,请您阅读并同意以下协议 « <a href="https://www.fit2cloud.com/legal/licenses.html" target="_blank"> 飞致云社区软件许可协议 </a> »',
|
||
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 位且包含字母、数字、特殊字符中至少两项的密码组合',
|
||
commonPassword: '长度必须大于 6 位',
|
||
linuxName: '长度1-128,名称不能含有{0}等符号',
|
||
email: '请输入正确的邮箱',
|
||
number: '请输入正确的数字',
|
||
integer: '请输入正确的正整数',
|
||
ip: '请输入正确的 IP 地址',
|
||
host: '请输入正确的 IP 或域名',
|
||
hostHelper: '支持输入 ip 或域名',
|
||
port: '请输入正确的端口,1-65535',
|
||
selectHelper: '请选择正确的 {0} 文件',
|
||
domain: '域名格式错误',
|
||
databaseName: '支持英文、数字、_,长度1-30',
|
||
ipErr: '请输入正确的 IP 地址',
|
||
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: '证书',
|
||
security: '安全',
|
||
database: '数据库',
|
||
aiTools: 'AI',
|
||
mcp: 'MCP',
|
||
container: '容器',
|
||
cronjob: '计划任务',
|
||
system: '系统',
|
||
files: '文件',
|
||
monitor: '监控',
|
||
terminal: '终端',
|
||
settings: '面板设置',
|
||
toolbox: '工具箱',
|
||
logs: '日志审计',
|
||
runtime: '运行环境',
|
||
processManage: '进程管理',
|
||
process: '进程',
|
||
network: '网络',
|
||
supervisor: '进程守护',
|
||
tamper: '防篡改',
|
||
app: '应用',
|
||
msgCenter: '任务中心',
|
||
disk: '磁盘管理',
|
||
template: '模板',
|
||
},
|
||
home: {
|
||
recommend: '推荐',
|
||
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: '使用率',
|
||
goInstall: '去安装',
|
||
|
||
networkCard: '网卡',
|
||
disk: '磁盘',
|
||
|
||
memo: '备忘录',
|
||
memoPlaceholder: '点击编辑按钮启用编辑',
|
||
carouselSetting: '轮播设置',
|
||
tooltipSensitiveInfo: '显示/隐藏敏感信息',
|
||
},
|
||
tabs: {
|
||
more: '更多',
|
||
hide: '收起',
|
||
closeLeft: '关闭左侧',
|
||
closeRight: '关闭右侧',
|
||
closeCurrent: '关闭当前',
|
||
closeOther: '关闭其它',
|
||
closeAll: '关闭所有',
|
||
keepAlive: '保持页面会话',
|
||
cancelKeepAlive: '取消保持页面会话',
|
||
},
|
||
header: {
|
||
logout: '退出登录',
|
||
},
|
||
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: '技能',
|
||
pluginsTab: '插件',
|
||
pluginsInstalled: '已安装',
|
||
pluginsMarket: '插件市场',
|
||
pluginsMarketHint: '请输入关键词搜索插件',
|
||
pluginSearchPlaceholder: '搜索插件...',
|
||
pluginOrigin: '来源',
|
||
pluginOriginAll: '全部来源',
|
||
pluginOriginBundled: '内置',
|
||
pluginOriginExternal: '外部',
|
||
pluginStatusAll: '全部状态',
|
||
pluginEnabled: '已启用',
|
||
pluginDisabled: '已禁用',
|
||
pluginCategory: '分类',
|
||
pluginVerification: '验证',
|
||
pluginOfficial: '官方',
|
||
pluginCommunity: '社区',
|
||
pluginDownloads: '下载量',
|
||
pluginEnable: '启用',
|
||
pluginDisable: '禁用',
|
||
pluginListEmpty: '暂无插件',
|
||
pluginSearchEmpty: '未找到相关插件',
|
||
pluginInstallConfirm: '确认安装插件 {0}?',
|
||
pluginDisableConfirm: '确认禁用插件 {0}?',
|
||
pluginUninstallConfirm: '确认卸载插件 {0}?',
|
||
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: '保存用户名密码后将自动重建容器以使配置生效。',
|
||
dashboardAuthImmediateHelper: '保存后将立即更新 QwenPaw 登录凭据,无需重启容器。',
|
||
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 版本',
|
||
vllmDeployProfile: '部署模型',
|
||
vllmProfileFlash0731: 'DeepSeek V4 Flash 0731',
|
||
vllmProfileVisionExp: 'DeepSeek V4 Flash Vision Exp',
|
||
vllmCommandPortHelper: '启动命令必须使用 {0} 端口,否则服务将无法访问。',
|
||
ascendVisibleDevices: 'Ascend 可见设备(ASCEND_RT_VISIBLE_DEVICES)',
|
||
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: '模型映射',
|
||
tokenLimit: 'Token 限制',
|
||
tokenUsed: '已用 Token',
|
||
tokenRemaining: '剩余 Token',
|
||
resetToken: '重置 Token',
|
||
resetTokenConfirm: '确认重置 {0} 的 Token 用量?',
|
||
unlimited: '不限',
|
||
unlimitedWithAuto: '不限,包含 auto',
|
||
apiKeyCount: 'API Key 数',
|
||
lastUsedAt: '最近使用时间',
|
||
validityPeriod: '有效期',
|
||
keepCurrentValidity: '保持当前有效期',
|
||
neverExpires: '永不过期',
|
||
validForDays: '有效 {0} 天',
|
||
customDays: '自定义天数',
|
||
enterValidityDays: '请输入有效天数',
|
||
currentExpiresAt: '当前到期时间:{0}',
|
||
currentNeverExpires: '当前为永不过期',
|
||
expiresAt: '到期时间',
|
||
expired: '已过期',
|
||
reactivate: '重新激活',
|
||
settingTitle: 'AI 网关设置',
|
||
basicSetting: '基础设置',
|
||
performanceSetting: '性能设置',
|
||
logSetting: '日志设置',
|
||
protocolConversion: '协议转换',
|
||
protocolConversionDesc:
|
||
'开启后,文本请求可在 Chat Completions、Responses 和 Anthropic Messages 的受支持协议间直接转换,原生协议始终优先。',
|
||
protocolConversionRisk:
|
||
'协议转换无法保证无损,协议专属字段、工具调用、思考内容或多模态内容可能被降级或丢失,请权衡之后使用。',
|
||
visionEnhancement: '视觉增强',
|
||
visionEnhancementRisk: '视觉增强可能会将图片发送给独立的视觉模型供应商。',
|
||
visionModelGroup: '视觉模型组',
|
||
visionModelGroupDesc: '从该文本生成模型组中选择一个支持图片理解的模型,同一请求中的图片共用该模型。',
|
||
visionTargetModelGroup: '目标模型组',
|
||
visionTargetModelGroupDesc: '仅该文本生成模型组中的请求模型启用视觉增强,不会改变最终请求模型。',
|
||
visionEnhancementDesc:
|
||
'图片会先转换为文本证据,可能丢失细节,并增加延迟和模型费用。网关不会检测目标模型是否原生支持图片;保存后会重启网关,请权衡之后使用。',
|
||
visionPreprocess: '视觉预处理',
|
||
cacheHit: '缓存命中',
|
||
apiType: 'API 类型',
|
||
maxConcurrency: '最大并发',
|
||
accountMaxConcurrency: '账号最大并发',
|
||
groupMaxConcurrency: '用户组最大并发',
|
||
apiKeyMaxConcurrency: '单 API Key 最大并发',
|
||
gatewayConcurrency: '当前网关并发',
|
||
waitingQueue: '当前等待队列',
|
||
currentActiveUsers: '当前活跃用户',
|
||
activeStreamingRequests: '当前流式请求',
|
||
modelAccountConcurrency: '模型账号并发',
|
||
accountAvailability: '模型账号可用性',
|
||
capacityFull: '满载',
|
||
groupConcurrency: '用户组并发',
|
||
apiKeyConcurrency: 'API Key 并发',
|
||
currentLimit: '当前 / 上限',
|
||
utilization: '利用率',
|
||
autoRefreshSeconds: '每 {0} 秒自动刷新',
|
||
zeroMeansUnlimited: '设置为 0 表示不限制。',
|
||
groupMaxConcurrencyDesc: '限制该用户组所有 API Key 的活跃请求总数,设置为 0 表示不限制。',
|
||
apiKeyMaxConcurrencyDesc: '限制该用户组内每个 API Key 的活跃请求数,设置为 0 表示不限制。',
|
||
schedulingReason: '调度原因',
|
||
schedulingAffinity: '亲和命中',
|
||
schedulingLeastUtilized: '最低利用率',
|
||
schedulingPriorityFallback: '优先级降级',
|
||
schedulingRetry: '故障重试',
|
||
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: '是否截断',
|
||
responseBody: '响应体',
|
||
responseBodySize: '响应体大小',
|
||
responseBodyTruncated: '响应体是否截断',
|
||
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: '上游模型',
|
||
upstreamDuration: '上游耗时',
|
||
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: '调用顺序',
|
||
clientProtocol: '客户端 API',
|
||
upstreamProtocol: '上游 API',
|
||
conversionPath: '转换路径',
|
||
noAttemptDetails: '暂无调用链路记录',
|
||
input: '输入',
|
||
output: '输出',
|
||
total: '总计',
|
||
healthHealthy: '健康',
|
||
healthCooldown: '冷却',
|
||
healthUnhealthy: '异常',
|
||
healthDeleted: '已删除',
|
||
healthUnknown: '未知',
|
||
validationModelMapEmpty: '模型映射的模型名不能为空',
|
||
validationModelMapDuplicate: '请求模型 {0} 重复',
|
||
modelGroup: '模型组',
|
||
modelCapability: '模型能力',
|
||
textGeneration: '文本生成',
|
||
imageGeneration: '图片生成',
|
||
textModels: '文本模型',
|
||
textToImageModels: '文生图模型',
|
||
embeddingModels: 'Embedding 模型',
|
||
unauthorized: '未授权',
|
||
imageCount: '图片数量',
|
||
requestExample: '请求示例',
|
||
availableModels: '可用模型',
|
||
modelGroupModels: '请求模型',
|
||
modelGroupModelsPlaceholder: '请选择或输入请求模型名',
|
||
modelGroupModelsHelper:
|
||
'填写客户端请求 AI 网关时使用的请求模型名;智能路由会按顺序优先选择靠前模型,不做模型间负载均衡。',
|
||
modelGroupGuide:
|
||
'模型组配置客户端请求 AI 网关时使用的请求模型名;上游模型在账号池的模型映射中配置。智能路由模型名是虚拟名称,不需要放进模型组。',
|
||
modelGroupModelCount: '{0} 个模型',
|
||
contentCompliance: '内容合规',
|
||
contentAction: '处理动作',
|
||
actionBlock: '阻断',
|
||
actionAuditOnly: '仅记录',
|
||
actionDropHistory: '删除历史',
|
||
severity: '风险等级',
|
||
severityHigh: '高',
|
||
severityMedium: '中',
|
||
severityLow: '低',
|
||
sensitiveWord: '敏感词',
|
||
sensitiveGroup: '敏感词分组',
|
||
sensitiveWordCount: '词数',
|
||
normalizedWord: '归一化词',
|
||
matchedWords: '命中词',
|
||
matchedGroups: '命中分组',
|
||
importResult: '导入成功 {0} 条,重复 {1} 条,无效 {2} 条',
|
||
auditLogs: '审计日志',
|
||
smartRoute: '智能路由',
|
||
autoModelName: '智能路由模型名',
|
||
autoModelNameHelper: '客户端请求该模型名时进入智能路由,请避免与真实模型名重复。',
|
||
smartRouteGuideTitle: '客户端使用 model={0} 进入智能路由',
|
||
smartRouteGuideReady:
|
||
'model={0} 会按请求复杂度在简单模型组和复杂模型组中选择模型;其他模型仍按普通 AI 网关转发。',
|
||
smartRouteGuideNotReady:
|
||
'请先在设置中开启智能路由并配置简单/复杂模型组;配置完成后客户端使用 model={0} 进入智能路由。',
|
||
copyAutoModel: '复制模型名',
|
||
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: '样本匹配',
|
||
sourceContext: '上下文继承',
|
||
latency: '耗时',
|
||
decisionLogs: '决策日志',
|
||
requestID: '请求 ID',
|
||
simple: '简单',
|
||
complex: '复杂',
|
||
sampleLabelSafe: '安全',
|
||
sampleLabelReview: '复核',
|
||
sampleLabelBlock: '阻断',
|
||
latencyMs: '耗时(ms)',
|
||
smartRouteSettingGuide:
|
||
'开启后只有 model={0} 的请求才触发智能路由;简单模型组用于低成本任务,复杂模型组用于代码分析、架构设计、故障排查等任务。',
|
||
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: '智能体 Skill 目录',
|
||
installToTarget: '安装到智能体 Skill 目录',
|
||
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: '确认删除该智能体 Skill 目录配置?删除后用户不能继续选择该安装目录。',
|
||
noInstallTarget: '暂无可用的智能体 Skill 目录,请先添加。',
|
||
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: '当前系统未检测到支持的 GPU/XPU/NPU 管理指令,请检查后重试!',
|
||
process: '进程信息',
|
||
processCount: '进程数',
|
||
type: '类型',
|
||
typeG: '图形',
|
||
typeC: '计算',
|
||
typeCG: '计算+图形',
|
||
processName: '进程名称',
|
||
shr: '共享显存',
|
||
temperatureHelper: 'GPU 温度过高会导致 GPU 频率下降',
|
||
gpuUtil: 'GPU 使用率',
|
||
temperature: '温度',
|
||
performanceState: '性能状态',
|
||
powerUsage: '功耗',
|
||
memoryUsage: '显存使用率',
|
||
fanSpeed: '风扇转速',
|
||
power: '功率',
|
||
powerCurrent: '当前功率',
|
||
powerLimit: '功率上限',
|
||
memory: '显存',
|
||
memoryUsed: '显存使用',
|
||
memoryTotal: '显存总计',
|
||
frequency: '频率',
|
||
freeMemory: '可用显存',
|
||
percent: '使用率',
|
||
|
||
base: '基础信息',
|
||
driverVersion: '驱动版本',
|
||
cudaVersion: 'CUDA 版本',
|
||
processMemoryUsage: '显存使用',
|
||
performanceStateHelper: '从 P0 (最大性能) 到 P12 (最小性能)',
|
||
busID: '总线地址',
|
||
runtimeInfo: '运行信息',
|
||
deviceInfo: '设备信息',
|
||
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: '清空日志',
|
||
cleanLogscope: '清理类型',
|
||
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: '镜像名称及 Tag,例:nginx: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};若 Docker Compose 中指定了项目名称,则优先使用该名称,否则使用 {1}。',
|
||
composeNamePriorityHelper:
|
||
'项目名称优先级:Docker Compose 配置中指定的名称 > 文件父目录名称 > 此处填写的名称。',
|
||
composeHelper: '通过 1Panel 编辑或模版创建的编排,将保存在 {0}/docker/compose 路径下',
|
||
deleteFile: '删除文件',
|
||
deleteComposeHelper: '删除容器编排的所有文件,包括配置文件和持久化文件,请谨慎操作!',
|
||
deleteCompose: '" 删除此编排',
|
||
composeDirectory: '编排目录',
|
||
template: '模版',
|
||
composeTemplate: '编排模版',
|
||
exportHelper: '将选中的镜像导出为一个 tar 文件。',
|
||
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: '上次执行情况',
|
||
all: '全部',
|
||
failedRecord: '失败记录',
|
||
successRecord: '成功记录',
|
||
database: '备份数据库',
|
||
backupArgs: '备份参数',
|
||
backupArgsHelper: '未列出的备份参数可手动输入并选择,如: 输入 --no-data 后选择下拉列表中的第一个',
|
||
singleTransaction: '使用单一事务备份 InnoDB 表,适用于大数据量的备份',
|
||
quick: '逐行读取数据,而不是将整个表加载到内存中,适用于大数据量和低内存机器的备份',
|
||
skipLockTables: '不锁定所有表进行备份,适用于高并发的数据库',
|
||
setGtidPurgedOff: '备份时不导出 GTID 信息,适用于组复制环境中的数据库恢复',
|
||
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: {
|
||
globalFilter: '全局筛选',
|
||
enableMonitor: '监控状态',
|
||
storeDays: '保存天数',
|
||
defaultNetwork: '默认网卡',
|
||
defaultNetworkHelper: '默认监控和概览界面显示的网卡选项',
|
||
defaultIO: '默认磁盘',
|
||
defaultIOHelper: '默认监控和概览界面显示的磁盘选项',
|
||
cleanMonitor: '清空监控记录',
|
||
cleanHelper: '该操作将清空包括 GPU 在内的所有监控记录,是否继续?',
|
||
|
||
avgLoad: '平均负载',
|
||
loadDetail: '负载详情',
|
||
resourceUsage: '资源使用率',
|
||
networkCard: '网卡',
|
||
read: '读取',
|
||
write: '写入',
|
||
readWriteCount: '读写次数',
|
||
readWriteTime: '读写延迟',
|
||
today: '今天',
|
||
yesterday: '昨天',
|
||
lastNDay: '近 {0} 天',
|
||
lastNMonth: '近 {0} 月',
|
||
lastHalfYear: '近半年',
|
||
memory: '内存',
|
||
percent: '占比',
|
||
cache: '缓存',
|
||
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: '切换分组',
|
||
expand: '全部展开',
|
||
fold: '全部收起',
|
||
batchInput: '批量输入',
|
||
quickCommand: '快速命令',
|
||
noSuchCommand: '导入的 csv 文件中未能发现快速命令数据,请检查后重试!',
|
||
quickCommandHelper: '常用命令列表,用于在终端界面底部快速选择',
|
||
groupDeleteHelper: '移除分组后,分组内所有连接将迁移到 default 分组,是否继续?',
|
||
quickCommandBatchHelper: '每行一条快速命令,以 名称---命令 格式,例如:查看磁盘---df -h',
|
||
command: '命令',
|
||
quickCmd: '快速命令',
|
||
addHost: '添加主机',
|
||
localhost: '本地服务器',
|
||
ip: '主机地址',
|
||
authMode: '认证方式',
|
||
passwordMode: '密码认证',
|
||
rememberPassword: '记住认证信息',
|
||
keyMode: '私钥认证',
|
||
key: '私钥',
|
||
keyPassword: '私钥密码',
|
||
emptyTerminal: '暂无终端连接',
|
||
sessionReconnecting: '连接已断开,正在重连...',
|
||
sessionExpired: '会话已失效,按回车或点击重连以新建会话',
|
||
sessionKicked: '该会话已在其他窗口打开',
|
||
sessionCount: '{0} 会话',
|
||
minimize: '最小化',
|
||
closeAllSessions: '关闭所有会话',
|
||
closeAllConfirm: '将断开全部终端会话且无法恢复,是否继续?',
|
||
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: {
|
||
swap: 'Swap 分区',
|
||
swapHelper1: 'Swap 的大小应该是物理内存的 1 到 2 倍,可根据具体情况进行调整;',
|
||
swapHelper2: '在创建 Swap 文件之前,请确保系统硬盘有足够的可用空间,Swap 文件的大小将占用相应的磁盘空间;',
|
||
swapHelper3:
|
||
'Swap 可以帮助缓解内存压力,但仅是一个备选项,过多依赖可能导致系统性能下降,建议优先考虑增加内存或优化应用程序内存使用;',
|
||
swapHelper4: '建议定期监控 Swap 的使用情况,以确保系统正常运行。',
|
||
swapDeleteHelper:
|
||
'该操作将移除 Swap 分区 {0}。出于系统安全考虑,不会自动删除对应文件,如需删除请手动处理!',
|
||
saveHelper: '请先保存当前设置!',
|
||
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: '域名',
|
||
hostAlert: '已隐藏注释记录,点击“全部配置”按钮可查看或设置',
|
||
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 服务,请先开启!',
|
||
initHelper: '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: '登陆认证',
|
||
auth_sources: '认证设置',
|
||
alert: '告警通知',
|
||
sync: '资源同步',
|
||
exchange: '资源同步',
|
||
xapp: 'APP',
|
||
vms: '虚拟机管理',
|
||
},
|
||
websiteLog: '网站日志',
|
||
runLog: '运行日志',
|
||
errLog: '错误日志',
|
||
task: '任务日志',
|
||
taskName: '任务名称',
|
||
taskRunning: '执行中',
|
||
},
|
||
file: {
|
||
name: '名称',
|
||
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: '参与检索的路径/文件条数上限(目录枚举,1–2000)',
|
||
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: '菜单标签页',
|
||
menuTabsHelper: '开启后,可点击标签页上的锁按钮保持页面会话。',
|
||
menuAccordion: '菜单多项展开',
|
||
menuAccordionHelper: '开启后,侧边栏可同时展开多个菜单分组。',
|
||
componentSize: '组件大小',
|
||
dark: '暗色',
|
||
darkGold: '黑金',
|
||
light: '亮色',
|
||
auto: '跟随系统',
|
||
language: '系统语言',
|
||
docSource: '文档来源',
|
||
withByRegion: '跟随运行区域(默认)',
|
||
withByLang: '跟随系统语言',
|
||
runtimeEnv: '运行环境',
|
||
region: '运行区域',
|
||
cn: '中国大陆',
|
||
intl: '全球',
|
||
regionHelper: '该操作可能影响后续资源下载与访问,是否继续?',
|
||
regionHelper1: '系统安装包',
|
||
regionHelper2: '应用商店和脚本库',
|
||
regionHelper3: '用户手册及相关文档',
|
||
regionHelper4: '该操作可能影响后续下载与访问,请谨慎操作。',
|
||
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)',
|
||
apiTrustedProxies: 'API 可信代理',
|
||
apiTrustedProxiesEgs: '每行填写一个代理服务器 IP 或 CIDR,例如:\n172.16.10.111\n172.16.10.0/24',
|
||
apiTrustedProxiesHelper:
|
||
'使用反向代理时,请填写代理服务器的 IP 或网段;留空时不信任任何代理,并使用请求的直接来源 IP。不支持 0.0.0.0/0 和 ::/0。',
|
||
apiKeyValidityTime: '接口密钥有效期',
|
||
apiKeyValidityTimeEgs: '接口密钥有效期(单位分)',
|
||
apiKeyValidityTimeHelper: '接口时间戳到请求时的当前时间戳之间有效(单位分),设置为 0 时,不做时间戳校验',
|
||
apiKeyReset: '接口密钥重置',
|
||
apiKeyResetHelper: '重置密钥后,已关联密钥服务将失效,请重新添加新密钥至服务。',
|
||
confDockerProxy: '配置 Docker 代理',
|
||
restartNowHelper: '配置 Docker 代理需要重启 Docker 服务。',
|
||
restartNow: '立即重启',
|
||
restartLater: '稍后手动重启',
|
||
systemIPWarning: '当前节点尚未配置默认访问地址,请前往面板设置进行设置!',
|
||
systemIPWarning1: '当前服务器地址设置为 {0},无法快速跳转!',
|
||
syncTime: '服务器时间',
|
||
timeZone: '时区',
|
||
timeZoneChangeHelper: '修改时区需要重启服务,是否继续?',
|
||
timeZoneHelper: '时区修改依赖系统 timedatectl 服务,重启 1Panel 服务后生效。',
|
||
timeZoneCN: '北京',
|
||
timeZoneAM: '洛杉矶',
|
||
timeZoneNY: '纽约',
|
||
ntpALi: '阿里云',
|
||
ntpGoogle: 'Google',
|
||
syncSite: 'NTP 服务器',
|
||
syncSiteHelper: '该操作将使用 {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: '其他数据',
|
||
operationLog: '保留操作日志',
|
||
loginLog: '保留访问日志',
|
||
systemLog: '保留系统日志',
|
||
taskLog: '保留任务日志',
|
||
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: '节点版本与主节点不一致,暂不支持切换,请在节点管理中升级后重试!',
|
||
currentNodeVersionNotSame: '当前节点版本与主节点不一致,请联系管理员升级当前节点。',
|
||
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',
|
||
allowIPsPrivateHelper: '内网地址也受限制;本机直连请添加 127.0.0.1 或 ::1,反向代理请配置可信代理。',
|
||
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: '当前环境支持 Passkey(WebAuthn + 平台认证器)',
|
||
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: '快速更新',
|
||
import: '导入',
|
||
power: '授权',
|
||
unbindHelper: '解除绑定后将清除该节点所有商业版相关设置,是否继续?',
|
||
importLicense: '导入许可证',
|
||
securityWarningTitle: '请勿使用破解版或来源不明的许可证!',
|
||
securityWarningContent:
|
||
'1Panel 需要以具备系统管理权限的用户运行,非官方许可证或被篡改版本可能导致服务器失控、数据泄露等严重安全风险。请通过飞致云官方渠道获取许可证和安装包。',
|
||
importHelper: '请点击或拖动许可文件到此处',
|
||
licenseRequiredTip: '当前尚未导入许可证,复制设备 ID 后获取许可证并导入后才能登录使用。',
|
||
licenseRequiredShortTip: '请先复制设备 ID 获取许可证,导入许可证后即可登录。',
|
||
licenseRequiredUserTip: '企业版许可证未绑定,请联系超级管理员导入许可证。',
|
||
restoreCommunity: '恢复社区版',
|
||
restoreCommunityOnline: '在线恢复',
|
||
restoreCommunityOffline: '离线恢复',
|
||
restoreCommunityPackageFound: '安装包已就绪',
|
||
restoreCommunityPackageMissing: '等待放置安装包',
|
||
restoreCommunityPackageChecking: '正在检查安装包',
|
||
restoreCommunityPackageReadyHelper: '可直接执行离线恢复。',
|
||
restoreCommunityOnlineHelper: '将自动下载当前版本的社区版安装包,完成切换。',
|
||
restoreCommunityOfflineHelper: '请先将版本不低于当前企业版的官方安装包放入 {path} 后执行切换。',
|
||
restoreCommunityCopyDownloadLink: '复制下载链接',
|
||
restoreCommunityConfirm:
|
||
'版本切换后,可以使用当前企业版超级管理员账号登录社区版。切换过程中将清除企业版专属数据,请谨慎操作。',
|
||
restoreCommunityStarting: '正在准备社区版,完成后面板将自动重启。',
|
||
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: '立即清理',
|
||
reScan: '重新扫描',
|
||
cleanHelper: '已勾选文件及目录清理后无法回滚,是否继续?',
|
||
statusSuggest: '( 建议清理 )',
|
||
statusClean: '( 很干净 )',
|
||
statusEmpty: '非常干净,无需清理!',
|
||
statusWarning: '( 谨慎操作 )',
|
||
lastCleanTime: '上次清理时间: {0}',
|
||
lastCleanHelper: '清理文件及目录:{0} 个, 总计清理:{1}',
|
||
cleanSuccessful: '清理成功!',
|
||
currentCleanHelper: '本次清理文件及目录:{0} 个, 总计清理:{1}',
|
||
suggest: '(建议)',
|
||
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: '容器操作日志文件',
|
||
taskLog: '计划任务执行日志文件',
|
||
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} 操作,是否继续?',
|
||
startOperatorHelper: '即将启动应用,是否继续?',
|
||
stopOperatorHelper: '即将停止应用,是否继续?',
|
||
restartOperatorHelper: '即将重启应用,是否继续?',
|
||
reloadOperatorHelper: '即将重载应用,是否继续?',
|
||
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: '缓存空间限制',
|
||
shareCache: '缓存计数内存大小',
|
||
cacheExpire: '缓存过期时间',
|
||
shareCacheHelper: '每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/0(ipv4) ::/0(ipv6) [注意:允许任意来源 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://<负载均衡名称>。',
|
||
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: '是否输出详细错误信息',
|
||
cgi_fix_pathinfo: '是否开启 pathinfo',
|
||
date_timezone: '时区',
|
||
disableFunction: '禁用函数',
|
||
disableFunctionHelper: '输入要禁用的函数,例如exec,多个请用,分割',
|
||
uploadMaxSize: '上传限制',
|
||
indexHelper: '为保障 PHP 网站正常运行,请将代码放置于主目录下的 index 目录,并避免重命名',
|
||
extensions: '扩展模版',
|
||
extension: '扩展',
|
||
extensionsHelper: '多个扩展请用,分割',
|
||
extensionHelper: '多个扩展请使用英文逗号分隔',
|
||
toExtensionsList: '查看扩展列表',
|
||
containerConfig: '容器配置',
|
||
containerConfigHelper: '环境变量等信息可以在创建完成之后在配置-容器配置中修改',
|
||
dateTimezoneHelper: '示例:TZ=Asia/Shanghai(请根据需要自行添加)',
|
||
},
|
||
nginx: {
|
||
serverNamesHashBucketSizeHelper: '服务器名字的hash表大小',
|
||
clientHeaderBufferSizeHelper: '客户端请求的头buffer大小',
|
||
clientMaxBodySizeHelper: '最大上传文件',
|
||
keepaliveTimeoutHelper: '连接超时时间',
|
||
gzipMinLengthHelper: '最小压缩文件',
|
||
gzipCompLevelHelper: '压缩率',
|
||
gzipHelper: '是否开启压缩传输',
|
||
brotliHelper: '开启 brotli 压缩,通常比 gzip 体积更小',
|
||
brotliCompLevelHelper: 'brotli 压缩率,取值 0 到 11',
|
||
brotliManagedExternallyHelper: 'brotli 已在 nginx.conf 中手动配置,面板仅显示当前生效值,不会覆盖。',
|
||
brotliManagedUnavailableHelper: '面板无法自动向 nginx.conf 写入托管的 brotli 配置,以下设置不会生效。',
|
||
brotliMinLengthHelper: 'brotli 压缩的最小响应大小',
|
||
brotliSaveFailed: 'brotli 设置保存失败,上方的 gzip 设置已应用',
|
||
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: '编辑规则',
|
||
|
||
quickJump: '快速跳转',
|
||
used: '已使用',
|
||
unUsed: '未使用',
|
||
managed: '面板创建',
|
||
managedHelper: '由 1Panel 创建并管理。',
|
||
adopted: '外部纳管',
|
||
adoptedHelper: '系统原有规则,现由 1Panel 管理。',
|
||
external: '外部规则',
|
||
externalHelper: '尚未纳入 1Panel 管理。',
|
||
protected: '系统保护',
|
||
protectedHelper: '系统关键规则,不可编辑或删除。',
|
||
stateShort: {
|
||
managed: '面板创建',
|
||
adopted: '外部纳管',
|
||
external: '外部规则',
|
||
protected: '系统保护',
|
||
drifted: '异常',
|
||
},
|
||
ruleTargetRequired: '请至少填写一个 IP 地址或端口',
|
||
batchRuleLimit: '单次最多可创建 {0} 条规则',
|
||
resolution_adopt: '纳管',
|
||
adoptRuleConfirm: '纳入管理后,1Panel 将负责维护和删除这条现有规则,是否继续?',
|
||
plan_equivalent_external_rule: '系统中已有相同的外部规则,可以将它纳入管理,无需重复创建。',
|
||
plan_multiple_equivalent_external_rules: '系统中有多条相同的外部规则,请选择其中一条纳入管理。',
|
||
plan_equivalent_managed_rule: '相同规则已由 1Panel 管理,无需重复创建。',
|
||
allRulesAlreadyExist: '本次检查的 {0} 条规则均已存在,没有需要创建的新规则。',
|
||
ruleCheckResult: '规则检查结果',
|
||
ruleCheckStatus_creatable: '可创建',
|
||
ruleCheckStatus_existing: '已存在',
|
||
ruleCheckStatus_error: '错误',
|
||
ruleCheckExistingHelper: '系统中已存在相同规则,本次将自动跳过。',
|
||
ruleCheckReadyHelper: '检查通过,可以创建该规则。',
|
||
ruleCheckExternalExists: '系统中已有相同的外部规则,本次将自动跳过。',
|
||
ruleCheckBlockedHelper: '存在错误规则,不能提交。请返回修改后重新检查。',
|
||
plan_managed_rule_drifted:
|
||
'这条规则在 1Panel 中的记录与防火墙实际状态不一致,请先刷新规则;如仍异常,请重新同步。',
|
||
plan_opaque_rule_in_target_scope:
|
||
'当前防火墙中存在 1Panel 暂不支持的规则。为避免影响现有访问,本次未创建。请返回规则列表,查看内容无法完整显示的“外部规则”,并在系统防火墙中处理后重试。',
|
||
plan_runtime_permanent_mismatch: '当前生效的防火墙规则与重启后保留的规则不一致,请先同步后重试。',
|
||
plan_protected_rule: '该规则受到保护,不能认领、修改或删除。',
|
||
plan_blocked: '暂时无法处理这条规则,本次操作未生效。请刷新后重试;如仍失败,请检查规则状态。',
|
||
scopeDefaultMismatch: '系统默认 zone 为 {0},当前页面仅管理 public zone。',
|
||
scopeInactive: '当前托管范围未激活,新增规则可能不会作用于现有流量。',
|
||
scopeMissing: '托管范围 {0} 尚未创建,应用首条规则时将以安全方式创建。',
|
||
scopeUnmanagedActive: '检测到其他活动范围:{0},1Panel 不会修改其中的规则。',
|
||
scopeRuntimeMismatch: 'firewalld 运行配置与永久配置不一致,请重启防火墙。',
|
||
dockerRestart: '防火墙操作需要重启 Docker 服务',
|
||
firewallHelper: '{0}系统防火墙',
|
||
firewallNotStart: '当前未开启系统防火墙,请先开启!',
|
||
restartFirewallHelper: '该操作将对当前防火墙进行重启操作,是否继续?',
|
||
stopFirewallHelper: '系统防火墙关闭后,服务器将失去安全防护,是否继续?',
|
||
startFirewallHelper: '系统防火墙开启后,可以更好的防护服务器安全,是否继续?',
|
||
noPing: '禁 ping',
|
||
enableBanPing: '禁 ping',
|
||
disableBanPing: '解除禁 ping',
|
||
stop: '禁止',
|
||
portFormatError: '请输入有效的端口或端口范围',
|
||
accept: '允许',
|
||
drop: '拒绝',
|
||
anyWhere: '任何位置',
|
||
allow: '放行',
|
||
deny: '屏蔽',
|
||
addressFormatError: '请输入有效的 IP 地址',
|
||
forwardRule: '端口转发',
|
||
dockerGuard: '容器端口防护',
|
||
systemFirewall: '主机防火墙',
|
||
systemFirewallHelper: '用于管理主机端口访问和入站规则。',
|
||
forwardingHelper: '用于管理端口转发规则。',
|
||
dockerFirewallHelper: '用于选择 1Panel 容器端口防护的管理方式。',
|
||
dockerNftablesRequirement: 'Docker ≥ 29.0.0,实验性',
|
||
backendRecommendation: '建议使用 iptables 或 nftables 管理。',
|
||
configuredRules: '已配置 {0} 条规则',
|
||
addressFamily: 'IP 版本',
|
||
portOrRange: '端口 / 范围',
|
||
importBackendHelper: '导入规则会转换并写入当前后端 {0},源后端规则不会被修改。',
|
||
ruleSyncTitle: '同步规则',
|
||
ruleSyncAction: '同步规则',
|
||
ruleSyncDatabase: '1Panel 数据库',
|
||
ruleSyncDatabaseHelper:
|
||
'以 1Panel 数据库规则为准,同步并校准当前防火墙中的管理规则。缺失规则会被添加,多余规则会被删除。',
|
||
ruleSyncDatabaseTotal: '数据库规则',
|
||
ruleSyncDatabaseConfirm:
|
||
'即将以数据库中的 {0} 条规则覆盖同步 {1};将删除 {2} 条目标规则,并补充缺失规则。是否继续?',
|
||
ruleSyncSource: '配置来源',
|
||
ruleSyncTarget: '当前后端',
|
||
ruleSyncReady: '可同步',
|
||
ruleSyncExisting: '已存在',
|
||
ruleSyncRemove: '待删除',
|
||
ruleSyncBlocked: '不可同步',
|
||
ruleSyncReason: '检查结果',
|
||
ruleSyncReasonDetail: {
|
||
matchesDatabasePolicy: '该规则已与 1Panel 保存的设置一致。',
|
||
managedOrderDiffers: '防火墙中的规则顺序与 1Panel 保存的顺序不一致,本次将调整。',
|
||
managedOnlyInTarget: '该规则仍存在于防火墙中,但 1Panel 已不再保存,本次将删除。',
|
||
managedRuntimeCannotRemove: '该规则仅在当前运行中生效,1Panel 无法确认删除后的影响,因此本次不会删除。',
|
||
managedOrderBlocked:
|
||
'调整规则顺序时会跨过外部规则、无法识别的规则或系统保护规则,为避免改变现有访问,本次不会调整。',
|
||
mayBlockManagement: '该规则可能导致当前 1Panel 管理页面无法访问。',
|
||
missingFromTarget: '防火墙中缺少该规则,本次将补充。',
|
||
targetDiffers: '防火墙中的规则与 1Panel 保存的设置不一致,本次将修复。',
|
||
alreadyExistsInTarget: '防火墙中已存在相同规则,无需重复添加。',
|
||
onlyInTarget: '该规则只存在于当前防火墙中。',
|
||
stale: '检查后防火墙状态已发生变化,请刷新后重试。',
|
||
lockoutRisk: '执行后可能导致当前 1Panel 管理页面无法访问,本次操作已停止。',
|
||
protectedRule: '这是保证系统正常运行的必要规则,不能修改。',
|
||
dockerAcceptReadOnly:
|
||
'该 ACCEPT 规则为只读、不可同步;同步其他规则时会保留该规则。如需移除,请在主机上手动删除。',
|
||
cannotReconcile: '该规则无法自动同步:{0}',
|
||
},
|
||
ruleSyncPartial: '同步完成:成功 {0} 条,已存在 {1} 条,失败 {2} 条。',
|
||
ruleSyncSuccess: '同步完成:成功 {0} 条,已存在 {1} 条,删除 {2} 条。',
|
||
ruleSyncStatus: {
|
||
ready: '可同步',
|
||
existing: '已存在',
|
||
remove: '待删除',
|
||
blocked: '不可同步',
|
||
},
|
||
resetDirectRulesHelper: '删除 {0} 中全部 1Panel 系统防火墙链、运行规则及持久化文件,保留数据库策略',
|
||
resetWhitelistRulesHelper:
|
||
'重置 {0} 中当前生效的自定义防火墙配置,恢复安装默认状态并停用 {0};数据库策略会保留,之后可以重新同步。',
|
||
cleanupForwardingBackendHelper:
|
||
'重置 {0} 中的 1Panel 端口转发运行时规则:删除全部相关规则及规则链,仅保留数据库数据',
|
||
cleanupDockerBackendHelper:
|
||
'重置 {0} 中的 1Panel Docker 端口防护运行时规则:删除全部相关规则及规则链,仅保留数据库数据',
|
||
cleanupBeforeBackendSwitch:
|
||
'当前后端 {0} 仍存在 1Panel 运行时规则,请先重置该后端,再切换到 {1}。重置仅清理运行时规则,数据库策略会保留,切换后可以重新初始化或同步。',
|
||
cleanupAction: '重置',
|
||
backendSwitchNotice:
|
||
'建议仅启用一种防火墙管理方式。多个防火墙同时运行可能导致规则冲突、状态不一致或容器端口访问异常。',
|
||
switchBackendHelper: '确认切换为 {0}?',
|
||
switchDockerBackendHelper: '确认切换为 {0}?该操作会更新 Docker 配置并重启 Docker 服务。',
|
||
uninstalledStatus: '未安装',
|
||
selectedBackendNotInstalled:
|
||
'未检测到 {backend} 服务,请前往{library}页面手动安装,或在{settings}中切换防火墙后端。',
|
||
initializedStatus: '已初始化',
|
||
partiallyInitialized: '部分初始化',
|
||
dockerGuardHelper: '为 Docker 容器发布到宿主机的端口配置访问限制;未设置防护的端口保持 Docker 默认访问方式。',
|
||
dockerTrafficPathMixed: '所选端口使用不同的访问方式,请分别设置。',
|
||
dockerTrafficPathUnknown: '暂时无法确认该端口的访问方式,请检查 Docker 网络配置后重试。',
|
||
dockerTrafficPathReason: {
|
||
nat_inspect_failed: '无法读取 Docker NAT 规则,请检查防火墙命令及执行权限后刷新重试。',
|
||
proxy_inspect_failed: '无法检查 docker-proxy 进程,请确认系统进程信息可读取后刷新重试。',
|
||
nat_chain_unreachable:
|
||
'已找到该端口的 Docker 转发规则,但 NAT 入口链未生效,请检查 Docker 防火墙规则或重启 Docker 后刷新。',
|
||
no_matching_path:
|
||
'未找到该端口生效的 Docker 转发规则或代理进程,请启动或重启对应容器后刷新;若仍异常,请检查 Docker 网络配置。',
|
||
},
|
||
dockerTrafficPathPending: '访问方式待确认',
|
||
dockerInputPolicyNotEffective: '该端口由主机直接接收,现有容器端口防护规则不会生效,请改用主机防火墙设置。',
|
||
dockerInputUseHostFirewall: '该端口需要通过主机防火墙设置访问规则,请前往主机防火墙进行配置。',
|
||
dockerInputNotProtected: '宿主机 INPUT 规则不能直接保护此 Docker 发布端口,点击前往容器端口防护。',
|
||
notInitialized: '未初始化',
|
||
familyUnsupported: '系统不支持 {0}',
|
||
familyChainIssue: '{0} · {1} 链 · {2}',
|
||
dockerGuardUnbindConfirm: '解绑后,所有容器端口将暂时恢复 Docker 默认访问方式,现有防护设置会保留。是否继续?',
|
||
deleteDockerGuardPolicyConfirm: '删除后该发布端点将恢复 Docker 默认访问行为。是否继续?',
|
||
clearDockerGuardPoliciesConfirm: '清空后,所选发布端点将恢复 Docker 默认访问行为。是否继续?',
|
||
protection: '防护',
|
||
portDetails: '端口详情',
|
||
orphanEndpoints: '未关联端点',
|
||
orphanPolicies: '未关联规则',
|
||
orphanPoliciesHelper: '以下 {0} 条规则尚未绑定 Docker 端口,检测到匹配端口后将自动绑定。',
|
||
composeOrApp: 'Compose / 应用',
|
||
sources: '来源',
|
||
deniedSources: '禁止来源',
|
||
allowedSources: '允许来源',
|
||
dockerGuardPolicy: '容器端口防护策略',
|
||
protectionMode: '防护模式',
|
||
denySources: '禁止指定来源',
|
||
allowSources: '仅允许指定来源',
|
||
denyAll: '禁止所有访问',
|
||
dockerGuardMixedFamilyHelper: '已同时选择 IPv4 和 IPv6。指定来源需分别设置,禁止所有可直接应用。',
|
||
dockerGuardInconsistentConfigHelper: '所选规则配置不一致,请重新设置;提交后将统一覆盖,空描述将统一清空。',
|
||
effective: '已生效',
|
||
forwardUnsynced: '未同步',
|
||
notEffective: '未生效',
|
||
dockerGuardStatusReason: {
|
||
command_missing: '系统缺少 {0} 防火墙组件,对应的容器端口防护暂不可用,请检查系统防火墙环境',
|
||
docker_chain_missing:
|
||
'Docker 当前未启用 {0} 容器网络,因此无需配置对应的端口防护;如需使用,请先在 Docker 中启用 {0}',
|
||
guard_chain_missing: '{0} 容器端口防护尚未完成初始化,请重新初始化',
|
||
jump_missing: '{0} 容器端口防护尚未绑定,因此当前不生效,请重新绑定',
|
||
jump_not_first: '{0} 容器端口防护配置异常,可能无法完整生效,建议解绑后重新绑定',
|
||
jump_duplicate: '{0} 容器端口防护存在重复配置,建议解绑后重新绑定',
|
||
inspect_failed: '暂时无法获取 {0} 容器端口防护状态,请刷新重试或检查系统防火墙',
|
||
},
|
||
dockerGuardUnprotected: '未防护',
|
||
sourcePort: '源端口',
|
||
targetIP: '目标 IP',
|
||
targetPort: '目标端口',
|
||
forwardHelper1: '如果是本机端口转发,目标IP为:127.0.0.1',
|
||
forwardHelper2: '如果目标IP不填写,则默认为本机端口转发',
|
||
forwardPortHelper: '支持端口范围,如:8080-8089',
|
||
forwardInboundInterface: '转发入站网卡',
|
||
exportHelper: '即将导出 {0} 条防火墙规则,是否继续?',
|
||
importSuccess: '成功导入 {0} 条规则',
|
||
importPartialSuccess: '导入完成:成功 {0} 条,失败 {1} 条',
|
||
|
||
basicStatus: '当前防火墙未绑定,请先绑定!',
|
||
initMsg: '即将初始化 {0}, 是否继续?',
|
||
initDirectBackendConflictMsg:
|
||
'检测到 {1} 仍处于绑定状态。继续初始化 {0} 后,两套防火墙规则将同时生效,可能导致访问被意外阻断。是否继续?',
|
||
directBackendConflictWarning:
|
||
'{0} 与 {1} 当前同时绑定,两套规则会叠加生效。请确认规则不会互相阻断,并手动解绑不再使用的防火墙。',
|
||
initHelper: '检测到 {0} 未初始化,请点击顶部状态栏的初始化按钮进行配置!',
|
||
bindHelper: '绑定 仅当状态为绑定时,防火墙规则才能生效,是否确认?',
|
||
unbindHelper: '解绑 解除绑定时,已添加的所有防火墙规则将失效,请谨慎操作,是否确认?',
|
||
portWhiteList: '端口白名单',
|
||
portWhiteListAlter:
|
||
'保存后不会立即更改当前防火墙规则。新增端口将在下次初始化或启动防火墙时自动放行;如需关闭已移出的端口,请前往规则列表手动删除现有规则。',
|
||
portWhiteListHelper: '支持 IPv4/IPv6、TCP/UDP、单端口以及 8000-8100 格式的端口范围。',
|
||
chain: '链',
|
||
sourceIP: '源 IP',
|
||
destIP: '目标 IP',
|
||
destPort: '目标端口',
|
||
action: '动作',
|
||
priority: '优先级',
|
||
reject: '拒绝',
|
||
allPorts: '所有端口',
|
||
allProtocolHelper: '所有协议和端口',
|
||
sourceAddressPlaceholder: '例如:172.16.10.11、172.16.0.0/24、2001:db8::1 或 2001:db8::/64',
|
||
destinationPortPlaceholder: '例如:80、80,443 或 8080-8089',
|
||
deleteRuleConfirm: '将删除 {0} 条规则,是否继续?',
|
||
deleteUsedRuleConfirm: '该规则覆盖了由 {0} 提供的监听服务。删除后可能导致相关服务无法访问,是否继续?',
|
||
deleteWildcardRuleConfirm: '该规则允许 {0} 访问 {1}。删除后可能影响多个服务的访问,是否继续?',
|
||
deleteRiskRulesConfirm: '将删除 {0} 条规则,其中 {1} 条放行规则可能影响服务访问,是否继续?',
|
||
editRuleConfirm: '将修改以下字段:{0}。提交后会立即应用并回读验证,是否继续?',
|
||
},
|
||
runtime: {
|
||
importEnv: '导入环境变量',
|
||
envImportError: '第 {0} 行:{1}',
|
||
envInvalidAssignment: '应为有效的变量名=value',
|
||
envUnclosedQuote: '引号未闭合',
|
||
envUnexpectedText: '闭合引号后存在多余内容',
|
||
runtime: '运行环境',
|
||
default: '默认',
|
||
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 start,pm2 启动命令请换为 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: {
|
||
ldap: {
|
||
source: '来源',
|
||
directoryMissing: 'LDAP 中不存在',
|
||
localCredentialsManaged: '该用户的用户名和密码由 LDAP 管理,无法在本地修改。',
|
||
sources: {
|
||
local: '本地',
|
||
ldap: 'LDAP',
|
||
},
|
||
importUsers: '导入 AD/LDAP 用户',
|
||
searchUsersPlaceholder: '搜索用户名',
|
||
readFromLDAP: '从 LDAP 读取',
|
||
selectedUsers: '已选择 {0} 项',
|
||
queriedAt: '读取时间',
|
||
cachedResult: '缓存结果',
|
||
roleForNewUsers: '新用户角色',
|
||
selectRole: '请选择角色',
|
||
roleOnlyForNewUsers: '仅在本次处理包含新用户时需要选择角色。',
|
||
roleRequiredForNewUsers: '请为新的 LDAP 用户选择角色。',
|
||
changedFields: '变更字段',
|
||
importSelected: '导入/更新选中',
|
||
importAll: '导入/更新全部',
|
||
importPreview: 'AD/LDAP 导入预览',
|
||
importCompleted: 'AD/LDAP 用户处理完成',
|
||
incompletePreview: 'LDAP 目录未完整读取,请重新从 LDAP 读取。',
|
||
missingUsersWarning: '严格同步将停用 LDAP 中不存在的用户。',
|
||
missingUsersWarningDetail: '{0} 个本地 LDAP 用户将无法继续登录。',
|
||
action: '处理结果',
|
||
reason: '原因',
|
||
noImportChanges: '没有需要处理的变更',
|
||
confirmImport: '确认导入',
|
||
created: '新建',
|
||
updated: '更新',
|
||
reactivated: '恢复',
|
||
unchanged: '无变化',
|
||
conflicts: '冲突',
|
||
missing: '将停用',
|
||
missingUsersConfirm: 'LDAP 中不存在的 {0} 个用户将被停用并退出登录,是否继续?',
|
||
strictSyncConfirm: '确认严格同步',
|
||
status: { importable: '可导入', update_available: '待更新', up_to_date: '已是最新', conflict: '同名冲突' },
|
||
fields: { name: '用户名', externalDN: '目录 DN', externalID: '外部标识', authSourceStatus: '认证状态' },
|
||
actions: {
|
||
created: '新建',
|
||
updated: '更新',
|
||
reactivated: '恢复',
|
||
unchanged: '无变化',
|
||
skipped: '跳过',
|
||
conflicts: '冲突',
|
||
conflict: '冲突',
|
||
missing: '停用',
|
||
errors: '错误',
|
||
error: '错误',
|
||
},
|
||
},
|
||
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: {
|
||
WAF: 'WAF',
|
||
name: 'WAF',
|
||
resource: '资源',
|
||
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: '访客趋势',
|
||
today: '今天',
|
||
last7days: '最近 7 天',
|
||
last30days: '最近 30 天',
|
||
all: '全部',
|
||
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: '界面设置',
|
||
title: '面板描述',
|
||
titleHelper: '将显示在用户登录页面(例如:Linux 服务器运维管理面板,建议 8-15 个字符)',
|
||
logo: 'Logo (不带文字)',
|
||
logoHelper: '将会显示在菜单收缩时管理页面左上方 (建议图片大小为: 82px*82px)',
|
||
logoWithText: 'Logo (带文字)',
|
||
logoWithTextHelper: '将会显示在菜单展开时管理页面左上方 (建议图片大小为: 185px*55px)',
|
||
favicon: '网站图标',
|
||
faviconHelper: '网站图标 (建议图片大小为: 16px*16px)',
|
||
setDefault: '恢复默认',
|
||
setHelper: '即将保存当前界面设置内容,是否继续?',
|
||
setDefaultHelper: '即将恢复所有界面设置到初始状态,是否继续?',
|
||
logoGroup: 'Logo',
|
||
imageGroup: '图片',
|
||
loginImage: '图片',
|
||
loginImageHelper: '将会显示在登录页面(建议图片大小为: 500*416px)',
|
||
loginBgType: '背景类型',
|
||
loginBgImage: '背景图片',
|
||
loginBgImageHelper: '将会显示在登录页面背景图片(建议图片大小为: 1920*1080px)',
|
||
loginBgColor: '背景颜色',
|
||
loginBgColorHelper: '将在登录页面显示为背景颜色',
|
||
image: '图片',
|
||
bgColor: '背景色',
|
||
loginGroup: '登录页',
|
||
loginBtnLinkColor: '按钮/链接颜色',
|
||
loginBtnLinkColorHelper: '将在登录页面显示为按钮和链接颜色',
|
||
footerNavigation: '底部导航',
|
||
footerLoadFailed: '底部导航设置加载失败,请重试。',
|
||
showLearnMore: '显示了解商业版',
|
||
showForum: '显示论坛求助',
|
||
showDocumentation: '显示使用手册',
|
||
showProject: '显示项目地址',
|
||
footerSaveHelper: '即将保存底部导航设置,是否继续?',
|
||
footerResetHelper: '即将恢复底部导航默认设置,是否继续?',
|
||
},
|
||
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: '检查频率不能超过一天,且必须为非负整数。',
|
||
autoCheckFailedNodes: '自动检查失败节点',
|
||
autoCheckFailedNodesHelper: '自动检查时,同时检查状态为失败或异常的节点。仅在检查频率不为 0 时生效。',
|
||
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: '管理',
|
||
authManage: '认证管理',
|
||
auth: {
|
||
providerNavigation: '认证类型',
|
||
defaultNode: '默认节点',
|
||
defaultNodePlaceholder: '请选择节点',
|
||
defaultNodeHelper: '仅用于新用户。',
|
||
defaultNodeRequired: '请选择有效的默认节点。',
|
||
nodesLoadFailed: '节点列表加载失败,请重试后再选择默认节点。',
|
||
nodeHandling: '节点处理',
|
||
assignDefaultNode: '分配默认节点:{node}',
|
||
keepExistingNode: '保留已有节点权限',
|
||
providers: {
|
||
ldap: 'AD/LDAP',
|
||
passkey: 'Passkey',
|
||
radius: 'Radius',
|
||
oidc: 'OIDC',
|
||
saml2: 'SAML2',
|
||
cas: 'CAS',
|
||
oauth2: 'OAuth2',
|
||
dingtalk: '钉钉',
|
||
feishu: '飞书',
|
||
wecom: '企业微信',
|
||
},
|
||
providerDescriptions: {
|
||
ldap: '兼容 Active Directory、OpenLDAP 等 LDAP 服务',
|
||
passkey: '使用设备凭据进行无密码安全登录',
|
||
radius: '通过 Radius 服务完成网络访问认证',
|
||
oidc: '使用 OpenID Connect 接入企业单点登录',
|
||
saml2: '通过 SAML2 完成企业身份联合登录',
|
||
cas: '接入集中式认证服务实现单点登录',
|
||
oauth2: '接入兼容 OAuth2 的第三方身份服务',
|
||
dingtalk: '使用钉钉组织身份和扫码登录',
|
||
feishu: '使用飞书组织身份和账号同步',
|
||
wecom: '使用企业微信成员身份认证',
|
||
},
|
||
planned: '待接入',
|
||
plannedTitle: '{0} 认证设置',
|
||
plannedDesc: '该认证方式正在规划中,暂不可用。',
|
||
oidc: {
|
||
accessMode: '接入方式',
|
||
accessModeDesc: '身份提供方支持 Discovery 时优先使用标准模式。',
|
||
actionCreate: '创建用户',
|
||
actionKeepName: '保留当前名称',
|
||
actionPending: '等待结果',
|
||
actionReject: '拒绝登录',
|
||
actionUpdate: '更新身份信息',
|
||
advanced: '高级设置',
|
||
advancedDesc: '默认值适用于标准 Provider;只有不兼容时才调整。',
|
||
assignDefaultRole: '分配默认角色:{role}',
|
||
authorizationEndpoint: '授权端点',
|
||
authorizationEndpointInvalid: '请输入有效的授权端点地址。',
|
||
authorizationFlow: '授权流程',
|
||
automatic: '自动',
|
||
automaticPolicy: '自动处理策略',
|
||
automaticPolicyDesc: '以下规则由后端固定执行,不作为管理员开关。',
|
||
basic: '基础配置',
|
||
basicDesc: '先选择 Provider 模式,再配置客户端和回调地址。',
|
||
browserTest: '测试登录',
|
||
browserTestConflict: '身份验证成功,但用户名冲突',
|
||
browserTestConflictHelper: '映射名称属于其他身份,不会自动认领。',
|
||
browserTestExpired: '浏览器测试已过期',
|
||
browserTestExpiredHelper: '请重新开始测试,并在有效期内完成授权。',
|
||
browserTestFailed: '浏览器测试失败',
|
||
browserTestFailedHelper: '无法完成身份预览,请查看后端返回的本地化错误。',
|
||
browserTestIsolation: '执行真实授权往返,但不会创建或更新用户、分配角色或生成正式 Session。',
|
||
browserTestPopupBlocked: '请允许当前站点打开弹窗,然后重新测试。',
|
||
browserTestPopupClosed: '授权窗口在测试完成前被关闭。',
|
||
browserTestSuccess: 'Provider 验证成功',
|
||
browserTestSuccessHelper: '已完成身份映射预览,没有修改用户或 Session。',
|
||
browserTestTitle: 'OIDC 浏览器测试登录',
|
||
browserTestWaiting: '等待 Provider 授权',
|
||
browserTestWaitingHelper: '请在新窗口完成登录,本页面会自动更新。',
|
||
callbackCopied: 'OIDC 回调地址已复制。',
|
||
callbackURL: '回调地址',
|
||
callbackURLHelper: '请将此地址添加到身份提供方客户端的允许回调列表。',
|
||
cancelClearSecret: '取消清除',
|
||
clearSecret: '清除密钥',
|
||
clearSecretConfirm: '客户端密钥只会在保存后删除,是否继续?',
|
||
clientAuthMethod: '客户端认证方式',
|
||
clientAuthMethodHelper: '请选择身份提供方为该客户端配置的认证方式。',
|
||
clientAuthMethodRequired: '请选择客户端认证方式。',
|
||
clientID: '客户端 ID',
|
||
clientIDRequired: '请输入客户端 ID。',
|
||
clientSecret: '客户端密钥',
|
||
clockSkew: '令牌时间偏差',
|
||
clockSkewHelper: '允许身份提供方与面板存在少量时间偏差,建议保持 60 秒。',
|
||
clockSkewRequired: '请输入令牌时间偏差。',
|
||
compatibilityMode: '兼容模式',
|
||
compatibilityModeHelper: '仅用于 Discovery 不完整或端点被改写的 Provider,核心 OIDC 校验不会关闭。',
|
||
configurationFailedHelper: '测试失败,页面只显示后端本地化错误。',
|
||
configurationFailedTag: '测试失败',
|
||
configurationHighRiskPassed: '配置测试通过,但包含高风险兼容项。',
|
||
configurationHighRiskTag: '高风险配置通过',
|
||
configurationNotTested: '当前配置尚未测试。',
|
||
configurationNotTestedTag: '尚未测试',
|
||
configurationPassed: '当前配置已通过安全和能力检查。',
|
||
configurationPassedTag: '测试通过',
|
||
configurationStaleHelper: '配置已修改,请重新测试保存。',
|
||
configurationStaleTag: '结果已过期',
|
||
configurationTestMeta: '测试时间 {time},耗时 {duration} ms;不保存 Provider 原始响应。',
|
||
configurationTestResult: '配置测试结果',
|
||
configurationTestResultDesc:
|
||
'这里只检查自动发现结果与身份提供方能力,不交换授权码,也不能证明客户端密钥正确;请使用“浏览器测试登录”完成端到端验证。',
|
||
configurationTestSuccess: 'OIDC 配置测试成功。',
|
||
configurationTesting: '正在测试当前 OIDC 配置…',
|
||
configurationTestingTag: '正在测试',
|
||
configureSecret: '配置密钥',
|
||
conflictExistingRename: '已有 subject 返回的新 name 已被占用',
|
||
conflictExistingRenameResult: '保留原 User.Name,并允许已绑定用户继续登录',
|
||
conflictLDAP: 'LDAP 用户',
|
||
conflictLocal: '本地用户',
|
||
conflictNewAvailable: '新 subject,映射后的 name 未占用',
|
||
conflictNewAvailableResult: '创建本地企业用户并分配默认角色',
|
||
conflictNone: '无冲突',
|
||
conflictOIDC: '其他 OIDC 身份',
|
||
conflictOccupied: '映射 name 已被本地、LDAP 或其他 OIDC 身份占用',
|
||
conflictOccupiedResult: '拒绝新身份,不自动绑定或合并',
|
||
conflictType: '冲突类型',
|
||
connectionSecurity: '连接安全',
|
||
connectionSecurityDesc: '默认校验证书,私有 IdP 地址由系统自动识别。',
|
||
connectionTest: '连接与配置测试',
|
||
connectionTestCompatibilityDesc: '验证自定义端点和协议安全策略。',
|
||
connectionTestStandardDesc: '根据签发者地址自动发现端点和能力。',
|
||
connectionTestTab: '连接测试',
|
||
customCA: '自定义 CA',
|
||
customCAHelper: '仅作用于当前认证源,且不会写入日志。',
|
||
customCARequired: '请提供自定义 CA 证书。',
|
||
defaultRole: '默认角色',
|
||
defaultRoleHelper: '仅首次创建用户时分配,后续登录不修改角色。',
|
||
defaultRolePlaceholder: '请选择角色',
|
||
defaultRoleRequired: '请选择有效的默认角色。',
|
||
disableAfterSave: '保存后将停用 OIDC。',
|
||
disableConfirm: '停用 OIDC 会立即使该认证源用户的访问失效,是否继续?',
|
||
disableDiscardConfirm:
|
||
'停用 OIDC 属于故障兜底操作:只关闭登录入口,并立即使该认证源用户的访问失效。本页其他未保存修改(包括客户端密钥修改)将被丢弃。是否继续?',
|
||
disableTitle: '停用 OIDC',
|
||
disabled: '未启用',
|
||
discoveryAllowlist: 'Discovery ∩ 安全白名单',
|
||
enable: '是否开启',
|
||
enableAfterSave: '保存成功后启用 OIDC。',
|
||
enabled: '已启用',
|
||
endSessionEndpoint: '会话注销端点',
|
||
endSessionEndpointHelper: '首期只保存,不执行身份提供方发起的单点登出。',
|
||
endSessionEndpointInvalid: '请输入有效的会话注销端点地址。',
|
||
endpointDiscoveryPlaceholder: '测试连接后显示',
|
||
firstLogin: '首次登录',
|
||
firstLoginPolicy: '创建本地企业用户,并分配配置的默认角色。',
|
||
fixedAuthorizationCode: 'Authorization Code Flow',
|
||
fixedNoTokenPersistence: '不持久化 Token、Claims 和 verifier',
|
||
fixedSecurityPolicy: '系统固定执行,无需配置',
|
||
fixedStateNonce: '一次性 state 与 nonce',
|
||
fixedTokenValidation: 'ID Token 签名与 Claims 校验',
|
||
highRiskSaveConfirm: '当前启用配置包含高风险兼容项,请确认隔离环境确实需要这些设置。',
|
||
highRiskTitle: '高风险 OIDC 配置',
|
||
hs256Compatibility: 'HS256(兼容模式)',
|
||
hs256KeyHelper: 'HS256 固定使用当前认证源的客户端密钥,不接受另一份签名密钥。',
|
||
hs256Warning: 'HS256 使用共享对称密钥验证 ID Token;仅在 Provider 无法使用非对称算法时启用。',
|
||
identityBindingPolicy: '身份主键固定为 AuthSourceID + issuer + subject,同名不会认领其他账号。',
|
||
identityMissing: '身份已失效',
|
||
issuer: '签发者地址',
|
||
issuerHelper: '用于 OIDC 自动发现,返回的 issuer 必须与该地址一致。',
|
||
issuerInvalid: '请输入不含查询参数和片段的有效 HTTP 或 HTTPS 签发者地址。',
|
||
issuerRequired: '请输入签发者地址。',
|
||
jwksRotation: 'JWKS 自动轮换',
|
||
jwksURI: 'JWKS 地址',
|
||
jwksURIHelper: '使用非对称签名且密钥来源为 JWKS 时必填。',
|
||
jwksURIInvalid: '请为当前签名密钥来源填写有效的 JWKS 地址。',
|
||
keepExistingRole: '保留已有角色和本地权限',
|
||
localSecurityData: '本地安全数据',
|
||
localSecurityDataPolicy: '不覆盖角色、MFA、API Key、Passkey 和本地权限。',
|
||
localCredentialsManaged:
|
||
'用户名和本地密码由 OIDC 身份管理,不能在此修改;角色、权限、MFA、API Key 与 Passkey 仍由本地管理。',
|
||
localUserFields: '本地用户字段',
|
||
localUserFieldsDesc: '首期只映射 User.Name,不使用 JSON 映射表达式。',
|
||
loginWith: '使用 {provider} 登录',
|
||
manualEndpoints: '自定义端点',
|
||
manualEndpointsDesc: '仅用于自动发现不完整或上游网关改写端点的身份提供方。',
|
||
mappingResult: '映射结果',
|
||
mode: '接入模式',
|
||
modeRequired: '请选择接入模式。',
|
||
nameClaim: '用户名 Claim',
|
||
nameClaimHelper: '填写身份提供方返回用户名的字段,如 preferred_username。',
|
||
nameClaimRequired: '请输入用户名 Claim。',
|
||
nameConflict: '同名冲突策略',
|
||
panelURL: '面板对外地址',
|
||
panelURLHTTPWarning: 'HTTP 不保护授权响应,仅用于 Provider 接受的隔离私有环境。',
|
||
panelURLHelper: '填写用户实际访问面板的地址,用于生成回调地址。',
|
||
panelURLInvalid: '请输入只包含协议、主机和可选端口的对外地址。',
|
||
panelURLRequired: '请输入面板对外地址。',
|
||
pkceDisabled: '不使用 PKCE(仅兼容模式)',
|
||
pkceDisabledWarning: '关闭 PKCE 会降低授权码流程的抗截获能力。',
|
||
pkceHelper: '优先使用 S256,永不提供 plain。',
|
||
pkceS256: 'S256(推荐)',
|
||
plannedHandling: '预计处理',
|
||
privateNetworkIdP: '私有网络 IdP',
|
||
privateNetworkIdPHelper:
|
||
'显式允许私有地址;元数据、回环、链路本地、异常重定向和 DNS 重绑定仍会阻止。',
|
||
privateNetworkWarning: '当前认证源已允许访问私有网络。',
|
||
protocolCompatibility: '协议兼容',
|
||
protocolCompatibilityDesc: 'ID Token 签名校验始终不能关闭。',
|
||
providerAndClient: '身份提供方与客户端',
|
||
providerAndClientDesc: '客户端密钥只允许替换或清除,页面不会回显。',
|
||
providerCapabilities: 'Provider 能力',
|
||
recentTestSuccess: '最近测试成功:{0}',
|
||
recommended: '推荐',
|
||
rejectPlain: '拒绝 plain',
|
||
replaceSecret: '更换密钥',
|
||
requestAndClaims: '请求与属性',
|
||
requestAndClaimsDesc: '配置授权范围、用户信息补充和请求参数。',
|
||
requestTimeout: '请求超时',
|
||
requestTimeoutRequired: '请输入请求超时时间。',
|
||
restore: '还原',
|
||
restored: '已还原到上次保存的 OIDC 配置。',
|
||
result: '处理结果',
|
||
rolesLoadFailed: '角色列表加载失败,请重试后再选择默认角色。',
|
||
roleHandling: '角色处理',
|
||
scenario: '场景',
|
||
scopes: '授权范围',
|
||
scopesHelper: '必须包含 openid,多个范围使用空格分隔。',
|
||
scopesRequired: 'Scopes 必须包含 openid。',
|
||
seconds: '秒',
|
||
secretClearHelper: '清除后,重新启用 OIDC 前必须配置新的客户端密钥。',
|
||
secretConfigured: '已配置',
|
||
secretNotConfigured: '未配置',
|
||
secretPlaceholder: '输入新的客户端密钥',
|
||
secretReplaceHelper: '新密钥将在保存时替换原值,请同时更新身份提供方中的客户端密钥。',
|
||
secretRequiredHelper: '启用 OIDC 前需要配置客户端密钥。',
|
||
secretRequiredToEnable: '请先配置客户端密钥,再启用 OIDC。',
|
||
secretSavedHelper: '已加密保存,留空则继续使用当前密钥。',
|
||
secretWaiting: '等待输入',
|
||
secretWillClear: '保存后清除',
|
||
secretWillReplace: '待替换',
|
||
signingAlgorithm: 'ID Token 签名算法',
|
||
signingAlgorithmHelper: '只能选择后端安全白名单中的算法。',
|
||
signingKey: '签名密钥',
|
||
signingKeyClientSecret: '客户端密钥(仅 HS256)',
|
||
signingKeyJWKS: 'JWKS URI 自动获取和轮换',
|
||
signingKeySource: '签名密钥来源',
|
||
signingKeySourceHelper: '优先使用 JWKS;静态公钥无法自动轮换。',
|
||
signingKeyStatic: '静态 JWK 或 PEM 公钥',
|
||
standardDiscovery: '标准模式(自动发现)',
|
||
standardDiscoveryDesc: '面板自动发现端点和能力,不保存自动发现原文。',
|
||
standardMode: '标准模式',
|
||
standardModeHelper: '根据 Issuer 自动发现端点、签名能力和 PKCE 支持。',
|
||
standardProtocolPolicy: '标准协议策略',
|
||
standardProtocolPolicyDesc: '自动协商签名能力,不需要填写签名算法和 Key。',
|
||
staticSigningKey: '静态签名公钥',
|
||
staticSigningKeyHelper: '只接受公钥材料;Provider 换 Key 后需要手动更新。',
|
||
staticSigningKeyPlaceholder: '粘贴 JWK、JWKS JSON 或 PEM 公钥',
|
||
staticSigningKeyRequired: '请提供静态签名公钥。',
|
||
staticSigningKeyWarning: '静态签名公钥无法自动轮换;Provider 换 Key 前必须手动更新。',
|
||
settingLoadFailed: 'OIDC 配置加载失败',
|
||
settingLoadFailedHelper: '为避免用空白默认值覆盖已有配置,当前表单已锁定。请在连接恢复后重试。',
|
||
subsequentLogin: '后续登录',
|
||
subsequentLoginPolicy: '按 subject 找到绑定,仅在新名称可用时更新 User.Name。',
|
||
testBeforeBrowserTest: '请先测试当前配置,再进行浏览器测试登录。',
|
||
testBeforeEnable: '保存变更配置前,请先测试当前配置。',
|
||
testConfiguration: '测试连接',
|
||
testDiscovery: '测试连接',
|
||
tlsCustomCA: 'HTTPS · 自定义 CA 证书',
|
||
tlsPrivateHTTP: 'HTTP · 仅私有网络(危险)',
|
||
tlsPrivateHTTPWarning: 'HTTP 不提供传输加密,只允许显式放行的私有目标。',
|
||
tlsSkipVerify: '跳过 TLS 证书校验',
|
||
tlsSystem: 'HTTPS · 系统证书校验(推荐)',
|
||
tokenEndpoint: '令牌端点',
|
||
tokenEndpointInvalid: '请输入有效的令牌端点地址。',
|
||
transportSecurity: '传输安全',
|
||
transportSecurityHelper: '优先使用 HTTPS;私有 HTTP 还需要显式允许私有网络。',
|
||
unsavedChanges: 'OIDC 配置有未保存的更改。',
|
||
usedClaim: '使用 Claim',
|
||
userInfoEndpoint: '用户信息端点',
|
||
userInfoEndpointHelper: '用户名字段缺失时,系统将从该端点补充;留空则不补充。',
|
||
userInfoEndpointInvalid: '请输入有效的用户信息端点地址。',
|
||
userMapping: '用户配置',
|
||
userMappingDesc: '设置 OIDC 用户名映射,以及首次登录创建用户时使用的默认节点和角色。',
|
||
},
|
||
saml2: {
|
||
actionCreate: '创建用户',
|
||
actionPending: '等待结果',
|
||
actionReject: '拒绝登录',
|
||
actionReuse: '使用已绑定用户',
|
||
assignDefaultRole: '分配新用户角色:{role}',
|
||
basic: '基础配置',
|
||
basicDesc: '配置大多数标准 SAML2 身份提供商所需的常用选项。',
|
||
browserTest: '测试登录',
|
||
browserTestConflict: '身份验证成功,但用户名冲突',
|
||
browserTestConflictHelper: '映射后的用户名属于其他身份,不会自动关联。',
|
||
browserTestExpired: '浏览器测试已过期',
|
||
browserTestExpiredHelper: '请重新开始测试,并在有效期内完成登录。',
|
||
browserTestFailed: '浏览器测试失败',
|
||
browserTestFailedHelper: '无法完成身份预览,请查看后端返回的本地化错误。',
|
||
browserTestIsolation: '执行真实 SAML2 往返,但不会创建用户、分配角色或生成正式会话。',
|
||
browserTestPopupBlocked: '请允许当前站点打开弹窗,然后重新测试。',
|
||
browserTestPopupClosed: '登录窗口在测试完成前被关闭。',
|
||
browserTestSuccess: 'SAML2 身份验证成功',
|
||
browserTestSuccessHelper: '身份映射预览已完成,没有修改用户或会话。',
|
||
browserTestTitle: 'SAML2 测试登录',
|
||
browserTestWaiting: '等待 IdP 登录',
|
||
browserTestWaitingHelper: '请在新窗口完成登录,本页面会自动更新。',
|
||
certificateFileInvalid: '请选择有效的 PEM、CRT 或 CER 证书文件。',
|
||
configured: '已配置',
|
||
configurationFailedHelper: '测试失败,页面只显示后端本地化错误。',
|
||
configurationNotTested: '当前配置尚未测试。',
|
||
configurationPassed: '当前配置已通过校验。',
|
||
configurationStaleHelper: '影响认证的配置已经修改,请重新测试当前草稿。',
|
||
configurationTestSuccess: 'SAML2 配置测试成功。',
|
||
configurationTesting: '正在测试当前 SAML2 配置…',
|
||
conflictLDAP: 'LDAP 用户',
|
||
conflictLocal: '本地用户',
|
||
conflictNone: '无冲突',
|
||
conflictOIDC: 'OIDC 身份',
|
||
conflictSAML2: '其他 SAML2 身份',
|
||
conflictType: '冲突类型',
|
||
credentialFileReadFailed: '无法读取凭据文件。',
|
||
credentialFileTooLarge: '凭据文件不能超过 256 KiB。',
|
||
credentialsRequired: '请同时配置 SP 私钥和 SP 证书。',
|
||
defaultRole: '新用户角色',
|
||
defaultRoleHelper: '仅首次创建时设置;后续登录保留本地角色、MFA 和权限。',
|
||
defaultRolePlaceholder: '请选择角色',
|
||
defaultRoleRequired: '请选择有效的新用户角色。',
|
||
disableConfirm: '停用 SAML2 会立即拒绝新登录并使其用户会话失效,是否继续?',
|
||
disableDiscardConfirm: '停用 SAML2 会丢弃本页其他未保存修改,并立即使其用户会话失效,是否继续?',
|
||
disableTitle: '停用 SAML2',
|
||
disabled: '未启用',
|
||
enable: '是否开启',
|
||
enabled: '已启用',
|
||
idpMetadata: 'IdP 元数据',
|
||
idpMetadataDesc: '填写 URL 或粘贴 XML,二选一即可;同时填写时优先读取 URL。',
|
||
keepExistingRole: '保留已有角色和本地权限',
|
||
loginWith: '使用 {provider} 登录',
|
||
mappingResult: '映射结果',
|
||
metadataRequired: '请填写 IdP 元数据 URL 或 XML。',
|
||
metadataURLHelper: '测试和保存时由后端读取并校验元数据。',
|
||
metadataURLInvalid: '请输入不含凭据和片段的有效 HTTPS 元数据 URL。',
|
||
metadataURLRecommended: '元数据 URL(推荐)',
|
||
metadataXML: '元数据 XML',
|
||
metadataXMLHelper: '适用于身份提供商(IdP)没有可访问的元数据 URL 的场景。',
|
||
metadataXMLInvalid: '请输入包含有效 EntityDescriptor 的元数据 XML。',
|
||
metadataXMLPlaceholder: '粘贴 <EntityDescriptor>...</EntityDescriptor>',
|
||
nameAttribute: '用户名属性',
|
||
nameAttributeHelper: '从已验证的 SAML 断言中读取该属性,并映射为面板用户名。',
|
||
nameAttributePlaceholder: '例如 uid、username 或 account',
|
||
nameAttributeRequired: '请填写用户名属性。',
|
||
notConfigured: '未配置',
|
||
or: '或',
|
||
pageDesc: '通过 IdP 元数据接入企业单点登录,常用配置在一个页面完成。',
|
||
plannedHandling: '预计处理',
|
||
privateKeyFileInvalid: '请选择有效的 PEM 私钥文件。',
|
||
recentTestSuccess: '最近测试成功:{0}',
|
||
restore: '还原',
|
||
restored: '已还原到上次保存的 SAML2 配置。',
|
||
roleHandling: '角色处理',
|
||
rolesLoadFailed: '角色列表加载失败,请重试后再选择新用户角色。',
|
||
selectFile: '选择文件',
|
||
serviceStatus: '服务状态',
|
||
serviceStatusDesc: '首次启用前需要先通过当前配置测试。',
|
||
settingLoadFailed: 'SAML2 配置加载失败',
|
||
settingLoadFailedHelper: '为避免用空白默认值覆盖已有配置,当前表单已锁定。请在连接恢复后重试。',
|
||
spCertificate: 'SP 证书',
|
||
spCertificateHelper: '通过 SP 元数据提供给身份提供商(IdP),用于验证登录和注销请求。',
|
||
spCredentials: 'SP 私钥与证书',
|
||
spCredentialsDesc: '用于签名登录和注销消息;具体签名与安全校验策略由后端固定处理。',
|
||
spEntityID: 'SP 实体 ID',
|
||
spEntityIDHelper:
|
||
'SP 唯一标识,需与身份提供商中配置的实体 ID 或受众标识一致,同时也是 SP 元数据地址。',
|
||
acsURL: 'ACS 地址',
|
||
sloURL: 'SLO 地址',
|
||
spPrivateKey: 'SP 私钥',
|
||
spPrivateKeyHelper: '用于签名 SAML 登录请求和注销消息,加密保存且不会回显。',
|
||
syncLogout: '同步注销',
|
||
syncLogoutHelper: '用户退出面板时同时退出身份提供商;从身份提供商注销时也会同步退出面板。',
|
||
testBeforeBrowserTest: '请先测试当前配置,再进行浏览器测试登录。',
|
||
testBeforeEnable: '启用 SAML2 或保存认证敏感变更前,请先测试当前配置。',
|
||
testConfiguration: '测试配置',
|
||
unsavedChanges: 'SAML2 配置有未保存的更改。',
|
||
usedAttribute: '用户名映射',
|
||
usersAndRoles: '用户与角色',
|
||
usersAndRolesDesc: '设置面板用户名映射,以及首次登录创建用户时使用的默认节点和角色。',
|
||
},
|
||
ldap: {
|
||
basic: '基础配置',
|
||
loginTitle: 'LDAP 登录',
|
||
loginWith: '使用 LDAP 登录',
|
||
backToLocalLogin: '返回面板登录',
|
||
enable: '是否开启',
|
||
enabled: '已启用',
|
||
disabled: '未启用',
|
||
connection: '基础连接',
|
||
connectionDesc: '配置目录服务和用于搜索用户的绑定账号。',
|
||
serverURL: '服务端地址',
|
||
serverURLHelper: '支持 ldap:// 和 ldaps:// 地址。',
|
||
userBaseDN: '用户 Base DN',
|
||
userBaseDNHelper: 'LDAP 用户搜索的起始 DN,可使用 OU、CN 或域根 DN。',
|
||
bindDN: '绑定 DN',
|
||
bindPassword: '密码',
|
||
passwordSaved: '留空则保留已保存的密码',
|
||
userSearch: '用户搜索',
|
||
userSearchDesc: '配置用户搜索基准与过滤器,并映射到面板用户名字段。',
|
||
userFilter: '用户过滤器',
|
||
userFilterTooltip: '按用户名查询时替换 %(user)s,全量读取时替换为 *。',
|
||
userFilterHelper: '搜索和认证时会对用户名执行 LDAP filter escaping。',
|
||
attributeMap: '映射属性',
|
||
attributeMapTooltip: '面板用户名字段(name)到 LDAP 属性的 JSON 映射。',
|
||
attributeMapHelper: '填写映射到面板用户名字段(name)的 LDAP 属性。',
|
||
advanced: '高级设置',
|
||
advancedDesc: '配置 TLS 和 LDAP 查询分页。',
|
||
strictSync: '严格同步',
|
||
strictSyncTooltip:
|
||
'完整全量处理后,LDAP 中不存在的同源用户,其认证状态将标记为“LDAP 中不存在”,但不会删除。',
|
||
strictSyncHelper: '仅作用于完整成功的全量处理;导入选中用户时不会改变其他用户的认证状态。',
|
||
skipTLSVerify: '跳过 TLS 证书校验',
|
||
skipTLSVerifyTooltip: '连接 LDAPS 时不校验服务端证书。',
|
||
connectTimeout: '连接超时(秒)',
|
||
searchPageSize: 'LDAP 查询分页大小',
|
||
restore: '还原',
|
||
testConnection: '测试连接',
|
||
testLogin: '测试登录',
|
||
userImport: '用户导入',
|
||
saveBeforeImport: '请先保存当前 AD/LDAP 配置,再导入用户。',
|
||
format: '格式化',
|
||
restoreExample: '恢复示例',
|
||
mappingValid: 'JSON 格式正确,name 已配置。',
|
||
mappingInvalid: '请输入有效的 JSON。',
|
||
mappingObject: '映射属性必须是 JSON 对象。',
|
||
mappingOnlyName: '仅支持 name 映射。',
|
||
mappingStringValues: '每个映射属性都必须是字符串。',
|
||
mappingNameRequired: 'name 必须是非空字符串。',
|
||
restored: '已还原为上次保存的配置。',
|
||
connectionTestSuccess: 'LDAP 连接测试成功。',
|
||
recentTestSuccess: '最近测试成功:{0}',
|
||
recentTestFailed: '最近测试失败:{0}',
|
||
serverURLRequired: '请输入 LDAP 服务端地址。',
|
||
serverURLInvalid: '请输入有效的 ldap:// 或 ldaps:// 地址。',
|
||
userBaseDNRequired: '请输入用户 Base DN。',
|
||
bindDNRequired: '请输入绑定 DN。',
|
||
passwordRequired: '请输入密码。',
|
||
userFilterRequired: '请输入用户过滤器。',
|
||
connectTimeoutRequired: '请输入连接超时时间。',
|
||
searchPageSizeRequired: '请输入 LDAP 查询分页大小。',
|
||
sync: {
|
||
title: '定时同步',
|
||
description: '定期读取 LDAP 全量用户,并维护面板中的 LDAP 用户。',
|
||
enable: '是否启用',
|
||
enableHelper: '关闭后不再自动执行,仍可手动立即同步。',
|
||
schedule: '执行周期',
|
||
daily: '每天',
|
||
weekly: '每周',
|
||
customCron: '自定义 Cron',
|
||
preview: '预览',
|
||
previewTitle: '未来 5 次执行',
|
||
previewEmpty: '暂无可用执行时间',
|
||
cronHelper: '使用“分 时 日 月 周”五段式 Cron 表达式。',
|
||
autoImport: '自动导入新用户',
|
||
autoImportHelper: '关闭后,仅维护已导入 LDAP 用户的目录标识和状态,不会自动创建新用户。',
|
||
defaultRole: '新用户角色',
|
||
defaultRolePlaceholder: '请选择角色',
|
||
defaultRoleHelper: '仅用于定时同步中新创建的用户,后续可在用户管理中调整。',
|
||
defaultRoleRequired: '请选择新 LDAP 用户的角色。',
|
||
strictSyncHelper:
|
||
'全量同步成功后,将 LDAP 中缺失的用户标记为“LDAP 中不存在”并清理会话,不会删除用户、角色或权限。',
|
||
runNow: '立即同步',
|
||
lastRunSuccess: '最近同步成功:{0}',
|
||
lastRunFailed: '最近同步失败:{0}',
|
||
lastRunRunning: '同步开始时间:{0}',
|
||
sourceDisabled: '请先启用并保存 AD/LDAP,再执行同步。',
|
||
cronRequired: '请输入 Cron 表达式。',
|
||
saveBeforeRun: '请先保存同步设置,再执行同步。',
|
||
runConfirmTitle: '执行严格同步',
|
||
runConfirmDescription:
|
||
'完整全量查询中缺失的 LDAP 用户,其认证状态将标记为“LDAP 中不存在”并清理活动会话,是否继续?',
|
||
runSuccess: 'LDAP 同步完成。',
|
||
weekdays: {
|
||
0: '周日',
|
||
1: '周一',
|
||
2: '周二',
|
||
3: '周三',
|
||
4: '周四',
|
||
5: '周五',
|
||
6: '周六',
|
||
},
|
||
},
|
||
syncLogs: {
|
||
title: '同步记录',
|
||
description: '查看定时和手动 LDAP 同步的执行结果。',
|
||
startedAt: '开始时间',
|
||
trigger: '触发方式',
|
||
manual: '手动执行',
|
||
scheduled: '定时执行',
|
||
success: '成功',
|
||
failed: '失败',
|
||
running: '执行中',
|
||
result: '执行结果',
|
||
resultSummary: '新增 {0},更新 {1},缺失 {2}',
|
||
duration: '耗时',
|
||
action: '处理动作',
|
||
},
|
||
testLoginTitle: '测试 AD/LDAP 登录',
|
||
testLoginDesc: '使用 AD/LDAP 用户凭据执行 bind 验证,仅测试认证能力,不创建面板登录会话。',
|
||
ldapUsername: 'LDAP 用户名',
|
||
usernameRequired: '请输入 LDAP 用户名。',
|
||
startTest: '开始测试',
|
||
testLoginSuccess: '认证成功。',
|
||
testLoginSuccessWithDN: '认证成功,用户 DN:{0}',
|
||
import: {
|
||
title: '导入 AD/LDAP 用户',
|
||
source: '数据来源:AD/LDAP 目录',
|
||
lastRead: '最近读取:{0}',
|
||
cacheHit: '使用缓存结果',
|
||
keywordPlaceholder: '搜索用户名',
|
||
search: '搜索',
|
||
refresh: '从 LDAP 读取',
|
||
refreshTip: '忽略短时缓存并重新读取 LDAP 目录。',
|
||
loadFailed: 'LDAP 目录读取失败。',
|
||
retry: '重试',
|
||
noData: '未找到目录用户。',
|
||
username: '用户名',
|
||
status: '状态',
|
||
changes: '变更字段',
|
||
noChanges: '无变化',
|
||
importable: '可导入',
|
||
updateAvailable: '待更新',
|
||
upToDate: '已是最新',
|
||
conflict: '同名冲突',
|
||
selectedCount: '已选择 {0} 项',
|
||
totalCount: '共 {0} 个用户',
|
||
newUserRole: '新用户角色',
|
||
newUserRoleRequired: '请选择新用户角色。',
|
||
noNewUsers: '本次无新用户。',
|
||
roleOnlyForNewUsers: '所选角色仅应用于本次新建用户。',
|
||
strictOff: '严格同步未启用,全量处理不会停用用户。',
|
||
importSelected: '导入/更新选中({0})',
|
||
importAll: '导入/更新全部({0})',
|
||
previewTitle: '确认全量处理',
|
||
previewDesc: '已完整读取 LDAP 目录,当前搜索关键字不会缩小本次处理范围。',
|
||
created: '新建',
|
||
updated: '更新',
|
||
unchanged: '无变化',
|
||
conflicts: '冲突',
|
||
missing: '将停用',
|
||
reactivated: '恢复',
|
||
strictWarning:
|
||
'严格同步已启用。LDAP 中不存在的同源用户将无法继续登录,但不会删除用户、角色和本地权限。',
|
||
missingUsers: 'LDAP 中不存在的用户',
|
||
missingScope: '仅处理当前 LDAP 认证源。',
|
||
willDisable: '将停用',
|
||
confirmAll: '确认导入',
|
||
confirmAllWithMissing: '确认导入并停用 {0} 个用户',
|
||
executeSuccess: 'LDAP 用户处理成功。',
|
||
queryExpired: '目录查询结果已过期,请重新从 LDAP 读取。',
|
||
planIncomplete: 'LDAP 目录未完整读取,不能执行全量处理。',
|
||
},
|
||
},
|
||
},
|
||
},
|
||
customApp: {
|
||
name: '自定义仓库',
|
||
appStoreType: '仓库来源',
|
||
appStoreUrl: '仓库地址',
|
||
local: '本地',
|
||
remote: '远程',
|
||
imagePrefix: '镜像前缀',
|
||
imagePrefixHelper:
|
||
'用于自定义镜像前缀,自动修改 Compose 文件中的镜像字段。\n 例如,当镜像前缀设置为 1panel/custom 时,MaxKB 的镜像将变更为 1panel/custom/maxkb:v1.10.0。',
|
||
closeHelper: '是否取消使用自定义仓库',
|
||
appStoreUrlHelper: '仅支持 .tar.gz 格式',
|
||
postNode: '同步至子节点',
|
||
postNodeHelper: '将自定义应用仓库包同步到子节点安装目录下的 tmp/customApp/apps.tar.gz',
|
||
nodes: '节点',
|
||
selectNode: '选择节点',
|
||
selectNodeError: '请选择节点',
|
||
licenseHelper: '商业版支持自定义应用仓库功能',
|
||
databaseHelper: '应用关联数据库,请选择目标节点数据库',
|
||
nodeHelper: '不能选择当前节点',
|
||
migrateHelper: '当前仅支持迁移单体应用和只关联 MySQL、MariaDB、PostgreSQL 数据库的应用',
|
||
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: '面板服务器磁盘过高告警',
|
||
website: '网站',
|
||
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}时间范围',
|
||
to: '至',
|
||
startTime: '开始时间',
|
||
endTime: '结束时间',
|
||
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 通常为465,TLS 通常为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 地址',
|
||
custom: 'Webhook',
|
||
webhookPreset: '预设',
|
||
genericJsonPreset: '通用 JSON',
|
||
customPreset: '自定义',
|
||
webhookUrlSecretHelper: 'Webhook 地址加密存储,可在此查看和编辑',
|
||
webhookPublicAddressHelper: '仅支持公网可访问的 HTTP/HTTPS 地址;本机、内网和保留地址会被拦截',
|
||
customWebhookRecoveryRequired:
|
||
'当前配置已失效或来自旧版本,请重新填写 Webhook 地址及所需的敏感 Header 后保存',
|
||
clearSecret: '清除',
|
||
keepSecret: '保持不变',
|
||
secretCleared: '保存后将清除此敏感值',
|
||
bodyType: 'Body 类型',
|
||
bodyTemplate: 'Body 模板',
|
||
formFieldName: '字段名',
|
||
formFieldValue: '字段值',
|
||
addFormField: '添加字段',
|
||
webhookAdvanced: '高级配置',
|
||
headers: 'Headers',
|
||
headerName: 'Header 名称',
|
||
headerValue: 'Header 值',
|
||
secretValue: '敏感值',
|
||
addHeader: '添加 Header',
|
||
templateVariables: '模板变量',
|
||
templateVariableTitle: '告警标题',
|
||
templateVariableMessage: '告警内容',
|
||
templateVariableType: '告警类型',
|
||
templateVariableNodeName: '节点名称',
|
||
templateVariableTimestamp: '发生时间',
|
||
templateVariablesHelper:
|
||
'title=告警标题,message=告警内容,type=告警类型,nodeName=节点名称,timestamp=发生时间;点击变量可插入 Body。',
|
||
testResultStale: '配置已更改,之前的测试结果已失效',
|
||
alertConfigChanged: '配置已更新,请刷新后重试',
|
||
presetOverwriteHelper: '切换预设将覆盖当前 Body 配置,是否继续?',
|
||
customWebhookValidation: {
|
||
displayNameRequired: '请输入显示名称',
|
||
urlRequired: '请输入 Webhook 地址',
|
||
urlInvalid: 'Webhook 地址必须是有效的 HTTP 或 HTTPS 地址',
|
||
bodyRequired: '请配置请求 Body',
|
||
jsonInvalid: 'JSON Body 模板格式无效',
|
||
formFieldRequired: 'Form 字段名不能为空',
|
||
formFieldDuplicate: 'Form 字段名不能重复',
|
||
headerRequired: 'Header 名称不能为空',
|
||
headerInvalid: 'Header 名称格式无效',
|
||
headerDuplicate: 'Header 名称不能重复',
|
||
headerReserved: '该 Header 由系统管理,不能自定义',
|
||
headerMustBeSecret: '认证或凭证类 Header 必须设为敏感值',
|
||
templateVariableInvalid: 'Body 中包含不支持的模板变量',
|
||
secretRequired: '请输入敏感值,或选择保持不变/清除',
|
||
},
|
||
alertConfigProHelper: '商业版额外支持企业微信、钉钉、飞书及短信告警。',
|
||
recipientPlaceholder: '请输入收件人邮箱地址',
|
||
addRecipient: '添加收件人',
|
||
webhookItem: 'Webhook',
|
||
addWebhook: '添加 Webhook',
|
||
selectAlertType: '选择告警类型',
|
||
configDetail: '配置详情',
|
||
webhookCount: '个 Webhook',
|
||
},
|
||
theme: {
|
||
lingXiaGold: '凌霞金',
|
||
classicBlue: '经典蓝',
|
||
freshGreen: '清新绿',
|
||
customColor: '自定义主题色',
|
||
setDefault: '恢复默认',
|
||
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: '当前仅支持迁移无资源依赖或仅依赖 MySQL、MariaDB、PostgreSQL 的应用。',
|
||
|
||
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 APIC,ARM64 配置不应包含该项。',
|
||
gicNotDeclared: '持久化 XML 未显示 GIC,Libvirt 可能在运行态自动补充。',
|
||
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 日志中未发现 pflash、AAVMF 或 QEMU_EFI。',
|
||
},
|
||
},
|
||
overview: '概览',
|
||
dependencies: '依赖',
|
||
architectureUnsupported: '当前系统架构 {0} 暂不支持虚拟机功能,目前仅支持 AMD64 和 ARM64。',
|
||
dependencyPurpose: '作用',
|
||
dependencyPurposeMap: {
|
||
libvirt: '提供虚拟机管理服务,负责虚拟机生命周期和资源调度。',
|
||
storage: '提供默认存储目录或存储池,用于保存虚拟机磁盘文件。',
|
||
},
|
||
dependencyNotReady: '虚拟机依赖检测未通过,请处理后再使用虚拟机功能。',
|
||
helperUnavailable: '虚拟机能力初始化失败,请检查 Core 日志或重新升级后再使用虚拟机功能。',
|
||
kvmUnavailable: '未检测到可用的 KVM 硬件虚拟化能力。',
|
||
kvmCheckCpu: '确认宿主机 CPU 支持 Intel VT-x 或 AMD-V 虚拟化能力。',
|
||
kvmCheckBios: '进入 BIOS/UEFI 开启虚拟化相关选项。',
|
||
kvmCheckModule: '确认内核模块 kvm、kvm_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: '磁盘容量',
|
||
isoHelper: '镜像用于虚拟机首次启动并安装操作系统。',
|
||
osType: '操作系统类型',
|
||
osOther: '其他',
|
||
diskBus: '磁盘总线',
|
||
diskPath: '磁盘路径',
|
||
isoPath: '镜像源文件',
|
||
storagePool: '存储池',
|
||
networkHelper: '网络用于为虚拟机提供网络连接。',
|
||
storagePoolHelper: '存储池用于保存虚拟机磁盘和镜像文件。',
|
||
network: '网络',
|
||
bridgeName: '桥接名称',
|
||
natNetworkHelper: '虚拟机可通过宿主机访问网络,外部设备通常无法直接访问虚拟机。',
|
||
bridgeNetworkHelper:
|
||
'让虚拟机接入宿主机已有的网桥(如 br0)。如宿主机有未使用的额外网卡,也可为其创建网桥后使用。',
|
||
bridgeNameHelper:
|
||
'请选择宿主机上已存在的 Linux bridge,例如 br0。物理网卡不是 bridge,docker/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:
|
||
'快照会保存虚拟机当前状态作为还原点,后续数据变化会记录在差分文件中,不影响原始磁盘。恢复快照时,虚拟机会回到该时间点状态。',
|
||
snapshotOperationHelper: '当前快照无法删除;仅可在虚拟机关机时恢复快照。',
|
||
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',
|
||
},
|
||
},
|
||
template: {
|
||
create: '创建模板',
|
||
edit: '编辑模板',
|
||
name: '模板名称',
|
||
type: '模板类型',
|
||
single: '单文件',
|
||
multi: '多文件(zip)',
|
||
content: '模板内容',
|
||
variables: '变量定义',
|
||
remark: '备注',
|
||
filePath: '文件路径',
|
||
upload: '上传 zip',
|
||
preview: '预览',
|
||
previewEmpty: '选择模板后可实时预览',
|
||
generate: '生成产物',
|
||
outputName: '产物名称',
|
||
outputList: '产物列表',
|
||
outputCreate: '生成产物',
|
||
confirmDelete: '确定删除此模板吗?关联的产物也将被删除',
|
||
confirmDeleteOutput: '确定删除此产物吗?',
|
||
variableKey: '变量名',
|
||
variableLabel: '标签',
|
||
variableType: '类型',
|
||
variableDefault: '默认值',
|
||
variableOptions: '选项(逗号分隔)',
|
||
variableRequired: '必填',
|
||
varTypeText: '单行文本',
|
||
varTypeTextHelper: '普通文本输入框',
|
||
varTypeTextarea: '多行文本',
|
||
varTypeTextareaHelper: '适用于段落、长文本',
|
||
varTypeNumber: '数字',
|
||
varTypeNumberHelper: '仅允许输入数字',
|
||
varTypeSelect: '下拉选择',
|
||
varTypeSelectHelper: '从预设选项中选择,需填写选项',
|
||
varTypeColor: '颜色',
|
||
varTypeColorHelper: '颜色选择器',
|
||
autoDetectHelper: '自动识别内容中双花括号包裹的变量并加入变量定义表格',
|
||
selectTemplate: '选择模板',
|
||
fillVariables: '填写变量',
|
||
noVariables: '此模板没有定义变量',
|
||
outputSuccess: '产物生成成功',
|
||
importButton: '从模板导入',
|
||
},
|
||
};
|
||
export default {
|
||
...getFuLocaleMessage('zh'),
|
||
...message,
|
||
};
|