<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2011 The Android Open Source Project

     Licensed under the Apache License, Version 2.0 (the "License");
     you may not use this file except in compliance with the License.
     You may obtain a copy of the License at

          http://www.apache.org/licenses/LICENSE-2.0

     Unless required by applicable law or agreed to in writing, software
     distributed under the License is distributed on an "AS IS" BASIS,
     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     See the License for the specific language governing permissions and
     limitations under the License.
 -->

<resources xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="prompt" msgid="3183836924226407828">"Запрос на подключение"</string>
    <string name="warning" msgid="809658604548412033">"Приложение \"<xliff:g id="APP">%s</xliff:g>\" пытается подключиться к сети VPN, чтобы отслеживать трафик. Этот запрос следует принимать, только если вы доверяете источнику.<br/><br/>Когда подключение VPN активно, в верхней части экрана появляется значок &lt;img src=vpn_icon /&gt;."</string>
    <string name="legacy_title" msgid="192936250066580964">"VPN-подключение установлено"</string>
    <string name="session" msgid="6470628549473641030">"Сеанс:"</string>
    <string name="duration" msgid="3584782459928719435">"Продолжительность:"</string>
    <string name="data_transmitted" msgid="7988167672982199061">"Отправлено:"</string>
    <string name="data_received" msgid="4062776929376067820">"Получено:"</string>
    <string name="data_value_format" msgid="2192466557826897580">"<xliff:g id="NUMBER_0">%1$s</xliff:g> Б; пакетов: <xliff:g id="NUMBER_1">%2$s</xliff:g>"</string>
    <!-- no translation found for always_on_disconnected_title (1906740176262776166) -->
    <skip />
    <!-- no translation found for always_on_disconnected_message (555634519845992917) -->
    <skip />
    <!-- no translation found for always_on_disconnected_message_lockdown (4232225539869452120) -->
    <skip />
    <!-- no translation found for always_on_disconnected_message_separator (3310614409322581371) -->
    <skip />
    <!-- no translation found for always_on_disconnected_message_settings_link (6172280302829992412) -->
    <skip />
    <string name="configure" msgid="4905518375574791375">"Настроить"</string>
    <string name="disconnect" msgid="971412338304200056">"Разъединить"</string>
    <!-- no translation found for open_app (3717639178595958667) -->
    <skip />
    <!-- no translation found for dismiss (6192859333764711227) -->
    <skip />
</resources>
