<?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">"Tính năng tự động kết nối đang tắt"</string>
    <string name="saved_network" msgid="6241977554502802914">"Do <xliff:g id="NAME">%1$s</xliff:g> lưu"</string>
    <string name="wifi_no_internet_no_reconnect" msgid="3089980800841926268">"Sẽ không tự động kết nối"</string>
    <string name="wifi_no_internet" msgid="4461212237521310895">"Không có kết nối Internet"</string>
    <string name="wifi_disabled_password_failure" msgid="3015007143699702403">"Sự cố xác thực"</string>
    <string name="wifi_check_password_try_again" msgid="2643230209986217827">"Kiểm tra mật khẩu và thử lại"</string>
    <string name="wifi_disabled_network_failure" msgid="6506742207778007439">"Lỗi cấu hình IP"</string>
    <string name="wifi_disabled_generic" msgid="8307050327779256414">"Đã tắt"</string>
    <string name="wifi_ap_unable_to_handle_new_sta" msgid="6552198761671428871">"Điểm truy cập tạm thời đã đạt đến giới hạn số lượng thiết bị truy cập."</string>
    <string name="wifi_disconnected" msgid="3720926757662831062">"Đã ngắt kết nối"</string>
    <string name="wifi_remembered" msgid="5126903736498678708">"Đã lưu"</string>
    <string name="wifi_metered_label" msgid="1362621600006544014">"Đo lượng dữ liệu"</string>
    <string name="wifi_unmetered_label" msgid="499466875639448350">"Không đo lượng dữ liệu"</string>
    <string name="connected_via_app" msgid="1818040967936972127">"Đã kết nối qua <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="available_via_app" msgid="9110324040292242769">"Được cung cấp qua <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="connected_via_network_scorer" msgid="209764314005159012">"Đã tự động kết nối qua <xliff:g id="NAME">%1$s</xliff:g>"</string>
    <string name="connected_via_network_scorer_default" msgid="3084818437004202462">"Tự động được kết nối qua nhà cung cấp dịch vụ xếp hạng mạng"</string>
    <string name="wifi_limited_connection" msgid="3646701342701276239">"Kết nối giới hạn"</string>
    <string name="private_dns_broken" msgid="2212227512243587416">"Không thể truy cập máy chủ DNS riêng tư"</string>
    <string name="wifi_connected_no_internet" msgid="7273909077465731259">"Không có Internet"</string>
    <string name="wifi_security_none" msgid="6680263031386719053">"Không"</string>
    <string name="wifi_passpoint_expired" msgid="3257021415099577815">"Đã hết hạn"</string>
    <string name="tap_to_sign_up" msgid="2409214576606918295">"Nhấn để đăng ký"</string>
    <string name="tap_to_renew_subscription_and_connect" msgid="375976298920840105">"Nhấn để gia hạn gói đăng ký và kết nối"</string>
    <string name="osu_opening_provider" msgid="5633521771769175139">"Đang mở <xliff:g id="PASSPOINTPROVIDER">%1$s</xliff:g>"</string>
    <string name="osu_connect_failed" msgid="8503501619299851793">"Không thể kết nối"</string>
    <string name="osu_completing_sign_up" msgid="7188493241442946231">"Đang hoàn tất việc đăng ký…"</string>
    <string name="osu_sign_up_failed" msgid="2725057866968590279">"Không thể hoàn tất việc đăng ký. Hãy nhấn để thử lại."</string>
    <string name="osu_sign_up_complete" msgid="7013805426618985953">"Đã đăng ký xong. Đang kết nối…"</string>
    <string name="imsi_protection_warning" msgid="3207104049473134195">"Mạng này nhận được một mã nhận dạng duy nhất có thể dùng để theo dõi vị trí của thiết bị. "<annotation id="url">"Tìm hiểu thêm"</annotation></string>
    <string name="speed_label_very_slow" msgid="2401582671941367179">"Rất chậm"</string>
    <string name="speed_label_slow" msgid="8410385703344502127">"Chậm"</string>
    <string name="speed_label_okay" msgid="3741857805086997968">"Khá tốt"</string>
    <string name="speed_label_medium" msgid="3175703848952862009">"Trung bình"</string>
    <string name="speed_label_fast" msgid="8344116097613544322">"Nhanh"</string>
    <string name="speed_label_very_fast" msgid="1595806641512447877">"Rất nhanh"</string>
</resources>
