<?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="540508675168568249">"Escolha um certificado"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Extrair certificado"</string>
    <string name="extracting_pkcs12" msgid="5687649614233029807">"Extraindo..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Extrair de %s"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Nomear o certificado"</string>
    <string name="credential_name" msgid="1974979771369744378">"Nome do certificado:"</string>
    <string name="credential_password" msgid="5251535810456146069">"Digite a senha para extrair os certificados."</string>
    <string name="credential_info" msgid="2436768402308470397">"O pacote contém:"</string>
    <string name="p12_description" msgid="4128352087331630024">"Certificados no armazenamento de chaves PKCS12."</string>
    <string name="one_userkey" msgid="3500697912370644881">"uma chave de usuário"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"um certificado de usuário"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"um certificado CA"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d certificados CA"</string>
    <string name="password_error" msgid="1441470604400783036">"Insira a senha correta."</string>
    <string name="password_empty_error" msgid="5805075735548023047">"Insira a senha."</string>
    <string name="name_empty_error" msgid="7655653930227877414">"Insira um nome."</string>
    <string name="name_char_error" msgid="4674369917792581202">"Insira um nome que contenha apenas letras e números."</string>
    <string name="storage_error" msgid="3375395655677579149">"Não foi possível salvar o certificado. Clique em OK para tentar novamente."</string>
    <string name="unable_to_save_cert" msgid="864273038676458624">"Não foi possível salvar o certificado. O armazenamento de credenciais não está ativado ou não foi inicializado corretamente."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"O certificado não está instalado."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"Não há certificado para instalar."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"O certificado é inválido."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"A <xliff:g id="CREDENTIAL">%s</xliff:g> está instalada"</string>
    <string name="cert_too_large_error" msgid="8806716564341320607">"Falha na instalação. Certificado muito grande."</string>
    <string name="cert_missing_error" msgid="4220080091005628628">"Falha na instalação. Não é possível localizar o arquivo de certificado."</string>
    <string name="cert_read_error" msgid="9120813657318906215">"Falha na instalação. Não é possível ler o arquivo de certificado."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"Nenhum arquivo de certificado foi encontrado no armazenamento USB."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"Nenhum arquivo de certificado foi encontrado no cartão SD."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Armazenam. USB não disponível."</string>
    <string name="sdcard_not_present" product="default" msgid="1567335300760018448">"O cartão SD não está presente."</string>
</resources>
