/*******************************************************************************
 * Copyright (c) 2005, 2012 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 - Initial API and implementation
 * Trevor S. Kaufman - <endante@gmail.com> - bug 156152
 *******************************************************************************/
package org.eclipse.team.internal.ui;

import org.eclipse.osgi.util.NLS;

public class TeamUIMessages extends NLS {

	private static final String BUNDLE_NAME = "org.eclipse.team.internal.ui.messages";//$NON-NLS-1$

	static {
		// load message values from bundle file
		NLS.initializeMessages(BUNDLE_NAME, TeamUIMessages.class);
	}

	public static String ConfigureMultipleProjectsWizard_0;

	public static String ConfigureMultipleProjectsWizard_1;

	public static String ProjectSelectionPage_0;

	public static String ProjectSelectionPage_1;

	public static String ProjectSelectionPage_2;

	public static String TextPreferencePage_ExtensionNotCompleted;

    public static String CompareInputChangeNotifier_0;

	public static String CompareInputChangeNotifier_1;

	public static String CompareLocalHistory_0;

	public static String DiffTreeChangesSection_10;

	public static String DiffTreeChangesSection_11;

	public static String DiffTreeChangesSection_12;

	public static String DiffTreeChangesSection_13;

	public static String DiffTreeChangesSection_14;

	public static String DiffTreeChangesSection_3;

	public static String DiffTreeChangesSection_4;

	public static String DiffTreeChangesSection_5;

	public static String DiffTreeChangesSection_6;

	public static String DiffTreeChangesSection_7;

	public static String DiffTreeChangesSection_8;

	public static String DiffTreeChangesSection_9;

	public static String EditionHistoryPage_0;

	public static String EditionHistoryPage_1;

	public static String EditionHistoryPage_2;

	public static String ExportProjectSetMainPage_Browse;

	public static String ExportProjectSetMainPage_DeselectAll;

	public static String ExportProjectSetMainPage_EditButton;

	public static String ExportProjectSetMainPage_ExportWorkingSets;

	public static String ExportProjectSetMainPage_FileButton;

	public static String ExportProjectSetMainPage_SelectAll;

	public static String ExportProjectSetMainPage_SelectButton;

	public static String ExportProjectSetMainPage_WorkspaceButton;

	public static String ExportProjectSetMainPage_WorkspaceDialogErrorFilenameSegments;

	public static String ExportProjectSetMainPage_WorkspaceDialogErrorNoFilename;

	public static String ExportProjectSetMainPage_WorkspaceDialogFilename;

	public static String ExportProjectSetMainPage_WorkspaceDialogMessage;

	public static String ExportProjectSetMainPage_WorkspaceDialogTitle;

	public static String ExportProjectSetMainPage_WorkspaceDialogTitleMessage;

	public static String GenericHistoryView_1;

	public static String GenericHistoryView_2;

	public static String HistoryPageCompareEditorInput_0;

	public static String ImportProjectSetMainPage_AddToWorkingSet;
	public static String ImportProjectSetMainPage_Project_Set_File;
	public static String ImportProjectSetMainPage_Project_Set_Url;

	public static String ImportProjectSetMainPage_Browse;

	public static String ImportProjectSetDialog_duplicatedWorkingSet_title;
	public static String ImportProjectSetDialog_duplicatedWorkingSet_message;
	public static String ImportProjectSetDialog_duplicatedWorkingSet_replace;
	public static String ImportProjectSetDialog_duplicatedWorkingSet_merge;
	public static String ImportProjectSetDialog_duplicatedWorkingSet_skip;
	public static String ImportProjectSetDialog_duplicatedWorkingSet_applyToAll;
	public static String ImportProjectSetDialog_malformed_url;

	public static String information;

	public static String ConfigureProjectAction_configureProject;
	public static String ConfigureProjectWizard_configureProject;
	public static String ConfigureSynchronizeScheduleComposite_0;
	public static String ConfigureSynchronizeScheduleComposite_1;
	public static String ConfigureProjectWizard_description;
	public static String ConfigureProjectWizard_title;
	public static String ConfigureProjectWizardMainPage_selectRepository;

	public static String IgnorePreferencePage_description;
	public static String IgnorePreferencePage_add;
	public static String IgnorePreferencePage_enterPatternLong;
	public static String IgnorePreferencePage_enterPatternShort;
	public static String IgnorePreferencePage_ignorePatterns;
	public static String IgnorePreferencePage_patternExistsLong;
	public static String IgnorePreferencePage_patternExistsShort;
	public static String IgnorePreferencePage_remove;

	public static String LocalHistoryPage_0;

	public static String LocalHistoryPage_1;

	public static String LocalHistoryPage_CollapseAllAction;

	public static String LocalHistoryPage_CollapseAllTip;

	public static String LocalHistoryPage_CompareAction;

	public static String LocalHistoryPage_CompareModeAction;

	public static String LocalHistoryPage_CompareModeTip;

	public static String LocalHistoryPage_FetchLocalHistoryMessage;

	public static String LocalHistoryPage_GetContents;

	public static String LocalHistoryPage_GroupRevisionsByDateAction;

	public static String LocalHistoryPage_GroupRevisionsByDateTip;

	public static String LocalHistoryPage_NoRevisionsFound;

	public static String LocalHistoryPage_OpenAction;

	public static String LocalHistoryPage_OpenWithMenu;

	public static String LocalHistoryPage_OpenWithMenu_Other;

	public static String LocalHistoryPage_OpenWithMenu_OtherDialogDescription;

	public static String LocalHistoryPage_OpenWithMenu_DefaultEditorDescription;

	public static String LocalHistoryPage_OpenEditorError;

	public static String LocalHistoryPage_OverwriteMessage;

	public static String LocalHistoryPage_OverwriteTitle;

	public static String MergeAllActionHandler_0;

	public static String MergeAllActionHandler_1;

	public static String MergeAllActionHandler_2;

	public static String MergeAllActionHandler_3;

	public static String ModelCompareEditorInput_0;

	public static String ModelCompareEditorInput_1;

	public static String ModelCompareEditorInput_2;

	public static String ModelElementSelectionPage_AllModelsDisabledMessage;

	public static String ModelElementSelectionPage_AllModelsDisabledTitle;

	public static String ModelEnablementPreferencePage_0;

	public static String ModelEnablementPreferencePage_1;

	public static String ModelMergeOperation_3;

	public static String ModelSelectionDropDownAction_2;

	public static String ParticipantPageCompareEditorInput_0;

	public static String RegistryReader_0;

	public static String ReplaceLocalHistory_0;

	public static String ReplaceLocalHistory_1;

	public static String ResourceMarkAsMergedHandler_0;

	public static String ResourceMarkAsMergedHandler_1;

	public static String ResourceMergeHandler_0;

	public static String ResourceMergeHandler_1;

	public static String ResourceMergeHandler_2;

	public static String ResourceMergeHandler_3;

	public static String ResourceMergeHandler_4;

	public static String ResourceMergeHandler_5;

	public static String ResourceMergeHandler_6;

	public static String ResourceMergeHandler_7;

	public static String ResourceModelLabelProvider_0;

	public static String ResourceModelPreferencePage_0;

	public static String RevisionAnnotationController_0;

	public static String SaveableCompareEditorInput_0;
	public static String SaveablesCompareEditorInput_twoWayTitle;
	public static String SaveablesCompareEditorInput_twoWayTooltip;
	public static String SaveablesCompareEditorInput_threeWayTitle;
	public static String SaveablesCompareEditorInput_threeWayTooltip;

	public static String ShowLocalHistory_0;

	public static String ShowLocalHistory_2;

	public static String simpleInternal;
	public static String exception;

	public static String StartupPreferencePage_0;

	public static String StartupPreferencePage_1;

	public static String StartupPreferencePage_2;

	public static String StartupPreferencePage_3;

	public static String StartupPreferencePage_4;

	public static String StartupPreferencePage_5;

	public static String SyncInfoCompareInput_localLabel;
	public static String SyncInfoCompareInput_localLabelExists;
	public static String SyncInfoCompareInput_localLabelAuthorExists;
	public static String SyncInfoCompareInput_remoteLabel;
	public static String SyncInfoCompareInput_baseLabel;
	public static String SyncInfoCompareInput_remoteLabelExists;
	public static String SyncInfoCompareInput_remoteLabelAuthorExists;
	public static String SyncInfoCompareInput_baseLabelExists;
	public static String SyncInfoCompareInput_baseLabelAuthorExists;
	public static String SyncInfoCompareInput_title;
	public static String SyncInfoCompareInput_0;
	public static String SyncInfoCompareInput_1;
	public static String SyncInfoCompareInput_2;
	public static String SyncInfoCompareInput_3;
    public static String SyncInfoCompareInput_tooltip;

	public static String SyncViewerPreferencePage_43;
	public static String SyncViewerPreferencePage_44;
	public static String SyncViewerPreferencePage_45;
	public static String SyncViewerPreferencePage_46;
	public static String SyncViewerPreferencePage_47;

	public static String TeamAction_internal;
	public static String TextPreferencePage_add;
	public static String TextPreferencePage_0;
	public static String TextPreferencePage_2;
	public static String TextPreferencePage_3;
	public static String TextPreferencePage_5;
	public static String TextPreferencePage_6;
	public static String TextPreferencePage_7;
	public static String TextPreferencePage_1;
	public static String TextPreferencePage_change;
	public static String TextPreferencePage_enterExtensionLong;
	public static String TextPreferencePage_enterExtensionShort;
	public static String TextPreferencePage_extensionExistsLong;
	public static String TextPreferencePage_extensionExistsShort;
	public static String TextPreferencePage_remove;
	public static String SynchronizationViewPreference_defaultPerspectiveNone;
	public static String SynchronizationViewPreference_defaultPerspectiveDescription;
	public static String SynchronizationViewPreference_defaultPerspectiveLabel;

	public static String ExportProjectSetMainPage_Select_the_projects_to_include_in_the_project_set__2;
	public static String ExportProjectSetMainPage_Project_Set_File_Name__3;
	public static String ExportProjectSetMainPage_Browse_4;
	public static String ExportProjectSetMainPage_You_have_specified_a_folder_5;
	public static String ExportProjectSetMainPage_A_project_must_be_selected;
	public static String ExportProjectSetMainPage_A_working_set_must_be_selected;
	public static String ExportProjectSetMainPage_None_of_the_selected_working_sets_have_an_available_project_to_export;
	public static String ExportProjectSetMainPage_Initial_description;
	public static String ExportProjectSetMainPage_specifyFile;

	public static String ImportProjectSetMainPage_Browse_3;
	public static String ImportProjectSetMainPage_The_given_URL_cannot_be_loaded;
	public static String ImportProjectSetMainPage_The_specified_file_does_not_exist_4;
	public static String ImportProjectSetMainPage_You_have_specified_a_folder_5;
	public static String ImportProjectSetMainPage_workingSetNameEmpty;
	public static String ImportProjectSetMainPage_createWorkingSetLabel;
	public static String ImportProjectSetMainPage_workingSetLabel;
	public static String ImportProjectSetMainPage_runInBackground;
	public static String ImportProjectSetMainPage_jobName;
	public static String ImportProjectSetMainPage_specifyFile;
	public static String ImportProjectSetMainPage_specifyURL;
	public static String ImportProjectSetMainPage_selectWorkingSet;
	public static String ImportProjectSetMainPage_projectSetFileInvalid;

	public static String ProjectSetContentHandler_Element_provider_must_be_contained_in_element_psf_4;
	public static String ProjectSetContentHandler_Element_project_must_be_contained_in_element_provider_7;

	public static String ProjectSetExportWizard_Project_Set_1;
	public static String ProjectSetExportWizard_Export_a_Project_Set_3;
	public static String ProjectSetExportWizard_Question_4;
	public static String ProjectSetExportWizard_Target_directory_does_not_exist__Would_you_like_to_create_it__5;
	public static String ProjectSetExportWizard_Export_Problems_6;
	public static String ProjectSetExportWizard_An_error_occurred_creating_the_target_directory_7;
	public static String ProjectSetExportWizard_Question_8;
	public static String ProjectSetExportWizard_Target_already_exists__Would_you_like_to_overwrite_it__9;

	public static String ProjectSetImportWizard_Project_Set_1;
	public static String ProjectSetImportWizard_0;
	public static String ProjectSetImportWizard_2;
	public static String ProjectSetImportWizard_1;
	public static String ProjectSetImportWizard_3;
	public static String ProjectSetImportWizard_Import_a_Project_Set_3;
	public static String ProjectSetImportWizard_workingSetExistsTitle;
	public static String ProjectSetImportWizard_workingSetExistsMessage;

	public static String ExportProjectSetMainPage_Project_Set_Files_3;
	public static String ExportProjectSetMainPage_default;
	public static String ExportProjectSetMainPage_warning;
	public static String ImportProjectSetMainPage_allFiles;
	public static String ImportProjectSetMainPage_Project_Set_Files_2;
	public static String ExportProjectSetMainPage__File_name__1;
	public static String ImportProjectSetAction_0;

	public static String SyncViewPreferencePage_lastRefreshRunNever;

	//
	// Misc
	//

	public static String SynchronizeView_13;
	public static String SynchronizeView_14;
	public static String SynchronizeView_16;
	public static String SynchronizeView_statusLine;
	public static String SynchronizeView_linkWithEditor;
	public static String SynchronizeView_linkWithEditorDescription;
	public static String SynchronizeView_linkWithEditorTooltip;
	public static String SynchronizeView_fileMustNotBeNull;
	public static String SynchronizeView_noActiveWorkbenchPage;

	public static String StatisticsPanel_outgoing;
	public static String StatisticsPanel_incoming;
	public static String StatisticsPanel_conflicting;
	public static String StatisticsPanel_noWorkingSet;
	public static String StatisticsPanel_numbersTooltip;
	public static String StatisticsPanel_numberTotalSingular;
	public static String StatisticsPanel_numberTotalPlural;

	public static String SyncViewerPreferencePage_0;
	public static String SyncViewerPreferencePage_1;
	public static String SyncViewerPreferencePage_2;
	public static String SyncViewerPreferencePage_3;
	public static String SyncViewerPreferencePage_6;
	public static String SyncViewerPreferencePage_7;
	public static String SyncViewerPreferencePage_13;
	public static String SyncViewerPreferencePage_14;
	public static String SyncViewerPreferencePage_15;
	public static String SyncViewerPreferencePage_16;
	public static String SyncViewerPreferencePage_19;
	public static String SyncViewerPreferencePage_42;

	public static String PreferencePageContainerDialog_6;

	public static String RefreshSubscriberJob_2a;
	public static String RefreshSubscriberJob_2b;
	public static String RefreshSubscriberJob_3;

	public static String SynchronizeManager_7;
	public static String SynchronizeManager_8;
	public static String SynchronizeManager_9;
	public static String SynchronizeManager_10;
	public static String TeamSubscriberSyncPage_labelWithSyncKind;
	public static String AbstractSynchronizeParticipant_4;

	public static String SynchronizeManager_11;
	public static String AbstractSynchronizeParticipant_5;
	public static String ChangesSection_filterHides;
	public static String ChangesSection_filterHidesSingular;
	public static String ChangesSection_filterHidesPlural;
	public static String ChangesSection_filterChange;
	public static String ChangesSection_noChanges;

	public static String Utils_17;
	public static String Utils_18;
	public static String Utils_19;
	public static String Utils_22;
	public static String Utils_23;
	public static String Utils_24;
	public static String Utils_25;
	public static String Utils_26;
	public static String RefreshCompleteDialog_4;
	public static String RefreshCompleteDialog_4a;
	public static String RefreshCompleteDialog_changesSingular;
	public static String RefreshCompleteDialog_changesPlural;
	public static String RefreshCompleteDialog_newChangesSingular;
	public static String RefreshCompleteDialog_newChangesPlural;
	public static String RefreshCompleteDialog_incomingChanges;
	public static String RefreshCompleteDialog_outgoingChanges;
	public static String RefreshCompleteDialog_6;
	public static String ConfigureRefreshScheduleDialog_0;
	public static String ConfigureRefreshScheduleDialog_1;
	public static String ConfigureRefreshScheduleDialog_2;
	public static String ConfigureRefreshScheduleDialog_3;
	public static String ConfigureRefreshScheduleDialog_3a;
	public static String ConfigureRefreshScheduleDialog_4;
	public static String ConfigureRefreshScheduleDialog_5;
	public static String ConfigureRefreshScheduleDialog_6;
	public static String ConfigureRefreshScheduleDialog_7;
	public static String RefreshSchedule_changesSingular;
	public static String RefreshSchedule_changesPlural;
	public static String RefreshSchedule_7;
	public static String RefreshSchedule_9;
	public static String RefreshSchedule_10;
	public static String RefreshSchedule_11;
	public static String RefreshSchedule_12;
	public static String RefreshSchedule_13;
	public static String RefreshSchedule_14;
	public static String RefreshSchedule_15;
	public static String RefreshSchedule_16;
	public static String ChangesSection_8;
	public static String ChangesSection_9;
	public static String ChangesSection_10;
	public static String ChangesSection_11;
	public static String ChangesSection_12;

	public static String OpenComparedDialog_noChangeTitle;
	public static String OpenComparedDialog_noChangesMessage;
	public static String GlobalRefreshAction_4;
	public static String GlobalRefreshAction_5;
	public static String ParticipantCompareDialog_1;
	public static String ParticipantCompareDialog_2;
	public static String ParticipantCompareDialog_3;
	public static String SynchronizeManager_27;
	public static String SynchronizeManager_30;
	public static String SynchronizeManager_31;
	public static String SynchronizeManager_32;
	public static String ParticipantPagePane_0;
	public static String Participant_synchronizing;
	public static String ParticipantPageSaveablePart_0;
	public static String Participant_synchronizingDetails;
	public static String Participant_synchronizingMoreDetails;
	public static String Participant_synchronizingResources;
	public static String GlobalRefreshResourceSelectionPage_1;
	public static String GlobalRefreshResourceSelectionPage_2;
	public static String GlobalRefreshResourceSelectionPage_3;
	public static String GlobalRefreshResourceSelectionPage_5;
	public static String GlobalRefreshResourceSelectionPage_6;
	public static String GlobalRefreshResourceSelectionPage_7;
	public static String GlobalRefreshResourceSelectionPage_8;
	public static String GlobalRefreshResourceSelectionPage_10;
	public static String GlobalRefreshResourceSelectionPage_11;
	public static String GlobalRefreshResourceSelectionPage_12;
	public static String GlobalRefreshResourceSelectionPage_13;
	public static String GlobalRefreshParticipantSelectionPage_0;
	public static String GlobalRefreshParticipantSelectionPage_1;
	public static String GlobalRefreshParticipantSelectionPage_2;
	public static String GlobalRefreshParticipantSelectionPage_3;

	public static String GlobalRefreshSubscriberPage_0;
	public static String GlobalRefreshSubscriberPage_1;
	public static String GlobalRefreshSubscriberPage_2;

	public static String SynchronizeManager_18;
	public static String GlobalSynchronizeWizard_11;
	public static String SynchronizeManager_19;
	public static String SynchronizeModelProvider_0;
	public static String SynchronizeModelUpdateHandler_0;

	public static String WorkingSetsDialog_ErrorMessage;

	public static String WorkingSetsDialog_Label;

	public static String WorkingSetsDialog_Message;

	public static String WorkingSetsDialog_Title;

	public static String WorkingSetsDialog_TitleBar;
	public static String WorkspaceScope_0;
	public static String WorkingSetScope_0;
	public static String SubscriberParticipant_namePattern;
	public static String SubscriberParticipantWizard_0;
	public static String SubscriberParticipantWizard_1;

	public static String RemoveFromView_warningTitle;
	public static String RemoveFromView_warningMessage;
	public static String RemoveFromView_warningDontShow;
	public static String ResourceMappingSelectionArea_0;
	public static String ResourceMappingSelectionArea_1;

	public static String CompressedFoldersModelProvider_0;
	public static String HierarchicalModelProvider_0;
	public static String UIProjectSetSerializationContext_0;
	public static String UIProjectSetSerializationContext_1;
    public static String UIProjectSetSerializationContext_2;
	public static String RemoveSynchronizeParticipantAction_0;
	public static String RemoveSynchronizeParticipantAction_1;

	public static String ConfigureProjectWizard_showAll;
	public static String ImportProjectSetMainPage_description;
	public static String ExportProjectSetMainPage_description;

	public static String DefaultUIFileModificationValidator_0;
	public static String DefaultUIFileModificationValidator_1;
	public static String DefaultUIFileModificationValidator_2;
	public static String DefaultUIFileModificationValidator_3;
	public static String DefaultUIFileModificationValidator_4;


	public static String CopyToClipboardAction_1;
	public static String CopyToClipboardAction_2;
	public static String CopyToClipboardAction_3;
	public static String CopyToClipboardAction_4;

	public static String PasteAction_1;
	public static String PasteAction_2;
	public static String PasteAction_3;
	public static String PasteAction_4;

	public static String FlatModelProvider_6;
	public static String FlatModelProvider_7;
	public static String FlatModelProvider_8;
	public static String FlatModelProvider_9;
	public static String FlatModelProvider_0;

	public static String ChangeLogModelProvider_0a;
	public static String ChangeLogModelProvider_1a;
	public static String ChangeLogModelProvider_2a;
	public static String ChangeLogModelProvider_3a;
	public static String ChangeLogModelProvider_0;
	public static String ChangeLogModelProvider_12;
	public static String ChangeLogModelProvider_13;
	public static String ChangeLogModelProvider_5;
	public static String ChangeLogModelProvider_6;
	public static String ChangeLogModelProvider_7;
	public static String ChangeLogModelProvider_9;
	public static String ChangeLogModelProvider_10;
	public static String ChangeLogModelManager_0;
	public static String ChangeSetActionGroup_0;
	public static String ChangeSetActionGroup_1;
	public static String ChangeSetActionGroup_2;
	public static String CommitSetDiffNode_0;
	public static String FileTypeTable_0;
	public static String FileTypeTable_1;
	public static String FileTypeTable_2;
	public static String FileTypeTable_3;
	public static String FileTypeTable_4;
	public static String FileTypeTable_5;
	public static String FileTypeTable_6;
	public static String OpenWithActionGroup_0;

	public static String nameAndRevision;
	public static String internal;

	public static String TeamCompareEditorInput_repository;
	public static String TeamCompareEditorInput_titleAncestor;
	public static String TeamCompareEditorInput_titleNoAncestor;
	public static String TeamCompareEditorInput_titleNoAncestorDifferent;
	public static String TeamCompareEditorInput_different;

	public static String TeamCompareEditorInput_comparing;
	public static String TeamCompareEditorInput_new;
	public static String TeamCompareEditorInput_deleted;

	public static String TeamCompareEditorInput_fileProgress;

	public static String GenericHistoryView_Refresh;
	public static String GenericHistoryView_GetDirectDescendents;
	public static String GenericHistoryView_GetPredecessor;
	public static String GenericHistoryView_ShowCommentViewer;
	public static String GenericHistoryView_WrapComments;
	public static String GenericHistoryView_ShowTagViewer;
	public static String GenericHistoryView_GenericFileHistoryFetcher;
	public static String GenericHistoryView_LinkWithEditor;
	public static String GenericHistoryTableProvider_Revision;
	public static String GenericHistoryTableProvider_RevisionTime;
	public static String GenericHistoryTableProvider_Author;
	public static String GenericHistoryTableProvider_Comment;
	public static String OpenRevisionAction_DeletedRevisionTitle;
	public static String OpenRevisionAction_DeletedRevisionMessage;
	public static String GenericHistoryView_ErrorFetchingEntries;
	public static String TeamContentProviderDescriptor_1;
	public static String TeamContentProviderDescriptor_2;
	public static String MergeIncomingChangesAction_0;
	public static String AdditionalMappingsDialog_0;
	public static String AdditionalMappingsDialog_1;
	public static String AdditionalMappingsDialog_2;
	public static String ResourceMappingMergeOperation_0;
	public static String ResourceMappingMergeOperation_1;
	public static String ResourceMappingMergeOperation_2;
	public static String ResourceMappingOperation_0;
	public static String AbstractSynchronizationLabelProvider_0;

	public static String ResourceMappingMergeOperation_3;

	public static String ResourceMappingMergeOperation_4;


	public static String GenericHistoryView_PinCurrentHistory;

	public static String GenericHistoryView_0;

	public static String LocalHistoryTableProvider_localRevision;
	public static String LocalHistoryPage_openRevision;
	public static String LocalHistoryPage_fetchingLocalHistory;

	public static String CompareFileRevisionEditorInput_compareResourceAndVersions;
	public static String CompareFileRevisionEditorInput_repository;
	public static String CompareFileRevisionEditorInput_repositoryWithoutAuthor;
	public static String CompareFileRevisionEditorInput_workspace;
	public static String CompareFileRevisionEditorInput_workspace_authorExists;
	public static String CompareFileRevisionEditorInput_localRevision;

	public static String ShowLocalHistory_1;

	public static String DiffTreeChangesSection_0;

	public static String DiffTreeChangesSection_1;

	public static String DiffTreeChangesSection_2;

	public static String ModelParticipantPageDialog_0;

	public static String ModelElementSelectionPage_0;

	public static String ModelSelectionDropDownAction_0;

	public static String ModelSelectionDropDownAction_1;

	public static String RemoveSynchronizeParticipantAction_2;

	public static String RemoveSynchronizeParticipantAction_3;

	public static String RemoveSynchronizeParticipantAction_4;

	public static String RemoveSynchronizeParticipantAction_5;

	public static String SynchronizationLabelProvider_0;

	public static String ModelMergeOperation_0;

	public static String ModelMergeOperation_1;

	public static String ModelMergeOperation_2;

	public static String ModelSynchronizeParticipant_0;

	public static String ModelSynchronizeParticipant_1;

	public static String ModelParticipantAction_0;

	public static String ModelParticipantAction_1;

	public static String ShowModelProviderAction_0;

	public static String GenericHistoryView_RefreshTooltip;

	public static String GenericHistoryView_LinkWithTooltip;

	public static String CompareFileRevisionEditorInput_0;

	public static String CompareFileRevisionEditorInput_1;

	public static String CompareFileRevisionEditorInput_2;

	public static String SynchronizationCompareAdapter_0;

	public static String HistoryPage_Today;
	public static String HistoryPage_Yesterday;
	public static String HistoryPage_ThisMonth;
	public static String HistoryPage_Previous;

	public static String OpenRevisionAction_DeletedRevTitle;
	public static String OpenRevisionAction_ErrorTitle;
	public static String OpenRevisionAction_ErrorMessage;
	public static String OpenRevisionAction_DeletedRevMessage;

	public static String CompareRevisionAction_DeleteCompareMessage;
	public static String CompareRevisionAction_CompareWithCurrent;
	public static String CompareRevisionAction_CompareWithOther;
	public static String CompareRevisionAction_Revision;
	public static String CompareRevisionAction_Local;

	public static String TeamAction_errorTitle;
	public static String TeamAction_handlerNotEnabledTitle;
	public static String TeamAction_handlerNotEnabledMessage;

	public static String SelectAncestorDialog_title;
	public static String SelectAncestorDialog_message;
	public static String SelectAncestorDialog_option;

	public static String PatchParsedPage_title;
	public static String PatchParsedPage_description;
	public static String PatchParsedPage_clickFinishToGoToSynchronizeView;

	public static String PatchInaccessibleProjectsPage_title;
	public static String PatchInaccessibleProjectsPage_message;
	public static String PatchInaccessibleProjectsPage_projectDoesNotExistInWorkspace;
	public static String PatchInaccessibleProjectsPage_selectExisting;
	public static String PatchInaccessibleProjectsPage_deselectAll;
	public static String PatchInaccessibleProjectsPage_openingProjects;

	public static String IgnoreLeadingPathSegmentsDialog_title;
	public static String IgnoreLeadingPathSegmentsDialog_message;
	public static String IgnoreLeadingPathSegmentsDialog_notANumber;
	public static String IgnoreLeadingPathSegmentsDialog_numberOutOfRange;

	public static String FuzzFactorDialog_title;
	public static String FuzzFactorDialog_message;
	public static String FuzzFactorDialog_guess;
	public static String FuzzFactorDialog_notANumber;
	public static String FuzzFactorDialog_numberOutOfRange;

	public static String NotFound;

}
