#-------------------------------------------------------------------------------
# Copyright (c) 2000, 2007 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 Library Edit
providerName=Eclipse.org

_UI_Content_group=\u65b9\u6cd5\u5167\u5bb9

_UI_Disciplines_group=\u898f\u7bc4
_UI_Domains_group=\u9818\u57df
_UI_WorkProductTypes_group=\u5de5\u4f5c\u6210\u679c\u985e\u578b
_UI_Role_Sets_group=\u89d2\u8272\u96c6
_UI_Tools_group=\u5de5\u5177
_UI_Standard_Categories_group=\u6a19\u6e96\u7a2e\u985e
_UI_Custom_Categories_group=\u81ea\u8a02\u7a2e\u985e
_UI_MethodContent_group=\u5167\u5bb9\u5957\u4ef6
_UI_Categories_group=\u7a2e\u985e

_UI_Processes_group=\u6d41\u7a0b
_UI_PlanningTemplates_group=\u898f\u5283\u7bc4\u672c

_UI_CapabilityPatterns_text=\u529f\u80fd\u578b\u6a23
_UI_DeliveryProcesses_text=\u4ea4\u4ed8\u6d41\u7a0b
_UI_ProcessContributions_text=\u5dee\u7570\u6d41\u7a0b
_UI_PlanningTemplates_text=\u898f\u5283\u7bc4\u672c

_UI_CapabilityPattern_text=\u529f\u80fd\u578b\u6a23
_UI_DeliveryProcess_text=\u4ea4\u4ed8\u6d41\u7a0b
_UI_ProcessContribution_text=\u5dee\u7570\u6d41\u7a0b

_UI_Configurations_text=\u914d\u7f6e

_UI_ProcessFamilies_text=\u6d41\u7a0b\u7cfb\u5217

_UI_Uncategorized_text=\u672a\u5206\u985e
_UI_Uncategorized_Tasks_text=\u672a\u5206\u985e\u4f5c\u696d
_UI_Uncategorized_Roles_text=\u672a\u5206\u985e\u89d2\u8272

_UI_Guidances_group=\u6307\u5f15
_UI_Guidances_Checklists=\u6838\u5c0d\u6e05\u55ae
_UI_Guidances_Concepts=\u6982\u5ff5
_UI_Guidances_Examples=\u7bc4\u4f8b
_UI_Guidances_EstimationConsiderations=\u8a55\u4f30\u8003\u91cf
_UI_Guidances_Practices=\u5e38\u898f
_UI_Guidances_Reports=\u5831\u544a
_UI_Guidances_ReusableAssets=\u53ef\u91cd\u8907\u4f7f\u7528\u7684\u8cc7\u7522
_UI_Guidances_Roadmap=\u5c0e\u89bd\u5716
_UI_Guidances_SupportingMaterials=\u652f\u63f4\u8cc7\u6599
_UI_Guidances_Techniques=\u6280\u8853
_UI_Guidances_Templates=\u7bc4\u672c
_UI_Guidances_TermDefinitions=\u8a5e\u5f59\u5b9a\u7fa9
_UI_Guidances_ToolMentors=\u5de5\u5177\u8f14\u52a9
_UI_Guidances_Whitepapers=\u767d\u76ae\u66f8
_UI_Guidances_WorkProductGuidelines=\u6e96\u5247
_UI_Key_Concepts=\u4e3b\u8981\u6982\u5ff5


_UI_Roles_group=\u89d2\u8272
_UI_Tasks_group=\u4f5c\u696d
_UI_WorkProducts_group=\u5de5\u4f5c\u6210\u679c
_UI_Activities_group=\u6d3b\u52d5

# Breakdown structure column display names
BS_Column_name=\u540d\u7a31
BS_Column_prefix=\u5b57\u9996
BS_Column_id=\u7d22\u5f15
BS_Column_predecessors=\u524d\u4e00\u7248
BS_Column_is_repeatable=\u53ef\u91cd\u8907\u7684
BS_Column_is_ongoing=\u6301\u7e8c\u9032\u884c\u4e2d
BS_Column_is_event_driven=\u4e8b\u4ef6\u9a45\u52d5
BS_Column_entry_state=\u9032\u5165\u72c0\u614b
BS_Column_exit_state=\u7d50\u675f\u72c0\u614b
BS_Column_teams=\u5718\u968a
BS_Column_type=\u985e\u578b
BS_Column_model_info=\u6a21\u578b\u8cc7\u8a0a
BS_Column_presentation_name=\u5448\u73fe\u540d\u7a31
BS_Column_deliverable=\u4ea4\u4ed8\u9805\u76ee
BS_Column_is_optional=\u9078\u7528
BS_Column_is_planned=\u898f\u5283
BS_Column_has_multiple_occurrences=\u591a\u6b21\u51fa\u73fe\u7684\u9805\u76ee

