##################################################################################
# Copyright (c) 2011, 2018 Wind River Systems, Inc. and others. All rights reserved.
# 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
# available at https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
# Wind River Systems - initial API and implementation
##################################################################################

pluginName = Terminal View
providerName = Eclipse CDT

# ----- Terminal View -----

ViewCategory.name=Terminal

TerminalsView.name=Terminal
TerminalsView.name.old=Terminals (Old)
TerminalsView.context.name=In Terminal View
TerminalsView.context.description=Show modified keyboard shortcuts in context menu

# ----- Terminal Connectors -----

TerminalConnector.streams=Streams Connector (hidden)

# ----- Terminal Launcher Delegates -----

StreamsLauncherDelegate.label=Streams Terminal

# ----- Commands and Menu contributions -----
command.category.name=Terminal Commands

toolbar.terminal.label=Terminal

command.launch.selection.name=Open Terminal on Selection
command.launch.name=Open Terminal
command.launch.label=Open Terminal...
command.launch.tooltip=Open a Terminal

command.disconnect.name=Disconnect Terminal
command.disconnect.label=Disconnect
command.disconnect.tooltip=Disconnect Terminal Connection

command.newview.name=New Terminal View

menu.showIn.label = Show in Local Terminal
menu.showIn.mnemonic=I

LocalLauncherDelegate.label=Local Terminal

command.launch.name=Open Local Terminal on Selection

menu.showIn.localterminal.label = Terminal

TerminalConnector.local=Local

# -----  Extension Points  -----

ExtensionPoint.launcherDelegates.name=Terminal Launcher Delegates

# -----  Activity contributions  -----

activities.category.terminals.name=Terminal
activities.category.terminals.description=Use the terminal to connect to remote hosts via telnet, ssh and others.

activities.activity.terminals.views.name=Terminal Views
activities.activity.terminals.views.description=Terminal related views.

activities.activity.terminals.maintoolbar.name=Terminal Main Toolbar
activities.activity.terminals.maintoolbar.description=Terminal main toolbar buttons.

# ----- Preference Pages -----

preference.page.name=Local Terminal

