1
0
mirror of https://git.zx2c4.com/wireguard-windows synced 2024-11-10 16:59:18 +00:00
wireguard-windows/locales/ru/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

1907 lines
74 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": "ru",
"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": "Процесс ажиллаж байгаа эсэхийг тодорхойлох боломжгүй байна\n 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": {
"one": {
"msg": "{Years} год"
},
"few": {
"msg": "{Years} года"
},
"many": {
"msg": "{Years} лет"
},
"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": {
"one": {
"msg": "{Days} день"
},
"few": {
"msg": "{Days} дня"
},
"many": {
"msg": "{Days} дней"
},
"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": {
"one": {
"msg": "{Hours} час"
},
"few": {
"msg": "{Hours} часа"
},
"many": {
"msg": "{Hours} часов"
},
"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": {
"one": {
"msg": "{Minutes} минута"
},
"few": {
"msg": "{Minutes} минуты"
},
"many": {
"msg": "{Minutes} минут"
},
"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": {
"one": {
"msg": "{Seconds} секунда"
},
"few": {
"msg": "{Seconds} секунды"
},
"many": {
"msg": "{Seconds} секунд"
},
"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} Б",
"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} КиБ",
"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} МиБ",
"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} ГиБ",
"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} ТиБ",
"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": "Порт сервера не указан",
"translatorComment": "Copied from source."
},
{
"id": "Invalid endpoint host",
"message": "Invalid endpoint host",
"translation": "Неверный IP-адрес сервера",
"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",
"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}\nВерсия Go-бэкенда: {WireGuardGoVersion}\nВерсия Go: {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": "♥ &Пожертвовать!",
"translatorComment": "Copied from source."
},
{
"id": "Status:",
"message": "Status:",
"translation": "Статус:",
"translatorComment": "Copied from source."
},
{
"id": "&Deactivate",
"message": "&Deactivate",
"translation": "&Отключить",
"translatorComment": "Copied from source."
},
{
"id": "&Activate",
"message": "&Activate",
"translation": "&Подключить",
"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": "IP-адреса:",
"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": "IP-адрес сервера:",
"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": "&Имя:",
"translatorComment": "Copied from source."
},
{
"id": "&Public key:",
"message": "&Public key:",
"translation": "&Публичный ключ:",
"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)",
"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": "&Сохранить",
"translatorComment": "Copied from source."
},
{
"id": "Cancel",
"message": "Cancel",
"translation": "Отмена",
"translatorComment": "Copied from source."
},
{
"id": "&Configuration:",
"message": "&Configuration:",
"translation": "&Конфигурация:",
"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": "&Копировать",
"translatorComment": "Copied from source."
},
{
"id": "Select &all",
"message": "Select &all",
"translation": "Выбрать &все",
"translatorComment": "Copied from source."
},
{
"id": "&Save to file…",
"message": "&Save to file…",
"translation": "&Сохранить в файл…",
"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…",
"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": "&Управление туннелями…",
"translatorComment": "Copied from source."
},
{
"id": "&Import tunnel(s) from file…",
"message": "&Import tunnel(s) from file…",
"translation": "&Импорт туннелей из файла…",
"translatorComment": "Copied from source."
},
{
"id": "E&xit",
"message": "E&xit",
"translation": "Вы&ход",
"translatorComment": "Copied from source."
},
{
"id": "&Tunnels",
"message": "&Tunnels",
"translation": "&Туннели",
"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": "&Редактировать",
"translatorComment": "Copied from source."
},
{
"id": "Add &empty tunnel…",
"message": "Add &empty tunnel…",
"translation": "Добавить &пустой туннель…",
"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": "&Переключить",
"translatorComment": "Copied from source."
},
{
"id": "Export all tunnels to &zip…",
"message": "Export all tunnels to &zip…",
"translation": "Экспорт всех туннелей в &zip-архив…",
"translatorComment": "Copied from source."
},
{
"id": "Edit &selected tunnel…",
"message": "Edit &selected tunnel…",
"translation": "Редактировать &выбранный туннель…",
"translatorComment": "Copied from source."
},
{
"id": "&Remove selected tunnel(s)",
"message": "&Remove selected tunnel(s)",
"translation": "&Удалить выбранные туннели",
"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": {
"one": {
"msg": "Импортирован {M} туннель"
},
"few": {
"msg": "Импортированы {M} туннеля"
},
"many": {
"msg": "Импортировано {M} туннелей"
},
"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": {
"one": {
"msg": "Импортирован {M} из {N} туннелей"
},
"few": {
"msg": "Импортированы {M} из {N} туннелей"
},
"many": {
"msg": "Импортировано {M} из {N} туннелей"
},
"other": {
"msg": "Импортировано {M} из {N} туннелей"
}
}
}
},
"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": {
"one": {
"msg": "Удалить {TunnelCount} туннель"
},
"few": {
"msg": "Удалить {TunnelCount} туннеля"
},
"many": {
"msg": "Удалить {TunnelCount} туннелей"
},
"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": {
"one": {
"msg": "Вы уверены, что хотите удалить {TunnelCount} туннель?"
},
"few": {
"msg": "Вы уверены, что хотите удалить {TunnelCount} туннеля?"
},
"many": {
"msg": "Вы уверены, что хотите удалить {TunnelCount} туннелей?"
},
"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": {
"one": {
"msg": "{Lenerrors} туннель не удалось удалить."
},
"few": {
"msg": "{Lenerrors} туннеля не удалось удалить."
},
"many": {
"msg": "{Lenerrors} туннелей не удалось удалить."
},
"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)|*.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: Framer {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: Framer {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: Framer {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"
}
]
}
]
}