/*******************************************************************************
 * 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 2.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 *
 * Contributors:
 * Jonas - initial API and implementation
 ******************************************************************************/
package org.eclipse.emf.ecp.workspace.internal.ui;

import org.eclipse.osgi.util.NLS;

/**
 * @author Jonas
 * @generated
 */
public class Messages extends NLS {
	private static final String BUNDLE_NAME = "org.eclipse.emf.ecp.workspace.internal.ui.messages"; //$NON-NLS-1$
	public static String NewWorkspaceProjectComposite_BROWSE_FILE_SYSTEM;
	public static String NewWorkspaceProjectComposite_BROWSE_WORKSPACE;
	public static String NewWorkspaceProjectComposite_CHOOSE_ROOT_CLASS;
	public static String NewWorkspaceProjectComposite_CREATE_EMPTY_PROJECT;
	public static String NewWorkspaceProjectComposite_ERROR;
	public static String NewWorkspaceProjectComposite_ERROR_PARSINGXMIFILE;
	public static String NewWorkspaceProjectComposite_FILENAME;
	public static String NewWorkspaceProjectComposite_IMPORT_XMI_FILE;
	public static String NewWorkspaceProjectComposite_OPEN;
	public static String NewWorkspaceProjectComposite_PLEASE_SELECT_FILE;
	public static String NewWorkspaceProjectComposite_SELECT_FILE;
	public static String NewWorkspaceProjectComposite_SELECT_ROOT_CLASS_DESCRIPTION;
	public static String NewWorkspaceProjectComposite_SELECT_XMI;
	public static String NewXMIFileWizard_NewXMIFile;

	public static String NewXMIFileWizardPage_CreateNewProject;
	public static String NewXMIFileWizardPage_CreateNewXMIFile;
	public static String NewXMIFileWizardPage_SelectRootContainer;

	static {
		// initialize resource bundle
		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
	}

	private Messages() {
	}
}
