<?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">"Automatikus csatlakozás kikapcsolva"</string>
    <string name="wifitrackerlib_saved_network" msgid="5353460010746484376">"Mentette: <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="wifitrackerlib_wifi_no_internet_no_reconnect" msgid="6618216332537706908">"Nem csatlakozik automatikusan"</string>
    <string name="wifitrackerlib_wifi_no_internet" msgid="4998563744669636949">"Nincs internet-hozzáférés"</string>
    <string name="wifitrackerlib_wifi_disabled_password_failure" msgid="2850244218754633550">"Hitelesítési probléma"</string>
    <string name="wifitrackerlib_wifi_check_password_try_again" msgid="2327777719175574699">"Ellenőrizze a jelszót, majd próbálja újra"</string>
    <string name="wifitrackerlib_wifi_disabled_network_failure" msgid="3046956554224277166">"IP-konfigurációs hiba"</string>
    <string name="wifitrackerlib_wifi_disabled_generic" msgid="4278806060337007814">"Letiltva"</string>
    <string name="wifitrackerlib_wifi_ap_unable_to_handle_new_sta" msgid="931922372010639716">"A hozzáférési pont átmenetileg megtelt"</string>
    <string name="wifitrackerlib_wifi_poor_channel_conditions" msgid="26484680900376236">"A hálózati kapcsolat átmenetileg gyenge"</string>
    <string name="wifitrackerlib_wifi_mbo_oce_assoc_disallowed_insufficient_rssi" msgid="5078611817423181773">"Gyenge jel. Próbáljon közelebb helyezkedni a routerhez."</string>
    <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_max_num_sta_associated" msgid="4418848919914618807">"A hálózat túllépte a rendelkezésre álló kapacitást. Próbálja meg később."</string>
    <string name="wifitrackerlib_wifi_mbo_assoc_disallowed_cannot_connect" msgid="2692286425448897083">"Nem lehet csatlakozni. Próbálja meg később."</string>
    <string name="wifitrackerlib_wifi_network_not_found" msgid="2208793323700267293">"A hálózat nem kompatibilis ezzel az eszközzel."</string>
    <string name="wifitrackerlib_wifi_disconnected" msgid="3320414360982942679">"Szétkapcsolva"</string>
    <string name="wifitrackerlib_wifi_remembered" msgid="2406091442008343041">"Mentve"</string>
    <string name="wifitrackerlib_wifi_metered_label" msgid="8818508951778620385">"Forgalomkorlátos"</string>
    <string name="wifitrackerlib_wifi_unmetered_label" msgid="1902150402929678469">"Nem forgalomkorlátos"</string>
    <string name="wifitrackerlib_connected_via_app" msgid="7823921840931347560">"Kapcsolódva a következőn keresztül: <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="wifitrackerlib_available_via_app" msgid="8556844256194837469">"Rendelkezésre áll a(z) <xliff:g id="NAME">%1$s</xliff:g> alkalmazáson keresztül"</string>
    <string name="wifitrackerlib_connected_via_network_scorer" msgid="6306655070903763086">"Automatikusan csatlakozva a következőn keresztül: <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="wifitrackerlib_connected_via_network_scorer_default" msgid="3436792128688839692">"Automatikusan csatlakozva a hálózatértékelés szolgáltatóján keresztül"</string>
    <string name="wifitrackerlib_wifi_limited_connection" msgid="4234326409980991740">"Korlátozott kapcsolat"</string>
    <string name="wifitrackerlib_private_dns_broken" msgid="6049401148262718707">"A privát DNS-kiszolgálóhoz nem lehet hozzáférni"</string>
    <string name="wifitrackerlib_wifi_connected_cannot_provide_internet" msgid="3803471522215612745">"Csatlakoztatva az eszközhöz. Nincs internethozzáférés."</string>
    <string name="wifi_connected_low_quality" msgid="4478331645458058445">"Gyenge minőségű"</string>
    <string name="wifitrackerlib_wifi_security_none" msgid="2686062484642847280">"Nincs"</string>
    <string name="wifitrackerlib_wifi_passpoint_expired" msgid="7974960573887452566">"Lejárt"</string>
    <string name="wifitrackerlib_tap_to_sign_up" msgid="3897017015910817402">"Koppintson a regisztrációhoz"</string>
    <string name="wifitrackerlib_tap_to_renew_subscription_and_connect" msgid="6048420776676138069">"Koppintson az előfizetés megújításához és a csatlakozáshoz"</string>
    <string name="wifitrackerlib_osu_opening_provider" msgid="7128677439450712558">"<xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g> megnyitása"</string>
    <string name="wifitrackerlib_osu_connect_failed" msgid="3872233609000700930">"Nem sikerült csatlakozni"</string>
    <string name="wifitrackerlib_osu_completing_sign_up" msgid="4359503050543182480">"Regisztráció befejezése…"</string>
    <string name="wifitrackerlib_osu_sign_up_failed" msgid="3964140125523395898">"Nem sikerült a regisztráció befejezése. Koppintással újrapróbálkozhat."</string>
    <string name="wifitrackerlib_osu_sign_up_complete" msgid="3279606633343124580">"A regisztráció befejeződött. Csatlakozás…"</string>
    <string name="wifitrackerlib_imsi_protection_warning" msgid="7202210931586169466">"Ez a hálózat SIM-azonosítót kap, amely felhasználható az eszköz helyadatainak követésére. "<annotation id="url">"További információ"</annotation>"."</string>
    <string name="wifitrackerlib_speed_label_very_slow" msgid="6606409259798814244">"Nagyon lassú"</string>
    <string name="wifitrackerlib_speed_label_slow" msgid="7327906382011957760">"Lassú"</string>
    <string name="wifitrackerlib_speed_label_okay" msgid="6656684124654881956">"OK"</string>
    <string name="wifitrackerlib_speed_label_medium" msgid="2249280306855290094">"Közepes"</string>
    <string name="wifitrackerlib_speed_label_fast" msgid="2593921008376044650">"Gyors"</string>
    <string name="wifitrackerlib_speed_label_very_fast" msgid="4162759416291355173">"Nagyon gyors"</string>
    <string name="wifitrackerlib_wifi_wont_autoconnect_for_now" msgid="4923161724964349851">"A Wi-Fi-re történő csatlakozás jelenleg nem automatikus"</string>
</resources>
