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

# Form Page Titles
assignPage_title=Assign
categoriesPage_title=Categories
deliverablePartsPage_title=Deliverable Parts
descriptionPage_title=Description
disciplinesPage_title=Disciplines
discardunresolvedref=Discard unresolved references
guidancePage_title=Guidance
previewPage_title=Preview
referencesPage_title=References
reference_text=References:
referenceWorkflowPage_title=Reference Workflow
rolesPage_title=Roles
roleSetsPage_title=Role Sets
stepsPage_title=Steps
tasksPage_title=Tasks
toolMentorsPage_title=Tool Mentors
workProductsPage_title=Work Products

# Section Names & Description
checkItemsSection_name=Check Items
checkItemsSection_desc=Specify the check items that constitute this checklist.
dependenciesSection_name=Dependencies
dependenciesSection_desc=This section displays dependencies of this content package to other content packages.
detailSection_name=Detail Information
detailSection_desc=Provide detailed information about this {0}.
generalInfoSection_name=General Information
generalInfoSection_desc=Provide general information about this {0}.
iconSection_name=Icon
iconSection_desc=Customize the icons for this {0}.
notationSection_name=Delivery Information
notationSection_desc=Provide delivery information about this {0}.
referencedPluginsSection_name=Referenced Plug-ins:
referencedPluginsSection_desc=This section displays plug-ins referenced by this method plug-in.
staffingSection_name=Staffing Information
staffingSection_desc=Provide staffing information about this role.
stepsSection_name=Steps
stepsSection_desc=Specify the steps to perform this task.
tailoringSection_name=Tailoring
tailoringSection_desc=Provide tailoring information about this {0}.
variabilitySection_name=Content Variability
variabilitySection_desc=Specify how this {0} relates to another {0}.
versionInfoSection_name=Version Information
versionInfoSection_desc=Provide version information about this {0}.

# UI & Element Attribute Labels
additionalInfo_text=Additional information:
application_text=Application:
actionLabel_edit=&Edit
actionLabel_findElementInLibNav=&Show in Library View
alternatives_text=Alternatives:
assignmentApproaches_text=Assignment approaches:
authors_text=Authors:
background_text=Background:
baseElement_text=Base:
baseGuidance_text=Base guidance:
briefDescription_text=Brief description:
description_text=Description:
backupbeforesave_text=Back up before save
briefOutline_text=Brief outline:
changeDate_text=Change date:
changeDescription_text=Change description:
checkItems_text=Check Items
contributes_text=Contributes
localContributes_text=LocalContributes
contributes_to_text=Contributes to
copyright_text=Copyright:
editor_text=Editor
extends_text=Extends
extend_text=Extend
externalDescription_text=External description:
externalId_text=External ID:
goals_text=Goals:
impactOfNotHaving_text=Impact of not having:
keyConsiderations_text=Key considerations:
levelsOfAdoption_text=Level of adoption:
mainDescription_text=Main description:
newElement_text=New {0}
name_text=Name:
notApplicable_text=Not applicable
packagingGuidance_text=Packaging guidance:
presentationName_text=Presentation name:
promptforlibary_text=Prompt for method library on startup
enableHealthCheck_text=Enable internal debug tools
problem_text=Problem:
purpose_text=Purpose:
reasonForNotNeeding_text=Reason for not needing:
replaces_text=Replaces
localReplaces_text=LocalReplaces
extendsReplaces_text=ExtendsReplaces
representationOptions_text=Representation options:
attachedFile_text=Attached file(s):
skills_text=Skills:
steps_text=Steps:
steps_name_text=Name:
stop_text=Stop
print_text=Print
synonyms_text=Synonyms:
type_text=Type:
copy_text=Copy
deepCopy_text=Deep Copy
back_text=Back
new_plugin=Ne&w Method Plug-in
move=&Move...
uniqueId_text=Unique ID:
variabilityType_text=Variability type:
version_text=Version:

# Button Labels
addButton_text=Add...
attachButton_text=Attach...
browseButton_text=Browse...
changeTypeButton_text=Change Type...
clearButton_text=Clear
deleteButton_text=Delete
detachButton_text=Detach
diagram_saveError=Error saving diagram
downButton_text=Down
directory_text=Directory:
orderButton_text=Order
editButton_text=Edit...
removeButton_text=Remove
renameAction_text=Ren&ame...
remove_text=Remove
rename_text=Rename
SaveAs_text=Save As
selectButton_text=Select...
deselectButton_text=Deselect
upButton_text=Up
makeDefaultButton_text=Make Default
viewHistoryButton_text=View History...

# Role Editor Tasks Page
roleTasksPage_sectionName=Tasks
roleTasksPage_sectionDescription=This role is the performer of the following tasks.
roleTasksPage_availableLabel=Available tasks
roleTasksPage_selectedLabel=Primary performer:
roleTasksPage_selectedLabel2=Additional performer:
roleTasksPage_multipleSelectDescription={0} tasks have been selected.

# Role Editor Work Products Page
roleWorkProductsPage_sectionName=Work Products:
roleWorkProductsPage_sectionDescription=Specify work products that this role is responsible for.
roleWorkProductsPage_availableLabel=Available work products:
roleWorkProductsPage_selectedLabel=Responsible for:
roleWorkProductsPage_selectedLabel2=Work products that are output of tasks that this role performs:
roleWorkProductsPage_multipleSelectDescription={0} work products have been selected.

# Role Editor Guidance Page
roleGuidancePage_sectionName=Guidance
roleGuidancePage_sectionDescription=Provide links to additional information in the form of guidance.
roleGuidancePage_availableLabel=Available Guidance:
roleGuidancePage_selectedLabel=Guidance:
roleGuidancePage_multipleSelectDescription={0} guidance have been selected.

# Role Editor Categories Page
roleCategoriesPage_sectionName=Categories:
roleCategoriesPage_sectionDescription=Manage the categories to which this role belongs.
roleCategoriesPage_availableLabel=Role Sets:
roleCategoriesPage_availableLabel2=Custom Categories:
roleCategoriesPage_selectedLabel=Role sets:
roleCategoriesPage_selectedLabel2=Custom categories:

# Task Editor Roles Page
taskRolesPage_sectionName=Roles
taskRolesPage_sectionDescription=Assign the roles to perform this task.
taskRolesPage_availableLabel=Available roles:
taskRolesPage_selectedLabel=Primary performer:
taskRolesPage_selectedLabel2=Additional performers:
taskRolesPage_multipleSelectDescription={0} roles have been selected.
taskRolesPage_primaryPerformer_modify_message=IUPA00045W: Do you want to change the primary performer to ''{0}''?
taskRolesPage_confirm_title=Confirm primary role change

# Task Editor Work Products Page
taskWorkProductsPage_sectionName=Work Products
taskWorkProductsPage_sectionDescription=Specify the input and output work products for this task.
taskWorkProductsPage_availableLabel=Available Work Products
taskWorkProductsPage_selectedLabel=Mandatory inputs:
taskWorkProductsPage_selectedLabel2=Optional inputs:
taskWorkProductsPage_selectedLabel3=Outputs:
taskWorkProductsPage_multipleSelectDescription={0} work products have been selected.

# Task Editor Guidance Page
taskGuidancePage_sectionName=Guidance
taskGuidancePage_sectionDescription=Provide links to addtional information in the form of guidance.
taskGuidancePage_availableLabel=Available Guidance:
taskGuidancePage_selectedLabel=Guidance:
taskGuidancePage_multipleSelectDescription={0} guidances have been selected.

# Task Editor Categories Page
taskCategoriesPage_sectionName=Categories
taskCategoriesPage_sectionDescription=Manage the categories to which this task belongs.
taskCategoriesPage_availableLabel=Disciplines
taskCategoriesPage_availableLabel2=Custom Categories
taskCategoriesPage_selectedLabel=Disciplines:
taskCategoriesPage_selectedLabel2=Custom categories:

# Work Product Editor Tasks Page
WorkProduct_Tasks_SectionName=Tasks
WorkProduct_Tasks_SectionDescription=This work product is an input or output for the following tasks.
WorkProduct_Tasks_AvailableLabel=Available tasks
WorkProduct_Tasks_SelectedLabel=Mandatory input:
WorkProduct_Tasks_SelectedLabel2=Optional input:
WorkProduct_Tasks_SelectedLabel3=Output:
WorkProduct_Tasks_MultipleSelectDescription={0} tasks have been selected.

# Work Product Editor Roles Page
workProductRolesPage_sectionName=Roles
workProductRolesPage_sectionDescription=The following roles are responsible for or modify this work product.
workProductRolesPage_availableLabel=Available roles
workProductRolesPage_selectedLabel=Responsible role:
workProductRolesPage_selectedLabel2=Modifying roles:
workProductRolesPage_multipleSelectDescription={0} roles have been selected.

## Work Product Editor Deliverable Parts Page
workProductDeliverablePartsPage_sectionName=Deliverable Parts
workProductDeliverablePartsPage_sectionDescription=Specify the work products that constitute this deliverable.
workProductDeliverablePartsPage_availableLabel=Available work products as deliverable parts:
workProductDeliverablePartsPage_selectedLabel=Work products as deliverable parts:
workProductDeliverablePartsPage_multipleSelectDescription={0} work products have been selected.

# Work Product Editor Guidance Page
workProductGuidancePage_sectionName=Guidance
workProductGuidancePage_sectionDescription=Provide links to addtional information in the form of guidance.
workProductGuidancePage_availableLabel=Available Guidance:
workProductGuidancePage_selectedLabel=Guidance:
workProductGuidancePage_multipleSelectDescription={0} guidances have been selected.

# Work Product Editor Categories Page
workProductCategoriesPage_sectionName=Categories
workProductCategoriesPage_sectionDescription=Manage the categories to which this work product belongs.
workProductCategoriesPage_availableLabel=Domains
workProductCategoriesPage_availableLabel2=Work Product Kinds:
workProductCategoriesPage_availableLabel3=Custom Categories:
workProductCategoriesPage_selectedLabel=Domain:
workProductCategoriesPage_selectedLabel2=Work product kinds:
workProductCategoriesPage_selectedLabel3=Custom categories:

# Practice Editor References Page
practiceReferencesPage_sectionName=Content Elements
practiceReferencesPage_sectionDescription=Specify the content elements referenced by this practice.
practiceReferencesPage_availableLabel=Available content elements:
practiceReferencesPage_selectedLabel=Content elements:
practiceReferencesPage_multipleSelectDescription={0} Content elements have been selected.

# Category Editor Guidance Page
categoryGuidancesPage_sectionName=Guidance
categoryGuidancesPage_sectionDescription=Manage the guidance that belong to this {0}.
categoryGuidancesPage_availableLabel=Available guidance:
categoryGuidancesPage_selectedLabel=Guidance:
categoryGuidancesPage_multipleSelectDescription={0} guidances have been selected.

# Discipline Grouping Editor Disciplines Page
disciplineGroupingDisciplinesPage_sectionName=Disciplines
disciplineGroupingDisciplinesPage_sectionDescription=Manage the disciplines that belong to this discipline grouping.
disciplineGroupingDisciplinesPage_availableLabel=Available Disciplines:
disciplineGroupingDisciplinesPage_selectedLabel=Disciplines:
disciplineGroupingDisciplinesPage_multipleSelectDescription={0} Disciplines have been selected.
AuthoringUIPlugin_AbstractNewLibraryPage_UseDefaultDirectoryButtonLabel=Use default directory

# Discipline Editor Tasks Page
disciplineTasksPage_sectionName=Tasks
disciplineTasksPage_sectionDescription=Manage the tasks that belong to this discipline.
disciplineTasksPage_availableLabel=Available tasks:
disciplineTasksPage_selectedLabel=Tasks:
disciplineTasksPage_multipleSelectDescription={0} tasks have been selected.

# Discipline Editor Reference Workflow Page
disciplineReferenceWorkflowPage_sectionName=Reference Workflows
disciplineReferenceWorkflowPage_sectionDescription=Manage the reference workflows that belong to this discipline.
disciplineReferenceWorkflowPage_availableLabel=Available Reference Workflows:
disciplineReferenceWorkflowPage_selectedLabel=Reference workflows:
disciplineReferenceWorkflowPage_multipleSelectDescription={0} Reference workflows have been selected.

# Domain Editor Work Products Page
domainWorkProductsPage_sectionName=Work Products
domainWorkProductsPage_sectionDescription=Manage the work products that belong to this domain.
domainWorkProductsPage_availableLabel=Available work products:
domainWorkProductsPage_selectedLabel=Work products:
domainWorkProductsPage_multipleSelectDescription={0} work products have been selected.

# Work Product Kind Editor Work Products Page
workProductTypeWorkProductsPage_sectionName=Work Products
workProductTypeWorkProductsPage_sectionDescription=Manage the work products that belong to this work product kind.
workProductTypeWorkProductsPage_availableLabel=Available work products:
workProductTypeWorkProductsPage_selectedLabel=Work products:
workProductTypeWorkProductsPage_multipleSelectDescription={0} work products have been selected.

# Role Set Grouping Editor Role Sets Page
roleSetGroupingRoleSetsPage_sectionName=Role Sets
roleSetGroupingRoleSetsPage_sectionDescription=Manage the role sets that belong to this role set grouping.
roleSetGroupingRoleSetsPage_availableLabel=Available Role Sets:
roleSetGroupingRoleSetsPage_selectedLabel=Role sets:
roleSetGroupingRoleSetsPage_multipleSelectDescription={0} Role Sets have been selected.

# Role Set Editor Roles Page
roleSetRolesPage_sectionName=Roles
roleSetRolesPage_sectionDescription=Manage the roles that belong to this role set.
roleSetRolesPage_availableLabel=Available roles:
roleSetRolesPage_selectedLabel=Roles:
roleSetRolesPage_multipleSelectDescription={0} roles have been selected.

# Tool Editor Tool Mentors Page
toolToolMentorsPage_sectionName=Tool Mentors
toolToolMentorsPage_sectionDescription=Manage the tool mentors that belong to this tool.
toolToolMentorsPage_availableLabel=Available tool mentors:
toolToolMentorsPage_selectedLabel=Tool mentors:
toolToolMentorsPage_multipleSelectDescription={0} Tool Mentors have been selected.

# Custom Category Editor Assign Page
customCategoryAssignPage_sectionName=Content Elements
customCategoryAssignPage_sectionDescription=Manage the content elements that constitute this custom category.
customCategoryAssignPage_availableLabel=Available Content Elements:
customCategoryAssignPage_selectedLabel=Content elements:
customCategoryAssignPage_multipleSelectDescription={0} Content Elements have been selected.

# New Method Plug-in Wizard
newPluginWizard_title=New Method Plug-in
newPluginWizardPage_title=Create a new method plug-in
newPluginWizardPage_text=Specify a name and provide general information about the new method plug-in.
newPluginError_msg=IUPA0021E: Failed to create the method plug-in.
newPluginError_reason=Internal error.\n\nClick Details for more information.

# Generic dialog titles
createDialog_title=Create Element
deleteDialog_title=Delete Element
editDialog_title=Edit Element
errorDialog_title=Error
moveDialog_title=Move Element
renameDialog_title=Rename Element
warningDialog_title=Warning

# Add Configuration to Process Error Dialog
addConfigErrorDialog_title=Add Configuration to Process

# Set Default Configuration Error Dialog
setDefaultConfigErrorDialog_title=Set Default Configuration for Process

# Edit Process Error Dialog
editProcessElementErrorDialog_title=Edit Process Element

# Open Library Dialog
openLibraryDialog_title=Open Method Library
openLibraryDialog_text=The current method library was not saved properly. Do you want to ignore the error and proceed to open another library?

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

# Upgrade Library Dialog
upgradeLibraryDialog_title=Upgrade Method Library

# Delete Element Reference Dialog
deleteAssociationDialog_text=The element ''{0}'' has already been deleted. Do you want to remove it from ''{1}''?

# Error Messages
noOpenLibraryError_msg=IUPA0000E: No open method library.\n\nA method library must be opened before a new method element can be added.\n\nCreate a new method library or open an existing one and try again.
emptyElementNameError_msg=IUPA0001E: The {0} name is missing.\n\nAll method and process elements must have a name.\n\nClick OK and enter a valid name for the element.
duplicateElementNameError_msg=IUPA0002E: The name ''{0}'' already exists.\n\nA method element must have a unique name.\n\nClick OK and enter a different name for the element.
createConfigError_msg=IUPA0003E: The method configuration cannot be created.
deleteConfigError_msg=IUPA0004W: The method configuration cannot be deleted.
internalError_msg=IUPA0005E: An internal error has occurred.\n\nClick Details for more information.
invalidPresentationNameError_msg=IUPA0006E: The specified presentation name is invalid.\n\nClick OK and enter a different name.
invalidConfigError_msg=IUPA0007E: The selected method configuration ''{0}'' is not a subset of the process''s default configuration.\n\nIn order to maintain the integrity of a process, its default configuration must be a superset of all other configurations associated with the process.\n\nSelect another configuration or modify the default configuration to include the content of the selected configuration and try again.
setDefaultConfigError_msg=IUPA0008E: The selected method configuration ''{0}'' is not a superset of the other configurations referenced by the process.\n\nIn order to maintain the integrity of a process, its default configuration must be a superset of all other configurations associated with the process.\n\nSelect another configuration or modify the content of the selected configuration and try again.
openLibraryError_msg=IUPA0009E: The method library cannot be loaded.\n\nClick Details for more information.
saveLibraryError_msg=IUPA0010E: The method library cannot be saved.
saveLibraryToError_msg=IUPA0010E: The method library cannot be saved to ''{0}''.
elementAlreadyDeletedError_msg=IUPA0011E: The element ''{0}'' has already been deleted.
upgradeLibraryError_msg=IUPA0012E: The method library cannot be upgraded.

# Error Reasons
error_reason=IUPA0016E: An error has occurred.\n\nClick Details for more information.
internalError_reason=IUPA0017E: An internal error has occurred.\n\nClick Details for more information.
upgradeLibraryError_reason=IUPA0018E: An error has occurred while loading the method library elements.\n\nClick Details for more information.
saveUpgradedLibraryError_reason=IUPA0019E: An error has occurred while saving the upgraded method library.\n\nClick Details for more information.

# Progress Messages
openingLibraryTask_name=Opening method library...
savingLibraryTask_name=Saving method library ...
upgradingLibraryTask_name=Upgrading method library...
loadingLibraryElementsTask_name=Loading method library elements...
savingUpgradedElementsTask_name=Saving method library elements in new file format...
savingTask_name=Saving ''{0}''...
savingFilesTask_name=Saving files...
fixingContentDescriptionGUIDsTask_name=Fixing content description GUIDs...
deletingInvalidReferencesTask_name=Deleting invalid references...


# Add Editor To Browsing Perspective Warning Dialog
addEditorToPerspectiveWarning_msg=IUPA0046W: This perspective has been specially designed to maximize your user experience of browsing the HTML representation of the method library elements. No editor can be added or displayed here.

# Change History Dialog
ChangeHistoryDialog_title=Change Description History
ChangeHistoryDialog_label=Change history:

# Method Element Delete Action
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}

# New Library Dialog
errorDialog_message=IUPA0022E: The  method library ''{0}'' cannot be created.
errorDialog_error=Cannot create a method library within another method library.
err_noopenlibrary=IUPA0040E: No open method library.\n\nA method library must be opened before a new method plug-in can be added.\n\nCreate a new method library or open an existing one and try again.
err_loadinglibrary=Error loading library
msg_reloadLibrary=Error undoing the failed deletion. The current method library needs to be reloaded.

# Reload Library Dialog
reloadDialog_message=The library needs to be reloaded to restore its original state.
reloadDialog_title=Reload Library
dialogs_MoveDialog_errorTitle=Move Error
dialogs_MoveDialog_errorMessage=Error during move

# Process Form Editor
processFormEditorSaveDialog_title=Save
processFormEditorSaveDialog_message1=This change will affect all diagrams in your process. The editor will be saved after your change. Do you want to continue?
processFormEditorSaveDialog_message2=The editor will be saved after your change. Do you want to continue?

# Configuration View Page
configViewPageRemoveViewDialog_title=Confirm Removing
configViewPageRemoveViewDialog_message=Are you sure you want to remove view ''{0}''?
configViewPageViewExistsDialog_title=Warning
configViewPage_configuration=Configuration:
configViewPage_configurationViews=Configuration Views
configViewPage_views=Views
columnselection_text=Column selection:
configViewPage_addViewButtonText=Add View...
configViewPage_removeViewButtonText=Remove View
configViewPage_makeDefaultButtonText=Make Default
configViewPageViewExistsDialog_message=IUPA0023W: View with name ''{0}'' already exists.
configViewPage_configurationViewSectionTitle=Published Navigation Views
configViewPage_configurationViewSectionMessage=Specify the views that will be included when this configuration is published. To create a view, click Add View to select any standard or custom category within the configuration.  The selected category will represent the view and the category's sub-categories and content elements will represent the view's tree elements.

# Description Tab
descriptionTabGuidanceWarningDialog_title=Convert Guidance
descriptionTabGuidanceWarningDialog_message1=IUPA0040W:  Please save the editor first.
descriptionTabGuidanceWarningDialog_message2=There are no compatible guidance for this type.

changeActivityTypeWarningDialog_title=Convert Activity
# Association Form Page
AssociationFormPage_BriefDescriptionLabel=Brief description of selected element:

# Method Element Description
methodElementDescriptionEmptyNameDialog_title=Enter Element Name
methodElementDescriptionEmptyNameDialog_message=The name field cannot be empty.

# Method Plug-in Description
methodPluginDescriptionRemoveRefConfirm_message=Deselecting the referenced plug-in(s) associated with plug-in ''{0}'' will produce invalid relationships that will be deleted.\n\nThis action cannot be undone. Do you want to proceed with this change?
methodPluginDescriptionPage_confirmRename=You are about to change the name of this method plug-in from ''{0}'' to new name ''{1}''. This action will save this editor and renames the plug-in folder to the new name. Do you want to continue?
methodPluginDescriptionPage_confirmRename_title=Rename Method Plug-in
methodPluginDescriptionPage_cannotRenamePluginFolder=Could not rename plugin folder to new name
methodPluginDescriptionPage_lockPluginLabel=Lock plug-in
methodPluginDescriptionPage_lockPlugin_message=Lock plug-in change will save and close open editors of elements belong to plug-in ''{0}''. Do you want proceed with this change?

# Process Description
processDescriptionNameChangeConfirm_title=Rename
processDescriptionNameChangeConfirm_message=You are about to change the name of this process. This will save this editor and rename the process folder to the new name. Do you want to continue?
processDescription_configurationDescription=Description:
processDescription_configurationSectionTitle=Configuration
processDescription_configurationSectionMessage=Specify all the configurations valid for this process. Select one configuration as the default and it needs to be a super-set of all the other configurations.
processDescription_configurations=Configurations:
processDescription_default=(default)
ProcessDescription_selectConfiguration=Select the configurations to add
ProcessDeleteAction_deletecofirm_text0=This will save the current editor and the change will be permanent. Are you sure you want to delete ''{0}''?
ProcessDeleteAction_selectDescriptorsToDelete=The following descriptors are not used anywhere after deletion of the selected elements.\nSelect descriptors you want to delete.

# View Helper
viewHelperHealthCheckDialog_title=Library Health Check
viewHelper_performHealthCheck=Performing health check on library...
viewHelperHealthCheckDialog_message=The health check on open library is successfully completed. See the report in the log file.

# Attach Guidance File Dialog
attachGuidanceFileDialog_title=Attach File

# Create Element Error Dialog
createElementDialog_title=Create New {0}
createNewElementError_msg=Error creating new {0}.

dlgTitle_reloadLibrary=Reload Library
createElementError_reason=The {0} name cannot be empty.\n\nSpecify a valid name and try again.
deleteConfigError_reason=The configuration is referenced by process ''{0}''

# ChangeBoundsCommand
gef_changeBoundsCommand_label=Change Bounds
# ChangeNameCommand
gef_changeNameCommand_label=Change Name
gef_changeNameCommand_undoMessage=Cannot undo the name change.\n\nUndo name change is not allowed if previous name is null.
# ChangePropertyValueCommand
gef_changePropertyValueCommand_label=Change Property Value
# CreateBendpointCommand
gef_createBendpointCommand_label=Create Bendpoint
# CreateLinkCommand
gef_createLinkCommand_label=Link Creation
# CreateNodeCommand
gef_createNodeCommand_label=Create New Node
# DeleteBendpointCommand
gef_deleteBendpointCommand_label=Delete Bendpoint
# DeleteCommand
gef_deleteCommand_label=Delete
# DeleteLinkCommand
gef_deleteLinkCommand_label=Delete Connection
# MoveBendpointCommand
gef_moveBendpointCommand_label=Move Bendpoint
# ReconnectLinkCommand
gef_reconnectLinkCommand_label=Reconnect Link

# ValidatingDirectEditManager
gef_validatingDirectEditManager_bringDownPrompt=The name cannot be empty. Please specify a valid name.
# ValidatingFreeTextEditManager
gef_validatingFreeTextEditManager_bringDownPrompt=The name cannot be empty. Please specify a valid name.
# WorkProductNodeEditPart
gef_workProductNodeEditPart_validateMessage=The name cannot be empty. Please specify a valid name.

# ElementsViewDeleteAction
actions_ElementsViewDeleteAction_message=The configuration ''{0}'' cannot be deleted since it is still in use by process ''{1}''.

# LibraryActionBarContributor
actions_LibraryActionBarContributor_deleteErrorTitle=Delete Error
actions_LibraryActionBarContributor_deleteErrorMessage=Unhandled exception
actions_LibraryActionBarContributor_deleteErrorReason=See details

# MethodElementEditor
editors_MethodElementEditor_saveErrorTitle=Save Error
editors_MethodElementEditor_saveErrorMessage1=IUPA0020E: Error saving file
editors_MethodElementEditor_saveErrorMessage2=Commit Error
editors_MethodElementEditor_saveErrorReason1=See log file for more details
editors_MethodElementEditor_saveErrorReason2=See details
editors_MethodElementEditor_renameErrorTitle=Rename Error
editors_MethodElementEditor_invalidEditorMsg=One or many files of this editor have been removed. The editor is no longer valid and has to close.
editors_MethodElementEditor_invalidEditorTitle=Invalid Editor
editors_MethodElementEditor_renameErrorMessage1=Error renaming file(s) ''{0}''

# DescriptionFormPage
renameError_title=Rename Element
renameError_msg=IUPA0013E: The rename operation cannot be completed.
SelectElementDialog_selectelement_text=Select Element

# EditorChooser
editors_EditorChooser_systemErrorDialog_title=Open Method Editor
AuthoringUIPlugin_AbstractNewLibraryPage_DescriptionLabel=Description:
AuthoringUIPlugin_SaveAllEditorsPage_SelectAllButtonLabel=Select All
OpenElementWorkbenchActionDelegate_edit_text0=Edit Element
editors_EditorChooser_systemErrorDialog_message=IUPA0023E: Cannot open the editor associated with the selected Method element.
DescriptionFormPage_IconFileChooserDialog_title=Select Image File
AuthoringUIPlugin_AbstractNewLibraryPage_DefaultLibraryName=New Library
AuthoringUIPlugin_NewConfigurationMainPage_DescriptionLabel=Description:
AuthoringUIPlugin_OpenConfigurationMainPage_pageDescription=Select one or more method configurations and click Finish to open them.
AuthoringUIPlugin_SaveAllEditorsPage_DeselectAllButtonLabel=Deselect All
ElementsView_migration_dir_dlg_description_text=Specify the directory of newly migrated {0} to replace the selected {0}
editors_EditorChooser_systemErrorDialog_reason=A system error has occurred. Click Details for more information.\n\nClose some of the opened editors and try again.

# DescriptionFormPage
forms_DescriptionFormPage_imageTooBigDialog_title=Image is invalid
forms_DescriptionFormPage_imageTooBigDialog_template=IUPA0031E: The selected image ''{0}'' is larger than the allowed size ({1} by {2}). Please select another image.
forms_DescriptionFormPage_imageNotFoundDialog_title=Image is invalid
forms_DescriptionFormPage_imageNotFoundDialog_template=IUPA0032E: The selected file ''{0}'' does not exist. Please select another image.
DescriptionFormPage_ShapeIconPreview_SelectButtonLabel=Select...
AuthoringUIPlugin_AbstractNewLibraryPage_DefaultLibraryDescription=Method library description
AuthoringUIPlugin_NewConfigurationMainPage_DefaultBriefDescription=Method configuration description
AuthoringUIPlugin_SaveAllEditorsPage_saveAndClosePageDescription=All editors must be closed. Select the ones that need to be saved first, if applicable.

# TemplateDescriptionPage
forms_GuidanceWithAttachmentsDescriptionPage_alreadyAttached_msg=The selected file is already an attachment to this Guidance.

# New Library Error Dialog
newLibraryError_msg=IUPA0014E: Unable to create the method library.
newLibraryInternlError_reason=An internal error has occurred.
newLibraryError_reason1=The specified method library path ''{0}'' is invalid.
newLibraryError_reason2=A method library already exists in ''{0}''.
newLibraryError_reason3=The specified method library folder ''{0}'' cannot be created.
newLibraryError_advice=Select OK to specify another method library name or location.

#Process literals
Process_ExternalID=External ID:
Process_Purpose=Purpose:
Process_Scope=Scope:
Process_UsageNotes=Usage Notes:
Process_Alternatives=Alternatives:
Process_HowToStaff=How to Staff:
Process_KeyConsideration=Key Considerations:
Process_Scale=Scale:
Process_ProjectCharacteristics=Project Characteristics:
Process_RiskLevel=Risk Level:
Process_EstimatingTechnique=Estimating Techniques:
Process_ProjectMemberExpertise=Project Member Expertise:
Process_TypeOfContract=Type Of Contract:

# Editor Preview Navigation Buttons
backButton_text=Back
forwardButton_text=Forward
forward_text=Forward
stopButton_text=Stop
refreshButton_text=Refresh
refresh_text=Refresh
newname_text=New name:
printButton_text=Print

# Context menus
_UI_RefreshViewer_menu_item=&Refresh
_UI_ShowPropertiesView_menu_item=&Show Properties

_UI_MethodEditor_menu=&Method Editor
_UI_CreateChild_menu_item=&New
_UI_CreateSibling_menu_item=N&ew Sibling

_UI_SelectionPage_label=Selection
_UI_ParentPage_label=Parent
_UI_ListPage_label=List
_UI_TreePage_label=Tree
_UI_TablePage_label=Table
_UI_TableTreePage_label=TableTree
_UI_ObjectColumn_label=Object
_UI_SelfColumn_label=Self

_UI_NoObjectSelected=Selected Nothing
_UI_SingleObjectSelected=Selected Object: {0}
_UI_MultiObjectSelected=Selected {0} Objects

_UI_OpenEditorError_label=Open Editor

_UI_Wizard_category=Example EMF Model Creation Wizards

_UI_MethodModelWizard_label=Method Model
_UI_MethodModelWizard_description=Create a new Method model

_UI_MethodEditor_label=Method Model Editor

_UI_MethodEditorFilenameDefaultBase=My
_UI_MethodEditorFilenameExtension=method

_UI_Wizard_label=New

_WARN_FilenameExtension=The filename must end in ''.{0}''

_UI_ModelObject=Model Object
_UI_XMLEncoding=XML Encoding
_UI_XMLEncodingChoices=UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1
_UI_Wizard_initial_object_description=Select a model object to create

_UI_FileConflict_label=File Conflict
_WARN_FileConflict=There are unsaved changes that conflict with changes made outside the editor. Do you wish to discard this editor's changes?

# Add Link Dialog
addLinkDialog_linkType=Type:
openLinkCheckbox_text=Open link in a separate browser window

# Add Image Dialog
heightLabel_text=Height:
widthLabel_text=Width:
ElementsView_20=capability pattern
ElementsView_21=delivery process
ElementsView_22=process
ElementsView_35={0} is read-only. Make it writable before continuing.
ElementsView_36=Error loading library
altTagLabel_text=ALT tag:
imageSizeLabel_text=Height and width of image must be at least 10 and no more than 600. Invalid height and width will be converted to a suitable size.

# Process Editor
ProcessEditor=ProcessEditor
ProcessEditor_Name=Name
ProcessEditor_PresentationName=Presentation Name
ProcessEditor_Index=Index
ProcessEditor_Predecessors=Predecessors
#ConfigurationPage_Selected=Selected: 
ChecklistOrder_description=Select a check item and click Up or Down to change its order.
ElementsView_renaming_text=Renaming...
ProcessEditor_ModelInfo=Model Info
ProcessEditor_Prefix=Prefix
MoveDialog_move_text=Move
ChecklistOrder_title=Order Check Items
ProcessEditor_Repetable=Repeatable
ProcessEditor_Ongoing=Ongoing
ProcessEditor_Action_Synchronization=Synchronize...
ProcessEditor_EventDriven=Event-Driven
ProcessEditor_Deliverable=Deliverable
ProcessEditor_Optional=Optional
FilterDialog_Type_text=Method Element Type:
FilterDialog_ExpandAll=Expand All
MoveDialog_moving_text=Moving...
DescriptionFormPage_LoadShapeIconWarning=IUPA0025W: Shape icon for {0} is not found in path: {1}
DescriptionFormPage_LoadShapeIconError=IUPA0025E: Error: Shape icon section: {0}
AuthoringUIPlugin_AbstractNewLibraryPage_NameLabel=Name:
AuthoringUIPlugin_NewConfigurationMainPage_pageTitle=Create a new method configuration
AuthoringUIPlugin_NewConfigurationMainPage_NameLabel=Name:
AuthoringUIPlugin_newConfigurationWizard_title=New Method Configuration

# New Method Library Wizard
newLibraryWizard_title=New Method Library
newLibraryWizardMainPage_title=Create a new method library.
newLibraryWizardMainPage_description=Specify a path and description for the new method library.
newLibraryWizardMainPage_description_1=Specify a name, description and storage type for the new method library.
libraryPathLabel_text=Path:
libraryTypeLabel_text=Type:

AuthoringUIPlugin_SaveAllEditorsPage_saveTitle=Save changes
AuthoringUIPlugin_SaveAllEditorsPage_saveDescription=One or more method elements have been modified. Select the ones that need to be saved.
AuthoringUIPlugin_OpenConfigurationMainPage_pageTitle=Open Method Configurations
AuthoringUIPlugin_OpenConfigurationWizard_windowTitle=Open Method Configurations
ElementsView_replaceingwithformat_text=Replacing {0}...
DescriptionFormPage_LoadNodeIconWarning=IUPA0026W: Node icon for {0} is not found in path: {1}
MessageLabelProvider_unselectedpackages=''{0}'' contains elements that reference elements in unselected packages
DescriptionFormPage_LoadNodeIconError=IUPA0026E: Error: Node icon section: {0}
StepsOrderDialog_steps=Steps: 
StepsOrderDialog_title=Order Task Steps
ProcessEditor_Planned=Planned
specifydirectory_text=Please specify a directory to save the method library to
ProcessEditor_MultipleOccurrences=Multiple Occurrences
ProcessEditor_EntryState=Entry State
ProcessEditor_ExitState=Exit State
selectColumnstoAdd_text=Select the columns to add
ProcessEditor_Type=Type
ProcessEditor_Team=Team
FilterDialog_title=Select Dialog: 

ProcessEditor_Action_Add=Add from &Method Content...
FilterDialog_CollapseAll=Collapse All
OpenCheatsheetView_title=Open CheatSheet View
ProcessEditor_Action_RollUp=Roll &Up
ProcessEditor_Action_RollDown=Roll Dow&n
ProcessEditor_Action_MoveUp=M&ove Up
ProcessEditor_Action_MoveDown=Move Do&wn
ProcessEditor_Action_Reveal=Reve&al
ProcessEditor_Reveal_Title=Reveal
ProcessEditor_Action_Copy=&Copy...
FilterDialog_Pattern_text=Name patterns (matching names will be shown): 
ProcessEditor_Action_Preferences=Preferences...
MethodLibraryEditor_title=Method Library: 
#MessageView_selected_text=Selected: 
MessageView_errmsg_text=Description
ElementsView_err_saving=IUPA0027E: Error saving ''{0}''{1}

err_copying_file_title=Error copying file
err_copying_file_error=IUPA0028E: The icon could not be assigned. 
err_copying_file_reason=An error occurred while copying the selected file. Click Details for more information.
err_processing_file_title=Error processing file
editConfiguration_tooltip=Edit configuration
editDialog_msgCannotEdit=IUPA0015E: Cannot edit element
SaveThisAction_saveobject=Save This Object...
ElementsView_replace_text=Replace
ProcessEditor_Action_Extend=&Extend...
MoveDialog_destination_text=Choose destination for selected element(s):
chooseDefaultDirectory_text=Choose a default directory for libraries:
ProcessEditor_Action_Suppress=&Suppress
ProcessEditor_Action_Suppress2=&Publishing Options...
ProcessEditor_Action_AssignUserDiagram=&User Defined Diagrams...
UserDefinedDiagramDialog_title=Assign user defined diagrams
UserDefinedDiagramDialog_adImage=Activity Diagram:
UserDefinedDiagramDialog_addImage=Activity Detail Diagram:
UserDefinedDiagramDialog_wpdImage=Work Product Depenedency Diagram:
UserDefinedDiagramDialog_notaFile=IUPA0004E: The specified path is not a file.
UserDefinedDiagramDialog_assignButton=Select...
UserDefinedDiagramDialog_enteredImageNotFound=IUPA0024E: The specified image does not exist in the library. Make sure you enter the path relative to the library's root directory.
UserDefinedDiagramDialog_selectedImageNotFound=IUPA0030E: The image you selected is not in the library.
UserDefinedDiagramDialog_useADImage=Use Activity diagram image for browsing and publishing
UserDefinedDiagramDialog_useADDImage=Use Activity detail diagram image for browsing and publishing
UserDefinedDiagramDialog_useWPDImage=Use Work product dependency diagram image for browsing and publishing
ProcessEditor_Action_Contribute=Local Contr&ibution
ProcessEditor_Action_Replace=Local Repl&acement
ProcessEditor_Action_Diagrams=Dia&grams
ProcessEditor_action_deepCopy=&Deep Copy...
FilterDialog_BriefDescription=Brief Description:
ConfigurationPage_hideToolTip=Show/Hide Unchecked Elements
ConfigurationPage_Description=Description:
ProcessEditor_Action_SuppressAll=Publish &None
FilterDialog_Pattern_description=Patterns are separated by comma, where *=any string, ?=any character
ConfigurationPage_TreeTitleLabel=Content:
ConfigurationPage_LoadingMessage=Loading configuration, please wait ...
ConfigurationPage_AddCCTitleLabel=Add these Custom Categories:
ConfigurationPage_SubCCTitleLabel=Subtract these Custom Categories:
MoveDialog_validdestination_text=The specified move destination is invalid.
MoveDialog_cannotModifyDestination=IUPA0034E: The selected destination cannot be modified.
ProcessEditor_Action_RevealAll=Publish A&ll
ProcessEditor_Action_OpenBaseActivity=Open &Base Activity
ProcessFormEditor_expanAllActionLabel=E&xpand All
ProcessFormEditor_collapseAllActionLabel=Co&llapse All
ProcessEditor_Action_OpenActivityDiagram=Open &Activity Diagram
ProcessEditor_promptToDeleteBeforeReveal=The unsuppressed descriptors listed in Details must be deleted to avoid duplication after revealing the selected elements. Click OK if you want to delete them and continue.
ProcessEditorPreferencePage_SelectColumns=Select the columns to add
ProcessEditor_Action_OpenActivityDetailDiagram=Open Activity &Detail Diagram
ProcessEditorPreferencePage_ColumnSelection=Column selection:
ProcessEditorPreferencePage_switchConfiguration=Switch to the Process' default configuration when activating a Process editor
ProcessEditorPreferencePage_suppressionGroupTitle=Suppression
ProcessEditorPreferencePage_inheritSuppressionState=Inherit suppression states
ProcessEditor_Action_OpenWorkProductDependencyDiagram=Open &Work Product Dependency Diagram
DescriptionFormPage_ShapeIconPreview_ClearButtonLabel=Clear
DescriptionFormPage_NodeIconPreview_SelectButtonLabel=Select...
ProcessEditor_Action_InsertNewPhase=Insert New Phase
ViewHelper_reloadLibOnRollbackError=Could not recover from a persistence error. The library needs to be reloaded to restore its original state.
ViewHelper_alreadydeleted_text=The element ''{0}'' is already deleted.
ViewHelper_alreadydeletedconfirm_text=The element ''{0}'' is already deleted. Do you want to remove it from ''{1}''?
ConfigurationPage_AddMissingToolTip=Add Missing References
ConfigurationDescriptionDescription=Description
ConfigurationDescriptionGeneralInfo=General Information 
ProcessEditor_Action_ApplyPattern=Apply Pa&ttern
MoveDialog_selectdestination_text=Please select a destination.
MoveDialog_nomove_destination_problem_msg=No move destination specified.
MethodLibraryEditor_troubleobject=. Trouble object: 
MessageLabelProvider_errchildpkgs=A child content package or process contains elements with missing references
ProcessEditor_SuppressDialog_Title=Diagram Publishing Options
ProcessEditor_SuppressDialog_Message=Please select the diagram(s) to publish or deselect to not publish
ProcessEditor_Title=Process Editor: 
SaveAswithdots_text=Save As...
ProcessEditor_WorkBreakdownStructure=Work Breakdown Structure
ProcessEditor_TeamAllocation=Team Allocation
ProcessEditor_WorkProductUsage=Work Product Usage
ProcessEditor_ConsolidatedView=Consolidated View
ProcessEditor_confirmAutoSynch=This operation refreshes the selected descriptors or all descriptors below the selected activities that have been marked as "Synchronized with source" in the General tab of their Properties view.  It refreshes these descriptors with the original properties of the linked method content elements under the process' default configuration.  Note that it will not update any dynamically linked (green italic) descriptors.  Do you want to proceed?
ProcessEditor_defaultSynchronization=Default Synchronization from method content
ConfigurationPage_Description1=Configuration
ConfigurationPage_Description2=Plug-in and Package Selection
NewLibraryDialog_newlibrary_as=Create New Library As
NewPluginDialog_newplugin_text=New Method Plug-in
SelectElementDialog_title_text=Select the element or one of its contributors:
OpenConfigDialognewconfig_text=New Configuration:
processBreakdownStructureFormPage_BSEditor=Process Editor

# AbstractDiagramEditor
AbstractDiagramEditor_alignMenu_text=Align
AbstractDiagramEditor_refreshFromBaseActivity_text=Refresh from Base Activity
AbstractDiagramEditor_formatTextBoxActivity_text=Format Text Box...
AbstractDiagramEditor_hAlignAverageAction_text=Horizontally to Average
AbstractDiagramEditor_hAlignFirstSelectedAction_text=Horizontally to First Selected
AbstractDiagramEditor_vAlignAverageAction_text=Vertically to Average
MethodLibraryDescriptionFormPage_section_title=General Information
MoveDialog_invalid_move_destination_problem_msg=IUPA0041E: The selected element(s) cannot be moved to the specified destination.
MethodLibraryEditor_savemodellibrary=Saving model library ...
MethodLibraryEditor_error_dialog_title=Error
MethodLibraryEditor_save_library_problem_msg=IUPA0033E: Problem encountered in saving library.
MethodElementDeleteAction_deleteconfirm_text=Are you sure you want to delete ''{0}''?
ContentElementsOrderDialog_ContentElement_text=Content Elements: 
AuthoringUIPlugin_AbstractNewLibraryPage_BrowseButtonLabel=Browse...
AuthoringUIPlugin_NewConfigurationMainPage_pageDescription=Specify a name and description for the new method configuration.
AuthoringUIPlugin_SaveAllEditorsPage_saveAndClosePageTitle=Save changes and close all editors
AbstractDiagramEditor_vAlignFirstSelectedAction_text=Vertically to First Selected
AbstractDiagramEditor_Save_text=Save
AttachmentDialogattachFile_text=Attach File
ConfigurationPage_ConfigContent=Configuration Content
OpenConfigDialogopenconfig_text=Open Configuration
ElementsView_replaceAction_text=Replace...
AbstractDiagramEditor_Save_message=Saving {0}
ConfigurationPage_ShowErrorToolTip=Show configuration warning log viewer
ConfigurationDescriptionFormPrefix=Configuration: 
ChecklistOrder_checklistitems_text=Check Items: 
AbstractDiagramEditor_MoveNode_label=Move Node
ConfigurationPage_MakeClosureToolTip=Make Closure by fixing errors
ConfigurationOrderDialog_description=Order Navigation Views
NewPluginDialog_referenceplugin_text=Reference Plug-ins:
AbstractDiagramEditor_createFreeText_text=Create a Free Text
DescriptionFormPage_NodeIconPreview_Label=Node Icon Preview:
DiagramValidation_err_cannot_connect_text=IUPA0032W: Cannot connect
DiagramValidation_err_samepredandsuc_text=IUPA0033W: Cannot have the same breakdown element as predecessor and successor

# EditorChooser
EditorChooser_loaddErrorDlgTitle=Open Editor
EditorChooser_ResourcesError=This element has errors. It is recommended to fix these errors before continuing (see details).\n\nClick OK to continue without opening the editor. Close this dialog to open the editor.
ConfigurationPage_FormPrefix=Configuration: 
ConfigurationDescriptionName=Name:
AttachmentDialogFileURL_text=File URL:
StepsOrderDialog_description=Select a step and click Up or Down to change its order.
MethodLibraryEditor_err_save=Error during saving
MessageView_errelement_text=Referencing Element
MessageView_refelement_text=Referenced Element

#Activity Diagram
ActivityDiagramEditor_createStartNode_text=Create a Start Node
ConfigurationPage_ConfigContentDescription=Select the method plug-ins, content packages and processes that will be included in this configuration.
ContentElementsOrderDialog_description_text=Custom Category's content elements order dialog
AuthoringUIPlugin_AbstractNewLibraryPage_DirectoryLabel=Directory:
RootPrefPage_enableprocesscontribution_text=Enable Process Contribution
ConfigurationDescriptionDescription_text=Provide general information about this method configuration.
ConfigurationDescriptionDescriptionLabel=Description:
ConfigurationOrderDialog_NavigationViews=Navigation Views: 
ContributionSelection_filterdialog_title=Choosing Contributors for ''{0}''
ElementsView_openVariabilityDialogAction_text=&Open via variability elements
VariabilitySelection_filterdialog_title=choosing variability elements for ''{0}''
VariabilitySelection_filterdialog_viewerLabel=Variability elements for ''{0}''
DescriptionFormPage_ShapeIconPreview_Label=Shape Icon Preview:
DiagramValidation_err_cannot_delete_text=Cannot delete
ActivityDiagramEditor_openActivityDetailDiagram_text=Open Activity Detail Diagram 
MethodLibraryDescriptionFormPage_section_description=Provide general information about this method library.
DescriptionFormPage_NodeIconPreview_ClearButtonLabel=Clear
WPCompartmentFigure_0=New WorkProduct Descriptor
promptfor_publish_unopen_activitydd_text=Publish or browse activity detail diagrams that have not been created in process editor
prompt_for_publish_extend_activity_diagram=Publish or browse activity diagrams for unmodified activity extensions

#ConfigProcessViewDialog
ConfigProcessViewDialog_NamePattern=Name patterns (matching names will be shown):
showInResourceNavigatorAction_label=&Show in Resource Navigator
ConfigProcessViewDialog_Pattern=Patterns are separated by comma, where *=any string, ?=any character
err_processing_file_description=IUPA0029E: An error occurred while processing the selected file. Click Details for more information.
ConfigProcessViewDialog_CategoryType=Category Type :
ConfigProcessViewDialog_BriefDescription=Brief Description:
ConfigProcessViewDialog_SelectCategories=Select Categories

#log messages
cheatsheet_load_failure_log_msg=Failed to open the requested cheatsheet: 

newConfigurationWirazd_createError=IUPA0035E: The configuration cannot be created successfully
newPluginWizard_createError=IUPA0036E: The plug-in cannot be created successfully
errorDialog_moveError=IUPA0037E: The element cannot be moved successfully
renameDialog_renameError=IUPA0038E: The element cannot be renamed successfully
errorDialog_createError=IUPA0039E: The element cannot be created successfully
duplicatePluginNameError_msg=IUPA0101E: The name ''{0}'' already exists. Enter a different name and try again.

#New Strings for ProcessEditor Context menu diagram images
ProcessEditor_Action_AddADImage=Assign AD Image...
ProcessEditor_refreshErrorTitle=Refresh Error
ProcessEditor_refreshErrorMsg=Error refreshing editor
ProcessEditor_Action_AddADDImage=Assign ADD Image...
ProcessEditor_Action_AddWPDImage=Assign WPD Image...
ProcessEditor_Action_UseADImageInPublishing=Use AD Image in Publishing
ProcessEditor_promptToDeleteBeforeSuppress=The suppressed descriptors listed in Details must be deleted to avoid duplication after suppressing the selected elements. Click OK if you want to delete them and continue.
ProcessEditor_Action_UseADDImageInPublishing=Use ADD Image in Publishing
ProcessEditor_Action_UseWPDImageInPublishing=Use WPD Image in Publishing
ProcessEditor_DiagramImage_InputDialog_initialValue=Image Path
ProcessEditor_Action_ShowLinkedElementinLibraryView=S&how Linked Element in Library View
ProcessEditor_updateSuppressionFromBaseAction_label=Update Suppression from &Base
ProcessEditor_ContextMenu_DiagramImages=Diagram Images

#Strings for synchronization wizard on process editor's BS
synchronizationWizard_descriptionPage_title=Synchronization Description
synchronizationWizard_descriptionPage_text=Read the information below \
that explains what custom synchronization will accomplish.
synchronizationWizard_selectConfigPage_title=Select Configuration
synchronizationWizard_selectConfigPage_text=Select the configuration \
that you want to use for the synchronization.  Your selection determines which contributions and replacements will be used for the synchronization.
synchronizationWizard_selectConfigPage_configLabel=Configuration:
synchronizationWizard_selectDetailsPage_title=Select Properties to Synchronize
synchronizationWizard_selectDetailsPage_properties_lable=Properties
synchronizationWizard_selectDetailsPage_name_lable=Name
synchronizationWizard_selectDetailsPage_presentationName_lable=Presentation Name
synchronizationWizard_selectDetailsPage_briefDesc_lable=Brief Description
synchronizationWizard_selectDetailsPage_optionalInouts_label=Optional Inputs
synchronizationWizard_selectDetailsPage_mandatoryInputs_lable=Mandatory Inputs
synchronizationWizard_selectDetailsPage_outputs_label=Outputs
synchronizationWizard_selectDetailsPage_primaryPerformer_label=Primary Performer
synchronizationWizard_selectDetailsPage_addnPerformers_lable=Additional Performers
synchronizationWizard_selectDetailsPage_responsibleRoles_lable=Responsible Roles
synchronizationWizard_selectDetailsPage_contnArtifacts_label=Contained Artifacts
synchronizationWizard_selectDetailsPage_dilvedParts_label=Deliverable Parts
synchronizationWizard_selectDetailsPage_selSteps_label=Steps Selection
synchronizationWizard_selectDetailsPage_text=Choose the properties of \
the method content that you want to be considered for synchronization.
synchronizationWizard_previewPage_title=Synchronization Preview
synchronizationWizard_previewPage_text=Review the proposed synchronization details below.
selectEditorsToDiscardConflictChanges=There are unsaved changes that conflict with changes made outside the editors.\nSelect the editors you wish to discard their changes.
synchronizationWizard_title_text=Synchronization Wizard
synchronizationWizard_descriptionPage_explainText=This wizard supports you in refreshing \
the selected descriptors or all descriptors below the selected activities that have been marked as \
"Synchronize with Source" in the General tab of their Properties view.  Only the properties that you \
select in this wizard are refreshed in the descriptors.  You can also select any valid configuration \
for your process to be used when computing the refresh.  Note that the wizard will not update any \
dynamically linked (green italic) descriptors.

openRTE=Open rich text editor
closeRTE=Close rich text editor

#New Strings
rolesets_guidancepage_sectiondescription=Manage the guidance that belong to this role set.
disciplines_guidancepage_sectiondescription=Manage the guidance that belong to this discipline.
workproducttypes_guidancepage_sectiondescription=Manage the guidance that belong to this work product kind.
domains_guidancepage_sectiondescription=Manage the guidance that belong to this domain.
tools_guidancepage_sectiondescription=Manage the guidance that belong to this tool.
customcategory_guidancepage_sectiondescription=Manage the guidance that belong to this custom category.

concept_guidancepage_sectiondescription=Manage the guidance that belong to this concept.
checklist_guidancepage_sectiondescription=Manage the guidance that belong to this checklist.
example_guidancepage_sectiondescription=Manage the guidance that belong to this example.
guideline_guidancepage_sectiondescription=Manage the guidance that belong to this guideline.
roadmap_guidancepage_sectiondescription=Manage the guidance that belong to this roadmap.
reusableasset_guidancepage_sectiondescription=Manage the guidance that belong to this reusable asset.
supportingmaterial_guidancepage_sectiondescription=Manage the guidance that belong to this supporting material.
report_guidancepage_sectiondescription=Manage the guidance that belong to this report.
practice_guidancepage_sectiondescription=Manage the guidance that belong to this practice.
template_guidancepage_sectiondescription=Manage the guidance that belong to this template.
termdefinition_guidancepage_sectiondescription=Manage the guidance that belong to this term definition.
toolmentor_guidancepage_sectiondescription=Manage the guidance that belong to this tool mentor.
whitepaper_guidancepage_sectiondescription=Manage the guidance that belong to this whitepaper.
estimationconsideration_guidancepage_sectiondescription=Manage the guidance that belong to this estimation consideration.


#New String Section Description
role_detailSection_desc=Provide detailed information about this role.
role_generalInfoSection_desc=Provide general information about this role.
role_variabilitySection_desc=Specify how this role relates to another role.
role_versionInfoSection_desc=Provide version information about this role.

task_detailSection_desc=Provide detailed information about this task.
task_generalInfoSection_desc=Provide general information about this task.
task_variabilitySection_desc=Specify how this task relates to another task.
task_versionInfoSection_desc=Provide version information about this task.

artifact_detailSection_desc=Provide detailed information about this artifact.
artifact_generalInfoSection_desc=Provide general information about this artifact.
artifact_iconSection_desc=Customize the icons for this artifact.
artifact_notationSection_desc=Provide delivery information about this artifact.
artifact_tailoringSection_desc=Provide tailoring information about this artifact.
artifact_variabilitySection_desc=Specify how this artifact relates to another artifact.
artifact_versionInfoSection_desc=Provide version information about this artifact.

outcome_detailSection_desc=Provide detailed information about this outcome.
outcome_generalInfoSection_desc=Provide general information about this outcome.
outcome_iconSection_desc=Customize the icons for this outcome.
outcome_notationSection_desc=Provide delivery information about this outcome.
outcome_tailoringSection_desc=Provide tailoring information about this outcome.
outcome_variabilitySection_desc=Specify how this outcome relates to another outcome.
outcome_versionInfoSection_desc=Provide version information about this outcome.

deliverable_detailSection_desc=Provide detailed information about this deliverable.
deliverable_generalInfoSection_desc=Provide general information about this deliverable.
deliverable_iconSection_desc=Customize the icons for this deliverable.
deliverable_notationSection_desc=Provide delivery information about this deliverable.
deliverable_tailoringSection_desc=Provide tailoring information about this deliverable.
deliverable_variabilitySection_desc=Specify how this deliverable relates to another deliverable.
deliverable_versionInfoSection_desc=Provide version information about this deliverable.

discipline_detailSection_desc=Provide detailed information about this discipline.
discipline_generalInfoSection_desc=Provide general information about this discipline.
discipline_variabilitySection_desc=Specify how this discipline relates to another discipline.
discipline_versionInfoSection_desc=Provide version information about this discipline.

domain_detailSection_desc=Provide detailed information about this domain.
domain_generalInfoSection_desc=Provide general information about this domain.
domain_variabilitySection_desc=Specify how this domain relates to another domain.
domain_versionInfoSection_desc=Provide version information about this domain.

workproducttype_detailSection_desc=Provide detailed information about this work product kind.
workproducttype_generalInfoSection_desc=Provide general information about this work product kind.
workproducttype_variabilitySection_desc=Specify how this work product kind relates to another work product kind.
workproducttype_versionInfoSection_desc=Provide version information about this work product kind.

roleset_detailSection_desc=Provide detailed information about this role set.
roleset_generalInfoSection_desc=Provide general information about this role set.
roleset_variabilitySection_desc=Specify how this role set relates to another role set.
roleset_versionInfoSection_desc=Provide version information about this role set.

tool_detailSection_desc=Provide detailed information about this tool.
tool_generalInfoSection_desc=Provide general information about this tool.
tool_variabilitySection_desc=Specify how this tool relates to another tool.
tool_versionInfoSection_desc=Provide version information about this tool.

concept_detailSection_desc=Provide detailed information about this concept.
concept_generalInfoSection_desc=Provide general information about this concept.
concept_variabilitySection_desc=Specify how this concept relates to another concept.
concept_versionInfoSection_desc=Provide version information about this concept.

checklist_detailSection_desc=Provide detailed information about this checklist.
checklist_generalInfoSection_desc=Provide general information about this checklist.
checklist_variabilitySection_desc=Specify how this checklist relates to another checklist.
checklist_versionInfoSection_desc=Provide version information about this checklist.

example_detailSection_desc=Provide detailed information about this example.
example_generalInfoSection_desc=Provide general information about this example.
example_variabilitySection_desc=Specify how this example relates to another example.
example_versionInfoSection_desc=Provide version information about this example.

guideline_detailSection_desc=Provide detailed information about this guideline.
guideline_generalInfoSection_desc=Provide general information about this guideline.
guideline_variabilitySection_desc=Specify how this guideline relates to another guideline.
guideline_versionInfoSection_desc=Provide version information about this guideline.

estimationconsideration_detailSection_desc=Provide detailed information about this estimation consideration.
estimationconsideration_generalInfoSection_desc=Provide general information about this estimation consideration.
estimationconsideration_variabilitySection_desc=Specify how this estimation consideration relates to another estimation consideration.
estimationconsideration_versionInfoSection_desc=Provide version information about this estimation consideration.

practice_detailSection_desc=Provide detailed information about this practice.
practice_generalInfoSection_desc=Provide general information about this practice.
practice_variabilitySection_desc=Specify how this practice relates to another practice.
practice_versionInfoSection_desc=Provide version information about this practice.

report_detailSection_desc=Provide detailed information about this report.
report_generalInfoSection_desc=Provide general information about this report.
report_variabilitySection_desc=Specify how this report relates to another report.
report_versionInfoSection_desc=Provide version information about this report.

resuableasset_detailSection_desc=Provide detailed information about this resuable asset.
resuableasset_generalInfoSection_desc=Provide general information about this resuable asset.
resuableasset_variabilitySection_desc=Specify how this resuable asset relates to another resuable asset.
resuableasset_versionInfoSection_desc=Provide version information about this resuable asset.

roadmap_detailSection_desc=Provide detailed information about this roadmap.
roadmap_generalInfoSection_desc=Provide general information about this roadmap.
roadmap_variabilitySection_desc=Specify how this roadmap relates to another roadmap.
roadmap_versionInfoSection_desc=Provide version information about this roadmap.

supportingmaterial_detailSection_desc=Provide detailed information about this supporting material.
supportingmaterial_generalInfoSection_desc=Provide general information about this supporting material.
supportingmaterial_variabilitySection_desc=Specify how this supporting material relates to another supporting material.
supportingmaterial_versionInfoSection_desc=Provide version information about this supporting material.

template_detailSection_desc=Provide detailed information about this template.
template_generalInfoSection_desc=Provide general information about this template.
template_variabilitySection_desc=Specify how this template relates to another template.
template_versionInfoSection_desc=Provide version information about this template.

termdefinition_detailSection_desc=Provide detailed information about this term definition.
termdefinition_generalInfoSection_desc=Provide general information about this term definition.
termdefinition_variabilitySection_desc=Specify how this term definition relates to another term definition.
termdefinition_versionInfoSection_desc=Provide version information about this term definition.

toolmentor_detailSection_desc=Provide detailed information about this tool mentor.
toolmentor_generalInfoSection_desc=Provide general information about this tool mentor.
toolmentor_variabilitySection_desc=Specify how this tool mentor relates to another tool mentor.
toolmentor_versionInfoSection_desc=Provide version information about this tool mentor.

whitepaper_detailSection_desc=Provide detailed information about this whitepaper.
whitepaper_generalInfoSection_desc=Provide general information about this whitepaper.
whitepaper_variabilitySection_desc=Specify how this whitepaper relates to another whitepaper.
whitepaper_versionInfoSection_desc=Provide version information about this whitepaper.

disciplinegrouping_detailSection_desc=Provide detailed information about this discipline grouping.
disciplinegrouping_generalInfoSection_desc=Provide general information about this discipline grouping.
disciplinegrouping_variabilitySection_desc=Specify how this discipline grouping relates to another discipline grouping.
disciplinegrouping_versionInfoSection_desc=Provide version information about this discipline grouping.

rolesetgrouping_detailSection_desc=Provide detailed information about this roleset grouping.
rolesetgrouping_generalInfoSection_desc=Provide general information about this roleset grouping.
rolesetgrouping_variabilitySection_desc=Specify how this roleset grouping relates to another roleset grouping.
rolesetgrouping_versionInfoSection_desc=Provide version information about this roleset grouping.

customcategory_detailSection_desc=Provide detailed information about this custom category.
customcategory_generalInfoSection_desc=Provide general information about this custom category.
customcategory_variabilitySection_desc=Specify how this custom category relates to another custom category.
customcategory_versionInfoSection_desc=Provide version information about this custom category.
customcategory_IconSection_desc=Customize the icons for this custom category.

concept_iconSection_desc=Customize the icons for this concept.
checklist_iconSection_desc=Customize the icons for this checklist.
toolmentor_iconSection_desc=Customize the icons for this tool mentor.
whitepaper_iconSection_desc=Customize the icons for this whitepaper.
estimationconsideration_iconSection_desc=Customize the icons for this estimation consideration.
termdefinition_iconSection_desc=Customize the icons for this term definition.
template_iconSection_desc=Customize the icons for this template.
reusableasset_iconSection_desc=Customize the icons for this reusable asset.
report_iconSection_desc=Customize the icons for this report.
practice_iconSection_desc=Customize the icons for this practice.
example_iconSection_desc=Customize the icons for this example.
guideline_iconSection_desc=Customize the icons for this guideline.
roadmap_iconSection_desc=Customize the icons for this roadmap.
supportingmaterial_iconSection_desc=Customize the icons for this supporting material.

publish_categories_text=Publish this category with the categorized method elements.
editor_error_activated_outofsync_title=File Changed
editor_error_activated_outofsync_message=The file has been changed on the file system. Do you want to load the changes?

activity_variability_error_title=Activity Variability

variability_error_title=Variability

circular_dependency_error_title=Circular dependency

apply_pattern_error_title=Apply Pattern
apply_pattern_error_msg=Activity ''{0}'' cannot apply pattern with ''{1}'' since it will result in circular dependency.

#set default history size
default_list_length_label=Default History size:

ProcessEditor_Action_Suppress_Task=Suppress Tasks
ProcessEditor_Action_Reveal_Task=Reveal Tasks

#Extend Semantics preference check
extend_semantics_button_text=Use new &Extends semantics
extend_semantics_text=Extending elements override to-many relationships instead of adding to the inherited elements.

################################################
# EPF 1.2 nl strings.
###################################

#Layout Action group
LayoutActionGroup_label= &Plugin Presentation
LayoutActionGroup_flatLayoutAction_label= &Flat
LayoutActionGroup_hierarchicalLayoutAction_label= &Hierarchical

################################################################################
# THE FOLLOWING PROPERTIES SHOULD NOT BE TRANSLATED!!!
################################################################################

ChangeHistoryDialog_delimiter=|
MarkerResolutionGenerator_showOwnerInLibraryView=Show owner of this unresolved reference in Library view
MarkerResolutionGenerator_removeUnresolvedReference=Remove this unresolved reference
promptDeleteCustomCategoryBeforeRemoveLastRefToIt=You are about to remove the last reference to {0} in the plug-in. The element(s) will be deleted. Do you want to continue?

############################################################################
#Below property "editor_title_colon_with_spaces" should not be translated
#Don't delete a space after ": "
#############################################################################
editor_title_colon_with_spaces=: 