<?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="storage_error" msgid="8306802455802770779">"Không thể lưu chứng chỉ. Chạm OK để thử lại."</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>
</resources>
