<?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">"Program d\'installaziun dal certificat"</string>
    <string name="pick_file_title" msgid="540508675168568249">"Tscherner in certificat"</string>
    <!-- no translation found for pkcs12_password_dialog_title (5997624645207427161) -->
    <skip />
    <string name="extracting_pkcs12" msgid="5687649614233029807">"Ils certificats vegnan extratgs..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Extrair da %s"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Dar in num al certificat"</string>
    <string name="credential_name" msgid="1974979771369744378">"Num dal certificat:"</string>
    <string name="credential_password" msgid="5251535810456146069">"Endatai il pled-clav per extrair ils certificats."</string>
    <string name="credential_info" msgid="2436768402308470397">"Il pachet cuntegna:"</string>
    <string name="p12_description" msgid="4128352087331630024">"Certificats en il keystore PKCS12"</string>
    <string name="one_userkey" msgid="3500697912370644881">"ina clav utilisader"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"in certificat utilisader"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"in certificat dal post da certificaziun"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d certificats dal post da certificaziun (CA)"</string>
    <string name="password_error" msgid="1441470604400783036">"Endatai il pled-clav correct."</string>
    <string name="password_empty_error" msgid="5805075735548023047">"Endatai il pled-clav."</string>
    <string name="name_empty_error" msgid="7655653930227877414">"Endatai in num."</string>
    <string name="name_char_error" msgid="4674369917792581202">"Endatai in num che cuntegna mo letras e cifras."</string>
    <string name="storage_error" msgid="3375395655677579149">"Actualmain impussibel da memorisar il certificat. Cliccai sin OK per empruvar anc ina giada."</string>
    <string name="unable_to_save_cert" msgid="864273038676458624">"Impussibel da memorisar il certificat. La memoria da las infurmaziuns d\'annunzia n\'è betg activà u betg inizialisà a moda correcta."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"Il certificat n\'è betg installà."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"Nagin certificat per installar."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"Il certificat è nunvalid."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"<xliff:g id="CREDENTIAL">%s</xliff:g> è installà."</string>
    <string name="cert_too_large_error" msgid="8806716564341320607">"L\'installaziun n\'è betg reussida. Il certificat è memia grond."</string>
    <string name="cert_missing_error" msgid="4220080091005628628">"L\'installaziun n\'è betg reussida. Impussibel da chattar la datoteca dal certificat."</string>
    <string name="cert_read_error" msgid="9120813657318906215">"L\'installaziun n\'è betg reussida. Impussibel da leger la datoteca da certificat."</string>
    <!-- no translation found for no_cert_file_found (3555332946357131929) -->
    <skip />
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"Betg chattà ina datoteca da certificat sin la carta SD."</string>
    <!-- no translation found for sdcard_not_present (9197143240492611196) -->
    <skip />
    <string name="sdcard_not_present" product="default" msgid="1567335300760018448">"La carta SD manca."</string>
</resources>
