- 新增 internal/tlsconfig 包,集中构建 TLS 配置 - 修复 CDN 边缘 IP 故障转移时 HTTP 登录 TLS 验证失败的问题 - 支持自定义 CA 证书(内联 PEM + 文件路径,合并生效) - 支持 InsecureSkipVerify 跳过证书验证 - 支持证书固定(SHA-256 指纹校验) - TLS 验证错误设为不可恢复,避免无限重试 - Profile 编辑界面新增 TLS 设置区域,协议联动启用/禁用 - DB schema v4 迁移,新增 4 个 TLS 字段
118 lines
3.8 KiB
TOML
118 lines
3.8 KiB
TOML
WindowTitle = "LMVPN"
|
||
|
||
StatusLabel = "状态"
|
||
ProfileLabel = "配置"
|
||
|
||
StateDisconnected = "已断开"
|
||
StateConnecting = "连接中..."
|
||
StateConnected = "已连接"
|
||
StateReconnecting = "重新连接中..."
|
||
StateError = "错误"
|
||
|
||
BtnConnect = "连接"
|
||
BtnDisconnect = "断开连接"
|
||
BtnAddProfile = "添加配置"
|
||
BtnEdit = "编辑"
|
||
BtnDelete = "删除"
|
||
BtnSave = "保存"
|
||
BtnCancel = "取消"
|
||
BtnOK = "确定"
|
||
|
||
IpLabel = "IP: {{.ip}}"
|
||
Ip6Label = "IPv6: {{.ip}}"
|
||
Ip6None = "IPv6: —"
|
||
IpNone = "IP: —"
|
||
UptimeLabel = "运行时长: {{.uptime}}"
|
||
UptimeNone = "运行时长: —"
|
||
RxV4Label = "IPv4 ↓ {{.bytes}} {{.speed}}"
|
||
TxV4Label = "↑ {{.bytes}} {{.speed}}"
|
||
RxV6Label = "IPv6 ↓ {{.bytes}} {{.speed}}"
|
||
TxV6Label = "↑ {{.bytes}} {{.speed}}"
|
||
RxTotalLabel = "合计 ↓ {{.bytes}} {{.speed}}"
|
||
TxTotalLabel = "↑ {{.bytes}} {{.speed}}"
|
||
RxV4Zero = "IPv4 ↓ 0 B 0 bps"
|
||
TxV4Zero = "↑ 0 B 0 bps"
|
||
RxV6Zero = "IPv6 ↓ 0 B 0 bps"
|
||
TxV6Zero = "↑ 0 B 0 bps"
|
||
RxTotalZero = "合计 ↓ 0 B 0 bps"
|
||
TxTotalZero = "↑ 0 B 0 bps"
|
||
|
||
DlgNoProfileTitle = "无配置"
|
||
DlgNoProfileEditMsg = "请选择要编辑的配置。"
|
||
DlgNoProfileConnectMsg = "请先选择或创建一个配置。"
|
||
DlgDeleteProfileTitle = "删除配置"
|
||
DlgDeleteProfileMsg = '删除配置"{{.name}}"及其存储的凭据?'
|
||
DlgProfileTitle = "配置"
|
||
DlgValidationTitle = "验证"
|
||
DlgValidationMsg = "名称、主机名和用户名为必填项。"
|
||
DlgDaemonError = "守护进程错误"
|
||
DlgCredentialError = "凭据错误"
|
||
DlgCredentialErrorMsg = "此配置未存储密码。请编辑配置以设置密码。"
|
||
DlgIPCError = "IPC 错误"
|
||
DlgVPNError = "VPN 错误"
|
||
DlgSaveError = "保存错误"
|
||
DlgKeychainError = "钥匙串错误"
|
||
DlgError = "错误"
|
||
DlgAuthError = "认证失败"
|
||
AuthErrWrongCredentials = "用户名或密码错误,请检查凭据。"
|
||
AuthErrUserDisabled = "用户不存在或已被禁用。"
|
||
AuthErrTokenInvalid = "认证令牌无效或已过期。"
|
||
AuthErrRateLimited = "认证尝试过于频繁,请稍后再试。"
|
||
AuthErrMalformed = "认证消息格式错误。"
|
||
|
||
BtnResetDB = "重置数据库"
|
||
DlgResetDBTitle = "重置数据库"
|
||
DlgResetDBMsg = "删除所有配置和连接记录?此操作无法撤销。"
|
||
|
||
BtnProfileList = "配置列表"
|
||
ProfileListTitle = "配置列表"
|
||
DlgNoListSelectTitle = "无选择"
|
||
DlgNoListSelectEditMsg = "请在列表中选择一个配置。"
|
||
DlgNoListSelectDeleteMsg = "请在列表中选择一个配置。"
|
||
|
||
TrayShowWindow = "显示窗口"
|
||
TrayConnect = "连接"
|
||
TrayDisconnect = "断开连接"
|
||
TrayLanguage = "语言"
|
||
TrayLanguageAuto = "自动"
|
||
TrayQuit = "退出"
|
||
|
||
FieldName = "名称"
|
||
FieldProtocol = "协议"
|
||
FieldHost = "主机名"
|
||
FieldServerIPs = "服务器 IP(CDN 优选)"
|
||
FieldPort = "端口"
|
||
FieldPath = "路径"
|
||
FieldUsername = "用户名"
|
||
FieldPassword = "密码"
|
||
FieldAuthMode = "认证方式"
|
||
FieldRoutingMode = "路由模式"
|
||
FieldCustomCIDRs = "自定义 CIDR(逗号分隔)"
|
||
FieldMTUOverride = "MTU 覆盖"
|
||
|
||
PlaceholderCIDRs = "10.0.0.0/8, 172.16.0.0/12"
|
||
PlaceholderMTU = "0 = 使用服务器 MTU"
|
||
PlaceholderPasswordUnchanged = "(未更改)"
|
||
PlaceholderServerIPs = "例: 1.2.3.4, 5.6.7.8"
|
||
|
||
AuthModeBoth = "全部(JWT + 密码)"
|
||
AuthModeJWT = "JWT"
|
||
AuthModePassword = "密码"
|
||
|
||
RoutingModeFull = "全隧道"
|
||
RoutingModeSplit = "分离隧道"
|
||
RoutingModeCustom = "自定义"
|
||
|
||
FieldTLS = "TLS 证书"
|
||
FieldTLSCACert = "CA 证书 (PEM)"
|
||
FieldTLSCAPath = "CA 证书路径"
|
||
HintTLSCAReplacesSystem = "设置自定义 CA 将替换系统根证书,使用公共 CA(如 Let's Encrypt)的服务器将验证失败。"
|
||
FieldTLSInsecure = "跳过验证 (不安全)"
|
||
FieldTLSPinnedHash = "证书固定 (SHA-256)"
|
||
PlaceholderTLSCACert = "-----BEGIN CERTIFICATE-----..."
|
||
PlaceholderTLSCAPath = "/path/to/ca.crt"
|
||
PlaceholderTLSPinnedHash = "sha256:a1b2c3..."
|
||
BtnBrowse = "浏览..."
|
||
DlgTLSError = "TLS 证书错误"
|
||
TLSErrorVerification = "服务器证书验证失败。"
|