#-------------------------------------------------------------------------------
# Copyright (c) 2000, 2008 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

# Wizards
newMethodLibraryWizardName=\u65b9\u6cd5\u5e93
newMethodLibraryWizardDescription=\u521b\u5efa\u65b0\u65b9\u6cd5\u5e93\u3002
newMethodPluginWizardName=\u65b9\u6cd5\u63d2\u4ef6
newMethodPluginWizardDescription=\u521b\u5efa\u65b0\u65b9\u6cd5\u63d2\u4ef6\u3002
newConfigurationWizardName=\u65b9\u6cd5\u914d\u7f6e
newConfigurationWizardDescription=\u521b\u5efa\u65b0\u65b9\u6cd5\u914d\u7f6e\u3002

# 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\u6dfb\u52a0\u9879\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(&C)...

# Library View Actions
linkWithEditor=\u94fe\u63a5\u7f16\u8f91\u5668
linkWithEditorTooltip=\u94fe\u63a5\u7f16\u8f91\u5668
showPresentationNames=\u663e\u793a\u5c55\u793a\u540d\u79f0
showPresentationNamesTooltip=\u663e\u793a\u5c55\u793a\u540d\u79f0

# Configuration View Actions
refreshConfig=\u5237\u65b0
refreshConfigTooltip=\u5237\u65b0\u914d\u7f6e

# Preference Page
authoringPreferencePage=\u7f16\u5199
processEditor=\u6d41\u7a0b\u7f16\u8f91\u5668
libraryOptions=\u5e93\u9009\u9879
startupAndShutdown=\u542f\u52a8\u548c\u5173\u95ed
debug=\u8c03\u8bd5
modelingOptions=\u5efa\u6a21\u9009\u9879
diagramAppearance=\u56fe\u5916\u89c2
breakdownElementAttributes=\u5206\u89e3\u5143\u7d20\u5c5e\u6027
libraryViewOptions=\u5e93\u89c6\u56fe\u9009\u9879

# 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
_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

RichTextMarkerTypeName=HTML \u95ee\u9898
ConfigurationMarkerTypeName=\u914d\u7f6e\u95ee\u9898
