ISY Developers:API:V5:NLS:Language Support
ISY_Developers : API : V5 : National Language Support (NLS)
National Language Support (NLS)
NLS support is defined for a node server by the set of properties files in the /nls subdirectory. The files contain the name/value pairs used by the clients and the ISY to display commands, values, controls etc.. All NLS names must be in uppercase.
A naming convention is used to organize these values.
Naming Convention Terminology
The following table shows the various attributes from XML node definitions, and editors that are used in this chapter to describe how to build the name of a particular NLS value.
<node.nls> | The 'nls' attribute specified when adding or changing a node.
e.g. /rest/ns/5/nodes/n005_dimmer_2/add/MyDimmer?primary=n005_dimmer_1&name=Dimmer 2&nls=012B |
<nodedef.id> | The 'id' attribute of a node definition.
e.g. <nodeDef id="Thermostat" nls="tstat"> |
<nodedef.nls> | The 'nls' attribute of a node definition.
e.g. <nodeDef id="Thermostat" nls="tstat"> |
<editor.id> | The 'id' attribute of an editor
e.g <editor id="I_OL"> |
<range.nls> | The 'nls' attribute of a range
e.g. <range uom="25" subset="0-32" nls="IX_I_RR" /> |
<st.id> | The 'id' attribute of a status
e.g. <st id="CLIHUM" editor="I_TSTAT_HUM" /> |
<cmd.id> | The 'id' attribute of a command
e.g. <cmd id="DON"> |
<p.id> | The 'id' attribute of a command parameter
e.g.
|
Programs
Device name
The same node definition may be used for different products/models of a device. For example, there may be many different models of a dimmer lamp, but they are functionally equivalent and therefore use the same node definition. The device name is used to specify the actual product name/model etc. of the device for a specific node.
DEV-<node.nls>-NAME e.g. DEV-0102-NAME = (2475D) In-LineLinc Dimmer
Icons
The format and lookup order of the NLS entry for icons is:
DEV-<node.nls>-ICON NDN-<nodedef.nls>-ICON ND-<nodedef.id>-ICON e.g. DEV-0341-ICON = Thermostat NDN-TStat-ICON = Thermostat ND-MyThermostat-ICON = Thermostat
See Icons for the list of supported icons
Status Names
Some status values require different names for different node definitions. For example, ST for a dimmer should show up as 'Lamp', but ST for a drapery motor should show up as 'Drapes'. The format and lookup order of the NLS entry is:
ST-<nodedef.nls>-<st.id>-NAME GEN-<nodedef.nls>-<st.id>-NAME ST-<st.id>-NAME e.g. ST-ST-NAME = Lamp ST-MYDRAPES-ST-NAME = Drapes
Command Names
The format and lookup order of the NLS entry for command names is:
CMD-<nodedef.nls>-<cmd.id>-NAME CMD-<cmd.id>-NAME e.g. CMD-DON-NAME = On CMD-MYDRAPES-DON-NAME = Open
Command Parameter Names
The format and lookup order of the NLS entry for command parameter names is:
GEN-<p.nls>-NAME CMDP-<nodedef.nls>-<editor.id>-<p.id>-NAME CMDPN-<nodedef.nls>-<p.id>-NAME GEN-<nodedef.nls>-<p.id>-NAME CMDP-<editor.id>-<p.id>-NAME CMDP-<p.id>-NAME e.g. GEN-MYTIMER001-NAME = On/Off Timer
Node Definition
ND-<nodedef.id>-NAME
Name mapped Values (Index, Percent)
Some integer values may be displayed as names instead of numeric values. Index values (uom 25), and some percent values are commonly made into names. For example, displaying the values 0-31 for Insteon Ramp Rates is not very meaningful compared to names indicating the actual durations. 'On' and 'Off' are often displayed for percentage values, while the remaining values 1-99 are usually displayed numerically.
The format of the NLS entry for mapped values is:
<range.nls>-<value> e.g. Insteon Ramp Rates <range id="I_RR" uom="25" subset="0-31" nls="IX_I_RR" /> IX_I_RR-0 = 9.0 minutes IX_I_RR-1 = 8.0 minutes ... IX_I_RR-31 = 0.1 seconds