# NLS_ENCODING=UNICODE
#-------------------------------------------------------------------------------
# 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

# 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 plug-in or configuration specification export folder.
openLibraryError_advice=Select OK to specify another method library path.

# 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.
overrideCurrentLibraryError_msg0=You cannot export to a path containing current method library, please select another path and try again.

# 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=Backing up library files ...

# Copy Library Dialog
copyLibraryDialog_title=Copy Library
copyLibraryDialog_text_readOnlyLib=The library you are opening is a default library supplied with the composer.  We highly recommend that you make a working copy of this library for editing.\n\nEnter a location and library name for the new library and click "Copy" to make a working copy.\n\nClick "Skip" to continue editing the default library in the current location. The editing capability for the default library is restricted by the access permissions enforced by your platforms.
copyLibraryTask_name=Making a copy of the library files ...
copyLibraryDialog_copyButton_text=Copy

# Path Selection Dialog
pathSelectionError_msg=Unable to create directory
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 plug-in to avoid Authoring UI 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}''?

# Save Method Library Dialog
saveLibraryDialog_title=Save Method Library
saveLibraryDialog_text=The current method library has been modified. Do you want to save the changes?

# Save Method Library Error Messages
saveLibraryError_msg=IUPL0308E: The method library cannot be saved.
error_reason=An error has occurred.\n\nClick Details for more information.

# ElementTreeContentProvider Strings
elementTCProvider_methodContent=Method Content
elementTCProvider_contentPackages=Content Packages
elementTCProvider_standardCategories=Standard Categories
elementTCProvider_disciplines=Disciplines
elementTCProvider_domains=Domains
elementTCProvider_workProductTypes=Work Product Types
elementTCProvider_roleSets=Role Sets
elementTCProvider_tools=Tools
elementTCProvider_customCategories=Custom Categories
elementTCProvider_processes=Processes
elementTCProvider_capabilityPatterns=Capability Patterns
elementTCProvider_deliveryProcesses=Delivery Processes

