#-------------------------------------------------------------------------------
# Copyright (c) 2005, 2006 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

# Plug-in
pluginName=EPF \u7f16\u5199\u7528\u6237\u754c\u9762
providerName=Eclipse.org

# Category
methodCategoryName=\u65b9\u6cd5

# Perspective
authoringPerspectiveName=\u7f16\u5199
browsingPerspectiveName=\u6d4f\u89c8

# Views
libraryViewName=\u5e93
configurationViewName=\u914d\u7f6e
contentViewName=\u5185\u5bb9
configurationErrorLogViewName=\u914d\u7f6e\u9519\u8bef\u65e5\u5fd7

# Editors
methodElementEditorName=\u65b9\u6cd5\u5143\u7d20\u7f16\u8f91\u5668
configurationEditorName=\u914d\u7f6e\u7f16\u8f91\u5668
processEditorName=\u6d41\u7a0b\u7f16\u8f91\u5668
activityDiagramEditorName=\u6d3b\u52a8\u56fe\u7f16\u8f91\u5668
activityDetailDiagramEditorName=\u6d3b\u52a8\u8be6\u7ec6\u4fe1\u606f\u56fe\u7f16\u8f91\u5668
workProductDepedencyDiagramEditorName=\u5de5\u4f5c\u4ea7\u54c1\u4f9d\u8d56\u5173\u7cfb\u56fe\u7f16\u8f91\u5668

# Cheat Sheets
methodAuthoringCheatSheetsName=\u65b9\u6cd5\u7f16\u5199\u5907\u5fd8\u5355
CheatsheetGetstartedCategoryText=\u5165\u95e8
CheatsheetReusableContentCategoryText=\u521b\u5efa\u53ef\u590d\u7528\u7684\u65b9\u6cd5\u5185\u5bb9
CheatsheetWriteContentCategoryText=\u5199\u65b9\u6cd5\u5185\u5bb9
CheatsheetProcessesCategoryText=\u5904\u7406\u6d41\u7a0b
CheatsheetNavigateMethodContent=\u6d4f\u89c8\u65b9\u6cd5\u5185\u5bb9
CheatsheetCreateMethodConfiguration=\u521b\u5efa\u60a8\u81ea\u5df1\u7684\u65b9\u6cd5\u914d\u7f6e
CheatsheetCreateMethodPlugin=\u521b\u5efa\u60a8\u81ea\u5df1\u7684\u65b9\u6cd5\u63d2\u4ef6
CheatsheetAddMethodContent=\u6dfb\u52a0\u65b0\u65b9\u6cd5\u5185\u5bb9\uff0c\u4f8b\u5982\u89d2\u8272\u3001\u4efb\u52a1\u3001\u5de5\u4f5c\u4ea7\u54c1\u6216\u6307\u5bfc\u4fe1\u606f
CheatsheetTailorMethodElements=\u4f7f\u7528\u63d0\u4f9b\u5b9a\u5236\u73b0\u6709\u65b9\u6cd5\u5143\u7d20\uff08\u89d2\u8272\u3001\u4efb\u52a1\u3001\u5de5\u4f5c\u4ea7\u54c1\u6216\u6307\u5bfc\u4fe1\u606f\uff09
CheatsheetReplaceMehtodElements=\u66ff\u6362\u73b0\u6709\u65b9\u6cd5\u5143\u7d20\uff08\u89d2\u8272\u3001\u4efb\u52a1\u3001\u5de5\u4f5c\u4ea7\u54c1\u6216\u6307\u5bfc\u4fe1\u606f\uff09
CheatsheetAddMethodRefOrHyperlink=\u6dfb\u52a0\u65b9\u6cd5\u5f15\u7528\u6216\u8d85\u94fe\u63a5\uff08URL\uff09
CheatsheetApplyCapabilityPattern=\u5e94\u7528\u80fd\u529b\u6a21\u5f0f
CheatsheetCreateProcess=\u521b\u5efa\u6d41\u7a0b\uff08\u80fd\u529b\u6a21\u5f0f\u6216\u4ea4\u4ed8\u6d41\u7a0b\uff09

# Action Set
authoringActionSet=\u7f16\u5199
cheatSheetsActionSet=\u5907\u5fd8\u5355

# Global Actions
newLibraryAction=\u65b9\u6cd5\u5e93(&L)
newLibraryActionTooltip=\u521b\u5efa\u65b0\u65b9\u6cd5\u5e93
newPluginAction=\u65b9\u6cd5\u63d2\u4ef6(&P)
newPluginActionTooltip=\u521b\u5efa\u65b0\u65b9\u6cd5\u63d2\u4ef6
newConfigAction=\u65b9\u6cd5\u914d\u7f6e(&C)
newConfigActionTooltip=\u521b\u5efa\u65b0\u65b9\u6cd5\u914d\u7f6e
openLibraryAction=\u65b9\u6cd5\u5e93(&L)
openLibraryActionTooltip=\u6253\u5f00\u73b0\u6709\u65b9\u6cd5\u5e93
openConfigAction=\u65b9\u6cd5\u914d\u7f6e(&C)
openConfigActionTooltip=\u6253\u5f00\u73b0\u6709\u65b9\u6cd5\u914d\u7f6e
openCheatSheets=\u5907\u5fd8\u5355...

# Library View Actions
linkWithEditor=\u94fe\u63a5\u7f16\u8f91\u5668
linkWithEditorTooltip=\u94fe\u63a5\u7f16\u8f91\u5668
showPresentationNames=\u67e5\u770b\u663e\u793a\u540d\u79f0
showPresentationNamesTooltip=\u67e5\u770b\u663e\u793a\u540d\u79f0

# Configuration View Actions
refreshConfig=\u5237\u65b0
refreshConfigTooltip=\u5237\u65b0\u914d\u7f6e

# Preference Page
methodAuthoringPage=\u65b9\u6cd5\u7f16\u5199
processEditor=\u6d41\u7a0b\u7f16\u8f91\u5668
libraryOptions=\u5e93\u9009\u9879
diagram=\u56fe
startupAndShutdown=\u542f\u52a8\u548c\u5173\u95ed
debug=\u8c03\u8bd5

# Command Handler
selectAll=\u5168\u90e8\u9009\u4e2d

# Properties View
_UI_ProcessEditor_menu=\u6d41\u7a0b
_UI_CreateChild_menu_item=\u65b0\u5efa\u5b50\u4ee3(&N)
_UI_CreateSibling_menu_item=\u65b0\u5efa\u540c\u4ee3(&E)
_UI_ShowPropertiesView_menu_item=\u663e\u793a\u5c5e\u6027\u89c6\u56fe(&V)
_UI_RefreshViewer_menu_item=\u5237\u65b0(&F)
_UI_Properties_General=\u5e38\u89c4
_UI_Properties_Documentation=\u6587\u6863
_UI_Properties_Guidance=\u6307\u5bfc\u4fe1\u606f
_UI_Properties_Work_Rollup=\u5de5\u4f5c\u4e0a\u6eda
_UI_Properties_Team_Rollup=\u56e2\u961f\u4e0a\u6eda
## The following value of string should be "Work Product Rollup". But
## due to limitation/bug in Eclipse WTP, it's been truncated to 
## "Work Prod Rollup". So during translation, please take this into consideration.
_UI_Properties_WP_Rollup=\u5de5\u4f5c\u4ea7\u54c1\u4e0a\u6eda
_UI_Properties_Roles=\u89d2\u8272
_UI_Properties_WorkProducts=\u5de5\u4f5c\u4ea7\u54c1
_UI_Properties_Steps=\u6b65\u9aa4
_UI_Properties_Teams=\u56e2\u961f
