<!-- Pt-web/src/app-root/ztr/SerialPorts.xml

 Copyright: ©2013–2015, Güralp Systems Ltd.
 Author: Laurence Withers <lwithers@guralp.com>
 License: GPLv3

-->

<messages>

<!--============================================================================
Platinum serial port configuration interface
=============================================================================-->

<!-- Warning displayed if serial port config directory cannot be scanned. {1} is
path, {2} is error message and {3} is errno. -->
<message id='xhtml.SerialPorts.noConfigPath'>Unable to scan serial
port configuration (directory <code>{1}</code>): <code>{2}</code> (error
<code>{3}</code>).</message>

<!-- Warning displayed if an invalid port ID is encountered. Argument {1} is
the port ID. -->
<message id='xhtml.SerialPorts.invalidIDError'>Invalid port ID (empty or
contains ‘<code>/</code>’): “<code>{1}</code>”.</message>

<!-- Warning displayed if a given file cannot be loaded. Argument {1} is the
library error message which includes the filename. -->
<message id='xhtml.SerialPorts.configLoadError'><code>{1}</code></message>

<!-- Warning displayed if there is a bad setting in a file. Argument {1} is the
port ID, {2} is the setting in question and {3} the value encountered in the
file. -->
<message id='xhtml.SerialPorts.badConfig'>Serial port configuration for
<code>{1}</code> has an invalid setting for <code>{2}</code>:
<code>{3}</code></message>

<!-- In the badConfig message, if the setting is missing altogether, this is
what we display in {3}. -->
<message id='text.SerialPorts.notFound'>(not found)</message>



<!--============================================================================
Translated names for port functions
=============================================================================-->

<message id='text.SerialPorts.Functions.None'>Port disabled</message>
<message id='text.SerialPorts.Functions.Fast CD24 in'>CD24 low latency input</message>
<message id='text.SerialPorts.Functions.Colour LCD'>Colour LCD module driver</message>
<message id='text.SerialPorts.Functions.GCF in'>GCF input (BRP)</message>
<message id='text.SerialPorts.Functions.GCF out'>GCF output (BRP)</message>
<message id='text.SerialPorts.Functions.KVH DSP1500 Digital Gyro'>KVH DSP1500 digital gyro</message>
<message id='text.SerialPorts.Functions.Modem in'>Modem listener</message>
<message id='text.SerialPorts.Functions.MS modbus'>Morningstar ModBus</message>
<message id='text.SerialPorts.Functions.NMEA in'>NMEA input</message>
<message id='text.SerialPorts.Functions.NMEA out'>NMEA output</message>
<message id='text.SerialPorts.Functions.PPP out'>PPP</message>
<message id='text.SerialPorts.Functions.RTD out'>USGS RTD output</message>
<message id='text.SerialPorts.Functions.Serial Recorder'>Serial port recorder</message>
<message id='text.SerialPorts.Functions.TCP serial'>TCP to serial port converter</message>
<message id='text.SerialPorts.Functions.Terminal'>Login terminal</message>
<message id='text.SerialPorts.Functions.Timestamp in'>Timestamp receiver</message>
<message id='text.SerialPorts.Functions.Trigger output'>Trigger subsystem output</message>



<!--============================================================================
Combo-box for selecting a port
=============================================================================-->

<!-- Shown in a disabled combobox for selecting serial ports when the system
does not have any ports to configure. -->
<message id='text.SerialPorts.Selector.noPorts'>No serial ports found</message>

<!-- Template for building a short description of a port for use in the drop-
down port selection box. Argument {1} is the configured name (e.g. "Port A"),
{2} is the current function and {3} is the current baud rate. -->
<message id='text.SerialPorts.Selector.desc'>{1} (current function: {2}, {3} baud)</message>



<!--============================================================================
Widget for entering baud rate
=============================================================================-->

<message id='text.SerialPorts.Baud.rate'>{1} baud</message>
<message id='text.SerialPorts.Baud.custom'>Enter custom baud rate</message>



<!--============================================================================
Serial port configuration page/table
=============================================================================-->

<message id='text.SerialPorts.Page.title'>Serial port configuration</message>
<message id='xhtml.SerialPorts.Page.noPorts'>No serial ports were detected on
this system.</message>
<message id='xhtml.SerialPorts.Page.columnTitlePort'>Port</message>
<message id='xhtml.SerialPorts.Page.columnTitleBaud'>Baud rate</message>
<message id='xhtml.SerialPorts.Page.columnTitleFunction'>Function</message>
<message id='xhtml.SerialPorts.Page.columnTitleConfig'>Configure</message>
<message id='text.SerialPorts.Page.config'>Configure</message>



<!--============================================================================
Serial port configuration dialog
=============================================================================-->

<message id='text.SerialPorts.ConfigDialog.accept'>Save changes</message>
<message id='text.SerialPorts.ConfigDialog.reject'>Discard changes</message>

<message id='tpl.SerialPorts.ConfigDialog.layout'>
  <div>Select port function:</div>
  <div>${functionSel}</div>
  <hr/>
  <div>${config}</div>
</message>

<!-- these messages are shown as explanations if the port function is fixed -->
<message id='tpl.SerialPorts.ConfigDialog.fixed.NMEA in'><strong>NMEA input</strong> (selected by ${link})</message>
<message id='tpl.SerialPorts.ConfigDialog.fixed.NMEA out'><strong>NMEA output</strong> (selected by ${link})</message>
<message id='tpl.SerialPorts.ConfigDialog.fixed.Timestamp in'><strong>Timestamp receiver</strong> (selected by ${link})</message>

<message id='text.SerialPorts.ConfigDialog.fixed.timingLinkText'>timing configuration</message>

<!-- messages for the save dialog -->
<message id='tpl.SerialPorts.ConfigDialog.saving'>
  <p>Saving port configuration and restarting service… ${progress}</p>
</message>

<message id='xhtml.SerialPorts.ConfigDialog.saveSuccess'>
  <p class='successMessage'>Configuration saved.</p>
</message>

<message id='xhtml.SerialPorts.ConfigDialog.saveFailure'>
  <p class='errorMessage'>Failed to save configuration.</p>
  <p>Error message returned from system:</p>
  <pre>{1}</pre>
</message>

<message id='text.SerialPorts.ConfigDialog.dismiss'>OK</message>



<!--============================================================================
Port configuration (shared details); SerialPortConfigBase widget
=============================================================================-->

<!-- Templates for displaying the port ID and the device path. -->
<message id='tpl.SerialPorts.ConfigBase.idTpl'><code>${id}</code></message>
<message id='tpl.SerialPorts.ConfigBase.devTpl'><code>${dev}</code></message>

<!-- Each port has an ID, used to name the config files and the service. This
is the label used to identify that information. -->
<message id='xhtml.SerialPorts.ConfigBase.idLabel'>Service ID</message>
<message id='text.SerialPorts.ConfigBase.idTip'>This ID is used as the service name for the serial port. Restarting this service will restart the serial port's function. It is also used to name configuration files and for log messages.</message>

<!-- The label for the Linux device node (under /dev) associated with the serial
port. -->
<message id='xhtml.SerialPorts.ConfigBase.devLabel'>Device</message>
<message id='text.SerialPorts.ConfigBase.devTip'>This is the path to the device node under Linux. It is only shown for information and for users who wish to interact with ports on the command line.</message>

<!-- Label for the port friendly name editor box. -->
<message id='xhtml.SerialPorts.ConfigBase.nameLabel'>Description</message>
<message id='text.SerialPorts.ConfigBase.nameTip'>This description is used in the configuration interfaces and status output to describe the serial port. It can be changed to any text up to 64 characters long but should allow the user to identify the physical port in question.</message>

<!-- Label for the baud rate selector. -->
<message id='xhtml.SerialPorts.ConfigBase.baudLabel'>Baud rate</message>



<!--============================================================================
Port configuration (NMEA out)
=============================================================================-->

<message id='text.SerialPorts.NMEAOut.invert'>Inverted</message>
<message id='xhtml.SerialPorts.NMEAOut.invertPPSLabel'>Invert 1PPS</message>
<message id='text.SerialPorts.NMEAOut.invertPPSTip'>Electrically inverts the 1PPS (pulse-per-second) output line. Normally this should be off, since the system output is designed to match a Güralp GPS module, but in some special hardware situations this may be required.</message>

<message id='xhtml.SerialPorts.NMEAOut.maxNTPErrorLabel'>Maximum NTP error (µs)</message>
<message id='text.SerialPorts.NMEAOut.maxNTPErrorTip'>When used with NTP (network time protocol), NTP must report that the system clock error is below the threshold specified here in microseconds. Otherwise, the NMEA output will indicate that there is no fix, and the signal will not be suitable for a time source.</message>

<message id='xhtml.SerialPorts.NMEAOut.latitudeLabel'>Latitude to report</message>
<message id='text.SerialPorts.NMEAOut.latitudeTip'>If desired, a position can be encoded into the stream. The latitude takes the form of DDMM.SSSS,N where DD is degrees north/south of the equator, MM is minutes, SSSS is seconds and fractional seconds and the last character is N for North or S for South.</message>

<message id='xhtml.SerialPorts.NMEAOut.longitudeLabel'>Longitude to report</message>
<message id='text.SerialPorts.NMEAOut.longitudeTip'>If desired, a position can be encoded into the stream. The longitude takes the form of DDDMM.SSSS,N where DDD is degrees east/west of the meridian, MM is minutes, SSSS is seconds and fractional seconds and the last character is E for East or W for West.</message>

<message id='xhtml.SerialPorts.NMEAOut.heightLabel'>Height to report</message>
<message id='text.SerialPorts.NMEAOut.heightTip'>If desired, the location report can include a height in metres.</message>

<message id='xhtml.SerialPorts.NMEAOut.geoidLabel'>Geoid to report</message>
<message id='text.SerialPorts.NMEAOut.geoidTip'>If desired, the location report can include the geoid measurement in metres.</message>

<message id='xhtml.SerialPorts.NMEAOut.iolineLabel'>I/O line to switch</message>
<message id='text.SerialPorts.NMEAOut.iolineTip'>Some CMG-EAM hardware has a switch that will activate the NMEA output feature instead of expecting an external GPS antenna. The default setting is almost always suitable for this port.</message>

<message id='text.SerialPorts.NMEAOut.restoreDefaults'>Get default settings</message>



<!--============================================================================
Port configuration (GCF input)
=============================================================================-->

<message id='text.SerialPorts.GCFIn.disableRewind'>Disabled</message>
<message id='xhtml.SerialPorts.GCFIn.disableRewindLabel'>Disable BRP rewind for DM24 in adaptive mode</message>
<message id='text.SerialPorts.GCFIn.disableRewindTip'>A DM24 that is in a transmission mode such as ADAPTIVE or FIFO will ignore Block Recovery Protocol (BRP) rewind requests, leading to sub-optimal data transfer. Check this button if using a DM24 in such a mode. Note that DIRECT is the only recommended mode, and in that case this button should be left unchecked to avoid any gaps in the data transfer.</message>

<message id='xhtml.SerialPorts.GCFIn.debugPortLabel'>Debug port</message>
<message id='text.SerialPorts.GCFIn.debugPortTip'>Enter a TCP port number or service name in this field to enable debug mode. In this mode a client can connect to the named port and it will receive a copy of each byte transmitted by the DM24. Normally, this field should be left empty, which will disable this mode. See also the GCF audit log menu entry to debug problems with DM24 modules.</message>

<message id='xhtml.SerialPorts.GCFIn.gdiInstanceLabel'>Data service group</message>

<message id='text.SerialPorts.GCFIn.gcfCoarseTiming'>Enabled</message>
<message id='xhtml.SerialPorts.GCFIn.gcfCoarseTimingLabel'>Enable coarse timing for DM24mk2</message>
<message id='text.SerialPorts.GCFIn.gcfCoarseTimingTip'>Normally, a DM24mk3 or a CD24 will emit RTStatus timing signals which Platinum can interpret to get the system time (for log messages etc, but not for data timestamps). However, this is not supported by the DM24mk2. Check the box to enable a different algorithm for the DM24mk2. Leave unchecked if unsure.</message>



<!--============================================================================
Port configuration (GCF output)
=============================================================================-->

<message id='xhtml.SerialPorts.GCFOut.brpAckNackTimeoutLabel'>ACK/NAK timeout (ms)<br/>
<small><em><a href='http://www.guralp.com/apps/brpcalc.html' target='_blank'>Open BRP calculator in new tab</a></em></small></message>
<message id='text.SerialPorts.GCFOut.brpAckNackTimeoutTip'>BRP (block recovery protocol) needs to be manually tuned for round trip time and transmission speed. Enter the tuning value in milliseconds here. This is also known as the MS-GAP setting.</message>

<message id='xhtml.SerialPorts.GCFOut.allowTerminalLabel'>Allow access to instrument terminal</message>
<message id='text.SerialPorts.GCFOut.allowTerminal'>Allowed</message>

<message id='xhtml.SerialPorts.GCFOut.gcfOutSelLabel'>GCF compressor</message>

<message id='xhtml.SerialPorts.GCFOut.filterLabel'>Filter transmitted blocks</message>



<!--============================================================================
Port configuration (KVH1500 digital gyro)
=============================================================================-->

<message id='xhtml.SerialPorts.KVH1500.stationLabel'>Output channel station name</message>
<message id='xhtml.SerialPorts.KVH1500.networkLabel'>Output channel network code</message>
<message id='xhtml.SerialPorts.KVH1500.locationLabel'>Output channel location code</message>

<message id='text.SerialPorts.KVH1500.upsideDown'>Upside down</message>
<message id='xhtml.SerialPorts.KVH1500.upsideDownLabel'>Gyro mounted upside down</message>
<message id='text.SerialPorts.KVH1500.upsideDownTip'>If the gyro is mounted upside down within the instrument chassis, check the box to invert the sense of the heading.</message>

<message id='xhtml.SerialPorts.KVH1500.gdiInstanceLabel'>Data service group</message>



<!--============================================================================
Port configuration (TCP↔serial converter)
=============================================================================-->

<!-- buttons for selecting direction of connection (listen for incoming or
connect to remote server -->
<message id='tpl.SerialPorts.TCPSerial.directionLayout'>
  ${directionListen}<br/>
  ${directionConnect}
</message>
<message id='text.SerialPorts.TCPSerial.directionListen'>Server (wait for incoming connections)</message>
<message id='text.SerialPorts.TCPSerial.directionConnect'>Client (establish connection to remote server)</message>
<message id='xhtml.SerialPorts.TCPSerial.directionLabel'>Connection type</message>

<!-- labels for address entry in server mode -->
<message id='xhtml.SerialPorts.TCPSerial.addrLabelListen'>Local bind address (empty for all)</message>
<message id='xhtml.SerialPorts.TCPSerial.serviceLabelListen'>Port/service to listen on</message>

<!-- labels for address entry in client mode -->
<message id='xhtml.SerialPorts.TCPSerial.addrLabelConnect'>Address to connect to</message>
<message id='xhtml.SerialPorts.TCPSerial.serviceLabelConnect'>Port/service to connect to</message>



<!--============================================================================
Port configuration (USGS RTD output)
=============================================================================-->

<message id='xhtml.SerialPorts.RTDOut.divisorLabel'>Sample divisor</message>
<message id='text.SerialPorts.RTDOut.divisorTip'>RTD output is limited to 16 bits, but digitiser input is usually 24 bits. Enter value to divide digitiser samples by to reduce the output range.</message>
<message id='xhtml.SerialPorts.RTDOut.gdiInstanceLabel'>Data service group</message>
<message id='xhtml.SerialPorts.RTDOut.chanLabel'>Channel {1}</message>

<message id='tpl.SerialPorts.RTDOut.channelEditorLayout'>
  <span class='form-inline'>
    <span class='control-group'>${editor}</span>${select}
  </span>
</message>

<!-- button next to channel name editor which opens channel selection dialog -->
<message id='text.SerialPorts.RTDOut.selectChannel'>Select</message>

<message id='text.SerialPorts.RTDOut.selDialogTitle'>Select channel</message>
<message id='tpl.SerialPorts.RTDOut.selDialogLayout'><p>Select channel:</p>
<div class='control-group'>${channelSelector}</div></message>
<message id='xhtml.SerialPorts.RTDOut.selDialogNoChannels'><p>List of channels
is unavailable (perhaps <code>gdi-base</code> is not running?). You will have
to type the channel name in manually.</p></message>

<message id='text.SerialPorts.RTDOut.selItem'>{1} ({2} samples/second)</message>
<message id='text.SerialPorts.RTDOut.reject'>Cancel</message>
<message id='text.SerialPorts.RTDOut.accept'>Select</message>

<message id='text.SerialPorts.RTDOut.sampleRateMismatch'>Sample rates of the three selected channels do not match.</message>
<message id='text.SerialPorts.RTDOut.duplicateChannel'>Duplicate channels selected.</message>



<!--============================================================================
Port configuration (Morningstar modbus)
=============================================================================-->

<message id='xhtml.SerialPorts.MSModbus.suffixLabel'>I/O line suffix</message>
<message id='xhtml.SerialPorts.MSModbus.slaveIDLabel'>Slave ID (hex)</message>



<!--============================================================================
Port configuration (PPP)
=============================================================================-->

<message id='text.SerialPorts.PPP.modem'>Enable modem control lines</message>
<message id='xhtml.SerialPorts.PPP.modemLabel'>Modem?</message>
<message id='text.SerialPorts.PPP.modemTip'>If enabled, PPP will assert DTR (data terminal ready) and will watch CD (carrier detect). These are not used on directly cabled links but only if there is an analogue modem.</message>

<message id='text.SerialPorts.PPP.flowControl'>Enable hardware flow control (RTS/CTS)</message>
<message id='xhtml.SerialPorts.PPP.flowControlLabel'>Flow control?</message>

<!-- shown when saving config file fails; {1} is filename, {2} is errno, and
{3} is from strerror() -->
<message id='xhtml.SerialPorts.PPP.saveFailed'>Saving <code>{1}</code> failed:
{3} (code {2}).</message>



<!--============================================================================
Port configuration (CD24 lowlatency in)
=============================================================================-->

<message id='text.SerialPorts.CD24LL.noteTitle'>Note</message>
<message id='xhtml.SerialPorts.CD24LL.noteText'>Once the port has been set in
this mode, visit the menu entry <em>Configuration → Data acquisition</em> to
alter channel names, sample rates etc.</message>



<!--============================================================================
Port configuration (trigger output)
=============================================================================-->

<message id='xhtml.SerialPorts.TriggerOut.selLabel'>Trigger group</message>
<message id='xhtml.SerialPorts.TriggerOut.luaProgramLabel'><a
  href='http://www.lua.org/' target='_blank'>Lua</a> program</message>
<message id='xhtml.SerialPorts.TriggerOut.luaSaveError'>Error saving Lua
  script (filename <code>{1}</code>): {2}</message>



</messages>

<!-- options for text editors
vim: ts=2:sw=2:expandtab
-->
