#-------------------------------------------------------------------------------
# Copyright (c) 2000, 2007 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
# IBM Corporation - initial implementation.
#-------------------------------------------------------------------------------
# NLS_MESSAGEFORMAT_VAR

# Method Element Names (Singular)
activity_text=Aktivitet
artifact_text=Artefakt
capabilityPattern_text=Funktionsm\u00f8nster
checklist_text=Tjekliste
checkItem_text=Kontrolelement
compositeRole_text=Sammensat rolle
concept_text=Begreb
contentPackage_text=Indholdspakke
customCategory_text=Tilpasset kategori
deliverable_text=Leverance
deliveryProcess_text=Leveringsproces
descriptor_text=Deskriptor
discipline_text=Disciplin
disciplineGrouping_text=Disciplingruppering
domain_text=Dom\u00e6ne
estimate_text=Estimat
estimatingMetric_text=Estimeringsm\u00e5lesystem
estimationConsiderations_text=Estimeringsovervejelser
example_text=Eksempel
guidance_text=Vejledning
guideline_text=Retningslinje
iteration_text=Gentagelse
methodConfiguration_text=Metodekonfiguration
methodContent_text=Metodeindhold
methodLibrary_text=Metodebibliotek
methodPackage_text=Metodepakke
methodPlugin_text=Metode-plugin
milestone_text=Milep\u00e6l
outcome_text=Resultat
phase_text=Fase
practice_text=Fremgangsm\u00e5de
process_text=Proces
processContribution_text=Forskelsproces
processFamily_text=Procesfamilie
processPackage_text=Procespakke
report_text=Rapport
reusableAsset_text=Genanvendeligt aktiv
roadmap_text=Vejviser
roleDescriptor_text=Rolledeskriptor
role_text=Rolle
roleSet_text=Rolles\u00e6t
roleSetGrouping_text=Rolles\u00e6tsgruppering
standardCategory_text=Standardkategori
step_text=Trin
supportingMaterial_text=St\u00f8ttemateriale
task_text=Opgave
taskDescriptor_text=Opgavedeskriptor
teamProfile_text=Teamprofil
template_text=Skabelon
termDefinition_text=Termdefinition
tool_text=V\u00e6rkt\u00f8j
toolMentor_text=V\u00e6rkt\u00f8jsmentor
whitepaper_text=Hvidbog
workProduct_text=Arbejdsprodukt
workProductDescriptor_text=Arbejdsproduktdeskriptor
workProductElement_text=Arbejdsproduktelement
workProductType_text=Arbejdsprodukttype

# Method Element Names (Plural)
activity_text_plural=Aktiviteter
artifact_text_plural=Artefakter
capabilityPattern_text_plural=Funktionsm\u00f8nstre
checklist_text_plural=Tjeklister
checkItem_text_plural=Kontrolelementer
compositeRole_text_plural=Sammensatte roller
concept_text_plural=Begreber
contentPackage_text_plural=Indholdspakker
customCategory_text_plural=Tilpassede kategorier
deliverable_text_plural=Leverancer
deliveryProcess_text_plural=Leveringsprocesser
descriptor_text_plural=Deskriptorer
discipline_text_plural=Discipliner
disciplineGrouping_text_plural=Disciplingruppering
domain_text_plural=Dom\u00e6ner
estimate_text_plural=Estimater
estimatingMetric_text_plural=Estimeringsm\u00e5lesystemer
estimationConsiderations_text_plural=Estimeringsovervejelser
example_text_plural=Eksempler
guidance_text_plural=Vejledninger
guideline_text_plural=Retningslinjer
iteration_text_plural=Gentagelser
methodConfiguration_text_plural=Metodekonfigurationer
methodContent_text_plural=Metodeindhold
methodLibrary_text_plural=Metodebiblioteker
methodPackage_text_plural=Metodepakker
methodPlugin_text_plural=Metode-plugins
milestone_text_plural=Milep\u00e6le
outcome_text_plural=Resultater
phase_text_plural=Faser
practice_text_plural=Fremgangsm\u00e5der
process_text_plural=Processer
processContribution_text_plural=Forskelsprocesser
processFamily_text_plural=Procesfamilier
processPackage_text_plural=Procespakker
report_text_plural=Rapporter
reusableAsset_text_plural=Genanvendelige aktiver
roadmap_text_plural=Vejvisere
roleDescriptor_text_plural=Rolledeskriptorer
role_text_plural=Roller
roleSet_text_plural=Rolles\u00e6t
roleSetGrouping_text_plural=Rolles\u00e6tsgrupperinger
standardCategory_text_plural=Standardkategorier
step_text_plural=Trin
supportingMaterial_text_plural=St\u00f8ttemateriale
task_text_plural=Opgaver
taskDescriptor_text_plural=Opgavedeskriptorer
teamProfile_text_plural=Teamprofiler
template_text_plural=Skabeloner
termDefinition_text_plural=Udtryksdefinitioner
tool_text_plural=V\u00e6rkt\u00f8jer
toolMentor_text_plural=V\u00e6rkt\u00f8jsmentorer
whitepaper_text_plural=Hvidb\u00f8ger
workProduct_text_plural=Arbejdsprodukter
workProductDescriptor_text_plural=Arbejdsproduktdeskriptorer
workProductElement_text_plural=Arbejdsproduktelementer
workProductType_text_plural=Arbejdsprodukttyper

# Application title.
application_title={0} - {1}

# Open Method Library Wizard
openLibraryWizard_title=\u00c5bn metodebibliotek
openLibraryMainWizardPage_title=Angiv en sti, som indeholder et metodebibliotek
openLibraryMainWizardPage_title_2=V\u00e6lg et metodebibliotek
openLibraryMainWizardPage_text={0} gemmer metoder og processer i en folder, \nsom kaldes et metodebibliotek. V\u00e6lg en metodebiblioteksfolder, som du vil bruge til denne session.
pathLabel_text=Sti:
nameLabel_text=Navn:
uriLabel_text=URI:
openUnlistedLibraryCheckbox_text=\u00c5bn et metodebibliotek, som ikke er vist ovenfor
libraryTypeLabel_text=Type:
libraryLabel_text=Bibliotek:
browseButton_text=Gennemse...
promptForLibraryCheckbox_text=Brug dette som standard, og sp\u00f8rg ikke igen.
openLibraryDialog_newLibrary_text=Der er ikke noget metodebibliotek i ''{0}''.\nDer oprettes og \u00e5bnes et nyt metodebibliotek i det angivne bibliotek.\n\nKlik p\u00e5 OK for at forts\u00e6tte eller Annull\u00e9r for at angive en anden sti til metodebiblioteket.

# Select Method Library Folder Dialog
selectLibraryFolderDialog_title=V\u00e6lg metodebibliotek
selectLibraryFolderDialog_text=V\u00e6lg en metodebiblioteksfolder.

# Open Library Progress Message
openingLibraryTask_name=\u00c5bner metodebibliotek...

# Open Method Library Error Dialog
openLibraryError_msg=IUPL0301E: Metodebiblioteket kan ikke oprettes.
openLibraryInternlError_reason=Der er opst\u00e5et en intern fejl.
openLibraryError_reason1=Den angivne metodebibliotekssti ''{0}'' er ugyldig.
openLibraryError_reason2=Der findes allerede et metodebibliotek i ''{0}''.
openLibraryError_reason3=Den angivne metodebiblioteksfolder ''{0}'' kan ikke oprettes.
openLibraryError_reason4=Den angivne metodebiblioteksfolder er en plugin eller en eksportfolder med konfigurationsspecifikation.
openLibraryError_advice=V\u00e6lg OK for at angive et andet metodebiblioteksnavn.

# Open Method Library Error Messages
invalidLibraryPath_msg=IUPL0302E: Det angivne metodebibliotek kan ikke \u00e5bnes.
invalidLibraryPath_reason=Den valgte metodebiblioteksfolder er ugyldig, eller du har ikke den rette tilladelse til at f\u00e5 adgang til den.\n\nKlik p\u00e5 OK for at v\u00e6lge en anden biblioteksfolder.

# Read-only Project File Error Dialog
readOnlyProjectFile_text=IUPL0304E: ''{0}'' er skrivebeskyttet. G\u00f8r det redig\u00e9rbart, f\u00f8r du forts\u00e6tter.
retryButton_text=Pr\u00f8v igen
cancelButton_text=Annull\u00e9r

# Version Mismatch Dialog
versionMismatchDialog_text=IUPL305E: Det valgte bibliotek kan ikke \u00e5bnes. Du skal opgradere {0} til version {1} eller nyere for at kunne \u00e5bne dette bibliotek.
versionMismatchDialog_text_unknown=IUPL306E: Det valgte bibliotek kan ikke \u00e5bnes. Du skal opgradere {0} til en nyere version for at kunne \u00e5bne dette bibliotek.

# Upgrade Method Library Dialog
upgradeLibraryDialog_title=Opgrad\u00e9r metodebibliotek
upgradeLibraryDialog_text=Det valgte bibliotek skal opgraderes til den nye biblioteksstruktur. \n\nVil du foretage denne opgradering?
upgradingLibraryTask_name=Opgraderer metodebibliotek...

# Upgrade Library Error Dialog
upgradeLibraryError_msg=IUPL0306E: Metodebiblioteket kan ikke opgraderes. Der er flere oplysninger i logfilen.

# Switch Configuration Dialog
switchConfigDialog_title=Skift konfiguration
switchConfigDialog_text=Vil du skifte den aktuelle konfiguration til standardkonfigurationen ''{0}'', som er knyttet til den valgte proces?
	
# Configuration Combo
currentConfigLabel_text=Aktuel konfiguration:
selectConfigLabel_text=V\u00e6lg en konfiguration

# Delete Files Confirmation Message
deleteFilesConfirmation_msg=Stien ''{0}'' findes allerede. Alle filer i folderen bliver slettet. Vil du forts\u00e6tte?

# Paths/Files Error Messages
deleteFilesError_reason=Stien ''{0}'' indeholder en eller flere filer, som ikke kan slettes.\n\nV\u00e6lg en anden sti, og pr\u00f8v igen.
createPathError_reason=Kan ikke oprette stien ''{0}''.\n\nV\u00e6lg en anden sti, og pr\u00f8v igen.
invalidPath_msg=Stien er ikke gyldig.
overrideCurrentLibraryError_msg0=Du kan ikke eksportere en sti, som indeholder det aktuelle metodebibliotek. V\u00e6lg en anden sti, og pr\u00f8v igen.

# Backup Library Dialog
backupLibraryDialog_title=Sikkerhedskopibibliotek
backupLibraryDialog_text=Det anbefales, at du sikkerhedskopierer det aktuelle metodebibliotek, f\u00f8r du forts\u00e6tter.\n\nKlik p\u00e5 OK for at oprette en sikkerhedskopi af biblioteket i det angivne bibliotek. Klik p\u00e5 Spring over for at forts\u00e6tte uden at sikkerhedskopiere.
backingUpLibraryTask_name=Sikkerhedskopierer biblikoteksfiler...

# Copy Library Dialog
copyLibraryDialog_title=Kopi\u00e9r bibliotek
copyLibraryDialog_text_readOnlyLib=Der er ikke skriveadgang til biblioteket. Klik p\u00e5 Kopi\u00e9r for at oprette en kopi af biblioteket i det angivne bibliotek, som ikke er skrivebeskyttet. Klik p\u00e5 Spring over for at forts\u00e6tte uden at oprette kopien.
copyLibraryTask_name=Opretter en kopi af biblioteksfilerne...
copyLibraryDialog_copyButton_text=Kopi\u00e9r

# Path Selection Dialog
pathSelectionError_msg=Kan ikke oprette bibliotek
okButton_text=OK
skipButton_text=Spring over

# Process Editor preferences
alwaysButton_text=Altid
neverButton_text=Aldrig
promptButton_text=Sp\u00f8rg

# Add Link Dialog
linkToURL_name=URL
linkToFile_name=Fil
elementLink_name=Metodeelement
elementLinkWithType_name=Metodeelement med typepr\u00e6fiks
elementLinkWithUserText_name=Metodeelement med tilpasset tekst

# Convert Activity Type Dialog
convertActivityDialog_title=Konvert\u00e9r aktivitetstype
convertActivityDialog_text=V\u00e6lg m\u00e5laktivitetstypen.
unsupportedActivityType_msg=IUPL0307E: Aktiviteten kan ikke konverteres til en anden type.
unsupportedActivityType_reason=Der er ingen kompatibel aktivitetstype for {0}.

# Select Process Wizard Page
selectProcessWizardPage_title=V\u00e6lg proces
selectProcessWizardPage_text=V\u00e6lg et funktionsm\u00f8nster eller en leveringsproces, der skal eksporteres.
processesLabel_text=Processer:
briefDescriptionLabel_text=Kort beskrivelse:

# Export Process Wizard Error Message.
noOpenLibraryWarning_msg=IUPL0308E: Der er ikke noget \u00e5bent metodebibliotek i \u00f8jeblikket. Klik p\u00e5 Annull\u00e9r, og \u00e5bn et metodebibliotek, eller opret et nyt. Udf\u00f8r derefter denne guide igen. 

# Moved from Authoring UI plug-in to avoid Authoring UI dependency
errorDialog_title=Fejl
MethodElementDeleteAction_deleteconfirm_text=Er du sikker p\u00e5, at du vil slette ''{0}''?
confirmDeleteDialog_title=Bekr\u00e6ft sletning
confirmDeleteDialog_msg=Er du sikker p\u00e5, at du vil slette ''{0}''?
confirmDeleteDialog_msgWithReference=Er du sikker p\u00e5, at du vil slette ''{0}''?\n\nF\u00f8lgende element(er) indeholder referencer til element(er), der skal slettes: {1}
ProcessDeleteAction_deletecofirm_text=Denne funktion gemmer den aktuelle editor, og \u00e6ndringen vil v\u00e6re permanent. Er du sikker p\u00e5, at du vil slette ''{0}''?

# Save Method Library Dialog
saveLibraryDialog_title=Gem metodebibliotek
saveLibraryDialog_text=Det aktuelle metodebibliotek er \u00e6ndret. Vil du gemme \u00e6ndringerne?

# Save Method Library Error Messages
saveLibraryError_msg=IUPL0308E: Metodebiblioteket kan ikke gemmes.
error_reason=Der er opst\u00e5et en fejl.\n\nKlik p\u00e5 Oplysninger for at f\u00e5 flere oplysninger.


