#-------------------------------------------------------------------------------
# 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 Composer RCP
productName=EPF Composer
providerName=Eclipse.org

# 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
searchAction.tooltip = \u641c\u5c0b\u8aaa\u660e
dynamicHelpAction.label = \u52d5\u614b\u8aaa\u660e
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
