<?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">"Conectarea automată este dezactivată"</string>
    <string name="saved_network" msgid="6241977554502802914">"Salvată de <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Nu se va conecta automat"</string>
    <string name="wifi_no_internet" msgid="4461212237521310895">"Nu există acces la internet"</string>
    <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Problemă la autentificare"</string>
    <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Verificați parola și încercați din nou"</string>
    <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Eroare de configurare a IP-ului"</string>
    <string name="wifi_disabled_generic" msgid="8307050327779256414">"Dezactivată"</string>
    <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Punctul de acces este temporar plin"</string>
    <string name="wifi_disconnected" msgid="3720926757662831062">"Deconectat"</string>
    <string name="wifi_remembered" msgid="5126903736498678708">"Salvată"</string>
    <string name="wifi_metered_label" msgid="1362621600006544014">"Contorizată"</string>
    <string name="wifi_unmetered_label" msgid="499466875639448350">"Necontorizată"</string>
    <string name="connected_via_app" msgid="1818040967936972127">"Conectat prin <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="available_via_app" msgid="9110324040292242769">"Disponibil prin <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="connected_via_network_scorer" msgid="209764314005159012">"Conectată automat prin <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Conectată automat prin furnizor de evaluări ale rețelei"</string>
    <string name="wifi_limited_connection" msgid="3646701342701276239">"Conexiune limitată"</string>
    <string name="private_dns_broken" msgid="2212227512243587416">"Serverul DNS privat nu poate fi accesat"</string>
    <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Fără conexiune la internet"</string>
    <string name="wifi_security_none" msgid="6680263031386719053">"Niciuna"</string>
    <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Expirat"</string>
    <string name="tap_to_sign_up" msgid="2409214576606918295">"Atingeți pentru a vă înscrie"</string>
    <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Atingeți pentru a reînnoi abonamentul și a vă conecta"</string>
    <string name="osu_opening_provider" msgid="5633521771769175139">"Se deschide <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
    <string name="osu_connect_failed" msgid="8503501619299851793">"Nu s-a putut conecta"</string>
    <string name="osu_completing_sign_up" msgid="7188493241442946231">"Se finalizează înscrierea…"</string>
    <string name="osu_sign_up_failed" msgid="2725057866968590279">"Nu s-a putut finaliza înscrierea. Atingeți pentru a încerca din nou."</string>
    <string name="osu_sign_up_complete" msgid="7013805426618985953">"Înscrierea a fost finalizată. Se conectează…"</string>
    <string name="imsi_protection_warning" msgid="3207104049473134195">"Această rețea primește un ID unic care se poate folosi pentru a urmări locația dispozitivului. "<annotation id="url">"Aflați mai multe"</annotation></string>
    <string name="speed_label_very_slow" msgid="2401582671941367179">"Foarte lentă"</string>
    <string name="speed_label_slow" msgid="8410385703344502127">"Lentă"</string>
    <string name="speed_label_okay" msgid="3741857805086997968">"Bine"</string>
    <string name="speed_label_medium" msgid="3175703848952862009">"Medie"</string>
    <string name="speed_label_fast" msgid="8344116097613544322">"Rapidă"</string>
    <string name="speed_label_very_fast" msgid="1595806641512447877">"Foarte rapidă"</string>
</resources>
