#-------------------------------------------------------------------------------
# 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

# Generic Dialog Titles
moveDialog_title=Move
deleteDialog_title=Delete Element
errorDialog_title=Error
errorDialog_cannotRename=Cannot rename {0} ''{1}'' to ''{2}''. Resolve the issue shown in Details and click OK to continue or Cancel to abort this operation.

# Confirm References Removal Dialog
deleteReferencesDialog_title=Confirm References Removal
deleteReferencesDialog_text=The element(s) you are about to delete are still being referenced by other elements in the method library. Deleting these elements will remove references to them, therefore, will update the referring elements as well.  Make sure you have permission to update the referring elements before clicking OK.  Click Details to review the list of elements that reference the element(s) that you are about to delete.

# Resolve Name Conflict Dialog
resolveNameConflictDialog_title=Resolve Element Name Conflict
resolveNameConflictDialog_text=Enter a new {0} for ''{1}'':

# Select Deliverables Dialog
selectDeliverablesDialog_title=Select Deliverables
selectDeliverablesDialog_text=Select a deliverable where you want work product ''{0}'' to be assigned.

# New Process Component Dialog
newProcessComponentDialog_title=New Process Component
nameLabel_text=Name:
defaultConfigLabel_text=Default Configuration:
baseProcessLabel_text=Base Process:
basedOnProcessesLabel_text=Based on Processes:
SpecifyNameText=Specify a valid name.

# Role Association Dialog
selectAssociationLabel_text=Select association for the task ''{0}''

# Remove Association dialog
removeAssociationDialog_text=Remove Association

# Select Teams Dialog
selectTeamsDialog_title=Select Teams
selectTeamsDialog_text=Select a team where you want a role ''{0}'' to be assigned.

# Task Selection Dialog
taskSelectionDialog_title=Task Selection
titleLabel_text=Select tasks..

# Error Messages
emptyElementNameError_msg=IUPL0100E: The {0} name is missing.\nAll method and process elements must have a name.\nEnter a valid name and try again.
emptyElementNameError_simple_msg=The name cannot be empty. Please specify a valid name.
duplicateElementNameError_msg=IUPL0101E: The name ''{0}'' already exists.\nA method element must have a unique name.\nEnter a different name and try again.
duplicateElementNameError_msg2=Enter a different name and try again.
duplicateElementNameError_simple_msg=The name already exists. Please specify another name.
invalidElementNameError1_msg=IUPL0102E: The name ''{0}'' is invalid.\nA method element name cannot start with a space.\nEnter a valid name and try again.
invalidElementNameError2_msg=IUPL0103E: The name ''{0}'' is invalid.\nA method element name cannot end with a period.\nEnter a valid name and try again.
invalidElementNameError3_msg=IUPL0104E: The name ''{0}'' is invalid.\nA method element name cannot contain these characters: \\ / : * ? " < > ; |\nEnter a valid name and try again.
invalidElementNameError4_msg=IUPL0105E: The name ''{0}'' is invalid.\nA method element name cannot contain the character: &\nEnter a valid name and try again.
invalidPluginNameError_msg=IUPL0121E: The name ''{0}'' is invalid.\nA method plug-in''s name cannot contain these characters: \\ / : * ? " < > ; | # % ''\nEnter a valid name and try again.
filePathNameTooLong_msg=File path name too long (exceeding ''{0}'') 
noConfigError_msg=The current method library does not contain any method configuration.\nA method configuration is needed to create a new process.\nCreate a method configuration and try again.
noDeliveryProcessError_msg=IUPL0106E: The current method library does not contain any delivery processes.\nA base delivery process is needed to create a new process contribution.\nCreate a delivery process and try again.
noDefaultConfigError_msg=IUPL0107E: No method configuration has been selected.\nA default method configuration must be assigned to the new process.\nSelect a method configuration and try again.
noBaseProcessError_msg=IUPL0108E: No delivery process has been selected.\nA process contribution requires a base delivery process.\nSelect a delivery process and try again.
createProcessError_msg=IUPL0109E: The process cannot be created successfully.
createElementError_msg=IUPL0110E: The element cannot be created successfully.
deleteElementError_msg=IUPL0111E: The element cannot be deleted successfully.
duplicateContentFileError_msg=IUPL0112E: The content file for the element cannot be created or renamed to match the element name.\n\nA file ''{0}'' already exists.\n\nEnter a different name and try again.
duplicateContentFileError_simple_msg=A content file with the same name exits. Please specify another name.
undoCommandError_msg=IUPL0113E: The undo command ''{0}'' cannot be completed.\n\nAn error has occurred: {1}
invalidPredecessorError_msg=IUPL0114E: The specified predecessor index is invalid.\n\nA predecessor index must be an integer value from the 'Index' column.\n\nSpecify a valid value and try again.
UserInteractionHelper_errRelationshipExists=IUPL0100W: ''{0}'' is already associated to ''{1}''.  Only one association of this kind is allowed.  To assign ''{0}'' to ''{2}'' you need to first remove it from ''{1}''.
error_msgWithDetails=IUPL0116E: An error has occurred. Click Details for more information.
error_msg=IUPL0117E: An error has occurred. See error log for more details.
Suppression_nameDuplication=IUPL0118E: Name conflict will occur after this operation. Check element's name for duplication and try again
Suppression_presentationNameDuplication=IUPL0119E: Name conflict will occur after this operation. Check element's presentation name for duplication and try again

# Error Reasons
error_reason=An error has occurred. Click Details for more information.
saveProcessError_reason=An error has occurred while saving the process ''{0}''. Click Details for more information.
deleteReferencesError_reason=An error has occurred while removing references associated with this element. Click Details for more information.
saveFileError_reason=An error has occurred while saving the file ''{0}''. Click Details for more information.
invalidReferencesError_reason=Detected method elements with invalid references as a result of cross plug-in copy.\nThese references will be removed. Do you want to continue?
unresolvedObjectError_reason=Cannot modify an unresolved object: {0}(URI = {1}){2}

# Warning messages
MethodElementAddCommand_originalNotFoundWarning_msg=IUPL0118W: Could not find one or more source elements. Associated files in the resources folder will not be copied.
ActivityAddCommand_originalNotFoundWarning_msg=IUPL0119W: Could not find one or more source elements. Associated Process Packages will not be copied.
ActivityDropCommand_deepCopy_promptConfigurationMsg=Do you want to copy all descriptors?\n\nClicking on No will copy only the descriptors that are part of the current configuration.
deepCopy_promptMsg=You will get a copy of all dynamically linked elements that you need to maintain separately from now on. Do you want to continue?
deepCopy_title=Deep Copy
activity_deep_copy_variability_prompt=The source activity might have external contributions or replacements.\nDo you want to copy them as well?\n\nClicking on No will copy only the original activity.

# Progress messages
creatingProcessComponentTask_name=Creating process component ''{0}''...
processingReferencesTask_name=Processing references...
deletingElementsTask_name=Deleting elements and associated files...
checkingReferencesTask_name=Checking for references...
removingReferencestask_name=Removing references...
savingModifiedFilesTask_name=Saving modified file(s)...
checkAffectedResourcesTask_name=Checking affected resources...
movingTask_name=Moving...
movingFilesTask_name=Moving files...
copyingResourcesTask_name=Copying resources...
copyingActivities_msg=Copying activity ''{0}''
savingFileTask_name=Saving file ''{0}''...
savingResources_msg=Saving resources

# UI Text
element_text=element
createElement_text=Create Element
createProcess_text=Create Process
contributesTo_text=Contributes to
localContributesTo_text=Locally Contributes to
extends_text=Extends
replaces_text=Replaces
extends_replaces_text=Extends and Replaces
localReplaces_text=Locally Replaces
localReplacementAndDeepCopy_text=Local Replacement and Deep Cop&y
elementType_text={0}: {1}
deliverables_text=Deliverables
contributeToActivity_text=Contribute To Activity
ActivityDropCommand_label=Drop Activity
replaceActivity_text=Replace Activity
file_text=file
directory_text=directory
unresolved_text=(unresolved ''{0}'')
assists_text=Assists
unknown_text=Unknown
command_done=Done

# The following UI text should be reviewed.
Util_labelpath_variabilitywithplugin_info={0} ({1} ''{2}'' in ''{3}'')
Util_labelpath_variability_info={0} ({1} ''{2}'')
ui_ref_delete=The descriptor ''{0}'' has the following references which are not used anywhere.\nSelect the ones which you would like to delete:
ui_ref_delete2=These following references are not being used anywhere.\nSelect the ones which you would like to delete:
ui_references=References
ui_workproduct_descriptor_description=Work product descriptor ''{0}'' is associated (Output From) with task descriptor ''{1}''
ui_workproductdescriptor_options=Options
ui_workproductdescriptor_outputlabel=Remove work product descriptor as output of the task descriptor
ui_workproductdescriptor_delete_task=Delete task descriptor from the activity
ui_UserInteractionHelper_defaultconfigcheck=The selected element ''{0}'' is not in the default configuration of your process.\nDo you want to add it and its dependencies to the default configuration?
ui_UserInteractionHelper_genericErr_message_text=Errors occurred in the operation. Click on details for more information
ProcessAutoSynchronizeAction_noDescriptorToSynch=No descriptor with linked method element found to synchronize
util_configurablecomposedadapter_refershingviewer=Error refreshing viewer
confirm_remove_references_text=Element(s) listed in Details might have illegal references to this guidance after conversion. Click OK to remove them and continue.
confirmDescriptorsDeletion_title=Confirm Descriptors Deletion
confirmDescriptorsDeletion_msg=The element(s) you are about to delete are still being referenced by descriptors in the method library.  Click Yes if you want to delete these descriptors as well.  Make sure you have permission to delete the descriptors before clicking Yes.  Click Details to review the list of descriptors that reference the element(s) that you are about to delete.
util_configurablecomposedadapter_unhandled_exception=Unhandled exception
util_ProcessUtil_err_same_breakdown_element=Cannot have the same breakdown element as predecessor and successor
ui_UserInteractionHelper_wplistdlg_msg=The work product ''{0}'' is an output to the following tasks.\nSelect the tasks for which you would like to create the corresponding descriptors.
ui_UserInteractionHelper_rolelistdlg_msg=The role ''{0}'' has the following responsible work products.\nSelect the work products for which you would like to create the corresponding descriptors.
util_configurablecomposedadapter_fatalerr=Fatal error
ui_UserInteractionHelper_workproducts=Work Products
util_ProcessUtil_err_same_sub_element=Cannot link a breakdown element to one of its sub-element.
util_ProcessUtil_err_wrong_element=Cannot link to element other than work breakdown element.
util_ProcessUtil_err_child_element=Cannot link a breakdown element to one of its children.
ui_UserInteractionHelper_tasks=Tasks
ui_association_task_selection=Task Selection...
util_ProcessUtil_childadapter=\ \ child's adapter:

util_ProcessUtil_err_setparent=Could not set parent for child
util_tngutil_cannot_edit_resource=Cannot edit resource.
util_ProcessUtil_contributesto=contributes to ''{0}''
util_ProcessUtil_localContributesto=locally contributes to ''{0}''
process_extends=extends ''{0}''
process_replaces=replaces ''{0}''
process_localReplaces=locally replaces ''{0}''
# Filter constants externalized strings.
FilterConstants_disciplines_text=Disciplines
FilterConstants_disciplinegroupings_text=Discipline Groupings
FilterConstants_whitepapers_text=Whitepapers
FilterConstants_toolmentors_text=Tool Mentors
FilterConstants_tools_text=Tools
FilterConstants_roles_text=Roles
FilterConstants_tasks_text=Tasks
FilterConstants_reusableassets_text=Reusable Assets
FilterConstants_all_text=All
FilterConstants_processes_text=Processes
FilterConstants_activities_text=Activities
FilterConstants_practices_text=Practices
FilterConstants_templates_text=Templates
FilterConstants_workproducts_text=Work Products
FilterConstants_checklists_text=Checklists
FilterConstants_guidelines_text=Guidelines
FilterConstants_rolesets_text=Role Sets
FilterConstants_guidance_text=Guidance
FilterConstants_concepts_text=Concepts
FilterConstants_examples_text=Examples
FilterConstants_contentpackages_text=Content Packages
FilterConstants_roledescriptors_text=Role Descriptors
FilterConstants_rolesetgropuings_text=Role Set Groupings
FilterConstants_taskdescriptors_text=Task Descriptors
FilterConstants_contentelements_text=Content Elements
ProcessAutoSynchronizeAction_prepare=Preparing synchronization...
FilterConstants_workproductdescriptors_text=Work Product Descriptors
FilterConstants_allcontentelements_text=All Content Elements
FilterConstants_supportingmaterials_text=Supporting Materials
MethodElementAddCommand_errorSavingFiles=Error saving file(s)
FilterConstants_customcategories_text=Custom Categories
FilterConstants_workproducttypes_text=Work Product Kinds
DeleteMethodElementCommand_warningMsg=Deletion completed with warning
FilterConstants_methodplugins_text=Method Plug-ins
UserInteractionHelper_lockedPlugin=IUPL0120E: The plug-in ''{0}'' is locked.
FilterConstants_domains_text=Domains
FilterConstants_roadmap_text=Roadmaps
FilterConstants_reports_text=Reports
AutoSynchronizeCommand_label=Default S&ynchronization from Method Content
ManualSynchronizeCommand_label=Custom Synchroni&zation...
SynchronizeCompleteDialog_Title=Synchronization Complete
AutoSynchronizeCommand_sucessful=Synchronization has been completed successfully.
selectDescriptorsToDelete_msg=The following descriptors are not used anywhere after deletion of the selected elements.\nSelect descriptors you want to delete.

CreateProcessComponentCommand_Message=Specify name and default configuration for the {0} to be created.
# UserInteractionHelper
UserInteractionHelper_ProcessPackage_Name=Name:

# MethodCreateChildCommand
newElement_text=New {0}
update_outofsynch_title=Update conflict
update_outofsynch_msg=The file(s) has been changed on the file system. Do you want to overwrite the changes?
duplicateFeatureValue=Cannot have 2 elements under ''{0}'' with the same value for ''{1}''
apply_pattern_error_msg=Cannot apply activity ''{0}'' to the process ''{1}'' since it will result in circular dependency.
apply_pattern_error_msg1=Cannot apply activity ''{0}'' to the process ''{1}'' since ''{0}'' already has one or more contributed/replaced activities as its children.
activity_variability_error_msg1=Activity ''{0}'' cannot set variability with one of its direct parent.
activity_variability_error_msg2=Activity ''{0}'' cannot set variability with ''{1}'' since it will result in circular dependency.
activity_variability_error_msg3=Cannot replaces a top process with an activity.
activity_variability_error_msg=Activity ''{0}'' cannot set variability with ''{1}'' since ''{1}'' already has one or more contributed/replaced activities as its children.
variability_error_msg=Variability element ''{0}'' cannot set variability with ''{1}'' since it will result in circular dependency.
circular_dependency_error_msg=Cannot perform the operation since it will result in circular dependency.

# Validation messages
variability_element_circular_loop_error_msg=Circular dependency loop detected ... 
replacing_ancestor_error_msg=Replacing an ancestor error is detected.
cannot_copy_or_extend_delivery_process=Cannot copy or extend a delivery process or any of its activities.

# Sort options
SortType_Label=Sort Type:
SortType_Manual=Manual
SortType_Alphabetic=Alphabetic
SortType_ReverseAlphabetic=Reverse Alphabetic
SortType_MethodType=Element Type

WorkOrderTypeAbbreviation_FINISH_TO_START=FS
WorkOrderTypeAbbreviation_FINISH_TO_FINISH=FF
WorkOrderTypeAbbreviation_START_TO_FINISH=SF
WorkOrderTypeAbbreviation_START_TO_START=SS
