/*******************************************************************************
 * Copyright (c) 2011-2015 EclipseSource Muenchen GmbH 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:
 * Edgar - initial API and implementation
 ******************************************************************************/
package org.eclipse.emf.emfstore.internal.client.ui.views.historybrowserview;

import org.eclipse.osgi.util.NLS;

/**
 * @author emueller
 * @generated
 */
public class Messages extends NLS {
	private static final String BUNDLE_NAME = "org.eclipse.emf.emfstore.internal.client.ui.views.historybrowserview.messages"; //$NON-NLS-1$
	public static String HistoryBrowserView_AuthorAndDate;
	public static String HistoryBrowserView_Branches;
	public static String HistoryBrowserView_Changes;
	public static String HistoryBrowserView_CommitMessage;
	public static String HistoryBrowserView_Error;
	public static String HistoryBrowserView_ExpandCollapseToggle;
	public static String HistoryBrowserView_ExpandToggle;
	public static String HistoryBrowserView_FetchingHistory;
	public static String HistoryBrowserView_FilterByTagAction;
	public static String HistoryBrowserView_FilterByTagDialog;
	public static String HistoryBrowserView_GoToRevision;
	public static String HistoryBrowserView_GoToRevisionToolTip;
	public static String HistoryBrowserView_HistoryFor;
	public static String HistoryBrowserView_LinkWithNavigator;
	public static String HistoryBrowserView_NextItems;
	public static String HistoryBrowserView_NoSelection;
	public static String HistoryBrowserView_NumericValueExpected;
	public static String HistoryBrowserView_PreviousItems;
	public static String HistoryBrowserView_Refresh;
	public static String HistoryBrowserView_Revision;
	public static String HistoryBrowserView_SelectProjectMsg;
	public static String HistoryBrowserView_SelectProjectOrCallHistory;
	public static String HistoryBrowserView_SelectProjectTitle;
	public static String HistoryBrowserView_ShowAllBranches;
	public static String HistoryBrowserView_TagDialog;
	public static String HistoryBrowserView_TaggedWithOnly;
	public static String HistoryBrowserView_VersionDoesNotExist;
	static {
		// initialize resource bundle
		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
	}

	private Messages() {
	}
}
