/*******************************************************************************
 * Copyright (c) 2003, 2009 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
 * QNX Software Systems - Mikhail Khodjaiants - Bug 114664
 *******************************************************************************/
package org.eclipse.debug.internal.ui.sourcelookup;

import org.eclipse.osgi.util.NLS;

public class SourceLookupUIMessages extends NLS {
	private static final String BUNDLE_NAME = "org.eclipse.debug.internal.ui.sourcelookup.SourceLookupUIMessages";//$NON-NLS-1$

	public static String CommonSourceNotFoundEditor_0;

	public static String CommonSourceNotFoundEditor_1;

	// Source search launch configuration tab/errors/dialogs
	public static String EditContainerAction_0;

	public static String SourceLookupDialog_0;

	public static String SourceLookupDialog_1;

	public static String SourceLookupDialog_add_edit_remove;
	public static String sourceTab_lookupLabel;
	public static String sourceTab_searchDuplicateLabel;
	public static String sourceTab_upButton;
	public static String sourceTab_downButton;
	public static String sourceTab_removeButton;
	public static String sourceTab_addButton;
	public static String sourceTab_tabTitle;
	public static String sourceTab_defaultButton;

	public static String addSourceLocation_title;
	public static String addSourceLocation_description;

	public static String addSourceLocation_addButton2;
	public static String addSourceLocation_editorMessage;

	public static String sourceSearch_folderSelectionError;
	public static String sourceSearch_initError;

	public static String projectSelection_chooseLabel;
	public static String projectSelection_requiredLabel;

	public static String folderSelection_title;
	public static String folderSelection_label;

	public static String manageSourceDialog_title;
	public static String manageSourceDialog_description;

	public static String sourceLookupPanel_1;
	public static String sourceLookupPanel_2;
	public static String ResolveDuplicatesHandler_0;
	public static String ResolveDuplicatesHandler_1;
	public static String EditSourceLookupPathAction_0;
	public static String LookupSourceAction_0;
	public static String ExternalArchiveSourceContainerBrowser_2;
	public static String AddSourceContainerDialog_select_source_container;

	public static String ArchiveSourceContainerBrowser_3;
	public static String ArchiveSourceContainerBrowser_4;
	public static String DirectorySourceContainerDialog_0;
	public static String DirectorySourceContainerDialog_1;

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

	public static String DirectorySourceContainerDialog_2;

	public static String DirectorySourceContainerDialog_3;

	public static String DirectorySourceContainerDialog_4;

	public static String DirectorySourceContainerDialog_5;

	public static String DirectorySourceContainerDialog_6;

	public static String DirectorySourceContainerDialog_7;

	public static String DirectorySourceContainerDialog_8;

	public static String Prompter_0;
}
