# <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_zh_TW.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 Diagram Edit Support
providerName=Eclipse.org

_UI_CreateChild_text = {0}
_UI_CreateChild_text2 = {1} {0}
_UI_CreateChild_text3 = {1}
_UI_CreateChild_tooltip = \u5728 {1} \u7279\u6027\u4e0b\u5efa\u7acb\u65b0\u7684 {0}
_UI_CreateChild_description = \u70ba\u6240\u9078 {2} \u7684 {1} \u7279\u6027\u5efa\u7acb {0} \u985e\u578b\u7684\u5b50\u9805\u3002
_UI_CreateSibling_description = \u5728\u5176\u6bcd\u9805\u7684 {1} \u7279\u6027\u4e0b\uff0c\u70ba\u6240\u9078\u7684 {2} \u5efa\u7acb {0} \u985e\u578b\u7684\u65b0\u540c\u5c64\u7d1a\u9805\u3002

_UI_PropertyDescriptor_description = {1} \u7684 {0}

_UI_Diagram_type = \u5716\u89e3
_UI_Link_type = \u93c8\u7d50
_UI_LinkedObject_type = \u93c8\u7d50\u7684\u7269\u4ef6
_UI_NamedNode_type = \u5177\u540d\u7684\u7bc0\u9ede
_UI_Node_type = \u7bc0\u9ede
_UI_ActivityDiagram_type = \u6d3b\u52d5\u5716
_UI_TypedNode_type = \u8f38\u5165\u7684\u7bc0\u9ede
_UI_WorkProductDependencyDiagram_type = \u5de5\u4f5c\u6210\u679c\u76f8\u4f9d\u95dc\u4fc2\u5716
_UI_WorkProductNode_type = \u5de5\u4f5c\u6210\u679c\u7bc0\u9ede
_UI_ActivityDetailDiagram_type = \u6d3b\u52d5\u660e\u7d30\u5716
_UI_NodeContainer_type = \u7bc0\u9ede\u5132\u5b58\u5668
_UI_RoleNode_type = \u89d2\u8272\u7bc0\u9ede
_UI_RoleTaskComposite_type = \u89d2\u8272\u4f5c\u696d\u7d44\u5408
_UI_TaskNode_type = \u4f5c\u696d\u7bc0\u9ede
_UI_WorkProductDescriptorNode_type = \u5de5\u4f5c\u6210\u679c\u63cf\u8ff0\u5b50\u7bc0\u9ede
_UI_WorkBreakdownElementNode_type = \u5de5\u4f5c\u5206\u89e3\u5143\u7d20\u7bc0\u9ede
_UI_WorkProductComposite_type = \u5de5\u4f5c\u6210\u679c\u7d44\u5408
_UI_Unknown_type = \u7269\u4ef6

_UI_Unknown_datatype= \u503c

_UI_Link_source_feature = \u4f86\u6e90
_UI_Link_target_feature = \u76ee\u6a19
_UI_Link_bendpoints_feature = \u5f4e\u66f2\u9ede
_UI_Link_sourceEndPoint_feature = \u4f86\u6e90\u7aef\u9ede
_UI_Link_targetEndPoint_feature = \u76ee\u6a19\u7aef\u9ede
_UI_LinkedObject_linkedElement_feature = \u93c8\u7d50\u7684\u5143\u7d20
_UI_LinkedObject_object_feature = \u7269\u4ef6
_UI_NamedNode_name_feature = \u540d\u7a31
_UI_Node_location_feature = \u4f4d\u7f6e
_UI_Node_width_feature = \u5bec\u5ea6
_UI_Node_height_feature = \u9ad8\u5ea6
_UI_Node_incomingConnections_feature = \u9001\u5165\u7684\u9023\u7dda
_UI_Node_outgoingConnections_feature = \u9001\u51fa\u7684\u9023\u7dda
_UI_Node_readOnly_feature = \u552f\u8b80
_UI_TypedNode_type_feature = \u985e\u578b
_UI_WorkProductNode_type_feature = \u985e\u578b
_UI_NodeContainer_nodes_feature = \u7bc0\u9ede
_UI_WorkProductComposite_type_feature = \u985e\u578b
_UI_Unknown_feature = \u672a\u6307\u5b9a

_UI_Link_name_feature = \u540d\u7a31
_UI_ActivityDetailDiagram_autoLayout_feature = \u81ea\u52d5\u7248\u9762\u914d\u7f6e
_UI_TaskNode_index_feature = \u7d22\u5f15
_UI_RoleTaskComposite_rowIndex_feature = \u5217\u7d22\u5f15
