# NLS_ENCODING=UNICODE
#-------------------------------------------------------------------------------
# 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 Composer RCP UI
productName=EPF Composer
providerName=Eclipse.org

# About text
aboutText=Eclipse Process Framework Composer\n\
\n\
\u7248\u672c\uff1a{0}\n\
\n\
(c) Copyright Eclipse contributors and others {1}, {2}. All Rights Reserved.\n

# Category
methodCategoryName=\u65b9\u6cd5

# Views
welcomeViewName=\u6b61\u8fce\u4f7f\u7528

# Actions
globalActionSet=\u6574\u9ad4\u52d5\u4f5c\u96c6
newAction=\u65b0\u5efa(&N)
newActionTooltip=\u65b0\u5efa
openAction=\u958b\u555f(&O)...
openActionTooltip=\u958b\u555f
searchAction=\u641c\u5c0b(&S)...
searchActionTooltip=\u641c\u5c0b
welcomeAction=\u6b61\u8fce\u4f7f\u7528(&W)
welcomeActionToolTip=\u6b61\u8fce\u4f7f\u7528

# Tooltips
shortcut.overview.tooltip=\u56de\u5230\u300c\u6982\u89c0\u300d\u9801\u9762
shortcut.tutorials.tooltip=\u56de\u5230\u300c\u6307\u5c0e\u6559\u5b78\u300d\u9801\u9762
shortcut.firststeps.tooltip=\u56de\u5230\u300c\u7b2c\u4e00\u6b65\u9a5f\u300d\u9801\u9762
shortcut.webresources.tooltip=\u56de\u5230\u300cWeb \u8cc7\u6e90\u300d\u9801\u9762

#Action Set
actionSet.description = \u8aaa\u660e\u7cfb\u7d71\u5de5\u5177\u5217\u52d5\u4f5c
actionSet.label = \u8aaa\u660e\u7cfb\u7d71
searchAction.label = \u641c\u5c0b\u8aaa\u660e(&E)
searchAction.tooltip = \u641c\u5c0b\u8aaa\u660e
dynamicHelpAction.label = \u52d5\u614b\u8aaa\u660e(&D)
dynamicHelpAction.tooltip = \u52d5\u614b\u8aaa\u660e
#Activities/Capabilities
activity.general=\u532f\u5165\u548c\u532f\u51fa\u5c08\u6848\u53ca\u8cc7\u6e90
activity.general.desc=\u4f7f\u7528\u6a19\u6e96\u7684 Eclipse \u532f\u5165/\u532f\u51fa\u5c08\u6848/\u8cc7\u6e90\u529f\u80fd\u3002
activity.team.cvs=CVS \u652f\u63f4
activity.team.cvs.desc=\u4f7f\u7528\u300c\u4e26\u884c\u7248\u672c\u7cfb\u7d71 (CVS)\u300d\u4f86\u7ba1\u7406\u8cc7\u6e90\u3002
activity.team=\u6838\u5fc3\u5718\u968a\u652f\u63f4
activity.team.desc=\u4f7f\u7528\u914d\u7f6e\u7ba1\u7406\u7cfb\u7d71\u4f86\u5171\u7528\u5c08\u6848\u3002

activity.cat.general=\u4e00\u822c
activity.cat.general.desc=\u4f7f\u7528\u6a19\u6e96\u7684 Eclipse \u529f\u80fd\u3002
activity.cat.team=\u5718\u968a
activity.cat.team.desc=\u4f7f\u7528\u914d\u7f6e\u7ba1\u7406\u7cfb\u7d71\u4f86\u7ba1\u7406\u8cc7\u6e90\u3002

PreferencePages.Capabilities = \u529f\u80fd
PreferencePages.Capabilities.activityName = \u529f\u80fd(&C)
PreferencePages.Capabilities.categoryName = \u529f\u80fd(&C)
PreferencePages.Capabilities.activityPromptButton = \u555f\u7528\u529f\u80fd\u6642\u63d0\u793a(&P)
PreferencePages.Capabilities.activityPromptButtonTooltip = \u7b2c\u4e00\u6b21\u4f7f\u7528\u9700\u8981\u555f\u7528\u9019\u4e9b\u529f\u80fd\u7684\u7279\u6027\u6642\u63d0\u793a
PreferencePages.Capabilities.captionMessage = \u9019\u4e9b\u529f\u80fd\u53ef\u8b93\u60a8\u555f\u7528\u6216\u505c\u7528\u5404\u7a2e\u7522\u54c1\u5143\u4ef6\u3002\u9019\u4e9b\u529f\u80fd\u4ee5\u4e00\u7d44\u9810\u5148\u5b9a\u7fa9\u7684\u7a2e\u985e\u4f86\u5206\u7d44\u3002
