Files
lmvpn_client/internal/i18n/zh-Hans.toml
T
kevin ebe082500f
Release / build-macos (push) Canceled after 0s
Release / build-windows (push) Canceled after 0s
Release / release (push) Canceled after 0s
perf: 路由批量执行+CIDR聚合+并行脚本+连接步骤显示+CIDR刷新按钮
路由性能优化:
- 修复 macOS route 命令语法错误(去掉 -net 参数)
- 路由应用拆分为 Essential(ready前,4-6条命令<1s)+ Deferred(ready后,批量脚本)
- 新增 CIDR 聚合算法(cidrmerge.go),合并相邻 CIDR 块减少路由数量(10826->7500)
- 批量脚本执行:3平台各实现8个批量函数,临时脚本单次执行替代逐条进程创建
- 并行批量:拆为4个子shell并行执行,总时间降为1/4

连接步骤显示:
- stats 新增 connectStep + cidrError 原子变量
- 连接生命周期中设置步骤(fetch_cidrs/connecting/load_routes),UI 实时显示
- after-proxy CIDR 获取期间显示加载状态,获取失败显示错误提示

CIDR 刷新按钮:
- ipc 新增 CmdRefreshCIDR 命令
- daemon 处理刷新请求,session.RefreshCIDRs() 重新获取+添加路由
- UI 状态卡新增刷新按钮,proxy/bypass 模式已连接时显示

README:
- 补充 URL 获取时机注意事项(bypass模式after-proxy可能失败)
- 补充 CIDR 聚合与批量执行说明
2026-07-09 09:44:49 +08:00

144 lines
4.6 KiB
TOML
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.
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"
StatusRoutingMode = "路由模式: {{.mode}}"
CIDRHit = "命中"
CIDRConfigured = "已配置"
CIDRUnmatched = "未命中"
CIDRDestinations = "目的地址"
RouteLoading = "加载路由中"
CIDRLoading = "加载中"
StepFetchCIDRs = "获取CIDR列表"
StepConnecting = "建立连接"
StepLoadRoutes = "加载路由"
BtnRefreshCIDR = "刷新 CIDR"
CIDRFetchError = "获取失败"
DlgNoProfileTitle = "无配置"
DlgNoProfileEditMsg = "请选择要编辑的配置。"
DlgNoProfileConnectMsg = "请先选择或创建一个配置。"
DlgDeleteProfileTitle = "删除配置"
DlgDeleteProfileMsg = '删除配置"{{.name}}"及其存储的凭据?'
DlgProfileTitle = "配置"
DlgValidationTitle = "验证"
DlgValidationMsg = "名称、主机名和用户名为必填项。"
DlgInvalidIPMsg = "以下 IP 地址格式无效:{{.ips}}"
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 = "服务器 IPCDN 优选)"
FieldPort = "端口"
FieldPath = "路径"
FieldUsername = "用户名"
FieldPassword = "密码"
FieldAuthMode = "认证方式"
FieldRoutingMode = "路由模式"
FieldCIDRV4 = "IPv4 CIDR(逗号分隔)"
FieldCIDRV6 = "IPv6 CIDR(逗号分隔)"
FieldCIDRV4URLs = "IPv4 CIDR URL 来源"
FieldCIDRV6URLs = "IPv6 CIDR URL 来源"
FieldMTUOverride = "MTU 覆盖"
PlaceholderCIDRV4 = "10.0.0.0/8, 172.16.0.0/12"
PlaceholderCIDRV6 = "fd00::/8, 2001:db8::/32"
PlaceholderCIDRURL = "https://example.com/cidrs.txt"
PlaceholderMTU = "0 = 使用服务器 MTU"
PlaceholderPasswordUnchanged = "(未更改)"
PlaceholderServerIPs = "支持 IPv4/IPv6,例: 1.2.3.4, 5.6.7.8"
AuthModeBoth = "全部(JWT + 密码)"
AuthModeJWT = "JWT"
AuthModePassword = "密码"
RoutingModeFull = "全隧道"
RoutingModeProxy = "代理 CIDR"
RoutingModeBypass = "绕过 CIDR"
FetchTimingBefore = "代理前获取"
FetchTimingAfter = "代理后获取"
BtnAddURL = "添加 URL"
BtnRemoveURL = "删除"
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 = "服务器证书验证失败。"