<?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">"VPN இணைப்பை அமைக்க <xliff:g id="APP">%s</xliff:g> விழைகிறது அதன்மூலம் இது நெட்வொர்க் ட்ராஃபிக்கைக் கண்காணிக்கும் அனுமதியைப் பெறும். நம்பகமான மூலத்தை மட்டுமே ஏற்கவும். 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>
