#-------------------------------------------------------------------------------
# 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
# The UI text in the XSL stylesheets.

#
# begin element type text section
# user can customize the type text before publishing
#
activityText=Activity
artifactText=Artifact
capabilityPatternText=Capability Pattern
checklistText=Checklist
compositeRoleText=Composite Role
conceptText=Concept
customCategoryText=Custom Category
deliverableText=Deliverable
deliveryProcessText=Delivery Process
disciplineText=Discipline
disciplineGroupingText=Discipline Grouping
domainText=Domain
estimationConsiderationsText=Estimation Considerations
exampleText=Example
guidelineText=Guideline
iterationText=Iteration
milestoneText=Milestone
outcomeText=Outcome
phaseText=Phase
practiceText=Practice
reportText=Report
reusableAssetText=Reusable Asset
roadmapText=Roadmap
roleText=Role
roleDescriptorText=Role Descriptor
roleSetText=Role Set
roleSetGroupingText=Role Set Grouping
supportingMaterialText=Supporting Material
taskText=Task
taskDescriptorText=Task Descriptor
teamProfileText=Team Profile
templateText=Template
termDefinitionText=Term Definition
toolText=Tool
toolMentorText=Tool Mentor
whitepaperText=Whitepaper
workProductDescriptorText=Work Product Descriptor
workProductTypeText=Work Product Kind
workProductSlotText=Work Product Slot

#
# end element type text section
#

#
# other layout text below
#
additionalInfoText=Additional Information
additionalPerformerText=Additional Performers
aggregatesText=Aggregates
alternativesText=Alternatives
applicationText=Application

assetsText=Assets
assignmentApproachesText=Assignment Approaches
assistingText=Assisting
attachedFilesText=Attached Files
backgroundText=Background
briefOutlineText=Brief Outline
categoriesText=Categories
checkItemsText=Check Items
checklistsText=Checklists
collapseAllText=Collapse All Check Items

conceptsText=Concepts
containedArtifactsText=Contained Artifacts
containerArtifactText=Container Artifact
contentElementsText=Categorized Elements
contentReferencesText=Content References

deliverablePropertiesText=Deliverable Properties
deliveredPartsText=Deliverable Parts
deliveredWorkProductsText=Delivered Work Products
dependentText=Dependent Work Products
descriptionText=Description
descriptorsText=Descriptors

disciplinesText=Disciplines
subdisciplinesText=Subdisciplines

domainsText=Domains
examplesText=Examples
expandAllText=Expand All Check Items
extendsText=Extends
externalText=External
externalDescriptionText=External Description
goalsText=Goals
guidelinesText=Guidelines
illustrationsText=Illustrations	
impactOfNotHavingText=Impact of not having
impactingText=Impacting Work Products
inputsText=Inputs
inputToText=Input To
itemsText=Items
keyConsiderationsText=Key Considerations
levelsOfAdoptionText=Levels of Adoption
mandatoryText=Mandatory
mainText=Main
mainDescriptionText=Main Description
mainResponsibleText=Main Responsible
methodText=Method Work Product
modifiedByText=Modified By
moreInfoText=More Information
notationText=Notation
optionalText=Optional

outputFromText=Output From
outputsText=Outputs
packagingInstructionsText=Packaging Instructions
packagingGuidanceText=Packaging Guidance
performingRolesText=Performing Roles
primaryPerformerText=Primary Performer
problemText=Problem
propertiesText=Properties
purposeText=Purpose
reasonsForNotNeedingText=Reasons for not needing
referenceWorkflowsText=Reference Workflows
relatedElementsText=Related Elements
relationshipsText=Relationships
reportsText=Reports
representationOptionsText=Representation Options
responsibleText=Responsible
responsibleForText=Responsible for
reusableAssetsText=Reusable Assets

rolesText=Roles
roleSetsText=Role Sets
skillsText=Skills
staffingText=Staffing
stepsText=Steps
subcategoriesText=Sub-Categories	
subdomainsText=Subdomains
subPracticesText=Sub-Practices
superTeamText=Super-Team Profile
supportingMaterialsText=Supporting Materials
subteamsText=Sub-Teams Profiles
synonymsText=Synonyms
tailoringText=Tailoring

tasksText=Tasks
tbsText=Team Allocation

teamRolesText=Team Profile Roles
techniquesText=Guidelines
templatesText=Templates
toolMentorsText=Tool Mentors

usageText=Usage
wbsText=Work Breakdown Structure
whitepapersText=Whitepapers
workProductsText=Work Products
workProductTypesText=Work Product Kinds
wpbsText=Work Product Usage
workBreakdownText=Work Breakdown
workflowText=Workflow
workProductBreakdownText=Work Product Breakdown
workProductDependenciesText=Work Product Dependencies
teamProfileBreakdownText=Team Breakdown
teamStructureText=Team Structure
pageNotInstalledText=Page Not Installed
elementDoesNotExistText=Element Does Not Exist
isNotValidText=The referenced element is not a valid element in the current library.
elementMightBeDeletedText=The element may have been deleted from the library.
pleaseFixLinkText=Please check your content library and fix the link.
infoAboutMissingElementText=Information about the missing element:
elementNameText=Element Name:
guidText=GUID:
missingElementText=Referenced page is not in this configuration
notAvailableText=The referenced page is not available in the current configuration. This page may be available in another process configuration.
elementTypeText=Element Type:
pluginNameText=Plug-in Name:
predecessorText=Predecessor
planningDataText=Planning Data
multipleOccurrencesText=Multiple Occurrences
eventDrivenText=Event Driven
ongoingText=Ongoing
plannedText=Planned
repeatableText=Repeatable
usageGuidanceText=Usage Guidance
activityEntryStateText=Activity Entry State
activityExitStateText=Activity Exit State
prefixText=Prefix
externalIdText=External Id
scopeText=Scope

typeofContractText=Type of Contract
projectCharacteristicsText=Project Characteristics
projectMemberExpertiseText=Project Member Expertise
riskLevelText=Risk Level
scaleText=Scale
usageNotesText=Usage Notes
contextText=Context
parentActivitiesText=Parent Activities
includedPatternsText=Included Patterns

communicationsMaterialsText=Communications Materials
educationMaterialsText=Education Materials
estimatingTechniqueText=Estimating Technique
additionalText=Additional
modifiesText=Modifies
additionallyPerformsText=Additionally Performs
indexText=Index
breakdownElementText=Breakdown Element
predecessorsText=Predecessors
typeText=Type

modelInfoText=Model Info
entryStateText=Entry State
exitStateText=Exit State
teamText=Team
parentPackageText=Parent Package
containedPackagesText=Contained Packages
contentsText=Contents
basedOnMethodRoleText=Based on Method Role
basedOnMethodTaskText=Based on Method Task
basedOnMethodWorkProductText=Based on Method Work Product
summaryText=Summary
performsText=Performs
replacesText=Replaces
contributesText=Contributes
noneText=None

activityReferencesText=Activity References
nameText=Name
presentationNameText=Presentation Name
representationText=Selected Representation
projectSpecificsText=Project Specifics
extendsReplacesText=Extends and Replaces
workProductText=Work Product
processUsageText=Process Usage

fulfilledSlotsText=Fulfilled Slots
fulfillingWorkProductsText=Fulfilling Work Products