# <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.1 2008/08/25 00:52:05 jtham 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
