* Improves map node and neighbor display Updates the map page to enhance the visualization of nodes, waypoints, and neighbor connections. Adds a map layer tool for toggling the visibility of direct/remote neighbors and position precision indicators. Introduces clustering to improve map readability when multiple nodes share the exact same location. Adds SNR lines to visually represent network connections between nodes Co-Authored-By: jamon <jamon@users.noreply.github.com> * Clean up * Update packages/web/src/components/generic/TimeAgo.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Update packages/web/src/components/PageComponents/Map/Layers/SNRLayer.tsx Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> * Improve dark mode and expires field * Review fixes Co-Authored-By: Dan Ditomaso <dan.ditomaso@gmail.com> --------- Co-authored-by: philon- <philon-@users.noreply.github.com> Co-authored-by: jamon <jamon@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Dan Ditomaso <dan.ditomaso@gmail.com>
124 lines
3.6 KiB
JSON
124 lines
3.6 KiB
JSON
{
|
|
"button": {
|
|
"apply": "Apply",
|
|
"backupKey": "Backup Key",
|
|
"cancel": "Cancel",
|
|
"clearMessages": "Clear Messages",
|
|
"close": "Close",
|
|
"confirm": "Confirm",
|
|
"delete": "Delete",
|
|
"dismiss": "Dismiss",
|
|
"download": "Download",
|
|
"export": "Export",
|
|
"generate": "Generate",
|
|
"regenerate": "Regenerate",
|
|
"import": "Import",
|
|
"message": "Message",
|
|
"now": "Now",
|
|
"ok": "OK",
|
|
"print": "Print",
|
|
"remove": "Remove",
|
|
"requestNewKeys": "Request New Keys",
|
|
"requestPosition": "Request Position",
|
|
"reset": "Reset",
|
|
"save": "Save",
|
|
"scanQr": "Scan QR Code",
|
|
"traceRoute": "Trace Route",
|
|
"submit": "Submit"
|
|
},
|
|
"app": {
|
|
"title": "Meshtastic",
|
|
"fullTitle": "Meshtastic Web Client"
|
|
},
|
|
"loading": "Loading...",
|
|
"unit": {
|
|
"cps": "CPS",
|
|
"dbm": "dBm",
|
|
"hertz": "Hz",
|
|
"hop": {
|
|
"one": "Hop",
|
|
"plural": "Hops"
|
|
},
|
|
"hopsAway": {
|
|
"one": "{{count}} hop away",
|
|
"plural": "{{count}} hops away",
|
|
"unknown": "Unknown hops away"
|
|
},
|
|
"megahertz": "MHz",
|
|
"raw": "raw",
|
|
"meter": { "one": "Meter", "plural": "Meters", "suffix": "m" },
|
|
"kilometer": { "one": "Kilometer", "plural": "Kilometers", "suffix": "km" },
|
|
"minute": { "one": "Minute", "plural": "Minutes" },
|
|
"hour": { "one": "Hour", "plural": "Hours" },
|
|
"millisecond": {
|
|
"one": "Millisecond",
|
|
"plural": "Milliseconds",
|
|
"suffix": "ms"
|
|
},
|
|
"second": { "one": "Second", "plural": "Seconds" },
|
|
"day": {
|
|
"one": "Day",
|
|
"plural": "Days",
|
|
"today": "Today",
|
|
"yesterday": "Yesterday"
|
|
},
|
|
"month": { "one": "Month", "plural": "Months" },
|
|
"year": { "one": "Year", "plural": "Years" },
|
|
"snr": "SNR",
|
|
"volt": { "one": "Volt", "plural": "Volts", "suffix": "V" },
|
|
"record": { "one": "Records", "plural": "Records" },
|
|
"degree": { "one": "Degree", "plural": "Degrees", "suffix": "°" }
|
|
},
|
|
"security": {
|
|
"0bit": "Empty",
|
|
"8bit": "8 bit",
|
|
"128bit": "128 bit",
|
|
"256bit": "256 bit"
|
|
},
|
|
"unknown": {
|
|
"longName": "Unknown",
|
|
"shortName": "UNK",
|
|
"notAvailable": "N/A",
|
|
"num": "??"
|
|
},
|
|
"nodeUnknownPrefix": "!",
|
|
"unset": "UNSET",
|
|
"fallbackName": "Meshtastic {{last4}}",
|
|
"node": "Node",
|
|
"formValidation": {
|
|
"unsavedChanges": "Unsaved changes",
|
|
"tooBig": {
|
|
"string": "Too long, expected less than or equal to {{maximum}} characters.",
|
|
"number": "Too big, expected a number smaller than or equal to {{maximum}}.",
|
|
"bytes": "Too big, expected less than or equal to {{params.maximum}} bytes."
|
|
},
|
|
"tooSmall": {
|
|
"string": "Too short, expected more than or equal to {{minimum}} characters.",
|
|
"number": "Too small, expected a number larger than or equal to {{minimum}}."
|
|
},
|
|
"invalidFormat": {
|
|
"ipv4": "Invalid format, expected an IPv4 address.",
|
|
"key": "Invalid format, expected a Base64 encoded pre-shared key (PSK)."
|
|
},
|
|
"invalidType": {
|
|
"number": "Invalid type, expected a number."
|
|
},
|
|
"pskLength": {
|
|
"0bit": "Key is required to be empty.",
|
|
"8bit": "Key is required to be an 8 bit pre-shared key (PSK).",
|
|
"128bit": "Key is required to be a 128 bit pre-shared key (PSK).",
|
|
"256bit": "Key is required to be a 256 bit pre-shared key (PSK)."
|
|
},
|
|
"required": {
|
|
"generic": "This field is required.",
|
|
"managed": "At least one admin key is requred if the node is managed.",
|
|
"key": "Key is required."
|
|
},
|
|
"invalidOverrideFreq": {
|
|
"number": "Invalid format, expected a value in the range 410-930 MHz or 0 (use default)."
|
|
}
|
|
},
|
|
"yes": "Yes",
|
|
"no": "No"
|
|
}
|