<?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 de 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="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>
    <string name="only_primary_user_allowed" msgid="4005084935023047716">"Solo el propietario de este dispositivo puede instalar certificados."</string>
    <string name="credential_usage_label" msgid="1513892208033156805">"Uso de credenciales:"</string>
  <string-array name="credential_usage">
    <item msgid="375085478373011304">"VPN y aplicaciones"</item>
    <item msgid="692322974985472861">"Wi-Fi"</item>
  </string-array>
    <string name="wifi_title" msgid="8475811746333426489">"Perfil de conexión Wi-Fi"</string>
    <string name="wifi_detail_title" msgid="3627332137252994395">"Detalles de %s"</string>
    <string name="wifi_detail_label" msgid="3032151019356747583">"Detalles"</string>
    <string name="wifi_install_label" msgid="1449629407724323233">"Instalar"</string>
    <string name="wifi_installing_label" msgid="8387393993627129025">"Instalando"</string>
    <string name="wifi_cancel_label" msgid="1328748037608392134">"Cancelar"</string>
    <string name="wifi_dismiss_label" msgid="1916684434873972698">"Descartar"</string>
    <string name="wifi_no_config" msgid="1835743123288916755">"Ninguna"</string>
    <string name="wifi_config_text" msgid="8259587306773310314">"Nombre: %1$s\nFQDN: %2$s\nConsorcios de itinerancia: %3$s\nDominio: %4$s\nMétodo de autenticación: EAP-%5$s\n"</string>
    <string name="wifi_ttls_config_text" msgid="2002413183253872168">"Nombre de usuario: %s\n"</string>
    <string name="wifi_tls_config_text" msgid="9062328536640168510">"Certificado de cliente:\n%1$s\nClave: %2$s\n"</string>
    <string name="wifi_sim_config_text" msgid="1666019954520831840">"SIM: %s\n"</string>
    <string name="wifi_trust_config_text" msgid="5916047381475747783">"Certificado de confianza:\n%s\n"</string>
    <string name="install_done_title" msgid="4822989918460334497">"Credenciales instaladas"</string>
    <string name="install_done" msgid="1522718684172097080">"Se han añadido las credenciales de <xliff:g id="NAME">%1$s</xliff:g> a las redes Wi-Fi guardadas."</string>
    <string name="done_label" msgid="5597425930652904250">"LISTO"</string>
    <string name="wifi_installer_detail" msgid="63879632832701669">"Instala las credenciales de Wi-Fi para conectarte a las redes disponibles a través de <xliff:g id="NAME">%1$s</xliff:g>."</string>
    <string name="wifi_installer_download_error" msgid="5429453090956277692">"El archivo descargado tiene problemas y no se puede instalar. Comprueba que has descargado el archivo de la fuente correcta."</string>
    <string name="wifi_installer_fail" msgid="894483173306576331">"No se pueden instalar las credenciales de Wi-Fi. Vuelve a descargar el archivo."</string>
    <string name="wifi_installer_fail_no_wifi_title" msgid="8358191074828840533">"Instalación cancelada"</string>
    <string name="wifi_installer_fail_title" msgid="5547079779067835479">"No se puede realizar la instalación"</string>
    <string name="wifi_installer_fail_no_wifi" msgid="2044576439984209921">"Activa la conexión Wi-Fi y vuelve a intentarlo."</string>
</resources>
