<?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">"Programme d\'installation du certificat"</string>
    <string name="pick_file_title" msgid="540508675168568249">"Choisir un certificat"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Extraire le certificat"</string>
    <string name="extracting_pkcs12" msgid="5687649614233029807">"Extraction en cours..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Extraire de %s"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Attribuer un nom au certificat"</string>
    <string name="credential_name" msgid="1974979771369744378">"Nom du certificat :"</string>
    <string name="credential_password" msgid="5251535810456146069">"Entrez le mot de passe pour extraire les certificats."</string>
    <string name="credential_info" msgid="2436768402308470397">"Le package contient :"</string>
    <string name="p12_description" msgid="4128352087331630024">"Certificats dans le keystore PKCS12"</string>
    <string name="one_userkey" msgid="3500697912370644881">"une clé utilisateur"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"un certificat utilisateur"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"un certificat de l\'autorité de certification"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d certificats de l\'autorité de certification"</string>
    <string name="password_error" msgid="1441470604400783036">"Veuillez entrer le mot de passe approprié."</string>
    <string name="password_empty_error" msgid="5805075735548023047">"Veuillez entrer le mot de passe."</string>
    <string name="name_empty_error" msgid="7655653930227877414">"Veuillez entrer un nom."</string>
    <string name="name_char_error" msgid="4674369917792581202">"Entrez un nom ne contenant que des lettres et des chiffres."</string>
    <string name="storage_error" msgid="3375395655677579149">"Impossible d\'enregistrer le certificat. Cliquez sur OK pour réessayer."</string>
    <string name="unable_to_save_cert" msgid="864273038676458624">"Impossible d\'enregistrer le certificat. Le stockage des identifiants n\'est pas activé ou initialisé correctement."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"Le certificat n\'est pas installé."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"Aucun certificat à installer."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"Le certificat est incorrect."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"<xliff:g id="CREDENTIAL">%s</xliff:g> est installé."</string>
    <string name="cert_too_large_error" msgid="8806716564341320607">"Échec de l\'installation. Le certificat est trop volumineux."</string>
    <string name="cert_missing_error" msgid="4220080091005628628">"Échec de l\'installation. Impossible de localiser le fichier du certificat."</string>
    <string name="cert_read_error" msgid="9120813657318906215">"Échec de l\'installation. Impossible de lire le fichier du certificat."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"Fichier de certificat introuvable dans la mémoire de stockage USB"</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"Fichier de certificat introuvable sur la carte SD"</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"Mémoire USB indisponible"</string>
    <string name="sdcard_not_present" product="default" msgid="1567335300760018448">"Carte SD manquante"</string>
</resources>
