/*******************************************************************************
 *  Copyright (c) 2000, 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
 *******************************************************************************/
package org.eclipse.debug.internal.ui.preferences;

import org.eclipse.osgi.util.NLS;

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

	public static String ConsolePreferencePage_11;

	public static String ConsolePreferencePage_Console_settings;
	public static String ConsolePreferencePage_Show__Console_View_when_there_is_program_error_3;
	public static String ConsolePreferencePage_Show__Console_View_when_there_is_program_output_3;
	public static String ConsolePreferencePage_Standard_Error__3;
	public static String ConsolePreferencePage_Standard_In__4;
	public static String ConsolePreferencePage_Standard_Out__2;
	public static String ConsolePreferencePage_Wrap_text_1;
	public static String ConsolePreferencePage_Console_width;
	public static String ConsolePreferencePage_Limit_console_output_1;
	public static String ConsolePreferencePage_Console_buffer_size__characters___2;
	public static String ConsolePreferencePage_The_console_buffer_size_must_be_at_least_1000_characters__1;
	public static String ConsolePreferencePage_console_width;
	public static String ConsolePreferencePage_12;
	public static String ConsolePreferencePage_13;

	public static String DebugPreferencePage_1;
	public static String DebugPreferencePage_2;

	public static String DebugPreferencePage_29;
	public static String DebugPreferencePage_3;
	public static String DebugPreferencePage_0;

	public static String DebugPreferencePage_30;
	public static String DebugPreferencePage_4;
	public static String DebugPreferencePage_10;
	public static String DebugPreferencePage_11;
	public static String DebugPreferencePage_21;
	public static String DebugPreferencePage_22;
	public static String DebugPreferencePage_23;
	public static String DebugPreferencePage_24;
	public static String DebugPreferencePage_25;
	public static String DebugPreferencePage_26;
	public static String DebugPreferencePage_27;

	public static String DefaultLaunchConfigurationsPropertiesPage_0;

	public static String DefaultLaunchConfigurationsPropertiesPage_1;
	public static String DefaultLaunchConfigurationsPropertiesPage_11;
	public static String DefaultLaunchConfigurationsPropertiesPage_12;
	public static String DefaultLaunchConfigurationsPropertiesPage_2;
	public static String DefaultLaunchConfigurationsPropertiesPage_3;
	public static String DefaultLaunchConfigurationsPropertiesPage_4;
	public static String DefaultLaunchConfigurationsPropertiesPage_5;
	public static String DefaultLaunchConfigurationsPropertiesPage_6;
	public static String DefaultLaunchConfigurationsPropertiesPage_7;
	public static String DefaultLaunchConfigurationsPropertiesPage_8;
	public static String DefaultLaunchConfigurationsPropertiesPage_9;

	public static String LaunchDelegatesPreferencePage_0;

	public static String LaunchDelegatesPreferencePage_1;
	public static String LaunchDelegatesPreferencePage_2;
	public static String LaunchDelegatesPreferencePage_3;

	public static String LaunchDelegatesPreferencePage_4;

	public static String LaunchersPreferencePage_0;

	public static String LaunchingPreferencePage_40;
	public static String LaunchingPreferencePage_1;
	public static String LaunchingPreferencePage_2;
	public static String LaunchingPreferencePage_3;
	public static String LaunchingPreferencePage_37;
	public static String LaunchingPreferencePage_38;
	public static String LaunchingPreferencePage_39;
	public static String LaunchingPreferencePage_4;

	public static String LaunchingPreferencePage_41;
	public static String LaunchingPreferencePage_5;
	public static String LaunchingPreferencePage_6;
	public static String LaunchingPreferencePage_7;
	public static String LaunchingPreferencePage_8;
	public static String LaunchingPreferencePage_9;
	public static String LaunchingPreferencePage_10;
	public static String LaunchingPreferencePage_11;
	public static String LaunchingPreferencePage_12;
	public static String LaunchingPreferencePage_13;
	public static String LaunchingPreferencePage_14;
	public static String LaunchingPreferencePage_15;
	public static String LaunchingPreferencePage_16;
	public static String LaunchingPreferencePage_17;
	public static String LaunchingPreferencePage_18;
	public static String LaunchingPreferencePage_21;
	public static String LaunchingPreferencePage_22;
	public static String LaunchingPreferencePage_23;
	public static String LaunchingPreferencePage_26;
	public static String LaunchingPreferencePage_27;
	public static String LaunchingPreferencePage_0;
	public static String LaunchingPreferencePage_28;
	public static String LaunchingPreferencePage_29;
	public static String LaunchingPreferencePage_30;
	public static String LaunchingPreferencePage_31;
	public static String LaunchingPreferencePage_32;
	public static String LaunchingPreferencePage_33;
	public static String LaunchingPreferencePage_34;
	public static String LaunchingPreferencePage_35;
	public static String LaunchingPreferencePage_36;

	public static String LaunchingPreferencePage_confirm_0;

	public static String LaunchPerspectivePreferencePage_0;

	public static String LaunchPerspectivePreferencePage_1;
	
	public static String PerspectivePreferencePage_0;
	public static String PerspectivePreferencePage_1;
	public static String PerspectivePreferencePage_2;
	public static String PerspectivePreferencePage_4;
	public static String PerspectivePreferencePage_5;
	
	public static String LaunchConfigurationsPreferencePage_1;
	public static String LaunchConfigurationsPreferencePage_0;
	
	public static String ProcessPropertyPage_Command_Line__1;

	public static String SimpleVariablePreferencePage_3;
	public static String SimpleVariablePreferencePage_4;
	public static String SimpleVariablePreferencePage_5;
	public static String SimpleVariablePreferencePage_6;
	public static String SimpleVariablePreferencePage_7;
	public static String SimpleVariablePreferencePage_8;
	public static String SimpleVariablePreferencePage_9;
	public static String SimpleVariablePreferencePage_10;
	public static String SimpleVariablePreferencePage_11;
	public static String SimpleVariablePreferencePage_12;
	public static String SimpleVariablePreferencePage_13;
	public static String SimpleVariablePreferencePage_14;
	public static String SimpleVariablePreferencePage_15;
	public static String SimpleVariablePreferencePage_16;
	public static String SimpleLaunchVariablePreferencePage_21;
	public static String SimpleLaunchVariablePreferencePage_22;
	public static String SimpleLaunchVariablePreferencePage_23;

	public static String StringVariablePreferencePage_20;
	public static String StringVariablePreferencePage_21;
	public static String StringVariablePreferencePage_22;
	public static String StringVariablePreferencePage_23;
	public static String StringVariablePreferencePage_24;
	public static String StringVariablePreferencePage_25;
	public static String StringVariablePreferencePage_26;
	public static String StringVariablePreferencePage_27;
	
	public static String ViewManagementPreferencePage_0;
	public static String ViewManagementPreferencePage_1;
	public static String ViewManagementPreferencePage_2;
	public static String ViewManagementPreferencePage_3;
	public static String ViewManagementPreferencePage_4;
	public static String ViewManagementPreferencePage_5;

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

	public static String LaunchConfigurationsPreferencePage_2;

	public static String LaunchConfigurationsPreferencePage_3;

	public static String ProcessPropertyPage_0;

	public static String ProcessPropertyPage_1;

	public static String ProcessPropertyPage_2;

	public static String ProcessPropertyPage_3;

	public static String ProcessPropertyPage_4;

	public static String ProcessPropertyPage_5;

	public static String DebugPreferencePage_28;

	public static String DebugPreferencePage_5;

	public static String RunDebugPropertiesPage_0;

}
