<?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">"Certificate Installer"</string>
    <string name="pick_file_title" msgid="540508675168568249">"选取证书"</string>
    <string name="pkcs12_password_dialog_title" msgid="4698023326961869428">"从 PKCS12 密钥库提取"</string>
    <string name="extracting_pkcs12" msgid="5687649614233029807">"正在提取..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"从 %s 提取"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"为证书命名"</string>
    <string name="credential_name" msgid="1974979771369744378">"证书名称："</string>
    <string name="credential_password" msgid="5251535810456146069">"输入密码以提取证书。"</string>
    <string name="credential_info" msgid="2436768402308470397">"该数据包包含："</string>
    <string name="p12_description" msgid="4128352087331630024">"PKCS12 密钥库中的证书。"</string>
    <string name="one_userkey" msgid="3500697912370644881">"一个用户密钥"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"一个用户证书"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"一个 CA 证书"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d 个 CA 证书"</string>
    <string name="password_error" msgid="1441470604400783036">"请输入正确的密码。"</string>
    <string name="password_empty_error" msgid="5805075735548023047">"请输入密码。"</string>
    <string name="name_empty_error" msgid="7655653930227877414">"请输入名称。"</string>
    <string name="name_char_error" msgid="4674369917792581202">"请输入一个仅包含字母和数字的名称。"</string>
    <string name="storage_error" msgid="3375395655677579149">"无法保存该证书。请点击“确定”重试。"</string>
    <string name="unable_to_save_cert" msgid="864273038676458624">"无法保存该证书。未启用或未正确初始化凭证存储。"</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"未安装该证书。"</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"没有可安装的证书。"</string>
    <string name="intent_parse_error" msgid="145359819508990047">"无法解析意图：%s"</string>
    <string name="cert_is_added" msgid="6996557598167000500">"已安装 <xliff:g id="CREDENTIAL">%s</xliff:g>。"</string>
    <string name="cert_too_large_error" msgid="8806716564341320607">"安装失败。证书大小过大。"</string>
    <string name="cert_missing_error" msgid="4220080091005628628">"安装失败。无法找到证书文件。"</string>
    <string name="cert_read_error" msgid="9120813657318906215">"安装失败。无法读取证书文件。"</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="7170871727456313439">"在共享存储设备上找不到证书文件。"</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"在 SD 卡上找不到证书文件。"</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9190417396392032242">"共享存储设备不可用。"</string>
    <string name="sdcard_not_present" product="default" msgid="1567335300760018448">"SD 卡不存在。"</string>
</resources>
