# <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.properties,v 1.2 2008/07/30 01:52:59 ple 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 Diagram Edit Support
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 = The {0} of the {1}

_UI_Diagram_type = Diagram
_UI_Link_type = Link
_UI_LinkedObject_type = Linked Object
_UI_NamedNode_type = Named Node
_UI_Node_type = Node
_UI_ActivityDiagram_type = Activity Diagram
_UI_TypedNode_type = Typed Node
_UI_WorkProductDependencyDiagram_type = Work Product Dependency Diagram
_UI_WorkProductNode_type = Work Product Node
_UI_ActivityDetailDiagram_type = Activity Detail Diagram
_UI_NodeContainer_type = Node Container
_UI_RoleNode_type = Role Node
_UI_RoleTaskComposite_type = Role Task Composite
_UI_TaskNode_type = Task Node
_UI_WorkProductDescriptorNode_type = Work Product Descriptor Node
_UI_WorkBreakdownElementNode_type = Work Breakdown Element Node
_UI_WorkProductComposite_type = Work Product Composite
_UI_Unknown_type = Object

_UI_Unknown_datatype= Value

_UI_Link_source_feature = Source
_UI_Link_target_feature = Target
_UI_Link_bendpoints_feature = Bendpoints
_UI_Link_sourceEndPoint_feature = Source End Point
_UI_Link_targetEndPoint_feature = Target End Point
_UI_LinkedObject_linkedElement_feature = Linked Element
_UI_LinkedObject_object_feature = Object
_UI_NamedNode_name_feature = Name
_UI_Node_location_feature = Location
_UI_Node_width_feature = Width
_UI_Node_height_feature = Height
_UI_Node_incomingConnections_feature = Incoming Connections
_UI_Node_outgoingConnections_feature = Outgoing Connections
_UI_Node_readOnly_feature = Read Only
_UI_TypedNode_type_feature = Type
_UI_WorkProductNode_type_feature = Type
_UI_NodeContainer_nodes_feature = Nodes
_UI_WorkProductComposite_type_feature = Type
_UI_Unknown_feature = Unspecified

_UI_Link_name_feature = Name
_UI_ActivityDetailDiagram_autoLayout_feature = Auto Layout
_UI_TaskNode_index_feature = Index
_UI_RoleTaskComposite_rowIndex_feature = Row Index
_UI_WorkProductDescriptorNode_state_feature = State
