//------------------------------------------------------------------------------
// 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
//------------------------------------------------------------------------------
package org.eclipse.epf.authoring.ui;

import org.eclipse.osgi.util.NLS;

/**
 * Authoing UI resources
 * 
 * @author Shilpa Toraskar
 * @since 1.0
 * 
 */
public final class AuthoringUIResources extends NLS {

	private static String BUNDLE_NAME = AuthoringUIResources.class.getPackage()
			.getName()
			+ ".Resources"; //$NON-NLS-1$

	private AuthoringUIResources() {
		// Do not instantiate.
	}

	public static String ConfigurationOrderDialog_description;

	public static String ConfigurationOrderDialog_NavigationViews;

	public static String editor_error_activated_outofsync_title;

	public static String editor_error_activated_outofsync_message;

	public static String assignPage_title;

	public static String categoriesPage_title;

	public static String deliverablePartsPage_title;

	public static String descriptionPage_title;

	public static String disciplinesPage_title;

	public static String discardunresolvedref;

	public static String guidancePage_title;

	public static String previewPage_title;

	public static String promptDeleteCustomCategoryBeforeRemoveLastRefToIt;

	public static String referencesPage_title;

	public static String reference_text;

	public static String referenceWorkflowPage_title;

	public static String rolesPage_title;

	public static String roleSetsPage_title;

	public static String stepsPage_title;

	public static String tasksPage_title;

	public static String toolMentorsPage_title;

	public static String workProductsPage_title;

	public static String checkItemsSection_name;

	public static String checkItemsSection_desc;

	public static String dependenciesSection_name;

	public static String dependenciesSection_desc;

	public static String detailSection_name;

	public static String detailSection_desc;

	public static String generalInfoSection_name;

	public static String generalInfoSection_desc;

	public static String iconSection_name;

	public static String iconSection_desc;

	public static String notationSection_name;

	public static String notationSection_desc;

	public static String referencedPluginsSection_name;

	public static String referencedPluginsSection_desc;

	public static String staffingSection_name;

	public static String staffingSection_desc;

	public static String stepsSection_name;

	public static String stepsSection_desc;

	public static String tailoringSection_name;

	public static String tailoringSection_desc;

	public static String variabilitySection_name;

	public static String variabilitySection_desc;

	public static String versionInfoSection_name;

	public static String versionInfoSection_desc;

	public static String additionalInfo_text;

	public static String application_text;

	public static String actionLabel_edit;

	public static String actionLabel_findElementInLibNav;

	public static String alternatives_text;

	public static String assignmentApproaches_text;

	public static String authors_text;

	public static String background_text;

	public static String baseElement_text;

	public static String baseGuidance_text;

	public static String briefDescription_text;

	public static String description_text;

	public static String backupbeforesave_text;

	public static String briefOutline_text;

	public static String changeDate_text;

	public static String changeDescription_text;

	public static String checkItems_text;

	public static String contributes_text;

	public static String localContributes_text;

	public static String contributes_to_text;

	public static String copyright_text;

	public static String editor_text;

	public static String extends_text;

	public static String extend_text;

	public static String externalDescription_text;

	public static String externalId_text;

	public static String goals_text;

	public static String impactOfNotHaving_text;

	public static String keyConsiderations_text;

	public static String levelsOfAdoption_text;

	public static String mainDescription_text;

	public static String newElement_text;

	public static String name_text;

	public static String notApplicable_text;

	public static String packagingGuidance_text;

	public static String presentationName_text;

	public static String promptforlibary_text;

	public static String enableHealthCheck_text;

	public static String problem_text;

	public static String purpose_text;

	public static String reasonForNotNeeding_text;

	public static String replaces_text;

	public static String localReplaces_text;

	public static String extendsReplaces_text;

	public static String representationOptions_text;

	public static String attachedFile_text;

	public static String skills_text;

	public static String steps_text;

	public static String steps_name_text;

	public static String stop_text;

	public static String print_text;

	public static String synonyms_text;

	public static String type_text;

	public static String copy_text;

	public static String deepCopy_text;

	public static String back_text;

	public static String new_plugin;

	public static String move;

	public static String uniqueId_text;

	public static String variabilityType_text;

	public static String version_text;

	public static String addButton_text;

	public static String attachButton_text;

	public static String browseButton_text;

	public static String changeTypeButton_text;

	public static String clearButton_text;

	public static String deleteButton_text;

	public static String detachButton_text;

	public static String diagram_saveError;

	public static String downButton_text;

	public static String directory_text;

	public static String orderButton_text;

	public static String editButton_text;

	public static String removeButton_text;

	public static String renameAction_text;

	public static String remove_text;

	public static String rename_text;

	public static String SaveAs_text;

	public static String selectButton_text;

	public static String deselectButton_text;

	public static String upButton_text;

	public static String makeDefaultButton_text;

	public static String viewHistoryButton_text;

	public static String roleTasksPage_sectionName;

	public static String roleTasksPage_sectionDescription;

	public static String roleTasksPage_availableLabel;

	public static String roleTasksPage_selectedLabel;

	public static String roleTasksPage_selectedLabel2;

	public static String roleTasksPage_multipleSelectDescription;

	public static String roleWorkProductsPage_sectionName;

	public static String roleWorkProductsPage_sectionDescription;

	public static String roleWorkProductsPage_availableLabel;

	public static String roleWorkProductsPage_selectedLabel;

	public static String roleWorkProductsPage_selectedLabel2;

	public static String roleWorkProductsPage_multipleSelectDescription;

	public static String roleGuidancePage_sectionName;

	public static String roleGuidancePage_sectionDescription;

	public static String roleGuidancePage_availableLabel;

	public static String roleGuidancePage_selectedLabel;

	public static String roleGuidancePage_multipleSelectDescription;

	public static String roleCategoriesPage_sectionName;

	public static String roleCategoriesPage_sectionDescription;

	public static String roleCategoriesPage_availableLabel;

	public static String roleCategoriesPage_availableLabel2;

	public static String roleCategoriesPage_selectedLabel;

	public static String roleCategoriesPage_selectedLabel2;

	public static String taskRolesPage_sectionName;

	public static String taskRolesPage_sectionDescription;

	public static String taskRolesPage_availableLabel;

	public static String taskRolesPage_selectedLabel;

	public static String taskRolesPage_selectedLabel2;

	public static String taskRolesPage_multipleSelectDescription;

	public static String taskRolesPage_primaryPerformer_modify_message;

	public static String taskRolesPage_confirm_title;

	public static String taskWorkProductsPage_sectionName;

	public static String taskWorkProductsPage_sectionDescription;

	public static String taskWorkProductsPage_availableLabel;

	public static String taskWorkProductsPage_selectedLabel;

	public static String taskWorkProductsPage_selectedLabel2;

	public static String taskWorkProductsPage_selectedLabel3;

	public static String taskWorkProductsPage_multipleSelectDescription;

	public static String taskGuidancePage_sectionName;

	public static String taskGuidancePage_sectionDescription;

	public static String taskGuidancePage_availableLabel;

	public static String taskGuidancePage_selectedLabel;

	public static String taskGuidancePage_multipleSelectDescription;

	public static String taskCategoriesPage_sectionName;

	public static String taskCategoriesPage_sectionDescription;

	public static String taskCategoriesPage_availableLabel;

	public static String taskCategoriesPage_availableLabel2;

	public static String taskCategoriesPage_selectedLabel;

	public static String taskCategoriesPage_selectedLabel2;

	public static String MarkerResolutionGenerator_removeUnresolvedReference;

	public static String MarkerResolutionGenerator_showOwnerInLibraryView;

	public static String WorkProduct_Tasks_SectionName;

	public static String WorkProduct_Tasks_SectionDescription;

	public static String WorkProduct_Tasks_AvailableLabel;

	public static String WorkProduct_Tasks_SelectedLabel;

	public static String WorkProduct_Tasks_SelectedLabel2;

	public static String WorkProduct_Tasks_SelectedLabel3;

	public static String WorkProduct_Tasks_MultipleSelectDescription;

	public static String workProductRolesPage_sectionName;

	public static String workProductRolesPage_sectionDescription;

	public static String workProductRolesPage_availableLabel;

	public static String workProductRolesPage_selectedLabel;

	public static String workProductRolesPage_selectedLabel2;

	public static String workProductRolesPage_multipleSelectDescription;

	public static String workProductDeliverablePartsPage_sectionName;

	public static String workProductDeliverablePartsPage_sectionDescription;

	public static String workProductDeliverablePartsPage_availableLabel;

	public static String workProductDeliverablePartsPage_selectedLabel;

	public static String workProductDeliverablePartsPage_multipleSelectDescription;

	public static String workProductGuidancePage_sectionName;

	public static String workProductGuidancePage_sectionDescription;

	public static String workProductGuidancePage_availableLabel;

	public static String workProductGuidancePage_selectedLabel;

	public static String workProductGuidancePage_multipleSelectDescription;

	public static String workProductCategoriesPage_sectionName;

	public static String workProductCategoriesPage_sectionDescription;

	public static String workProductCategoriesPage_availableLabel;

	public static String workProductCategoriesPage_availableLabel2;

	public static String workProductCategoriesPage_availableLabel3;

	public static String workProductCategoriesPage_selectedLabel;

	public static String workProductCategoriesPage_selectedLabel2;

	public static String workProductCategoriesPage_selectedLabel3;

	public static String practiceReferencesPage_sectionName;

	public static String practiceReferencesPage_sectionDescription;

	public static String practiceReferencesPage_availableLabel;

	public static String practiceReferencesPage_selectedLabel;

	public static String practiceReferencesPage_multipleSelectDescription;

	public static String categoryGuidancesPage_sectionName;

	public static String categoryGuidancesPage_sectionDescription;

	public static String categoryGuidancesPage_availableLabel;

	public static String categoryGuidancesPage_selectedLabel;

	public static String categoryGuidancesPage_multipleSelectDescription;

	public static String disciplineGroupingDisciplinesPage_sectionName;

	public static String disciplineGroupingDisciplinesPage_sectionDescription;

	public static String disciplineGroupingDisciplinesPage_availableLabel;

	public static String disciplineGroupingDisciplinesPage_selectedLabel;

	public static String disciplineGroupingDisciplinesPage_multipleSelectDescription;

	public static String AuthoringUIPlugin_AbstractNewLibraryPage_UseDefaultDirectoryButtonLabel;

	public static String disciplineTasksPage_sectionName;

	public static String disciplineTasksPage_sectionDescription;

	public static String disciplineTasksPage_availableLabel;

	public static String disciplineTasksPage_selectedLabel;

	public static String disciplineTasksPage_multipleSelectDescription;

	public static String disciplineReferenceWorkflowPage_sectionName;

	public static String disciplineReferenceWorkflowPage_sectionDescription;

	public static String disciplineReferenceWorkflowPage_availableLabel;

	public static String disciplineReferenceWorkflowPage_selectedLabel;

	public static String disciplineReferenceWorkflowPage_multipleSelectDescription;

	public static String domainWorkProductsPage_sectionName;

	public static String domainWorkProductsPage_sectionDescription;

	public static String domainWorkProductsPage_availableLabel;

	public static String domainWorkProductsPage_selectedLabel;

	public static String domainWorkProductsPage_multipleSelectDescription;

	public static String workProductTypeWorkProductsPage_sectionName;

	public static String workProductTypeWorkProductsPage_sectionDescription;

	public static String workProductTypeWorkProductsPage_availableLabel;

	public static String workProductTypeWorkProductsPage_selectedLabel;

	public static String workProductTypeWorkProductsPage_multipleSelectDescription;

	public static String roleSetGroupingRoleSetsPage_sectionName;

	public static String roleSetGroupingRoleSetsPage_sectionDescription;

	public static String roleSetGroupingRoleSetsPage_availableLabel;

	public static String roleSetGroupingRoleSetsPage_selectedLabel;

	public static String roleSetGroupingRoleSetsPage_multipleSelectDescription;

	public static String roleSetRolesPage_sectionName;

	public static String roleSetRolesPage_sectionDescription;

	public static String roleSetRolesPage_availableLabel;

	public static String roleSetRolesPage_selectedLabel;

	public static String roleSetRolesPage_multipleSelectDescription;

	public static String toolToolMentorsPage_sectionName;

	public static String toolToolMentorsPage_sectionDescription;

	public static String toolToolMentorsPage_availableLabel;

	public static String toolToolMentorsPage_selectedLabel;

	public static String toolToolMentorsPage_multipleSelectDescription;

	public static String customCategoryAssignPage_sectionName;

	public static String customCategoryAssignPage_sectionDescription;

	public static String customCategoryAssignPage_availableLabel;

	public static String customCategoryAssignPage_selectedLabel;

	public static String customCategoryAssignPage_multipleSelectDescription;

	public static String newPluginWizard_title;

	public static String newPluginWizardPage_title;

	public static String newPluginWizardPage_text;

	public static String newPluginError_msg;

	public static String newPluginError_reason;

	public static String createDialog_title;

	public static String deleteDialog_title;

	public static String editDialog_title;

	public static String errorDialog_title;

	public static String moveDialog_title;

	public static String renameDialog_title;

	public static String warningDialog_title;

	public static String addConfigErrorDialog_title;

	public static String setDefaultConfigErrorDialog_title;

	public static String editProcessElementErrorDialog_title;

	public static String openLibraryDialog_title;

	public static String openLibraryDialog_text;

	public static String saveLibraryDialog_title;

	public static String saveLibraryDialog_text;

	public static String upgradeLibraryDialog_title;

	public static String deleteAssociationDialog_text;

	public static String noOpenLibraryError_msg;

	public static String emptyElementNameError_msg;

	public static String duplicateElementNameError_msg;

	public static String createConfigError_msg;

	public static String deleteConfigError_msg;

	public static String internalError_msg;

	public static String invalidPresentationNameError_msg;

	public static String invalidConfigError_msg;

	public static String setDefaultConfigError_msg;

	public static String openLibraryError_msg;

	public static String saveLibraryError_msg;

	public static String saveLibraryToError_msg;

	public static String elementAlreadyDeletedError_msg;

	public static String upgradeLibraryError_msg;

	public static String error_reason;

	public static String internalError_reason;

	public static String upgradeLibraryError_reason;

	public static String saveUpgradedLibraryError_reason;

	public static String openingLibraryTask_name;

	public static String savingLibraryTask_name;

	public static String upgradingLibraryTask_name;

	public static String loadingLibraryElementsTask_name;

	public static String savingUpgradedElementsTask_name;

	public static String savingTask_name;

	public static String savingFilesTask_name;

	public static String fixingContentDescriptionGUIDsTask_name;

	public static String deletingInvalidReferencesTask_name;

	public static String addEditorToPerspectiveWarning_msg;

	public static String ChangeHistoryDialog_title;

	public static String ChangeHistoryDialog_label;

	public static String confirmDeleteDialog_title;

	public static String confirmDeleteDialog_msg;

	public static String confirmDeleteDialog_msgWithReference;

	public static String errorDialog_message;

	public static String errorDialog_error;

	public static String err_noopenlibrary;

	public static String err_loadinglibrary;

	public static String msg_reloadLibrary;

	public static String reloadDialog_message;

	public static String reloadDialog_title;

	public static String dialogs_MoveDialog_errorTitle;

	public static String dialogs_MoveDialog_errorMessage;

	public static String processFormEditorSaveDialog_title;

	public static String processFormEditorSaveDialog_message1;

	public static String processFormEditorSaveDialog_message2;

	public static String configViewPageRemoveViewDialog_title;

	public static String configViewPageRemoveViewDialog_message;

	public static String configViewPageViewExistsDialog_title;

	public static String configViewPage_configuration;

	public static String configViewPage_configurationViews;

	public static String configViewPage_views;

	public static String columnselection_text;

	public static String configViewPage_addViewButtonText;

	public static String configViewPage_removeViewButtonText;

	public static String configViewPage_makeDefaultButtonText;

	public static String configViewPageViewExistsDialog_message;

	public static String configViewPage_configurationViewSectionTitle;

	public static String configViewPage_configurationViewSectionMessage;

	public static String descriptionTabGuidanceWarningDialog_title;

	public static String descriptionTabGuidanceWarningDialog_message1;

	public static String descriptionTabGuidanceWarningDialog_message2;

	public static String changeActivityTypeWarningDialog_title;

	public static String AssociationFormPage_BriefDescriptionLabel;

	public static String methodElementDescriptionEmptyNameDialog_title;

	public static String methodElementDescriptionEmptyNameDialog_message;

	public static String methodPluginDescriptionRemoveRefConfirm_message;

	public static String methodPluginDescriptionPage_confirmRename;

	public static String methodPluginDescriptionPage_confirmRename_title;

	public static String methodPluginDescriptionPage_cannotRenamePluginFolder;

	public static String methodPluginDescriptionPage_lockPluginLabel;

	public static String methodPluginDescriptionPage_lockPlugin_message;

	public static String processDescriptionNameChangeConfirm_title;

	public static String processDescriptionNameChangeConfirm_message;

	public static String processDescription_configurationDescription;

	public static String processDescription_configurationSectionTitle;

	public static String processDescription_configurationSectionMessage;

	public static String processDescription_configurations;

	public static String processDescription_default;

	public static String ProcessDescription_selectConfiguration;

	public static String ProcessDeleteAction_deletecofirm_text0;

	public static String ProcessDeleteAction_selectDescriptorsToDelete;

	public static String viewHelperHealthCheckDialog_title;

	public static String viewHelper_performHealthCheck;

	public static String viewHelperHealthCheckDialog_message;

	public static String attachGuidanceFileDialog_title;

	public static String createElementDialog_title;

	public static String createNewElementError_msg;

	public static String dlgTitle_reloadLibrary;

	public static String createElementError_reason;

	public static String deleteConfigError_reason;

	public static String gef_changeBoundsCommand_label;

	public static String gef_changeNameCommand_label;

	public static String gef_changeNameCommand_undoMessage;

	public static String gef_changePropertyValueCommand_label;

	public static String gef_createBendpointCommand_label;

	public static String gef_createLinkCommand_label;

	public static String gef_createNodeCommand_label;

	public static String gef_deleteBendpointCommand_label;

	public static String gef_deleteCommand_label;

	public static String gef_deleteLinkCommand_label;

	public static String gef_moveBendpointCommand_label;

	public static String gef_reconnectLinkCommand_label;

	public static String gef_validatingDirectEditManager_bringDownPrompt;

	public static String gef_validatingFreeTextEditManager_bringDownPrompt;

	public static String gef_workProductNodeEditPart_validateMessage;

	public static String actions_ElementsViewDeleteAction_message;

	public static String actions_LibraryActionBarContributor_deleteErrorTitle;

	public static String actions_LibraryActionBarContributor_deleteErrorMessage;

	public static String actions_LibraryActionBarContributor_deleteErrorReason;

	public static String editors_MethodElementEditor_saveErrorTitle;

	public static String editors_MethodElementEditor_saveErrorMessage1;

	public static String editors_MethodElementEditor_saveErrorMessage2;

	public static String editors_MethodElementEditor_saveErrorReason1;

	public static String editors_MethodElementEditor_saveErrorReason2;

	public static String editors_MethodElementEditor_renameErrorTitle;

	public static String editors_MethodElementEditor_invalidEditorMsg;

	public static String editors_MethodElementEditor_invalidEditorTitle;

	public static String editors_MethodElementEditor_renameErrorMessage1;

	public static String renameError_title;

	public static String renameError_msg;

	public static String SelectElementDialog_selectelement_text;

	public static String editors_EditorChooser_systemErrorDialog_title;

	public static String AuthoringUIPlugin_AbstractNewLibraryPage_DescriptionLabel;

	public static String AuthoringUIPlugin_SaveAllEditorsPage_SelectAllButtonLabel;

	public static String OpenElementWorkbenchActionDelegate_edit_text0;

	public static String editors_EditorChooser_systemErrorDialog_message;

	public static String DescriptionFormPage_IconFileChooserDialog_title;

	public static String AuthoringUIPlugin_AbstractNewLibraryPage_DefaultLibraryName;

	public static String AuthoringUIPlugin_NewConfigurationMainPage_DescriptionLabel;

	public static String AuthoringUIPlugin_OpenConfigurationMainPage_pageDescription;

	public static String AuthoringUIPlugin_SaveAllEditorsPage_DeselectAllButtonLabel;

	public static String ElementsView_migration_dir_dlg_description_text;

	public static String editors_EditorChooser_systemErrorDialog_reason;

	public static String forms_DescriptionFormPage_imageTooBigDialog_title;

	public static String forms_DescriptionFormPage_imageTooBigDialog_template;

	public static String forms_DescriptionFormPage_imageNotFoundDialog_title;

	public static String forms_DescriptionFormPage_imageNotFoundDialog_template;

	public static String DescriptionFormPage_ShapeIconPreview_SelectButtonLabel;

	public static String AuthoringUIPlugin_AbstractNewLibraryPage_DefaultLibraryDescription;

	public static String AuthoringUIPlugin_NewConfigurationMainPage_DefaultBriefDescription;

	public static String AuthoringUIPlugin_SaveAllEditorsPage_saveAndClosePageDescription;

	public static String forms_GuidanceWithAttachmentsDescriptionPage_alreadyAttached_msg;

	public static String newLibraryError_msg;

	public static String newLibraryInternlError_reason;

	public static String newLibraryError_reason1;

	public static String newLibraryError_reason2;

	public static String newLibraryError_reason3;

	public static String newLibraryError_advice;

	public static String Process_ExternalID;

	public static String Process_Purpose;

	public static String Process_Scope;

	public static String Process_UsageNotes;

	public static String Process_Alternatives;

	public static String Process_HowToStaff;

	public static String Process_KeyConsideration;

	public static String Process_Scale;

	public static String Process_ProjectCharacteristics;

	public static String Process_RiskLevel;

	public static String Process_EstimatingTechnique;

	public static String Process_ProjectMemberExpertise;

	public static String Process_TypeOfContract;

	public static String backButton_text;

	public static String forwardButton_text;

	public static String forward_text;

	public static String stopButton_text;

	public static String refreshButton_text;

	public static String refresh_text;

	public static String newname_text;

	public static String printButton_text;

	public static String _UI_RefreshViewer_menu_item;

	public static String _UI_ShowPropertiesView_menu_item;

	public static String _UI_MethodEditor_menu;

	public static String _UI_CreateChild_menu_item;

	public static String _UI_CreateSibling_menu_item;

	public static String _UI_SelectionPage_label;

	public static String _UI_ParentPage_label;

	public static String _UI_ListPage_label;

	public static String _UI_TreePage_label;

	public static String _UI_TablePage_label;

	public static String _UI_TableTreePage_label;

	public static String _UI_ObjectColumn_label;

	public static String _UI_SelfColumn_label;

	public static String _UI_NoObjectSelected;

	public static String _UI_SingleObjectSelected;

	public static String _UI_MultiObjectSelected;

	public static String _UI_OpenEditorError_label;

	public static String _UI_Wizard_category;

	public static String _UI_MethodModelWizard_label;

	public static String _UI_MethodModelWizard_description;

	public static String _UI_MethodEditor_label;

	public static String _UI_MethodEditorFilenameDefaultBase;

	public static String _UI_MethodEditorFilenameExtension;

	public static String _UI_Wizard_label;

	public static String _WARN_FilenameExtension;

	public static String _UI_ModelObject;

	public static String _UI_XMLEncoding;

	public static String _UI_XMLEncodingChoices;

	public static String _UI_Wizard_initial_object_description;

	public static String _UI_FileConflict_label;

	public static String _WARN_FileConflict;

	public static String addLinkDialog_linkType;

	public static String openLinkCheckbox_text;

	public static String heightLabel_text;

	public static String widthLabel_text;

	public static String ElementsView_20;

	public static String ElementsView_21;

	public static String ElementsView_22;

	public static String ElementsView_35;

	public static String ElementsView_36;

	public static String altTagLabel_text;

	public static String imageSizeLabel_text;

	public static String ProcessEditor;

	public static String ProcessEditor_Name;

	public static String ProcessEditor_PresentationName;

	public static String ProcessEditor_Index;

	public static String ProcessEditor_Predecessors;

	// public static String ConfigurationPage_Selected;
	public static String ChecklistOrder_description;

	public static String ElementsView_renaming_text;

	public static String ProcessEditor_ModelInfo;

	public static String ProcessEditor_Prefix;

	public static String MoveDialog_move_text;

	public static String ChecklistOrder_title;

	public static String ProcessEditor_Repetable;

	public static String ProcessEditor_Ongoing;

	public static String ProcessEditor_Action_Synchronization;

	public static String ProcessEditor_EventDriven;

	public static String ProcessEditor_Deliverable;

	public static String ProcessEditor_Optional;

	public static String FilterDialog_Type_text;

	public static String FilterDialog_ExpandAll;

	public static String MoveDialog_moving_text;

	public static String DescriptionFormPage_LoadShapeIconWarning;

	public static String DescriptionFormPage_LoadShapeIconError;

	public static String AuthoringUIPlugin_AbstractNewLibraryPage_NameLabel;

	public static String AuthoringUIPlugin_NewConfigurationMainPage_pageTitle;

	public static String AuthoringUIPlugin_NewConfigurationMainPage_NameLabel;

	public static String AuthoringUIPlugin_newConfigurationWizard_title;

	public static String newLibraryWizard_title;

	public static String newLibraryWizardMainPage_title;

	public static String newLibraryWizardMainPage_description;

	public static String newLibraryWizardMainPage_description_2;

	public static String libraryPathLabel_text;

	public static String libraryTypeLabel_text;

	public static String AuthoringUIPlugin_SaveAllEditorsPage_saveTitle;

	public static String AuthoringUIPlugin_SaveAllEditorsPage_saveDescription;

	public static String AuthoringUIPlugin_OpenConfigurationMainPage_pageTitle;

	public static String AuthoringUIPlugin_OpenConfigurationWizard_windowTitle;

	public static String ElementsView_replaceingwithformat_text;

	public static String DescriptionFormPage_LoadNodeIconWarning;

	public static String MessageLabelProvider_unselectedpackages;

	public static String DescriptionFormPage_LoadNodeIconError;

	public static String StepsOrderDialog_steps;

	public static String StepsOrderDialog_title;

	public static String ProcessEditor_Planned;

	public static String specifydirectory_text;

	public static String ProcessEditor_MultipleOccurrences;

	public static String ProcessEditor_EntryState;

	public static String ProcessEditor_ExitState;

	public static String selectColumnstoAdd_text;

	public static String ProcessEditor_Type;

	public static String ProcessEditor_Team;

	public static String FilterDialog_title;

	public static String ProcessEditor_Action_Add;

	public static String FilterDialog_CollapseAll;

	public static String OpenCheatsheetView_title;

	public static String ProcessEditor_Action_RollUp;

	public static String ProcessEditor_Action_RollDown;

	public static String ProcessEditor_Action_MoveUp;

	public static String ProcessEditor_Action_MoveDown;

	public static String ProcessEditor_Action_Reveal;
	
	public static String ProcessEditor_Reveal_Title;

	public static String ProcessEditor_Action_Copy;

	public static String FilterDialog_Pattern_text;

	public static String MethodLibraryEditor_title;

	// public static String MessageView_selected_text;
	public static String MessageView_errmsg_text;

	public static String ElementsView_err_saving;

	public static String err_copying_file_title;

	public static String err_copying_file_error;

	public static String err_copying_file_reason;

	public static String err_processing_file_title;

	public static String editConfiguration_tooltip;

	public static String editDialog_msgCannotEdit;

	public static String SaveThisAction_saveobject;

	public static String ElementsView_replace_text;

	public static String ProcessEditor_Action_Extend;

	public static String MoveDialog_destination_text;

	public static String chooseDefaultDirectory_text;

	public static String ProcessEditor_Action_Suppress;

	public static String ProcessEditor_Action_Suppress2;

	public static String ProcessEditor_Action_AssignUserDiagram;

	public static String UserDefinedDiagramDialog_title;

	public static String UserDefinedDiagramDialog_adImage;

	public static String UserDefinedDiagramDialog_addImage;

	public static String UserDefinedDiagramDialog_wpdImage;

	public static String UserDefinedDiagramDialog_notaFile;

	public static String UserDefinedDiagramDialog_assignButton;

	public static String UserDefinedDiagramDialog_enteredImageNotFound;

	public static String UserDefinedDiagramDialog_selectedImageNotFound;

	public static String UserDefinedDiagramDialog_useADImage;

	public static String UserDefinedDiagramDialog_useADDImage;

	public static String UserDefinedDiagramDialog_useWPDImage;

	public static String ProcessEditor_Action_Contribute;

	public static String ProcessEditor_Action_Replace;

	public static String ProcessEditor_Action_Diagrams;

	public static String ProcessEditor_action_deepCopy;

	public static String FilterDialog_BriefDescription;

	public static String ConfigurationPage_hideToolTip;

	public static String ConfigurationPage_Description;

	public static String ProcessEditor_Action_SuppressAll;

	public static String FilterDialog_Pattern_description;

	public static String ConfigurationPage_TreeTitleLabel;

	public static String ConfigurationPage_LoadingMessage;

	public static String MoveDialog_validdestination_text;

	public static String MoveDialog_cannotModifyDestination;

	public static String ProcessEditor_Action_RevealAll;

	public static String ProcessEditor_Action_OpenBaseActivity;

	public static String ProcessFormEditor_expanAllActionLabel;

	public static String ProcessFormEditor_collapseAllActionLabel;

	public static String ProcessEditor_Action_OpenActivityDiagram;

	public static String ProcessEditor_promptToDeleteBeforeReveal;

	public static String ProcessEditorPreferencePage_SelectColumns;

	public static String ProcessEditor_Action_OpenActivityDetailDiagram;

	public static String ProcessEditorPreferencePage_ColumnSelection;

	public static String ProcessEditorPreferencePage_switchConfiguration;

	public static String ProcessEditorPreferencePage_suppressionGroupTitle;

	public static String ProcessEditorPreferencePage_inheritSuppressionState;

	public static String ProcessEditor_Action_OpenWorkProductDependencyDiagram;

	public static String DescriptionFormPage_ShapeIconPreview_ClearButtonLabel;

	public static String DescriptionFormPage_NodeIconPreview_SelectButtonLabel;

	public static String ProcessEditor_Action_InsertNewPhase;

	public static String ViewHelper_reloadLibOnRollbackError;

	public static String ViewHelper_alreadydeleted_text;

	public static String ViewHelper_alreadydeletedconfirm_text;

	public static String ConfigurationPage_AddMissingToolTip;

	public static String ConfigurationDescriptionDescription;

	public static String ConfigurationDescriptionGeneralInfo;

	public static String ProcessEditor_Action_ApplyPattern;

	public static String MoveDialog_selectdestination_text;

	public static String MoveDialog_nomove_destination_problem_msg;

	public static String MethodLibraryEditor_troubleobject;

	public static String MessageLabelProvider_errchildpkgs;

	public static String ProcessEditor_SuppressDialog_Title;

	public static String ProcessEditor_SuppressDialog_Message;

	public static String ProcessEditor_Title;

	public static String SaveAswithdots_text;

	public static String ProcessEditor_WorkBreakdownStructure;

	public static String ProcessEditor_TeamAllocation;

	public static String ProcessEditor_WorkProductUsage;

	public static String ProcessEditor_ConsolidatedView;

	public static String ProcessEditor_confirmAutoSynch;

	public static String ProcessEditor_defaultSynchronization;

	public static String ConfigurationPage_Description1;

	public static String ConfigurationPage_Description2;

	public static String NewLibraryDialog_newlibrary_as;

	public static String NewPluginDialog_newplugin_text;

	public static String SelectElementDialog_title_text;

	public static String OpenConfigDialognewconfig_text;

	public static String processBreakdownStructureFormPage_BSEditor;

	public static String AbstractDiagramEditor_alignMenu_text;

	public static String AbstractDiagramEditor_refreshFromBaseActivity_text;

	public static String AbstractDiagramEditor_formatTextBoxActivity_text;

	public static String AbstractDiagramEditor_hAlignAverageAction_text;

	public static String AbstractDiagramEditor_hAlignFirstSelectedAction_text;

	public static String AbstractDiagramEditor_vAlignAverageAction_text;

	public static String MethodLibraryDescriptionFormPage_section_title;

	public static String MoveDialog_invalid_move_destination_problem_msg;

	public static String MethodLibraryEditor_savemodellibrary;

	public static String MethodLibraryEditor_error_dialog_title;

	public static String MethodLibraryEditor_save_library_problem_msg;

	public static String MethodElementDeleteAction_deleteconfirm_text;

	public static String ContentElementsOrderDialog_ContentElement_text;

	public static String AuthoringUIPlugin_AbstractNewLibraryPage_BrowseButtonLabel;

	public static String AuthoringUIPlugin_NewConfigurationMainPage_pageDescription;

	public static String AuthoringUIPlugin_SaveAllEditorsPage_saveAndClosePageTitle;

	public static String AbstractDiagramEditor_vAlignFirstSelectedAction_text;

	public static String AbstractDiagramEditor_Save_text;

	public static String AttachmentDialogattachFile_text;

	public static String ConfigurationPage_ConfigContent;

	public static String OpenConfigDialogopenconfig_text;

	public static String ElementsView_replaceAction_text;

	public static String AbstractDiagramEditor_Save_message;

	public static String ConfigurationPage_ShowErrorToolTip;

	public static String ConfigurationDescriptionFormPrefix;

	public static String ChecklistOrder_checklistitems_text;

	public static String AbstractDiagramEditor_MoveNode_label;

	public static String ConfigurationPage_MakeClosureToolTip;

	public static String NewPluginDialog_referenceplugin_text;

	public static String AbstractDiagramEditor_createFreeText_text;

	public static String DescriptionFormPage_NodeIconPreview_Label;

	public static String DiagramValidation_err_cannot_connect_text;

	public static String DiagramValidation_err_samepredandsuc_text;

	public static String EditorChooser_loaddErrorDlgTitle;

	public static String EditorChooser_ResourcesError;

	public static String ConfigurationPage_FormPrefix;

	public static String ConfigurationDescriptionName;

	public static String AttachmentDialogFileURL_text;

	public static String StepsOrderDialog_description;

	public static String MethodLibraryEditor_err_save;

	public static String MessageView_errelement_text;

	public static String MessageView_refelement_text;

	public static String ActivityDiagramEditor_createStartNode_text;

	public static String ConfigurationPage_ConfigContentDescription;

	public static String ContentElementsOrderDialog_description_text;

	public static String AuthoringUIPlugin_AbstractNewLibraryPage_DirectoryLabel;

	public static String RootPrefPage_enableprocesscontribution_text;

	public static String ConfigurationDescriptionDescription_text;

	public static String ConfigurationDescriptionDescriptionLabel;

	public static String ContributionSelection_filterdialog_title;

	public static String ElementsView_openVariabilityDialogAction_text;

	public static String VariabilitySelection_filterdialog_title;

	public static String VariabilitySelection_filterdialog_viewerLabel;

	public static String DescriptionFormPage_ShapeIconPreview_Label;

	public static String DiagramValidation_err_cannot_delete_text;

	public static String ActivityDiagramEditor_openActivityDetailDiagram_text;

	public static String MethodLibraryDescriptionFormPage_section_description;

	public static String DescriptionFormPage_NodeIconPreview_ClearButtonLabel;

	public static String WPCompartmentFigure_0;

	public static String promptfor_publish_unopen_activitydd_text;

	public static String prompt_for_publish_extend_activity_diagram;

	public static String ConfigProcessViewDialog_NamePattern;

	public static String showInResourceNavigatorAction_label;

	public static String ConfigProcessViewDialog_Pattern;

	public static String err_processing_file_description;

	public static String ConfigProcessViewDialog_CategoryType;

	public static String ConfigProcessViewDialog_BriefDescription;

	public static String ConfigProcessViewDialog_SelectCategories;

	public static String cheatsheet_load_failure_log_msg;

	public static String newConfigurationWirazd_createError;

	public static String newPluginWizard_createError;

	public static String errorDialog_moveError;

	public static String renameDialog_renameError;

	public static String errorDialog_createError;

	public static String duplicatePluginNameError_msg;

	public static String ProcessEditor_Action_AddADImage;

	public static String ProcessEditor_refreshErrorTitle;

	public static String ProcessEditor_refreshErrorMsg;

	public static String ProcessEditor_Action_AddADDImage;

	public static String ProcessEditor_Action_AddWPDImage;

	public static String ProcessEditor_Action_UseADImageInPublishing;

	public static String ProcessEditor_promptToDeleteBeforeSuppress;

	public static String ProcessEditor_Action_UseADDImageInPublishing;

	public static String ProcessEditor_Action_UseWPDImageInPublishing;

	public static String ProcessEditor_DiagramImage_InputDialog_initialValue;

	public static String ProcessEditor_Action_ShowLinkedElementinLibraryView;

	public static String ProcessEditor_updateSuppressionFromBaseAction_label;

	public static String ProcessEditor_ContextMenu_DiagramImages;

	public static String synchronizationWizard_descriptionPage_title;

	public static String synchronizationWizard_descriptionPage_text;

	public static String synchronizationWizard_selectConfigPage_title;

	public static String synchronizationWizard_selectConfigPage_text;

	public static String synchronizationWizard_selectConfigPage_configLabel;

	public static String synchronizationWizard_selectDetailsPage_title;

	public static String synchronizationWizard_selectDetailsPage_properties_lable;

	public static String synchronizationWizard_selectDetailsPage_name_lable;

	public static String synchronizationWizard_selectDetailsPage_presentationName_lable;

	public static String synchronizationWizard_selectDetailsPage_briefDesc_lable;

	public static String synchronizationWizard_selectDetailsPage_optionalInouts_label;

	public static String synchronizationWizard_selectDetailsPage_mandatoryInputs_lable;

	public static String synchronizationWizard_selectDetailsPage_outputs_label;

	public static String synchronizationWizard_selectDetailsPage_primaryPerformer_label;

	public static String synchronizationWizard_selectDetailsPage_addnPerformers_lable;

	public static String synchronizationWizard_selectDetailsPage_responsibleRoles_lable;

	public static String synchronizationWizard_selectDetailsPage_contnArtifacts_label;

	public static String synchronizationWizard_selectDetailsPage_dilvedParts_label;

	public static String synchronizationWizard_selectDetailsPage_selSteps_label;

	public static String synchronizationWizard_selectDetailsPage_text;

	public static String synchronizationWizard_previewPage_title;

	public static String synchronizationWizard_previewPage_text;

	public static String selectEditorsToDiscardConflictChanges;

	public static String synchronizationWizard_title_text;

	public static String synchronizationWizard_descriptionPage_explainText;

	public static String openRTE;

	public static String closeRTE;

	public static String ChangeHistoryDialog_delimiter;

	public static String rolesets_guidancepage_sectiondescription;

	public static String disciplines_guidancepage_sectiondescription;

	public static String workproducttypes_guidancepage_sectiondescription;

	public static String domains_guidancepage_sectiondescription;

	public static String tools_guidancepage_sectiondescription;

	public static String customcategory_guidancepage_sectiondescription;

	public static String concept_guidancepage_sectiondescription;

	public static String checklist_guidancepage_sectiondescription;

	public static String example_guidancepage_sectiondescription;

	public static String guideline_guidancepage_sectiondescription;

	public static String roadmap_guidancepage_sectiondescription;

	public static String reusableasset_guidancepage_sectiondescription;

	public static String supportingmaterial_guidancepage_sectiondescription;

	public static String report_guidancepage_sectiondescription;

	public static String practice_guidancepage_sectiondescription;

	public static String template_guidancepage_sectiondescription;

	public static String termdefinition_guidancepage_sectiondescription;

	public static String toolmentor_guidancepage_sectiondescription;

	public static String whitepaper_guidancepage_sectiondescription;

	public static String estimationconsideration_guidancepage_sectiondescription;

	// New String Section Description
	public static String role_detailSection_desc;

	public static String role_generalInfoSection_desc;

	public static String role_variabilitySection_desc;

	public static String role_versionInfoSection_desc;

	public static String task_detailSection_desc;

	public static String task_generalInfoSection_desc;

	public static String task_variabilitySection_desc;

	public static String task_versionInfoSection_desc;

	public static String artifact_detailSection_desc;

	public static String artifact_generalInfoSection_desc;

	public static String artifact_iconSection_desc;

	public static String artifact_notationSection_desc;

	public static String artifact_tailoringSection_desc;

	public static String artifact_variabilitySection_desc;

	public static String artifact_versionInfoSection_desc;

	public static String outcome_detailSection_desc;

	public static String outcome_generalInfoSection_desc;

	public static String outcome_iconSection_desc;

	public static String outcome_notationSection_desc;

	public static String outcome_tailoringSection_desc;

	public static String outcome_variabilitySection_desc;

	public static String outcome_versionInfoSection_desc;

	public static String deliverable_detailSection_desc;

	public static String deliverable_generalInfoSection_desc;

	public static String deliverable_iconSection_desc;

	public static String deliverable_notationSection_desc;

	public static String deliverable_tailoringSection_desc;

	public static String deliverable_variabilitySection_desc;

	public static String deliverable_versionInfoSection_desc;

	public static String discipline_detailSection_desc;

	public static String discipline_generalInfoSection_desc;

	public static String discipline_variabilitySection_desc;

	public static String discipline_versionInfoSection_desc;

	public static String domain_detailSection_desc;

	public static String domain_generalInfoSection_desc;

	public static String domain_variabilitySection_desc;

	public static String domain_versionInfoSection_desc;

	public static String workproducttype_detailSection_desc;

	public static String workproducttype_generalInfoSection_desc;

	public static String workproducttype_variabilitySection_desc;

	public static String workproducttype_versionInfoSection_desc;

	public static String roleset_detailSection_desc;

	public static String roleset_generalInfoSection_desc;

	public static String roleset_variabilitySection_desc;

	public static String roleset_versionInfoSection_desc;

	public static String tool_detailSection_desc;

	public static String tool_generalInfoSection_desc;

	public static String tool_variabilitySection_desc;

	public static String tool_versionInfoSection_desc;

	public static String concept_detailSection_desc;

	public static String concept_generalInfoSection_desc;

	public static String concept_variabilitySection_desc;

	public static String concept_versionInfoSection_desc;

	public static String checklist_detailSection_desc;

	public static String checklist_generalInfoSection_desc;

	public static String checklist_variabilitySection_desc;

	public static String checklist_versionInfoSection_desc;

	public static String example_detailSection_desc;

	public static String example_generalInfoSection_desc;

	public static String example_variabilitySection_desc;

	public static String example_versionInfoSection_desc;

	public static String guideline_detailSection_desc;

	public static String guideline_generalInfoSection_desc;

	public static String guideline_variabilitySection_desc;

	public static String guideline_versionInfoSection_desc;

	public static String estimationconsideration_detailSection_desc;

	public static String estimationconsideration_generalInfoSection_desc;

	public static String estimationconsideration_variabilitySection_desc;

	public static String estimationconsideration_versionInfoSection_desc;

	public static String practice_detailSection_desc;

	public static String practice_generalInfoSection_desc;

	public static String practice_variabilitySection_desc;

	public static String practice_versionInfoSection_desc;

	public static String report_detailSection_desc;

	public static String report_generalInfoSection_desc;

	public static String report_variabilitySection_desc;

	public static String report_versionInfoSection_desc;

	public static String resuableasset_detailSection_desc;

	public static String resuableasset_generalInfoSection_desc;

	public static String resuableasset_variabilitySection_desc;

	public static String resuableasset_versionInfoSection_desc;

	public static String roadmap_detailSection_desc;

	public static String roadmap_generalInfoSection_desc;

	public static String roadmap_variabilitySection_desc;

	public static String roadmap_versionInfoSection_desc;

	public static String supportingmaterial_detailSection_desc;

	public static String supportingmaterial_generalInfoSection_desc;

	public static String supportingmaterial_variabilitySection_desc;

	public static String supportingmaterial_versionInfoSection_desc;

	public static String template_detailSection_desc;

	public static String template_generalInfoSection_desc;

	public static String template_variabilitySection_desc;

	public static String template_versionInfoSection_desc;

	public static String termdefinition_detailSection_desc;

	public static String termdefinition_generalInfoSection_desc;

	public static String termdefinition_variabilitySection_desc;

	public static String termdefinition_versionInfoSection_desc;

	public static String toolmentor_detailSection_desc;

	public static String toolmentor_generalInfoSection_desc;

	public static String toolmentor_variabilitySection_desc;

	public static String toolmentor_versionInfoSection_desc;

	public static String whitepaper_detailSection_desc;

	public static String whitepaper_generalInfoSection_desc;

	public static String whitepaper_variabilitySection_desc;

	public static String whitepaper_versionInfoSection_desc;

	public static String disciplinegrouping_detailSection_desc;

	public static String disciplinegrouping_generalInfoSection_desc;

	public static String disciplinegrouping_variabilitySection_desc;

	public static String disciplinegrouping_versionInfoSection_desc;

	public static String rolesetgrouping_detailSection_desc;

	public static String rolesetgrouping_generalInfoSection_desc;

	public static String rolesetgrouping_variabilitySection_desc;

	public static String rolesetgrouping_versionInfoSection_desc;

	public static String customcategory_detailSection_desc;

	public static String customcategory_generalInfoSection_desc;

	public static String customcategory_variabilitySection_desc;

	public static String customcategory_versionInfoSection_desc;

	public static String customcategory_IconSection_desc;

	public static String concept_iconSection_desc;

	public static String checklist_iconSection_desc;

	public static String toolmentor_iconSection_desc;

	public static String whitepaper_iconSection_desc;

	public static String estimationconsideration_iconSection_desc;

	public static String termdefinition_iconSection_desc;

	public static String template_iconSection_desc;

	public static String reusableasset_iconSection_desc;

	public static String report_iconSection_desc;

	public static String practice_iconSection_desc;

	public static String example_iconSection_desc;

	public static String guideline_iconSection_desc;

	public static String roadmap_iconSection_desc;

	public static String supportingmaterial_iconSection_desc;

	public static String activity_variability_error_title;

	public static String variability_error_title;

	public static String circular_dependency_error_title;

	public static String apply_pattern_error_msg;

	public static String apply_pattern_error_title;

	public static String editor_title_colon_with_spaces;

	public static String publish_categories_text;

	public static String default_list_length_label;
	
	public static String extend_semantics_button_text;
	
	public static String extend_semantics_text;
	
	public static String DescriptionFormPage_iconSection_fileNameConflict_title;
	
	public static String DescriptionFormPage_iconSection_fileNameConflict_msg;
	
	public static String DescriptionFormPage_iconSection_fileName_selectAction_label;
	
	public static String DescriptionFormPage_iconSection_fileName_destination;
	
	public static String DescriptionFormPage_iconSection_fileNameConflict_note;
	
	public static String DescriptionFormPage_iconSection_fileName_replace_msg;
	
	public static String DescriptionFormPage_iconSection_fileName_unique_msg; 

	public static String ProcessEditor_Action_Preferences;
	
	public static String ProcessEditor_Action_Suppress_Task;
	
	public static String ProcessEditor_Action_Reveal_Task;
	
	public static String LayoutActionGroup_label;

	public static String LayoutActionGroup_flatLayoutAction_label;

	public static String LayoutActionGroup_hierarchicalLayoutAction_label;
	
	static {
		NLS.initializeMessages(BUNDLE_NAME, AuthoringUIResources.class);
	}

}