<?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 certificado"</string>
    <string name="pick_file_title" msgid="4481949485108233297">"Elegir un certificado"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Extraer el certificado"</string>
    <string name="extracting_pkcs12" msgid="1881267738821799771">"Extrayendo…"</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Extraer desde %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 en el keystore 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 solo contenga letras y números."</string>
    <string name="unable_to_save_cert" msgid="9178604087335389686">"No fue posible guardar el certificado. El almacenamiento de credenciales no se habilitó o inició correctamente."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"No se instaló el certificado."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"No ha certificado para 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> está instalado."</string>
    <string name="cert_too_large_error" msgid="8715414972725646285">"No fue posible realizar la instalación porque el certificado es demasiado grande."</string>
    <string name="cert_missing_error" msgid="7040527352278728220">"No fue posible realizar la instalación porque no se pudo ubicar el archivo del certificado."</string>
    <string name="cert_read_error" msgid="7353463360652419796">"No fue posible realizar la instalación porque no se pudo leer el archivo del certificado."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"No se ha encontrado un archivo de certificado en el almacenamiento USB."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"No se ha encontrado un archivo de certificado en la tarjeta SD."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Alm. USB no disponible"</string>
    <string name="sdcard_not_present" product="default" msgid="3866952732541932947">"No se insertó la tarjeta SD."</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="certificate_capabilities_warning" msgid="4158609401937799110">"Nota: Es posible que la entidad emisora de este certificado inspeccione todo el tráfico que reciba y envíe el dispositivo."</string>
    <string name="wifi_title" msgid="8475811746333426489">"Perfil de 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">"Ignorar"</string>
    <string name="wifi_no_config" msgid="1835743123288916755">"Ninguna"</string>
    <string name="wifi_config_text" msgid="8259587306773310314">"Nombre: %1$s\nFQDN: %2$s\nRoaming Consortiums: %3$s\nRealm: %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 agregaron 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 credenciales Wi-Fi para conectarte a las redes disponibles mediante <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. Asegúrate de haber descargado el archivo del origen correcto."</string>
    <string name="wifi_installer_fail" msgid="894483173306576331">"No es posible instalar las credenciales de Wi-Fi. Intenta volver a descargar el archivo."</string>
    <string name="wifi_installer_fail_no_wifi_title" msgid="8358191074828840533">"Se canceló la instalación"</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 Wi-Fi y vuelve a intentarlo."</string>
</resources>
