<?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">"Installasjonsprogram for sertifikat"</string>
    <string name="pick_file_title" msgid="540508675168568249">"Velg et sertifikat"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Pakk ut sertifikatet"</string>
    <string name="extracting_pkcs12" msgid="5687649614233029807">"Henter ..."</string>
    <string name="pkcs12_file_password_dialog_title" msgid="8102721384767269510">"Hent fra %s"</string>
    <string name="name_credential_dialog_title" msgid="277729846491554437">"Gi sertifikatet et navn"</string>
    <string name="credential_name" msgid="1974979771369744378">"Sertifikatnavn:"</string>
    <string name="credential_password" msgid="5251535810456146069">"Skriv inn passordet for å hente sertifikatene."</string>
    <string name="credential_info" msgid="2436768402308470397">"Pakken inneholder:"</string>
    <string name="p12_description" msgid="4128352087331630024">"Sertifikater i PKCS12-keystore."</string>
    <string name="one_userkey" msgid="3500697912370644881">"én brukernøkkel"</string>
    <string name="one_usercrt" msgid="7690798336332403106">"ett brukersertifikat"</string>
    <string name="one_cacrt" msgid="2667950425420663146">"ett instanssertifikat"</string>
    <string name="n_cacrts" msgid="2141498640685639208">"%d instanssertifikater"</string>
    <string name="password_error" msgid="1441470604400783036">"Skriv inn det riktige passordet."</string>
    <string name="password_empty_error" msgid="5805075735548023047">"Skriv inn et passord."</string>
    <string name="name_empty_error" msgid="7655653930227877414">"Skriv inn et navn."</string>
    <string name="name_char_error" msgid="4674369917792581202">"Skriv inn et navn som kun inneholder bokstaver og tall."</string>
    <string name="storage_error" msgid="3375395655677579149">"Kunne ikke lagre sertifikatet. Velg OK for å forsøke på nytt."</string>
    <string name="unable_to_save_cert" msgid="864273038676458624">"Kunne ikke lagre sertifikatet. Legitimasjonslageret er ikke aktivert eller riktig satt opp."</string>
    <string name="cert_not_saved" msgid="4037698479662830270">"Sertifikatet ble ikke installert."</string>
    <string name="no_cert_to_saved" msgid="5708884372817309068">"Ingen sertifikater å installere."</string>
    <string name="invalid_cert" msgid="7704228670980743590">"Sertifikatet er ugyldig."</string>
    <string name="cert_is_added" msgid="6996557598167000500">"<xliff:g id="CREDENTIAL">%s</xliff:g> er installert."</string>
    <string name="cert_too_large_error" msgid="8806716564341320607">"Installasjonen mislyktes. Sertifikatstørrelsen er for stor."</string>
    <string name="cert_missing_error" msgid="4220080091005628628">"Installasjonen mislyktes. Kunne ikke finne sertifikatfilen."</string>
    <string name="cert_read_error" msgid="9120813657318906215">"Installasjonen mislyktes. Kunne ikke lese sertifikatfilen."</string>
    <string name="no_cert_file_found" product="nosdcard" msgid="3555332946357131929">"Finner ingen sertifikatfil på USB-lagringsenheten."</string>
    <string name="no_cert_file_found" product="default" msgid="1942077544887243999">"Fant ingen sertifikatfil på minnekortet."</string>
    <string name="sdcard_not_present" product="nosdcard" msgid="9197143240492611196">"USB-lagring ikke tilgjengelig."</string>
    <string name="sdcard_not_present" product="default" msgid="1567335300760018448">"Finner ikke minnekort."</string>
</resources>
