<?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">"Instalador de certificados"</string>
    <string name="pick_file_title" msgid="4481949485108233297">"Seleccionar un certificado"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Extraer certificado"</string>
    <string name="extracting_pkcs12" msgid="1881267738821799771">"Extrayendo..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Extraer de %s"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Nombre del certificado"</string>
    <string name="credential_name" msgid="1974979771369744378">"Nombre del certificado:"</string>
    <string name="credential_password" msgid="3520176519550993326">"Escribe la contraseña para extraer los certificados"</string>
    <string name="credential_info" msgid="2436768402308470397">"El paquete contiene:"</string>
    <string name="p12_description" msgid="4128352087331630024">"Certificados del almacén de claves PKCS12"</string>
    <string name="one_userkey" msgid="3500697912370644881">"una clave de usuario"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"un certificado de usuario"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"un certificado CA"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d certificados de CA"</string>
    <string name="password_error" msgid="2042471639556516356">"Escribe la contraseña correcta."</string>
    <string name="password_empty_error" msgid="591713406761723025">"Escribe la contraseña."</string>
    <string name="name_empty_error" msgid="3808800768660110354">"Escribe un nombre."</string>
    <string name="name_char_error" msgid="3176618568784938968">"Escribe un nombre que contenga solo letras y números."</string>
    <string name="storage_error" msgid="8306802455802770779">"No se ha podido guardar el certificado. Toca Aceptar para volver a intentarlo."</string>
    <string name="unable_to_save_cert" msgid="9178604087335389686">"No se ha podido guardar el certificado. El almacenamiento de credenciales no está habilitado o no se ha iniciado correctamente."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"No se ha instalado el certificado."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"No hay ningún certificado que instalar."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"El certificado no es válido."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"<xliff:g id="CREDENTIAL">%s</xliff:g> se ha instalado."</string>
    <string name="cert_too_large_error" msgid="8715414972725646285">"No se ha podido instalar porque el tamaño del certificado es demasiado grande."</string>
    <string name="cert_missing_error" msgid="7040527352278728220">"No se ha podido instalar porque no se ha encontrado el archivo de certificado."</string>
    <string name="cert_read_error" msgid="7353463360652419796">"No se ha podido instalar porque no se puede leer el archivo de certificado."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"No se ha encontrado ningún archivo de certificado en el almacenamiento USB."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"No se ha encontrado ningún archivo de certificado en la tarjeta SD."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB no disponible"</string>
    <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"La tarjeta SD no está presente."</string>
    <!-- no translation found for only_primary_user_allowed (4005084935023047716) -->
    <skip />
</resources>
