###############################################################################
# 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 Corporation - initial API and implementation
###############################################################################

AbstractConsole_0=Exception occurred during console property change notification.

ConsoleDropDownAction_0=Select Console
ConsoleDropDownAction_1=Display Selected Console

ConsoleManager_0=An exception occurred during console notification

ConsoleView_0=A console is not available.

PinConsoleAction_0=Pi&n Console
PinConsoleAction_1=Pin Console

ClearOutputAction_title=Clea&r
ClearOutputAction_toolTipText=Clear Console

TextViewerGotoLineAction_Enter_line_number__8=Enter line number (1...{0}):
TextViewerGotoLineAction_Exceptions_occurred_attempt_to_go_to_line_2=Exceptions occurred attempt to go to line
TextViewerGotoLineAction_Go_to__Line____Ctrl_L_4=Go to &Line...@Ctrl+L
TextViewerGotoLineAction_Go_To_Line_1=Go to Line
TextViewerGotoLineAction_Line_number_out_of_range_1=Line number out of range
TextViewerGotoLineAction_Not_a_number_2=Not a number

ScrollLockAction_0=&Scroll Lock
ScrollLockAction_1=Scroll Lock
FollowHyperlinkAction_0=&Open Link
FollowHyperlinkAction_1=Follow the selected hyperlink
OpenConsoleAction_0=Open Console
OpenConsoleAction_1=Open Console
CloseConsoleAction_0=&Close Console
CloseConsoleAction_1=Close Console

TextConsolePage_SelectAllDescrip=Select All
TextConsolePage_SelectAllText=Select &All@Ctrl+A
TextConsolePage_CutText=C&ut
TextConsolePage_CutDescrip=Cut
TextConsolePage_CopyText=&Copy
TextConsolePage_CopyDescrip=Copy
TextConsolePage_PasteText=&Paste
TextConsolePage_PasteDescrip=Paste