<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2020 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="summary_separator" msgid="6533720408587140819">" / "</string>
    <string name="auto_connect_disable" msgid="1078319396240632542">"Avtomatik qoşulma sönülüdür"</string>
    <string name="saved_network" msgid="6241977554502802914">"<xliff:g id="NAME">%1$s</xliff:g> tərəfindən saxlandı"</string>
    <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Avtomatik qoşulmayacaq"</string>
    <string name="wifi_no_internet" msgid="4461212237521310895">"İnternetə giriş yoxdur"</string>
    <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Doğrulama problemi"</string>
    <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Parolu yoxlayın və yenidən cəhd edin"</string>
    <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"IP Konfiqurasiya Uğursuzluğu"</string>
    <string name="wifi_disabled_generic" msgid="8307050327779256414">"Deaktiv"</string>
    <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Giriş nöqtəsi müvəqqəti olaraq doludur"</string>
    <string name="wifi_disconnected" msgid="3720926757662831062">"Bağlantı kəsildi"</string>
    <string name="wifi_remembered" msgid="5126903736498678708">"Yadda saxlanılan"</string>
    <string name="wifi_metered_label" msgid="1362621600006544014">"Ödənişli"</string>
    <string name="wifi_unmetered_label" msgid="499466875639448350">"Limitsiz"</string>
    <string name="connected_via_app" msgid="1818040967936972127">"<xliff:g id="NAME">%1$s</xliff:g> ilə qoşulub"</string>
    <string name="available_via_app" msgid="9110324040292242769">"<xliff:g id="NAME">%1$s</xliff:g> vasitəsilə əlçatandır"</string>
    <string name="connected_via_network_scorer" msgid="209764314005159012">"<xliff:g id="NAME">%1$s</xliff:g> vasitəsilə avtomatik qoşulub"</string>
    <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Avtomatik olaraq şəbəkə reytinq provayderi ilə qoşuludur"</string>
    <string name="wifi_limited_connection" msgid="3646701342701276239">"Məhdud bağlantı"</string>
    <string name="private_dns_broken" msgid="2212227512243587416">"Özəl DNS serverinə giriş mümkün deyil"</string>
    <string name="wifi_connected_no_internet" msgid="7273909077465731259">"İnternet yoxdur"</string>
    <string name="wifi_security_none" msgid="6680263031386719053">"Heç biri"</string>
    <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Vaxtı keçib"</string>
    <string name="tap_to_sign_up" msgid="2409214576606918295">"Qeydiyyatdan keçmək üçün toxunun"</string>
    <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Abunəliyi yeniləmək və qoşulmaq üçün toxunun"</string>
    <string name="osu_opening_provider" msgid="5633521771769175139">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> açılır"</string>
    <string name="osu_connect_failed" msgid="8503501619299851793">"Qoşulmaq mümkün olmadı"</string>
    <string name="osu_completing_sign_up" msgid="7188493241442946231">"Qeydiyyat tamamlanır…"</string>
    <string name="osu_sign_up_failed" msgid="2725057866968590279">"Qeydiyyat tamamlanmadı. Yenidən cəhd etmək üçün toxunun."</string>
    <string name="osu_sign_up_complete" msgid="7013805426618985953">"Qeydiyyat tamamlandı. Qoşulur…"</string>
    <string name="imsi_protection_warning" msgid="3207104049473134195">"Bu şəbəkə cihaz məkanını izləmək üçün istifadə edilə biləcək unikal ID qəbul edir. "<annotation id="url">"Ətraflı məlumat"</annotation></string>
    <string name="speed_label_very_slow" msgid="2401582671941367179">"Çox Yavaş"</string>
    <string name="speed_label_slow" msgid="8410385703344502127">"Yavaş"</string>
    <string name="speed_label_okay" msgid="3741857805086997968">"OK"</string>
    <string name="speed_label_medium" msgid="3175703848952862009">"Orta"</string>
    <string name="speed_label_fast" msgid="8344116097613544322">"Sürətli"</string>
    <string name="speed_label_very_fast" msgid="1595806641512447877">"Çox Sürətli"</string>
</resources>
