#-------------------------------------------------------------------------------
# Copyright (c) 2005, 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

# Method Element Names (Singular)
activity_text=Activity
artifact_text=Artifact
capabilityPattern_text=Capability Pattern
checklist_text=Checklist
checkItem_text=Check Item
compositeRole_text=Composite Role
concept_text=Concept
contentPackage_text=Content Package
customCategory_text=Custom Category
deliverable_text=Deliverable
deliveryProcess_text=Delivery Process
descriptor_text=Descriptor
discipline_text=Discipline
disciplineGrouping_text=Discipline Grouping
domain_text=Domain
estimate_text=Estimate
estimatingMetric_text=Estimating Metric
estimationConsiderations_text=Estimation Considerations
example_text=Example
guidance_text=Guidance
guideline_text=Guideline
iteration_text=Iteration
methodConfiguration_text=Method Configuration
methodContent_text=Method Content
methodLibrary_text=Method Library
methodPackage_text=Method Package
methodPlugin_text=Method Plug-in
milestone_text=Milestone
outcome_text=Outcome
phase_text=Phase
practice_text=Practice
process_text=Process
processContribution_text=Differential Process
processFamily_text=Process Family
processPackage_text=Process Package
report_text=Report
reusableAsset_text=Reusable Asset
roadmap_text=Roadmap
roleDescriptor_text=Role Descriptor
role_text=Role
roleSet_text=Role Set
roleSetGrouping_text=Role Set Grouping
standardCategory_text=Standard Category
step_text=Step
supportingMaterial_text=Supporting Material
task_text=Task
taskDescriptor_text=Task Descriptor
teamProfile_text=Team Profile
template_text=Template
termDefinition_text=Term Definition
tool_text=Tool
toolMentor_text=Tool Mentor
whitepaper_text=Whitepaper
workProduct_text=Work Product
workProductDescriptor_text=Work Product Descriptor
workProductElement_text=Work Product Element
workProductType_text=Work Product Kind

# Method Element Names (Plural)
activity_text_plural=Activities
artifact_text_plural=Artifacts
capabilityPattern_text_plural=Capability Patterns
checklist_text_plural=Checklists
checkItem_text_plural=Check Items
compositeRole_text_plural=Composite Roles
concept_text_plural=Concepts
contentPackage_text_plural=Content Packages
customCategory_text_plural=Custom Categories
deliverable_text_plural=Deliverables
deliveryProcess_text_plural=Delivery Processes
descriptor_text_plural=Descriptors
discipline_text_plural=Disciplines
disciplineGrouping_text_plural=Discipline Groupings
domain_text_plural=Domains
estimate_text_plural=Estimates
estimatingMetric_text_plural=Estimating Metrics
estimationConsiderations_text_plural=Estimation Considerations
example_text_plural=Examples
guidance_text_plural=Guidances
guideline_text_plural=Guidelines
iteration_text_plural=Iterations
methodConfiguration_text_plural=Method Configurations
methodContent_text_plural=Method Contents
methodLibrary_text_plural=Method Libraries
methodPackage_text_plural=Method Packages
methodPlugin_text_plural=Method Plug-ins
milestone_text_plural=Milestones
outcome_text_plural=Outcomes
phase_text_plural=Phases
practice_text_plural=Practices
process_text_plural=Processes
processContribution_text_plural=Differential Processes
processFamily_text_plural=Process Families
processPackage_text_plural=Process Packages
report_text_plural=Reports
reusableAsset_text_plural=Reusable Assets
roadmap_text_plural=Roadmaps
roleDescriptor_text_plural=Role Descriptors
role_text_plural=Roles
roleSet_text_plural=Role Sets
roleSetGrouping_text_plural=Role Set Groupings
standardCategory_text_plural=Standard Categories
step_text_plural=Steps
supportingMaterial_text_plural=Supporting Materials
task_text_plural=Tasks
taskDescriptor_text_plural=Task Descriptors
teamProfile_text_plural=Team Profiles
template_text_plural=Templates
termDefinition_text_plural=Term Definitions
tool_text_plural=Tools
toolMentor_text_plural=Tool Mentors
whitepaper_text_plural=Whitepapers
workProduct_text_plural=Work Products
workProductDescriptor_text_plural=Work Product Descriptors
workProductElement_text_plural=Work Product Elements
workProductType_text_plural=Work Product Kinds

# Application title.
application_title={0} - {1}

# Open Method Library Wizard
openLibraryWizard_title=Open Method Library
openLibraryMainWizardPage_title=Specify a path containing a method library
openLibraryMainWizardPage_title_2=Select a method library
openLibraryMainWizardPage_text={0} stores methods and processes in a folder called \na method library. Select a method library folder to use for this session.
pathLabel_text=Path:
nameLabel_text=Name:
uriLabel_text=URI:
openUnlistedLibraryCheckbox_text=Open a method library that is not listed above
libraryTypeLabel_text=Type:
libraryLabel_text=Library:
browseButton_text=Browse...
promptForLibraryCheckbox_text=Use this as the default and do not ask again.
openLibraryDialog_newLibrary_text=No method library exists at ''{0}''.\nA new method library will be created and opened for you at the specified directory.\n\nClick OK to proceed or Cancel to specify another method library path.

# Select Method Library Folder Dialog
selectLibraryFolderDialog_title=Select Method Library
selectLibraryFolderDialog_text=Select a method library folder.

# Open Library Progress Message
openingLibraryTask_name=Opening method library...

# Open Method Library Error Dialog
openLibraryError_msg=IUPL0301E: Unable to create the method library.
openLibraryInternlError_reason=An internal error has occurred.
openLibraryError_reason1=The specified method library path ''{0}'' is invalid.
openLibraryError_reason2=A method library already exists in ''{0}''.
openLibraryError_reason3=The specified method library folder ''{0}'' cannot be created.
openLibraryError_reason4=The specified method library folder is a plugin or configuration specification export folder.
openLibraryError_advice=Select OK to specify another method library name or location.

# Open Method Library Error Messages
invalidLibraryPath_msg=IUPL0302E: Unable to open the specified method library.
invalidLibraryPath_reason=The selected method library folder is invalid, does not exist, or you do not have the proper permission to access it.\n\nClick OK to select another library folder.

# Read-only Project File Error Dialog
readOnlyProjectFile_text=IUPL0304E: ''{0}'' is read-only. Make it writable before continuing.
retryButton_text=Retry
cancelButton_text=Cancel

# Version Mismatch Dialog
versionMismatchDialog_text=IUPL305E: The selected library cannot be opened. You must upgrade {0} to version {1} or higher in order to open this library.
versionMismatchDialog_text_unknown=IUPL306E: The selected library cannot be opened. You must upgrade {0} to a higher version in order to open this library.

# Upgrade Method Library Dialog
upgradeLibraryDialog_title=Upgrade Method Library
upgradeLibraryDialog_text=The library you have selected needs to be upgraded to the new library structure.\n\nDo you want to proceed with the upgrade?
upgradingLibraryTask_name=Upgrading method library...

# Upgrade Library Error Dialog
upgradeLibraryError_msg=IUPL0306E: Failed to upgrade the method library. Please see the log file for more details.

# Switch Configuration Dialog
switchConfigDialog_title=Switch Configuration
switchConfigDialog_text=Do you want to switch the current configuration to the default configuration, ''{0}'', associated with the selected process?
	
# Configuration Combo
currentConfigLabel_text=Current configuration:
selectConfigLabel_text=Select a configuration

# Delete Files Confirmation Message
deleteFilesConfirmation_msg=The specified path ''{0}'' already exists. All files in the folder will be deleted. Do you want to proceed?

# Paths/Files Error Messages
deleteFilesError_reason=The path ''{0}'' contains one or more files that cannot be deleted.\n\nSelect another path and try again.
createPathError_reason=Unable to create path ''{0}''.\n\nSelect another path and try again.
invalidPath_msg=The specified path is not valid.

# Backup Library Dialog
backupLibraryDialog_title=Backup Library
backupLibraryDialog_text=It is strongly recommended that you back up the current method library before proceeding.\n\nClick OK to create a backup copy of the library in the specified directory. Click Skip to continue without creating the backup.
backingUpLibraryTask_name=Making a backup copy of library files ...

# Path Selection Dialog
pathSelectionError_msg=Unable to create dir
okButton_text=OK
skipButton_text=Skip

# Process Editor preferences
alwaysButton_text=Always
neverButton_text=Never
promptButton_text=Prompt

# Add Link Dialog
linkToURL_name=URL
linkToFile_name=File
elementLink_name=Method element
elementLinkWithType_name=Method element with type prefix
elementLinkWithUserText_name=Method element with custom text

# Convert Activity Type Dialog
convertActivityDialog_title=Convert Activity Type
convertActivityDialog_text=Select the target activity type.
unsupportedActivityType_msg=IUPL0307E: This activity cannot be converted to another type.
unsupportedActivityType_reason=There is no compatible activity type for {0}.

# Select Process Wizard Page
selectProcessWizardPage_title=Select process
selectProcessWizardPage_text=Select a capability pattern or delivery process to export.
processesLabel_text=Processes:
briefDescriptionLabel_text=Brief description:

# Export Process Wizard Error Message.
noOpenLibraryWarning_msg=IUPL0308E: No method library is currently opened. Click Cancel, open a method library or create a new one, and run this wizard again. 

#Moved from authoring ui to avoid authoringui dependency
errorDialog_title=Error
MethodElementDeleteAction_deleteconfirm_text=Are you sure you want to delete ''{0}''?
confirmDeleteDialog_title=Confirm Deletion
confirmDeleteDialog_msg=Are you sure you want to delete ''{0}''?
confirmDeleteDialog_msgWithReference=Are you sure you want to delete ''{0}''?\n\nThe following element(s) contain references to the item(s) to be deleted: {1}
ProcessDeleteAction_deletecofirm_text=This will save the current editor and the change will be permanent. Are you sure you want to delete ''{0}''?
