# 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 \u7528\u6237\u754c\u9762
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=\u6b22\u8fce

# Actions
globalActionSet=\u5168\u5c40\u64cd\u4f5c\u96c6
newAction=\u65b0\u5efa(&N)
newActionTooltip=\u65b0\u5efa
openAction=\u6253\u5f00(&O)...
openActionTooltip=\u6253\u5f00
searchAction=\u641c\u7d22(&S)...
searchActionTooltip=\u641c\u7d22
welcomeAction=\u6b22\u8fce(&W)
welcomeActionToolTip=\u6b22\u8fce

# Tooltips
shortcut.overview.tooltip=\u8fd4\u56de\u201c\u6982\u8ff0\u201d\u9875\u9762
shortcut.tutorials.tooltip=\u8fd4\u56de\u201c\u6559\u7a0b\u201d\u9875\u9762
shortcut.firststeps.tooltip=\u8fd4\u56de\u201c\u7b2c\u4e00\u6b65\u201d\u9875\u9762
shortcut.webresources.tooltip=\u8fd4\u56de\u201cWeb \u8d44\u6e90\u201d\u9875\u9762

#Action Set
actionSet.description = \u5e2e\u52a9\u7cfb\u7edf\u5de5\u5177\u680f\u64cd\u4f5c
actionSet.label = \u5e2e\u52a9\u7cfb\u7edf
searchAction.label = \u641c\u7d22\u5e2e\u52a9(&E)
searchAction.tooltip = \u641c\u7d22\u5e2e\u52a9
dynamicHelpAction.label = \u52a8\u6001\u5e2e\u52a9(&D)
dynamicHelpAction.tooltip = \u52a8\u6001\u5e2e\u52a9
#Activities/Capabilities
activity.general=\u5bfc\u5165\u548c\u5bfc\u51fa\u9879\u76ee\u548c\u8d44\u6e90
activity.general.desc=\u4f7f\u7528\u6807\u51c6\u7684 Eclipse \u5bfc\u5165/\u5bfc\u51fa\u9879\u76ee/\u8d44\u6e90\u7684\u529f\u80fd\u3002
activity.team.cvs=CVS \u652f\u6301
activity.team.cvs.desc=\u4f7f\u7528\u5e76\u53d1\u7248\u672c\u63a7\u5236\u7cfb\u7edf\uff08CVS\uff09\u6765\u7ba1\u7406\u8d44\u6e90\u3002
activity.team=\u6838\u5fc3\u56e2\u961f\u652f\u6301
activity.team.desc=\u4f7f\u7528\u914d\u7f6e\u7ba1\u7406\u7cfb\u7edf\u6765\u5171\u4eab\u9879\u76ee\u3002

activity.cat.general=\u5e38\u89c4
activity.cat.general.desc=\u4f7f\u7528\u6807\u51c6\u7684 Eclipse \u529f\u80fd\u3002
activity.cat.team=\u56e2\u961f
activity.cat.team.desc=\u4f7f\u7528\u914d\u7f6e\u7ba1\u7406\u7cfb\u7edf\u6765\u7ba1\u7406\u8d44\u6e90\u3002

PreferencePages.Capabilities = \u529f\u80fd
PreferencePages.Capabilities.activityName = \u529f\u80fd(&C)
PreferencePages.Capabilities.categoryName = \u529f\u80fd(&C)
PreferencePages.Capabilities.activityPromptButton = \u542f\u7528\u529f\u80fd\u65f6\u53d1\u51fa\u63d0\u793a(&P)
PreferencePages.Capabilities.activityPromptButtonTooltip = \u9996\u6b21\u4f7f\u7528\u8981\u6c42\u542f\u7528\u529f\u80fd\u7684\u529f\u80fd\u90e8\u4ef6\u65f6\u53d1\u51fa\u63d0\u793a
PreferencePages.Capabilities.captionMessage = \u53ef\u7528\u4e8e\u542f\u7528\u6216\u7981\u7528\u5404\u79cd\u4ea7\u54c1\u7ec4\u4ef6\u7684\u529f\u80fd\u3002\u8fd9\u4e9b\u529f\u80fd\u6309\u7167\u4e00\u7ec4\u9884\u5148\u5b9a\u4e49\u7684\u7c7b\u522b\u6765\u8fdb\u884c\u5206\u7ec4\u3002
