<?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="wifitrackerlib_summary_separator" msgid="6613897475167609815">" / "</string>
    <string name="wifitrackerlib_auto_connect_disable" msgid="4714835547164460651">"Автом. свързване е изкл."</string>
    <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Запазено от <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Няма да се свърже автоматично"</string>
    <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Няма достъп до интернет"</string>
    <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Проблем при удостоверяването"</string>
    <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Проверете паролата и опитайте отново"</string>
    <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"Неуспешно конфигуриране на IP адреса"</string>
    <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Деактивирано"</string>
    <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"Точката за достъп временно е пълна"</string>
    <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"Временно лоши мрежови условия"</string>
    <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Сигналът е слаб. Приближете се до рутера."</string>
    <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"Капацитетът на мрежата е надхвърлен. Опитайте отново по-късно."</string>
    <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Не може да се установи връзка. Опитайте отново по-късно."</string>
    <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"Мрежата не е съвместима с това устройство"</string>
    <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Няма връзка"</string>
    <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Запазено"</string>
    <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"С отчитане"</string>
    <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Без отчитане"</string>
    <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Установена е връзка през <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Достъпно през <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Автоматично бе установена връзка през <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Автоматично е установена връзка чрез доставчик на услуги за оценяване на мрежите"</string>
    <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Ограничена връзка"</string>
    <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"Не може да се осъществи достъп до частния DNS сървър"</string>
    <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Установена е връзка с устройство. Няма интернет."</string>
    <string name="wifi_connected_low_quality" msgid="4478331645458058445">"Ниско качество"</string>
    <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Няма"</string>
    <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Изтекло"</string>
    <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Докоснете, за да се регистрирате"</string>
    <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Докоснете, за да подновите абонамента и да установите връзка"</string>
    <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> се отваря"</string>
    <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Не се установи връзка"</string>
    <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Регистрацията се завършва…"</string>
    <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Регистрацията не можа да бъде завършена. Докоснете, за да опитате отново."</string>
    <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"Регистрацията е завършена. Установява се връзка…"</string>
    <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Тази мрежа получава идентификатор за SIM карта, който може да се използва за проследяване на местоположението на устройството. "<annotation id="url">"Научете повече"</annotation></string>
    <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Много бавна"</string>
    <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Бавна"</string>
    <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"Добра"</string>
    <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Средна"</string>
    <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Бърза"</string>
    <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Много бърза"</string>
    <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"Засега Wi-Fi няма да се свързва автоматично"</string>
</resources>
