<?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">"Installationsprogram för certifikat"</string>
    <string name="pick_file_title" msgid="540508675168568249">"Välj ett certifikat"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Extrahera certifikat"</string>
    <string name="extracting_pkcs12" msgid="5687649614233029807">"Extrahera ..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Extrahera från %s"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Ange ett namn på certifikatet"</string>
    <string name="credential_name" msgid="1974979771369744378">"Certifikatnamn:"</string>
    <string name="credential_password" msgid="5251535810456146069">"Ange lösenordet om du vill extrahera certifikaten."</string>
    <string name="credential_info" msgid="2436768402308470397">"Paketet innehåller:"</string>
    <string name="p12_description" msgid="4128352087331630024">"Certifikat i PKCS12-nyckellager."</string>
    <string name="one_userkey" msgid="3500697912370644881">"en användarnyckel"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"ett användarcertifikat"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"ett CA-certifikat"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d CA-certifikat"</string>
    <string name="password_error" msgid="1441470604400783036">"Ange rätt lösenord."</string>
    <string name="password_empty_error" msgid="5805075735548023047">"Ange lösenordet."</string>
    <string name="name_empty_error" msgid="7655653930227877414">"Ange ett namn."</string>
    <string name="name_char_error" msgid="4674369917792581202">"Ange ett namn som endast innehåller bokstäver och siffror."</string>
    <string name="storage_error" msgid="3375395655677579149">"Det gick inte att spara certifikatet. Klicka på OK om du vill försöka igen."</string>
    <string name="unable_to_save_cert" msgid="864273038676458624">"Det gick inte att spara certifikatet. Uppgiftslagring har inte aktiverats eller så har funktionen inte initierats på rätt sätt."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"Certifikatet är inte installerat."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"Det finns inget certifikat att installera."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"Certifikatet är ogiltigt."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"<xliff:g id="CREDENTIAL">%s</xliff:g> har installerats."</string>
    <string name="cert_too_large_error" msgid="8806716564341320607">"Installationen misslyckades. Certifikatet är för stort."</string>
    <string name="cert_missing_error" msgid="4220080091005628628">"Installationen misslyckades. Det går inte att hitta certifikatfilen."</string>
    <string name="cert_read_error" msgid="9120813657318906215">"Installationen misslyckades. Det går inte att läsa certifikatfilen."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"Ingen certifikatfil hittades på USB-lagringsenheten."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"Det finns ingen certifikatfil på SD-kortet."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB-enheten är ej tillgänglig."</string>
    <string name="sdcard_not_present" product="default" msgid="1567335300760018448">"Det finns inget SD-kort."</string>
</resources>
