# 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 2000, 2011. 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
