###############################################################################
#  Copyright (c) 2006, 2011 IBM Corporation 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
# 
#  Initial Contributors:
#  The following IBM employees contributed to the Remote System Explorer
#  component that contains this file: David McKnight, Kushal Munir, 
#  Michael Berger, David Dykstal, Phil Coulthard, Don Yantzi, Eric Simpson, 
#  Emily Bruner, Mazen Faraj, Adrian Storisteanu, Li Ding, and Kent Hawley.
# 
#  Contributors:
#  {Name} (company) - description of contribution.
###############################################################################

# NLS_MESSAGEFORMAT_NONE
# NLS_ENCODING=UTF-8

pluginName = RSE DStore Shells
providerName = Eclipse TM Project

Shells=Shells
ShellsDescription=This configuration allows you to work with shells and commands on local or remote systems using the DataStore protocol.
