Files
opsx-vpn/frontend/src/locales/zh-CN.json
T
opsx a15786ea84 feat: 主机环境一键初始化(页面内装依赖 + 修转发/GRE)
- 新增 GET /api/system/env:主机环境体检
  * 运行权限 / IPv4 转发 / GRE 内核模块 / 包管理器 / 各协议依赖 / xl2tpd
  * 返回 failed/blocking/ready 汇总,供前端渲染与门控
- 新增 POST /api/system/fix:白名单修复动作
  * ip_forward:sysctl 开启 + 持久化到 /etc/sysctl.d/99-opsx-vpn.conf
  * gre_module:modprobe + 持久化到 /etc/modules-load.d/opsx-vpn.conf
  * install:<协议>:复用 binmgr.InstallViaPackageManager(apt/yum/dnf/apk/pacman)
  * tool:xl2tpd:L2TP 依赖补齐
  * 仅 admin 可调用;actions 与协议名均走白名单,绝不接受调用方传入命令串;全部写审计日志
- Dashboard:协议「安装命令」按钮改为「一键安装」(调 /binaries/install,含包管理器降级)
- Dashboard:主机前提警告条新增「一键修复」按钮(按缺失项逐项修复)
- i18n:中英文补齐 oneClickInstall / oneClickFix / fixSuccess / fixFailed / fixNeedRoot / fixNothing
2026-10-20 21:32:53 +08:00

1091 lines
41 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"common": {
"appName": "VPN 管理平台",
"confirm": "确认",
"cancel": "取消",
"save": "保存",
"delete": "删除",
"edit": "编辑",
"add": "添加",
"create": "创建",
"close": "关闭",
"search": "搜索",
"refresh": "刷新",
"back": "返回",
"submit": "提交",
"yes": "是",
"no": "否",
"enabled": "启用",
"disabled": "禁用",
"loading": "加载中",
"operation": "操作",
"status": "状态",
"name": "名称",
"description": "说明",
"username": "用户名",
"password": "密码",
"email": "邮箱",
"source": "来源",
"local": "本地",
"ldap": "LDAP",
"remark": "备注",
"protocol": "协议",
"node": "节点",
"time": "时间",
"target": "对象",
"action": "动作",
"traffic": "流量 ↓ / ↑",
"ipAddress": "IP 地址",
"detail": "详情",
"copy": "复制",
"copied": "已复制",
"download": "下载",
"permanent": "永久",
"saveSuccess": "已保存",
"saveFailed": "保存失败",
"deleteSuccess": "已删除",
"deleteFailed": "删除失败",
"loadFailed": "加载失败",
"operationFailed": "操作失败",
"deleteConfirm": "删除确认",
"noData": "暂无数据",
"never": "不",
"copiedToClipboard": "已复制到剪贴板",
"logout": "退出登录",
"batchOperation": "批量操作"
},
"login": {
"title": "VPN 专线管理平台",
"subtitle": "统一管理多协议 VPN,配置简单、安全可控",
"protocols": "WireGuard · IPSec · IKEv2 · L2TP · GRE · FRP · OpenVPN",
"feature1Title": "多协议统一管理",
"feature1Desc": "WireGuard / IPSec / IKEv2 / L2TP / GRE / OpenVPN",
"feature2Title": "企业级安全",
"feature2Desc": "密钥 AES-GCM 加密 + 双因素认证",
"feature3Title": "一键创建配置",
"feature3Desc": "向导式生成,客户端配置秒级下载",
"feature4Title": "轻量零依赖",
"feature4Desc": "单二进制交付,无需 Docker",
"welcome": "欢迎登录",
"welcomeHint": "请输入账号密码登录管理平台",
"usernameLabel": "用户名",
"usernamePlaceholder": "请输入用户名",
"passwordLabel": "密码",
"passwordPlaceholder": "请输入密码",
"loginButton": "登 录",
"defaultAccount": "默认账号 {account},登录后请立即修改",
"errorEmpty": "请输入用户名和密码",
"loginSuccess": "登录成功",
"changePasswordFirst": "首次登录请先修改密码",
"loginFailed": "登录失败,请检查网络或联系管理员"
},
"dashboard": {
"welcomeTitle": "欢迎使用 VPN 管理平台",
"welcomeDesc": "还没有专线,3 步即可创建第一条:选择协议 → 填写参数 → 自动生成配置",
"createNow": "立即创建专线",
"totalTunnels": "专线总数",
"running": "运行中",
"onlineUsers": "在线用户",
"totalTraffic": "累计流量 ↓↑",
"protocolDistribution": "协议分布",
"protocolEngineStatus": "协议引擎状态",
"hostReadinessWarning": "主机运行前提未完全满足,VPN 转发或 NAT 可能无法正常工作",
"readinessRoot": "服务未以 root 运行",
"readinessForwarding": "IPv4 转发未启用",
"readinessRoute": "未检测到默认出口路由",
"depCheckResult": "系统依赖检测结果",
"depReady": "已就绪",
"demoMode": "演示模式",
"deploy": "下载部署",
"installCmd": "安装命令",
"expiringTunnels": "即将到期的专线(7 天内)",
"expiryTime": "到期时间",
"noTunnels": "暂无专线",
"deploySuccess": "{name} {version} 部署成功",
"deployFailed": "{name} 部署失败",
"contactAdmin": "请联系系统管理员安装",
"recommendedCmd": "推荐命令",
"otherDistros": "其他发行版",
"copyRecommended": "复制推荐命令",
"getInstallCmdFailed": "获取安装命令失败",
"aptDefault": "apt 默认",
"oneClickInstall": "一键安装",
"oneClickFix": "一键修复",
"fixSuccess": "已修复:{items}",
"fixFailed": "修复失败:{items}",
"fixNeedRoot": "需要以 root 运行才能修改系统配置",
"fixNothing": "当前没有可自动修复的项"
},
"tunnels": {
"searchPlaceholder": "搜索名称",
"allProtocols": "全部协议",
"allStates": "全部状态",
"stateRunning": "运行中",
"stateStopped": "已停止",
"stateError": "异常",
"stateUndeployed": "未部署",
"createTunnel": "创建专线",
"createFirst": "创建第一条专线",
"noTunnels": "还没有专线",
"expireTime": "到期时间",
"localNode": "本机节点",
"start": "启动",
"stop": "停止",
"started": "已启动",
"startFailed": "启动失败",
"stopped": "已停止",
"more": "更多",
"viewLogs": "查看日志",
"downloadConfig": "下载配置",
"showQrCode": "显示二维码",
"ipsecTest": "IPSec 对接测试",
"delete": "删除",
"detail": "详情",
"protocol": "协议",
"createTime": "创建时间",
"autoStart": "自动启动",
"runningParams": "运行参数",
"clientConfig": "客户端配置",
"noClientConfig": "该协议暂无客户端配置",
"downloadClientConfig": "下载客户端配置",
"ipsecParamCheck": "IPSec 参数检查与连通性测试",
"trafficPolicy": "流量策略",
"quotaGB": "配额(GB)",
"quotaUnlimited": "0 = 不限。已用:{used}",
"rateLimitMbps": "限速(Mbps)",
"rateUnlimited": "0 = 不限",
"exceedAction": "超额动作",
"actionWarn": "仅告警",
"actionBlock": "自动停止",
"actionThrottle": "限速至1Mbps",
"resetCycle": "重置周期",
"resetNone": "不重置",
"resetDaily": "每天",
"resetMonthly": "每月",
"savePolicy": "保存策略",
"policySaved": "流量策略已保存",
"peerList": "Peer 列表",
"addPeer": "添加 Peer",
"peerId": "Peer ID",
"address": "地址",
"peerOnline": "在线",
"peerOffline": "离线",
"config": "配置",
"qrCode": "二维码",
"scanQrTitle": "扫码导入 WireGuard 客户端",
"scanQrHint": "使用 WireGuard App「从二维码添加」",
"addPeerTitle": "添加 WireGuard Peer",
"autoGenId": "留空自动生成 client-N",
"peerNamePlaceholder": "手机 / 笔记本",
"clientAddress": "客户端地址",
"defaultAllowedIPs": "留空使用隧道默认",
"externalPublicKey": "外部公钥",
"externalKeyHint": "留空则平台托管生成密钥;填写则为外部设备",
"logTitle": "实例日志 — {name}",
"liveOutput": "● 实时输出中",
"logStopped": "已停止",
"pause": "暂停",
"resume": "继续",
"clearScreen": "清屏",
"waitingLog": "等待日志输出...",
"fillClientAddress": "请填写客户端地址",
"peerAdded": "Peer 已添加",
"addFailed": "添加失败",
"deletePeerConfirm": "删除 Peer「{id}」?",
"downloadFailed": "下载失败",
"qrFailed": "生成二维码失败",
"noClientConfigWarn": "无客户端配置",
"deleteTunnelConfirm": "确定删除专线「{name}」?配置与密钥将一并清除。",
"peerAlreadyAdded": "Peer 已添加",
"stopFailed": "停止失败",
"selected": "已选择 {count} 项",
"batchStart": "批量启动",
"batchStop": "批量停止",
"batchDelete": "批量删除",
"batchStartConfirm": "确认批量启动 {count} 条隧道?",
"batchStopConfirm": "确认批量停止 {count} 条隧道?",
"batchDeleteConfirm": "确认批量删除 {count} 条隧道?此操作不可撤销!",
"batchStarted": "批量操作已提交,正在后台执行",
"taskProgress": "任务进度",
"taskPending": "等待中",
"taskRunning": "执行中",
"taskDone": "已完成",
"taskFailed": "失败",
"taskSuccess": "成功 {count}/{total}",
"taskFailedCount": "失败 {count}",
"taskInProgress": "进行中 ({done}/{total})",
"taskComplete": "全部完成",
"taskPartialFail": "部分失败",
"viewTasks": "查看任务",
"noTasks": "暂无任务记录",
"trafficTrend": "流量趋势",
"noTrafficData": "暂无流量数据(等待采样中…)"
},
"tunnelEditor": {
"title": "编辑专线",
"backToList": "返回列表",
"sensitiveFieldHint": "密码、PSK、Token 等敏感字段不会回显;留空表示继续使用原值。",
"tunnelName": "专线名称",
"protocolType": "协议类型",
"coreOptions": "核心接入配置",
"advancedOptions": "详细配置",
"trafficMode": "流量出口",
"trafficGateway": "全流量经 VPN 网关",
"trafficStatic": "仅静态路由",
"trafficCustom": "自定义",
"trafficGatewayTip": "客户端全部流量经 VPN 网关转发,并使用 NAT 出网。",
"trafficStaticTip": "仅向客户端推送下方填写的目标网段,不改变其默认互联网出口。",
"trafficCustomTip": "在详细配置中分别控制默认路由、静态路由与 NAT。",
"keepOriginal": "留空保持原值",
"expireTime": "到期时间",
"expirePlaceholder": "留空为永久",
"autoStart": "自动启动",
"saveConfig": "保存配置",
"loadFailed": "加载专线失败",
"fillName": "请填写专线名称",
"configSaved": "配置已保存"
},
"tunnelWizard": {
"step1": "选择协议",
"step2": "填写参数",
"step3": "生成配置",
"recommend": "推荐",
"depReady": "✓ 依赖就绪",
"notDeployed": "未部署",
"oneClickInstall": "一键安装",
"installCmd": "安装命令",
"customPlugin": "自定义协议插件",
"customScene": "自定义对接",
"tunnelName": "专线名称",
"namePlaceholder": "例如:总部-分支互联",
"protocolType": "协议类型",
"reselect": "重新选择",
"coreOptions": "核心接入配置",
"trafficMode": "流量出口",
"trafficGateway": "全流量经 VPN 网关",
"trafficStatic": "仅静态路由",
"trafficCustom": "自定义",
"trafficGatewayTip": "客户端全部流量经 VPN 网关转发,并使用 NAT 出网。",
"trafficStaticTip": "仅向客户端推送下方填写的目标网段,不改变其默认互联网出口。",
"trafficCustomTip": "在详细配置中分别控制默认路由、静态路由与 NAT。",
"advancedOptions": "高级选项",
"expireTime": "到期时间",
"expirePlaceholder": "留空为永久",
"autoStartAfterCreate": "创建后自动启动",
"previousStep": "上一步",
"generateConfig": "生成配置",
"createSuccess": "专线创建成功",
"configGenerated": "「{name}」配置已生成",
"clientConfig": "客户端配置",
"downloadConfigFile": "下载配置文件",
"showQrCode": "显示二维码",
"goIpsecPeer": "前往 IPSec 对接页",
"backToList": "返回列表",
"installCmdTitle": "{name} 安装命令",
"pkgManagerDetected": "检测到当前系统包管理器:{pm},推荐使用以下命令",
"noPkgManager": "未检测到系统包管理器,以下是各平台安装命令供参考",
"aptDefault": "apt (默认)",
"recommended": "推荐",
"copyThisCmd": "复制此命令",
"otherDistros": "其他发行版",
"fillName": "请填写专线名称",
"fillRequired": "请填写必填项:{label}",
"createFailed": "创建失败",
"installSuccess": "{protocol} {version} 安装成功 {method}",
"methodPackageManager": "(包管理器安装)",
"methodDownload": "(一键安装)",
"installFailed": "{protocol} 安装失败"
},
"users": {
"title": "管理用户",
"batchImport": "批量导入",
"ldapImport": "LDAP 导入",
"addUser": "添加用户",
"role": "角色",
"roleAdmin": "管理员",
"roleOperator": "运维",
"roleViewer": "只读",
"noUsers": "还没有用户",
"ldapTitle": "LDAP / Active Directory",
"ldapHint": "LDAP 用户可首次登录后自动同步,也可使用左侧「LDAP 导入」预先添加。",
"ldapConfigHint": "配置 LDAP 服务器,实现统一身份认证",
"ldapEnabled": "启用 LDAP",
"ldapServerAddress": "LDAP 服务器地址",
"ldapServerAddressPlaceholder": "例如 8.217.205.92 或 ldap.example.com",
"ldapPort": "端口",
"ldapProtocol": "连接协议",
"ldapProtocolLDAPS": "LDAPS(推荐)",
"ldapProtocolLDAP": "LDAP",
"bindDn": "管理员 Bind DN",
"bindPassword": "管理员密码",
"keepOriginal": "留空保持原值",
"baseDn": "Base DN(用户搜索基础)",
"userFilter": "搜索过滤器(可选,%s 表示用户名)",
"enableLdaps": "启用 LDAPS(SSL 加密)",
"usernameAttr": "用户名属性",
"testConnection": "测试连接",
"editUser": "编辑用户",
"loginUsername": "登录用户名",
"keepUnchanged": "留空不修改",
"min8Chars": "至少 8 位",
"batchImportTitle": "批量导入用户",
"batchHint": "每行一个用户,格式:用户名,密码 或仅用户名(自动生成密码)。密码至少 8 位。",
"batchPlaceholder": "每行一个:用户名,密码(如 user1,Pass1234);或仅用户名自动生成密码",
"defaultRole": "默认角色",
"startImport": "开始导入",
"ldapImportTitle": "从 LDAP 导入用户",
"ldapNotEnabled": "LDAP 未启用,请先在右侧配置并测试连接",
"refreshUserList": "刷新用户列表",
"userCount": "共 {count} 个用户,已选 {selected} 个",
"fullName": "姓名",
"imported": "已导入",
"pendingImport": "待导入",
"clickRefreshHint": "点击上方刷新加载 LDAP 用户",
"ldapDisabled": "LDAP 未启用",
"importSelected": "导入入选中 ({count})",
"updated": "已更新",
"fillUsername": "请填写用户名",
"passwordMin8": "密码至少 8 位",
"userCreated": "用户已创建",
"deleteUserConfirm": "确定删除用户「{username}」?",
"enterAtLeastOne": "请输入至少一行用户数据",
"importResult": "成功 {success},跳过 {skipped},失败 {failed}",
"importResultTitle": "导入结果",
"importFailed": "导入失败",
"ldapLoadFailed": "LDAP 加载失败",
"ldapConfigSaved": "LDAP 配置已保存",
"ldapConnected": "LDAP 连接成功",
"ldapTestRequired": "请先测试 LDAP 连接,通过后才能保存",
"ldapConnectFailed": "连接失败",
"emptyUsername": "(空)",
"errorDetails": "失败详情:"
},
"vpnUsers": {
"title": "VPN 拨号用户",
"mfaHint": "OpenVPN 双因素认证(TOTP / 静态挑战 / PIN+OTP)",
"addUser": "添加用户",
"bulkImport": "批量导入",
"bulkImportTitle": "批量导入平台用户",
"bulkImportHint": "仅 OpenVPN 支持导入平台本地或 LDAP 用户;L2TP/IKEv2 请创建独立拨号账号。",
"importSelected": "导入选中用户",
"importedCount": "已导入 {count} 个用户",
"importFailed": "批量导入失败",
"selectOpenVPNTunnel": "选择 OpenVPN 隧道",
"selectTunnelAndUsers": "请选择 OpenVPN 隧道和平台用户",
"searchPlaceholder": "搜索用户名、姓名或邮箱",
"allTunnels": "全部隧道",
"selectedUsers": "已选择 {count} 个用户",
"batchDelete": "批量删除",
"batchDeleteConfirm": "确认删除选中的 {count} 个拨号用户?",
"batchDeleteDone": "已删除选中拨号用户",
"displayName": "姓名",
"tunnel": "隧道",
"otpMfa": "OTP / MFA",
"bound": "已绑定",
"unbound": "未绑定",
"locked": "锁定",
"lastOnline": "最近在线",
"downloadConfig": "下载配置",
"otpManagement": "OTP 管理",
"addVpnUserTitle": "添加 VPN 拨号用户",
"dialTunnel": "拨号隧道",
"pickFromUsers": "从已有用户选",
"displayNameLabel": "显示名",
"authSource": "认证来源",
"min8Chars": "至少 8 位",
"ldapDn": "LDAP DN",
"create": "创建",
"pickUserTitle": "选择已有平台用户",
"noPlatformUsers": "暂无平台用户",
"clickRowHint": "点击行即选中并自动填充",
"otpDialogTitle": "双因素认证 — {username}",
"otpHint": "基于 TOTP 的双因素认证(SHA1 / base32 / 30s / 6 位),兼容主流 Authenticator 应用。支持静态挑战二次输入与 PIN+OTP 组合模式。",
"mfaNotEnabled": "尚未启用双因素认证",
"mfaDisabledHint": "绑定验证器后,此用户登录 VPN 时需要额外输入动态验证码。",
"mfaEnabledHint": "该用户登录 VPN 时需要密码和动态验证码。",
"mfaSetupIntro": "为该用户绑定一个 Authenticator 应用,保护 VPN 拨号登录。",
"manualSetup": "无法扫码?使用手动密钥",
"verifySetup": "确认绑定",
"verifySetupHint": "在 Authenticator 中扫描后,输入当前显示的 6 位验证码完成验证。",
"securityDetails": "安全详情",
"bindStatus": "绑定状态",
"boundTotp": "已绑定 TOTP",
"staticPin": "静态 PIN",
"pinSet": "已设置",
"pinNotSet": "未设置",
"failCount": "失败次数",
"lockStatus": "锁定",
"lockedUntil": "是(至 {time})",
"lastOtpSuccess": "最近 OTP 成功",
"compatible": "兼容",
"totpCompatible": "TOTP 标准(兼容 Google/Microsoft Authenticator)",
"bindAuthenticator": "绑定 Authenticator",
"disableMfa": "关闭 MFA",
"regenBackupCodes": "重新生成备用码",
"setClearPin": "设置/清除 PIN",
"unlock": "解锁",
"exportKeys": "导出密钥",
"scanHint": "使用 Google Authenticator / Microsoft Authenticator / FreeOTP 扫描",
"base32Key": "base32 密钥:{key}",
"input6DigitCode": "输入 6 位验证码确认绑定",
"verifyAndEnable": "验证并启用",
"clientConnectHint": "客户端连接方式:密码框填登录密码,第二因子填 6 位动态验证码(若设置了 PIN,则填 PIN+验证码,如 1234123456)。也支持密码后直接附加 6 位码。",
"setPinTitle": "设置静态 PIN",
"pinHint": "连接时第二因子需输入 PIN + 6 位动态验证码(无空格拼接)。留空保存可清除已设置的 PIN。",
"pinPlaceholder": "4-32 位 PIN,留空清除",
"userFilled": "已填充用户「{username}」信息",
"vpnUserCreated": "拨号用户已创建",
"createFailed": "创建失败",
"downloadFailed": "下载失败",
"mfaSetupFailed": "无法开始 MFA 设置",
"inputCode": "请输入验证码",
"mfaEnabledMsg": "双因素认证已启用。\n\n一次性备用码(请妥善保存,丢失手机时用于登录):\n{codes}\n\n客户端连接方式:密码框填登录密码,第二因子填 6 位动态验证码(若设置了 PIN 则填 PIN+验证码)。",
"bindSuccess": "绑定成功",
"verifyFailed": "验证失败",
"disableMfaConfirm": "关闭 {username} 的 MFA?",
"mfaClosed": "MFA 已关闭",
"backupCodesTitle": "备用码",
"newBackupCodes": "新备用码(旧码失效):\n\n{codes}",
"generateFailed": "生成失败",
"pinSetSuccess": "PIN 已设置",
"pinCleared": "PIN 已清除",
"unlocked": "已解锁",
"unlockFailed": "解锁失败",
"exportKeysTitle": "导出密钥",
"otpSecretsMsg": "TOTP 密钥行(敏感信息,请勿泄露):\n\n{line}\n\n格式说明:{format}",
"exportFailed": "导出失败",
"deleteVpnUserConfirm": "删除拨号用户 {username}?"
},
"sessions": {
"title": "在线会话",
"onlineCount": "{count} 个在线",
"publicAddress": "公网地址",
"vpnIp": "VPN IP",
"connectedDuration": "已连接时长",
"kickOffline": "踢下线",
"noOnlineUsers": "当前无在线用户",
"trafficAlert": "⚠ 异常流量告警",
"userTunnel": "用户/隧道",
"alertType": "类型",
"rateAlert": "突发流量",
"quotaExceed": "配额超额",
"auditLog": "连接审计日志",
"event": "事件",
"eventConnect": "连接",
"eventDisconnect": "断开",
"eventAuthFail": "认证失败",
"eventQuotaExceed": "配额超额",
"eventRateAlert": "突发流量",
"seconds": "{n}秒",
"minutes": "{n}分钟",
"hoursMinutes": "{h}小时{m}分",
"loadDataFailed": "加载数据失败",
"kickConfirm": "确定踢用户「{username}」下线?",
"kicked": "已踢下线"
},
"logs": {
"auditTitle": "操作审计日志",
"connTitle": "连接审计日志",
"alertTitle": "流量告警",
"statsTitle": "日志统计",
"keywordPlaceholder": "搜索目标/详情",
"startDate": "开始日期",
"endDate": "结束日期",
"exportCsv": "导出 CSV",
"eventType": "事件类型",
"tunnelId": "隧道ID",
"auditCount": "审计日志",
"connCount": "连接日志",
"sessionCount": "会话记录",
"from": "从",
"cleanup": "清理日志",
"cleanupHint": "删除指定天数之前的日志数据",
"cleanupPrompt": "保留最近多少天的日志?",
"cleanupInputError": "请输入正整数",
"cleanupDone": "清理完成:审计 {audit} 条、连接 {conn} 条、会话 {session} 条",
"loadFailed": "加载日志失败",
"noAlerts": "暂无流量告警"
},
"settings": {
"mustChangePassword": "首次登录或密码已被管理员重置,必须修改密码后才能使用其他功能",
"changePassword": "修改密码",
"oldPassword": "原密码",
"newPassword": "新密码",
"min8Chars": "至少 8 位",
"confirmNewPassword": "确认新密码",
"change": "修改",
"mfaTitle": "双因素认证(MFA)",
"mfaHint": "使用 Microsoft Authenticator、Google Authenticator 等应用扫描二维码。备用码可在丢失手机时登录。",
"setupMfa": "设置 MFA",
"disableMfa": "关闭 MFA",
"input6DigitCode": "输入 App 显示的 6 位验证码",
"verifyAndEnable": "验证并启用",
"deployTitle": "部署说明",
"deliveryForm": "交付形态",
"deliveryDesc": "单二进制(前端已内嵌),无需 Docker",
"dataDir": "数据目录",
"dataDirDesc": "./data(可用 VPN_DATA_DIR 覆盖)",
"listenAddr": "监听地址",
"listenAddrDesc": ":8080(VPN_LISTEN_ADDR 覆盖)",
"keyStorage": "密钥存储",
"keyStorageDesc": "PSK / 私钥 AES-GCM 加密落库,配置文件 0600 权限",
"systemDeps": "系统依赖",
"systemDepsDesc": "wireguard-tools / strongswan / xl2tpd / openvpn / frp",
"prodSuggestion": "生产建议",
"prodSuggestionDesc": "经 Nginx/Caddy 反向代理终止 TLS 后暴露",
"auditTitle": "操作审计(最近 100 条)",
"auditMigrated": "审计日志已迁移至「日志中心」,支持分页、筛选和导出",
"noAuditLogs": "暂无审计日志",
"mfaEnabledTitle": "MFA 已启用 — 请保存备用码",
"backupCodesHint": "这些备用码仅显示一次,丢失手机时用于登录。请立即复制保存!",
"copyAll": "复制全部",
"savedConfirm": "我已保存",
"passwordMismatch": "两次新密码不一致",
"passwordMin8": "新密码至少 8 位",
"passwordChanged": "密码已修改",
"changeFailed": "修改失败",
"setupFailed": "设置失败",
"verifyFailed": "验证失败",
"mfaClosed": "MFA 已关闭",
"closeFailed": "关闭失败",
"mustChangeHint": "首次登录或密码已被重置,请先修改密码",
"confirmChange": "确认修改",
"strength": "强度:{level}",
"strengthVeryWeak": "很弱",
"strengthWeak": "弱",
"strengthFair": "一般",
"strengthStrong": "较强",
"strengthVeryStrong": "强"
},
"plugins": {
"title": "自定义协议插件",
"registerPlugin": "注册插件",
"commandHooks": "命令钩子",
"pluginHint": "插件通过 {hooks} 实现统一协议契约:平台将专线配置 JSON 通过 stdin 传给钩子命令。",
"pluginContract": "契约:{contract};Status 钩子 stdout 输出 {running} 或 {stopped};Config 钩子 stdout 输出客户端配置文本。",
"protocolId": "协议标识",
"enabled": "启用",
"disabled": "停用",
"noPlugins": "还没有自定义协议插件",
"editPlugin": "编辑插件",
"registerPluginTitle": "注册协议插件",
"protocolIdPlaceholder": "如 myproto(字母数字)",
"displayName": "显示名称",
"optional": "可选",
"protocolIdRequired": "协议标识与 Start 钩子必填"
},
"nodes": {
"title": "节点管理",
"addNode": "添加节点",
"nodeHint": "节点用于将专线部署到中继服务器。本机节点为内置默认节点;远程节点支持 SSH 凭证验证(密码/私钥),验证通过后状态显示为「已验证」。",
"type": "类型",
"typeLocal": "本机",
"typeRemote": "远程",
"sshUser": "SSH 用户",
"authMethod": "认证方式",
"authPassword": "密码",
"authKey": "私钥",
"statusReady": "就绪",
"statusVerified": "已验证",
"statusFailed": "验证失败",
"statusUnverified": "未验证",
"verify": "验证",
"noNodes": "还没有远程节点,点击右上角添加",
"editNode": "编辑节点",
"namePlaceholder": "例如:北京中继节点",
"addressPlaceholder": "IP 或域名,如 192.168.1.100",
"sshPort": "SSH 端口",
"remoteNode": "远程节点",
"localNode": "本机节点",
"defaultRoot": "默认 root",
"keepUnchanged": "留空表示不修改",
"sshPasswordPlaceholder": "SSH 登录密码",
"privateKeyPlaceholder": "粘贴 OpenSSH/PEM 格式私钥内容",
"testConnection": "测试连接",
"determine": "确定",
"fillAddressFirst": "请先填写地址",
"requestFailed": "请求失败",
"fillNameAndAddress": "请填写名称与地址",
"added": "已添加",
"updated": "已更新",
"verifySuccess": "验证成功:{msg}",
"verifyFailed": "验证失败:{msg}",
"deleteNodeConfirm": "确定删除节点「{name}」?该操作不可撤销。"
},
"notFound": {
"title": "404",
"subtitle": "您访问的页面不存在或已被移除",
"backHome": "返回首页"
},
"mfaVerify": {
"title": "双因素认证",
"hint": "请输入 Authenticator 应用中显示的 6 位动态验证码",
"verifyAndLogin": "验证并登录",
"backToLogin": "返回登录",
"inputFullCode": "请输入完整的 6 位验证码",
"sessionExpired": "登录会话已过期,请重新登录",
"verifySuccess": "验证成功",
"codeError": "验证码错误,请重试"
},
"ipsecPeer": {
"localParams": "本端 IPSec 参数",
"loadTemplate": "载入设备模板",
"localPublicIp": "本端公网 IP",
"remoteGateway": "对端网关",
"localSubnets": "本端网段",
"remoteSubnets": "对端网段",
"psk": "预共享密钥",
"phase1": "Phase 1(IKE SA)",
"ikeVersion": "IKE 版本",
"proposal": "提议",
"localId": "本端 ID",
"remoteId": "对端 ID",
"phase2": "Phase 2(IPSec SA)",
"espProposal": "ESP 提议",
"pfsGroup": "PFS 组",
"dpdPolicy": "DPD 策略",
"dpdRestart": "restart(断线重连)",
"dpdClear": "clear(清除)",
"dpdTrap": "trap(按需触发)",
"createIpsecTunnel": "创建 IPSec 专线",
"paramConsistency": "双方参数一致性检查",
"peerIkeVersion": "对端 IKE 版本",
"peerPhase1": "对端 Phase1",
"peerPhase2": "对端 Phase2",
"peerPfsGroup": "对端 PFS 组",
"peerLocalSubnets": "对端本端网段",
"peerIkePlaceholder": "对端的 IKE 提议",
"peerEspPlaceholder": "对端的 ESP 提议",
"peerSubnetsPlaceholder": "对端视角的 local(=我方 remote)",
"startCompare": "开始对比检查",
"paramsConsistent": "双方参数一致,可以建立隧道",
"paramsInconsistent": "发现参数不一致:",
"connectivityTest": "一键连通性测试",
"selectIpsecTunnel": "选择已有 IPSec 专线",
"testConnectivity": "测试与对端网关连通性",
"reachable": "可达",
"unreachable": "不可达",
"latency": "耗时",
"templateLoaded": "已载入「{name}」模板:{note}",
"fillRequiredFields": "请填写完整的必填项(网关/网段/PSK)",
"ipsecCreated": "IPSec 专线已创建并启动",
"createFailed": "创建失败",
"testFailed": "测试失败"
},
"router": {
"dashboard": "总览",
"tunnels": "专线列表",
"sessions": "在线会话",
"createTunnel": "创建专线",
"editTunnel": "编辑专线",
"ipsecPeer": "IPSec 第三方对接",
"nodes": "节点管理",
"users": "用户管理",
"vpnUsers": "VPN 拨号用户",
"plugins": "协议插件",
"settings": "系统设置",
"logs": "日志中心",
"notFound": "页面不存在",
"sidebarOps": "专线运维",
"sidebarResource": "资源管理",
"sidebarSystem": "系统"
},
"protocolIcon": {
"custom": "自定义协议"
},
"protocols": {
"wireguard": {
"name": "WireGuard",
"desc": "性能最好的现代 VPN,内核级实现,漫游友好",
"scenes": "内部接入 / 移动办公",
"fields": {
"address": {
"label": "服务端 VPN 网段地址",
"tip": "服务端在 VPN 网段中的地址(CIDR)"
},
"listen_port": {
"label": "监听端口"
},
"client_address": {
"label": "首个客户端地址",
"tip": "创建后可在详情中继续添加 Peer"
},
"public_endpoint": {
"label": "公网接入点",
"tip": "客户端连接用,公网 IP:端口"
},
"dns": {
"label": "DNS"
},
"allowed_ips": {
"label": "客户端 AllowedIPs",
"tip": "全流量代理用 0.0.0.0/0;仅内网填内网网段"
},
"keepalive": {
"label": "Keepalive(秒)",
"tip": "NAT 后客户端建议 15–25"
},
"mtu": {
"label": "MTU",
"tip": "0 表示默认;跨公网常见 1280–1420"
},
"enable_nat": {
"label": "启用 NAT 出网",
"tip": "客户端需访问公网/其它网段时开启"
},
"egress_interface": {
"label": "NAT 出口网卡",
"tip": "留空则自动探测默认路由网卡"
}
}
},
"ipsec": {
"name": "IPSec 站点互联",
"desc": "与第三方设备(Cisco/华为/飞塔等)做站点到站点对接",
"scenes": "第三方对接 / 站点互联",
"fields": {
"vendor_template": {
"label": "厂商模板",
"tip": "自动预填 Phase1/Phase2 提议,仍可手动改",
"options": {
"generic": "通用标准(推荐)",
"cisco": "Cisco ISR/ASR",
"fortigate": "FortiGate",
"huawei": "华为 USG/AR",
"h3c": "H3C"
}
},
"public_endpoint": {
"label": "本端公网 IP"
},
"remote_gateway": {
"label": "对端网关地址"
},
"local_subnets": {
"label": "本端网段",
"tip": "多个网段用逗号分隔"
},
"remote_subnets": {
"label": "对端网段"
},
"psk": {
"label": "预共享密钥 PSK"
},
"ike_version": {
"label": "IKE 版本",
"options": {
"ikev2": "IKEv2",
"ikev1": "IKEv1"
}
},
"ike_proposal": {
"label": "Phase1 提议",
"tip": "加密-认证-DH组,需与对端一致"
},
"esp_proposal": {
"label": "Phase2 提议"
},
"pfs_group": {
"label": "PFS DH 组"
},
"ike_lifetime": {
"label": "IKE 生存期(秒)"
},
"local_id": {
"label": "本端标识 ID"
},
"remote_id": {
"label": "对端标识 ID"
}
}
},
"ikev2": {
"name": "IKEv2 远程接入",
"desc": "手机/笔记本原生拨号进内网,比 L2TP 更现代",
"scenes": "员工远程办公 / 原生 VPN",
"fields": {
"public_endpoint": {
"label": "服务器公网地址"
},
"local_id": {
"label": "服务器 ID / 远程 ID",
"tip": "客户端「远程 ID」与此一致"
},
"psk": {
"label": "机器认证 PSK",
"tip": "留空自动生成;iOS/Android 共享密钥"
},
"address_pool": {
"label": "客户端地址池"
},
"dns": {
"label": "下发 DNS"
},
"local_ts": {
"label": "放行网段",
"tip": "0.0.0.0/0 为全流量;可改为内网 CIDR"
},
"ike_proposal": {
"label": "IKE 提议"
},
"esp_proposal": {
"label": "ESP 提议"
}
}
},
"l2tp": {
"name": "L2TP/IPSec",
"desc": "兼容性最好,手机/老设备/路由器原生支持",
"scenes": "移动设备 / 老设备兼容",
"fields": {
"public_endpoint": {
"label": "服务器公网 IP"
},
"psk": {
"label": "IPSec 预共享密钥",
"tip": "留空将自动生成高强度随机密钥;请在创建后从客户端配置中安全获取"
},
"ip_range": {
"label": "客户端地址池"
},
"local_ip": {
"label": "服务端隧道地址"
},
"dns": {
"label": "下发 DNS"
}
}
},
"gre": {
"name": "GRE 隧道",
"desc": "标准 IP 协议 47 隧道,用于 Linux 与路由器、防火墙的点对点三层互联",
"scenes": "网络设备互联 / 跨站点路由",
"fields": {
"local_endpoint": { "label": "本端公网 IP" },
"remote_endpoint": { "label": "对端公网 IP" },
"local_tunnel_ip": { "label": "本端隧道 IP", "tip": "建议使用 /30,例如 10.255.0.1/30" },
"remote_tunnel_ip": { "label": "对端隧道 IP", "tip": "需与本端隧道 IP 位于同一子网" },
"remote_subnet": { "label": "对端业务网段", "tip": "填写后自动添加经 GRE 对端的静态路由" },
"enable_nat": { "label": "对端流量 NAT 出网", "tip": "仅当对端业务网段需要经本机访问互联网时启用" },
"outbound_interface": { "label": "NAT 出站网卡" },
"ttl": { "label": "TTL" },
"mtu": { "label": "GRE MTU", "tip": "公网 GRE 常用 1476;链路有额外封装时可继续降低" }
}
},
"frp": {
"name": "FRP 内网穿透",
"desc": "国内刚需,TCP/UDP/HTTP 端口映射与反向代理",
"scenes": "内网穿透 / 端口映射",
"fields": {
"mode": {
"label": "运行模式",
"tip": "server=frps(有公网),client=frpc(内网侧)",
"options": {
"server": "server (frps 公网侧)",
"client": "client (frpc 内网侧)"
}
},
"bind_port": {
"label": "绑定端口(server)"
},
"public_endpoint": {
"label": "公网地址(server)"
},
"dashboard_port": {
"label": "管理面板端口(server)"
},
"dashboard_user": {
"label": "管理面板账号(server)"
},
"dashboard_password": {
"label": "管理面板密码(server)",
"tip": "留空时自动生成强随机密码;编辑时留空保持原密码"
},
"vhost_http_port": {
"label": "HTTP 虚拟主机端口",
"tip": "0 表示不启用;HTTP 代理需 >0"
},
"vhost_https_port": {
"label": "HTTPS 虚拟主机端口",
"tip": "0 表示不启用"
},
"allow_ports": {
"label": "允许映射端口范围",
"tip": "限制 frpc 可申请的 remotePort"
},
"server_addr": {
"label": "frps 地址(client)"
},
"server_port": {
"label": "frps 端口(client)"
},
"token": {
"label": "认证 Token",
"tip": "留空自动生成"
},
"proxy_name": {
"label": "代理名称"
},
"proxy_type": {
"label": "代理类型",
"options": {
"tcp": "TCP",
"udp": "UDP",
"http": "HTTP",
"https": "HTTPS",
"stcp": "STCP(安全点对点)",
"xtcp": "XTCP(P2P)"
}
},
"local_ip": {
"label": "内网目标 IP"
},
"local_port": {
"label": "内网目标端口"
},
"remote_port": {
"label": "公网映射端口"
},
"custom_domains": {
"label": "绑定域名",
"tip": "HTTP/HTTPS 代理必填"
},
"secret_key": {
"label": "STCP/XTCP 密钥",
"tip": "访问端与提供端需一致"
}
}
},
"openvpn": {
"name": "OpenVPN",
"desc": "最成熟的开源 VPN,兼容各类老项目与系统",
"scenes": "老项目兼容 / 通用接入",
"fields": {
"public_endpoint": {
"label": "公网接入地址"
},
"port": {
"label": "端口"
},
"proto": {
"label": "传输协议",
"tip": "可随时在编辑中切换;切换后需重启专线,客户端需重新下载配置",
"options": {
"udp": "UDP(推荐,性能更好)",
"tcp-server": "TCP(穿透限制网络更稳)"
}
},
"subnet": {
"label": "VPN 网段",
"tip": "如 10.8.0.0 255.255.240.0 可容纳更多客户端(/20)"
},
"cipher": {
"label": "加密算法",
"options": {
"AES-256-GCM": "AES-256-GCM",
"AES-128-GCM": "AES-128-GCM",
"AES-256-CBC": "AES-256-CBC"
}
},
"auth_mode": {
"label": "认证方式",
"tip": "密码模式对齐生产 verify-client-cert none + username-as-common-name",
"options": {
"certificate": "仅证书",
"password": "用户名 + 密码",
"certificate+password": "证书 + 密码"
}
},
"mfa_mode": {
"label": "拨号 MFA (2FA)",
"tip": "static-challenge + TOTP;在拨号用户页管理 OTP",
"options": {
"off": "关闭",
"optional": "可选(用户绑定后才校验)",
"required": "强制(所有拨号用户必须 MFA)"
}
},
"otp_slop": {
"label": "OTP 时钟容差(秒)"
},
"otp_max_failures": {
"label": "OTP 失败锁定次数"
},
"otp_lockout_sec": {
"label": "OTP 锁定时长(秒)"
},
"otp_disallow_reuse": {
"label": "禁止重复使用同码"
},
"dns": {
"label": "下发 DNS"
},
"redirect_gateway": {
"label": "全流量代理",
"tip": "关闭后仅推送下方内网路由(生产常只推指定路由)"
},
"push_routes": {
"label": "推送路由",
"tip": "IP 或 CIDR,每行一个;支持 # 注释",
"placeholder": "# VPC 网段\n172.16.0.0/16\n# 预发环境\n43.129.24.233",
"format_error": "路由格式无效:{route}"
},
"enable_nat": {
"label": "启用 NAT 出网"
},
"max_clients": {
"label": "最大客户端数",
"tip": "0 不限制;生产常见 1000"
},
"keepalive_interval": {
"label": "Keepalive 间隔",
"tip": "生产常用 keepalive 5 30"
},
"keepalive_timeout": {
"label": "Keepalive 超时"
},
"tun_mtu": {
"label": "tun-mtu",
"tip": "生产常用 1500"
},
"tun_mtu_extra": {
"label": "tun-mtu-extra"
},
"mssfix": {
"label": "mssfix",
"tip": "0=不设置;TCP 生产常用 1450,选 TCP 时默认 1450"
},
"duplicate_cn": {
"label": "允许 duplicate-cn",
"tip": "同用户名/证书多终端同时在线;密码模式默认会自动开启"
},
"reneg_sec": {
"label": "reneg-sec",
"tip": "0=禁用 TLS 重协商(生产/MFA 推荐);证书-only 默认可 3600"
},
"run_as_user": {
"label": "降权用户",
"tip": "对应 user openvpn;需系统已有该用户,留空不降权"
},
"run_as_group": {
"label": "降权组",
"tip": "对应 group openvpn"
}
}
},
"custom": {
"fields": {
"endpoint": {
"label": "接入地址"
},
"token": {
"label": "认证凭据"
},
"extra": {
"label": "扩展参数(JSON)"
}
}
}
}
}