{ "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": "Ошибка определения или процесс работает как 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": "Отсутствует порт IP-адреса сервера", "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": "&Блокировать нетуннелированный трафик", "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" } ] } ] }