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

	public static String assignAction_text;

	public static String CustomCategoryAssignPage_includeElementsOfType;
	
	public static String unassignAction_text;
	
	public static String reassignAction_text;
		
	public static String deepCopyAction_text;

	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 Configuration_Problem_Refresh;
	
	public static String ProblemExplanationText;

	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 workProductStatesPage_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 practice_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 long_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 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 LpmResolutionGenerator_removeUnresolvedBasePlugins;
	
	public static String LpmResolutionGenerator_removeMultipleRepacers;

	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 practiceReferencesPage_sortOrderButton_text;
	public static String practiceReferencesPage_sortTypeButton_text;

	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 editorGroup_text;
	
	public static String rteGroup_text;
	
	public static String rteGroupAddDialog_title;
	
	public static String rteGroupAddDialog_msg;
	
	public static String rteAddOneButtonGroup_title;
	
	public static String rteAddOneButton_text;
	
	public static String rteAddButton_text;
	
	
	public static String hex_24;
	public static String hex_26;
	public static String hex_2B;
	public static String hex_2C;
	public static String hex_2F;
	public static String hex_3A;
	public static String hex_3B;
	public static String hex_3D;
	public static String hex_3F;	
	public static String hex_40;
	public static String hex_20;
	public static String hex_22;
	public static String hex_3C;
	public static String hex_3E;
	public static String hex_23;
	public static String hex_25;
	public static String hex_7B;
	public static String hex_7D;
	public static String hex_7C;
	public static String hex_5C;	
	public static String hex_5E;
	public static String hex_7E;
	public static String hex_5B;
	public static String hex_5D;
	public static String hex_60;
	
	public static String enableUIFieldsCheckbox_text;
		
	public static String enableAutoNameGenCheckbox_text;
	
	public static String skipAllCheckbox_text;
	
	public static String skipSelectedChebox_text;
	
	public static String enableUIFieldsChange_message;
	
	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 dialogs_AssignDialog_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_supportingPluginLabel;

	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 AssignDialog_assign_text;
	
	public static String AssignDialog_reassign_text;
	
//	public static String AssignDialog_deepcoppy_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_Customize;

	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 FilterDialog_Process_Scope_Grp;
	
	public static String FilterDialog_Process_Scope_Grp_referencedPluginsBtn;
	
	public static String FilterDialog_Process_Scope_Grp_selectedPluginsBtn;
	
	public static String FilterDialog_Process_Scope_Grp_libBtn;
	
	public static String FilterDialog_Process_Scope_Grp_configBtn;
	
	public static String FilterDialog_Process_Scope_Grp_viewBtn;
	
	public static String PluginListDialog_title;
	
	public static String PluginListDialog_button_add;
	
	public static String PluginListDialog_button_remove;
	
	public static String PluginListDialog_addDialogMsg;
	
	public static String PluginListDialog_addDialogTitle;

	public static String ConfigurationPage_TreeTitleLabel;

	public static String ConfigurationPage_AddCategoriesTitleLabel;

	public static String ConfigurationPage_SubCategoriesTitleLabel;

	public static String ConfigurationPage_LoadingMessage;

	public static String ConfigurationPage_updateOnClick;
	public static String ConfigurationPage_updateOnClickToolTip;
	public static String ConfigurationPage_noUpdateOnClick;
	public static String ConfigurationPage_noUpdateOnClickToolTip;
	
	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 ProcessEditorPreferencePage_synchronizationGroupTitle;

	public static String ProcessEditorPreferencePage_synchronizationFree;
	
	public static String ProcessEditorPreferencePage_conversionDialogTitle;
	
	public static String ProcessEditorPreferencePage_conversionDialogText;
	
	public static String ProcessEditorPreferencePage_conversionProgressText;
	
	public static String ProcessEditorPreferencePage_conversionProgressFailText;

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

	public static String AuthoringValidationPrefPage_1;

	public static String AuthoringValidationPrefPage_2;

	public static String AuthoringValidationPrefPage_3;

	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 use_state_on_workproduct_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_selGuidance_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 publish_practices_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 preference_Descriptors;
	
	public static String preference_includeDescriptorButton_text;

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

	public static String ValidationMarkerResolutionGenerator_1;
	
	public static String roleCategoriesPage_multipleSelectDescription;

	public static String taskCategoriesPage_multipleSelectDescription;
	
	public static String workProductCategoriesPage_multipleSelectDescription;
	
	public static String plugin_generalInfoSection_desc;

	public static String plugin_versionInfoSection_desc;
	
	public static String workproductDescriptionPage_slot_text;
	
	public static String slotSection_name;
	
	public static String slotSection_desc;
	
	public static String slotsLabel_text;
	
	public static String artifact_slotSection_desc;

	public static String deliverable_slotSection_desc;
	
	public static String outcome_slotSection_desc;
	
	public static String slotConfirmDialog_title;
	
	public static String wpFulFillsConfirmDialog_message;
	
	public static String wpSlotFulFillsConfirmDialog_message;
	
	public static String configProblemViewOptionsText;
	
	public static String hideErrosText;
	
	public static String hideWarningsText;
	
	public static String hideInfosText;
	
	public static String add_TasksperRow;
	
	public static String invalidTaskperRow_msg;
	
	public static String statesSection_name;
	
	public static String statesSection_desc;
	
	public static String states_name_text;
	
	public static String states_add_text;
	
	public static String states_delete_text;
	
	public static String states_manage_text;
	
	public static String ManageStateDialog_title;
	
	public static String ManageStateDialog_label_state;
	
	public static String ManageStateDialog_label_des;
	
	public static String ManageStateDialog_addBtn_label;
	
	public static String ManageStateDialog_deleteBtn_label;
	
	public static String ManageStateDialog_modifyBtn_label;
	
	public static String ManageStateDialog_closeBtn_label;
	
	public static String ManageStateDialog_warn_msg;
	
	public static String ManageStateDialog_warn_title;
	
	public static String StateEditDialog_title;
	
	public static String StateEditDialog_label_name;
	
	public static String StateEditDialog_label_des;
	
	public static String states_assign_text;
	
	public static String states_unassign_text;
	
	public static String states_wp_state_text;
	
	public static String states_global_state_text;
	
	public static String states_global_notes_text;
	
	public static String states_des_text;
	
	public static String ProcessEditor_Action_delete_AD_text;
	
	public static String ProcessEditor_Action_delete_ADD_text;
	
	public static String ProcessEditor_Action_delete_WPDD_text;
	
	static {
		NLS.initializeMessages(BUNDLE_NAME, AuthoringUIResources.class);
	}

}