###############################################################################
# Copyright (c) 2008, 2014 MontaVista Software, 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:
# Yu-Fen Kuo      (MontaVista) - initial API and implementation
# Anna Dushistova (MontaVista) - [227535][rseterminal][api] terminals.ui should not depend on files.core
# Anna Dushistova  (MontaVista) - [257638] [rseterminal] Terminal subsystem doesn't have service properties
###############################################################################

# NLS_MESSAGEFORMAT_NONE
# NLS_ENCODING=UTF-8

pluginName = RSE Terminals UI (Deprecated)
providerName = Eclipse TM Project

terminalsView.name = Terminals

Launch_Terminal_Label  =Launch Terminal 
Launch_Terminal_Tooltip=Launch a terminal from the selected directory

terminalsCategory.name = Terminal Commands
Terminals.Service = Service