/**********************************************************************
 * Copyright (c) 2000, 2005 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
 **********************************************************************/
package org.eclipse.ant.internal.ui.views.actions;

import org.eclipse.osgi.util.NLS;

public class AntViewActionMessages extends NLS {
	private static final String BUNDLE_NAME = "org.eclipse.ant.internal.ui.views.actions.AntViewActionMessages";//$NON-NLS-1$

	public static String SearchForBuildFilesDialog_Search_for_Build_Files_1;
	public static String SearchForBuildFilesDialog__Input;
	public static String SearchForBuildFilesDialog_Build_name_cannot_be_empty_3;
	public static String SearchForBuildFilesDialog__Search_4;
	public static String SearchForBuildFilesDialog_Scope_5;
	public static String SearchForBuildFilesDialog__Workspace_6;
	public static String SearchForBuildFilesDialog_Wor_king_Set__7;
	public static String SearchForBuildFilesDialog__Choose____8;
	public static String SearchForBuildFilesDialog_Include_errors;
	public static String SearchForBuildFilesDialog_Must_select_a_working_set_10;
	public static String SearchForBuildFilesDialog_No_searchable;
	public static String AntViewOpenWithMenu_Editor_failed;
	public static String AntViewOpenWithMenu_Default_Editor_4;
	public static String AddBuildFilesAction_0;
	public static String AddBuildFilesAction_1;
	public static String AddBuildFilesAction_2;
	public static String AddBuildFilesAction_3;
	public static String AddBuildFilesAction_4;
	public static String AddBuildFilesAction_5;
	public static String RemoveAllAction_Remove_All;
	public static String RemoveAllAction_0;
	public static String RemoveAllAction_1;
	public static String RemoveProjectAction_Remove;
	public static String RemoveProjectAction_Remove_2;
	public static String RunTargetAction_Run_1;
	public static String RunTargetAction_3;
	public static String RunTargetAction_4;
	public static String RunTargetAction_2;
	public static String RunTargetAction_0;
	public static String SearchForBuildFilesAction_Search_1;
	public static String SearchForBuildFilesAction_Add_build_files_with_search_2;
	public static String SearchForBuildFilesAction_Processing_search_results_3;
	public static String SearchForBuildFilesAction_Adding__0__4;
	public static String RefreshBuildFilesAction_Refresh_Buildfiles_1;
	public static String RefreshBuildFilesAction_Refreshing_buildfiles_3;
	public static String RefreshBuildFilesAction_Refreshing__0__4;
	public static String FilterInternalTargetsAction_0;

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