#-------------------------------------------------------------------------------
# Copyright (c) 2005, 2006 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

# Publish Method Configuration Wizard
publishConfigWizard_title=Public\u00e9r metodekonfiguration
publishConfigWizard_selectConfigPage_title=V\u00e6lg metodekonfiguration
publishConfigWizard_selectConfigPage_text=V\u00e6lg den metodekonfiguration, du vil publicere.
publishConfigWizard_selectOptionsPage_title=Angiv publiceringsindstillinger
publishConfigWizard_selectOptionsPage_text=Angiv destinationsbibliotek og publiceringsindstillinger.
publishConfigWizard_methodConfig_text=Metodekonfiguration:
publishConfigWizard_destinationGroup_text=Destinationsbibliotek
publishConfigWizard_directory_text=Sti:
publishConfigWizard_useDefaultPath_text=Brug standardsti
publishConfigWizard_webSite_text=Publiceret websted
publishConfigWizard_title_text=Titel:
publishConfigWizard_bannerImage_text=Bannerbillede:
publishConfigWizard_aboutHTML_text=Om indhold:
publishConfigWizard_feedbackURL_text=Tilbagemeldings-URL:
publishConfigWizard_includeIndex_text=Public\u00e9r indeksside
publishConfigWizard_includeGlossary_text=Public\u00e9r ordlisteside
publishConfigWizard_includeSearch_text=Inklud\u00e9r s\u00f8gefunktion (kr\u00e6ver st\u00f8tte til Java-miniprogram i browser)
publishConfigWizard_useApplet_text=Underst\u00f8t oversigtstilpasning (kr\u00e6ver st\u00f8tte til Java-miniprogram i browser)
publishConfigWizard_validationGroup_text=Validering
publishConfigWizard_checkHyperlinks_text=Kontroll\u00e9r eksterne hyperlink
publishConfigWizard_diagramGroup_text=Diagrammer
publishConfigWizard_publish_unopen_activity_dd_text=Public\u00e9r aktivitetsoplysningsdiagrammer, som ikke er oprettet i proceseditoren
publishConfigWizard_publish_extend_activity_diagram=Public\u00e9r aktivitetsdiagrammer for u\u00e6ndrede aktivitetsudvidelser
publishConfigWizard_convertBrokenLinks_text=Konvert\u00e9r brudte link til almindelig tekst
publishConfigWizard_layout_text=Layout
publishConfigWizard_extraDescriptorInfo_text=Public\u00e9r deskriptorer med hele indholdet af det relaterede metodeindholdselement
publishConfigWizard_lightWeightTree_text=Gener\u00e9r undertr\u00e6struktur for opgave-, rolle-, arbejdsprodukt- og disciplinelementer uden foldere
publishConfigWizard_includeEmptyCategories_text=Public\u00e9r kategorier uden kategoriserede elementer

# publish process wizard page
PublishConfigSelectProcessPage_title=V\u00e6lg publiceringstype
PublishConfigSelectProcessPage_text=Du kan enten publicere den valgte konfiguration eller de angivne processer i konfigurationen
PublishConfigSelectProcessPage_label_capability_pattern=Funktionsm\u00f8nstre
PublishConfigSelectProcessPage_label_delivery_process=Leveringsprocesser
PublishConfigSelectProcessPage_label_selectType=V\u00e6lg publiceringstype
PublishConfigSelectProcessPage_label_type_processes=Public\u00e9r de nedenfor valgte processer:
PublishConfigSelectProcessPage_label_type_config=Public\u00e9r den valgte konfiguration
PublishConfigSelectProcessPage_label_publish_base_processes=Public\u00e9r refererede basisprocesser

# Publishing Preference Page
preferencePage_defaultPath_text=Standardsti:

# Confirmation Dialogs
publishConfigDialog_title=Public\u00e9r metodekonfiguration
confirmPathDialog_text=Destinationsstien er opl\u00f8st til ''{0}''. Vil du forts\u00e6tte?
overwriteDialog_text=Destinationsstien ''{0}'' findes allerede. Alle filer i folderen bliver slettet. Vil du forts\u00e6tte?
cancelPublishConfig_msg=Publiceringen er annulleret.

# Error Dialogs
previewConfigError_title=Vis resultat af publiceret metodekonfiguration
viewReportError_title=Vis publiceringsrapport

# Error Messages
missingViewError_msg=IUPP0100W: Den valgte konfiguration indeholder ikke en gyldig oversigt. Redig\u00e9r konfigurationen, og tilf\u00f8j en oversigt, eller v\u00e6lg en anden konfiguration.
cannotPublishError_msg=IUPP0101E: Den valgte konfiguration kan ikke publiceres.
invalidPathError_msg=IUPP0102E: Destinationsstien er tom eller ugyldig.
invalidPathCharsError_msg=IUPP0103E: Destinationsstien m\u00e5 ikke indeholde f\u00f8lgende tegn: \\ # * ? " < > | ! % /
publishConfigError_msg=IUPP0104E: Den valgte konfiguration er ikke publiceret.
previewConfigError_msg=IUPP0105E: Kan ikke \u00e5bne en HTML-browser for at vise resultatet af den publicerede konfiguration.
viewReportError_msg=IUPP0106E: Kan ikke \u00e5bne en HTML-browser for at vise publiceringsrapporten.

# Error Reasons & Recommended Actions
publishConfigError_reason=IUPP0107E: Der er opst\u00e5et en fejl. Klik p\u00e5 Oplysninger for at f\u00e5 flere oplysninger.
deleteFilesError_reason=Destinationsstien ''{0}'' indeholder filer, som ikke kan slettes.\n\nLuk denne dialog, og angiv en anden sti.
createDirError_reason=Destinationsstien ''{0}'' kan ikke oprettes.\n\nLuk denne dialog, og angiv en anden sti.
openBrowserError_reason=Kan ikke finde standard-HTML-browseren p\u00e5 dette system.\n\nLuk denne dialog, og \u00e5bn filen ''{0}'' manuelt med en HTML-browser.
