/**********************************************************************
 * 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.ui.internal.console;

import org.eclipse.osgi.util.NLS;

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

	public static String AbstractConsole_0;

	public static String ConsoleDropDownAction_0;
	public static String ConsoleDropDownAction_1;

	public static String ConsoleManager_0;

	public static String ConsoleView_0;

	public static String PinConsoleAction_0;
	public static String PinConsoleAction_1;

	public static String ClearOutputAction_title;
	public static String ClearOutputAction_toolTipText;

	public static String TextViewerGotoLineAction_Enter_line_number__8;
	public static String TextViewerGotoLineAction_Exceptions_occurred_attempt_to_go_to_line_2;
	public static String TextViewerGotoLineAction_Go_to__Line____Ctrl_L_4;
	public static String TextViewerGotoLineAction_Go_To_Line_1;
	public static String TextViewerGotoLineAction_Line_number_out_of_range_1;
	public static String TextViewerGotoLineAction_Not_a_number_2;

	public static String ScrollLockAction_0;
	public static String ScrollLockAction_1;
	public static String FollowHyperlinkAction_0;
	public static String FollowHyperlinkAction_1;
	public static String OpenConsoleAction_0;
	public static String OpenConsoleAction_1;
	public static String CloseConsoleAction_0;
	public static String CloseConsoleAction_1;

    public static String TextConsolePage_SelectAllDescrip;
    public static String TextConsolePage_SelectAllText;
    public static String TextConsolePage_CutText;
    public static String TextConsolePage_CutDescrip;
    public static String TextConsolePage_CopyText;
    public static String TextConsolePage_CopyDescrip;
    public static String TextConsolePage_PasteText;
    public static String TextConsolePage_PasteDescrip;
    
	static {
		// load message values from bundle file
		NLS.initializeMessages(BUNDLE_NAME, ConsoleMessages.class);
	}
}