Files
lmvpn_client/internal/i18n/en.toml
T
kevin c56fc0c21c
Release / build-macos (push) Canceled after 0s
Release / build-windows (push) Canceled after 0s
Release / release (push) Canceled after 0s
fix: CDN优选IP支持IPv6、格式校验及错误降级
- replaceHost() 自动为裸 IPv6 地址包裹方括号,修复 IPv6 URL 畸形问题
- 新增 ValidateServerIPs() 校验 IP 格式,保存配置时拦截非法输入
- GetServerIPList() 运行时自动过滤非法 IP 条目
- CDN IP 尝试时 TLS/认证错误降级为非致命,跳过该 IP 继续故障转移
  而非终止整个连接循环(仅原始域名 ipIndex==0 时才判为致命)
- 占位符提示支持 IPv4/IPv6
2026-07-08 23:09:26 +08:00

119 lines
4.0 KiB
TOML

WindowTitle = "LMVPN"
StatusLabel = "Status"
ProfileLabel = "Profile"
StateDisconnected = "Disconnected"
StateConnecting = "Connecting..."
StateConnected = "Connected"
StateReconnecting = "Reconnecting..."
StateError = "Error"
BtnConnect = "Connect"
BtnDisconnect = "Disconnect"
BtnAddProfile = "Add Profile"
BtnEdit = "Edit"
BtnDelete = "Delete"
BtnSave = "Save"
BtnCancel = "Cancel"
BtnOK = "OK"
IpLabel = "IP: {{.ip}}"
Ip6Label = "IPv6: {{.ip}}"
Ip6None = "IPv6: —"
IpNone = "IP: —"
UptimeLabel = "Uptime: {{.uptime}}"
UptimeNone = "Uptime: —"
RxV4Label = "IPv4 ↓ {{.bytes}} {{.speed}}"
TxV4Label = "↑ {{.bytes}} {{.speed}}"
RxV6Label = "IPv6 ↓ {{.bytes}} {{.speed}}"
TxV6Label = "↑ {{.bytes}} {{.speed}}"
RxTotalLabel = "Total ↓ {{.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 = "Total ↓ 0 B 0 bps"
TxTotalZero = "↑ 0 B 0 bps"
DlgNoProfileTitle = "No Profile"
DlgNoProfileEditMsg = "Select a profile to edit."
DlgNoProfileConnectMsg = "Please select or create a profile first."
DlgDeleteProfileTitle = "Delete Profile"
DlgDeleteProfileMsg = 'Delete profile "{{.name}}" and its stored credentials?'
DlgProfileTitle = "Profile"
DlgValidationTitle = "Validation"
DlgValidationMsg = "Name, Host, and Username are required."
DlgInvalidIPMsg = "Invalid IP address(es): {{.ips}}"
DlgDaemonError = "Daemon Error"
DlgCredentialError = "Credential Error"
DlgCredentialErrorMsg = "No password stored for this profile. Edit the profile to set it."
DlgIPCError = "IPC Error"
DlgVPNError = "VPN Error"
DlgSaveError = "Save Error"
DlgKeychainError = "Keychain Error"
DlgError = "Error"
DlgAuthError = "Authentication Failed"
AuthErrWrongCredentials = "Wrong username or password. Please check your credentials."
AuthErrUserDisabled = "This user account does not exist or has been disabled."
AuthErrTokenInvalid = "The authentication token is invalid or expired."
AuthErrRateLimited = "Too many authentication attempts. Please try again later."
AuthErrMalformed = "Authentication message format error."
BtnResetDB = "Reset Database"
DlgResetDBTitle = "Reset Database"
DlgResetDBMsg = "Delete all profiles and connection logs? This cannot be undone."
BtnProfileList = "Profile List"
ProfileListTitle = "Profile List"
DlgNoListSelectTitle = "No Selection"
DlgNoListSelectEditMsg = "Select a profile in the list to edit."
DlgNoListSelectDeleteMsg = "Select a profile in the list to delete."
TrayShowWindow = "Show Window"
TrayConnect = "Connect"
TrayDisconnect = "Disconnect"
TrayLanguage = "Language"
TrayLanguageAuto = "Auto"
TrayQuit = "Quit"
FieldName = "Name"
FieldProtocol = "Protocol"
FieldHost = "Host"
FieldServerIPs = "Server IPs (CDN)"
FieldPort = "Port"
FieldPath = "Path"
FieldUsername = "Username"
FieldPassword = "Password"
FieldAuthMode = "Auth Mode"
FieldRoutingMode = "Routing Mode"
FieldCustomCIDRs = "Custom CIDRs (comma-separated)"
FieldMTUOverride = "MTU Override"
PlaceholderCIDRs = "10.0.0.0/8, 172.16.0.0/12"
PlaceholderMTU = "0 = use server MTU"
PlaceholderPasswordUnchanged = "(unchanged)"
PlaceholderServerIPs = "IPv4/IPv6 supported, e.g. 1.2.3.4, 5.6.7.8"
AuthModeBoth = "Both (JWT + Password)"
AuthModeJWT = "JWT"
AuthModePassword = "Password"
RoutingModeFull = "Full Tunnel"
RoutingModeSplit = "Split Tunnel"
RoutingModeCustom = "Custom"
FieldTLS = "TLS Certificate"
FieldTLSCACert = "CA Certificate (PEM)"
FieldTLSCAPath = "CA Certificate Path"
HintTLSCAReplacesSystem = "Setting a custom CA replaces system root certificates. Public CA servers (e.g. Let's Encrypt) will fail verification."
FieldTLSInsecure = "Skip Verification (Insecure)"
FieldTLSPinnedHash = "Certificate Pin (SHA-256)"
PlaceholderTLSCACert = "-----BEGIN CERTIFICATE-----..."
PlaceholderTLSCAPath = "/path/to/ca.crt"
PlaceholderTLSPinnedHash = "sha256:a1b2c3..."
BtnBrowse = "Browse..."
DlgTLSError = "TLS Certificate Error"
TLSErrorVerification = "Server certificate verification failed."