<?xml version="1.0" encoding="UTF-8"?>
<!--  Copyright (C) 2009 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="app_name" msgid="9095072584761066851">"Trình cài đặt Chứng chỉ"</string>
    <string name="pick_file_title" msgid="4481949485108233297">"Chọn chứng chỉ"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Trích xuất chứng chỉ"</string>
    <string name="extracting_pkcs12" msgid="1881267738821799771">"Đang trích xuất..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Trích xuất từ %s"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Đặt tên chứng chỉ"</string>
    <string name="credential_name" msgid="1974979771369744378">"Tên chứng chỉ:"</string>
    <string name="credential_password" msgid="3520176519550993326">"Nhập mật khẩu để trích xuất các chứng chỉ."</string>
    <string name="credential_info" msgid="2436768402308470397">"Gói chứa:"</string>
    <string name="p12_description" msgid="4128352087331630024">"Chứng chỉ trong kho khóa PKCS12."</string>
    <string name="one_userkey" msgid="3500697912370644881">"một khóa người dùng"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"một chứng chỉ người dùng"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"một chứng chỉ CA"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d chứng chỉ CA"</string>
    <string name="password_error" msgid="2042471639556516356">"Nhập mật khẩu đúng."</string>
    <string name="password_empty_error" msgid="591713406761723025">"Nhập mật khẩu."</string>
    <string name="name_empty_error" msgid="3808800768660110354">"Nhập tên."</string>
    <string name="name_char_error" msgid="3176618568784938968">"Nhập tên chỉ chứa chữ cái và số."</string>
    <string name="unable_to_save_cert" msgid="9178604087335389686">"Không thể lưu chứng chỉ. Bộ nhớ thông tin xác thực chưa được bật hoặc khởi tạo đúng cách."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"Chứng chỉ không được cài đặt."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"Không có chứng chỉ để cài đặt."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"Chứng chỉ không hợp lệ."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"<xliff:g id="CREDENTIAL">%s</xliff:g> đã được cài đặt."</string>
    <string name="cert_too_large_error" msgid="8715414972725646285">"Không thể cài đặt vì kích thước chứng chỉ quá lớn."</string>
    <string name="cert_missing_error" msgid="7040527352278728220">"Không thể cài đặt vì không thể định vị tệp chứng chỉ."</string>
    <string name="cert_read_error" msgid="7353463360652419796">"Không thể cài đặt vì không thể đọc tệp chứng chỉ."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"Không tìm thấy tệp chứng chỉ nào trong bộ nhớ USB."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"Không tìm thấy tệp chứng chỉ trong thẻ SD."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Bộ nhớ USB không khả dụng."</string>
    <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"Hiện không có thẻ SD."</string>
    <string name="only_primary_user_allowed" msgid="4005084935023047716">"Chỉ chủ sở hữu thiết bị này mới có thể cài đặt các chứng chỉ."</string>
    <string name="credential_usage_label" msgid="1513892208033156805">"Sử dụng bản xác thực:"</string>
  <string-array name="credential_usage">
    <item msgid="375085478373011304">"VPN và các ứng dụng"</item>
    <item msgid="692322974985472861">"Wi-Fi"</item>
  </string-array>
    <string name="certificate_capabilities_warning" msgid="4158609401937799110">"Lưu ý: Tổ chức phát hành chứng chỉ này có thể kiểm tra tất cả lưu lượng truy cập đến và từ thiết bị này."</string>
    <string name="wifi_title" msgid="8475811746333426489">"Cấu hình Wi-Fi"</string>
    <string name="wifi_detail_title" msgid="3627332137252994395">"Chi tiết dành cho %s"</string>
    <string name="wifi_detail_label" msgid="3032151019356747583">"Chi tiết"</string>
    <string name="wifi_install_label" msgid="1449629407724323233">"Cài đặt"</string>
    <string name="wifi_installing_label" msgid="8387393993627129025">"Đang cài đặt"</string>
    <string name="wifi_cancel_label" msgid="1328748037608392134">"Hủy"</string>
    <string name="wifi_dismiss_label" msgid="1916684434873972698">"Loại bỏ"</string>
    <string name="wifi_no_config" msgid="1835743123288916755">"Không có"</string>
    <string name="wifi_config_text" msgid="8259587306773310314">"Tên: %1$s\nFQDN: %2$s\nTổ chức chuyển vùng: %3$s\nVùng: %4$s\nPhương pháp xác thực: EAP-%5$s\n"</string>
    <string name="wifi_ttls_config_text" msgid="2002413183253872168">"Tên người dùng: %s\n"</string>
    <string name="wifi_tls_config_text" msgid="9062328536640168510">"Chứng chỉ ứng dụng khách:\n%1$s\nKhóa: %2$s\n"</string>
    <string name="wifi_sim_config_text" msgid="1666019954520831840">"SIM: %s\n"</string>
    <string name="wifi_trust_config_text" msgid="5916047381475747783">"Tin tưởng chứng chỉ:\n%s\n"</string>
    <string name="install_done_title" msgid="4822989918460334497">"Đã cài đặt thông tin xác thực"</string>
    <string name="install_done" msgid="1522718684172097080">"Thông tin xác thực <xliff:g id="NAME">%1$s</xliff:g> đã được thêm vào mạng Wi-Fi đã lưu."</string>
    <string name="done_label" msgid="5597425930652904250">"XONG"</string>
    <string name="wifi_installer_detail" msgid="63879632832701669">"Cài đặt thông tin xác thực Wi-Fi để kết nối với mạng có sẵn qua <xliff:g id="NAME">%1$s</xliff:g>."</string>
    <string name="wifi_installer_download_error" msgid="5429453090956277692">"Tệp đã tải xuống gặp sự cố và không thể cài đặt được. Hãy đảm bảo bạn đã tải xuống tệp từ đúng nguồn."</string>
    <string name="wifi_installer_fail" msgid="894483173306576331">"Không thể cài đặt thông tin xác thực Wi-Fi. Hãy thử tải tệp xuống một lần nữa."</string>
    <string name="wifi_installer_fail_no_wifi_title" msgid="8358191074828840533">"Đã hủy cài đặt"</string>
    <string name="wifi_installer_fail_title" msgid="5547079779067835479">"Không thể cài đặt"</string>
    <string name="wifi_installer_fail_no_wifi" msgid="2044576439984209921">"Bật Wi-Fi và thử lại."</string>
</resources>
