<?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">"Instal·lador de certificats"</string>
    <string name="pick_file_title" msgid="540508675168568249">"Selecció d\'un certificat"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Extreu el certificat"</string>
    <string name="extracting_pkcs12" msgid="5687649614233029807">"S\'està extraient..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Extracció de %s"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Assignació d\'un nom al certificat"</string>
    <string name="credential_name" msgid="1974979771369744378">"Nom del certificat:"</string>
    <string name="credential_password" msgid="5251535810456146069">"Introduïu la contrasenya per extreure els certificats."</string>
    <string name="credential_info" msgid="2436768402308470397">"El paquet conté:"</string>
    <string name="p12_description" msgid="4128352087331630024">"Certificats al magatzem de claus PKCS12."</string>
    <string name="one_userkey" msgid="3500697912370644881">"una clau d\'usuari"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"un certificat d\'usuari"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"un certificat de CA"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d certificats de CA"</string>
    <string name="password_error" msgid="1441470604400783036">"Introduïu la contrasenya correcta."</string>
    <string name="password_empty_error" msgid="5805075735548023047">"Introduïu la contrasenya."</string>
    <string name="name_empty_error" msgid="7655653930227877414">"Introduïu un nom."</string>
    <string name="name_char_error" msgid="4674369917792581202">"Introduïu un nom que contingui només lletres i números."</string>
    <string name="storage_error" msgid="3375395655677579149">"No es pot desar el certificat. Feu clic a D\'acord per tornar-ho a provar."</string>
    <string name="unable_to_save_cert" msgid="864273038676458624">"No es pot desar el certificat. L\'emmagatzematge de credencials no està activat o no s\'ha inicialitzat correctament."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"El certificat no està instal·lat."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"No hi ha cap certificat per instal·lar."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"El certificat no és vàlid."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"S\'ha instal·lat <xliff:g id="CREDENTIAL">%s</xliff:g>."</string>
    <string name="cert_too_large_error" msgid="8806716564341320607">"S\'ha produït un error a la instal·lació. La mida del certificat és massa gran."</string>
    <string name="cert_missing_error" msgid="4220080091005628628">"Error d\'instal·lació. No es troba el fitxer del certificat."</string>
    <string name="cert_read_error" msgid="9120813657318906215">"Error d\'instal·lació. No es pot llegir el fitxer del certificat."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"No s\'ha trobat cap fitxer de certificat a l\'emmagatzematge USB."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"No s\'ha trobat cap fitxer de certificat a la targeta SD."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Emmagatzematge USB no disponible."</string>
    <string name="sdcard_not_present" product="default" msgid="1567335300760018448">"No hi ha cap targeta SD."</string>
</resources>
