//------------------------------------------------------------------------------
// 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 Lokanath Jagga
 * @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 ItemsFilterDialog_UpdateTreeJob_name;

	public static String NewDiagramFile_title;

	public static String previewPage_title;

	public static String promptCreateNewDiagramFile_msg;

	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 notation_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 representation_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 attachUrlButton_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 ConfigurationMarkerResolutionGenerator_resolveMissingReference;

	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 methodLibraryGroup_text;

	public static String defaultPathLabel_text;
	
	public static String modelingGroup_text;
	
	public static String userInterfaceGroup_text;
	
	public static String debugGroup_text;
	
	public static String enableLibraryValidationCheckbox_text;
	
	public static String invalidPreferenceHistorySizeError_msg;

	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 openConfigWizardError_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 newConfigurationWizard_title;

	public static String newLibraryWizard_title;

	public static String newLibraryWizardMainPage_title;

	public static String newLibraryWizardMainPage_description;

	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_Indent;
	
	public static String ProcessEditor_Action_Outdent;
	
	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_AddCategoriesTitleLabel;

	public static String ConfigurationPage_SubCategoriesTitleLabel;

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

	public static String preference_WorkBreakdownElements;

	public static String preference_DescriptorElements;

	public static String preference_breakDownElement_Description;

	public static String preference_Activity_Diagram;

	public static String preference_Activity_Detail_Diagram;

	public static String configurationPage_QuickfixError_reason1;

	public static String configurationPage_quickfixError_title;
	
	public static String defaultLinkTypePrefLabel;
	
	public static String forms_GuidanceWithUrlAttachmentsDescriptionPage_alreadyAttached_msg;
	
	public static String AttachmentDialogattachUrl_text;
	
	public static String Validate_method_library;
	
	public static String roleCategoriesPage_multipleSelectDescription;

	public static String taskCategoriesPage_multipleSelectDescription;
	
	public static String workProductCategoriesPage_multipleSelectDescription;

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

}