###############################################################################
# Copyright (c) 2003, 2009 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 v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
###############################################################################

# NLS_MESSAGEFORMAT_VAR

terminalError = Terminal Error
socketError = Socket Error
ioError = IO Error
cannotConnectTo = Cannot initialize {0}:\n{1}
notInitialized = Not Initialized
