<?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="4481949485108233297">"Valg av sertifikat"</string>
    <string name="pkcs12_password_dialog_title" msgid="5997624645207427161">"Pakk ut sertifikatet"</string>
    <string name="extracting_pkcs12" msgid="1881267738821799771">"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="3520176519550993326">"Skriv inn passordet for å hente ut 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="2042471639556516356">"Skriv inn riktig passord."</string>
    <string name="password_empty_error" msgid="591713406761723025">"Skriv inn passordet."</string>
    <string name="name_empty_error" msgid="3808800768660110354">"Skriv inn et navn."</string>
    <string name="name_char_error" msgid="3176618568784938968">"Skriv inn et navn som bare inneholder bokstaver og tall."</string>
    <string name="storage_error" msgid="8306802455802770779">"Kunne ikke lagre sertifikatet. Trykk på OK for å prøve på nytt."</string>
    <string name="unable_to_save_cert" msgid="9178604087335389686">"Kunne ikke lagre sertifikatet. Legitimasjonslageret er ikke aktivert eller riktig initialisert."</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="8715414972725646285">"Kunne ikke installere fordi sertifikatet er for stort."</string>
    <string name="cert_missing_error" msgid="7040527352278728220">"Kunne ikke installere fordi sertifikatfilen ikke ble funnet."</string>
    <string name="cert_read_error" msgid="7353463360652419796">"Kunne ikke installere fordi sertifikatfilen ikke kunne leses."</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="3866952732541932947">"Finner ikke SD-kort."</string>
    <!-- no translation found for only_primary_user_allowed (4005084935023047716) -->
    <skip />
</resources>
