{ "common": { "label": { "payload": "Payload", "topic": "Topic", "name": "Name", "username": "Username", "password": "Password", "property": "Property" }, "status": { "connected": "connected", "not-connected": "not connected", "disconnected": "disconnected", "connecting": "connecting", "error": "error", "ok": "OK" }, "notification": { "error": "<strong>Error</strong>: __message__", "errors": { "not-deployed": "node not deployed", "no-response": "no response from server", "unexpected": "unexpected error (__status__) __message__" } }, "errors": { "nooverride": "Warning: msg properties can no longer override set node properties. See bit.ly/nr-override-msg-props" } }, "inject": { "inject": "inject", "repeat": "repeat = __repeat__", "crontab": "crontab = __crontab__", "stopped": "stopped", "failed": "Inject failed: __error__", "label": { "repeat": "Repeat" }, "timestamp": "timestamp", "none": "none", "interval": "interval", "interval-time": "interval between times", "time": "at a specific time", "seconds": "seconds", "minutes": "minutes", "hours": "hours", "between": "between", "previous": "previous value", "at": "at", "and": "and", "every": "every", "days": [ "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" ], "on": "on", "onstart": "Inject once after", "onceDelay": "seconds, then", "tip": "<b>Note:</b> \"interval between times\" and \"at a specific time\" will use cron.<br/>\"interval\" should be less than 596 hours.<br/>See info box for details.", "success": "Successfully injected: __label__", "errors": { "failed": "inject failed, see log for details", "toolong": "Interval too large" } }, "catch": { "catch": "catch: all", "catchNodes": "catch: __number__", "label": { "source": "Catch errors from", "node": "node", "type": "type", "selectAll": "select all", "sortByLabel": "sort by label", "sortByType": "sort by type" }, "scope": { "all": "all nodes", "selected": "selected nodes" } }, "status": { "status": "status: all", "statusNodes": "status: __number__", "label": { "source": "Report status from", "node": "node", "type": "type", "selectAll": "select all", "sortByLabel": "sort by label", "sortByType": "sort by type" }, "scope": { "all": "all nodes", "selected": "selected nodes" } }, "debug": { "output": "Output", "msgprop": "message property", "msgobj": "complete msg object", "to": "To", "debtab": "debug tab", "tabcon": "debug tab and console", "toSidebar": "debug window", "toConsole": "system console", "toStatus": "node status (32 characters)", "severity": "Level", "notification": { "activated": "Successfully activated: __label__", "deactivated": "Successfully deactivated: __label__" }, "sidebar": { "label": "debug", "name": "Debug messages", "filterAll": "all nodes", "filterSelected": "selected nodes", "filterCurrent": "current flow", "debugNodes": "Debug nodes", "clearLog": "clear log", "openWindow": "open in new window" }, "messageMenu": { "collapseAll": "Collapse all paths", "clearPinned": "Clear pinned paths", "filterNode": "Filter this node", "clearFilter": "Clear filter" } }, "link": { "linkIn": "link in", "linkOut": "link out", "label": { "event": "Event name", "node": "name", "type": "flow", "sortByFlow":"Sort by flow", "sortByLabel": "Sort by name" } }, "tls": { "tls": "TLS configuration", "label": { "use-local-files": "Use key and certificates from local files", "upload": "Upload", "cert": "Certificate", "key": "Private Key", "passphrase": "Passphrase", "ca": "CA Certificate", "verify-server-cert":"Verify server certificate" }, "placeholder": { "cert":"path to certificate (PEM format)", "key":"path to private key (PEM format)", "ca":"path to CA certificate (PEM format)", "passphrase":"private key passphrase (optional)" }, "error": { "missing-file": "No certificate/key file provided" } }, "exec": { "exec": "exec", "spawn": "spawn", "label": { "command": "Command", "append": "Append", "timeout": "Timeout", "timeoutplace": "optional", "return": "Output", "seconds": "seconds" }, "placeholder": { "extraparams": "extra input parameters" }, "opt": { "exec": "when the command is complete - exec mode", "spawn": "while the command is running - spawn mode" }, "oldrc": "Use old style output (compatibility mode)" }, "function": { "function": "", "label": { "function": "Function", "outputs": "Outputs" }, "error": { "inputListener":"Cannot add listener to 'input' event within Function", "non-message-returned":"Function tried to send a message of type __type__" }, "tip": "See the Info tab for help writing functions." }, "template": { "template": "template", "label": { "template": "Template", "property": "Set property", "format": "Syntax Highlight", "syntax": "Format", "output": "Output as", "mustache": "Mustache template", "plain": "Plain text", "json": "Parsed JSON", "yaml": "Parsed YAML", "none": "none" }, "templatevalue": "This is the payload: {{payload}} !" }, "delay": { "action": "Action", "for": "For", "delaymsg": "Delay each message", "delayfixed": "Fixed delay", "delayvarmsg": "Override delay with msg.delay", "randomdelay": "Random delay", "limitrate": "Rate Limit", "limitall": "All messages", "limittopic": "For each msg.topic", "fairqueue": "Send each topic in turn", "timedqueue": "Send all topics", "milisecs": "Miliseconds", "secs": "Seconds", "sec": "Second", "mins": "Minutes", "min": "Minute", "hours": "Hours", "hour": "Hour", "days": "Days", "day": "Day", "between": "Between", "and": "&", "rate": "Rate", "msgper": "msg(s) per", "dropmsg": "drop intermediate messages", "label": { "delay": "delay", "variable": "variable", "limit": "limit", "limitTopic": "limit topic", "random": "random", "units" : { "second": { "plural" : "Seconds", "singular": "Second" }, "minute": { "plural" : "Minutes", "singular": "Minute" }, "hour": { "plural" : "Hours", "singular": "Hour" }, "day": { "plural" : "Days", "singular": "Day" } } }, "error": { "buffer": "buffer exceeded 1000 messages", "buffer1": "buffer exceeded 10000 messages" } }, "trigger": { "send": "Send", "then": "then", "then-send": "then send", "output": { "string": "the string", "number": "the number", "existing": "the existing msg object", "original": "the original msg object", "latest": "the latest msg object", "nothing": "nothing" }, "wait-reset": "wait to be reset", "wait-for": "wait for", "wait-loop": "resend it every", "for": "Handling", "bytopics": "each msg.topic independently", "alltopics": "all messages", "duration": { "ms": "Milliseconds", "s": "Seconds", "m": "Minutes", "h": "Hours" }, "extend": " extend delay if new message arrives", "label": { "trigger": "trigger", "trigger-block": "trigger & block", "trigger-loop": "resend every", "reset": "Reset the trigger if:", "resetMessage":"msg.reset is set", "resetPayload":"msg.payload equals", "resetprompt": "optional" } }, "comment": { "comment": "comment", "label": { "title": "Title", "body": "Body" }, "tip": "Tip: The body text can be styled as <a href=\"https://help.github.com/articles/markdown-basics/\" target=\"_blank\">Github flavoured Markdown</a>" }, "unknown": { "label": { "unknown": "unknown" }, "tip": "<p>This node is a type unknown to your installation of Node-RED.</p><p><i>If you deploy with the node in this state, it's configuration will be preserved, but the flow will not start until the missing type is installed.</i></p><p>See the Info side bar for more help</p>" }, "mqtt": { "label": { "broker": "Server", "example": "e.g. localhost", "qos": "QoS", "retain": "Retain", "clientid": "Client ID", "port": "Port", "keepalive": "Keep alive time (s)", "cleansession": "Use clean session", "use-tls": "Enable secure (SSL/TLS) connection", "tls-config":"TLS Configuration", "verify-server-cert":"Verify server certificate", "compatmode": "Use legacy MQTT 3.1 support" }, "sections-label":{ "birth-message": "Message sent on connection (birth message)", "will-message":"Message sent on an unexpected disconnection (will message)", "close-message":"Message sent before disconnecting (close message)" }, "tabs-label": { "connection": "Connection", "security": "Security", "messages": "Messages" }, "placeholder": { "clientid": "Leave blank for auto generated", "clientid-nonclean":"Must be set for non-clean sessions", "will-topic": "Leave blank to disable will message", "birth-topic": "Leave blank to disable birth message", "close-topic": "Leave blank to disable close message" }, "state": { "connected": "Connected to broker: __broker__", "disconnected": "Disconnected from broker: __broker__", "connect-failed": "Connection failed to broker: __broker__" }, "retain": "Retain", "true": "true", "false": "false", "tip": "Tip: Leave topic, qos or retain blank if you want to set them via msg properties.", "errors": { "not-defined": "topic not defined", "missing-config": "missing broker configuration", "invalid-topic": "Invalid topic specified", "nonclean-missingclientid": "No client ID set, using clean session" } }, "httpin": { "label": { "method": "Method", "url": "URL", "doc": "Docs", "return": "Return", "upload": "Accept file uploads?", "status": "Status code", "headers": "Headers", "other": "other" }, "setby": "- set by msg.method -", "basicauth": "Use basic authentication", "use-tls": "Enable secure (SSL/TLS) connection", "tls-config":"TLS Configuration", "utf8": "a UTF-8 string", "binary": "a binary buffer", "json": "a parsed JSON object", "tip": { "in": "The url will be relative to ", "res": "The messages sent to this node <b>must</b> originate from an <i>http input</i> node", "req": "Tip: If the JSON parse fails the fetched string is returned as-is." }, "httpreq": "http request", "errors": { "not-created": "Cannot create http-in node when httpNodeRoot set to false", "missing-path": "missing path", "no-response": "No response object", "json-error": "JSON parse error", "no-url": "No url specified", "deprecated-call":"Deprecated call to __method__", "invalid-transport":"non-http transport requested" }, "status": { "requesting": "requesting" } }, "websocket": { "label": { "type": "Type", "path": "Path", "url": "URL" }, "listenon": "Listen on", "connectto": "Connect to", "sendrec": "Send/Receive", "payload": "payload", "message": "entire message", "tip": { "path1": "By default, <code>payload</code> will contain the data to be sent over, or received from a websocket. The listener can be configured to send or receive the entire message object as a JSON formatted string.", "path2": "This path will be relative to ", "url1": "URL should use ws:// or wss:// scheme and point to an existing websocket listener.", "url2": "By default, <code>payload</code> will contain the data to be sent over, or received from a websocket. The client can be configured to send or receive the entire message object as a JSON formatted string." }, "errors": { "connect-error": "An error occured on the ws connection: ", "send-error": "An error occurred while sending: ", "missing-conf": "Missing server configuration" } }, "watch": { "watch": "watch", "label": { "files": "File(s)", "recursive": "Watch sub-directories recursively" }, "placeholder": { "files": "Comma-separated list of files and/or directories" }, "tip": "On Windows you must use double back-slashes \\\\ in any directory names." }, "tcpin": { "label": { "type": "Type", "output": "Output", "port": "port", "host": "at host", "payload": "payload(s)", "delimited": "delimited by", "close-connection": "Close connection after each message is sent?", "decode-base64": "Decode Base64 message?", "server": "Server", "return": "Return", "ms": "ms", "chars": "chars" }, "type": { "listen": "Listen on", "connect": "Connect to", "reply": "Reply to TCP" }, "output": { "stream": "stream of", "single": "single", "buffer": "Buffer", "string": "String", "base64": "Base64 String" }, "return": { "timeout": "after a fixed timeout of", "character": "when character received is", "number": "a fixed number of chars", "never": "never - keep connection open", "immed": "immediately - don't wait for reply" }, "status": { "connecting": "connecting to __host__:__port__", "connected": "connected to __host__:__port__", "listening-port": "listening on port __port__", "stopped-listening": "stopped listening on port", "connection-from": "connection from __host__:__port__", "connection-closed": "connection closed from __host__:__port__", "connections": "__count__ connection", "connections_plural": "__count__ connections" }, "errors": { "connection-lost": "connection lost to __host__:__port__", "timeout": "timeout closed socket port __port__", "cannot-listen": "unable to listen on port __port__, error: __error__", "error": "error: __error__", "socket-error": "socket error from __host__:__port__", "no-host": "Host and/or port not set", "connect-timeout": "connect timeout", "connect-fail": "connect failed" } }, "udp": { "label": { "listen": "Listen for", "onport": "on Port", "using": "using", "output": "Output", "group": "Group", "interface": "Local IF", "send": "Send a", "toport": "to port", "address": "Address", "decode-base64": "Decode Base64 encoded payload?" }, "placeholder": { "interface": "(optional) local interface or address to bind to", "interfaceprompt": "(optional) local interface or address to bind to", "address": "destination ip" }, "udpmsgs": "udp messages", "mcmsgs": "multicast messages", "udpmsg": "udp message", "bcmsg": "broadcast message", "mcmsg": "multicast message", "output": { "buffer": "a Buffer", "string": "a String", "base64": "a Base64 encoded string" }, "bind": { "random": "bind to random local port", "local": "bind to local port", "target": "bind to target port" }, "tip": { "in": "Tip: Make sure your firewall will allow the data in.", "out": "Tip: leave address and port blank if you want to set using <code>msg.ip</code> and <code>msg.port</code>.", "port": "Ports already in use: " }, "status": { "listener-at": "udp listener at __host__:__port__", "mc-group": "udp multicast group __group__", "listener-stopped": "udp listener stopped", "output-stopped": "udp output stopped", "mc-ready": "udp multicast ready: __iface__:__outport__ -> __host__:__port__", "bc-ready": "udp broadcast ready: __outport__ -> __host__:__port__", "ready": "udp ready: __outport__ -> __host__:__port__", "ready-nolocal": "udp ready: __host__:__port__", "re-use": "udp re-use socket: __outport__ -> __host__:__port__" }, "errors": { "access-error": "UDP access error, you may need root access for ports below 1024", "error": "error: __error__", "bad-mcaddress": "Bad Multicast Address", "interface": "Must be ip address of the required interface", "ip-notset": "udp: ip address not set", "port-notset": "udp: port not set", "port-invalid": "udp: port number not valid", "alreadyused": "udp: port __port__ already in use", "ifnotfound": "udp: interface __iface__ not found" } }, "switch": { "switch": "switch", "label": { "property": "Property", "rule": "rule", "repair" : "recreate message sequences" }, "and": "and", "checkall": "checking all rules", "stopfirst": "stopping after first match", "ignorecase": "ignore case", "rules": { "btwn":"is between", "cont":"contains", "regex":"matches regex", "true":"is true", "false":"is false", "null":"is null", "nnull":"is not null", "istype":"is of type", "head":"head", "tail":"tail", "index":"index between", "exp":"JSONata exp", "else":"otherwise" }, "errors": { "invalid-expr": "Invalid JSONata expression: __error__", "too-many" : "too many pending messages in switch node" } }, "change": { "label": { "rules": "Rules", "rule": "rule", "set": "set __property__", "change": "change __property__", "delete": "delete __property__", "move": "move __property__", "changeCount": "change: __count__ rules", "regex": "Use regular expressions" }, "action": { "set": "Set", "change": "Change", "delete": "Delete", "move": "Move", "to": "to", "search": "Search for", "replace": "Replace with" }, "errors": { "invalid-from": "Invalid 'from' property: __error__", "invalid-json": "Invalid 'to' JSON property", "invalid-expr": "Invalid JSONata expression: __error__" } }, "range": { "range": "range", "label": { "action": "Action", "inputrange": "Map the input range", "resultrange": "to the result range", "from": "from", "to": "to", "roundresult": "Round result to the nearest integer?" }, "placeholder": { "min": "e.g. 0", "maxin": "e.g. 99", "maxout": "e.g. 255" }, "scale": { "payload": "Scale the message property", "limit": "Scale and limit to the target range", "wrap": "Scale and wrap within the target range" }, "tip": "Tip: This node ONLY works with numbers.", "errors": { "notnumber": "Not a number" } }, "csv": { "label": { "columns": "Columns", "separator": "Separator", "c2o": "CSV to Object options", "o2c": "Object to CSV options", "input": "Input", "skip-s": "Skip first", "skip-e": "lines", "firstrow": "first row contains column names", "output": "Output", "includerow": "include column name row", "newline": "Newline" }, "placeholder": { "columns": "comma-separated column names" }, "separator": { "comma": "comma", "tab": "tab", "space": "space", "semicolon": "semicolon", "colon": "colon", "hashtag": "hashtag", "other": "other..." }, "output": { "row": "a message per row", "array": "a single message [array]" }, "newline": { "linux": "Linux (\\n)", "mac": "Mac (\\r)", "windows": "Windows (\\r\\n)" }, "errors": { "csv_js": "This node only handles CSV strings or js objects.", "obj_csv": "No columns template specified for object -> CSV." } }, "html": { "label": { "select": "Selector", "output": "Output", "in": "in" }, "output": { "html": "the html content of the elements", "text": "only the text content of the elements", "attr": "an object of any attributes of the elements" }, "format": { "single": "as a single message containing an array", "multi": "as multiple messages, one for each element" } }, "json": { "errors": { "dropped-object": "Ignored non-object payload", "dropped": "Ignored unsupported payload type", "dropped-error": "Failed to convert payload" }, "label": { "o2j": "Object to JSON options", "pretty": "Format JSON string", "action": "Action", "property": "Property", "actions": { "toggle": "Convert between JSON String & Object", "str":"Always convert to JSON String", "obj":"Always convert to JavaScript Object" } } }, "yaml": { "errors": { "dropped-object": "Ignored non-object payload", "dropped": "Ignored unsupported payload type", "dropped-error": "Failed to convert payload" } }, "xml": { "label": { "represent": "Property name for XML tag attributes", "prefix": "Property name for tag text content", "advanced": "Advanced options", "x2o": "XML to Object options" }, "errors": { "xml_js": "This node only handles xml strings or js objects." } }, "rpi-gpio": { "label": { "gpiopin": "GPIO", "selectpin": "select pin", "resistor": "Resistor?", "readinitial": "Read initial state of pin on deploy/restart?", "type": "Type", "initpin": "Initialise pin state?", "debounce": "Debounce", "freq": "Frequency", "button": "Button", "pimouse": "Pi Mouse", "pikeyboard": "Pi Keyboard", "left": "Left", "right": "Right", "middle": "Middle" }, "resistor": { "none": "none", "pullup": "pullup", "pulldown": "pulldown" }, "digout": "Digital output", "pwmout": "PWM output", "servo": "Servo output", "initpin0": "initial level of pin - low (0)", "initpin1": "initial level of pin - high (1)", "left": "left", "right": "right", "middle": "middle", "any": "any", "pinname": "Pin", "alreadyuse": "already in use", "alreadyset": "already set as", "tip": { "pin": "<b>Pins in Use</b>: ", "in": "Tip: Only Digital Input is supported - input must be 0 or 1.", "dig": "Tip: For digital output - input must be 0 or 1.", "pwm": "Tip: For PWM output - input must be between 0 to 100; setting high frequency might occupy more CPU than expected.", "ser": "<b>Tip</b>: For Servo output - input must be between 0 to 100. 50 is centre." }, "types": { "digout": "digital output", "input": "input", "pullup": "input with pull up", "pulldown": "input with pull down", "pwmout": "PWM output", "servo": "Servo output" }, "status": { "stopped": "stopped", "closed": "closed", "not-running": "not running", "not-available": "not available", "na": "N/A : __value__" }, "errors": { "ignorenode": "Ignoring Raspberry Pi specific node", "version": "Version command failed", "sawpitype": "Saw Pi Type", "libnotfound": "Cannot find Pi RPi.GPIO python library", "alreadyset": "GPIO pin __pin__ already set as type: __type__", "invalidpin": "Invalid GPIO pin", "invalidinput": "Invalid input", "needtobeexecutable": "__command__ needs to be executable", "mustbeexecutable": "nrgpio must to be executable", "commandnotfound": "nrgpio command not found", "commandnotexecutable": "nrgpio command not executable", "error": "error: __error__", "pythoncommandnotfound": "nrpgio python command not running" } }, "tail": { "tail": "tail", "label": { "filename": "Filename", "type": "File type", "splitlines": "Split lines on \\n?" }, "action": { "text": "Text - returns String", "binary": "Binary - returns Buffer" }, "errors": { "windowsnotsupport": "Not currently supported on Windows." } }, "file": { "label": { "filename": "Filename", "action": "Action", "addnewline": "Add newline (\\n) to each payload?", "createdir": "Create directory if it doesn't exist?", "outputas": "Output", "breakchunks": "Break into chunks", "breaklines": "Break into lines", "filelabel": "file", "sendError": "Send message on error (legacy mode)", "deletelabel": "delete __file__" }, "action": { "append": "append to file", "overwrite": "overwrite file", "delete": "delete file" }, "output": { "utf8": "a single utf8 string", "buffer": "a single Buffer object", "lines": "a msg per line", "stream": "a stream of Buffers" }, "status": { "wrotefile": "wrote to file: __file__", "deletedfile": "deleted file: __file__", "appendedfile": "appended to file: __file__" }, "errors": { "nofilename": "No filename specified", "invaliddelete": "Warning: Invalid delete. Please use specific delete option in config dialog.", "deletefail": "failed to delete file: __error__", "writefail": "failed to write to file: __error__", "appendfail": "failed to append to file: __error__", "createfail": "failed to create file: __error__" }, "tip": "Tip: The filename should be an absolute path, otherwise it will be relative to the working directory of the Node-RED process." }, "split": { "split": "split", "intro":"Split <code>msg.payload</code> based on type:", "object":"<b>Object</b>", "objectSend":"Send a message for each key/value pair", "strBuff":"<b>String</b> / <b>Buffer</b>", "array":"<b>Array</b>", "splitUsing":"Split using", "splitLength":"Fixed length of", "stream":"Handle as a stream of messages", "addname":" Copy key to " }, "join":{ "join": "join", "mode":{ "mode":"Mode", "auto":"automatic", "merge":"merge sequences", "reduce":"reduce sequence", "custom":"manual" }, "combine":"Combine each", "create":"to create", "type":{ "string":"a String", "array":"an Array", "buffer":"a Buffer", "object":"a key/value Object", "merged":"a merged Object" }, "using":"using the value of", "key":"as the key", "joinedUsing":"joined using", "send":"Send the message:", "afterCount":"After a number of message parts", "count":"count", "subsequent":"and every subsequent message.", "afterTimeout":"After a timeout following the first message", "seconds":"seconds", "complete":"After a message with the <code>msg.complete</code> property set", "tip":"This mode assumes this node is either paired with a <i>split</i> node or the received messages will have a properly configured <code>msg.parts</code> property.", "too-many" : "too many pending messages in join node", "merge": { "topics-label":"Merged Topics", "topics":"topics", "topic" : "topic", "on-change":"Send merged message on arrival of a new topic" }, "reduce": { "exp": "Reduce exp", "exp-value": "exp", "init": "Initial value", "right": "Evaluate in reverse order (last to first)", "fixup": "Fix-up exp" }, "errors": { "invalid-expr": "Invalid JSONata expression: __error__" } }, "sort" : { "sort": "sort", "target" : "Sort", "seq" : "message sequence", "key" : "Key", "elem" : "element value", "order" : "Order", "ascending" : "ascending", "descending" : "descending", "as-number" : "as number", "invalid-exp" : "invalid JSONata expression in sort node", "too-many" : "too many pending messages in sort node", "clear" : "clear pending message in sort node" }, "batch" : { "batch": "batch", "mode": { "label" : "Mode", "num-msgs" : "Group by number of messages", "interval" : "Group by time interval", "concat" : "Concatenate sequences" }, "count": { "label" : "Number of messages", "overlap" : "Overlap", "count" : "count", "invalid" : "Invalid count and overlap" }, "interval": { "label" : "Interval", "seconds" : "seconds", "empty" : "send empty message when no message arrives" }, "concat": { "topics-label": "Topics", "topic" : "topic" }, "too-many" : "too many pending messages in batch node", "unexpected" : "unexpected mode", "no-parts" : "no parts property in message" } }