/*******************************************************************************
 * Copyright (c) 2005, 2006 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 Corporation - Initial API and implementation
 *******************************************************************************/
package org.eclipse.ui.internal.browser;

import org.eclipse.osgi.util.NLS;
/**
 * Translated messages.
 */
public class Messages extends NLS {
	static {
		NLS.initializeMessages("org.eclipse.ui.internal.browser.Messages", Messages.class); //$NON-NLS-1$
	}

	public static String BrowserText_title;
	public static String BrowserText_link;
	public static String BrowserText_tooltip;
	public static String BrowserText_dtitle;
	public static String BrowserText_text;
	public static String BrowserText_button_collapse;
	public static String BrowserText_button_expand;

	public static String errorCouldNotLaunchInternalWebBrowser;
	public static String actionWebBrowserGo;
	public static String viewWebBrowserTitle;
	public static String actionWebBrowserBack;
	public static String actionWebBrowserForward;
	public static String actionWebBrowserStop;
	public static String actionWebBrowserRefresh;
	public static String dialogResourceDeletedTitle;
	public static String dialogResourceDeletedMessage;
	public static String dialogResourceDeletedIgnore;
	public static String errorInvalidEditorInput;
	public static String preferenceWebBrowserDescription;
	public static String prefInternalBrowser;
	public static String prefExternalBrowser;
	public static String prefSystemBrowser;
	public static String browserList;
	public static String add;
	public static String edit;
	public static String remove;
	public static String search;
	public static String selectDirectory;
	public static String directoryDialogTitle;
	public static String searchingTaskName;
	public static String searchingNoneFound;
	public static String preferenceWebBrowserTitle;
	public static String searching;
	public static String errorDialogTitle;
	public static String errorCouldNotLaunchWebBrowser;
	public static String errorNoBrowser;
	public static String editExternalBrowser;
	public static String createBrowser;
	public static String name;
	public static String location;
	public static String parameters;
	public static String parametersMessage;
	public static String browse;
	public static String browseMessage;
	public static String locationInvalid;
}
