1
0
mirror of https://git.zx2c4.com/wireguard-windows synced 2024-11-10 16:59:18 +00:00
wireguard-windows/locales/zh-CN/messages.gotext.json
Simon Rozman 6bea8d5196 locales: sync with crowdin
Signed-off-by: Simon Rozman <simon@rozman.si>
2024-09-04 12:29:33 +02:00

1817 lines
66 KiB
JSON
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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.

{
"language": "zh-CN",
"messages": [
{
"id": "Error",
"message": "Error",
"translation": "错误",
"translatorComment": "Copied from source."
},
{
"id": "(no argument): elevate and install manager service",
"message": "(no argument): elevate and install manager service",
"translation": "(无参数): 提升并安装管理服务",
"translatorComment": "Copied from source."
},
{
"id": "Usage: {Args0} [\n{String}]",
"message": "Usage: {Args0} [\n{String}]",
"translation": "用法: {Args0} [\n{String}]",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Args0",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "os.Args[0]"
},
{
"id": "String",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
"expr": "builder.String()"
}
]
},
{
"id": "Command Line Options",
"message": "Command Line Options",
"translation": "命令行选项",
"translatorComment": "Copied from source."
},
{
"id": "Unable to determine whether the process is running under WOW64: {Err}",
"message": "Unable to determine whether the process is running under WOW64: {Err}",
"translation": "无法确定该进程是否在WOW64下运行: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "err"
}
]
},
{
"id": "You must use the native version of WireGuard on this computer.",
"message": "You must use the native version of WireGuard on this computer.",
"translation": "您必须在此计算机上使用原生版本的 WireGuard。",
"translatorComment": "Copied from source."
},
{
"id": "Unable to open current process token: {Err}",
"message": "Unable to open current process token: {Err}",
"translation": "无法打开当前进程令牌: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "err"
}
]
},
{
"id": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
"message": "WireGuard may only be used by users who are a member of the Builtin {AdminGroupName} group.",
"translation": "WireGuard 可能只能被内建的 {AdminGroupName} 小组中的成员使用。",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "AdminGroupName",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "elevate.AdminGroupName()"
}
]
},
{
"id": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
"message": "WireGuard is running, but the UI is only accessible from desktops of the Builtin {AdminGroupName} group.",
"translation": "WireGuard 正在运行,但用户界面只能从内建的 {AdminGroupName} 小组的桌面访问。",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "AdminGroupName",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "elevate.AdminGroupName()"
}
]
},
{
"id": "WireGuard system tray icon did not appear after 30 seconds.",
"message": "WireGuard system tray icon did not appear after 30 seconds.",
"translation": "WireGuard 系统托盘图标在30秒后没有出现。",
"translatorComment": "Copied from source."
},
{
"id": "Now",
"message": "Now",
"translation": "刚刚",
"translatorComment": "Copied from source."
},
{
"id": "System clock wound backward!",
"message": "System clock wound backward!",
"translation": "系统时间倒退了!",
"translatorComment": "Copied from source."
},
{
"id": "{Years} year(s)",
"message": "{Years} year(s)",
"translation": {
"select": {
"feature": "plural",
"arg": "Years",
"cases": {
"other": {
"msg": "{Years} 年"
}
}
}
},
"placeholders": [
{
"id": "Years",
"string": "%[1]d",
"type": "int64",
"underlyingType": "int64",
"argNum": 1,
"expr": "years"
}
]
},
{
"id": "{Days} day(s)",
"message": "{Days} day(s)",
"translation": {
"select": {
"feature": "plural",
"arg": "Days",
"cases": {
"other": {
"msg": "{Days} 天"
}
}
}
},
"placeholders": [
{
"id": "Days",
"string": "%[1]d",
"type": "int64",
"underlyingType": "int64",
"argNum": 1,
"expr": "days"
}
]
},
{
"id": "{Hours} hour(s)",
"message": "{Hours} hour(s)",
"translation": {
"select": {
"feature": "plural",
"arg": "Hours",
"cases": {
"other": {
"msg": "{Hours} 小时"
}
}
}
},
"placeholders": [
{
"id": "Hours",
"string": "%[1]d",
"type": "int64",
"underlyingType": "int64",
"argNum": 1,
"expr": "hours"
}
]
},
{
"id": "{Minutes} minute(s)",
"message": "{Minutes} minute(s)",
"translation": {
"select": {
"feature": "plural",
"arg": "Minutes",
"cases": {
"other": {
"msg": "{Minutes} 分钟"
}
}
}
},
"placeholders": [
{
"id": "Minutes",
"string": "%[1]d",
"type": "int64",
"underlyingType": "int64",
"argNum": 1,
"expr": "minutes"
}
]
},
{
"id": "{Seconds} second(s)",
"message": "{Seconds} second(s)",
"translation": {
"select": {
"feature": "plural",
"arg": "Seconds",
"cases": {
"other": {
"msg": "{Seconds} 秒"
}
}
}
},
"placeholders": [
{
"id": "Seconds",
"string": "%[1]d",
"type": "int64",
"underlyingType": "int64",
"argNum": 1,
"expr": "seconds"
}
]
},
{
"id": "{Timestamp} ago",
"message": "{Timestamp} ago",
"translation": "{Timestamp} 前",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Timestamp",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "timestamp"
}
]
},
{
"id": "{Bytes} B",
"message": "{Bytes} B",
"translation": "{Bytes} B",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Bytes",
"string": "%[1]d",
"type": "golang.zx2c4.com/wireguard/windows/conf.Bytes",
"underlyingType": "uint64",
"argNum": 1,
"expr": "b"
}
]
},
{
"id": "{Float64b__1024} KiB",
"message": "{Float64b__1024} KiB",
"translation": "{Float64b__1024} KiB",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024",
"string": "%.2[1]f",
"type": "float64",
"underlyingType": "float64",
"argNum": 1,
"expr": "float64(b) / 1024"
}
]
},
{
"id": "{Float64b__1024__1024} MiB",
"message": "{Float64b__1024__1024} MiB",
"translation": "{Float64b__1024__1024} MiB",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024",
"string": "%.2[1]f",
"type": "float64",
"underlyingType": "float64",
"argNum": 1,
"expr": "float64(b) / (1024 * 1024)"
}
]
},
{
"id": "{Float64b__1024__1024__1024} GiB",
"message": "{Float64b__1024__1024__1024} GiB",
"translation": "{Float64b__1024__1024__1024} GiB",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024__1024",
"string": "%.2[1]f",
"type": "float64",
"underlyingType": "float64",
"argNum": 1,
"expr": "float64(b) / (1024 * 1024 * 1024)"
}
]
},
{
"id": "{Float64b__1024__1024__1024__1024} TiB",
"message": "{Float64b__1024__1024__1024__1024} TiB",
"translation": "{Float64b__1024__1024__1024__1024} TiB",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Float64b__1024__1024__1024__1024",
"string": "%.2[1]f",
"type": "float64",
"underlyingType": "float64",
"argNum": 1,
"expr": "float64(b) / (1024 * 1024 * 1024) / 1024"
}
]
},
{
"id": "{Why}: {Offender}",
"message": "{Why}: {Offender}",
"translation": "{Why}: {Offender}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Why",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "e.why"
},
{
"id": "Offender",
"string": "%[2]q",
"type": "string",
"underlyingType": "string",
"argNum": 2,
"expr": "e.offender"
}
]
},
{
"id": "Invalid IP address",
"message": "Invalid IP address",
"translation": "IP地址无效",
"translatorComment": "Copied from source."
},
{
"id": "Invalid network prefix length",
"message": "Invalid network prefix length",
"translation": "网络前缀长度无效",
"translatorComment": "Copied from source."
},
{
"id": "Missing port from endpoint",
"message": "Missing port from endpoint",
"translation": "对端 (endpoint) 中缺少端口",
"translatorComment": "Copied from source."
},
{
"id": "Invalid endpoint host",
"message": "Invalid endpoint host",
"translation": "对端主机名 (endpoint host) 无效",
"translatorComment": "Copied from source."
},
{
"id": "Brackets must contain an IPv6 address",
"message": "Brackets must contain an IPv6 address",
"translation": "方括号中应包含一个 IPv6 地址",
"translatorComment": "Copied from source."
},
{
"id": "Invalid MTU",
"message": "Invalid MTU",
"translation": "MTU 无效",
"translatorComment": "Copied from source."
},
{
"id": "Invalid port",
"message": "Invalid port",
"translation": "端口无效",
"translatorComment": "Copied from source."
},
{
"id": "Invalid persistent keepalive",
"message": "Invalid persistent keepalive",
"translation": "连接保活间隔无效",
"translatorComment": "Copied from source."
},
{
"id": "Invalid key: {Err}",
"message": "Invalid key: {Err}",
"translation": "无效的密钥:{Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "err"
}
]
},
{
"id": "Keys must decode to exactly 32 bytes",
"message": "Keys must decode to exactly 32 bytes",
"translation": "解码后的密钥长度必须为32字节",
"translatorComment": "Copied from source."
},
{
"id": "Number must be a number between 0 and 2^64-1: {Err}",
"message": "Number must be a number between 0 and 2^64-1: {Err}",
"translation": "数值必须介于 0 至 2^64-1 之间: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "err"
}
]
},
{
"id": "Two commas in a row",
"message": "Two commas in a row",
"translation": "存在多余的逗号",
"translatorComment": "Copied from source."
},
{
"id": "Tunnel name is not valid",
"message": "Tunnel name is not valid",
"translation": "隧道名称无效",
"translatorComment": "Copied from source."
},
{
"id": "Line must occur in a section",
"message": "Line must occur in a section",
"translation": "行必须出现在段落中",
"translatorComment": "Copied from source."
},
{
"id": "Config key is missing an equals separator",
"message": "Config key is missing an equals separator",
"translation": "配置项必须要有一个等于号",
"translatorComment": "Copied from source."
},
{
"id": "Key must have a value",
"message": "Key must have a value",
"translation": "必须有一个值",
"translatorComment": "Copied from source."
},
{
"id": "Invalid key for [Interface] section",
"message": "Invalid key for [Interface] section",
"translation": "[Interface] 段落中的该键无效",
"translatorComment": "Copied from source."
},
{
"id": "Invalid key for [Peer] section",
"message": "Invalid key for [Peer] section",
"translation": "[Peer] 段落中的该键无效",
"translatorComment": "Copied from source."
},
{
"id": "An interface must have a private key",
"message": "An interface must have a private key",
"translation": "接口必须有一个私钥",
"translatorComment": "Copied from source."
},
{
"id": "[none specified]",
"message": "[none specified]",
"translation": "[未指定]",
"translatorComment": "Copied from source."
},
{
"id": "All peers must have public keys",
"message": "All peers must have public keys",
"translation": "每个节点都必须指定公钥",
"translatorComment": "Copied from source."
},
{
"id": "Error in getting configuration",
"message": "Error in getting configuration",
"translation": "获取配置时出错",
"translatorComment": "Copied from source."
},
{
"id": "Invalid key for interface section",
"message": "Invalid key for interface section",
"translation": "接口段落的键无效",
"translatorComment": "Copied from source."
},
{
"id": "Protocol version must be 1",
"message": "Protocol version must be 1",
"translation": "协议版本必须为 1",
"translatorComment": "Copied from source."
},
{
"id": "Invalid key for peer section",
"message": "Invalid key for peer section",
"translation": "节点段落的键无效",
"translatorComment": "Copied from source."
},
{
"id": "[EnumerationSeparator]",
"message": "[EnumerationSeparator]",
"translation": "、",
"comment": "Text to insert between items when listing - most western languages will translate [EnumerationSeparator] into , to produce lists like apple, orange, strawberry. Eastern languages might translate into ‘、’ to produce lists like ‘リンゴ、オレンジ、イチゴ’."
},
{
"id": "[UnitSeparator]",
"message": "[UnitSeparator]",
"translation": " ",
"comment": "Text to insert when combining units of a measure - most languages will translate [UnitSeparator] into (space) to produce lists like 2 minuti 30 sekund, or empty string to produce 2分30秒."
},
{
"id": "About WireGuard",
"message": "About WireGuard",
"translation": "关于 WireGuard",
"translatorComment": "Copied from source."
},
{
"id": "WireGuard logo image",
"message": "WireGuard logo image",
"translation": "WireGuard logo 图片",
"translatorComment": "Copied from source."
},
{
"id": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
"message": "App version: {Number}\nGo backend version: {WireGuardGoVersion}\nGo version: {Version_go}-{GOARCH}\nOperating system: {OsName}\nArchitecture: {NativeArch}",
"translation": "应用版本: {Number}\nGo 后端版本: {WireGuardGoVersion}\nGo 语言版本: {Version_go}-{GOARCH}\n操作系统: {OsName}\n架构: {NativeArch}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Number",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "version.Number"
},
{
"id": "WireGuardGoVersion",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
"expr": "device.WireGuardGoVersion"
},
{
"id": "Version_go",
"string": "%[3]s",
"type": "string",
"underlyingType": "string",
"argNum": 3,
"expr": "strings.TrimPrefix(runtime.Version(), \"go\")"
},
{
"id": "GOARCH",
"string": "%[4]s",
"type": "string",
"underlyingType": "string",
"argNum": 4,
"expr": "runtime.GOARCH"
},
{
"id": "OsName",
"string": "%[5]s",
"type": "string",
"underlyingType": "string",
"argNum": 5,
"expr": "version.OsName()"
},
{
"id": "NativeArch",
"string": "%[6]s",
"type": "string",
"underlyingType": "string",
"argNum": 6,
"expr": "version.NativeArch()"
}
]
},
{
"id": "Close",
"message": "Close",
"translation": "关闭",
"translatorComment": "Copied from source."
},
{
"id": "♥ &Donate!",
"message": "♥ &Donate!",
"translation": "♥ 捐助! (&D)",
"translatorComment": "Copied from source."
},
{
"id": "Status:",
"message": "Status:",
"translation": "状态:",
"translatorComment": "Copied from source."
},
{
"id": "&Deactivate",
"message": "&Deactivate",
"translation": "断开 (&D)",
"translatorComment": "Copied from source."
},
{
"id": "&Activate",
"message": "&Activate",
"translation": "连接 (&A)",
"translatorComment": "Copied from source."
},
{
"id": "Public key:",
"message": "Public key:",
"translation": "公钥:",
"translatorComment": "Copied from source."
},
{
"id": "Listen port:",
"message": "Listen port:",
"translation": "监听端口:",
"translatorComment": "Copied from source."
},
{
"id": "MTU:",
"message": "MTU:",
"translation": "MTU:",
"translatorComment": "Copied from source."
},
{
"id": "Addresses:",
"message": "Addresses:",
"translation": "地址:",
"translatorComment": "Copied from source."
},
{
"id": "DNS servers:",
"message": "DNS servers:",
"translation": "DNS 服务器:",
"translatorComment": "Copied from source."
},
{
"id": "Scripts:",
"message": "Scripts:",
"translation": "脚本:",
"translatorComment": "Copied from source."
},
{
"id": "Preshared key:",
"message": "Preshared key:",
"translation": "预共享密钥:",
"translatorComment": "Copied from source."
},
{
"id": "Allowed IPs:",
"message": "Allowed IPs:",
"translation": "允许的 IP:",
"translatorComment": "Copied from source."
},
{
"id": "Endpoint:",
"message": "Endpoint:",
"translation": "对端:",
"translatorComment": "Copied from source."
},
{
"id": "Persistent keepalive:",
"message": "Persistent keepalive:",
"translation": "连接保活间隔:",
"translatorComment": "Copied from source."
},
{
"id": "Latest handshake:",
"message": "Latest handshake:",
"translation": "上次握手时间:",
"translatorComment": "Copied from source."
},
{
"id": "Transfer:",
"message": "Transfer:",
"translation": "流量:",
"translatorComment": "Copied from source."
},
{
"id": "pre-up",
"message": "pre-up",
"translation": "连接前",
"translatorComment": "Copied from source."
},
{
"id": "post-up",
"message": "post-up",
"translation": "连接后",
"translatorComment": "Copied from source."
},
{
"id": "pre-down",
"message": "pre-down",
"translation": "断开前",
"translatorComment": "Copied from source."
},
{
"id": "post-down",
"message": "post-down",
"translation": "断开后",
"translatorComment": "Copied from source."
},
{
"id": "disabled, per policy",
"message": "disabled, per policy",
"translation": "已禁用(依管理策略)",
"translatorComment": "Copied from source."
},
{
"id": "enabled",
"message": "enabled",
"translation": "已启用",
"translatorComment": "Copied from source."
},
{
"id": "{String} received, {String_1} sent",
"message": "{String} received, {String_1} sent",
"translation": "接收 {String}, 发送 {String_1}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "String",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "c.RxBytes.String()"
},
{
"id": "String_1",
"string": "%[2]s",
"type": "string",
"underlyingType": "string",
"argNum": 2,
"expr": "c.TxBytes.String()"
}
]
},
{
"id": "Failed to determine tunnel state",
"message": "Failed to determine tunnel state",
"translation": "无法确认隧道状态",
"translatorComment": "Copied from source."
},
{
"id": "Failed to activate tunnel",
"message": "Failed to activate tunnel",
"translation": "无法连接隧道",
"translatorComment": "Copied from source."
},
{
"id": "Failed to deactivate tunnel",
"message": "Failed to deactivate tunnel",
"translation": "无法断开隧道连接",
"translatorComment": "Copied from source."
},
{
"id": "Interface: {Name}",
"message": "Interface: {Name}",
"translation": "接口: {Name}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "config.Name"
}
]
},
{
"id": "Peer",
"message": "Peer",
"translation": "节点",
"translatorComment": "Copied from source."
},
{
"id": "Create new tunnel",
"message": "Create new tunnel",
"translation": "创建新隧道",
"translatorComment": "Copied from source."
},
{
"id": "Edit tunnel",
"message": "Edit tunnel",
"translation": "编辑隧道",
"translatorComment": "Copied from source."
},
{
"id": "&Name:",
"message": "&Name:",
"translation": "名称 (&N):",
"translatorComment": "Copied from source."
},
{
"id": "&Public key:",
"message": "&Public key:",
"translation": "公钥 (&P):",
"translatorComment": "Copied from source."
},
{
"id": "(unknown)",
"message": "(unknown)",
"translation": "(未知)",
"translatorComment": "Copied from source."
},
{
"id": "&Block untunneled traffic (kill-switch)",
"message": "&Block untunneled traffic (kill-switch)",
"translation": "拦截未经隧道的流量 (kill-switch) (&B)",
"translatorComment": "Copied from source."
},
{
"id": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
"message": "When a configuration has exactly one peer, and that peer has an allowed IPs containing at least one of 0.0.0.0/0 or ::/0, then the tunnel service engages a firewall ruleset to block all traffic that is neither to nor from the tunnel interface or is to the wrong DNS server, with special exceptions for DHCP and NDP.",
"translation": "只有一个节点,且该节点允许的 IP 中包含 0.0.0.0/0 或 ::/0 时,使用防火墙规则拦截所有未通过隧道,或是发往错误的 DNS 服务器的流量。DHCP 和 NDP 流量不受影响。",
"translatorComment": "Copied from source."
},
{
"id": "&Save",
"message": "&Save",
"translation": "保存 (&S)",
"translatorComment": "Copied from source."
},
{
"id": "Cancel",
"message": "Cancel",
"translation": "取消",
"translatorComment": "Copied from source."
},
{
"id": "&Configuration:",
"message": "&Configuration:",
"translation": "配置 (&C):",
"translatorComment": "Copied from source."
},
{
"id": "Invalid name",
"message": "Invalid name",
"translation": "名称无效",
"translatorComment": "Copied from source."
},
{
"id": "A name is required.",
"message": "A name is required.",
"translation": "必须输入名称。",
"translatorComment": "Copied from source."
},
{
"id": "Tunnel name {NewName} is invalid.",
"message": "Tunnel name {NewName} is invalid.",
"translation": "隧道名「{NewName}」无效。",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "NewName",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "newName"
}
]
},
{
"id": "Unable to list existing tunnels",
"message": "Unable to list existing tunnels",
"translation": "无法列出现有隧道",
"translatorComment": "Copied from source."
},
{
"id": "Tunnel already exists",
"message": "Tunnel already exists",
"translation": "隧道已存在",
"translatorComment": "Copied from source."
},
{
"id": "Another tunnel already exists with the name {NewName}.",
"message": "Another tunnel already exists with the name {NewName}.",
"translation": "隧道名「{NewName}」已存在。",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "NewName",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "newName"
}
]
},
{
"id": "Unable to create new configuration",
"message": "Unable to create new configuration",
"translation": "无法创建新的配置",
"translatorComment": "Copied from source."
},
{
"id": "Writing file failed",
"message": "Writing file failed",
"translation": "写入文件失败",
"translatorComment": "Copied from source."
},
{
"id": "File {FilePath} already exists.\n\nDo you want to overwrite it?",
"message": "File {FilePath} already exists.\n\nDo you want to overwrite it?",
"translation": "文件「{FilePath}」已存在。\n\n您确定要覆盖它吗",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "FilePath",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "filePath"
}
]
},
{
"id": "Active",
"message": "Active",
"translation": "已连接",
"translatorComment": "Copied from source."
},
{
"id": "Activating",
"message": "Activating",
"translation": "正在连接",
"translatorComment": "Copied from source."
},
{
"id": "Inactive",
"message": "Inactive",
"translation": "已断开",
"translatorComment": "Copied from source."
},
{
"id": "Deactivating",
"message": "Deactivating",
"translation": "正在断开",
"translatorComment": "Copied from source."
},
{
"id": "Unknown state",
"message": "Unknown state",
"translation": "未知",
"translatorComment": "Copied from source."
},
{
"id": "Log",
"message": "Log",
"translation": "日志",
"translatorComment": "Copied from source."
},
{
"id": "&Copy",
"message": "&Copy",
"translation": "复制 (&C)",
"translatorComment": "Copied from source."
},
{
"id": "Select &all",
"message": "Select &all",
"translation": "全选 (&A)",
"translatorComment": "Copied from source."
},
{
"id": "&Save to file…",
"message": "&Save to file…",
"translation": "导出… (&S)",
"translatorComment": "Copied from source."
},
{
"id": "Time",
"message": "Time",
"translation": "时间",
"translatorComment": "Copied from source."
},
{
"id": "Log message",
"message": "Log message",
"translation": "日志消息",
"translatorComment": "Copied from source."
},
{
"id": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
"message": "Text Files (*.txt)|*.txt|All Files (*.*)|*.*",
"translation": "文本文件 (*.txt)|*.txt|所有文件 (*.*)|*.*",
"translatorComment": "Copied from source."
},
{
"id": "Export log to file",
"message": "Export log to file",
"translation": "导出日志",
"translatorComment": "Copied from source."
},
{
"id": "&About WireGuard…",
"message": "&About WireGuard…",
"translation": "关于 WireGuard… (&A)",
"translatorComment": "Copied from source."
},
{
"id": "Tunnel Error",
"message": "Tunnel Error",
"translation": "隧道错误",
"translatorComment": "Copied from source."
},
{
"id": "{ErrMsg}\n\nPlease consult the log for more information.",
"message": "{ErrMsg}\n\nPlease consult the log for more information.",
"translation": "{ErrMsg}\n\n更多信息请查看日志。",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "ErrMsg",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "errMsg"
}
]
},
{
"id": "{Title} (out of date)",
"message": "{Title} (out of date)",
"translation": "{Title} (已过时)",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Title",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "mtw.Title()"
}
]
},
{
"id": "WireGuard Detection Error",
"message": "WireGuard Detection Error",
"translation": "WireGuard 检测错误",
"translatorComment": "Copied from source."
},
{
"id": "Unable to wait for WireGuard window to appear: {Err}",
"message": "Unable to wait for WireGuard window to appear: {Err}",
"translation": "无法等待 WireGuard 窗口出现: {Err}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "err"
}
]
},
{
"id": "WireGuard: Deactivated",
"message": "WireGuard: Deactivated",
"translation": "WireGuard: 已断开",
"translatorComment": "Copied from source."
},
{
"id": "Status: Unknown",
"message": "Status: Unknown",
"translation": "状态: 未知",
"translatorComment": "Copied from source."
},
{
"id": "Addresses: None",
"message": "Addresses: None",
"translation": "地址: 无",
"translatorComment": "Copied from source."
},
{
"id": "&Manage tunnels…",
"message": "&Manage tunnels…",
"translation": "管理隧道… (&M)",
"translatorComment": "Copied from source."
},
{
"id": "&Import tunnel(s) from file…",
"message": "&Import tunnel(s) from file…",
"translation": "从文件导入隧道… (&I)",
"translatorComment": "Copied from source."
},
{
"id": "E&xit",
"message": "E&xit",
"translation": "退出 (&E)",
"translatorComment": "Copied from source."
},
{
"id": "&Tunnels",
"message": "&Tunnels",
"translation": "隧道 (&T)",
"translatorComment": "Copied from source."
},
{
"id": "WireGuard Activated",
"message": "WireGuard Activated",
"translation": "WireGuard 已连接",
"translatorComment": "Copied from source."
},
{
"id": "The {Name} tunnel has been activated.",
"message": "The {Name} tunnel has been activated.",
"translation": "隧道「{Name}」已连接。",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "tunnel.Name"
}
]
},
{
"id": "WireGuard Deactivated",
"message": "WireGuard Deactivated",
"translation": "WireGuard 已断开",
"translatorComment": "Copied from source."
},
{
"id": "The {Name} tunnel has been deactivated.",
"message": "The {Name} tunnel has been deactivated.",
"translation": "隧道「{Name}」已断开连接。",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "tunnel.Name"
}
]
},
{
"id": "WireGuard Tunnel Error",
"message": "WireGuard Tunnel Error",
"translation": "WireGuard 隧道错误",
"translatorComment": "Copied from source."
},
{
"id": "WireGuard: {TextForStateglobalState_true}",
"message": "WireGuard: {TextForStateglobalState_true}",
"translation": "WireGuard: {TextForStateglobalState_true}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TextForStateglobalState_true",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "textForState(globalState, true)"
}
]
},
{
"id": "Status: {StateText}",
"message": "Status: {StateText}",
"translation": "状态: {StateText}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "StateText",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "stateText"
}
]
},
{
"id": "Addresses: {EnumerationSeparator}",
"message": "Addresses: {EnumerationSeparator}",
"translation": "地址: {EnumerationSeparator}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "EnumerationSeparator",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "strings.Join(addrs, l18n.EnumerationSeparator())"
}
]
},
{
"id": "An Update is Available!",
"message": "An Update is Available!",
"translation": "发现更新!",
"translatorComment": "Copied from source."
},
{
"id": "WireGuard Update Available",
"message": "WireGuard Update Available",
"translation": "WireGuard 更新",
"translatorComment": "Copied from source."
},
{
"id": "An update to WireGuard is now available. You are advised to update as soon as possible.",
"message": "An update to WireGuard is now available. You are advised to update as soon as possible.",
"translation": "新的 WireGuard 版本发布了。强烈建议您现在安装。",
"translatorComment": "Copied from source."
},
{
"id": "Tunnels",
"message": "Tunnels",
"translation": "隧道",
"translatorComment": "Copied from source."
},
{
"id": "&Edit",
"message": "&Edit",
"translation": "编辑 (&E)",
"translatorComment": "Copied from source."
},
{
"id": "Add &empty tunnel…",
"message": "Add &empty tunnel…",
"translation": "新建空隧道… (&E)",
"translatorComment": "Copied from source."
},
{
"id": "Add Tunnel",
"message": "Add Tunnel",
"translation": "新建隧道",
"translatorComment": "Copied from source."
},
{
"id": "Remove selected tunnel(s)",
"message": "Remove selected tunnel(s)",
"translation": "删除所选隧道",
"translatorComment": "Copied from source."
},
{
"id": "Export all tunnels to zip",
"message": "Export all tunnels to zip",
"translation": "导出所有隧道 (ZIP 压缩包)",
"translatorComment": "Copied from source."
},
{
"id": "&Toggle",
"message": "&Toggle",
"translation": "切换连接状态 (&T)",
"translatorComment": "Copied from source."
},
{
"id": "Export all tunnels to &zip…",
"message": "Export all tunnels to &zip…",
"translation": "导出所有隧道 (ZIP 压缩包)… (&Z)",
"translatorComment": "Copied from source."
},
{
"id": "Edit &selected tunnel…",
"message": "Edit &selected tunnel…",
"translation": "编辑所选隧道… (&E)",
"translatorComment": "Copied from source."
},
{
"id": "&Remove selected tunnel(s)",
"message": "&Remove selected tunnel(s)",
"translation": "删除所选隧道 (&R)",
"translatorComment": "Copied from source."
},
{
"id": "no configuration files were found",
"message": "no configuration files were found",
"translation": "未找到配置文件",
"translatorComment": "Copied from source."
},
{
"id": "Could not import selected configuration: {LastErr}",
"message": "Could not import selected configuration: {LastErr}",
"translation": "无法导入配置: {LastErr}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "LastErr",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "lastErr"
}
]
},
{
"id": "Could not enumerate existing tunnels: {LastErr}",
"message": "Could not enumerate existing tunnels: {LastErr}",
"translation": "无法列出现有隧道: {LastErr}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "LastErr",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "lastErr"
}
]
},
{
"id": "Another tunnel already exists with the name {Name}",
"message": "Another tunnel already exists with the name {Name}",
"translation": "另一个同名的隧道「{Name}」已存在",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Name",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "unparsedConfig.Name"
}
]
},
{
"id": "Unable to import configuration: {LastErr}",
"message": "Unable to import configuration: {LastErr}",
"translation": "无法导入配置: {LastErr}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "LastErr",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "lastErr"
}
]
},
{
"id": "Imported tunnels",
"message": "Imported tunnels",
"translation": "导入隧道",
"translatorComment": "Copied from source."
},
{
"id": "Imported {M} tunnels",
"message": "Imported {M} tunnels",
"translation": {
"select": {
"feature": "plural",
"arg": "M",
"cases": {
"other": {
"msg": "导入了 {M} 个隧道"
}
}
}
},
"placeholders": [
{
"id": "M",
"string": "%[1]d",
"type": "int",
"underlyingType": "int",
"argNum": 1,
"expr": "m"
}
]
},
{
"id": "Imported {M} of {N} tunnels",
"message": "Imported {M} of {N} tunnels",
"translation": {
"select": {
"feature": "plural",
"arg": "N",
"cases": {
"other": {
"msg": "导入了 {N} 个隧道中的 {M} 个隧道"
}
}
}
},
"placeholders": [
{
"id": "M",
"string": "%[1]d",
"type": "int",
"underlyingType": "int",
"argNum": 1,
"expr": "m"
},
{
"id": "N",
"string": "%[2]d",
"type": "int",
"underlyingType": "int",
"argNum": 2,
"expr": "n"
}
]
},
{
"id": "Unable to create tunnel",
"message": "Unable to create tunnel",
"translation": "无法创建隧道",
"translatorComment": "Copied from source."
},
{
"id": "Delete {TunnelCount} tunnels",
"message": "Delete {TunnelCount} tunnels",
"translation": {
"select": {
"feature": "plural",
"arg": "TunnelCount",
"cases": {
"other": {
"msg": "删除 {TunnelCount} 个隧道"
}
}
}
},
"placeholders": [
{
"id": "TunnelCount",
"string": "%[1]d",
"type": "int",
"underlyingType": "int",
"argNum": 1,
"expr": "tunnelCount"
}
]
},
{
"id": "Are you sure you would like to delete {TunnelCount} tunnels?",
"message": "Are you sure you would like to delete {TunnelCount} tunnels?",
"translation": {
"select": {
"feature": "plural",
"arg": "TunnelCount",
"cases": {
"other": {
"msg": "您确定要删除这 {TunnelCount} 个隧道吗?"
}
}
}
},
"placeholders": [
{
"id": "TunnelCount",
"string": "%[1]d",
"type": "int",
"underlyingType": "int",
"argNum": 1,
"expr": "tunnelCount"
}
]
},
{
"id": "Delete tunnel {TunnelName}",
"message": "Delete tunnel {TunnelName}",
"translation": "删除隧道「{TunnelName}」",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TunnelName",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "tunnelName"
}
]
},
{
"id": "Are you sure you would like to delete tunnel {TunnelName}?",
"message": "Are you sure you would like to delete tunnel {TunnelName}?",
"translation": "您确定要删除隧道「{TunnelName}」吗?",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "TunnelName",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "tunnelName"
}
]
},
{
"id": "{Question} You cannot undo this action.",
"message": "{Question} You cannot undo this action.",
"translation": "{Question}此操作无法撤销。",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Question",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "question"
}
]
},
{
"id": "Unable to delete tunnel",
"message": "Unable to delete tunnel",
"translation": "无法删除隧道",
"translatorComment": "Copied from source."
},
{
"id": "A tunnel was unable to be removed: {Error}",
"message": "A tunnel was unable to be removed: {Error}",
"translation": "无法删除隧道: {Error}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Error",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "errors[0].Error()"
}
]
},
{
"id": "Unable to delete tunnels",
"message": "Unable to delete tunnels",
"translation": "无法删除隧道",
"translatorComment": "Copied from source."
},
{
"id": "{Lenerrors} tunnels were unable to be removed.",
"message": "{Lenerrors} tunnels were unable to be removed.",
"translation": {
"select": {
"feature": "plural",
"arg": "Lenerrors",
"cases": {
"other": {
"msg": "无法删除 {Lenerrors} 个隧道。"
}
}
}
},
"placeholders": [
{
"id": "Lenerrors",
"string": "%[1]d",
"type": "int",
"underlyingType": "int",
"argNum": 1,
"expr": "len(errors)"
}
]
},
{
"id": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
"message": "Configuration Files (*.zip, *.conf)|*.zip;*.conf|All Files (*.*)|*.*",
"translation": "配置文件 (*.zip, *.conf)|*.zip;*.conf|所有文件 (*.*)|*.*",
"translatorComment": "Copied from source."
},
{
"id": "Import tunnel(s) from file",
"message": "Import tunnel(s) from file",
"translation": "从文件导入隧道",
"translatorComment": "Copied from source."
},
{
"id": "Configuration ZIP Files (*.zip)|*.zip",
"message": "Configuration ZIP Files (*.zip)|*.zip",
"translation": "配置文件 (*.zip)|*.zip",
"translatorComment": "Copied from source."
},
{
"id": "Export tunnels to zip",
"message": "Export tunnels to zip",
"translation": "导出配置文件 (ZIP 压缩包)",
"translatorComment": "Copied from source."
},
{
"id": "{Title} (unsigned build, no updates)",
"message": "{Title} (unsigned build, no updates)",
"translation": "{Title} (未签名版本,禁用自动更新)",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Title",
"string": "%[1]s",
"type": "string",
"underlyingType": "string",
"argNum": 1,
"expr": "mtw.Title()"
}
]
},
{
"id": "Error Exiting WireGuard",
"message": "Error Exiting WireGuard",
"translation": "退出 WireGuard 时出错",
"translatorComment": "Copied from source."
},
{
"id": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
"message": "Unable to exit service due to: {Err}. You may want to stop WireGuard from the service manager.",
"translation": "无法停止服务: {Err}。您可能需要在服务管理器中手动停止 WireGuard 服务。",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "err"
}
]
},
{
"id": "An update to WireGuard is available. It is highly advisable to update without delay.",
"message": "An update to WireGuard is available. It is highly advisable to update without delay.",
"translation": "发现新版 WireGuard。强烈建议您现在安装。",
"translatorComment": "Copied from source."
},
{
"id": "Status: Waiting for user",
"message": "Status: Waiting for user",
"translation": "状态: 等待用户",
"translatorComment": "Copied from source."
},
{
"id": "Update Now",
"message": "Update Now",
"translation": "立即更新",
"translatorComment": "Copied from source."
},
{
"id": "Status: Waiting for updater service",
"message": "Status: Waiting for updater service",
"translation": "状态: 等待更新服务",
"translatorComment": "Copied from source."
},
{
"id": "Error: {Err}. Please try again.",
"message": "Error: {Err}. Please try again.",
"translation": "错误: {Err}。请重试。",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Err",
"string": "%[1]v",
"type": "error",
"underlyingType": "interface{Error() string}",
"argNum": 1,
"expr": "err"
}
]
},
{
"id": "Status: Complete!",
"message": "Status: Complete!",
"translation": "状态: 完成!",
"translatorComment": "Copied from source."
},
{
"id": "http2: Framer {F}: failed to decode just-written frame",
"message": "http2: Framer {F}: failed to decode just-written frame",
"translation": "http2: 成帧器 {F}: 解码刚写入的帧失败",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "F",
"string": "%[1]p",
"type": "*net/http.http2Framer",
"underlyingType": "*net/http.http2Framer",
"argNum": 1,
"expr": "f"
}
]
},
{
"id": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
"message": "http2: Framer {F}: wrote {Http2summarizeFramefr}",
"translation": "http2: 成帧器 {F}: 写入了 {Http2summarizeFramefr}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "F",
"string": "%[1]p",
"type": "*net/http.http2Framer",
"underlyingType": "*net/http.http2Framer",
"argNum": 1,
"expr": "f"
},
{
"id": "Http2summarizeFramefr",
"string": "%[2]v",
"type": "string",
"underlyingType": "string",
"argNum": 2,
"expr": "http2summarizeFrame(fr)"
}
]
},
{
"id": "http2: Framer {Fr}: read {Http2summarizeFramef}",
"message": "http2: Framer {Fr}: read {Http2summarizeFramef}",
"translation": "http2: 成帧器 {Fr}: 读取了 {Http2summarizeFramef}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "Fr",
"string": "%[1]p",
"type": "*net/http.http2Framer",
"underlyingType": "*net/http.http2Framer",
"argNum": 1,
"expr": "fr"
},
{
"id": "Http2summarizeFramef",
"string": "%[2]v",
"type": "string",
"underlyingType": "string",
"argNum": 2,
"expr": "http2summarizeFrame(f)"
}
]
},
{
"id": "http2: decoded hpack field {HeaderField}",
"message": "http2: decoded hpack field {HeaderField}",
"translation": "http2: 解码的 hpack 字段 {HeaderField}",
"translatorComment": "Copied from source.",
"placeholders": [
{
"id": "HeaderField",
"string": "%+[1]v",
"type": "vendor/golang.org/x/net/http2/hpack.HeaderField",
"underlyingType": "struct{Name string; Value string; Sensitive bool}",
"argNum": 1,
"expr": "hf"
}
]
}
]
}