<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (C) 2011 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:xliff="urn:oasis:names:tc:xliff:document:1.2">
    <string name="app_name">Key Chain</string>
    <string name="keychainUserLabel">keychain</string>

    <!-- Dialog title when no certificates were found -->
    <string name="title_no_certs">No certificates found</string>

    <!-- Dialog title when at least one certificate was found -->
    <string name="title_select_cert">Select certificate</string>

    <!-- Used at top of dialog to identify requesting application -->
    <string name="requesting_application">The application %s has requested a certificate. Selecting a certificate will grant the application the ability to use this identity with servers now and in the future.</string>

    <!-- Used at top of dialog to identify requesting server (may be host:port or just host)-->
    <string name="requesting_server">The application has identified the requesting server as %s but you should only grant the application access to the certificate if you trust the application.</string>

    <!-- Label of button to send the user to the CertInstaller to install a certificate (arguments are constants for .pfx and .p12) -->
    <string name="install_new_cert_message">You can install certificates from a PKCS#12 file with a %1$s or a %2$s extension located in external storage.</string>

    <!-- Label of button to send the user to the CertInstaller to install a certificate -->
    <string name="install_new_cert_button_label">Install</string>

    <!-- Label of button to send the allow the application certificate request -->
    <string name="allow_button">Allow</string>

    <!-- Label of button to send the deny the application certificate request -->
    <string name="deny_button">Deny</string>

</resources>
