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

################################################################################
# START NO TRANSLATION
################################################################################
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
ChangeHistoryDialog_delimiter=|

#Below property "editor_title_colon_with_spaces" should not be translated
#Don't delete a space after ": "
# !! DO NOT TRANSLATE THE FOLLOWING LINE !!
editor_title_colon_with_spaces=: 
################################################################################
# END NO TRANSLATION
################################################################################

# 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
notation_text=Notation:
problem_text=Problem:
purpose_text=Purpose:
reasonForNotNeeding_text=Reason for not needing:
replaces_text=Replaces
localReplaces_text=LocalReplaces
extendsReplaces_text=Extends and Replaces
representationOptions_text=Representation options:
representation_text=Selected representation:
attachedFile_text=Attached file(s)/URL(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 File...
attachUrlButton_text=Attach Url...
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:
roleCategoriesPage_multipleSelectDescription={0} categories have been selected.

# Task Editor Roles Page
taskRolesPage_sectionName=Roles
taskRolesPage_sectionDescription=Assign the roles to perform this task.
taskRolesPage_availableLabel=Available roles:
taskRolesPage_selectedLabel=Primary performers:
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 additional 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:
taskCategoriesPage_multipleSelectDescription={0} categories have been selected.

# 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 additional 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:
workProductCategoriesPage_multipleSelectDescription={0} categories have been selected.

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

# Preference Pages
methodLibraryGroup_text=Method library
defaultPathLabel_text=Default path:
modelingGroup_text=Modeling
userInterfaceGroup_text=User interface
debugGroup_text=Debug
enableLibraryValidationCheckbox_text=Enable method library validation
invalidPreferenceHistorySizeError_msg=Preference history size must be an integer with value ranging from {0} to {1}.

# 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.
openConfigWizardError_msg=IUPA0016E: The New Method Configuration wizard cannot be opened.

# Error Reasons
error_reason=An error has occurred.\n\nClick Details for more information.
internalError_reason=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.

configurationPage_QuickfixError_reason1=IUPA0020W:Unable to fix the problem for element ''{0}'' since it is in a subtracted category. \n\n You need to manually remove the element from the subtracted category.
configurationPage_quickfixError_title=Quick Fix

# 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 ''{1}''. This action will save and close any open editors of elements belonging to this plug-in and rename 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 plug-in folder to new name
methodPluginDescriptionPage_lockPluginLabel=Lock plug-in
methodPluginDescriptionPage_lockPlugin_message=Changing the lock state of this plug-in ''{0}'' will save and close any open editors of elements belonging to it. 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.
forms_GuidanceWithUrlAttachmentsDescriptionPage_alreadyAttached_msg=The selected URL 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 path.

#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
newConfigurationWizard_title=New Method Configuration
preference_WorkBreakdownElements=Phase, Iteration, Activity and Milestone
preference_DescriptorElements=Role, Task and Work Product Descriptor
preference_breakDownElement_Description=The following attributes will be selected by default in the process editor:
preference_Activity_Diagram=Activity Diagram 
preference_Activity_Detail_Diagram=Activity Detail Diagram

# 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=R&oll Up
ProcessEditor_Action_RollDown=R&oll Down
ProcessEditor_Action_MoveUp=&Move Up
ProcessEditor_Action_MoveDown=Move Do&wn
ProcessEditor_Action_Indent=&Indent
ProcessEditor_Action_Outdent=&Outdent
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=Preference&s...
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 Dependency 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 Contribution
ProcessEditor_Action_Replace=Local Replacemen&t
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_AddCategoriesTitleLabel=Add these Categories:
ConfigurationPage_SubCategoriesTitleLabel=Subtract these 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=Fix errors and warnings
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
AttachmentDialogattachUrl_text=Attach Url
ConfigurationPage_ConfigContent=Configuration Content
OpenConfigDialogopenconfig_text=Open Configuration
ElementsView_replaceAction_text=Replace...
AbstractDiagramEditor_Save_message=Saving {0}
ConfigurationPage_ShowErrorToolTip=Show configuration errors
ConfigurationDescriptionFormPrefix=Configuration: 
ChecklistOrder_checklistitems_text=Check Items: 
AbstractDiagramEditor_MoveNode_label=Move Node
ConfigurationPage_MakeClosureToolTip=Fix 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=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 activity detail diagrams that have not been created in process editor
prompt_for_publish_extend_activity_diagram=Publish 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 guidances that belong to this role set.
disciplines_guidancepage_sectiondescription=Manage the guidances that belong to this discipline.
workproducttypes_guidancepage_sectiondescription=Manage the guidances that belong to this work product kind.
domains_guidancepage_sectiondescription=Manage the guidances that belong to this domain.
tools_guidancepage_sectiondescription=Manage the guidances that belong to this tool.
customcategory_guidancepage_sectiondescription=Manage the guidances that belong to this custom category.

concept_guidancepage_sectiondescription=Manage the guidances that belong to this concept.
checklist_guidancepage_sectiondescription=Manage the guidances that belong to this checklist.
example_guidancepage_sectiondescription=Manage the guidances that belong to this example.
guideline_guidancepage_sectiondescription=Manage the guidances that belong to this guideline.
roadmap_guidancepage_sectiondescription=Manage the guidances that belong to this roadmap.
reusableasset_guidancepage_sectiondescription=Manage the guidances that belong to this reusable asset.
supportingmaterial_guidancepage_sectiondescription=Manage the guidances that belong to this supporting material.
report_guidancepage_sectiondescription=Manage the guidances that belong to this report.
practice_guidancepage_sectiondescription=Manage the guidances that belong to this practice.
template_guidancepage_sectiondescription=Manage the guidances that belong to this template.
termdefinition_guidancepage_sectiondescription=Manage the guidances that belong to this term definition.
toolmentor_guidancepage_sectiondescription=Manage the guidances that belong to this tool mentor.
whitepaper_guidancepage_sectiondescription=Manage the guidances that belong to this whitepaper.
estimationconsideration_guidancepage_sectiondescription=Manage the guidances 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 reusable asset.
resuableasset_generalInfoSection_desc=Provide general information about this reusable asset.
resuableasset_variabilitySection_desc=Specify how this reusable asset relates to another reusable asset.
resuableasset_versionInfoSection_desc=Provide version information about this reusable 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=Preference 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
# Note: Mnemonics do not work on these
LayoutActionGroup_label=Method Plug-in Presentation
LayoutActionGroup_flatLayoutAction_label=Flat
LayoutActionGroup_hierarchicalLayoutAction_label=Hierarchical

Validate_method_library=Validate Method Library

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?

ConfigurationMarkerResolutionGenerator_resolveMissingReference=Add reference

defaultLinkTypePrefLabel=Choose the default element link type when dragging from the Library view.
promptCreateNewDiagramFile_msg=No diagram file exists for this process. Do you want to create a new one?
NewDiagramFile_title=New Diagram File
ItemsFilterDialog_UpdateTreeJob_name=Update filter tree
