#-------------------------------------------------------------------------------
# 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
providerName=Eclipse.org
pluginName=EPF Library Edit

_UI_Content_group=Method Content

_UI_Disciplines_group=Disciplines
_UI_Domains_group=Domains
_UI_WorkProductTypes_group=Work Product Kinds
_UI_Role_Sets_group=Role Sets
_UI_Tools_group=Tools
_UI_Standard_Categories_group=Standard Categories
_UI_Custom_Categories_group=Custom Categories
_UI_MethodContent_group=Content Packages
_UI_Categories_group=Categories

_UI_Processes_group=Processes
_UI_PlanningTemplates_group=Planning Templates

_UI_CapabilityPatterns_text=Capability Patterns
_UI_DeliveryProcesses_text=Delivery Processes
_UI_ProcessContributions_text=Differential Processes
_UI_PlanningTemplates_text=Planning Templates

_UI_CapabilityPattern_text=Capability Pattern
_UI_DeliveryProcess_text=Delivery Process
_UI_ProcessContribution_text=Differential Process

_UI_Configurations_text=Configurations

_UI_ProcessFamilies_text=Process Families

_UI_Uncategorized_text=Uncategorized
_UI_Uncategorized_Tasks_text=Uncategorized Tasks
_UI_Uncategorized_Roles_text=Uncategorized Roles

_UI_Guidances_group=Guidance
_UI_Guidances_Checklists=Checklists
_UI_Guidances_Concepts=Concepts
_UI_Guidances_Examples=Examples
_UI_Guidances_EstimationConsiderations=Estimation Considerations
_UI_Guidances_Practices=Practices
_UI_Guidances_Reports=Reports
_UI_Guidances_ReusableAssets=Reusable Assets
_UI_Guidances_Roadmap=Roadmap
_UI_Guidances_SupportingMaterials=Supporting Materials
_UI_Guidances_Techniques=Techniques
_UI_Guidances_Templates=Templates
_UI_Guidances_TermDefinitions=Term Definitions
_UI_Guidances_ToolMentors=Tool Mentors
_UI_Guidances_Whitepapers=Whitepapers
_UI_Guidances_WorkProductGuidelines=Guidelines
_UI_Key_Concepts=Key Concepts


_UI_Roles_group=Roles
_UI_Tasks_group=Tasks
_UI_WorkProducts_group=Work Products
_UI_Activities_group=Activities

# Breakdown structure column display names
BS_Column_name=Name
BS_Column_prefix=Prefix
BS_Column_id=Index
BS_Column_predecessors=Predecessors
BS_Column_is_repeatable=Repeatable
BS_Column_is_ongoing=Ongoing
BS_Column_is_event_driven=Event-Driven
BS_Column_entry_state=Entry State
BS_Column_exit_state=Exit State
BS_Column_teams=Team
BS_Column_type=Type
BS_Column_model_info=Model Info
BS_Column_presentation_name=Presentation Name
BS_Column_deliverable=Deliverable
BS_Column_is_optional=Optional
BS_Column_is_planned=Planned
BS_Column_has_multiple_occurrences=Multiple Occurrences

