/**********************************************************************
.
. 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
t https://www.eclipse.org/legal/epl-2.0/
t
t SPDX-License-Identifier: EPL-2.0
 * 
 * Contributors:
 * IBM - Initial API and implementation
 **********************************************************************/
package org.eclipse.ant.internal.ui.preferences;

import org.eclipse.osgi.util.NLS;

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

	public static String AntClasspathLabelProvider_0;

	public static String AntClasspathBlock_1;
	public static String AntClasspathBlock_2;
	public static String AntClasspathBlock_addFolderButtonTitle;
	public static String AntClasspathBlock_addJarButtonTitle;
	public static String AntClasspathBlock_upButtonTitle;
	public static String AntClasspathBlock_downButtonTitle;
	public static String AntClasspathBlock_removeButtonTitle;
	public static String AntClasspathBlock_3;
	public static String AntClasspathBlock_7;
	public static String AntClasspathBlock_31;
	public static String AntClasspathBlock_32;
	public static String AntClasspathBlock_33;
	public static String AntClasspathBlock_34;
	public static String AntClasspathBlock_42;
	public static String AntClasspathBlock_56;
	public static String AntClasspathBlock_57;
	public static String AntClasspathBlock_30;

	public static String AntClasspathPage_title;

	public static String AddCustomDialog_Bad_Format;
	public static String AddCustomDialog_Unreadable;
	public static String AddCustomDialog__Name__3;
	public static String AddCustomDialog_Could_not_close_zip_file__0__4;
	public static String AddCustomDialog__Location;
	public static String AddCustomDialog_mustSelect;
	public static String AddCustomDialog_13;

	public static String AntPreferencePage_description;
	public static String AntPreferencePage_General;
	public static String AntPreferencePage_Enter;
	public static String AntPreferencePage__Names__3;
	public static String AntPreferencePage_Ant_Color_Options__6;
	public static String AntPreferencePage_Color__7;
	public static String AntPreferencePage__Error__2;
	public static String AntPreferencePage__Warning__3;
	public static String AntPreferencePage_I_nformation__4;
	public static String AntPreferencePage_Ve_rbose__5;
	public static String AntPreferencePage_Deb_ug__6;
	public static String AntPreferencePage_12;
	public static String AntPreferencePage_0;
	public static String AntPreferencePage_1;
	public static String AntPreferencePage_2;
	public static String AntPreferencePage_15;
	public static String AntPreferencePage_16;

	public static String AntTasksPage_1;
	public static String AntTasksPage_2;
	public static String AntTasksPage_3;
	public static String AntTasksPage_addTaskDialogTitle;
	public static String AntTasksPage_title;
	public static String AntTasksPage_editTaskDialogTitle;
	public static String AntTasksPage_8;
	public static String AntTasksPage_9;

	public static String AntTypesPage_1;
	public static String AntTypesPage_2;
	public static String AntTypesPage_3;
	public static String AntTypesPage_typesPageTitle;
	public static String AntTypesPage_addTypeDialogTitle;
	public static String AntTypesPage_editTypeDialogTitle;
	public static String AntTypesPage_8;
	public static String AntTypesPage_9;

	public static String AntPropertiesPage_title;
	public static String AntPropertiesPage__Global_properties__1;
	public static String AntPropertiesPage_Glo_bal_property_files__2;

	public static String AntPropertiesBlock_1;
	public static String AntPropertiesBlock_2;
	public static String AntPropertiesBlock_3;
	public static String AntPropertiesBlock_4;
	public static String AntPropertiesBlock_0;
	public static String AntPropertiesBlock_5;
	public static String AntPropertiesBlock_6;
	public static String AntPropertiesBlock_removeFileButton;
	public static String AntPropertiesBlock_Add_Property_2;
	public static String AntPropertiesBlock_Edit_User_Property_5;
	public static String AntPropertiesFileSelectionDialog_12;
	public static String AntPropertiesFileSelectionDialog_13;
	public static String AntPropertiesFileSelectionDialog_14;
	public static String AntPropertiesBlock_14;
	public static String AntPropertiesBlock_15;
	public static String AntPropertiesBlock_16;
	public static String AntPropertiesBlock_17;
	public static String AntPropertiesBlock_18;

	public static String AddPropertyDialog__Name__1;
	public static String AddPropertyDialog__Value__2;
	public static String AddPropertyDialog_2;

	public static String always_run_in_workspace_jre;

	public static String AntCodeAssistPreferencePage_Insert;
	public static String AntCodeAssistPreferencePage_0;
	public static String AntCodeAssistPreferencePage__Enable_auto_activation_2;
	public static String AntCodeAssistPreferencePage_Auto_activation__delay__3;
	public static String AntCodeAssistPreferencePage_Auto_activation_tri_ggers__4;
	public static String AntCodeAssistPreferencePage_invalid_input_auto_activation;
	public static String AntCodeAssistPreferencePage_empty_input_auto_activation;

	public static String AntEditorPreferencePage_description;
	public static String AntEditorPreferencePage_general;
	public static String AntEditorPreferencePage_6;
	public static String AntEditorPreferencePage_Ant_editor_text_1;
	public static String AntEditorPreferencePage_Ant_editor_processing_instuctions_2;
	public static String AntEditorPreferencePage_Ant_editor_constant_strings_3;
	public static String AntEditorPreferencePage_Ant_editor_tags_4;
	public static String AntEditorPreferencePage_Ant_editor_comments_5;
	public static String AntEditorPreferencePage_30;
	public static String AntEditorPreferencePage_1;
	public static String AntEditorPreferencePage_10;
	public static String AntEditorPreferencePage_11;
	public static String AntEditorPreferencePage_12;
	public static String AntEditorPreferencePage_13;
	public static String AntEditorPreferencePage_14;
	public static String AntEditorPreferencePage_15;
	public static String AntEditorPreferencePage_16;
	public static String AntEditorPreferencePage_17;
	public static String AntEditorPreferencePage_18;
	public static String AntEditorPreferencePage_19;
	public static String AntEditorPreferencePage_20;
	public static String AntEditorPreferencePage_21;
	public static String AntEditorPreferencePage_22;
	public static String AntEditorPreferencePage_23;
	public static String AntEditorPreferencePage_24;
	public static String AntEditorPreferencePage_25;
	public static String AntEditorPreferencePage_26;
	public static String AntEditorPreferencePage_27;
	public static String AntEditorPreferencePage_28;
	public static String AntEditorPreferencePage_29;
	public static String AntEditorPreferencePage_5;
	public static String AntEditorPreferencePage_7;
	public static String AntEditorPreferencePage_8;
	public static String AntEditorPreferencePage_9;
	public static String AntEditorPreferencePage_3;
	public static String AntEditorPreferencePage_0;
	public static String AntEditorPreferencePage_2;
	public static String AntEditorPreferencePage_4;

	public static String ClasspathModel_2;
	public static String ClasspathModel_3;
	public static String ClasspathModel_0;

	public static String AntCodeFormatterPreferencePage_0;
	public static String AntCodeFormatterPreferencePage_1;
	public static String AntCodeFormatterPreferencePage_2;
	public static String AntCodeFormatterPreferencePage_3;
	public static String AntCodeFormatterPreferencePage_4;
	public static String AntCodeFormatterPreferencePage_5;
	public static String AntCodeFormatterPreferencePage_6;
	public static String AntCodeFormatterPreferencePage_7;
	public static String AntCodeFormatterPreferencePage_8;
	public static String AntCodeFormatterPreferencePage_9;
	public static String AntCodeFormatterPreferencePage_10;

	public static String URLFieldEditor_0;
	public static String AntPage_0;
	public static String AntPage_1;
	public static String AntPage_2;
	public static String AntPage_3;

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

	public static String AntPreferencePage_13;

	public static String AntPreferencePage_14;
}