/*******************************************************************************
 * Copyright (c) 2014 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 Mueller - initial API and implementation
 ******************************************************************************/
package org.eclipse.emf.emfstore.internal.client.ui.dialogs.merge.ui;

import org.eclipse.osgi.util.NLS;

/**
 * RAP UI related messages.
 * 
 * @author Edgar
 * @generated
 */
public class Messages extends NLS {
	private static final String BUNDLE_NAME = "org.eclipse.emf.emfstore.internal.client.ui.dialogs.merge.ui.messages"; //$NON-NLS-1$
	public static String DescriptionComponentImpl_ConflictDescription;
	public static String OptionComponentImpl_ChooseYourOption;
	public static String OptionComponentImpl_CurrentBranch;
	public static String OptionComponentImpl_Details;
	public static String OptionComponentImpl_IncomingBranch;
	public static String OptionComponentImpl_KeepMyChange;
	public static String OptionComponentImpl_KeepTheirChange;
	static {
		// initialize resource bundle
		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
	}

	private Messages() {
	}
}
