<?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 CA-sertifikat"</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="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="action_missing_private_key" msgid="7543470057312920042">"Privat nøkkel er nødvendig for å installere et sertifikat"</string>
    <string name="action_missing_user_cert" msgid="3727411730202316771">"Sertifikat er nødvendig for å installere en privat nøkkel"</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="only_primary_user_allowed" msgid="4005084935023047716">"Bare eieren av denne enheten kan installere sertifikater."</string>
    <string name="credential_usage_label" msgid="1513892208033156805">"Bruk av legitimasjon:"</string>
  <string-array name="credential_usage">
    <item msgid="375085478373011304">"VPN og apper"</item>
    <item msgid="692322974985472861">"Wi-Fi"</item>
  </string-array>
    <string name="certificate_capabilities_warning" msgid="4158609401937799110">"Merk: Utstederen av dette sertifikatet kan inspisere all trafikk til og fra enheten."</string>
    <string name="wifi_title" msgid="8475811746333426489">"Wi-Fi-profil"</string>
    <string name="wifi_detail_title" msgid="3627332137252994395">"Detaljer for %s"</string>
    <string name="wifi_detail_label" msgid="3032151019356747583">"Detaljer"</string>
    <string name="wifi_install_label" msgid="1449629407724323233">"Installer"</string>
    <string name="wifi_installing_label" msgid="8387393993627129025">"Installerer …"</string>
    <string name="wifi_cancel_label" msgid="1328748037608392134">"Avbryt"</string>
    <string name="wifi_dismiss_label" msgid="1916684434873972698">"Avvis"</string>
    <string name="wifi_no_config" msgid="1835743123288916755">"Ingen"</string>
    <string name="wifi_config_text" msgid="8259587306773310314">"Navn: %1$s\nFQDN: %2$s\nRoamegrupper: %3$s\nOmråde: %4$s\nAutoriseringstype: EAP-%5$s\n"</string>
    <string name="wifi_ttls_config_text" msgid="2002413183253872168">"Brukernavn: %s\n"</string>
    <string name="wifi_tls_config_text" msgid="9062328536640168510">"Klientsertifikat:\n%1$s\nNøkkel: %2$s\n"</string>
    <string name="wifi_sim_config_text" msgid="1666019954520831840">"SIM-kort: %s\n"</string>
    <string name="wifi_trust_config_text" msgid="5916047381475747783">"Forvaltningsbevis:\n%s\n"</string>
    <string name="install_done_title" msgid="4822989918460334497">"Legitimasjonen er installert"</string>
    <string name="install_done" msgid="1522718684172097080">"<xliff:g id="NAME">%1$s</xliff:g>-legitimasjonen er lagt til i lagrede Wi-Fi-nettverk."</string>
    <string name="done_label" msgid="5597425930652904250">"FERDIG"</string>
    <string name="wifi_installer_detail" msgid="63879632832701669">"Installer Wi-Fi-legitimasjon for å koble til nettverk via <xliff:g id="NAME">%1$s</xliff:g>."</string>
    <string name="wifi_installer_download_error" msgid="5429453090956277692">"Den nedlastede filen har problemer og kan ikke installeres. Sørg for at du laster ned filen fra den riktige kilden."</string>
    <string name="wifi_installer_fail" msgid="894483173306576331">"Kan ikke installere Wi-Fi-legitimasjonen. Prøv å laste ned filen på nytt."</string>
    <string name="wifi_installer_fail_no_wifi_title" msgid="8358191074828840533">"Installasjonen er avbrutt"</string>
    <string name="wifi_installer_fail_title" msgid="5547079779067835479">"Kan ikke installere"</string>
    <string name="wifi_installer_fail_no_wifi" msgid="2044576439984209921">"Slå på Wi-Fi og prøv på nytt."</string>
</resources>
