/*
 * cryptui dll resources (Norwegian Bokmål)
 *
 * Copyright 2010 Alexander N. Sørnes <alex@thehandofagony.com>
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

#include "cryptuires.h"

#pragma code_page(65001)

LANGUAGE LANG_NORWEGIAN, SUBLANG_NORWEGIAN_BOKMAL

STRINGTABLE
{
    IDS_CERTIFICATE "Sertifikat"
    IDS_CERTIFICATEINFORMATION "Sertifikatinformasjon"
    IDS_CERT_INFO_BAD_SIG "Dette sertifikatet har en ugyldig signatur. Sertifikatet kan ha blitt endret eller skadet."
    IDS_CERT_INFO_UNTRUSTED_CA "Dette rotsertifikatet er ikke tiltrodd. Legg det til i systemets lagringssted for tiltrodde sertifikater hvis du ønsker å stole på det."
    IDS_CERT_INFO_UNTRUSTED_ROOT "Dette sertifikatet kunne ikke godkjennes med et rotsertifikat."
    IDS_CERT_INFO_PARTIAL_CHAIN "Klarte ikke finne sertifikatets utsteder."
    IDS_CERT_INFO_BAD_PURPOSES "Klarte ikke godkjenne alle formålene til dette sertifikatet."
    IDS_CERT_INFO_PURPOSES "Dette sertifikatet er ment for følgende formål:"
    IDS_SUBJECT_HEADING "Utstedt til: "
    IDS_ISSUER_HEADING "Utstedt av: "
    IDS_VALID_FROM "Gyldig fra "
    IDS_VALID_TO " til "
    IDS_CERTIFICATE_BAD_SIGNATURE "Dette sertifikatet har en ugyldig signatur."
    IDS_CERTIFICATE_BAD_TIME "Dette sertifikatet har utgått eller er ikke gyldig ennå."
    IDS_CERTIFICATE_BAD_TIMENEST "Dette sertifikatets gyldighetsperiode er lenger enn utstederens."
    IDS_CERTIFICATE_REVOKED "Dette sertifikatet ble tilbakekalt av utstederen."
    IDS_CERTIFICATE_VALID "Dette sertifikatet er OK."
    IDS_FIELD "Felt"
    IDS_VALUE "Verdi"
    IDS_FIELDS_ALL "<Alle>"
    IDS_FIELDS_V1 "Kun versjon 1 felt"
    IDS_FIELDS_EXTENSIONS "Kun utvidelser"
    IDS_FIELDS_CRITICAL_EXTENSIONS "Kun kritiske utvidelser"
    IDS_FIELDS_PROPERTIES "Kun egenskaper"
    IDS_FIELD_VERSION "Versjon"
    IDS_FIELD_SERIAL_NUMBER "Serienummer"
    IDS_FIELD_ISSUER "Utsteder"
    IDS_FIELD_VALID_FROM "Gyldig fra"
    IDS_FIELD_VALID_TO "Gyldig til"
    IDS_FIELD_SUBJECT "Emne"
    IDS_FIELD_PUBLIC_KEY "Offentlig nøkkel"
    IDS_FIELD_PUBLIC_KEY_FORMAT "%s (%d bits)"
    IDS_PROP_HASH "SHA1-kode"
    IDS_PROP_ENHKEY_USAGE "Utvidet nøkkelbruk (egenskap)"
    IDS_PROP_FRIENDLY_NAME "Vennlig navn"
    IDS_PROP_DESCRIPTION "Beskrivelse"
    IDS_CERTIFICATE_PROPERTIES "Sertifikategenskaper"
    IDS_CERTIFICATE_PURPOSE_ERROR "Angi en OID på formen 1.2.3.4"
    IDS_CERTIFICATE_PURPOSE_EXISTS "OID'en du oppgav finnes allerede."
    IDS_SELECT_STORE_TITLE "Velg sertifikatlager"
    IDS_SELECT_STORE "Velg et lagringssted for sertifikater."
    IDS_IMPORT_WIZARD "Veiviser for import av sertifikater"
    IDS_IMPORT_TYPE_MISMATCH "Filen inneholder objekter som ikke passer de oppgitte kriteriene. Velg en annen fil."
    IDS_IMPORT_FILE_TITLE "Fil å importere"
    IDS_IMPORT_FILE_SUBTITLE "Velg filen du ønsker å importere."
    IDS_IMPORT_STORE_TITLE "Sertifikatlager"
    IDS_IMPORT_STORE_SUBTITLE "Sertifikatlagre er samlinger av sertifikater, tilbakekallingslister og lister over tiltrodde sertifikater."
    IDS_IMPORT_FILTER_CERT "X.509-sertifikat (*.cer; *.crt)"
    IDS_IMPORT_FILTER_PFX "Personlig informasjonsutveksling (*.pfx; *.p12)"
    IDS_IMPORT_FILTER_CRL "Liste over tilbakekalte sertifikater (*.crl)"
    IDS_IMPORT_FILTER_CTL "Liste over tiltrodde sertifikater (*.stl)"
    IDS_IMPORT_FILTER_SERIALIZED_STORE "Microsoft Serialized Certificate Store (*.sst)"
    IDS_IMPORT_FILTER_CMS "CMS/PKCS #7 meldinger (*.spc; *.p7b)"
    IDS_IMPORT_FILTER_ALL "Alle filer (*.*)"
    IDS_IMPORT_EMPTY_FILE "Velg en fil."
    IDS_IMPORT_BAD_FORMAT "Filformatet ble ikke gjenkjent. Velg en annen fil."
    IDS_IMPORT_OPEN_FAILED "Klarte ikke åpne "
    IDS_IMPORT_DEST_DETERMINED "Bestemt av programmet"
    IDS_IMPORT_SELECT_STORE "Velg en lagringsplass"
    IDS_IMPORT_STORE_SELECTION "Sertifikatlager valgt"
    IDS_IMPORT_DEST_AUTOMATIC "Bestemt av proggramet"
    IDS_IMPORT_FILE "Fil"
    IDS_IMPORT_CONTENT "Innhold"
    IDS_IMPORT_CONTENT_CERT "Sertifikat"
    IDS_IMPORT_CONTENT_CRL "Liste over tilbakekalte sertifikater"
    IDS_IMPORT_CONTENT_CTL "Liste over tiltrodde sertifikater"
    IDS_IMPORT_CONTENT_CMS "CMS/PKCS #7 meldinger"
    IDS_IMPORT_CONTENT_PFX "Personlig informasjonsutveksling"
    IDS_IMPORT_CONTENT_STORE "Sertifikatlager"
    IDS_IMPORT_SUCCEEDED "Importeringen var vellykket."
    IDS_IMPORT_FAILED "Klarte ikke importere."
    IDS_WIZARD_TITLE_FONT "Arial"
    IDS_PURPOSE_ALL "<Alle>"
    IDS_PURPOSE_ADVANCED "<Avanserte formål>"
    IDS_SUBJECT_COLUMN "Utstedt til"
    IDS_ISSUER_COLUMN "Utstedt av"
    IDS_EXPIRATION_COLUMN "Utløpsdato"
    IDS_FRIENDLY_NAME_COLUMN "Vennlig navn"
    IDS_ALLOWED_PURPOSE_ALL "<Alle>"
    IDS_ALLOWED_PURPOSE_NONE "<Ingen>"
    IDS_WARN_REMOVE_MY "Du vil ikke lenger ha mulighet til å dekryptere meldinger med dette sertifikatet, eller til å signere med det.\nEr du sikker på at du vil fjerne dette sertifikatet?"
    IDS_WARN_REMOVE_PLURAL_MY "Du vil ikke lenger ha mulighet til å dekryptere meldinger med disse sertifikatene, eller til å signere med dem.\nEr du sikker på at du vil fjerne disse sertifikatene?"
    IDS_WARN_REMOVE_ADDRESSBOOK "Du vil ikke lenger ha mulighet til å kryptere meldinger med dette sertifikatet, eller til å kontrollere meldinger som er signert med det.\nEr du sikker på at du vil fjerne dette sertifikatet?"
    IDS_WARN_REMOVE_PLURAL_ADDRESSBOOK "Du vil ikke lenger ha mulighet til å kryptere meldinger med disse sertifikatene, eller til å kontrollere meldinger som er signert med dem.\nEr du sikker på at du vil fjerne disse sertifikatene?"
    IDS_WARN_REMOVE_CA "Sertifikater utstedt av denne sertifiseringsenheten vil ikke lenger være tiltrodd.\nEr du sikker på at du vil fjerne dette sertifikatet?"
    IDS_WARN_REMOVE_PLURAL_CA "Sertifikater utstedt av disse sertifiseringsenhetene vil ikke lenger være tiltrodde.\nEr du sikker på at du vil fjerne disse sertifikatene?"
    IDS_WARN_REMOVE_ROOT "Sertifikater utstedt av denne rotsertifikatenheten, eller underenheter av denne, vil ikke lenger være tiltrodd.\nEr du sikker på at du vil fjerne dette rotsertifikatet?"
    IDS_WARN_REMOVE_PLURAL_ROOT "Sertifikater utstedt av disse rotsertifikatenhetene, eller underenheter av disse, vil ikke lenger være tiltrodde.\nEr du sikker på at du vil fjerne disse rotsertifikatene?"
    IDS_WARN_REMOVE_TRUSTEDPUBLISHER "Programvare signert av denne utgiveren vil ikke lenger være tiltrodd.\nEr du sikker på at du vil fjerne dette sertifikatet?"
    IDS_WARN_REMOVE_PLURAL_TRUSTEDPUBLISHER "Programvare signert av disse utgiverne vil ikke lenger være tiltrodd.\nEr du sikker på at du vil fjerne disse sertifikatene?"
    IDS_WARN_REMOVE_DEFAULT "Er du sikker på at du vil fjerne dette sertifikatet?"
    IDS_WARN_REMOVE_PLURAL_DEFAULT "Er du sikker på at du vil fjerne disse sertifikatene?"
    IDS_CERT_MGR "Sertifikater"
    IDS_FRIENDLY_NAME_NONE "<Ingen>"
    IDS_PURPOSE_SERVER_AUTH "Kontrollerer identiteten til en ekstern datamaskin"
    IDS_PURPOSE_CLIENT_AUTH "Bekrefter din identitet overfor en ekstern datamaskin"
    IDS_PURPOSE_CODE_SIGNING "Forsikrer at programvare kommer fra den originale utgiveren\nBeskytter programvare mot endringer"
    IDS_PURPOSE_EMAIL_PROTECTION "Beskytter e-postmeldinger"
    IDS_PURPOSE_IPSEC "Muliggjør sikker kommunikasjon over Internett"
    IDS_PURPOSE_TIMESTAMP_SIGNING "Gjør det mulig å signere data med klokkeslett"
    IDS_PURPOSE_CTL_USAGE_SIGNING "Gjør det mulig å signere en liste over tiltrodde sertifikater digitalt"
    IDS_PURPOSE_EFS "Gjør det mulig å kryptere data på disken"
    IDS_PURPOSE_EFS_RECOVERY "Filgjenoppretting"
    IDS_PURPOSE_WHQL "Kontroll av maskinvaredrivere for Windows"
    IDS_PURPOSE_NT5 "Kontroll av systemkomponenter for Windows"
    IDS_PURPOSE_OEM_WHQL "Kontroll av Windows-komponenter fra PC-leverandører"
    IDS_PURPOSE_EMBEDDED_NT "Kontroll av innebygde Windows-komponenter"
    IDS_PURPOSE_ROOT_LIST_SIGNER "Rotsignerer for lister"
    IDS_PURPOSE_QUALIFIED_SUBORDINATION "Kvalifisert underenhet"
    IDS_PURPOSE_KEY_RECOVERY "Gjenoppretting av nøkler"
    IDS_PURPOSE_DOCUMENT_SIGNING "Dokumentsignering"
    IDS_PURPOSE_LIFETIME_SIGNING "Livstidssignering"
    IDS_PURPOSE_DRM "Kontroll av opphavsrett"
    IDS_PURPOSE_LICENSES "Lisenser for nøkkelpakker"
    IDS_PURPOSE_LICENSE_SERVER "Kontroll av lisenstjener"
    IDS_PURPOSE_ENROLLMENT_AGENT "Agent for sertifikatforespørsler"
    IDS_PURPOSE_SMARTCARD_LOGON "Smart Card-pålogging"
    IDS_PURPOSE_CA_EXCHANGE "Arkivering av private nøkler"
    IDS_PURPOSE_KEY_RECOVERY_AGENT "Agent for gjenoppretting av nøkler"
    IDS_PURPOSE_DS_EMAIL_REPLICATION "Kopiering av e-post fra katalogtjenester"
    IDS_EXPORT_WIZARD "Veiviser for eksport av sertifikater"
    IDS_EXPORT_FORMAT_TITLE "Eksportformat"
    IDS_EXPORT_FORMAT_SUBTITLE "Velg formatet du vil lagre innholdet i."
    IDS_EXPORT_FILE_TITLE "Filnavn"
    IDS_EXPORT_FILE_SUBTITLE "Angi navnet på filen som innholdet skal lagres i."
    IDS_EXPORT_FILE_EXISTS "Filen finnes fra før. Vil du erstatte den?"
    IDS_EXPORT_FILTER_CERT "DER-kodet binær X.509 (*.cer)"
    IDS_EXPORT_FILTER_BASE64_CERT "Base64-kodet X.509 (*.cer)"
    IDS_EXPORT_FILTER_CRL "Liste over tilbakekalte sertifikater (*.crl)"
    IDS_EXPORT_FILTER_CTL "Liste over tiltrodde sertifikater (*.stl)"
    IDS_EXPORT_FILTER_CMS "CMS/PKCS #7 meldinger (*.p7b)"
    IDS_EXPORT_FILTER_PFX "Personlig informasjonsutveksling (*.pfx)"
    IDS_EXPORT_FILTER_SERIALIZED_CERT_STORE "Serialized Certificate Store (*.sst)"
    IDS_EXPORT_FORMAT "Filformat"
    IDS_EXPORT_INCLUDE_CHAIN "Ta med alle sertifikater i sertifikatstien"
    IDS_EXPORT_KEYS "Eksportér nøkler"
    IDS_YES "Ja"
    IDS_NO "Nei"
    IDS_EXPORT_SUCCEEDED "Eksporteringen var vellykket."
    IDS_EXPORT_FAILED "Eksporteringen mislyktes."
    IDS_EXPORT_PRIVATE_KEY_TITLE "Eksportér privat nøkkel"
    IDS_EXPORT_PRIVATE_KEY_SUBTITLE "Sertifikatet inneholder en privat nøkkel som kan bli eksportert sammen med sertifikatet."
    IDS_EXPORT_PASSWORD_TITLE "Angi passord"
    IDS_EXPORT_PASSWORD_SUBTITLE "Du kan passordbeskytte en privat nøkkel."
    IDS_EXPORT_PASSWORD_MISMATCH "Passordene er ikke like."
    IDS_EXPORT_PRIVATE_KEY_UNAVAILABLE "Merk: Klarte ikke åpne den private nøkkelen for dette sertifikatet."
    IDS_EXPORT_PRIVATE_KEY_NON_EXPORTABLE "Merk: Den private nøkkelen for dette sertifikatet kan ikke eksporteres."
}

IDD_GENERAL DIALOG 0, 0, 255, 236
CAPTION "Generelt"
STYLE WS_VISIBLE
FONT 8, "MS Shell Dlg"
BEGIN
  CONTROL "", -1, "Static", WS_BORDER|SS_WHITERECT, 6,10,241,200
  CONTROL "", IDC_CERTIFICATE_ICON,"RichEdit20W",
    ES_READONLY|WS_DISABLED,8,11,26,26
  CONTROL "", IDC_CERTIFICATE_INFO,"RichEdit20W",
    ES_READONLY|WS_DISABLED,34,11,212,26
  CONTROL "", -1, "Static", SS_BLACKFRAME, 16,37,222,1
  CONTROL "", IDC_CERTIFICATE_STATUS,"RichEdit20W",
    ES_READONLY|ES_MULTILINE,8,38,238,78
  CONTROL "", -1, "Static", SS_BLACKFRAME, 16,116,222,1
  CONTROL "", IDC_CERTIFICATE_NAMES,"RichEdit20W",
    ES_READONLY|ES_MULTILINE|WS_DISABLED,8,118,238,90
  PUSHBUTTON "&Installer sertifikat...", IDC_ADDTOSTORE,103,216,70,14
  PUSHBUTTON "Info fra ut&steder", IDC_ISSUERSTATEMENT,177,216,70,14
END

IDD_DETAIL DIALOG 0, 0, 255, 236
CAPTION "Detaljer"
STYLE WS_VISIBLE
FONT 8, "MS Shell Dlg"
BEGIN
  LTEXT "Vi&s:", -1, 6,12,40,14
  COMBOBOX IDC_DETAIL_SELECT, 28,10,100,14,
    CBS_DROPDOWNLIST|WS_BORDER|WS_VSCROLL|WS_TABSTOP
  CONTROL "", IDC_DETAIL_LIST, "SysListView32",
    LVS_REPORT|LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER,
    6,28,241,100
  CONTROL "", IDC_DETAIL_VALUE, "RichEdit20W",
    ES_READONLY|ES_MULTILINE|WS_TABSTOP, 6,136,241,70
  PUSHBUTTON "R&ediger egenskaper...", IDC_EDITPROPERTIES,103,216,70,14
  PUSHBUTTON "&Kopier til fil...", IDC_EXPORT,177,216,70,14
END

IDD_HIERARCHY DIALOG 0, 0, 255, 236
CAPTION "Sertifiseringssti"
STYLE WS_VISIBLE
FONT 8, "MS Shell Dlg"
BEGIN
  GROUPBOX "Sertifiseringsst&i", -1,6,10,245,165, BS_GROUPBOX
  CONTROL "",IDC_CERTPATH, "SysTreeView32", TVS_HASLINES|WS_BORDER,
    13,22,231,130
  PUSHBUTTON "&Vis sertifikat", IDC_VIEWCERTIFICATE,175,156,70,14
  LTEXT "Sertifikatstatu&s:", IDC_CERTIFICATESTATUS,6,183,70,14
  CONTROL "", IDC_CERTIFICATESTATUSTEXT,"RichEdit20W",
    WS_BORDER|ES_READONLY|ES_MULTILINE|WS_DISABLED,6,195,245,36
END

IDD_USERNOTICE DIALOG 0, 0, 255, 256
CAPTION "Ansvarsfraskrivelse"
STYLE WS_VISIBLE
FONT 8, "MS Shell Dlg"
BEGIN
  CONTROL "", IDC_USERNOTICE,"RichEdit20W",
    WS_BORDER|ES_READONLY|ES_MULTILINE|WS_DISABLED,6,10,241,200
  PUSHBUTTON "Lukk", IDOK,103,216,70,14
  PUSHBUTTON "Mer &info", IDC_CPS,177,216,70,14
END

IDD_CERT_PROPERTIES_GENERAL DIALOG 0, 0, 255, 236
CAPTION "Generelt"
STYLE WS_VISIBLE
FONT 8, "MS Shell Dlg"
BEGIN
  LTEXT "&Vennlig navn:", -1, 6,14,60,14
  EDITTEXT IDC_FRIENDLY_NAME, 60,12,191,14, ES_AUTOHSCROLL|WS_TABSTOP
  LTEXT "&Beskrivelse:", -1, 6,32,60,14
  EDITTEXT IDC_DESCRIPTION, 60,30,191,14, ES_AUTOVSCROLL|ES_MULTILINE|WS_TABSTOP|WS_VSCROLL
  GROUPBOX "Sertifikatformål", -1,6,48,245,165, BS_GROUPBOX
  AUTORADIOBUTTON "Bruk sertifikat&et til alle mulige formål",
    IDC_ENABLE_ALL_PURPOSES, 12,58,180,14, BS_AUTORADIOBUTTON|WS_TABSTOP
  AUTORADIOBUTTON "Ikke bruk dette sertifikatet til noen formål",
    IDC_DISABLE_ALL_PURPOSES, 12,70,180,14, BS_AUTORADIOBUTTON
  AUTORADIOBUTTON "Bruk sertifikatet kun til følgende f&ormål:",
    IDC_ENABLE_SELECTED_PURPOSES, 12,82,180,14, BS_AUTORADIOBUTTON
  CONTROL "", IDC_CERTIFICATE_USAGES,"SysListView32",
    LVS_REPORT|LVS_NOCOLUMNHEADER|LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER,
    24,100,220,90
  PUSHBUTTON "Legg til &formål...", IDC_ADD_PURPOSE,184,194,60,14
END

IDD_ADD_CERT_PURPOSE DIALOG 0,0,200,68
CAPTION "Legg til formål"
FONT 8, "MS Shell Dlg"
BEGIN
  LTEXT "Skriv inn identifiseringskoden (OID'en) for formålet du vil legge til:",
    -1, 6,6,190,28
  EDITTEXT IDC_NEW_PURPOSE, 6,28,190,14, ES_AUTOVSCROLL|ES_MULTILINE|WS_TABSTOP|WS_VSCROLL
  PUSHBUTTON "OK", IDOK, 33,48,60,14
  PUSHBUTTON "Avbryt", IDCANCEL, 100,48,60,14
END

IDD_SELECT_STORE DIALOG 0,0,200,136
CAPTION "Velg sertifikatlager"
FONT 8, "MS Shell Dlg"
BEGIN
  LTEXT "Velg sertifikatlageret du vil bruke:", IDC_STORE_TEXT, 6,6,190,28
  CONTROL "",IDC_STORE_LIST, "SysTreeView32", TVS_HASLINES|WS_BORDER|WS_TABSTOP,
    6,28,188,70
  CHECKBOX "Vi&s fysiske lagre", IDC_SHOW_PHYSICAL_STORES, 6,102,90,14,
    BS_AUTOCHECKBOX|WS_TABSTOP
  PUSHBUTTON "OK", IDOK, 90,118,50,14, BS_DEFPUSHBUTTON
  PUSHBUTTON "Avbryt", IDCANCEL, 144,118,50,14
END

IDD_IMPORT_WELCOME DIALOG 0,0,317,143
CAPTION "Veiviser for import av sertifikater"
FONT 8, "MS Shell Dlg"
BEGIN
  LTEXT "Velkommen til veiviseren for import av sertifikater", IDC_IMPORT_TITLE,
    115,7,195,12
  LTEXT "Denne veiviseren hjelper deg å importere sertifikater og lister over tiltrodde eller tilbakekalte sertifikater fra en fil til et sertifikatlager.",
    -1, 115,26,195,25
  LTEXT "Et sertifikat kan brukes til å identifisere deg eller datamaskinen du kommuniserer med. Det kan også brukes til signering av meldinger eller andre former for godkjenning. Sertifikatlagre er samlinger av sertifikater og lister over tiltrodde eller tilbakekalte sertifikater.",
    -1, 115,56,195,40
  LTEXT "Trykk «Neste» for å fortsette.",
    -1, 115,103,195,8
END

IDD_IMPORT_FILE DIALOG 0,0,317,178
CAPTION "Veiviser for import av sertifikater"
FONT 8, "MS Shell Dlg"
BEGIN
  LTEXT "&Filnavn:", -1, 21,1,195,10
  EDITTEXT IDC_IMPORT_FILENAME, 21,11,208,14, ES_AUTOHSCROLL|WS_TABSTOP
  PUSHBUTTON "Bla...", IDC_IMPORT_BROWSE_FILE, 236,11,60,14
  LTEXT "Merk:  Følgende filformater kan inneholde mer enn ett sertifikat eller liste over tiltrodde eller tilbakekalte sertifikater:",
    -1, 21,26,265,16
  LTEXT "Standardformat for kryptografiske meldinger/PKCS #7 Messages (.p7b)",
    -1, 31,49,265,10
  LTEXT "Personlig informasjonsutveksling/PKCS #12 (.pfx, .p12)",
    -1, 31,64,265,10
  LTEXT "Microsoft Serialized Certificate Store (.sst)",
    -1, 31,79,265,10
END

IDD_IMPORT_STORE DIALOG 0,0,317,143
CAPTION "Veiviser for import av sertifikater"
FONT 8, "MS Shell Dlg"
BEGIN
  LTEXT "Wine kan velge sertifikatlageret automatisk, eller du kan oppgi en plassering for sertifikatene selv.",
    -1, 21,1,195,20
  AUTORADIOBUTTON "Velg sertifikatlager &automatisk",
    IDC_IMPORT_AUTO_STORE, 31,18,180,12, BS_AUTORADIOBUTTON|WS_TABSTOP
  AUTORADIOBUTTON "&Plasser aller sertifikatene i følgende lager:",
    IDC_IMPORT_SPECIFY_STORE, 31,30,180,12, BS_AUTORADIOBUTTON
  EDITTEXT IDC_IMPORT_STORE, 44,49,185,14, ES_READONLY
  PUSHBUTTON "&Bla...", IDC_IMPORT_BROWSE_STORE, 236,49,60,14
END

IDD_IMPORT_FINISH DIALOG 0,0,317,178
CAPTION "Veiviser for import av sertifikater"
FONT 8, "MS Shell Dlg"
BEGIN
  LTEXT "Fullføring av veiviseren for import av sertifikater", IDC_IMPORT_TITLE,
    115,1,195,40
  LTEXT "Veiviseren for import av sertifikater er fullført; operasjonene var vellykket.",
    -1, 115,33,195,24
  LTEXT "Følgende innstillinger ble valgt:",
    -1, 115,57,195,12
  CONTROL "", IDC_IMPORT_SETTINGS, "SysListView32",
    LVS_REPORT|LVS_NOCOLUMNHEADER|LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER,
    115,67,174,100
END

IDD_CERT_MGR DIALOG 0,0,335,270
CAPTION "Sertifikater"
FONT 8, "MS Shell Dlg"
BEGIN
  LTEXT "Tilte&nkt formål:", -1, 7,9,100,12
  COMBOBOX IDC_MGR_PURPOSE_SELECTION, 83,7,245,14,
    CBS_DROPDOWNLIST|WS_BORDER|WS_VSCROLL|WS_TABSTOP
  CONTROL "", IDC_MGR_STORES, "SysTabControl32",
    WS_CLIPSIBLINGS|WS_TABSTOP, 7,25,321,140
  CONTROL "", IDC_MGR_CERTS, "SysListView32",
    LVS_REPORT|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER, 15,46,305,111
  PUSHBUTTON "&Importér...", IDC_MGR_IMPORT, 7,172,51,14
  PUSHBUTTON "&Eksportér...", IDC_MGR_EXPORT, 62,172,51,14, WS_DISABLED
  PUSHBUTTON "Fje&rn", IDC_MGR_REMOVE, 117,172,51,14, WS_DISABLED
  PUSHBUTTON "&Avansert...", IDC_MGR_ADVANCED, 277,172,51,14
  GROUPBOX "Sertifikatets tiltenkte formål", -1,7,194,321,47, BS_GROUPBOX
  LTEXT "", IDC_MGR_PURPOSES, 13,208,252,30
  PUSHBUTTON "&Vis...", IDC_MGR_VIEW, 269,218,51,14, WS_DISABLED
  PUSHBUTTON "&Lukk", IDCANCEL, 277,249,51,14, BS_DEFPUSHBUTTON
END

IDD_CERT_MGR_ADVANCED DIALOG 0,0,248,176
CAPTION "Avanserte innstillinger"
FONT 8, "MS Shell Dlg"
BEGIN
  GROUPBOX "Sertifikatformål", -1, 7,7,234,141, BS_GROUPBOX
  LTEXT "Velg ett eller flere formål som skal vises når avanserte formål er valgt.",
    -1, 14,18,220,16
  LTEXT "&Sertifikatformål:", -1, 14,41,90,12, WS_TABSTOP
  CONTROL "", IDC_CERTIFICATE_USAGES,"SysListView32",
    LVS_REPORT|LVS_NOCOLUMNHEADER|LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER,
    14,51,220,90
  PUSHBUTTON "OK", IDOK, 132,155,51,14, BS_DEFPUSHBUTTON
  PUSHBUTTON "Avbryt", IDCANCEL, 190,155,51,14
END

IDD_EXPORT_WELCOME DIALOG 0,0,317,143
CAPTION "Veiviser for eksport av sertifikater"
FONT 8, "MS Shell Dlg"
BEGIN
  LTEXT "Velkommen til veiviseren for eksport av sertifikater", IDC_EXPORT_TITLE,
    115,7,195,12
  LTEXT "Denne veiviseren hjelper deg med å eksportere sertifikater og lister over tiltrodde eller tilbakekalte sertifikater fra et sertifikatlager til en fil.",
    -1, 115,26,195,25
  LTEXT "Et sertifikat kan brukes til å identifisere deg eller datamaskinen du kommuniserer med. Det kan også brukes til signering av meldinger eller andre former for godkjenning. Sertifikatlagre er samlinger av sertifikater og lister over tiltrodde eller tilbakekalte sertifikater.",
    -1, 115,56,195,40
  LTEXT "Trykk «Neste» for å fortsette.",
    -1, 115,103,195,8
END

IDD_EXPORT_PRIVATE_KEY DIALOG 0,0,317,143
CAPTION "Veiviser for eksport av sertifikater"
FONT 8, "MS Shell Dlg"
BEGIN
  LTEXT "Hvis du velger å eksportere den private nøkkelen vil du bli bedt om å velge et passord seinere, slik at du kan beskytte nøkkelen.", -1, 21,1,195,25
  LTEXT "Vil du eksportere den private nøkkelen?", -1, 21,27,195,10
  AUTORADIOBUTTON "&Ja, eksportér den private nøkkelen",
    IDC_EXPORT_PRIVATE_KEY_YES, 31,36,200,12, BS_AUTORADIOBUTTON|WS_TABSTOP
  AUTORADIOBUTTON "&Nei, ikke eksportér den private nøkkelen",
    IDC_EXPORT_PRIVATE_KEY_NO, 31,48,200,12, BS_AUTORADIOBUTTON
  LTEXT "", IDC_EXPORT_PRIVATE_KEY_UNAVAILABLE, 21,60,200,24
END

IDD_EXPORT_PASSWORD DIALOG 0,0,317,143
CAPTION "Veiviser for eksport av sertifikater"
FONT 8, "MS Shell Dlg"
BEGIN
  LTEXT "&Passord:", -1, 21,1,195,10
  EDITTEXT IDC_EXPORT_PASSWORD, 21,11,208,14, ES_AUTOHSCROLL|WS_TABSTOP
  LTEXT "&Bekreft passord:", -1, 21,35,195,10
  EDITTEXT IDC_EXPORT_PASSWORD_CONFIRM, 21,45,208,14, ES_AUTOHSCROLL|WS_TABSTOP
END

IDD_EXPORT_FORMAT DIALOG 0,0,317,143
CAPTION "Veiviser for eksport av sertifikater"
FONT 8, "MS Shell Dlg"
BEGIN
  LTEXT "Velg formatet du ønsker å bruke:", -1, 21,1,195,10
  AUTORADIOBUTTON "&DER-kodet X.509 (.cer)",
    IDC_EXPORT_FORMAT_DER, 31,18,240,12, BS_AUTORADIOBUTTON|WS_TABSTOP
  AUTORADIOBUTTON "Ba&se64-kodet X.509 (.cer):",
    IDC_EXPORT_FORMAT_BASE64, 31,30,240,12, BS_AUTORADIOBUTTON
  AUTORADIOBUTTON "Standardformat for &kryptografiske meldinger/PKCS #7 Message (.p7b)",
    IDC_EXPORT_FORMAT_CMS, 31,42,240,12, BS_AUTORADIOBUTTON
  CHECKBOX "Ta med alle sertifikater &i sertifikatstien, hvis mulig",
    IDC_EXPORT_CMS_INCLUDE_CHAIN, 44,57,240,8, BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED
  AUTORADIOBUTTON "&Personlig informasjonsutveksling/PKCS #12 (.pfx)",
    IDC_EXPORT_FORMAT_PFX, 31,72,240,12, BS_AUTORADIOBUTTON|WS_DISABLED
  CHECKBOX "Ta med aller sertifikater i sertifikatstien, hvis m&ulig",
    IDC_EXPORT_PFX_INCLUDE_CHAIN, 44,87,240,8, BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED
  CHECKBOX "Bruk st&erk kryptering",
    IDC_EXPORT_PFX_STRONG_ENCRYPTION, 44,102,240,8,
    BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED
  CHECKBOX "Slett den private nø&kkelen hvis eksporten er vellykket",
    IDC_EXPORT_PFX_DELETE_PRIVATE_KEY, 44,117,240,8,
    BS_AUTOCHECKBOX|WS_TABSTOP|WS_DISABLED
END

IDD_EXPORT_FILE DIALOG 0,0,317,143
CAPTION "Veiviser for eksport av sertifikater"
FONT 8, "MS Shell Dlg"
BEGIN
  LTEXT "&Filnavn:", -1, 21,1,195,10
  EDITTEXT IDC_EXPORT_FILENAME, 21,11,208,14, ES_AUTOHSCROLL|WS_TABSTOP
  PUSHBUTTON "&Bla...", IDC_EXPORT_BROWSE_FILE, 236,11,60,14
END

IDD_EXPORT_FINISH DIALOG 0,0,317,178
CAPTION "Veiviser for eksport av sertifikater"
FONT 8, "MS Shell Dlg"
BEGIN
  LTEXT "Fullføring av veiviseren for eksport av sertifikater", IDC_EXPORT_TITLE,
    115,1,195,40
  LTEXT "Veiviseren for eksport av sertifikater er fullført; operasjonene var vellykket.",
    -1, 115,33,195,24
  LTEXT "Følgende innstillinger ble valgt:",
    -1, 115,57,195,12
  CONTROL "", IDC_EXPORT_SETTINGS, "SysListView32",
    LVS_REPORT|LVS_NOCOLUMNHEADER|LVS_SINGLESEL|WS_CHILD|WS_VISIBLE|WS_TABSTOP|WS_BORDER,
    115,67,174,100
END
