//------------------------------------------------------------------------------
// 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 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 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 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 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);
	}

}