# <copyright>
#------------------------------------------------------------------------------
# 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
#------------------------------------------------------------------------------
# </copyright>
#
# $Id: plugin_de.properties,v 1.2 2008/09/05 00:17:52 klow Exp $

# ====================================================================
# To code developer:
#   Do NOT change the properties between this line and the
#   "%%% END OF TRANSLATED PROPERTIES %%%" line.
#   Make a new property name, append to the end of the file and change
#   the code to use the new property.
# ====================================================================

# ====================================================================
# %%% END OF TRANSLATED PROPERTIES %%%
# ====================================================================
# NLS_MESSAGEFORMAT_VAR

pluginName=EPF - Unterst\u00fctzung f\u00fcr die Diagrammbearbeitung
providerName=Eclipse.org

_UI_CreateChild_text = {0}
_UI_CreateChild_text2 = {1} {0}
_UI_CreateChild_text3 = {1}
_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.

_UI_PropertyDescriptor_description = {0} von {1}

_UI_Diagram_type = Diagramm
_UI_Link_type = Link
_UI_LinkedObject_type = Verkn\u00fcpftes Objekt
_UI_NamedNode_type = Benannter Knoten
_UI_Node_type = Knoten
_UI_ActivityDiagram_type = Aktivit\u00e4tsdiagramm
_UI_TypedNode_type = Typisierter Knoten
_UI_WorkProductDependencyDiagram_type = Arbeitsergebnisabh\u00e4ngigkeitsdiagramm
_UI_WorkProductNode_type = Arbeitsergebnisknoten
_UI_ActivityDetailDiagram_type = Aktivit\u00e4tsdetaildiagramm
_UI_NodeContainer_type = Knotencontainer
_UI_RoleNode_type = Rollenknoten
_UI_RoleTaskComposite_type = Rollenaufgabenkombination
_UI_TaskNode_type = Aufgabenknoten
_UI_WorkProductDescriptorNode_type = Arbeitsergebnisdeskriptorknoten
_UI_WorkBreakdownElementNode_type = Projektstrukturelementknoten
_UI_WorkProductComposite_type = Arbeitsergebniskombination
_UI_Unknown_type = Objekt

_UI_Unknown_datatype= Wert

_UI_Link_source_feature = Quelle
_UI_Link_target_feature = Ziel
_UI_Link_bendpoints_feature = Verzweigungspunkte
_UI_Link_sourceEndPoint_feature = Quellenendpunkt
_UI_Link_targetEndPoint_feature = Zielendpunkt
_UI_LinkedObject_linkedElement_feature = Verkn\u00fcpftes Element
_UI_LinkedObject_object_feature = Objekt
_UI_NamedNode_name_feature = Name
_UI_Node_location_feature = Position
_UI_Node_width_feature = Breite
_UI_Node_height_feature = H\u00f6he
_UI_Node_incomingConnections_feature = Eingehende Verbindungen
_UI_Node_outgoingConnections_feature = Abgehende Verbindungen
_UI_Node_readOnly_feature = Schreibgesch\u00fctzt
_UI_TypedNode_type_feature = Typ
_UI_WorkProductNode_type_feature = Typ
_UI_NodeContainer_nodes_feature = Knoten
_UI_WorkProductComposite_type_feature = Typ
_UI_Unknown_feature = Nicht angegeben

_UI_Link_name_feature = Name
_UI_ActivityDetailDiagram_autoLayout_feature = Automatisches Layout
_UI_TaskNode_index_feature = Index
_UI_RoleTaskComposite_rowIndex_feature = Zeilenindex
_UI_WorkProductDescriptorNode_state_feature = Zustand
