###############################################################################
# Copyright (c) 2012, 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
###############################################################################

SerialLauncherDelegate_terminalTitle=Serial {0} ({1})
SerialLauncherDelegate_terminalTitle_default=Serial Terminal

SerialLinePanel_hostTTYDevice_label=Port:
SerialLinePanel_hostTTYSpeed_label=Baud Rate:
SerialLinePanel_hostTTYDatabits_label=Data Bits:
SerialLinePanel_hostTTYParity_label=Parity:
SerialLinePanel_hostTTYStopbits_label=Stop Bits:
SerialLinePanel_hostTTYFlowControl_label=Flow Control:
SerialLinePanel_hostTTYTimeout_label=Timeout (sec):
SerialLinePanel_customSerialBaudRate_title=Configure Custom Serial Baud Rate
SerialLinePanel_customSerialBaudRate_message=Please enter the custom serial baud rate:
SerialLinePanel_error_invalidCharactes=The device name you've entered contains invalid characters.
SerialLinePanel_error_invalidCharactesBaudRate=The baud rate you've entered contains invalid characters.
SerialLinePanel_error_emptyHostTTYDevice=Please select a valid host serial device.
SerialLinePanel_error_emptyHostTTYSpeedRate=Please select a valid serial device speed.
SerialLinePanel_error_emptyHostTTYDatabits=Please select a valid number of data bits.
SerialLinePanel_error_emptyHostTTYParity=Please select a valid parity.
SerialLinePanel_error_emptyHostTTYStopbits=Please select a valid number of stop bits.
SerialLinePanel_error_emptyHostTTYFlowControl=Please select a valid flow control.
SerialLinePanel_error_emptyHostTTYTimeout=Please select a valid timeout.
SerialLinePanel_info_editableTTYDeviceSelected=Please re-select ''Other...'' again to activate the custom serial device input dialog.
SerialLinePanel_info_editableTTYBaudRateSelected=Please re-select ''Other...'' again to activate the custom serial baud rate input dialog.
SerialLinePanel_warning_FailedToLoadSerialPorts=Failed to enumerate the systems serial ports.

SerialPortAddressDialog_dialogtitle=Other...
SerialPortAddressDialog_title=Configure Custom Serial Device
SerialPortAddressDialog_message=Select the type of the custom serial device and configure the device properties.
SerialPortAddressDialog_address=Address:
SerialPortAddressDialog_port=Port:
SerialPortAddressDialog_Information_MissingTargetNameAddress=Please enter a valid target name or IP address.
SerialPortAddressDialog_Error_InvalidTargetNameAddress=Target name or IP address is not valid.
SerialPortAddressDialog_Error_InvalidTargetIpAddress=Target IP address is not valid.
SerialPortAddressDialog_Information_MissingPort=Please enter a valid port number.
SerialPortAddressDialog_Error_InvalidPort=Target port number must be a valid number in the range of 0 to 65535.
SerialPortAddressDialog_Error_InvalidPortRange=Target port number must be in the range of 0 to 65535.


SerialConnector_Error_LiberayNotInstalled = The RXTX library has not been installed properly! \n\
\n\
Installation:\n\
-------------\n\
* Either (a) Use Help > Software Updates, Add Site and install from:\n\
\ \ \ http://rxtx.qbang.org/eclipse/\n\
* Or (b) Download and install RXTX for Eclipse from:\n\
\ \ \ http://rxtx.qbang.org/eclipse/downloads/\n\
\n\
For other Platforms, more info and help see\n\
\ \ \ http://www.rxtx.org/\n\
\ \ \ https://bugs.eclipse.org/bugs/show_bug.cgi?id=175336#c6\n\
\n\
This message is also available in your Error Log for Copy & Paste.

# Port Ownership Handling
SerialConnectWorker_PROP_TITLE = Terminal
SerialConnectWorker_PORT_IN_USE = Serial port \''{0}\'' is currently in use by {1}\!\nDo you want to try and steal the port?
SerialConnectWorker_ANOTHER_TERMINAL = another Terminal View
SerialConnectWorker_PORT_STOLEN = Port \''{0}\'' successfully obtained from {1}\r\n
SerialConnectWorker_PORT_NOT_STOLEN = Connection Error!\r\n \''{0}\'' is already in use by {1}.\r\n
SerialConnectWorker_NO_SUCH_PORT = No such port: \''{0}\''\r\n
SerialConnectWorker_OWNERSHIP_GRANTED = Connection canceled due to ownership request from {0}.\r\n
