# NLS_ENCODING=UNICODE
#-------------------------------------------------------------------------------
# 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

# Complete new strings need translation.
previous_name_null1=Navne\u00e6ndring kan ikke fortrydes, hvis det forrige navn er tomt.
err_name_empty=Navnet skal udfyldes. Angiv et gyldigt navn.
moveAction_label=Flyt

AbstractDiagram_Select_text=V\u00e6lg
AbstractDiagram_Select_tooltip=V\u00e6lg node eller link
AbstractDiagram_AddNode_title=Tilf\u00f8j node
AbstractDiagram_AddNode_err_msg=IXRD0002W: Noden kan ikke tilf\u00f8jes til diagram
AbstractDiagram_Link_text=Link
AbstractDiagram_Link_select=V\u00e6lg link
AbstractDiagram_Link_tooltip=Opret nyt link
ActivityDiagram_StartNode_text=Startnode
ActivityDiagram_StartNode_tooltip=Opret startnode
AbstractDiagram_FreeText_text=Fritekst
AbstractDiagram_FreeText_tooltip=Opret ny fritekst
ActivityDiagram_SyncBar_text=Synkroniseringslinje
ActivityDiagram_SyncBar_tooltip=Opret ny synkroniseringslinje
ActivityDiagram_DecisionNode_text=Beslutningsnode
ActivityDiagram_DecisionNode_tooltip=Opret beslutningsnode
ActivityDiagram_EndNode_text=Slutnode
ActivityDetailDiagram_prefix=Aktivitetsoplysning:
ActivityDiagram_EndNode_tooltip=Opret slutnode
ActivityDiagram_Activity_text=Aktivitet
ActivityDiagram_Activity_tooltip=Opret aktivitet
ActivityDiagram_Iteration_text=Gentagelse
ActivityDiagram_Iteration_tooltip=Opret gentagelse
ActivityDiagram_Phase_text=Fase
ActivityDiagram_Phase_tooltip=Opret fase
AbstractDiagram_TaskDescriptor_text=Opgavedeskriptor
AbstractDiagram_RoleDescriptor_text=Rolledeskriptor
WorkProductDependencyDiagram_prefix=Diagram for arbejdsproduktafh\u00e6ngighed:
AbstractDiagram_RoleDescriptor_tooltip=Opret rolledeskriptor
AbstractDiagram_TaskDescriptor_tooltip=Opret opgavedeskriptor
ActvitivityDiagram_DeliveryProcess_text=Leveringsproces
ActvitivityDiagram_CapabilityPattern_text=Funktionsm\u00f8nster
ActvitivityDiagram_Phase_tex=Fase
ActvitivityDiagram_Iteration_text=Gentagelse
ActvitivityDiagram_Activity_text=Aktivitet
AbstractDiagram_WorkProductDescriptor_text=Arbejdsproduktdeskriptor
AbstractDiagram_WorkProductDescriptor_tooltip=Opret arbejdsproduktdeskriptor

AbstractDiagramEditor_alignMenu_text=Just\u00e9r
AbstractDiagramEditor_refreshFromBaseActivity_text=Opfrisk fra basisaktivitet
AbstractDiagramEditor_formatTextBoxActivity_text=Format\u00e9r tekstboks...
AbstractDiagramEditor_hAlignAverageAction_text=Vandret til gennemsnit
AbstractDiagramEditor_hAlignFirstSelectedAction_text=Vandret til f\u00f8rste valgte
AbstractDiagramEditor_vAlignAverageAction_text=Lodret til gennemsnit
AbstractDiagramEditor_vAlignFirstSelectedAction_text=Lodret til f\u00f8rste valgte
AbstractDiagramEditor_Save_text=Gem
AbstractDiagramEditor_Save_message=Gemmer {0}
AbstractDiagramEditor_MoveNode_label=Flyt node
AbstractDiagramEditorrefreshfrombase=Opfrisk fra basis
AbstractDiagram_BendPoint_create=Opret b\u00f8jningspunkt

ActivityDiagram_openActivityDetailDiagram_text=\u00c5bn aktivitetsoplysningsdiagram
refreshAction_label=Opfrisk
refreshFromBaseCmd_label=Opfrisk fra basis
diagram_saveError=IUPD0001W: Diagram kan ikke gemmes

DeleteDiagram_text=Slet diagram
DeleteDiagram_prompt=Er du sikker p\u00e5, at du vil slette dette diagram?\n\u00c6ndringen er permanent og kan ikke fortrydes.
DeleteDiagram_AD=Aktivitetsdiagram
DeleteDiagram_ADD=Aktivitetsoplysningsdiagram
DeleteDiagram_WPDD=Diagram for arbejdsproduktafh\u00e6ngighed
DeleteDiagram_prompt_new=Er du sikker p\u00e5, at du vil slette {0}?\n\u00c6ndringen er permanent og kan ikke fortrydes.
align_bend_point_text=Just\u00e9r b\u00f8jningspunkt
ConfigurationEditorInput_configeditor0=Konfigurationseditor
diagram_node_property_value_problem_msg=Fejl i nodens egenskabsv\u00e6rdi.
diagram_errorDialog_title=Fejl

ActivityDetailDiagramEditor_ResetDiagramLayout_text=Reset diagramlayout
errorDialog_title=Fejl
command_cannotEdit=IUPD0003E: Kan ikke redigere diagram

AbstractDiagramEditor_ParentEditorClose_title=Overordnet editor lukket
AbstractDiagramEditor_ParentEditorClose_text={0} er lukket. Vil du ogs\u00e5 lukke {1}?

#Below three strings moved from AuthoringUI resources.properties.
DiagramValidation_err_cannot_connect_text=IUPA0032W: Kan ikke oprette forbindelse
DiagramValidation_err_samepredandsuc_text=IUPA0033W: Kan ikke have det samme nedbrydningselement som forg\u00e6nger eller efterf\u00f8lger
DiagramValidation_err_cannot_delete_text=Kan ikke slette
deleteCommand_label=Slet
deleteLinkCommand_label=Slet forbindelse

ActivityDiagram_Milestone_text=Milep\u00e6l
ActivityDiagram_Milestone_tooltip=Opret milep\u00e6l
ActivityDiagram_Join_Node_text=Sammenk\u00e6dningsnode
ActivityDiagram_Join_Node_tooltip=Opret sammenk\u00e6dningsnode
ActivityDiagram_Merge_Node_text=Flettenode
ActivityDiagram_Merge_Node_tooltip=Opret flettenode
ActivityDiagram_Fork_Node_text=Forgreningsnode
ActivityDiagram_Fork_Node_tooltip=Opret forgreningsnode
ActivityDiagram_Partition_Node_text=Aktivitetsdeling
ActivityDiagram_Palette_flows_title=Flow
ActivityDiagram_Palette_nodes_titles=Noder
ActivityDiagram_Palette_flows_create_text=Oprettelsesv\u00e6rkt\u00f8j til flow
ActivityDiagram_Palette_nodes_group_text=Oprettelsesv\u00e6rkt\u00f8jsgruppe til noder
ActivityDiagram_Palette_control_flow_text=Kontrolflow
ActivityDiagram_Palette_control_flow_create_text=Opret kontrolflow
ActivityDiagram_Partition_Node_tooltip=Opret aktivitetsdeling

ActivityDiagram_New_Task_Descriptor=Ny opgavedeskriptor
ActivityDiagram_New_Milestone=Ny milep\u00e6l
WPDD_New_WorkProductDescriptor=Ny arbejdsproduktdeskriptor
ActivityDiagram_New_Activity=Ny aktivitet
ActivityDiagram_New_Phase=Ny fase
ActivityDiagram_New_Iteration=Ny gentagelse
Progress_Saving_message=Gemmer {0}
Warning_Saving_Diagram=IUPD0001W: Diagram kan ikke gemmes

ActivityDiagram_kind=Aktivitetsdiagram
ActivityDetail_Diagram_kind=Aktivitetsoplysningsdiagram
WorkProductDependency_Diagram_kind=Diagram for arbejdsproduktafh\u00e6ngighed
WPDD_Palette_control_flow_text=Arbejdsproduktafh\u00e6ngighed
WPDD_Palette_control_flow_create_text=Opret en arbejdsproduktafh\u00e6ngighed
