# 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=Das R\u00fcckg\u00e4ngigmachen einer Namens\u00e4nderung ist nicht zul\u00e4ssig, wenn der Name vorher nicht definiert war.
err_name_empty=Der Name muss angegeben werden. Geben Sie einen g\u00fcltigen Namen an.
moveAction_label=Verschieben

AbstractDiagram_Select_text=Ausw\u00e4hlen
AbstractDiagram_Select_tooltip=Knoten oder Link ausw\u00e4hlen
AbstractDiagram_AddNode_title=Knoten hinzuf\u00fcgen
AbstractDiagram_AddNode_err_msg=IXRD0002W: Das Hinzuf\u00fcgen eines Knotens zum Diagramm ist fehlgeschlagen.
AbstractDiagram_Link_text=Link
AbstractDiagram_Link_select=Link ausw\u00e4hlen
AbstractDiagram_Link_tooltip=Neuen Link erstellen
ActivityDiagram_StartNode_text=Ausgangsknoten
ActivityDiagram_StartNode_tooltip=Anfangsknoten erstellen
AbstractDiagram_FreeText_text=Text mit freiem Format
AbstractDiagram_FreeText_tooltip=Neuen Text mit freiem Format erstellen
ActivityDiagram_SyncBar_text=Synchronisationsbalken
ActivityDiagram_SyncBar_tooltip=Neuen Synchronisationsbalken erstellen
ActivityDiagram_DecisionNode_text=Entscheidungsknoten
ActivityDiagram_DecisionNode_tooltip=Einen Entscheidungsknoten erstellen
ActivityDiagram_EndNode_text=Endknoten
ActivityDetailDiagram_prefix=Aktivit\u00e4tsdetail:
ActivityDiagram_EndNode_tooltip=Einen Endknoten erstellen
ActivityDiagram_Activity_text=Aktivit\u00e4t
ActivityDiagram_Activity_tooltip=Eine Aktivit\u00e4t erstellen
ActivityDiagram_Iteration_text=Iteration
ActivityDiagram_Iteration_tooltip=Iteration erstellen
ActivityDiagram_Phase_text=Phase
ActivityDiagram_Phase_tooltip=Eine Phase erstellen
AbstractDiagram_TaskDescriptor_text=Aufgabendeskriptor
AbstractDiagram_RoleDescriptor_text=Rollendeskriptor
WorkProductDependencyDiagram_prefix=Arbeitsergebnisabh\u00e4ngigkeitsdiagramm:
AbstractDiagram_RoleDescriptor_tooltip=Einen Rollendeskriptor erstellen
AbstractDiagram_TaskDescriptor_tooltip=Einen Aufgabendeskriptor erstellen
ActvitivityDiagram_DeliveryProcess_text=Bereitstellungsprozess
ActvitivityDiagram_CapabilityPattern_text=Prozessmuster
ActvitivityDiagram_Phase_tex=Phase
ActvitivityDiagram_Iteration_text=Iteration
ActvitivityDiagram_Activity_text=Aktivit\u00e4t
AbstractDiagram_WorkProductDescriptor_text=Arbeitsergebnisdeskriptor
AbstractDiagram_WorkProductDescriptor_tooltip=Einen Arbeitsergebnisdeskriptor erstellen

AbstractDiagramEditor_alignMenu_text=Ausrichten
AbstractDiagramEditor_refreshFromBaseActivity_text=Anhand der Basisaktivit\u00e4t aktualisieren
AbstractDiagramEditor_formatTextBoxActivity_text=Textfeld formatieren...
AbstractDiagramEditor_hAlignAverageAction_text=Horizontal an Durchschnittskoordinaten
AbstractDiagramEditor_hAlignFirstSelectedAction_text=Horizontal an erster ausgew\u00e4hlter Koordinate
AbstractDiagramEditor_vAlignAverageAction_text=Vertikal an Durchschnittskoordinaten
AbstractDiagramEditor_vAlignFirstSelectedAction_text=Vertikal an erster ausgew\u00e4hlter Koordinate
AbstractDiagramEditor_Save_text=Speichern
AbstractDiagramEditor_Save_message={0} wird gespeichert
AbstractDiagramEditor_MoveNode_label=Knoten verschieben
AbstractDiagramEditorrefreshfrombase=Anhand der Basis aktualisieren
AbstractDiagram_BendPoint_create=Verzweigungspunkt erstellen

ActivityDiagram_openActivityDetailDiagram_text=Aktivit\u00e4tsdetaildiagramm \u00f6ffnen
refreshAction_label=Aktualisieren
refreshFromBaseCmd_label=Anhand der Basis aktualisieren
diagram_saveError=IUPD0001W: Das Speichern des Diagramms ist fehlgeschlagen.

DeleteDiagram_text=Diagramm l\u00f6schen
DeleteDiagram_prompt=M\u00f6chten Sie das Diagramm wirklich schlie\u00dfen und l\u00f6schen?\nDiese \u00c4nderung ist permanent und kann nicht r\u00fcckg\u00e4ngig gemacht werden.
DeleteDiagram_AD=Aktivit\u00e4tsdiagramm
DeleteDiagram_ADD=Aktivit\u00e4tsdetaildiagramm
DeleteDiagram_WPDD=Arbeitsergebnisabh\u00e4ngigkeitsdiagramm
DeleteDiagram_prompt_new=''{0}'' wirklich l\u00f6schen?\nDiese \u00c4nderung ist permanent und kann nicht r\u00fcckg\u00e4ngig gemacht werden.
align_bend_point_text=Verzweigungspunkt ausrichten
ConfigurationEditorInput_configeditor0=Konfigurationseditor
diagram_node_property_value_problem_msg=Fehler im Eigenschaftswert des Knotens.
diagram_errorDialog_title=Fehler

ActivityDetailDiagramEditor_ResetDiagramLayout_text=Diagrammlayout zur\u00fccksetzen
errorDialog_title=Fehler
command_cannotEdit=IUPD0003E: Das Diagramm kann nicht bearbeitet werden.

AbstractDiagramEditor_ParentEditorClose_title=\u00dcbergeordneter Editor geschlossen
AbstractDiagramEditor_ParentEditorClose_text={0} wurde geschlossen. {1} auch schlie\u00dfen?

#Below three strings moved from AuthoringUI resources.properties.
DiagramValidation_err_cannot_connect_text=IUPA0032W: Verbindung kann nicht hergestellt werden
DiagramValidation_err_samepredandsuc_text=IUPA0033W: Ein Strukturelement kann nicht gleichzeitig Vorg\u00e4nger und Nachfolger sein.
DiagramValidation_err_cannot_delete_text=L\u00f6schoperation kann nicht ausgef\u00fchrt werden
deleteCommand_label=L\u00f6schen
deleteLinkCommand_label=Verbindung l\u00f6schen

ActivityDiagram_Milestone_text=Meilenstein
ActivityDiagram_Milestone_tooltip=Einen Meilenstein erstellen
ActivityDiagram_Join_Node_text=Synchronisationsknoten
ActivityDiagram_Join_Node_tooltip=Einen Synchronisationsknoten erstellen
ActivityDiagram_Merge_Node_text=Verbindungsknoten
ActivityDiagram_Merge_Node_tooltip=Einen Verbindungsknoten erstellen
ActivityDiagram_Fork_Node_text=Parallelisierungsknoten
ActivityDiagram_Fork_Node_tooltip=Einen Parallelisierungsknoten erstellen
ActivityDiagram_Partition_Node_text=Aktivit\u00e4tspartition
ActivityDiagram_Palette_flows_title=Abl\u00e4ufe
ActivityDiagram_Palette_nodes_titles=Knoten
ActivityDiagram_Palette_flows_create_text=Erstellungstool f\u00fcr Abl\u00e4ufe
ActivityDiagram_Palette_nodes_group_text=Erstellungstoolgruppe f\u00fcr Knoten
ActivityDiagram_Palette_control_flow_text=Steuerungsablauf
ActivityDiagram_Palette_control_flow_create_text=Einen Steuerungsablauf erstellen
ActivityDiagram_Partition_Node_tooltip=Eine Aktivit\u00e4tspartition erstellen

ActivityDiagram_New_Task_Descriptor=Neuer Aufgabendeskriptor
ActivityDiagram_New_Milestone=Neuer Meilenstein
WPDD_New_WorkProductDescriptor=Neuer Arbeitsergebnisdeskriptor
ActivityDiagram_New_Activity=Neue Aktivit\u00e4t
ActivityDiagram_New_Phase=Neue Phase
ActivityDiagram_New_Iteration=Neue Iteration
Progress_Saving_message={0} wird gespeichert
Warning_Saving_Diagram=IUPD0001W: Das Speichern des Diagramms ist fehlgeschlagen.

ActivityDiagram_kind=Aktivit\u00e4tsdiagramm
ActivityDetail_Diagram_kind=Aktivit\u00e4tsdetaildiagramm
WorkProductDependency_Diagram_kind=Arbeitsergebnisabh\u00e4ngigkeitsdiagramm
WPDD_Palette_control_flow_text=Arbeitsergebnisabh\u00e4ngigkeit
WPDD_Palette_control_flow_create_text=Eine Arbeitsergebnisabh\u00e4ngigkeit erstellen
