<?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, якое дазваляе сачыць за сеткавым трафікам. Прымайце толькі тады, калі вы давяраеце гэтай крыніцы. Калі VPN актыўны, у верхняй частцы экрана адлюстроўваецца &lt;br /&gt; &lt;br /&gt; &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>
