Browse Source

chore(i18n): New Crowdin Translations by GitHub Action (#677)

Co-authored-by: Crowdin Bot <[email protected]>
pull/678/head
github-actions[bot] 1 year ago
committed by GitHub
parent
commit
183b3ae8cc
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 10
      src/i18n/locales/bg-BG/channels.json
  2. 30
      src/i18n/locales/bg-BG/commandPalette.json
  3. 86
      src/i18n/locales/bg-BG/common.json
  4. 12
      src/i18n/locales/bg-BG/dashboard.json
  5. 118
      src/i18n/locales/bg-BG/deviceConfig.json
  6. 134
      src/i18n/locales/bg-BG/dialog.json
  7. 47
      src/i18n/locales/bg-BG/messages.json
  8. 90
      src/i18n/locales/bg-BG/moduleConfig.json
  9. 36
      src/i18n/locales/bg-BG/nodes.json
  10. 133
      src/i18n/locales/bg-BG/ui.json
  11. 24
      src/i18n/locales/cs-CZ/common.json
  12. 16
      src/i18n/locales/cs-CZ/dialog.json
  13. 39
      src/i18n/locales/cs-CZ/messages.json
  14. 14
      src/i18n/locales/cs-CZ/nodes.json
  15. 27
      src/i18n/locales/cs-CZ/ui.json
  16. 24
      src/i18n/locales/de-DE/common.json
  17. 16
      src/i18n/locales/de-DE/dialog.json
  18. 39
      src/i18n/locales/de-DE/messages.json
  19. 14
      src/i18n/locales/de-DE/nodes.json
  20. 27
      src/i18n/locales/de-DE/ui.json
  21. 24
      src/i18n/locales/es-ES/common.json
  22. 16
      src/i18n/locales/es-ES/dialog.json
  23. 39
      src/i18n/locales/es-ES/messages.json
  24. 14
      src/i18n/locales/es-ES/nodes.json
  25. 27
      src/i18n/locales/es-ES/ui.json
  26. 24
      src/i18n/locales/fi-FI/common.json
  27. 16
      src/i18n/locales/fi-FI/dialog.json
  28. 37
      src/i18n/locales/fi-FI/messages.json
  29. 14
      src/i18n/locales/fi-FI/nodes.json
  30. 33
      src/i18n/locales/fi-FI/ui.json
  31. 24
      src/i18n/locales/fr-FR/common.json
  32. 16
      src/i18n/locales/fr-FR/dialog.json
  33. 39
      src/i18n/locales/fr-FR/messages.json
  34. 14
      src/i18n/locales/fr-FR/nodes.json
  35. 27
      src/i18n/locales/fr-FR/ui.json
  36. 78
      src/i18n/locales/it-IT/channels.json
  37. 40
      src/i18n/locales/it-IT/commandPalette.json
  38. 120
      src/i18n/locales/it-IT/common.json
  39. 10
      src/i18n/locales/it-IT/dashboard.json
  40. 372
      src/i18n/locales/it-IT/deviceConfig.json
  41. 194
      src/i18n/locales/it-IT/dialog.json
  42. 47
      src/i18n/locales/it-IT/messages.json
  43. 402
      src/i18n/locales/it-IT/moduleConfig.json
  44. 48
      src/i18n/locales/it-IT/nodes.json
  45. 171
      src/i18n/locales/it-IT/ui.json
  46. 24
      src/i18n/locales/ja-JP/common.json
  47. 16
      src/i18n/locales/ja-JP/dialog.json
  48. 39
      src/i18n/locales/ja-JP/messages.json
  49. 14
      src/i18n/locales/ja-JP/nodes.json
  50. 27
      src/i18n/locales/ja-JP/ui.json
  51. 69
      src/i18n/locales/ko-KR/channels.json
  52. 50
      src/i18n/locales/ko-KR/commandPalette.json
  53. 141
      src/i18n/locales/ko-KR/common.json
  54. 12
      src/i18n/locales/ko-KR/dashboard.json
  55. 428
      src/i18n/locales/ko-KR/deviceConfig.json
  56. 171
      src/i18n/locales/ko-KR/dialog.json
  57. 39
      src/i18n/locales/ko-KR/messages.json
  58. 448
      src/i18n/locales/ko-KR/moduleConfig.json
  59. 63
      src/i18n/locales/ko-KR/nodes.json
  60. 228
      src/i18n/locales/ko-KR/ui.json
  61. 24
      src/i18n/locales/nl-NL/common.json
  62. 16
      src/i18n/locales/nl-NL/dialog.json
  63. 39
      src/i18n/locales/nl-NL/messages.json
  64. 14
      src/i18n/locales/nl-NL/nodes.json
  65. 27
      src/i18n/locales/nl-NL/ui.json
  66. 69
      src/i18n/locales/pl-PL/channels.json
  67. 50
      src/i18n/locales/pl-PL/commandPalette.json
  68. 141
      src/i18n/locales/pl-PL/common.json
  69. 12
      src/i18n/locales/pl-PL/dashboard.json
  70. 428
      src/i18n/locales/pl-PL/deviceConfig.json
  71. 171
      src/i18n/locales/pl-PL/dialog.json
  72. 39
      src/i18n/locales/pl-PL/messages.json
  73. 448
      src/i18n/locales/pl-PL/moduleConfig.json
  74. 63
      src/i18n/locales/pl-PL/nodes.json
  75. 228
      src/i18n/locales/pl-PL/ui.json
  76. 24
      src/i18n/locales/pt-PT/common.json
  77. 16
      src/i18n/locales/pt-PT/dialog.json
  78. 39
      src/i18n/locales/pt-PT/messages.json
  79. 14
      src/i18n/locales/pt-PT/nodes.json
  80. 27
      src/i18n/locales/pt-PT/ui.json
  81. 24
      src/i18n/locales/sv-SE/common.json
  82. 2
      src/i18n/locales/sv-SE/dashboard.json
  83. 16
      src/i18n/locales/sv-SE/dialog.json
  84. 39
      src/i18n/locales/sv-SE/messages.json
  85. 14
      src/i18n/locales/sv-SE/nodes.json
  86. 29
      src/i18n/locales/sv-SE/ui.json
  87. 24
      src/i18n/locales/tr-TR/common.json
  88. 16
      src/i18n/locales/tr-TR/dialog.json
  89. 39
      src/i18n/locales/tr-TR/messages.json
  90. 14
      src/i18n/locales/tr-TR/nodes.json
  91. 27
      src/i18n/locales/tr-TR/ui.json
  92. 58
      src/i18n/locales/uk-UA/channels.json
  93. 12
      src/i18n/locales/uk-UA/commandPalette.json
  94. 56
      src/i18n/locales/uk-UA/common.json
  95. 4
      src/i18n/locales/uk-UA/dashboard.json
  96. 54
      src/i18n/locales/uk-UA/deviceConfig.json
  97. 52
      src/i18n/locales/uk-UA/dialog.json
  98. 49
      src/i18n/locales/uk-UA/messages.json
  99. 18
      src/i18n/locales/uk-UA/moduleConfig.json
  100. 24
      src/i18n/locales/uk-UA/nodes.json

10
src/i18n/locales/bg-BG/channels.json

@ -1,7 +1,7 @@
{ {
"page": { "page": {
"sectionLabel": "Канали", "sectionLabel": "Канали",
"channelName": "Channel: {{channelName}}", "channelName": "Канал: {{channelName}}",
"broadcastLabel": "Primary", "broadcastLabel": "Primary",
"channelIndex": "Ch {{index}}" "channelIndex": "Ch {{index}}"
}, },
@ -24,7 +24,7 @@
"psk": { "psk": {
"label": "Pre-Shared Key", "label": "Pre-Shared Key",
"description": "Supported PSK lengths: 256-bit, 128-bit, 8-bit, Empty (0-bit)", "description": "Supported PSK lengths: 256-bit, 128-bit, 8-bit, Empty (0-bit)",
"generate": "Generate" "generate": "Генериране"
}, },
"name": { "name": {
"label": "Име", "label": "Име",
@ -39,11 +39,11 @@
"description": "Send messages from MQTT to the local mesh" "description": "Send messages from MQTT to the local mesh"
}, },
"positionPrecision": { "positionPrecision": {
"label": "Location", "label": "Местоположение",
"description": "The precision of the location to share with the channel. Can be disabled.", "description": "The precision of the location to share with the channel. Can be disabled.",
"options": { "options": {
"none": "Do not share location", "none": "Да не се споделя местоположението",
"precise": "Precise Location", "precise": "Точно местоположение",
"metric_km23": "Within 23 kilometers", "metric_km23": "Within 23 kilometers",
"metric_km12": "Within 12 kilometers", "metric_km12": "Within 12 kilometers",
"metric_km5_8": "Within 5.8 kilometers", "metric_km5_8": "Within 5.8 kilometers",

30
src/i18n/locales/bg-BG/commandPalette.json

@ -1,5 +1,5 @@
{ {
"emptyState": "No results found.", "emptyState": "Няма намерени резултати.",
"page": { "page": {
"title": "Command Menu" "title": "Command Menu"
}, },
@ -14,37 +14,37 @@
"command": { "command": {
"messages": "Съобщения", "messages": "Съобщения",
"map": "Карта", "map": "Карта",
"config": "Config", "config": "Конфигурация",
"channels": "Канали", "channels": "Канали",
"nodes": "Възли" "nodes": "Възли"
} }
}, },
"manage": { "manage": {
"label": "Manage", "label": "Управление",
"command": { "command": {
"switchNode": "Switch Node", "switchNode": "Switch Node",
"connectNewNode": "Connect New Node" "connectNewNode": "Свързване на нов възел"
} }
}, },
"contextual": { "contextual": {
"label": "Contextual", "label": "Contextual",
"command": { "command": {
"qrCode": "QR Code", "qrCode": "QR код",
"qrGenerator": "Generator", "qrGenerator": "Генератор",
"qrImport": "Импортиране", "qrImport": "Импортиране",
"scheduleShutdown": "Schedule Shutdown", "scheduleShutdown": "Планирано изключване",
"scheduleReboot": "Schedule Reboot", "scheduleReboot": "Планирано рестартиране",
"rebootToOtaMode": "Reboot To OTA Mode", "rebootToOtaMode": "Рестартиране в режим OTA",
"resetNodeDb": "Reset Node DB", "resetNodeDb": "Нулиране на базата данни с възли",
"factoryResetDevice": "Factory Reset Device", "factoryResetDevice": "Фабрично нулиране на устройството",
"factoryResetConfig": "Factory Reset Config" "factoryResetConfig": "Фабрично нулиране на конфигурацията"
} }
}, },
"debug": { "debug": {
"label": "Debug", "label": "Отстраняване на грешки",
"command": { "command": {
"reconfigure": "Reconfigure", "reconfigure": "Преконфигуриране",
"clearAllStoredMessages": "Clear All Stored Message" "clearAllStoredMessages": "Изчистване на всички съхранени съобщения"
} }
} }
} }

86
src/i18n/locales/bg-BG/common.json

@ -3,20 +3,20 @@
"apply": "Приложи", "apply": "Приложи",
"backupKey": "Backup Key", "backupKey": "Backup Key",
"cancel": "Отказ", "cancel": "Отказ",
"clearMessages": "Clear Messages", "clearMessages": "Изчистване на съобщенията",
"close": "Затвори", "close": "Затвори",
"confirm": "Confirm", "confirm": "Потвърждаване",
"delete": "Изтриване", "delete": "Изтриване",
"dismiss": "Dismiss", "dismiss": "Отхвърляне",
"download": "Download", "download": "Изтегляне",
"export": "Export", "export": "Експортиране",
"generate": "Generate", "generate": "Генериране",
"regenerate": "Regenerate", "regenerate": "Регенериране",
"import": "Импортиране", "import": "Импортиране",
"message": "Съобщение", "message": "Съобщение",
"now": "Now", "now": "Сега",
"ok": "Добре", "ok": "Добре",
"print": "Print", "print": "Отпечатване",
"rebootOtaNow": "Reboot to OTA Mode Now", "rebootOtaNow": "Reboot to OTA Mode Now",
"remove": "Изтрий", "remove": "Изтрий",
"requestNewKeys": "Request New Keys", "requestNewKeys": "Request New Keys",
@ -24,13 +24,14 @@
"reset": "Нулиране", "reset": "Нулиране",
"save": "Запис", "save": "Запис",
"scanQr": "Сканиране на QR кода", "scanQr": "Сканиране на QR кода",
"traceRoute": "Trace Route" "traceRoute": "Trace Route",
"submit": "Submit"
}, },
"app": { "app": {
"title": "Meshtastic", "title": "Meshtastic",
"fullTitle": "Meshtastic Web Client" "fullTitle": "Meshtastic Web клиент"
}, },
"loading": "Loading...", "loading": "Зареждане...",
"unit": { "unit": {
"cps": "CPS", "cps": "CPS",
"dbm": "dBm", "dbm": "dBm",
@ -47,47 +48,68 @@
"megahertz": "MHz", "megahertz": "MHz",
"raw": "raw", "raw": "raw",
"meter": { "meter": {
"one": "Meter", "one": "Метър",
"plural": "Meters", "plural": "Метри",
"suffix": "m" "suffix": "m"
}, },
"minute": { "minute": {
"one": "Minute", "one": "Минута",
"plural": "Minutes" "plural": "Минути"
},
"hour": {
"one": "Час",
"plural": "Часа"
}, },
"millisecond": { "millisecond": {
"one": "Millisecond", "one": "Милисекунда",
"plural": "Milliseconds", "plural": "Милисекунди",
"suffix": "ms" "suffix": "ms"
}, },
"second": { "second": {
"one": "Second", "one": "Секунда",
"plural": "Seconds" "plural": "Секунди"
},
"day": {
"one": "Ден",
"plural": "Дни"
},
"month": {
"one": "Месец",
"plural": "Месеца"
},
"year": {
"one": "Година",
"plural": "Години"
}, },
"snr": "SNR", "snr": "SNR",
"volt": { "volt": {
"one": "Volt", "one": "Волт",
"plural": "Volts", "plural": "Волта",
"suffix": "V" "suffix": "V"
}, },
"record": { "record": {
"one": "Records", "one": "Записи",
"plural": "Records" "plural": "Записи"
} }
}, },
"security": { "security": {
"0bit": "Empty",
"8bit": "8 bit",
"128bit": "128 bit",
"256bit": "256 bit" "256bit": "256 bit"
}, },
"unknown": { "unknown": {
"longName": "Unknown", "longName": "Неизвестно",
"shortName": "UNK", "shortName": "НЕИЗВ.",
"notAvailable": "N/A", "notAvailable": "N/A",
"num": "??" "num": "??"
}, },
"nodeUnknownPrefix": "!", "nodeUnknownPrefix": "!",
"unset": "UNSET", "unset": "НЕЗАДАДЕН",
"fallbackName": "Meshtastic {{last4}}", "fallbackName": "Meshtastic {{last4}}",
"node": "Възел",
"formValidation": { "formValidation": {
"unsavedChanges": "Unsaved changes",
"tooBig": { "tooBig": {
"string": "Too long, expected less than or equal to {{maximum}} characters.", "string": "Too long, expected less than or equal to {{maximum}} characters.",
"number": "Too big, expected a number smaller than or equal to {{maximum}}.", "number": "Too big, expected a number smaller than or equal to {{maximum}}.",
@ -98,22 +120,22 @@
"number": "Too small, expected a number larger than or equal to {{minimum}}." "number": "Too small, expected a number larger than or equal to {{minimum}}."
}, },
"invalidFormat": { "invalidFormat": {
"ipv4": "Invalid format, expected an IPv4 address.", "ipv4": "Невалиден формат, очаква се IPv4 адрес.",
"key": "Invalid format, expected a Base64 encoded pre-shared key (PSK)." "key": "Invalid format, expected a Base64 encoded pre-shared key (PSK)."
}, },
"invalidType": { "invalidType": {
"number": "Invalid type, expected a number." "number": "Невалиден тип, очаква се число."
}, },
"pskLength": { "pskLength": {
"0bit": "Key is required to be empty.", "0bit": "Ключът трябва да е празен.",
"8bit": "Key is required to be an 8 bit pre-shared key (PSK).", "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).", "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)." "256bit": "Key is required to be a 256 bit pre-shared key (PSK)."
}, },
"required": { "required": {
"generic": "This field is required.", "generic": "Това поле е задължително.",
"managed": "At least one admin key is requred if the node is managed.", "managed": "At least one admin key is requred if the node is managed.",
"key": "Key is required." "key": "Ключът е задължителен."
} }
} }
} }

12
src/i18n/locales/bg-BG/dashboard.json

@ -1,12 +1,12 @@
{ {
"dashboard": { "dashboard": {
"title": "Connected Devices", "title": "Свързани устройства",
"description": "Manage your connected Meshtastic devices.", "description": "Управлявайте свързаните си устройства Meshtastic.",
"connectionType_ble": "BLE", "connectionType_ble": "BLE",
"connectionType_serial": "Serial", "connectionType_serial": "Серийна",
"connectionType_network": "Мрежа", "connectionType_network": "Мрежа",
"noDevicesTitle": "No devices connected", "noDevicesTitle": "Няма свързани устройства",
"noDevicesDescription": "Connect a new device to get started.", "noDevicesDescription": "Свържете ново устройство, за да започнете.",
"button_newConnection": "New Connection" "button_newConnection": "Нова връзка"
} }
} }

118
src/i18n/locales/bg-BG/deviceConfig.json

@ -1,6 +1,6 @@
{ {
"page": { "page": {
"title": "Configuration", "title": "Конфигурация",
"tabBluetooth": "Bluetooth", "tabBluetooth": "Bluetooth",
"tabDevice": "Устройство", "tabDevice": "Устройство",
"tabDisplay": "Дисплей", "tabDisplay": "Дисплей",
@ -11,11 +11,11 @@
"tabSecurity": "Сигурност" "tabSecurity": "Сигурност"
}, },
"sidebar": { "sidebar": {
"label": "Modules" "label": "Модули"
}, },
"device": { "device": {
"title": "Device Settings", "title": "Настройки на устройството",
"description": "Settings for the device", "description": "Настройки за устройството",
"buttonPin": { "buttonPin": {
"description": "Button pin override", "description": "Button pin override",
"label": "Button Pin" "label": "Button Pin"
@ -54,31 +54,31 @@
} }
}, },
"bluetooth": { "bluetooth": {
"title": "Bluetooth Settings", "title": "Настройки за Bluetooth",
"description": "Settings for the Bluetooth module", "description": "Настройки за Bluetooth модула",
"note": "Note: Some devices (ESP32) cannot use both Bluetooth and WiFi at the same time.", "note": "Забележка: Някои устройства (ESP32) не могат да използват едновременно Bluetooth и WiFi.",
"enabled": { "enabled": {
"description": "Enable or disable Bluetooth", "description": "Активиране или дезактивиране на Bluetooth",
"label": "Enabled" "label": "Активиран"
}, },
"pairingMode": { "pairingMode": {
"description": "Pin selection behaviour.", "description": "Поведение при избор на ПИН.",
"label": "Режим на сдвояване" "label": "Режим на сдвояване"
}, },
"pin": { "pin": {
"description": "Pin to use when pairing", "description": "Pin to use when pairing",
"label": "Pin" "label": "ПИН"
} }
}, },
"display": { "display": {
"description": "Settings for the device display", "description": "Настройки за дисплея на устройството",
"title": "Display Settings", "title": "Настройки на дисплея",
"headingBold": { "headingBold": {
"description": "Bolden the heading text", "description": "Bolden the heading text",
"label": "Bold Heading" "label": "Bold Heading"
}, },
"carouselDelay": { "carouselDelay": {
"description": "How fast to cycle through windows", "description": "Колко бързо да се превключва между прозорците",
"label": "Carousel Delay" "label": "Carousel Delay"
}, },
"compassNorthTop": { "compassNorthTop": {
@ -90,7 +90,7 @@
"label": "Display Mode" "label": "Display Mode"
}, },
"displayUnits": { "displayUnits": {
"description": "Display metric or imperial units", "description": "Показване на метрични или имперски мерни единици",
"label": "Display Units" "label": "Display Units"
}, },
"flipScreen": { "flipScreen": {
@ -110,8 +110,8 @@
"label": "Screen Timeout" "label": "Screen Timeout"
}, },
"twelveHourClock": { "twelveHourClock": {
"description": "Use 12-hour clock format", "description": "Използване на 12-часов формат на часовника",
"label": "12-Hour Clock" "label": "12-часов часовник"
}, },
"wakeOnTapOrMotion": { "wakeOnTapOrMotion": {
"description": "Wake the device on tap or motion", "description": "Wake the device on tap or motion",
@ -119,10 +119,10 @@
} }
}, },
"lora": { "lora": {
"title": "Mesh Settings", "title": "Настройки на Mesh",
"description": "Settings for the LoRa mesh", "description": "Settings for the LoRa mesh",
"bandwidth": { "bandwidth": {
"description": "Channel bandwidth in MHz", "description": "Широчина на канала в MHz",
"label": "Широчина на честотната лента" "label": "Широчина на честотната лента"
}, },
"boostedRxGain": { "boostedRxGain": {
@ -135,11 +135,11 @@
}, },
"frequencyOffset": { "frequencyOffset": {
"description": "Frequency offset to correct for crystal calibration errors", "description": "Frequency offset to correct for crystal calibration errors",
"label": "Frequency Offset" "label": "Отместване на честотата"
}, },
"frequencySlot": { "frequencySlot": {
"description": "LoRa frequency channel number", "description": "LoRa frequency channel number",
"label": "Frequency Slot" "label": "Честотен слот"
}, },
"hopLimit": { "hopLimit": {
"description": "Maximum number of hops", "description": "Maximum number of hops",
@ -150,8 +150,8 @@
"label": "Ignore MQTT" "label": "Ignore MQTT"
}, },
"modemPreset": { "modemPreset": {
"description": "Modem preset to use", "description": "Използване на предварително настроен модем",
"label": "Modem Preset" "label": "Предварително настроен модем"
}, },
"okToMqtt": { "okToMqtt": {
"description": "When set to true, this configuration indicates that the user approves the packet to be uploaded to MQTT. If set to false, remote nodes are requested not to forward packets to MQTT", "description": "When set to true, this configuration indicates that the user approves the packet to be uploaded to MQTT. If set to false, remote nodes are requested not to forward packets to MQTT",
@ -174,60 +174,60 @@
"label": "Spreading Factor" "label": "Spreading Factor"
}, },
"transmitEnabled": { "transmitEnabled": {
"description": "Enable/Disable transmit (TX) from the LoRa radio", "description": "Активиране/дезактивиране на предаването (TX) от LoRa радиото",
"label": "Transmit Enabled" "label": "Предаването е активирано"
}, },
"transmitPower": { "transmitPower": {
"description": "Max transmit power", "description": "Максимална мощност на предаване",
"label": "Transmit Power" "label": "Мощност на предаване"
}, },
"usePreset": { "usePreset": {
"description": "Use one of the predefined modem presets", "description": "Use one of the predefined modem presets",
"label": "Use Preset" "label": "Използване на предварително зададени настройки"
}, },
"meshSettings": { "meshSettings": {
"description": "Settings for the LoRa mesh", "description": "Settings for the LoRa mesh",
"label": "Mesh Settings" "label": "Настройки на Mesh"
}, },
"waveformSettings": { "waveformSettings": {
"description": "Settings for the LoRa waveform", "description": "Settings for the LoRa waveform",
"label": "Waveform Settings" "label": "Waveform Settings"
}, },
"radioSettings": { "radioSettings": {
"label": "Radio Settings", "label": "Настройки на радиото",
"description": "Settings for the LoRa radio" "description": "Настройки за LoRa радиото"
} }
}, },
"network": { "network": {
"title": "WiFi Config", "title": "Конфигурация на WiFi",
"description": "WiFi radio configuration", "description": "Конфигурация на WiFi радиото",
"note": "Note: Some devices (ESP32) cannot use both Bluetooth and WiFi at the same time.", "note": "Забележка: Някои устройства (ESP32) не могат да използват едновременно Bluetooth и WiFi.",
"addressMode": { "addressMode": {
"description": "Address assignment selection", "description": "Address assignment selection",
"label": "Address Mode" "label": "Address Mode"
}, },
"dns": { "dns": {
"description": "DNS Server", "description": "DNS сървър",
"label": "DNS" "label": "DNS"
}, },
"ethernetEnabled": { "ethernetEnabled": {
"description": "Enable or disable the Ethernet port", "description": "Активиране или дезактивиране на Ethernet порта",
"label": "Enabled" "label": "Активиран"
}, },
"gateway": { "gateway": {
"description": "Default Gateway", "description": "Шлюз по подразбиране",
"label": "Шлюз" "label": "Шлюз"
}, },
"ip": { "ip": {
"description": "IP Address", "description": "IP адрес",
"label": "IP" "label": "IP"
}, },
"psk": { "psk": {
"description": "Network password", "description": "Парола за мрежата",
"label": "PSK" "label": "PSK"
}, },
"ssid": { "ssid": {
"description": "Network name", "description": "Име на мрежата",
"label": "SSID" "label": "SSID"
}, },
"subnet": { "subnet": {
@ -235,29 +235,29 @@
"label": "Subnet" "label": "Subnet"
}, },
"wifiEnabled": { "wifiEnabled": {
"description": "Enable or disable the WiFi radio", "description": "Активиране или дезактивиране на WiFi радиото",
"label": "Enabled" "label": "Активиран"
}, },
"meshViaUdp": { "meshViaUdp": {
"label": "Mesh via UDP" "label": "Mesh via UDP"
}, },
"ntpServer": { "ntpServer": {
"label": "NTP Server" "label": "NTP сървър"
}, },
"rsyslogServer": { "rsyslogServer": {
"label": "Rsyslog Server" "label": "Rsyslog Server"
}, },
"ethernetConfigSettings": { "ethernetConfigSettings": {
"description": "Ethernet port configuration", "description": "Ethernet port configuration",
"label": "Ethernet Config" "label": "Конфигурация на Ethernet "
}, },
"ipConfigSettings": { "ipConfigSettings": {
"description": "IP configuration", "description": "Конфигуриране на IP",
"label": "IP Config" "label": "Конфигурация на IP"
}, },
"ntpConfigSettings": { "ntpConfigSettings": {
"description": "NTP configuration", "description": "Конфигуриране на NTP",
"label": "NTP Config" "label": "Конфигурация на NTP"
}, },
"rsyslogConfigSettings": { "rsyslogConfigSettings": {
"description": "Rsyslog configuration", "description": "Rsyslog configuration",
@ -269,8 +269,8 @@
} }
}, },
"position": { "position": {
"title": "Position Settings", "title": "Настройки на позицията",
"description": "Settings for the position module", "description": "Настройки за модула за позиция",
"broadcastInterval": { "broadcastInterval": {
"description": "How often your position is sent out over the mesh", "description": "How often your position is sent out over the mesh",
"label": "Broadcast Interval" "label": "Broadcast Interval"
@ -281,15 +281,15 @@
}, },
"fixedPosition": { "fixedPosition": {
"description": "Don't report GPS position, but a manually-specified one", "description": "Don't report GPS position, but a manually-specified one",
"label": "Fixed Position" "label": "Фиксирана позиция"
}, },
"gpsMode": { "gpsMode": {
"description": "Configure whether device GPS is Enabled, Disabled, or Not Present", "description": "Configure whether device GPS is Enabled, Disabled, or Not Present",
"label": "GPS Mode" "label": "Режим на GPS"
}, },
"gpsUpdateInterval": { "gpsUpdateInterval": {
"description": "How often a GPS fix should be acquired", "description": "How often a GPS fix should be acquired",
"label": "GPS Update Interval" "label": "Интервал на актуализиране на GPS"
}, },
"positionFlags": { "positionFlags": {
"description": "Optional fields to include when assembling position messages. The more fields are selected, the larger the message will be leading to longer airtime usage and a higher risk of packet loss.", "description": "Optional fields to include when assembling position messages. The more fields are selected, the larger the message will be leading to longer airtime usage and a higher risk of packet loss.",
@ -317,11 +317,11 @@
}, },
"intervalsSettings": { "intervalsSettings": {
"description": "How often to send position updates", "description": "How often to send position updates",
"label": "Intervals" "label": "Интервали"
}, },
"flags": { "flags": {
"placeholder": "Select position flags...", "placeholder": "Select position flags...",
"altitude": "Altitude", "altitude": "Надморска височина",
"altitudeGeoidalSeparation": "Altitude Geoidal Separation", "altitudeGeoidalSeparation": "Altitude Geoidal Separation",
"altitudeMsl": "Altitude is Mean Sea Level", "altitudeMsl": "Altitude is Mean Sea Level",
"dop": "Dilution of precision (DOP) PDOP used by default", "dop": "Dilution of precision (DOP) PDOP used by default",
@ -331,7 +331,7 @@
"timestamp": "Времево клеймо", "timestamp": "Времево клеймо",
"unset": "Отказ", "unset": "Отказ",
"vehicleHeading": "Vehicle heading", "vehicleHeading": "Vehicle heading",
"vehicleSpeed": "Vehicle speed" "vehicleSpeed": "Скорост на превозното средство"
} }
}, },
"power": { "power": {
@ -378,7 +378,7 @@
}, },
"security": { "security": {
"description": "Settings for the Security configuration", "description": "Settings for the Security configuration",
"title": "Security Settings", "title": "Насртойки на сигурността",
"button_backupKey": "Backup Key", "button_backupKey": "Backup Key",
"adminChannelEnabled": { "adminChannelEnabled": {
"description": "Allow incoming device control over the insecure legacy admin channel", "description": "Allow incoming device control over the insecure legacy admin channel",
@ -417,7 +417,7 @@
"label": "Tertiary Admin Key" "label": "Tertiary Admin Key"
}, },
"adminSettings": { "adminSettings": {
"description": "Settings for Admin", "description": "Настройки за Admin",
"label": "Admin Settings" "label": "Admin Settings"
}, },
"loggingSettings": { "loggingSettings": {

134
src/i18n/locales/bg-BG/dialog.json

@ -1,69 +1,70 @@
{ {
"deleteMessages": { "deleteMessages": {
"description": "This action will clear all message history. This cannot be undone. Are you sure you want to continue?", "description": "Това действие ще изчисти цялата история на съобщенията. Това не може да бъде отменено. Сигурни ли сте, че искате да продължите?",
"title": "Clear All Messages" "title": "Изчистване на всички съобщения"
}, },
"deviceName": { "deviceName": {
"description": "The Device will restart once the config is saved.", "description": "Устройството ще се рестартира, след като конфигурацията бъде запазена.",
"longName": "Long Name", "longName": "Дълго име",
"shortName": "Short Name", "shortName": "Кратко име",
"title": "Change Device Name" "title": "Промяна на името на устройството"
}, },
"import": { "import": {
"description": "The current LoRa configuration will be overridden.", "description": "The current LoRa configuration will be overridden.",
"error": { "error": {
"invalidUrl": "Invalid Meshtastic URL" "invalidUrl": "Невалиден Meshtastic URL"
}, },
"channelPrefix": "Channel: ", "channelPrefix": "Канал: ",
"channelSetUrl": "Channel Set/QR Code URL", "channelSetUrl": "Channel Set/QR Code URL",
"channels": "Channels:", "channels": "Канали:",
"usePreset": "Use Preset?", "usePreset": "Use Preset?",
"title": "Import Channel Set" "title": "Import Channel Set"
}, },
"locationResponse": { "locationResponse": {
"altitude": "Altitude: ", "altitude": "Надморска височина: ",
"coordinates": "Coordinates: ", "coordinates": "Координати:",
"title": "Location: {{identifier}}" "title": "Местоположение: {{identifier}}"
}, },
"pkiRegenerateDialog": { "pkiRegenerateDialog": {
"title": "Regenerate Pre-Shared Key?", "title": "Regenerate Pre-Shared Key?",
"description": "Are you sure you want to regenerate the pre-shared key?", "description": "Are you sure you want to regenerate the pre-shared key?",
"regenerate": "Regenerate" "regenerate": "Регенериране"
}, },
"newDeviceDialog": { "newDeviceDialog": {
"title": "Connect New Device", "title": "Свързване на ново устройство",
"https": "https", "https": "https",
"http": "http", "http": "http",
"tabHttp": "HTTP", "tabHttp": "HTTP",
"tabBluetooth": "Bluetooth", "tabBluetooth": "Bluetooth",
"tabSerial": "Serial", "tabSerial": "Serial",
"useHttps": "Use HTTPS", "useHttps": "Използване на HTTPS",
"connecting": "Connecting...", "connecting": "Свързване...",
"connect": "Свързване", "connect": "Свързване",
"connectionFailedAlert": { "connectionFailedAlert": {
"title": "Connection Failed", "title": "Връзката е неуспешна",
"descriptionPrefix": "Could not connect to the device. ", "descriptionPrefix": "Не може да се свърже с устройството.",
"httpsHint": "If using HTTPS, you may need to accept a self-signed certificate first. ", "httpsHint": "Ако използвате HTTPS, може да се наложи първо да приемете самоподписан сертификат. ",
"openLinkPrefix": "Please open ", "openLinkPrefix": "Моля, отворете",
"openLinkSuffix": " in a new tab", "openLinkSuffix": "в нов раздел",
"acceptTlsWarningSuffix": ", accept any TLS warnings if prompted, then try again", "acceptTlsWarningSuffix": "",
"learnMoreLink": "Learn more" "learnMoreLink": "Научете повече"
}, },
"httpConnection": { "httpConnection": {
"label": "IP Address/Hostname", "label": "IP адрес/Име на хост",
"placeholder": "000.000.000.000 / meshtastic.local" "placeholder": "000.000.000.000 / meshtastic.local"
}, },
"serialConnection": { "serialConnection": {
"noDevicesPaired": "No devices paired yet.", "noDevicesPaired": "Все още няма сдвоени устройства.",
"newDeviceButton": "New device", "newDeviceButton": "Ново устройство",
"deviceIdentifier": "# {{index}} - {{vendorId}} - {{productId}}" "deviceIdentifier": "# {{index}} - {{vendorId}} - {{productId}}"
}, },
"bluetoothConnection": { "bluetoothConnection": {
"noDevicesPaired": "No devices paired yet.", "noDevicesPaired": "Все още няма сдвоени устройства.",
"newDeviceButton": "New device" "newDeviceButton": "Ново устройство"
}, },
"validation": { "validation": {
"requiresFeatures": "This connection type requires <0></0>. Please use a supported browser, like Chrome or Edge.", "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth</0>. Please use a supported browser, like Chrome or Edge.",
"requiresWebSerial": "This connection type requires <0>Web Serial</0>. Please use a supported browser, like Chrome or Edge.",
"requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.", "requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.",
"additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost." "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost."
} }
@ -74,17 +75,17 @@
"traceRoute": "Trace Route", "traceRoute": "Trace Route",
"airTxUtilization": "Air TX utilization", "airTxUtilization": "Air TX utilization",
"allRawMetrics": "All Raw Metrics:", "allRawMetrics": "All Raw Metrics:",
"batteryLevel": "Battery level", "batteryLevel": "Ниво на батерията",
"channelUtilization": "Channel utilization", "channelUtilization": "Използване на канала",
"details": "Details:", "details": "Подробности:",
"deviceMetrics": "Device Metrics:", "deviceMetrics": "Device Metrics:",
"hardware": "Hardware: ", "hardware": "Хардуер: ",
"lastHeard": "Last Heard: ", "lastHeard": "Последно чут: ",
"nodeHexPrefix": "Node Hex: !", "nodeHexPrefix": "Node Hex: !",
"nodeNumber": "Node Number: ", "nodeNumber": "Номер на възела: ",
"position": "Position:", "position": "Позиция:",
"role": "Role: ", "role": "Роля: ",
"uptime": "Uptime: ", "uptime": "Време на работа: ",
"voltage": "Напрежение", "voltage": "Напрежение",
"title": "Node Details for {{identifier}}", "title": "Node Details for {{identifier}}",
"ignoreNode": "Ignore node", "ignoreNode": "Ignore node",
@ -92,36 +93,42 @@
"unignoreNode": "Unignore node" "unignoreNode": "Unignore node"
}, },
"pkiBackup": { "pkiBackup": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?", "loseKeysWarning": "Ако загубите ключовете си, ще трябва да нулирате устройството си.",
"loseKeysWarning": "If you lose your keys, you will need to reset your device.", "secureBackup": "Важно е да направите резервно копие на публичните и частните си ключове и да съхранявате резервното си копие сигурно!",
"secureBackup": "Its important to backup your public and private keys and store your backup securely!", "footer": "=== КРАЙ НА КЛЮЧОВЕТЕ ===",
"footer": "=== END OF KEYS ===", "header": "=== MESHTASTIC КЛЮЧОВЕ ЗА {{longName}} ({{shortName}}) ===",
"header": "=== MESHTASTIC KEYS FOR {{longName}} ({{shortName}}) ===", "privateKey": "Частен ключ:",
"privateKey": "Private Key:", "publicKey": "Публичен ключ:",
"publicKey": "Public Key:",
"fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt", "fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt",
"title": "Backup Keys" "title": "Backup Keys"
}, },
"pkiBackupReminder": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"title": "Backup Reminder",
"remindLaterPrefix": "Remind me in",
"remindNever": "Never remind me",
"backupNow": "Back up now"
},
"pkiRegenerate": { "pkiRegenerate": {
"description": "Are you sure you want to regenerate key pair?", "description": "Сигурни ли сте, че искате да регенерирате двойката ключове?",
"title": "Regenerate Key Pair" "title": "Регенериране на двойката ключове"
}, },
"qr": { "qr": {
"addChannels": "Add Channels", "addChannels": "Добавяне на канали",
"replaceChannels": "Replace Channels", "replaceChannels": "Замяна на канали",
"description": "The current LoRa configuration will also be shared.", "description": "Текущата конфигурация на LoRa също ще бъде споделена.",
"sharableUrl": "Sharable URL", "sharableUrl": "Sharable URL",
"title": "Generate QR Code" "title": "Генериране на QR код"
}, },
"rebootOta": { "rebootOta": {
"title": "Schedule Reboot", "title": "Планирано рестартиране",
"description": "Reboot the connected node after a delay into OTA (Over-the-Air) mode.", "description": "Reboot the connected node after a delay into OTA (Over-the-Air) mode.",
"enterDelay": "Enter delay (sec)", "enterDelay": "Въведете забавяне (сек)",
"scheduled": "Reboot has been scheduled" "scheduled": "Насрочено е рестартиране"
}, },
"reboot": { "reboot": {
"title": "Schedule Reboot", "title": "Планирано рестартиране",
"description": "Reboot the connected node after x minutes." "description": "Рестартиране на свързания възел след x минути."
}, },
"refreshKeys": { "refreshKeys": {
"description": { "description": {
@ -133,12 +140,12 @@
"title": "Keys Mismatch - {{identifier}}" "title": "Keys Mismatch - {{identifier}}"
}, },
"removeNode": { "removeNode": {
"description": "Are you sure you want to remove this Node?", "description": "Сигурни ли сте, че искате да премахнете този възел?",
"title": "Remove Node?" "title": "Премахване на възела?"
}, },
"shutdown": { "shutdown": {
"title": "Schedule Shutdown", "title": "Планирано изключване",
"description": "Turn off the connected node after x minutes." "description": "Изключване на свързания възел след x минути."
}, },
"traceRoute": { "traceRoute": {
"routeToDestination": "Route to destination:", "routeToDestination": "Route to destination:",
@ -148,12 +155,17 @@
"title": "Traceroute: {{identifier}}" "title": "Traceroute: {{identifier}}"
}, },
"unsafeRoles": { "unsafeRoles": {
"confirmUnderstanding": "Yes, I know what I'm doing", "confirmUnderstanding": "Да, знам какво правя",
"conjunction": " and the blog post about ", "conjunction": " and the blog post about ",
"postamble": " and understand the implications of changing the role.", "postamble": " and understand the implications of changing the role.",
"preamble": "I have read the ", "preamble": "I have read the ",
"choosingRightDeviceRole": "Choosing The Right Device Role", "choosingRightDeviceRole": "Choosing The Right Device Role",
"deviceRoleDocumentation": "Device Role Documentation", "deviceRoleDocumentation": "Device Role Documentation",
"title": "Сигурни ли сте?" "title": "Сигурни ли сте?"
},
"managedMode": {
"confirmUnderstanding": "Да, знам какво правя",
"title": "Сигурни ли сте?",
"description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can <bold>only</bold> be changed through Remote Admin messages. This setting is not required for remote node administration."
} }
} }

47
src/i18n/locales/bg-BG/messages.json

@ -1,40 +1,39 @@
{ {
"page": { "page": {
"title": "Messages: {{chatName}}" "title": "Съобщения: {{chatName}}",
"placeholder": "Enter Message"
}, },
"emptyState": { "emptyState": {
"title": "Select a Chat", "title": "Изберете чат",
"text": "No messages yet." "text": "Все още няма съобщения."
}, },
"selectChatPrompt": { "selectChatPrompt": {
"text": "Select a channel or node to start messaging." "text": "Select a channel or node to start messaging."
}, },
"sendMessage": { "sendMessage": {
"placeholder": "Type your message here...", "placeholder": "Въведете Вашето съобщение тук...",
"sendButton": "Изпрати" "sendButton": "Изпрати"
}, },
"actionsMenu": { "actionsMenu": {
"addReactionLabel": "Add Reaction", "addReactionLabel": "Добавяне на реакция",
"replyLabel": "Reply" "replyLabel": "Отговор"
}, },
"item": { "deliveryStatus": {
"status": { "delivered": {
"delivered": { "label": "Съобщението е доставено",
"label": "Message delivered", "displayText": "Съобщението е доставено"
"displayText": "Message delivered" },
}, "failed": {
"failed": { "label": "Message delivery failed",
"label": "Message delivery failed", "displayText": "Delivery failed"
"displayText": "Delivery failed" },
}, "unknown": {
"unknown": { "label": "Статусът на съобщението е неизвестен",
"label": "Message status unknown", "displayText": "Неизвестно състояние"
"displayText": "Unknown state" },
}, "waiting": {
"waiting": { "label": "Sending message",
"ariaLabel": "Sending message", "displayText": "Waiting for delivery"
"displayText": "Waiting for delivery"
}
} }
} }
} }

90
src/i18n/locales/bg-BG/moduleConfig.json

@ -1,7 +1,7 @@
{ {
"page": { "page": {
"tabAmbientLighting": "Ambient Lighting", "tabAmbientLighting": "Ambient Lighting",
"tabAudio": "Audio", "tabAudio": "Аудио",
"tabCannedMessage": "Canned", "tabCannedMessage": "Canned",
"tabDetectionSensor": "Detection Sensor", "tabDetectionSensor": "Detection Sensor",
"tabExternalNotification": "Ext Notif", "tabExternalNotification": "Ext Notif",
@ -38,10 +38,10 @@
} }
}, },
"audio": { "audio": {
"title": "Audio Settings", "title": "Настройки на аудиото",
"description": "Settings for the Audio module", "description": "Настройки за аудио модула",
"codec2Enabled": { "codec2Enabled": {
"label": "Codec 2 Enabled", "label": "Codec 2 е активиран",
"description": "Enable Codec 2 audio encoding" "description": "Enable Codec 2 audio encoding"
}, },
"pttPin": { "pttPin": {
@ -73,12 +73,12 @@
"title": "Canned Message Settings", "title": "Canned Message Settings",
"description": "Settings for the Canned Message module", "description": "Settings for the Canned Message module",
"moduleEnabled": { "moduleEnabled": {
"label": "Module Enabled", "label": "Модулът е активиран",
"description": "Enable Canned Message" "description": "Enable Canned Message"
}, },
"rotary1Enabled": { "rotary1Enabled": {
"label": "Rotary Encoder #1 Enabled", "label": "Ротационен енкодер #1 е активиран",
"description": "Enable the rotary encoder" "description": "Активиране на ротационния енкодер"
}, },
"inputbrokerPinA": { "inputbrokerPinA": {
"label": "Encoder Pin A", "label": "Encoder Pin A",
@ -110,7 +110,7 @@
}, },
"allowInputSource": { "allowInputSource": {
"label": "Allow Input Source", "label": "Allow Input Source",
"description": "Select from: '_any', 'rotEnc1', 'upDownEnc1', 'cardkb'" "description": "Изберете от: '_any', 'rotEnc1', 'upDownEnc1', 'cardkb'"
}, },
"sendBell": { "sendBell": {
"label": "Send Bell", "label": "Send Bell",
@ -121,7 +121,7 @@
"title": "Detection Sensor Settings", "title": "Detection Sensor Settings",
"description": "Settings for the Detection Sensor module", "description": "Settings for the Detection Sensor module",
"enabled": { "enabled": {
"label": "Enabled", "label": "Активиран",
"description": "Enable or disable Detection Sensor Module" "description": "Enable or disable Detection Sensor Module"
}, },
"minimumBroadcastSecs": { "minimumBroadcastSecs": {
@ -137,8 +137,8 @@
"description": "Send ASCII bell with alert message" "description": "Send ASCII bell with alert message"
}, },
"name": { "name": {
"label": "Friendly Name", "label": "Приятелско име",
"description": "Used to format the message sent to mesh, max 20 Characters" "description": "Използва се за форматиране на съобщението, изпратено до mesh, максимум 20 знака"
}, },
"monitorPin": { "monitorPin": {
"label": "Monitor Pin", "label": "Monitor Pin",
@ -157,7 +157,7 @@
"title": "External Notification Settings", "title": "External Notification Settings",
"description": "Configure the external notification module", "description": "Configure the external notification module",
"enabled": { "enabled": {
"label": "Module Enabled", "label": "Модулът е активиран",
"description": "Enable External Notification" "description": "Enable External Notification"
}, },
"outputMs": { "outputMs": {
@ -181,8 +181,8 @@
"description": "Active" "description": "Active"
}, },
"alertMessage": { "alertMessage": {
"label": "Alert Message", "label": "Предупредително съобщение",
"description": "Alert Message" "description": "Предупредително съобщение"
}, },
"alertMessageVibra": { "alertMessageVibra": {
"label": "Alert Message Vibrate", "label": "Alert Message Vibrate",
@ -218,35 +218,35 @@
} }
}, },
"mqtt": { "mqtt": {
"title": "MQTT Settings", "title": "Настройки на MQTT",
"description": "Settings for the MQTT module", "description": "Настройки за MQTT модула",
"enabled": { "enabled": {
"label": "Enabled", "label": "Активиран",
"description": "Enable or disable MQTT" "description": "Активиране или дезактивиране на MQTT"
}, },
"address": { "address": {
"label": "MQTT Server Address", "label": "Адрес на MQTT сървъра",
"description": "MQTT server address to use for default/custom servers" "description": "Адрес на MQTT сървъра, който да се използва за сървъри по подразбиране/персонализирани сървъри"
}, },
"username": { "username": {
"label": "MQTT Username", "label": "Потребителско име за MQTT",
"description": "MQTT username to use for default/custom servers" "description": "Потребителско име за MQTT, което да се използва за сървъри по подразбиране/персонализирани сървъри"
}, },
"password": { "password": {
"label": "MQTT Password", "label": "Парола за MQTT",
"description": "MQTT password to use for default/custom servers" "description": "Парола за MQTT, която да се използва за сървъри по подразбиране/персонализирани сървъри"
}, },
"encryptionEnabled": { "encryptionEnabled": {
"label": "Encryption Enabled", "label": "Криптирането е активирано",
"description": "Enable or disable MQTT encryption. Note: All messages are sent to the MQTT broker unencrypted if this option is not enabled, even when your uplink channels have encryption keys set. This includes position data." "description": "Enable or disable MQTT encryption. Note: All messages are sent to the MQTT broker unencrypted if this option is not enabled, even when your uplink channels have encryption keys set. This includes position data."
}, },
"jsonEnabled": { "jsonEnabled": {
"label": "JSON Enabled", "label": "JSON е активиран",
"description": "Whether to send/consume JSON packets on MQTT" "description": "Whether to send/consume JSON packets on MQTT"
}, },
"tlsEnabled": { "tlsEnabled": {
"label": "TLS Enabled", "label": "TLS е активиран",
"description": "Enable or disable TLS" "description": "Активиране или дезактивиране на TLS"
}, },
"root": { "root": {
"label": "Root topic", "label": "Root topic",
@ -266,7 +266,7 @@
"description": "Interval in seconds to publish map reports" "description": "Interval in seconds to publish map reports"
}, },
"positionPrecision": { "positionPrecision": {
"label": "Approximate Location", "label": "Приблизително местоположение",
"description": "Position shared will be accurate within this distance", "description": "Position shared will be accurate within this distance",
"options": { "options": {
"metric_km23": "Within 23 km", "metric_km23": "Within 23 km",
@ -297,7 +297,7 @@
"title": "Neighbor Info Settings", "title": "Neighbor Info Settings",
"description": "Settings for the Neighbor Info module", "description": "Settings for the Neighbor Info module",
"enabled": { "enabled": {
"label": "Enabled", "label": "Активиран",
"description": "Enable or disable Neighbor Info Module" "description": "Enable or disable Neighbor Info Module"
}, },
"updateInterval": { "updateInterval": {
@ -307,10 +307,10 @@
}, },
"paxcounter": { "paxcounter": {
"title": "Paxcounter Settings", "title": "Paxcounter Settings",
"description": "Settings for the Paxcounter module", "description": "Настройки за модула Paxcounter",
"enabled": { "enabled": {
"label": "Module Enabled", "label": "Модулът е активиран",
"description": "Enable Paxcounter" "description": "Активиране на Paxcounter"
}, },
"paxcounterUpdateInterval": { "paxcounterUpdateInterval": {
"label": "Update Interval (seconds)", "label": "Update Interval (seconds)",
@ -338,14 +338,14 @@
}, },
"save": { "save": {
"label": "Save CSV to storage", "label": "Save CSV to storage",
"description": "ESP32 Only" "description": "Само ESP32"
} }
}, },
"serial": { "serial": {
"title": "Serial Settings", "title": "Serial Settings",
"description": "Settings for the Serial module", "description": "Settings for the Serial module",
"enabled": { "enabled": {
"label": "Module Enabled", "label": "Модулът е активиран",
"description": "Enable Serial output" "description": "Enable Serial output"
}, },
"echo": { "echo": {
@ -369,8 +369,8 @@
"description": "Seconds to wait before we consider your packet as 'done'" "description": "Seconds to wait before we consider your packet as 'done'"
}, },
"mode": { "mode": {
"label": "Mode", "label": "Режим",
"description": "Select Mode" "description": "Избор на режим"
}, },
"overrideConsoleSerialPort": { "overrideConsoleSerialPort": {
"label": "Override Console Serial Port", "label": "Override Console Serial Port",
@ -381,7 +381,7 @@
"title": "Store & Forward Settings", "title": "Store & Forward Settings",
"description": "Settings for the Store & Forward module", "description": "Settings for the Store & Forward module",
"enabled": { "enabled": {
"label": "Module Enabled", "label": "Модулът е активиран",
"description": "Enable Store & Forward" "description": "Enable Store & Forward"
}, },
"heartbeat": { "heartbeat": {
@ -402,8 +402,8 @@
} }
}, },
"telemetry": { "telemetry": {
"title": "Telemetry Settings", "title": "Настройки на телеметрията",
"description": "Settings for the Telemetry module", "description": "Настройки за модула за телеметрия",
"deviceUpdateInterval": { "deviceUpdateInterval": {
"label": "Device Metrics", "label": "Device Metrics",
"description": "Device metrics update interval (seconds)" "description": "Device metrics update interval (seconds)"
@ -413,7 +413,7 @@
"description": "" "description": ""
}, },
"environmentMeasurementEnabled": { "environmentMeasurementEnabled": {
"label": "Module Enabled", "label": "Модулът е активиран",
"description": "Enable the Environment Telemetry" "description": "Enable the Environment Telemetry"
}, },
"environmentScreenEnabled": { "environmentScreenEnabled": {
@ -421,12 +421,12 @@
"description": "Show the Telemetry Module on the OLED" "description": "Show the Telemetry Module on the OLED"
}, },
"environmentDisplayFahrenheit": { "environmentDisplayFahrenheit": {
"label": "Display Fahrenheit", "label": "Показване на Фаренхайт",
"description": "Display temp in Fahrenheit" "description": "Показване на температурата във Фаренхайт"
}, },
"airQualityEnabled": { "airQualityEnabled": {
"label": "Air Quality Enabled", "label": "Качество на въздуха е активирано",
"description": "Enable the Air Quality Telemetry" "description": "Активиране на телеметрията за качеството на въздуха"
}, },
"airQualityInterval": { "airQualityInterval": {
"label": "Air Quality Update Interval", "label": "Air Quality Update Interval",

36
src/i18n/locales/bg-BG/nodes.json

@ -1,19 +1,24 @@
{ {
"nodeDetail": { "nodeDetail": {
"publicKeyEnabled": { "publicKeyEnabled": {
"label": "Public Key Enabled" "label": "Публичният ключ е активиран"
}, },
"noPublicKey": { "noPublicKey": {
"label": "No Public Key" "label": "Няма публичен ключ"
}, },
"directMessage": { "directMessage": {
"label": "Direct Message {{shortName}}" "label": "Директно съобщение {{shortName}}"
}, },
"favorite": { "favorite": {
"label": "Favorite" "label": "Любим",
"tooltip": "Добавяне или премахване на този възел от любимите ви"
}, },
"notFavorite": { "notFavorite": {
"label": "Not a Favorite" "label": "Не е любим"
},
"error": {
"label": "Грешка",
"text": "Възникна грешка при извличането на подробности за възела. Моля, опитайте отново по-късно."
}, },
"status": { "status": {
"heard": "Heard", "heard": "Heard",
@ -31,21 +36,28 @@
}, },
"nodesTable": { "nodesTable": {
"headings": { "headings": {
"longName": "Long Name", "longName": "Дълго име",
"connection": "Connection", "connection": "Connection",
"lastHeard": "Last Heard", "lastHeard": "Последно чут",
"encryption": "Encryption", "encryption": "Криптиране",
"model": "Model", "model": "Модел",
"macAddress": "MAC Address" "macAddress": "MAC адрес"
}, },
"connectionStatus": { "connectionStatus": {
"direct": "Direct", "direct": "Direct",
"away": "away", "away": "away",
"unknown": "-", "unknown": "-",
"viaMqtt": ", via MQTT" "viaMqtt": ", чрез MQTT"
}, },
"lastHeardStatus": { "lastHeardStatus": {
"never": "Never" "never": "Никога"
} }
},
"actions": {
"added": "Добавен",
"removed": "Премахнат",
"ignoreNode": "Ignore Node",
"unignoreNode": "Unignore Node",
"requestPosition": "Request Position"
} }
} }

133
src/i18n/locales/bg-BG/ui.json

@ -1,49 +1,49 @@
{ {
"navigation": { "navigation": {
"title": "Navigation", "title": "Навигация",
"messages": "Съобщения", "messages": "Съобщения",
"map": "Карта", "map": "Карта",
"config": "Config", "config": "Конфигурация",
"radioConfig": "Radio Config", "radioConfig": "Конфигурация на радиото",
"moduleConfig": "Module Config", "moduleConfig": "Конфигурация на модула",
"channels": "Канали", "channels": "Канали",
"nodes": "Възли" "nodes": "Възли"
}, },
"app": { "app": {
"title": "Meshtastic", "title": "Meshtastic",
"logo": "Meshtastic Logo" "logo": "Лого на Meshtastic"
}, },
"sidebar": { "sidebar": {
"collapseToggle": { "collapseToggle": {
"button": { "button": {
"open": "Open sidebar", "open": "Отваряне на страничната лента",
"close": "Close sidebar" "close": "Затваряне на страничната лента"
} }
}, },
"deviceInfo": { "deviceInfo": {
"volts": "{{voltage}} volts", "volts": "{{voltage}} волта",
"firmware": { "firmware": {
"title": "Фърмуер", "title": "Фърмуер",
"version": "v{{version}}", "version": "v{{version}}",
"buildDate": "Build date: {{date}}" "buildDate": "Дата на компилация: {{date}}"
}, },
"deviceName": { "deviceName": {
"title": "Device Name", "title": "Име на устройството",
"changeName": "Change Device Name", "changeName": "Промяна на името на устройството",
"placeholder": "Enter device name" "placeholder": "Въвеждане на име на устройството"
}, },
"editDeviceName": "Edit device name" "editDeviceName": "Редактиране на името на устройство"
} }
}, },
"batteryStatus": { "batteryStatus": {
"charging": "{{level}}% charging", "charging": "{{level}}% зареждане",
"pluggedIn": "Plugged in", "pluggedIn": "Включен в ел. мрежа",
"title": "Батерия" "title": "Батерия"
}, },
"search": { "search": {
"nodes": "Search nodes...", "nodes": "Търсене на възли...",
"channels": "Search channels...", "channels": "Търсене на канали...",
"commandPalette": "Search commands..." "commandPalette": "Търсене на команди..."
}, },
"toast": { "toast": {
"positionRequestSent": { "positionRequestSent": {
@ -59,35 +59,53 @@
"title": "Traceroute sent." "title": "Traceroute sent."
}, },
"savedChannel": { "savedChannel": {
"title": "Saved Channel: {{channelName}}" "title": "Запазен канал: {{channelName}}"
}, },
"messages": { "messages": {
"pkiEncryption": { "pkiEncryption": {
"title": "Chat is using PKI encryption." "title": "Чатът използва PKI криптиране."
}, },
"pskEncryption": { "pskEncryption": {
"title": "Chat is using PSK encryption." "title": "Чатът използва PSK криптиране."
} }
}, },
"configSaveError": { "configSaveError": {
"title": "Error Saving Config", "title": "Грешка при запазване на конфигурацията",
"description": "An error occurred while saving the configuration." "description": "Възникна грешка при запазване на конфигурацията."
}, },
"validationError": { "validationError": {
"title": "Config Errors Exist", "title": "Съществуват грешки в конфигурацията",
"description": "Please fix the configuration errors before saving." "description": "Моля, коригирайте грешките в конфигурацията, преди да я запазите."
}, },
"saveSuccess": { "saveSuccess": {
"title": "Saving Config", "title": "Запазване на конфигурацията",
"description": "The configuration change {{case}} has been saved." "description": "Промяната в конфигурацията {{case}} е запазена."
},
"favoriteNode": {
"title": "{{action}} {{nodeName}} {{direction}} favorites.",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
},
"ignoreNode": {
"title": "{{action}} {{nodeName}} {{direction}} ignore list",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
} }
}, },
"notifications": { "notifications": {
"copied": { "copied": {
"label": "Copied!" "label": "Копирано!"
}, },
"copyToClipboard": { "copyToClipboard": {
"label": "Copy to clipboard" "label": "Копиране в клипборда"
}, },
"hidePassword": { "hidePassword": {
"label": "Скриване на паролата" "label": "Скриване на паролата"
@ -98,7 +116,7 @@
"deliveryStatus": { "deliveryStatus": {
"delivered": "Delivered", "delivered": "Delivered",
"failed": "Delivery Failed", "failed": "Delivery Failed",
"waiting": "Waiting", "waiting": "Изчакване",
"unknown": "Unknown" "unknown": "Unknown"
} }
}, },
@ -117,29 +135,32 @@
"filter": { "filter": {
"label": "Филтър" "label": "Филтър"
}, },
"advanced": {
"label": "Advanced"
},
"clearInput": { "clearInput": {
"label": "Clear input" "label": "Clear input"
}, },
"resetFilters": { "resetFilters": {
"label": "Reset Filters" "label": "Нулиране на филтрите"
}, },
"nodeName": { "nodeName": {
"label": "Node name/number", "label": "Име/номер на възел",
"placeholder": "Meshtastic 1234" "placeholder": "Meshtastic 1234"
}, },
"airtimeUtilization": { "airtimeUtilization": {
"label": "Airtime Utilization (%)" "label": "Airtime Utilization (%)"
}, },
"batteryLevel": { "batteryLevel": {
"label": "Battery level (%)", "label": "Ниво на батерията (%)",
"labelText": "Battery level (%): {{value}}" "labelText": "Ниво на батерията (%): {{value}}"
}, },
"batteryVoltage": { "batteryVoltage": {
"label": "Battery voltage (V)", "label": "Напрежение на батерията (V)",
"title": "Напрежение" "title": "Напрежение"
}, },
"channelUtilization": { "channelUtilization": {
"label": "Channel Utilization (%)" "label": "Използване на канала (%)"
}, },
"hops": { "hops": {
"direct": "Direct", "direct": "Direct",
@ -149,13 +170,13 @@
"lastHeard": { "lastHeard": {
"label": "Последно чут", "label": "Последно чут",
"labelText": "Last heard: {{value}}", "labelText": "Last heard: {{value}}",
"nowLabel": "Now" "nowLabel": "Сега"
}, },
"snr": { "snr": {
"label": "SNR (db)" "label": "SNR (db)"
}, },
"favorites": { "favorites": {
"label": "Favorites" "label": "Любими"
}, },
"hide": { "hide": {
"label": "Hide" "label": "Hide"
@ -164,38 +185,44 @@
"label": "Show Only" "label": "Show Only"
}, },
"viaMqtt": { "viaMqtt": {
"label": "Connected via MQTT" "label": "Свързан чрез MQTT"
},
"hopsUnknown": {
"label": "Unknown number of hops"
},
"showUnheard": {
"label": "Never heard"
}, },
"language": { "language": {
"label": "Език", "label": "Език",
"changeLanguage": "Change Language" "changeLanguage": "Промяна на езика"
}, },
"theme": { "theme": {
"dark": "Тъмна", "dark": "Тъмна",
"light": "Светла", "light": "Светла",
"system": "Automatic", "system": "Автоматично",
"changeTheme": "Change Color Scheme" "changeTheme": "Промяна на цветовата схема"
}, },
"errorPage": { "errorPage": {
"title": "This is a little embarrassing...", "title": "This is a little embarrassing...",
"description1": "We are really sorry but an error occurred in the web client that caused it to crash. <br /> This is not supposed to happen, and we are working hard to fix it.", "description1": "We are really sorry but an error occurred in the web client that caused it to crash. <br /> This is not supposed to happen, and we are working hard to fix it.",
"description2": "The best way to prevent this from happening again to you or anyone else is to report the issue to us.", "description2": "The best way to prevent this from happening again to you or anyone else is to report the issue to us.",
"reportInstructions": "Please include the following information in your report:", "reportInstructions": "Моля, включете следната информация в доклада си:",
"reportSteps": { "reportSteps": {
"step1": "What you were doing when the error occurred", "step1": "Какво правехте, когато възникна грешката",
"step2": "What you expected to happen", "step2": "Какво очаквахте да се случи",
"step3": "What actually happened", "step3": "Какво всъщност се случи",
"step4": "Any other relevant information" "step4": "Всяка друга подходяща информация"
}, },
"reportLink": "You can report the issue to our <0>GitHub</0>", "reportLink": "Можете да съобщите за проблема в нашия <0>GitHub</0>",
"dashboardLink": "Return to the <0>dashboard</0>", "dashboardLink": "Връщане към <0>таблото</0>",
"detailsSummary": "Error Details", "detailsSummary": "Подробности за грешката",
"errorMessageLabel": "Error message:", "errorMessageLabel": "Съобщение за грешка:",
"stackTraceLabel": "Stack trace:", "stackTraceLabel": "Stack trace:",
"fallbackError": "{{error}}" "fallbackError": "{{error}}"
}, },
"footer": { "footer": {
"text": "Powered by <0>▲ Vercel</0> | Meshtastic® is a registered trademark of Meshtastic LLC. | <1>Legal Information</1>", "text": "Задвижвано от <0>▲ Vercel</0> | Meshtastic® е регистрирана търговска марка на Meshtastic LLC. | <1>Правна информация</1>",
"commitSha": "Commit SHA: {{sha}}" "commitSha": "Commit SHA: {{sha}}"
} }
} }

24
src/i18n/locales/cs-CZ/common.json

@ -24,7 +24,8 @@
"reset": "Reset", "reset": "Reset",
"save": "Uložit", "save": "Uložit",
"scanQr": "Naskenovat QR kód", "scanQr": "Naskenovat QR kód",
"traceRoute": "Trace Route" "traceRoute": "Trace Route",
"submit": "Submit"
}, },
"app": { "app": {
"title": "Meshtastic", "title": "Meshtastic",
@ -55,6 +56,10 @@
"one": "Minute", "one": "Minute",
"plural": "Minutes" "plural": "Minutes"
}, },
"hour": {
"one": "Hour",
"plural": "Hours"
},
"millisecond": { "millisecond": {
"one": "Millisecond", "one": "Millisecond",
"plural": "Milliseconds", "plural": "Milliseconds",
@ -64,6 +69,18 @@
"one": "Second", "one": "Second",
"plural": "Seconds" "plural": "Seconds"
}, },
"day": {
"one": "Day",
"plural": "Days"
},
"month": {
"one": "Month",
"plural": "Months"
},
"year": {
"one": "Year",
"plural": "Years"
},
"snr": "SNR", "snr": "SNR",
"volt": { "volt": {
"one": "Volt", "one": "Volt",
@ -76,6 +93,9 @@
} }
}, },
"security": { "security": {
"0bit": "Empty",
"8bit": "8 bit",
"128bit": "128 bit",
"256bit": "256 bit" "256bit": "256 bit"
}, },
"unknown": { "unknown": {
@ -87,7 +107,9 @@
"nodeUnknownPrefix": "!", "nodeUnknownPrefix": "!",
"unset": "UNSET", "unset": "UNSET",
"fallbackName": "Meshtastic {{last4}}", "fallbackName": "Meshtastic {{last4}}",
"node": "Node",
"formValidation": { "formValidation": {
"unsavedChanges": "Unsaved changes",
"tooBig": { "tooBig": {
"string": "Too long, expected less than or equal to {{maximum}} characters.", "string": "Too long, expected less than or equal to {{maximum}} characters.",
"number": "Too big, expected a number smaller than or equal to {{maximum}}.", "number": "Too big, expected a number smaller than or equal to {{maximum}}.",

16
src/i18n/locales/cs-CZ/dialog.json

@ -63,7 +63,8 @@
"newDeviceButton": "New device" "newDeviceButton": "New device"
}, },
"validation": { "validation": {
"requiresFeatures": "This connection type requires <0></0>. Please use a supported browser, like Chrome or Edge.", "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth</0>. Please use a supported browser, like Chrome or Edge.",
"requiresWebSerial": "This connection type requires <0>Web Serial</0>. Please use a supported browser, like Chrome or Edge.",
"requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.", "requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.",
"additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost." "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost."
} }
@ -92,7 +93,6 @@
"unignoreNode": "Unignore node" "unignoreNode": "Unignore node"
}, },
"pkiBackup": { "pkiBackup": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"loseKeysWarning": "If you lose your keys, you will need to reset your device.", "loseKeysWarning": "If you lose your keys, you will need to reset your device.",
"secureBackup": "Its important to backup your public and private keys and store your backup securely!", "secureBackup": "Its important to backup your public and private keys and store your backup securely!",
"footer": "=== END OF KEYS ===", "footer": "=== END OF KEYS ===",
@ -102,6 +102,13 @@
"fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt", "fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt",
"title": "Backup Keys" "title": "Backup Keys"
}, },
"pkiBackupReminder": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"title": "Backup Reminder",
"remindLaterPrefix": "Remind me in",
"remindNever": "Never remind me",
"backupNow": "Back up now"
},
"pkiRegenerate": { "pkiRegenerate": {
"description": "Are you sure you want to regenerate key pair?", "description": "Are you sure you want to regenerate key pair?",
"title": "Regenerate Key Pair" "title": "Regenerate Key Pair"
@ -155,5 +162,10 @@
"choosingRightDeviceRole": "Choosing The Right Device Role", "choosingRightDeviceRole": "Choosing The Right Device Role",
"deviceRoleDocumentation": "Device Role Documentation", "deviceRoleDocumentation": "Device Role Documentation",
"title": "Jste si jistý?" "title": "Jste si jistý?"
},
"managedMode": {
"confirmUnderstanding": "Yes, I know what I'm doing",
"title": "Jste si jistý?",
"description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can <bold>only</bold> be changed through Remote Admin messages. This setting is not required for remote node administration."
} }
} }

39
src/i18n/locales/cs-CZ/messages.json

@ -1,6 +1,7 @@
{ {
"page": { "page": {
"title": "Messages: {{chatName}}" "title": "Messages: {{chatName}}",
"placeholder": "Enter Message"
}, },
"emptyState": { "emptyState": {
"title": "Select a Chat", "title": "Select a Chat",
@ -10,31 +11,29 @@
"text": "Select a channel or node to start messaging." "text": "Select a channel or node to start messaging."
}, },
"sendMessage": { "sendMessage": {
"placeholder": "Type your message here...", "placeholder": "Enter your message here...",
"sendButton": "Odeslat" "sendButton": "Odeslat"
}, },
"actionsMenu": { "actionsMenu": {
"addReactionLabel": "Add Reaction", "addReactionLabel": "Add Reaction",
"replyLabel": "Reply" "replyLabel": "Reply"
}, },
"item": { "deliveryStatus": {
"status": { "delivered": {
"delivered": { "label": "Message delivered",
"label": "Message delivered", "displayText": "Message delivered"
"displayText": "Message delivered" },
}, "failed": {
"failed": { "label": "Message delivery failed",
"label": "Message delivery failed", "displayText": "Delivery failed"
"displayText": "Delivery failed" },
}, "unknown": {
"unknown": { "label": "Message status unknown",
"label": "Message status unknown", "displayText": "Unknown state"
"displayText": "Unknown state" },
}, "waiting": {
"waiting": { "label": "Sending message",
"ariaLabel": "Sending message", "displayText": "Waiting for delivery"
"displayText": "Waiting for delivery"
}
} }
} }
} }

14
src/i18n/locales/cs-CZ/nodes.json

@ -10,11 +10,16 @@
"label": "Direct Message {{shortName}}" "label": "Direct Message {{shortName}}"
}, },
"favorite": { "favorite": {
"label": "Oblíbené" "label": "Oblíbené",
"tooltip": "Add or remove this node from your favorites"
}, },
"notFavorite": { "notFavorite": {
"label": "Not a Favorite" "label": "Not a Favorite"
}, },
"error": {
"label": "Chyba",
"text": "An error occurred while fetching node details. Please try again later."
},
"status": { "status": {
"heard": "Heard", "heard": "Heard",
"mqtt": "MQTT" "mqtt": "MQTT"
@ -47,5 +52,12 @@
"lastHeardStatus": { "lastHeardStatus": {
"never": "Never" "never": "Never"
} }
},
"actions": {
"added": "Added",
"removed": "Removed",
"ignoreNode": "Ignore Node",
"unignoreNode": "Unignore Node",
"requestPosition": "Request Position"
} }
} }

27
src/i18n/locales/cs-CZ/ui.json

@ -80,6 +80,24 @@
"saveSuccess": { "saveSuccess": {
"title": "Saving Config", "title": "Saving Config",
"description": "The configuration change {{case}} has been saved." "description": "The configuration change {{case}} has been saved."
},
"favoriteNode": {
"title": "{{action}} {{nodeName}} {{direction}} favorites.",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
},
"ignoreNode": {
"title": "{{action}} {{nodeName}} {{direction}} ignore list",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
} }
}, },
"notifications": { "notifications": {
@ -117,6 +135,9 @@
"filter": { "filter": {
"label": "Filtr" "label": "Filtr"
}, },
"advanced": {
"label": "Advanced"
},
"clearInput": { "clearInput": {
"label": "Clear input" "label": "Clear input"
}, },
@ -166,6 +187,12 @@
"viaMqtt": { "viaMqtt": {
"label": "Connected via MQTT" "label": "Connected via MQTT"
}, },
"hopsUnknown": {
"label": "Unknown number of hops"
},
"showUnheard": {
"label": "Never heard"
},
"language": { "language": {
"label": "Jazyk", "label": "Jazyk",
"changeLanguage": "Change Language" "changeLanguage": "Change Language"

24
src/i18n/locales/de-DE/common.json

@ -24,7 +24,8 @@
"reset": "Zurücksetzen", "reset": "Zurücksetzen",
"save": "Speichern", "save": "Speichern",
"scanQr": "QR Code scannen", "scanQr": "QR Code scannen",
"traceRoute": "Route verfolgen" "traceRoute": "Route verfolgen",
"submit": "Absenden"
}, },
"app": { "app": {
"title": "Meshtastic", "title": "Meshtastic",
@ -55,6 +56,10 @@
"one": "Minute", "one": "Minute",
"plural": "Minuten" "plural": "Minuten"
}, },
"hour": {
"one": "Stunde",
"plural": "Stunden"
},
"millisecond": { "millisecond": {
"one": "Millisekunde", "one": "Millisekunde",
"plural": "Millisekunden", "plural": "Millisekunden",
@ -64,6 +69,18 @@
"one": "Sekunde", "one": "Sekunde",
"plural": "Sekunden" "plural": "Sekunden"
}, },
"day": {
"one": "Tag",
"plural": "Tage"
},
"month": {
"one": "Monat",
"plural": "Monate"
},
"year": {
"one": "Jahr",
"plural": "Jahre"
},
"snr": "SNR", "snr": "SNR",
"volt": { "volt": {
"one": "Volt", "one": "Volt",
@ -76,6 +93,9 @@
} }
}, },
"security": { "security": {
"0bit": "Leer",
"8bit": "8 Bit",
"128bit": "128 Bit",
"256bit": "256 Bit" "256bit": "256 Bit"
}, },
"unknown": { "unknown": {
@ -87,7 +107,9 @@
"nodeUnknownPrefix": "!", "nodeUnknownPrefix": "!",
"unset": "NICHT GESETZT", "unset": "NICHT GESETZT",
"fallbackName": "Meshtastic {{last4}}", "fallbackName": "Meshtastic {{last4}}",
"node": "Knoten",
"formValidation": { "formValidation": {
"unsavedChanges": "Ungespeicherte Änderungen",
"tooBig": { "tooBig": {
"string": "Zu lang, erwarte maximal {{maximum}} Zeichen.", "string": "Zu lang, erwarte maximal {{maximum}} Zeichen.",
"number": "Zu groß, erwartete eine Zahl kleiner oder gleich {{maximum}}.", "number": "Zu groß, erwartete eine Zahl kleiner oder gleich {{maximum}}.",

16
src/i18n/locales/de-DE/dialog.json

@ -63,7 +63,8 @@
"newDeviceButton": "Neues Gerät" "newDeviceButton": "Neues Gerät"
}, },
"validation": { "validation": {
"requiresFeatures": "Dieser Verbindungstyp erfordert <0></0>. Bitte verwenden Sie einen unterstützten Browser, wie Chrome oder Edge.", "requiresWebBluetooth": "Dieser Verbindungstyp erfordert <0>Bluetooth</0> im Browser. Bitte verwenden Sie einen unterstützten Browser, wie Chrome oder Edge.",
"requiresWebSerial": "Dieser Verbindungstyp erfordert <0>Serielle Schnittstelle</0> im Browser. Bitte verwenden Sie einen unterstützten Browser, wie Chrome oder Edge.",
"requiresSecureContext": "Diese Anwendung erfordert einen <0>sicheren Kontext</0>. Bitte verbinden Sie sich über HTTPS oder localhost.", "requiresSecureContext": "Diese Anwendung erfordert einen <0>sicheren Kontext</0>. Bitte verbinden Sie sich über HTTPS oder localhost.",
"additionallyRequiresSecureContext": "Zusätzlich erfordert es einen <0>sicheren Kontext</0>. Bitte verbinden Sie sich über HTTPS oder localhost." "additionallyRequiresSecureContext": "Zusätzlich erfordert es einen <0>sicheren Kontext</0>. Bitte verbinden Sie sich über HTTPS oder localhost."
} }
@ -92,7 +93,6 @@
"unignoreNode": "Knoten akzeptieren" "unignoreNode": "Knoten akzeptieren"
}, },
"pkiBackup": { "pkiBackup": {
"description": "Wir empfehlen die regelmäßige Sicherung Ihrer Schlüsseldaten. Möchten Sie jetzt sicheren?",
"loseKeysWarning": "Wenn Sie Ihre Schlüssel verlieren, müssen Sie Ihr Gerät zurücksetzen.", "loseKeysWarning": "Wenn Sie Ihre Schlüssel verlieren, müssen Sie Ihr Gerät zurücksetzen.",
"secureBackup": "Es ist wichtig, dass Sie Ihre öffentlichen und privaten Schlüssel sichern und diese sicher speichern!", "secureBackup": "Es ist wichtig, dass Sie Ihre öffentlichen und privaten Schlüssel sichern und diese sicher speichern!",
"footer": "=== END OF KEYS ===", "footer": "=== END OF KEYS ===",
@ -102,6 +102,13 @@
"fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt", "fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt",
"title": "Schlüssel sichern" "title": "Schlüssel sichern"
}, },
"pkiBackupReminder": {
"description": "Wir empfehlen die regelmäßige Sicherung Ihrer Schlüsseldaten. Möchten Sie jetzt sicheren?",
"title": "Erinnerungen für Sicherungen",
"remindLaterPrefix": "Erinnerung in:",
"remindNever": "Nie erinnern",
"backupNow": "Jetzt sichern"
},
"pkiRegenerate": { "pkiRegenerate": {
"description": "Sind Sie sicher, dass Sie Schlüsselpaar neu erstellen möchten?", "description": "Sind Sie sicher, dass Sie Schlüsselpaar neu erstellen möchten?",
"title": "Schlüsselpaar neu erstellen" "title": "Schlüsselpaar neu erstellen"
@ -155,5 +162,10 @@
"choosingRightDeviceRole": "Wahl der richtigen Geräterolle", "choosingRightDeviceRole": "Wahl der richtigen Geräterolle",
"deviceRoleDocumentation": "Dokumentation der Geräterolle", "deviceRoleDocumentation": "Dokumentation der Geräterolle",
"title": "Bist Du sicher?" "title": "Bist Du sicher?"
},
"managedMode": {
"confirmUnderstanding": "Ja, ich weiß, was ich tue!",
"title": "Bist Du sicher?",
"description": "Das Aktivieren des verwalteten Modus blockiert das Schreiben der Einstellungen in das Funkgerät durch alle Anwendungen (einschließlich der Webanwendung). Einmal aktiviert, können die Einstellungen <bold>nur</bold> durch administrative Nachrichten geändert werden. Diese Einstellung ist für die Fernverwaltung von abgesetzten Knoten nicht erforderlich."
} }
} }

39
src/i18n/locales/de-DE/messages.json

@ -1,6 +1,7 @@
{ {
"page": { "page": {
"title": "Nachrichten: {{chatName}}" "title": "Nachrichten: {{chatName}}",
"placeholder": "Nachricht eingeben"
}, },
"emptyState": { "emptyState": {
"title": "Einen Chat auswählen", "title": "Einen Chat auswählen",
@ -10,31 +11,29 @@
"text": "Wählen Sie einen Kanal oder Knoten, um Nachrichten zu schreiben." "text": "Wählen Sie einen Kanal oder Knoten, um Nachrichten zu schreiben."
}, },
"sendMessage": { "sendMessage": {
"placeholder": "Geben Sie Ihre Nachricht hier ein...", "placeholder": "Geben Sie hier Ihre Nachricht ein...",
"sendButton": "Senden" "sendButton": "Senden"
}, },
"actionsMenu": { "actionsMenu": {
"addReactionLabel": "Reaktion hinzufügen", "addReactionLabel": "Reaktion hinzufügen",
"replyLabel": "Antworten" "replyLabel": "Antworten"
}, },
"item": { "deliveryStatus": {
"status": { "delivered": {
"delivered": { "label": "Nachricht zugestellt",
"label": "Nachricht zugestellt", "displayText": "Nachricht zugestellt"
"displayText": "Nachricht zugestellt" },
}, "failed": {
"failed": { "label": "Nachrichtenübermittlung fehlgeschlagen",
"label": "Nachrichtenübermittlung fehlgeschlagen", "displayText": "Zustellung fehlgeschlagen"
"displayText": "Zustellung fehlgeschlagen" },
}, "unknown": {
"unknown": { "label": "Nachrichtenstatus unbekannt",
"label": "Nachrichtenstatus unbekannt", "displayText": "Unbekannter Status"
"displayText": "Unbekannter Status" },
}, "waiting": {
"waiting": { "label": "Nachricht wird gesendet",
"ariaLabel": "Nachricht wird gesendet", "displayText": "Warte auf Zustellung"
"displayText": "Warte auf Zustellung"
}
} }
} }
} }

14
src/i18n/locales/de-DE/nodes.json

@ -10,11 +10,16 @@
"label": "Direktnachricht {{shortName}}" "label": "Direktnachricht {{shortName}}"
}, },
"favorite": { "favorite": {
"label": "Favorit" "label": "Favorit",
"tooltip": "Diesen Knoten zu Favoriten hinzufügen oder entfernen"
}, },
"notFavorite": { "notFavorite": {
"label": "Kein Favorit" "label": "Kein Favorit"
}, },
"error": {
"label": "Fehler",
"text": "Beim Abrufen der Knotendetails ist ein Fehler aufgetreten. Bitte versuchen Sie es später erneut."
},
"status": { "status": {
"heard": "Gehört", "heard": "Gehört",
"mqtt": "MQTT" "mqtt": "MQTT"
@ -47,5 +52,12 @@
"lastHeardStatus": { "lastHeardStatus": {
"never": "Nie" "never": "Nie"
} }
},
"actions": {
"added": "Hinzugefügt",
"removed": "Entfernt",
"ignoreNode": "Knoten ignorieren",
"unignoreNode": "Knoten akzeptieren",
"requestPosition": "Standort anfordern"
} }
} }

27
src/i18n/locales/de-DE/ui.json

@ -80,6 +80,24 @@
"saveSuccess": { "saveSuccess": {
"title": "Einstellungen speichern", "title": "Einstellungen speichern",
"description": "Die Einstellungsänderung {{case}} wurde gespeichert." "description": "Die Einstellungsänderung {{case}} wurde gespeichert."
},
"favoriteNode": {
"title": "{{action}} {{nodeName}} {{direction}} Favoriten.",
"action": {
"added": "Hinzugefügt",
"removed": "Entfernt",
"to": "bis",
"from": "von"
}
},
"ignoreNode": {
"title": "{{action}} {{nodeName}} {{direction}} Ignorierliste",
"action": {
"added": "Hinzugefügt",
"removed": "Entfernt",
"to": "bis",
"from": "von"
}
} }
}, },
"notifications": { "notifications": {
@ -117,6 +135,9 @@
"filter": { "filter": {
"label": "Filter" "label": "Filter"
}, },
"advanced": {
"label": "Fortgeschritten"
},
"clearInput": { "clearInput": {
"label": "Eingabe löschen" "label": "Eingabe löschen"
}, },
@ -166,6 +187,12 @@
"viaMqtt": { "viaMqtt": {
"label": "Über MQTT verbunden" "label": "Über MQTT verbunden"
}, },
"hopsUnknown": {
"label": "Unbekannte Sprungweite"
},
"showUnheard": {
"label": "Nie gehört"
},
"language": { "language": {
"label": "Sprache", "label": "Sprache",
"changeLanguage": "Sprache ändern" "changeLanguage": "Sprache ändern"

24
src/i18n/locales/es-ES/common.json

@ -24,7 +24,8 @@
"reset": "Reiniciar", "reset": "Reiniciar",
"save": "Guardar", "save": "Guardar",
"scanQr": "Scan QR Code", "scanQr": "Scan QR Code",
"traceRoute": "Trace Route" "traceRoute": "Trace Route",
"submit": "Submit"
}, },
"app": { "app": {
"title": "Meshtastic", "title": "Meshtastic",
@ -55,6 +56,10 @@
"one": "Minute", "one": "Minute",
"plural": "Minutes" "plural": "Minutes"
}, },
"hour": {
"one": "Hour",
"plural": "Hours"
},
"millisecond": { "millisecond": {
"one": "Millisecond", "one": "Millisecond",
"plural": "Milliseconds", "plural": "Milliseconds",
@ -64,6 +69,18 @@
"one": "Second", "one": "Second",
"plural": "Seconds" "plural": "Seconds"
}, },
"day": {
"one": "Day",
"plural": "Days"
},
"month": {
"one": "Month",
"plural": "Months"
},
"year": {
"one": "Year",
"plural": "Years"
},
"snr": "SNR", "snr": "SNR",
"volt": { "volt": {
"one": "Volt", "one": "Volt",
@ -76,6 +93,9 @@
} }
}, },
"security": { "security": {
"0bit": "Empty",
"8bit": "8 bit",
"128bit": "128 bit",
"256bit": "256 bit" "256bit": "256 bit"
}, },
"unknown": { "unknown": {
@ -87,7 +107,9 @@
"nodeUnknownPrefix": "!", "nodeUnknownPrefix": "!",
"unset": "UNSET", "unset": "UNSET",
"fallbackName": "Meshtastic {{last4}}", "fallbackName": "Meshtastic {{last4}}",
"node": "Node",
"formValidation": { "formValidation": {
"unsavedChanges": "Unsaved changes",
"tooBig": { "tooBig": {
"string": "Too long, expected less than or equal to {{maximum}} characters.", "string": "Too long, expected less than or equal to {{maximum}} characters.",
"number": "Too big, expected a number smaller than or equal to {{maximum}}.", "number": "Too big, expected a number smaller than or equal to {{maximum}}.",

16
src/i18n/locales/es-ES/dialog.json

@ -63,7 +63,8 @@
"newDeviceButton": "New device" "newDeviceButton": "New device"
}, },
"validation": { "validation": {
"requiresFeatures": "This connection type requires <0></0>. Please use a supported browser, like Chrome or Edge.", "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth</0>. Please use a supported browser, like Chrome or Edge.",
"requiresWebSerial": "This connection type requires <0>Web Serial</0>. Please use a supported browser, like Chrome or Edge.",
"requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.", "requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.",
"additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost." "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost."
} }
@ -92,7 +93,6 @@
"unignoreNode": "Unignore node" "unignoreNode": "Unignore node"
}, },
"pkiBackup": { "pkiBackup": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"loseKeysWarning": "If you lose your keys, you will need to reset your device.", "loseKeysWarning": "If you lose your keys, you will need to reset your device.",
"secureBackup": "Its important to backup your public and private keys and store your backup securely!", "secureBackup": "Its important to backup your public and private keys and store your backup securely!",
"footer": "=== END OF KEYS ===", "footer": "=== END OF KEYS ===",
@ -102,6 +102,13 @@
"fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt", "fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt",
"title": "Backup Keys" "title": "Backup Keys"
}, },
"pkiBackupReminder": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"title": "Backup Reminder",
"remindLaterPrefix": "Remind me in",
"remindNever": "Never remind me",
"backupNow": "Back up now"
},
"pkiRegenerate": { "pkiRegenerate": {
"description": "Are you sure you want to regenerate key pair?", "description": "Are you sure you want to regenerate key pair?",
"title": "Regenerate Key Pair" "title": "Regenerate Key Pair"
@ -155,5 +162,10 @@
"choosingRightDeviceRole": "Choosing The Right Device Role", "choosingRightDeviceRole": "Choosing The Right Device Role",
"deviceRoleDocumentation": "Device Role Documentation", "deviceRoleDocumentation": "Device Role Documentation",
"title": "¿Estás seguro?" "title": "¿Estás seguro?"
},
"managedMode": {
"confirmUnderstanding": "Yes, I know what I'm doing",
"title": "¿Estás seguro?",
"description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can <bold>only</bold> be changed through Remote Admin messages. This setting is not required for remote node administration."
} }
} }

39
src/i18n/locales/es-ES/messages.json

@ -1,6 +1,7 @@
{ {
"page": { "page": {
"title": "Messages: {{chatName}}" "title": "Messages: {{chatName}}",
"placeholder": "Enter Message"
}, },
"emptyState": { "emptyState": {
"title": "Select a Chat", "title": "Select a Chat",
@ -10,31 +11,29 @@
"text": "Select a channel or node to start messaging." "text": "Select a channel or node to start messaging."
}, },
"sendMessage": { "sendMessage": {
"placeholder": "Type your message here...", "placeholder": "Enter your message here...",
"sendButton": "Enviar" "sendButton": "Enviar"
}, },
"actionsMenu": { "actionsMenu": {
"addReactionLabel": "Add Reaction", "addReactionLabel": "Add Reaction",
"replyLabel": "Reply" "replyLabel": "Reply"
}, },
"item": { "deliveryStatus": {
"status": { "delivered": {
"delivered": { "label": "Message delivered",
"label": "Message delivered", "displayText": "Message delivered"
"displayText": "Message delivered" },
}, "failed": {
"failed": { "label": "Message delivery failed",
"label": "Message delivery failed", "displayText": "Delivery failed"
"displayText": "Delivery failed" },
}, "unknown": {
"unknown": { "label": "Message status unknown",
"label": "Message status unknown", "displayText": "Unknown state"
"displayText": "Unknown state" },
}, "waiting": {
"waiting": { "label": "Sending message",
"ariaLabel": "Sending message", "displayText": "Waiting for delivery"
"displayText": "Waiting for delivery"
}
} }
} }
} }

14
src/i18n/locales/es-ES/nodes.json

@ -10,11 +10,16 @@
"label": "Direct Message {{shortName}}" "label": "Direct Message {{shortName}}"
}, },
"favorite": { "favorite": {
"label": "Favorito" "label": "Favorito",
"tooltip": "Add or remove this node from your favorites"
}, },
"notFavorite": { "notFavorite": {
"label": "Not a Favorite" "label": "Not a Favorite"
}, },
"error": {
"label": "Error",
"text": "An error occurred while fetching node details. Please try again later."
},
"status": { "status": {
"heard": "Heard", "heard": "Heard",
"mqtt": "MQTT" "mqtt": "MQTT"
@ -47,5 +52,12 @@
"lastHeardStatus": { "lastHeardStatus": {
"never": "Never" "never": "Never"
} }
},
"actions": {
"added": "Added",
"removed": "Removed",
"ignoreNode": "Ignore Node",
"unignoreNode": "Unignore Node",
"requestPosition": "Request Position"
} }
} }

27
src/i18n/locales/es-ES/ui.json

@ -80,6 +80,24 @@
"saveSuccess": { "saveSuccess": {
"title": "Saving Config", "title": "Saving Config",
"description": "The configuration change {{case}} has been saved." "description": "The configuration change {{case}} has been saved."
},
"favoriteNode": {
"title": "{{action}} {{nodeName}} {{direction}} favorites.",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
},
"ignoreNode": {
"title": "{{action}} {{nodeName}} {{direction}} ignore list",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
} }
}, },
"notifications": { "notifications": {
@ -117,6 +135,9 @@
"filter": { "filter": {
"label": "Filtro" "label": "Filtro"
}, },
"advanced": {
"label": "Advanced"
},
"clearInput": { "clearInput": {
"label": "Clear input" "label": "Clear input"
}, },
@ -166,6 +187,12 @@
"viaMqtt": { "viaMqtt": {
"label": "Connected via MQTT" "label": "Connected via MQTT"
}, },
"hopsUnknown": {
"label": "Unknown number of hops"
},
"showUnheard": {
"label": "Never heard"
},
"language": { "language": {
"label": "Idioma", "label": "Idioma",
"changeLanguage": "Change Language" "changeLanguage": "Change Language"

24
src/i18n/locales/fi-FI/common.json

@ -24,7 +24,8 @@
"reset": "Palauta", "reset": "Palauta",
"save": "Tallenna", "save": "Tallenna",
"scanQr": "Skannaa QR-koodi", "scanQr": "Skannaa QR-koodi",
"traceRoute": "Reitinselvitys" "traceRoute": "Reitinselvitys",
"submit": "Lähetä"
}, },
"app": { "app": {
"title": "Meshtastic", "title": "Meshtastic",
@ -55,6 +56,10 @@
"one": "Minuutti", "one": "Minuutti",
"plural": "Minuuttia" "plural": "Minuuttia"
}, },
"hour": {
"one": "Tunti",
"plural": "Tuntia"
},
"millisecond": { "millisecond": {
"one": "Millisekunti", "one": "Millisekunti",
"plural": "Millisekuntia", "plural": "Millisekuntia",
@ -64,6 +69,18 @@
"one": "Sekunti", "one": "Sekunti",
"plural": "Sekuntia" "plural": "Sekuntia"
}, },
"day": {
"one": "Päivä",
"plural": "Päivää"
},
"month": {
"one": "Kuukausi",
"plural": "Kuukautta"
},
"year": {
"one": "Vuosi",
"plural": "Vuotta"
},
"snr": "SNR", "snr": "SNR",
"volt": { "volt": {
"one": "Voltti", "one": "Voltti",
@ -76,6 +93,9 @@
} }
}, },
"security": { "security": {
"0bit": "Tyhjä",
"8bit": "8-bittiä",
"128bit": "128-bittiä",
"256bit": "256 bittiä" "256bit": "256 bittiä"
}, },
"unknown": { "unknown": {
@ -87,7 +107,9 @@
"nodeUnknownPrefix": "!", "nodeUnknownPrefix": "!",
"unset": "EI ASETETTU", "unset": "EI ASETETTU",
"fallbackName": "Meshtastic {{last4}}", "fallbackName": "Meshtastic {{last4}}",
"node": "Laite",
"formValidation": { "formValidation": {
"unsavedChanges": "Tallentamattomat muutokset",
"tooBig": { "tooBig": {
"string": "Teksti on liian pitkä – sallittu enimmäispituus on {{maximum}} merkkiä.", "string": "Teksti on liian pitkä – sallittu enimmäispituus on {{maximum}} merkkiä.",
"number": "Arvo on liian suuri – sallittu enimmäisarvo on {{maximum}}.", "number": "Arvo on liian suuri – sallittu enimmäisarvo on {{maximum}}.",

16
src/i18n/locales/fi-FI/dialog.json

@ -63,7 +63,8 @@
"newDeviceButton": "Uusi laite" "newDeviceButton": "Uusi laite"
}, },
"validation": { "validation": {
"requiresFeatures": "Tämä yhteystyyppi vaatii <0></0>. Käytä tuettua selainta, kuten Chromea tai Edgeä.", "requiresWebBluetooth": "Tämä yhteystyyppi vaatii <0>Web-sarjaportti bluetooth</0> -tuen. Käytä tuettua selainta, kuten Chromea tai Edgeä.",
"requiresWebSerial": "Tämä yhteystyyppi vaatii <0>Web-sarjaportti</0> -tuen. Käytä tuettua selainta, kuten Chromea tai Edgeä.",
"requiresSecureContext": "Tämä sovellus vaatii <0>suojatun yhteyden</0>. Yhdistä käyttämällä HTTPS:ää tai localhostia.", "requiresSecureContext": "Tämä sovellus vaatii <0>suojatun yhteyden</0>. Yhdistä käyttämällä HTTPS:ää tai localhostia.",
"additionallyRequiresSecureContext": "Lisäksi se vaatii <0>suojatun yhteyden</0>. Yhdistä käyttämällä HTTPS:ää tai localhostia." "additionallyRequiresSecureContext": "Lisäksi se vaatii <0>suojatun yhteyden</0>. Yhdistä käyttämällä HTTPS:ää tai localhostia."
} }
@ -92,7 +93,6 @@
"unignoreNode": "Poista laitteen ohitus käytöstä" "unignoreNode": "Poista laitteen ohitus käytöstä"
}, },
"pkiBackup": { "pkiBackup": {
"description": "Suosittelemme avaintietojen säännöllistä varmuuskopiointia. Haluatko varmuuskopioida nyt?",
"loseKeysWarning": "Jos menetät avaimesi, sinun täytyy palauttaa laite tehdasasetuksiin.", "loseKeysWarning": "Jos menetät avaimesi, sinun täytyy palauttaa laite tehdasasetuksiin.",
"secureBackup": "On tärkeää varmuuskopioida julkiset ja yksityiset avaimet ja säilyttää niiden varmuuskopioita turvallisesti!", "secureBackup": "On tärkeää varmuuskopioida julkiset ja yksityiset avaimet ja säilyttää niiden varmuuskopioita turvallisesti!",
"footer": "=== AVAIMIEN LOPPU ===", "footer": "=== AVAIMIEN LOPPU ===",
@ -102,6 +102,13 @@
"fileName": "meshtastic_avaimet_{{longName}}_{{shortName}}.txt", "fileName": "meshtastic_avaimet_{{longName}}_{{shortName}}.txt",
"title": "Varmuuskopioi avaimet" "title": "Varmuuskopioi avaimet"
}, },
"pkiBackupReminder": {
"description": "Suosittelemme avaintietojen säännöllistä varmuuskopiointia. Haluatko varmuuskopioida nyt?",
"title": "Varmuuskopion Muistutus",
"remindLaterPrefix": "Muistuta minua",
"remindNever": "Älä muistuta minua koskaan",
"backupNow": "Varmuuskopioi nyt"
},
"pkiRegenerate": { "pkiRegenerate": {
"description": "Haluatko varmasti luoda avainparin uudelleen?", "description": "Haluatko varmasti luoda avainparin uudelleen?",
"title": "Luo avainpari uudelleen" "title": "Luo avainpari uudelleen"
@ -155,5 +162,10 @@
"choosingRightDeviceRole": "Valitse laitteelle oikea rooli", "choosingRightDeviceRole": "Valitse laitteelle oikea rooli",
"deviceRoleDocumentation": "Roolien dokumentaatio laitteelle", "deviceRoleDocumentation": "Roolien dokumentaatio laitteelle",
"title": "Oletko varma?" "title": "Oletko varma?"
},
"managedMode": {
"confirmUnderstanding": "Kyllä, tiedän mitä teen",
"title": "Oletko varma?",
"description": "Hallintatilan käyttöönotto estää asiakassovelluksia (mukaan lukien verkkosovellus) kirjoittamasta asetuksia radioon. Kun tila on otettu käyttöön, radion asetuksia voidaan muuttaa <bold>vain</bold> etähallintaviestien kautta. Tämä asetus ei ole pakollinen etähallittavien laitteiden hallintaan."
} }
} }

37
src/i18n/locales/fi-FI/messages.json

@ -1,6 +1,7 @@
{ {
"page": { "page": {
"title": "Viestit: {{chatName}}" "title": "Viestit: {{chatName}}",
"placeholder": "Kirjoita viesti"
}, },
"emptyState": { "emptyState": {
"title": "Valitse keskustelu", "title": "Valitse keskustelu",
@ -17,24 +18,22 @@
"addReactionLabel": "Lisää reaktio", "addReactionLabel": "Lisää reaktio",
"replyLabel": "Vastaa" "replyLabel": "Vastaa"
}, },
"item": { "deliveryStatus": {
"status": { "delivered": {
"delivered": { "label": "Viesti toimitettu",
"label": "Viesti toimitettu", "displayText": "Viesti toimitettu"
"displayText": "Viesti toimitettu" },
}, "failed": {
"failed": { "label": "Viestin toimitus epäonnistui",
"label": "Viestin toimitus epäonnistui", "displayText": "Toimitus epäonnistui"
"displayText": "Toimitus epäonnistui" },
}, "unknown": {
"unknown": { "label": "Viestin tila tuntematon",
"label": "Viestin tila tuntematon", "displayText": "Tuntematon tila"
"displayText": "Tuntematon tila" },
}, "waiting": {
"waiting": { "label": "Lähetetään viestiä",
"ariaLabel": "Lähetetään viestiä", "displayText": "Odottaa toimitusta"
"displayText": "Odottaa toimitusta"
}
} }
} }
} }

14
src/i18n/locales/fi-FI/nodes.json

@ -10,11 +10,16 @@
"label": "Suora Viesti {{shortName}}" "label": "Suora Viesti {{shortName}}"
}, },
"favorite": { "favorite": {
"label": "Suosikki" "label": "Suosikki",
"tooltip": "Lisää tai poista tämä laite suosikeistasi"
}, },
"notFavorite": { "notFavorite": {
"label": "Ei suosikki" "label": "Ei suosikki"
}, },
"error": {
"label": "Virhe",
"text": "Tapahtui virhe haettaessa laitteen tietoja. Yritä uudelleen myöhemmin."
},
"status": { "status": {
"heard": "Kuultu", "heard": "Kuultu",
"mqtt": "MQTT" "mqtt": "MQTT"
@ -47,5 +52,12 @@
"lastHeardStatus": { "lastHeardStatus": {
"never": "Ei koskaan" "never": "Ei koskaan"
} }
},
"actions": {
"added": "Lisätty",
"removed": "Poistettu",
"ignoreNode": "Älä huomioi laitetta",
"unignoreNode": "Huomioi laite uudelleen",
"requestPosition": "Pyydä sijaintia"
} }
} }

33
src/i18n/locales/fi-FI/ui.json

@ -80,6 +80,24 @@
"saveSuccess": { "saveSuccess": {
"title": "Tallennetaan asetukset", "title": "Tallennetaan asetukset",
"description": "Asetuksien muutos {{case}} on tallennettu." "description": "Asetuksien muutos {{case}} on tallennettu."
},
"favoriteNode": {
"title": "{{action}} {{nodeName}} {{direction}} suosikit.",
"action": {
"added": "Lisätty",
"removed": "Poistettu",
"to": "saakka",
"from": "alkaen"
}
},
"ignoreNode": {
"title": "{{action}} {{nodeName}} {{direction}} estolista",
"action": {
"added": "Lisätty",
"removed": "Poistettu",
"to": "saakka",
"from": "alkaen"
}
} }
}, },
"notifications": { "notifications": {
@ -117,6 +135,9 @@
"filter": { "filter": {
"label": "Suodatus" "label": "Suodatus"
}, },
"advanced": {
"label": "Lisäasetukset"
},
"clearInput": { "clearInput": {
"label": "Tyhjennä kenttä" "label": "Tyhjennä kenttä"
}, },
@ -166,6 +187,12 @@
"viaMqtt": { "viaMqtt": {
"label": "Yhdistetty MQTT-yhteydellä" "label": "Yhdistetty MQTT-yhteydellä"
}, },
"hopsUnknown": {
"label": "Tuntematon määrä hyppyjä"
},
"showUnheard": {
"label": "Ei koskaan kuultu"
},
"language": { "language": {
"label": "Kieli", "label": "Kieli",
"changeLanguage": "Vaihda kieli" "changeLanguage": "Vaihda kieli"
@ -178,7 +205,7 @@
}, },
"errorPage": { "errorPage": {
"title": "Tämä on hieman noloa...", "title": "Tämä on hieman noloa...",
"description1": "Pahoittelemme, mutta verkkosovelluksessa tapahtui virhe, joka aiheutti kaatumisen.<br /> \nTämän ei pitäisi tapahtua ja me työskentelemme ahkerasti ongelman korjaamiseksi.", "description1": "Pahoittelemme, mutta verkkosovelluksessa tapahtui virhe, joka aiheutti kaatumisen. <br /> \nTällaista ei pitäisi tapahtua ja me työskentelemme ahkerasti ongelman korjaamiseksi.",
"description2": "Paras tapa estää tämän tapahtuminen uudelleen sinulle tai kenellekään muulle, on ilmoittaa meille ongelmasta.", "description2": "Paras tapa estää tämän tapahtuminen uudelleen sinulle tai kenellekään muulle, on ilmoittaa meille ongelmasta.",
"reportInstructions": "Lisääthän raporttiisi seuraavat tiedot:", "reportInstructions": "Lisääthän raporttiisi seuraavat tiedot:",
"reportSteps": { "reportSteps": {
@ -188,7 +215,7 @@
"step4": "Muut mahdollisesti oleelliset tiedot" "step4": "Muut mahdollisesti oleelliset tiedot"
}, },
"reportLink": "Voit raportoida ongelmasta <0>GitHubissa</0>", "reportLink": "Voit raportoida ongelmasta <0>GitHubissa</0>",
"dashboardLink": "Palaa takaisin <0>dashboard</0>", "dashboardLink": "Palaa takaisin <0>hallintapaneeliin</0>",
"detailsSummary": "Virheen tiedot", "detailsSummary": "Virheen tiedot",
"errorMessageLabel": "Virheilmoitus:", "errorMessageLabel": "Virheilmoitus:",
"stackTraceLabel": "Virheen jäljityslista:", "stackTraceLabel": "Virheen jäljityslista:",
@ -196,6 +223,6 @@
}, },
"footer": { "footer": {
"text": "Powered by <0>▲ Vercel</0> | Meshtastic® on Meshtastic LLC:n rekisteröity tavaramerkki. | <1>Oikeudelliset tiedot</1>", "text": "Powered by <0>▲ Vercel</0> | Meshtastic® on Meshtastic LLC:n rekisteröity tavaramerkki. | <1>Oikeudelliset tiedot</1>",
"commitSha": "Versiokomentoviestin SHA-tunniste: {{sha}}" "commitSha": "Ohjelmistokehitysversion SHA-tunniste: {{sha}}"
} }
} }

24
src/i18n/locales/fr-FR/common.json

@ -24,7 +24,8 @@
"reset": "Réinitialiser", "reset": "Réinitialiser",
"save": "Sauvegarder", "save": "Sauvegarder",
"scanQr": "Scan QR Code", "scanQr": "Scan QR Code",
"traceRoute": "Trace Route" "traceRoute": "Trace Route",
"submit": "Submit"
}, },
"app": { "app": {
"title": "Meshtastic", "title": "Meshtastic",
@ -55,6 +56,10 @@
"one": "Minute", "one": "Minute",
"plural": "Minutes" "plural": "Minutes"
}, },
"hour": {
"one": "Hour",
"plural": "Hours"
},
"millisecond": { "millisecond": {
"one": "Millisecond", "one": "Millisecond",
"plural": "Milliseconds", "plural": "Milliseconds",
@ -64,6 +69,18 @@
"one": "Second", "one": "Second",
"plural": "Seconds" "plural": "Seconds"
}, },
"day": {
"one": "Day",
"plural": "Days"
},
"month": {
"one": "Month",
"plural": "Months"
},
"year": {
"one": "Year",
"plural": "Years"
},
"snr": "SNR", "snr": "SNR",
"volt": { "volt": {
"one": "Volt", "one": "Volt",
@ -76,6 +93,9 @@
} }
}, },
"security": { "security": {
"0bit": "Empty",
"8bit": "8 bit",
"128bit": "128 bit",
"256bit": "256 bit" "256bit": "256 bit"
}, },
"unknown": { "unknown": {
@ -87,7 +107,9 @@
"nodeUnknownPrefix": "!", "nodeUnknownPrefix": "!",
"unset": "UNSET", "unset": "UNSET",
"fallbackName": "Meshtastic {{last4}}", "fallbackName": "Meshtastic {{last4}}",
"node": "Node",
"formValidation": { "formValidation": {
"unsavedChanges": "Unsaved changes",
"tooBig": { "tooBig": {
"string": "Too long, expected less than or equal to {{maximum}} characters.", "string": "Too long, expected less than or equal to {{maximum}} characters.",
"number": "Too big, expected a number smaller than or equal to {{maximum}}.", "number": "Too big, expected a number smaller than or equal to {{maximum}}.",

16
src/i18n/locales/fr-FR/dialog.json

@ -63,7 +63,8 @@
"newDeviceButton": "New device" "newDeviceButton": "New device"
}, },
"validation": { "validation": {
"requiresFeatures": "This connection type requires <0></0>. Please use a supported browser, like Chrome or Edge.", "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth</0>. Please use a supported browser, like Chrome or Edge.",
"requiresWebSerial": "This connection type requires <0>Web Serial</0>. Please use a supported browser, like Chrome or Edge.",
"requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.", "requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.",
"additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost." "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost."
} }
@ -92,7 +93,6 @@
"unignoreNode": "Unignore node" "unignoreNode": "Unignore node"
}, },
"pkiBackup": { "pkiBackup": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"loseKeysWarning": "If you lose your keys, you will need to reset your device.", "loseKeysWarning": "If you lose your keys, you will need to reset your device.",
"secureBackup": "Its important to backup your public and private keys and store your backup securely!", "secureBackup": "Its important to backup your public and private keys and store your backup securely!",
"footer": "=== END OF KEYS ===", "footer": "=== END OF KEYS ===",
@ -102,6 +102,13 @@
"fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt", "fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt",
"title": "Backup Keys" "title": "Backup Keys"
}, },
"pkiBackupReminder": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"title": "Backup Reminder",
"remindLaterPrefix": "Remind me in",
"remindNever": "Never remind me",
"backupNow": "Back up now"
},
"pkiRegenerate": { "pkiRegenerate": {
"description": "Are you sure you want to regenerate key pair?", "description": "Are you sure you want to regenerate key pair?",
"title": "Regenerate Key Pair" "title": "Regenerate Key Pair"
@ -155,5 +162,10 @@
"choosingRightDeviceRole": "Choosing The Right Device Role", "choosingRightDeviceRole": "Choosing The Right Device Role",
"deviceRoleDocumentation": "Device Role Documentation", "deviceRoleDocumentation": "Device Role Documentation",
"title": "Êtes-vous sûr ?" "title": "Êtes-vous sûr ?"
},
"managedMode": {
"confirmUnderstanding": "Yes, I know what I'm doing",
"title": "Êtes-vous sûr ?",
"description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can <bold>only</bold> be changed through Remote Admin messages. This setting is not required for remote node administration."
} }
} }

39
src/i18n/locales/fr-FR/messages.json

@ -1,6 +1,7 @@
{ {
"page": { "page": {
"title": "Messages: {{chatName}}" "title": "Messages: {{chatName}}",
"placeholder": "Enter Message"
}, },
"emptyState": { "emptyState": {
"title": "Select a Chat", "title": "Select a Chat",
@ -10,31 +11,29 @@
"text": "Select a channel or node to start messaging." "text": "Select a channel or node to start messaging."
}, },
"sendMessage": { "sendMessage": {
"placeholder": "Type your message here...", "placeholder": "Enter your message here...",
"sendButton": "Envoyer" "sendButton": "Envoyer"
}, },
"actionsMenu": { "actionsMenu": {
"addReactionLabel": "Add Reaction", "addReactionLabel": "Add Reaction",
"replyLabel": "Répondre" "replyLabel": "Répondre"
}, },
"item": { "deliveryStatus": {
"status": { "delivered": {
"delivered": { "label": "Message delivered",
"label": "Message delivered", "displayText": "Message delivered"
"displayText": "Message delivered" },
}, "failed": {
"failed": { "label": "Message delivery failed",
"label": "Message delivery failed", "displayText": "Delivery failed"
"displayText": "Delivery failed" },
}, "unknown": {
"unknown": { "label": "Message status unknown",
"label": "Message status unknown", "displayText": "Unknown state"
"displayText": "Unknown state" },
}, "waiting": {
"waiting": { "label": "Sending message",
"ariaLabel": "Sending message", "displayText": "Waiting for delivery"
"displayText": "Waiting for delivery"
}
} }
} }
} }

14
src/i18n/locales/fr-FR/nodes.json

@ -10,11 +10,16 @@
"label": "Direct Message {{shortName}}" "label": "Direct Message {{shortName}}"
}, },
"favorite": { "favorite": {
"label": "Favoris" "label": "Favoris",
"tooltip": "Add or remove this node from your favorites"
}, },
"notFavorite": { "notFavorite": {
"label": "Not a Favorite" "label": "Not a Favorite"
}, },
"error": {
"label": "Erreur",
"text": "An error occurred while fetching node details. Please try again later."
},
"status": { "status": {
"heard": "Capté", "heard": "Capté",
"mqtt": "MQTT" "mqtt": "MQTT"
@ -47,5 +52,12 @@
"lastHeardStatus": { "lastHeardStatus": {
"never": "Never" "never": "Never"
} }
},
"actions": {
"added": "Added",
"removed": "Removed",
"ignoreNode": "Ignore Node",
"unignoreNode": "Unignore Node",
"requestPosition": "Request Position"
} }
} }

27
src/i18n/locales/fr-FR/ui.json

@ -80,6 +80,24 @@
"saveSuccess": { "saveSuccess": {
"title": "Saving Config", "title": "Saving Config",
"description": "The configuration change {{case}} has been saved." "description": "The configuration change {{case}} has been saved."
},
"favoriteNode": {
"title": "{{action}} {{nodeName}} {{direction}} favorites.",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
},
"ignoreNode": {
"title": "{{action}} {{nodeName}} {{direction}} ignore list",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
} }
}, },
"notifications": { "notifications": {
@ -117,6 +135,9 @@
"filter": { "filter": {
"label": "Filtre" "label": "Filtre"
}, },
"advanced": {
"label": "Advanced"
},
"clearInput": { "clearInput": {
"label": "Clear input" "label": "Clear input"
}, },
@ -166,6 +187,12 @@
"viaMqtt": { "viaMqtt": {
"label": "Connected via MQTT" "label": "Connected via MQTT"
}, },
"hopsUnknown": {
"label": "Unknown number of hops"
},
"showUnheard": {
"label": "Never heard"
},
"language": { "language": {
"label": "Langue", "label": "Langue",
"changeLanguage": "Change Language" "changeLanguage": "Change Language"

78
src/i18n/locales/it-IT/channels.json

@ -1,69 +1,69 @@
{ {
"page": { "page": {
"sectionLabel": "Canali", "sectionLabel": "Canali",
"channelName": "Channel: {{channelName}}", "channelName": "Canale {{channelName}}",
"broadcastLabel": "Principale", "broadcastLabel": "Principale",
"channelIndex": "Ch {{index}}" "channelIndex": "Ch {{index}}"
}, },
"validation": { "validation": {
"pskInvalid": "Please enter a valid {{bits}} bit PSK." "pskInvalid": "Per favore inserisci un PSK valido di {{bits}} bit."
}, },
"settings": { "settings": {
"label": "Impostazioni Canale", "label": "Impostazioni Canale",
"description": "Crypto, MQTT & misc settings" "description": "Impostazioni di Crypto, MQTT e varie"
}, },
"role": { "role": {
"label": "Ruolo", "label": "Ruolo",
"description": "Device telemetry is sent over PRIMARY. Only one PRIMARY allowed", "description": "La telemetria del dispositivo è inviata su PRIMARIO. Solo un PRIMARIO è consentito",
"options": { "options": {
"primary": "PRIMARY", "primary": "PRIMARIO",
"disabled": "DISABLED", "disabled": "DISABILITATO",
"secondary": "SECONDARY" "secondary": "SECONDARIO"
} }
}, },
"psk": { "psk": {
"label": "Pre-Shared Key", "label": "Chiave Pre-Condivisa",
"description": "Supported PSK lengths: 256-bit, 128-bit, 8-bit, Empty (0-bit)", "description": "Lunghezze PSK supportate: 256-bit, 128-bit, 8-bit, Vuoto (0-bit)",
"generate": "Generate" "generate": "Genera"
}, },
"name": { "name": {
"label": "Nome", "label": "Nome",
"description": "A unique name for the channel <12 bytes, leave blank for default" "description": "Un nome univoco per il canale <12 byte, lascia vuoto per default"
}, },
"uplinkEnabled": { "uplinkEnabled": {
"label": "Uplink Enabled", "label": "Uplink Abilitato",
"description": "Send messages from the local mesh to MQTT" "description": "Invia messaggi dalla mesh locale a MQTT"
}, },
"downlinkEnabled": { "downlinkEnabled": {
"label": "Downlink Enabled", "label": "Uplink Abilitato",
"description": "Send messages from MQTT to the local mesh" "description": "Invia messaggi da MQTT alla mesh locale"
}, },
"positionPrecision": { "positionPrecision": {
"label": "Location", "label": "Posizione",
"description": "The precision of the location to share with the channel. Can be disabled.", "description": "La precisione della posizione da condividere con il canale. Può essere disabilitata.",
"options": { "options": {
"none": "Do not share location", "none": "Non condividere la posizione",
"precise": "Precise Location", "precise": "Posizione precisa",
"metric_km23": "Within 23 kilometers", "metric_km23": "Entro 23 chilometri",
"metric_km12": "Within 12 kilometers", "metric_km12": "Entro 12 chilometri",
"metric_km5_8": "Within 5.8 kilometers", "metric_km5_8": "Entro 5,8 chilometri",
"metric_km2_9": "Within 2.9 kilometers", "metric_km2_9": "Entro 2,9 chilometri",
"metric_km1_5": "Within 1.5 kilometers", "metric_km1_5": "Entro 1,5 chilometri",
"metric_m700": "Within 700 meters", "metric_m700": "Entro 700 metri",
"metric_m350": "Within 350 meters", "metric_m350": "Entro 350 metri",
"metric_m200": "Within 200 meters", "metric_m200": "Entro 200 metri",
"metric_m90": "Within 90 meters", "metric_m90": "Entro 90 metri",
"metric_m50": "Within 50 meters", "metric_m50": "Entro 50 metri",
"imperial_mi15": "Within 15 miles", "imperial_mi15": "Entro 15 miglia",
"imperial_mi7_3": "Within 7.3 miles", "imperial_mi7_3": "Entro 7,3 miglia",
"imperial_mi3_6": "Within 3.6 miles", "imperial_mi3_6": "Entro 3,6 miglia",
"imperial_mi1_8": "Within 1.8 miles", "imperial_mi1_8": "Entro 1,8 miglia",
"imperial_mi0_9": "Within 0.9 miles", "imperial_mi0_9": "Entro 0,9 miglia",
"imperial_mi0_5": "Within 0.5 miles", "imperial_mi0_5": "Entro 0,5 miglia",
"imperial_mi0_2": "Within 0.2 miles", "imperial_mi0_2": "Entro 0,2 miglia",
"imperial_ft600": "Within 600 feet", "imperial_ft600": "Entro 600 piedi",
"imperial_ft300": "Within 300 feet", "imperial_ft300": "Entro 300 piedi",
"imperial_ft150": "Within 150 feet" "imperial_ft150": "Entro 150 piedi"
} }
} }
} }

40
src/i18n/locales/it-IT/commandPalette.json

@ -1,50 +1,50 @@
{ {
"emptyState": "No results found.", "emptyState": "Nessun risultato trovato.",
"page": { "page": {
"title": "Command Menu" "title": "Menu Comandi"
}, },
"pinGroup": { "pinGroup": {
"label": "Pin command group" "label": "Fissa gruppo comandi"
}, },
"unpinGroup": { "unpinGroup": {
"label": "Unpin command group" "label": "Rimuovi gruppo comandi"
}, },
"goto": { "goto": {
"label": "Goto", "label": "Vai a",
"command": { "command": {
"messages": "Messaggi", "messages": "Messaggi",
"map": "Mappa", "map": "Mappa",
"config": "Config", "config": "Configurazione",
"channels": "Canali", "channels": "Canali",
"nodes": "Nodi" "nodes": "Nodi"
} }
}, },
"manage": { "manage": {
"label": "Manage", "label": "Gestisci",
"command": { "command": {
"switchNode": "Switch Node", "switchNode": "Cambia Nodo",
"connectNewNode": "Connect New Node" "connectNewNode": "Connetti Nuovo Nodo"
} }
}, },
"contextual": { "contextual": {
"label": "Contextual", "label": "Contestuale",
"command": { "command": {
"qrCode": "QR Code", "qrCode": "Codice QR",
"qrGenerator": "Generator", "qrGenerator": "Generatore",
"qrImport": "Importa", "qrImport": "Importa",
"scheduleShutdown": "Schedule Shutdown", "scheduleShutdown": "Pianifica Spegnimento",
"scheduleReboot": "Schedule Reboot", "scheduleReboot": "Pianifica Riavvio",
"rebootToOtaMode": "Reboot To OTA Mode", "rebootToOtaMode": "Riavvia In Modalità OTA",
"resetNodeDb": "Reset Node DB", "resetNodeDb": "Resetta DB dei Nodi",
"factoryResetDevice": "Factory Reset Device", "factoryResetDevice": "Factory reset dispositivo",
"factoryResetConfig": "Factory Reset Config" "factoryResetConfig": "Factory reset impostazioni"
} }
}, },
"debug": { "debug": {
"label": "Debug", "label": "Debug",
"command": { "command": {
"reconfigure": "Reconfigure", "reconfigure": "Riconfigura",
"clearAllStoredMessages": "Clear All Stored Message" "clearAllStoredMessages": "Cancella Tutti i Messaggi Memorizzati"
} }
} }
} }

120
src/i18n/locales/it-IT/common.json

@ -1,36 +1,37 @@
{ {
"button": { "button": {
"apply": "Applica", "apply": "Applica",
"backupKey": "Backup Key", "backupKey": "Backup della chiave",
"cancel": "Annulla", "cancel": "Annulla",
"clearMessages": "Clear Messages", "clearMessages": "Cancella Messaggi",
"close": "Chiudi", "close": "Chiudi",
"confirm": "Confirm", "confirm": "Conferma",
"delete": "Elimina", "delete": "Elimina",
"dismiss": "Dismiss", "dismiss": "Annulla",
"download": "Download", "download": "Scarica",
"export": "Export", "export": "Esporta",
"generate": "Generate", "generate": "Genera",
"regenerate": "Regenerate", "regenerate": "Rigenera",
"import": "Importa", "import": "Importa",
"message": "Messaggio", "message": "Messaggio",
"now": "Now", "now": "Adesso",
"ok": "Ok", "ok": "Ok",
"print": "Print", "print": "Stampa",
"rebootOtaNow": "Reboot to OTA Mode Now", "rebootOtaNow": "Riavvia ora in modalità OTA",
"remove": "Elimina", "remove": "Elimina",
"requestNewKeys": "Request New Keys", "requestNewKeys": "Richiedi Nuove Chiavi",
"requestPosition": "Request Position", "requestPosition": "Richiedi posizione",
"reset": "Reset", "reset": "Reset",
"save": "Salva", "save": "Salva",
"scanQr": "Scansiona codice QR", "scanQr": "Scansiona codice QR",
"traceRoute": "Trace Route" "traceRoute": "Trace Route",
"submit": "Submit"
}, },
"app": { "app": {
"title": "Meshtastic", "title": "Meshtastic",
"fullTitle": "Meshtastic Web Client" "fullTitle": "Meshtastic Web Client"
}, },
"loading": "Loading...", "loading": "Caricamento in corso...",
"unit": { "unit": {
"cps": "CPS", "cps": "CPS",
"dbm": "dBm", "dbm": "dBm",
@ -40,80 +41,101 @@
"plural": "Hops" "plural": "Hops"
}, },
"hopsAway": { "hopsAway": {
"one": "{{count}} hop away", "one": "A {{count}} hop di distanza",
"plural": "{{count}} hops away", "plural": "A {{count}} hop di distanza",
"unknown": "Unknown hops away" "unknown": "Hop sconosciuti"
}, },
"megahertz": "MHz", "megahertz": "MHz",
"raw": "raw", "raw": "grezzo",
"meter": { "meter": {
"one": "Meter", "one": "Metro",
"plural": "Meters", "plural": "Metri",
"suffix": "m" "suffix": "m"
}, },
"minute": { "minute": {
"one": "Minute", "one": "Minuto",
"plural": "Minutes" "plural": "Minuti"
},
"hour": {
"one": "Hour",
"plural": "Hours"
}, },
"millisecond": { "millisecond": {
"one": "Millisecond", "one": "Millisecondo",
"plural": "Milliseconds", "plural": "Millisecondi",
"suffix": "ms" "suffix": "ms"
}, },
"second": { "second": {
"one": "Second", "one": "Secondo",
"plural": "Seconds" "plural": "Secondi"
},
"day": {
"one": "Day",
"plural": "Days"
},
"month": {
"one": "Month",
"plural": "Months"
},
"year": {
"one": "Year",
"plural": "Years"
}, },
"snr": "SNR", "snr": "SNR",
"volt": { "volt": {
"one": "Volt", "one": "Volt",
"plural": "Volts", "plural": "Volt",
"suffix": "V" "suffix": "V"
}, },
"record": { "record": {
"one": "Records", "one": "Record",
"plural": "Records" "plural": "Record"
} }
}, },
"security": { "security": {
"0bit": "Empty",
"8bit": "8 bit",
"128bit": "128 bit",
"256bit": "256 bit" "256bit": "256 bit"
}, },
"unknown": { "unknown": {
"longName": "Unknown", "longName": "Sconosciuto",
"shortName": "UNK", "shortName": "SCON",
"notAvailable": "N/A", "notAvailable": "N/D",
"num": "??" "num": "??"
}, },
"nodeUnknownPrefix": "!", "nodeUnknownPrefix": "!",
"unset": "UNSET", "unset": "ANNULLA",
"fallbackName": "Meshtastic {{last4}}", "fallbackName": "Meshtastic {{last4}}",
"node": "Node",
"formValidation": { "formValidation": {
"unsavedChanges": "Unsaved changes",
"tooBig": { "tooBig": {
"string": "Too long, expected less than or equal to {{maximum}} characters.", "string": "Troppo lungo, atteso minore o uguale a {{maximum}} caratteri.",
"number": "Too big, expected a number smaller than or equal to {{maximum}}.", "number": "Troppo grande, ci si aspetta un numero minore o uguale a {{maximum}}.",
"bytes": "Too big, expected less than or equal to {{params.maximum}} bytes." "bytes": "Troppo grande, atteso inferiore o uguale a {{params.maximum}} byte."
}, },
"tooSmall": { "tooSmall": {
"string": "Too short, expected more than or equal to {{minimum}} characters.", "string": "Troppo breve, atteso più di o uguale a {{minimum}} caratteri.",
"number": "Too small, expected a number larger than or equal to {{minimum}}." "number": "Troppo piccolo, atteso un numero maggiore o uguale a {{minimum}}."
}, },
"invalidFormat": { "invalidFormat": {
"ipv4": "Invalid format, expected an IPv4 address.", "ipv4": "Formato non valido, previsto un indirizzo IPv4.",
"key": "Invalid format, expected a Base64 encoded pre-shared key (PSK)." "key": "Formato non valido, prevista una chiave pre-condivisa codificata Base64 (PSK)."
}, },
"invalidType": { "invalidType": {
"number": "Invalid type, expected a number." "number": "Tipo non valido, atteso un numero."
}, },
"pskLength": { "pskLength": {
"0bit": "Key is required to be empty.", "0bit": "La chiave deve essere vuota.",
"8bit": "Key is required to be an 8 bit pre-shared key (PSK).", "8bit": "La chiave deve essere una chiave pre-condivisa a 8 bit (PSK).",
"128bit": "Key is required to be a 128 bit pre-shared key (PSK).", "128bit": "La chiave deve essere una chiave pre-condivisa a 128 bit (PSK).",
"256bit": "Key is required to be a 256 bit pre-shared key (PSK)." "256bit": "La chiave deve essere una chiave pre-condivisa a 256 bit (PSK)."
}, },
"required": { "required": {
"generic": "This field is required.", "generic": "Questo campo è obbligatorio.",
"managed": "At least one admin key is requred if the node is managed.", "managed": "Se il nodo è gestito, è richiesta almeno una chiave amministrativa.",
"key": "Key is required." "key": "La chiave è obbligatoria."
} }
} }
} }

10
src/i18n/locales/it-IT/dashboard.json

@ -1,12 +1,12 @@
{ {
"dashboard": { "dashboard": {
"title": "Connected Devices", "title": "Dispositivi Connessi",
"description": "Manage your connected Meshtastic devices.", "description": "Gestisci i tuoi dispositivi Meshtastic collegati.",
"connectionType_ble": "BLE", "connectionType_ble": "BLE",
"connectionType_serial": "Seriale", "connectionType_serial": "Seriale",
"connectionType_network": "Rete", "connectionType_network": "Rete",
"noDevicesTitle": "No devices connected", "noDevicesTitle": "Nessun dispositivo connesso",
"noDevicesDescription": "Connect a new device to get started.", "noDevicesDescription": "Connetti un nuovo dispositivo per iniziare.",
"button_newConnection": "New Connection" "button_newConnection": "Nuova connessione"
} }
} }

372
src/i18n/locales/it-IT/deviceConfig.json

@ -1,6 +1,6 @@
{ {
"page": { "page": {
"title": "Configuration", "title": "Configurazione",
"tabBluetooth": "Bluetooth", "tabBluetooth": "Bluetooth",
"tabDevice": "Dispositivo", "tabDevice": "Dispositivo",
"tabDisplay": "Schermo", "tabDisplay": "Schermo",
@ -11,150 +11,150 @@
"tabSecurity": "Sicurezza" "tabSecurity": "Sicurezza"
}, },
"sidebar": { "sidebar": {
"label": "Modules" "label": "Moduli"
}, },
"device": { "device": {
"title": "Device Settings", "title": "Impostazioni del dispositivo",
"description": "Settings for the device", "description": "Le impostazioni del dispositivo",
"buttonPin": { "buttonPin": {
"description": "Button pin override", "description": "Sovrascrivi pin pulsante",
"label": "Button Pin" "label": "Pulsante Pin"
}, },
"buzzerPin": { "buzzerPin": {
"description": "Buzzer pin override", "description": "Sovrascrivi pin buzzer",
"label": "Buzzer Pin" "label": "Pin Buzzer"
}, },
"disableTripleClick": { "disableTripleClick": {
"description": "Disable triple click", "description": "Disabilita triplo-click",
"label": "Disable Triple Click" "label": "Disabilita triplo-click"
}, },
"doubleTapAsButtonPress": { "doubleTapAsButtonPress": {
"description": "Treat double tap as button press", "description": "Tratta il doppio tocco come pressione pulsante",
"label": "Double Tap as Button Press" "label": "Doppio tocco come pressione pulsante"
}, },
"ledHeartbeatDisabled": { "ledHeartbeatDisabled": {
"description": "Disable default blinking LED", "description": "Disabilita il LED lampeggiante predefinito",
"label": "LED Heartbeat Disabled" "label": "LED Heartbeat Disabilitato"
}, },
"nodeInfoBroadcastInterval": { "nodeInfoBroadcastInterval": {
"description": "How often to broadcast node info", "description": "Quante volte trasmettere informazioni sul nodo",
"label": "Node Info Broadcast Interval" "label": "Intervallo Di Trasmissione Info Nodo"
}, },
"posixTimezone": { "posixTimezone": {
"description": "The POSIX timezone string for the device", "description": "La stringa di fuso orario POSIX per il dispositivo",
"label": "POSIX Timezone" "label": "POSIX Timezone"
}, },
"rebroadcastMode": { "rebroadcastMode": {
"description": "How to handle rebroadcasting", "description": "Come gestire il rebroadcasting",
"label": "Rebroadcast Mode" "label": "Modalità Rebroadcast"
}, },
"role": { "role": {
"description": "What role the device performs on the mesh", "description": "Quale ruolo il dispositivo svolge sulla mesh",
"label": "Ruolo" "label": "Ruolo"
} }
}, },
"bluetooth": { "bluetooth": {
"title": "Bluetooth Settings", "title": "Impostazioni Bluetooth",
"description": "Settings for the Bluetooth module", "description": "Impostazioni per il modulo Bluetooth",
"note": "Note: Some devices (ESP32) cannot use both Bluetooth and WiFi at the same time.", "note": "Nota: alcuni dispositivi (ESP32) non possono utilizzare contemporaneamente Bluetooth e WiFi.",
"enabled": { "enabled": {
"description": "Enable or disable Bluetooth", "description": "Abilita o disabilita Bluetooth",
"label": "Enabled" "label": "Abilitato"
}, },
"pairingMode": { "pairingMode": {
"description": "Pin selection behaviour.", "description": "Comportamento di selezione pin.",
"label": "Modalità abbinamento" "label": "Modalità abbinamento"
}, },
"pin": { "pin": {
"description": "Pin to use when pairing", "description": "Pin da usare durante l'abbinamento",
"label": "Pin" "label": "Pin"
} }
}, },
"display": { "display": {
"description": "Settings for the device display", "description": "Impostazioni per il display del dispositivo",
"title": "Display Settings", "title": "Impostazioni Display",
"headingBold": { "headingBold": {
"description": "Bolden the heading text", "description": "Metti in grassetto il testo dell'intestazione",
"label": "Bold Heading" "label": "Intestazione in grassetto"
}, },
"carouselDelay": { "carouselDelay": {
"description": "How fast to cycle through windows", "description": "Quanto velocemente scorrere attraverso le finestre",
"label": "Carousel Delay" "label": "Ritardo Carosello"
}, },
"compassNorthTop": { "compassNorthTop": {
"description": "Fix north to the top of compass", "description": "Fissare il nord fino alla parte superiore della bussola",
"label": "Compass North Top" "label": "Bussola Nord In Alto"
}, },
"displayMode": { "displayMode": {
"description": "Screen layout variant", "description": "Variante layout schermo",
"label": "Display Mode" "label": "Modalità di visualizzazione"
}, },
"displayUnits": { "displayUnits": {
"description": "Display metric or imperial units", "description": "Mostra unità metriche o imperiali",
"label": "Display Units" "label": "Mostra Unità"
}, },
"flipScreen": { "flipScreen": {
"description": "Flip display 180 degrees", "description": "Rifletti la visualizzazione di 180 gradi",
"label": "Flip Screen" "label": "Capovolgi schermo"
}, },
"gpsDisplayUnits": { "gpsDisplayUnits": {
"description": "Coordinate display format", "description": "Formato coordinate",
"label": "GPS Display Units" "label": "Unità Display GPS"
}, },
"oledType": { "oledType": {
"description": "Type of OLED screen attached to the device", "description": "Tipo di schermo OLED collegato al dispositivo",
"label": "OLED Type" "label": "Tipo OLED"
}, },
"screenTimeout": { "screenTimeout": {
"description": "Turn off the display after this long", "description": "Spegni lo schermo dopo questo lungo periodo",
"label": "Screen Timeout" "label": "Timeout Schermo"
}, },
"twelveHourClock": { "twelveHourClock": {
"description": "Use 12-hour clock format", "description": "Usa formato orologio 12 ore",
"label": "12-Hour Clock" "label": "Orologio 12 Ore"
}, },
"wakeOnTapOrMotion": { "wakeOnTapOrMotion": {
"description": "Wake the device on tap or motion", "description": "Risveglia il dispositivo al tocco o al movimento",
"label": "Wake on Tap or Motion" "label": "Sveglia al tocco o al movimento"
} }
}, },
"lora": { "lora": {
"title": "Mesh Settings", "title": "Impostazioni Mesh",
"description": "Settings for the LoRa mesh", "description": "Impostazioni per la mesh LoRa",
"bandwidth": { "bandwidth": {
"description": "Channel bandwidth in MHz", "description": "Larghezza di banda del canale in MHz",
"label": "Larghezza di banda" "label": "Larghezza di banda"
}, },
"boostedRxGain": { "boostedRxGain": {
"description": "Boosted RX gain", "description": "Guadagno RX potenziato",
"label": "Boosted RX Gain" "label": "Guadagno RX potenziato"
}, },
"codingRate": { "codingRate": {
"description": "The denominator of the coding rate", "description": "Il denominatore della velocità di codifica",
"label": "Coding Rate" "label": "Velocità di codifica"
}, },
"frequencyOffset": { "frequencyOffset": {
"description": "Frequency offset to correct for crystal calibration errors", "description": "Offset di frequenza per correggere gli errori di calibrazione del cristallo",
"label": "Frequency Offset" "label": "Offset Di Frequenza"
}, },
"frequencySlot": { "frequencySlot": {
"description": "LoRa frequency channel number", "description": "Numero canale di frequenza LoRa",
"label": "Frequency Slot" "label": "Slot di frequenza"
}, },
"hopLimit": { "hopLimit": {
"description": "Maximum number of hops", "description": "Numero massimo di hop",
"label": "Hop Limit" "label": "Limite di hop"
}, },
"ignoreMqtt": { "ignoreMqtt": {
"description": "Don't forward MQTT messages over the mesh", "description": "Non inoltrare i messaggi MQTT sulla mesh",
"label": "Ignora MQTT" "label": "Ignora MQTT"
}, },
"modemPreset": { "modemPreset": {
"description": "Modem preset to use", "description": "Preimpostazione modem da usare",
"label": "Configurazione Modem" "label": "Configurazione Modem"
}, },
"okToMqtt": { "okToMqtt": {
"description": "When set to true, this configuration indicates that the user approves the packet to be uploaded to MQTT. If set to false, remote nodes are requested not to forward packets to MQTT", "description": "Quando impostato su true, questa configurazione indica che l'utente approva il caricamento del pacchetto su MQTT. Se impostato su false, ai nodi remoti viene richiesto di non inoltrare i pacchetti a MQTT",
"label": "OK per MQTT" "label": "OK per MQTT"
}, },
"overrideDutyCycle": { "overrideDutyCycle": {
@ -162,267 +162,267 @@
"label": "Ignora limite di Duty Cycle" "label": "Ignora limite di Duty Cycle"
}, },
"overrideFrequency": { "overrideFrequency": {
"description": "Override frequency", "description": "Sovrascrivi frequenza",
"label": "Override Frequency" "label": "Sovrascrivi frequenza"
}, },
"region": { "region": {
"description": "Sets the region for your node", "description": "Imposta la regione del tuo nodo",
"label": "Regione" "label": "Regione"
}, },
"spreadingFactor": { "spreadingFactor": {
"description": "Indicates the number of chirps per symbol", "description": "Indica il numero di chirp per simbolo",
"label": "Spreading Factor" "label": "Spreading Factor"
}, },
"transmitEnabled": { "transmitEnabled": {
"description": "Enable/Disable transmit (TX) from the LoRa radio", "description": "Abilita/Disabilita la trasmissione (TX) dalla radio LoRa",
"label": "Transmit Enabled" "label": "Trasmissione Abilitata"
}, },
"transmitPower": { "transmitPower": {
"description": "Max transmit power", "description": "Potenza massima di trasmissione",
"label": "Transmit Power" "label": "Potenza Di Trasmissione"
}, },
"usePreset": { "usePreset": {
"description": "Use one of the predefined modem presets", "description": "Usa una delle preimpostazioni predefinite del modem",
"label": "Use Preset" "label": "Utilizza il preset"
}, },
"meshSettings": { "meshSettings": {
"description": "Settings for the LoRa mesh", "description": "Impostazioni per la mesh LoRa",
"label": "Mesh Settings" "label": "Impostazioni Mesh"
}, },
"waveformSettings": { "waveformSettings": {
"description": "Settings for the LoRa waveform", "description": "Impostazioni per la forma d'onda LoRa",
"label": "Waveform Settings" "label": "Impostazioni Forma d'onda"
}, },
"radioSettings": { "radioSettings": {
"label": "Radio Settings", "label": "Impostazioni Radio",
"description": "Settings for the LoRa radio" "description": "Impostazioni per la radio LoRa"
} }
}, },
"network": { "network": {
"title": "WiFi Config", "title": "Configurazione WiFi",
"description": "WiFi radio configuration", "description": "Configurazione radio WiFi",
"note": "Note: Some devices (ESP32) cannot use both Bluetooth and WiFi at the same time.", "note": "Nota: alcuni dispositivi (ESP32) non possono utilizzare contemporaneamente Bluetooth e WiFi.",
"addressMode": { "addressMode": {
"description": "Address assignment selection", "description": "Selezione assegnazione indirizzo",
"label": "Address Mode" "label": "Modalità Indirizzo"
}, },
"dns": { "dns": {
"description": "DNS Server", "description": "Server DNS",
"label": "DNS" "label": "DNS"
}, },
"ethernetEnabled": { "ethernetEnabled": {
"description": "Enable or disable the Ethernet port", "description": "Abilita o disabilita la porta Ethernet",
"label": "Enabled" "label": "Abilitato"
}, },
"gateway": { "gateway": {
"description": "Default Gateway", "description": "Gateway predefinito",
"label": "Gateway" "label": "Gateway"
}, },
"ip": { "ip": {
"description": "IP Address", "description": "Indirizzo IP",
"label": "IP" "label": "IP"
}, },
"psk": { "psk": {
"description": "Network password", "description": "Password di rete",
"label": "PSK" "label": "PSK"
}, },
"ssid": { "ssid": {
"description": "Network name", "description": "Nome rete",
"label": "SSID" "label": "SSID"
}, },
"subnet": { "subnet": {
"description": "Subnet Mask", "description": "Subnet mask",
"label": "Subnet" "label": "Subnet"
}, },
"wifiEnabled": { "wifiEnabled": {
"description": "Enable or disable the WiFi radio", "description": "Abilita o disabilita la radio WiFi",
"label": "Enabled" "label": "Abilitato"
}, },
"meshViaUdp": { "meshViaUdp": {
"label": "Mesh via UDP" "label": "Mesh via UDP"
}, },
"ntpServer": { "ntpServer": {
"label": "NTP Server" "label": "Server NTP"
}, },
"rsyslogServer": { "rsyslogServer": {
"label": "Rsyslog Server" "label": "Server rsyslog"
}, },
"ethernetConfigSettings": { "ethernetConfigSettings": {
"description": "Ethernet port configuration", "description": "Configurazione porta Ethernet",
"label": "Ethernet Config" "label": "Configurazione Ethernet"
}, },
"ipConfigSettings": { "ipConfigSettings": {
"description": "IP configuration", "description": "Configurazione IP",
"label": "IP Config" "label": "Configurazione IP"
}, },
"ntpConfigSettings": { "ntpConfigSettings": {
"description": "NTP configuration", "description": "Configurazione NTP",
"label": "NTP Config" "label": "Configurazione NTP"
}, },
"rsyslogConfigSettings": { "rsyslogConfigSettings": {
"description": "Rsyslog configuration", "description": "Configurazione di Rsyslog",
"label": "Rsyslog Config" "label": "Configurazione di Rsyslog"
}, },
"udpConfigSettings": { "udpConfigSettings": {
"description": "UDP over Mesh configuration", "description": "Configurazione UDP over Mesh",
"label": "Configurazione UDP" "label": "Configurazione UDP"
} }
}, },
"position": { "position": {
"title": "Position Settings", "title": "Impostazioni Posizione",
"description": "Settings for the position module", "description": "Impostazioni per il modulo di posizione",
"broadcastInterval": { "broadcastInterval": {
"description": "How often your position is sent out over the mesh", "description": "Quante volte la tua posizione viene inviata attraverso la mesh",
"label": "Broadcast Interval" "label": "Intervallo Di Trasmissione"
}, },
"enablePin": { "enablePin": {
"description": "GPS module enable pin override", "description": "Modulo GPS abilita pin override",
"label": "Enable Pin" "label": "Abilita Pin"
}, },
"fixedPosition": { "fixedPosition": {
"description": "Don't report GPS position, but a manually-specified one", "description": "Non segnalare la posizione GPS, ma specificane una manualmente",
"label": "Fixed Position" "label": "Posizione Fissa"
}, },
"gpsMode": { "gpsMode": {
"description": "Configure whether device GPS is Enabled, Disabled, or Not Present", "description": "Configura se il GPS del dispositivo è abilitato, disabilitato o non presente",
"label": "GPS Mode" "label": "Modalità GPS"
}, },
"gpsUpdateInterval": { "gpsUpdateInterval": {
"description": "How often a GPS fix should be acquired", "description": "Quante volte una correzione GPS dovrebbe essere acquisita",
"label": "GPS Update Interval" "label": "Intervallo di aggiornamento GPS"
}, },
"positionFlags": { "positionFlags": {
"description": "Optional fields to include when assembling position messages. The more fields are selected, the larger the message will be leading to longer airtime usage and a higher risk of packet loss.", "description": "Campi opzionali da includere quando si assemblano messaggi di posizione. Più i campi sono selezionati, più grande sarà il messaggio porterà a un utilizzo più lungo del tempo di volo e un rischio più elevato di perdite dei pacchetti.",
"label": "Position Flags" "label": "Flag Di Posizione"
}, },
"receivePin": { "receivePin": {
"description": "GPS module RX pin override", "description": "Sovrascrivi RX pin del Modulo GPS",
"label": "Receive Pin" "label": "Pin di ricezione"
}, },
"smartPositionEnabled": { "smartPositionEnabled": {
"description": "Only send position when there has been a meaningful change in location", "description": "Invia posizione solo quando c'è stato un cambiamento significativo nella posizione",
"label": "Enable Smart Position" "label": "Abilita Posizione Intelligente"
}, },
"smartPositionMinDistance": { "smartPositionMinDistance": {
"description": "Minimum distance (in meters) that must be traveled before a position update is sent", "description": "Distanza minima (in metri) che deve essere percorsa prima di inviare un aggiornamento di posizione",
"label": "Smart Position Minimum Distance" "label": "Distanza Minima Posizione Intelligente"
}, },
"smartPositionMinInterval": { "smartPositionMinInterval": {
"description": "Minimum interval (in seconds) that must pass before a position update is sent", "description": "Intervallo minimo (in secondi) che deve passare prima di inviare un aggiornamento della posizione",
"label": "Smart Position Minimum Interval" "label": "Intervallo Minimo Posizione Intelligente"
}, },
"transmitPin": { "transmitPin": {
"description": "GPS module TX pin override", "description": "Sovrascrivi TX pin del Modulo GPS",
"label": "Transmit Pin" "label": "Pin di trasmissione"
}, },
"intervalsSettings": { "intervalsSettings": {
"description": "How often to send position updates", "description": "Quante volte inviare aggiornamenti di posizione",
"label": "Intervals" "label": "Intervalli"
}, },
"flags": { "flags": {
"placeholder": "Select position flags...", "placeholder": "Seleziona flag di posizione...",
"altitude": "Altitude", "altitude": "Altitudine",
"altitudeGeoidalSeparation": "Altitude Geoidal Separation", "altitudeGeoidalSeparation": "Altitudine Separazione Geoidale",
"altitudeMsl": "Altitude is Mean Sea Level", "altitudeMsl": "L'altitudine è riferita al livello medio del mare",
"dop": "Dilution of precision (DOP) PDOP used by default", "dop": "Diluizione del PDOP di precisione (DOP) utilizzato per impostazione predefinita",
"hdopVdop": "If DOP is set, use HDOP / VDOP values instead of PDOP", "hdopVdop": "Se DOP è impostato, usa i valori HDOP / VDOP invece di PDOP",
"numSatellites": "Number of satellites", "numSatellites": "Numero di satelliti",
"sequenceNumber": "Sequence number", "sequenceNumber": "Numero sequenza",
"timestamp": "Data e ora", "timestamp": "Data e ora",
"unset": "Non impostato", "unset": "Non impostato",
"vehicleHeading": "Vehicle heading", "vehicleHeading": "Direzione del veicolo",
"vehicleSpeed": "Vehicle speed" "vehicleSpeed": "Velocità del veicolo"
} }
}, },
"power": { "power": {
"adcMultiplierOverride": { "adcMultiplierOverride": {
"description": "Used for tweaking battery voltage reading", "description": "Utilizzato per modificare la lettura della tensione della batteria",
"label": "ADC Multiplier Override ratio" "label": "Sovrascrivi rapporto moltiplicatore ADC"
}, },
"ina219Address": { "ina219Address": {
"description": "Address of the INA219 battery monitor", "description": "Indirizzo del monitor batteria INA219",
"label": "INA219 Address" "label": "Indirizzo INA219"
}, },
"lightSleepDuration": { "lightSleepDuration": {
"description": "How long the device will be in light sleep for", "description": "Per quanto tempo il dispositivo sarà in light sleep",
"label": "Light Sleep Duration" "label": "Durata light sleep"
}, },
"minimumWakeTime": { "minimumWakeTime": {
"description": "Minimum amount of time the device will stay awake for after receiving a packet", "description": "Quantità minima di tempo che il dispositivo rimarrà attivo per dopo aver ricevuto un pacchetto",
"label": "Minimum Wake Time" "label": "Tempo Di Risveglio Minimo"
}, },
"noConnectionBluetoothDisabled": { "noConnectionBluetoothDisabled": {
"description": "If the device does not receive a Bluetooth connection, the BLE radio will be disabled after this long", "description": "Se il dispositivo non riceve una connessione Bluetooth, la radio BLE sarà disattivata dopo questo lungo periodo",
"label": "No Connection Bluetooth Disabled" "label": "Nessuna Connessione Bluetooth Disabilitata"
}, },
"powerSavingEnabled": { "powerSavingEnabled": {
"description": "Select if powered from a low-current source (i.e. solar), to minimize power consumption as much as possible.", "description": "Selezionare se alimentato da una fonte a bassa corrente (cioè solare) per minimizzare il consumo energetico il più possibile.",
"label": "Abilita modalità risparmio energetico" "label": "Abilita modalità risparmio energetico"
}, },
"shutdownOnBatteryDelay": { "shutdownOnBatteryDelay": {
"description": "Automatically shutdown node after this long when on battery, 0 for indefinite", "description": "Spegnimento automatico del nodo dopo questo lungo quando la batteria, 0 per indefinito",
"label": "Shutdown on battery delay" "label": "Arresto in ritardo della batteria"
}, },
"superDeepSleepDuration": { "superDeepSleepDuration": {
"description": "How long the device will be in super deep sleep for", "description": "Per quanto tempo il dispositivo sarà in deep sleep",
"label": "Super Deep Sleep Duration" "label": "Durata Super Deep Sleep"
}, },
"powerConfigSettings": { "powerConfigSettings": {
"description": "Settings for the power module", "description": "Impostazioni per il modulo di alimentazione",
"label": "Configurazione Alimentazione" "label": "Configurazione Alimentazione"
}, },
"sleepSettings": { "sleepSettings": {
"description": "Sleep settings for the power module", "description": "Impostazioni di sospensione per il modulo di alimentazione",
"label": "Sleep Settings" "label": "Impostazioni Sleep"
} }
}, },
"security": { "security": {
"description": "Settings for the Security configuration", "description": "Impostazioni per la configurazione di sicurezza",
"title": "Security Settings", "title": "Impostazioni di Sicurezza",
"button_backupKey": "Backup Key", "button_backupKey": "Chiave Di Backup",
"adminChannelEnabled": { "adminChannelEnabled": {
"description": "Allow incoming device control over the insecure legacy admin channel", "description": "Consenti il controllo del dispositivo in arrivo sul canale di amministrazione ereditato insicuro",
"label": "Allow Legacy Admin" "label": "Consenti Amministrazione Legacy"
}, },
"enableDebugLogApi": { "enableDebugLogApi": {
"description": "Output live debug logging over serial, view and export position-redacted device logs over Bluetooth", "description": "Output live debug logging su seriale, visualizza ed esporta i log di posizione dei dispositivi redatti su Bluetooth",
"label": "Enable Debug Log API" "label": "Abilita Debug Log API"
}, },
"managed": { "managed": {
"description": "If enabled, device configuration options are only able to be changed remotely by a Remote Admin node via admin messages. Do not enable this option unless at least one suitable Remote Admin node has been setup, and the public key is stored in one of the fields above.", "description": "Se abilitata, le opzioni di configurazione del dispositivo possono essere modificate solo in remoto da un nodo di amministrazione remota tramite messaggi amministratori. Non abilitare questa opzione a meno che non sia stato configurato almeno un nodo Admin Remoto adatto, e la chiave pubblica è memorizzata in uno dei campi precedenti.",
"label": "Managed" "label": "Gestito"
}, },
"privateKey": { "privateKey": {
"description": "Used to create a shared key with a remote device", "description": "Usato per creare una chiave condivisa con un dispositivo remoto",
"label": "Chiave Privata" "label": "Chiave Privata"
}, },
"publicKey": { "publicKey": {
"description": "Sent out to other nodes on the mesh to allow them to compute a shared secret key", "description": "Inviato ad altri nodi sulla mesh per consentire loro di calcolare una chiave segreta condivisa",
"label": "Chiave Pubblica" "label": "Chiave Pubblica"
}, },
"primaryAdminKey": { "primaryAdminKey": {
"description": "The primary public key authorized to send admin messages to this node", "description": "La chiave pubblica primaria autorizzata a inviare messaggi di amministrazione a questo nodo",
"label": "Primary Admin Key" "label": "Chiave Primaria Dell'Amministratore"
}, },
"secondaryAdminKey": { "secondaryAdminKey": {
"description": "The secondary public key authorized to send admin messages to this node", "description": "La chiave pubblica secondaria autorizzata a inviare messaggi di amministrazione a questo nodo",
"label": "Secondary Admin Key" "label": "Chiave Secondaria Dell'Amministratore"
}, },
"serialOutputEnabled": { "serialOutputEnabled": {
"description": "Serial Console over the Stream API", "description": "Console seriale attraverso la Stream API",
"label": "Serial Output Enabled" "label": "Output Seriale Abilitato"
}, },
"tertiaryAdminKey": { "tertiaryAdminKey": {
"description": "The tertiary public key authorized to send admin messages to this node", "description": "La chiave pubblica terziaria autorizzata a inviare messaggi di amministrazione a questo nodo",
"label": "Tertiary Admin Key" "label": "Chiave Di Amministrazione Terziaria"
}, },
"adminSettings": { "adminSettings": {
"description": "Settings for Admin", "description": "Impostazioni per Amministratore",
"label": "Admin Settings" "label": "Impostazioni Amministratore"
}, },
"loggingSettings": { "loggingSettings": {
"description": "Settings for Logging", "description": "Impostazioni per il logging",
"label": "Logging Settings" "label": "Impostazioni Di Logging"
} }
} }
} }

194
src/i18n/locales/it-IT/dialog.json

@ -1,159 +1,171 @@
{ {
"deleteMessages": { "deleteMessages": {
"description": "This action will clear all message history. This cannot be undone. Are you sure you want to continue?", "description": "Questa azione cancellerà tutta la cronologia dei messaggi. Non può essere annullata. Sei sicuro di voler continuare?",
"title": "Clear All Messages" "title": "Cancella Tutti I Messaggi"
}, },
"deviceName": { "deviceName": {
"description": "The Device will restart once the config is saved.", "description": "Il dispositivo verrà riavviato una volta salvata la configurazione.",
"longName": "Long Name", "longName": "Nome Lungo",
"shortName": "Short Name", "shortName": "Nome Breve",
"title": "Change Device Name" "title": "Cambia Nome Dispositivo"
}, },
"import": { "import": {
"description": "The current LoRa configuration will be overridden.", "description": "La configurazione attuale di LoRa sarà sovrascritta.",
"error": { "error": {
"invalidUrl": "Invalid Meshtastic URL" "invalidUrl": "URL Meshtastic non valido"
}, },
"channelPrefix": "Channel: ", "channelPrefix": "Canale: ",
"channelSetUrl": "Channel Set/QR Code URL", "channelSetUrl": "URL del Set di Canali/Codice QR",
"channels": "Channels:", "channels": "Canali:",
"usePreset": "Use Preset?", "usePreset": "Utilizza il preset?",
"title": "Import Channel Set" "title": "Importa Set Canale"
}, },
"locationResponse": { "locationResponse": {
"altitude": "Altitude: ", "altitude": "Altitudine: ",
"coordinates": "Coordinates: ", "coordinates": "Coordinate: ",
"title": "Location: {{identifier}}" "title": "Posizione: {{identifier}}"
}, },
"pkiRegenerateDialog": { "pkiRegenerateDialog": {
"title": "Regenerate Pre-Shared Key?", "title": "Rigenerare La Chiave Pre-Condivisa?",
"description": "Are you sure you want to regenerate the pre-shared key?", "description": "Sei sicuro di voler rigenerare la chiave pre-condivisa?",
"regenerate": "Regenerate" "regenerate": "Rigenera"
}, },
"newDeviceDialog": { "newDeviceDialog": {
"title": "Connect New Device", "title": "Connetti Nuovo Dispositivo",
"https": "https", "https": "https",
"http": "http", "http": "http",
"tabHttp": "HTTP", "tabHttp": "HTTP",
"tabBluetooth": "Bluetooth", "tabBluetooth": "Bluetooth",
"tabSerial": "Seriale", "tabSerial": "Seriale",
"useHttps": "Use HTTPS", "useHttps": "Usa HTTPS",
"connecting": "Connecting...", "connecting": "Connessione in corso...",
"connect": "Connect", "connect": "Connetti",
"connectionFailedAlert": { "connectionFailedAlert": {
"title": "Connection Failed", "title": "Connessione fallita",
"descriptionPrefix": "Could not connect to the device. ", "descriptionPrefix": "Impossibile connettersi al dispositivo.",
"httpsHint": "If using HTTPS, you may need to accept a self-signed certificate first. ", "httpsHint": "Se si utilizza HTTPS, potrebbe essere necessario prima accettare un certificato autofirmato. ",
"openLinkPrefix": "Please open ", "openLinkPrefix": "Apri per favore ",
"openLinkSuffix": " in a new tab", "openLinkSuffix": " in una nuova scheda",
"acceptTlsWarningSuffix": ", accept any TLS warnings if prompted, then try again", "acceptTlsWarningSuffix": ", accetta eventuali avvisi TLS se richiesto, quindi riprova",
"learnMoreLink": "Learn more" "learnMoreLink": "Maggiori informazioni"
}, },
"httpConnection": { "httpConnection": {
"label": "IP Address/Hostname", "label": "Indirizzo IP/Hostname",
"placeholder": "000.000.000.000 / meshtastic.local" "placeholder": "000.000.000.000 / meshtastic.local"
}, },
"serialConnection": { "serialConnection": {
"noDevicesPaired": "No devices paired yet.", "noDevicesPaired": "Nessun dispositivo ancora abbinato.",
"newDeviceButton": "New device", "newDeviceButton": "Nuovo dispositivo",
"deviceIdentifier": "# {{index}} - {{vendorId}} - {{productId}}" "deviceIdentifier": "# {{index}} - {{vendorId}} - {{productId}}"
}, },
"bluetoothConnection": { "bluetoothConnection": {
"noDevicesPaired": "No devices paired yet.", "noDevicesPaired": "Nessun dispositivo ancora abbinato.",
"newDeviceButton": "New device" "newDeviceButton": "Nuovo dispositivo"
}, },
"validation": { "validation": {
"requiresFeatures": "This connection type requires <0></0>. Please use a supported browser, like Chrome or Edge.", "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth</0>. Please use a supported browser, like Chrome or Edge.",
"requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.", "requiresWebSerial": "This connection type requires <0>Web Serial</0>. Please use a supported browser, like Chrome or Edge.",
"additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost." "requiresSecureContext": "Questa applicazione richiede un <0>contesto sicuro</0>. Si prega di connettersi utilizzando HTTPS o localhost.",
"additionallyRequiresSecureContext": "Inoltre, richiede un <0>contesto sicuro</0>. Si prega di connettersi utilizzando HTTPS o localhost."
} }
}, },
"nodeDetails": { "nodeDetails": {
"message": "Messaggio", "message": "Messaggio",
"requestPosition": "Request Position", "requestPosition": "Richiedi posizione",
"traceRoute": "Trace Route", "traceRoute": "Trace Route",
"airTxUtilization": "Air TX utilization", "airTxUtilization": "Tempo di Trasmissione Utilizzato",
"allRawMetrics": "All Raw Metrics:", "allRawMetrics": "Tutte Le Metriche Grezze:",
"batteryLevel": "Battery level", "batteryLevel": "Livello batteria",
"channelUtilization": "Channel utilization", "channelUtilization": "Utilizzo Canale",
"details": "Details:", "details": "Dettagli:",
"deviceMetrics": "Device Metrics:", "deviceMetrics": "Metriche Dispositivo:",
"hardware": "Hardware: ", "hardware": "Hardware: ",
"lastHeard": "Last Heard: ", "lastHeard": "Ultimo Contatto: ",
"nodeHexPrefix": "Node Hex: !", "nodeHexPrefix": "Nodo Hex: !",
"nodeNumber": "Node Number: ", "nodeNumber": "Numero Nodo: ",
"position": "Position:", "position": "Posizione:",
"role": "Role: ", "role": "Ruolo: ",
"uptime": "Uptime: ", "uptime": "Tempo di attività: ",
"voltage": "Tensione", "voltage": "Tensione",
"title": "Node Details for {{identifier}}", "title": "Dettagli nodo per {{identifier}}",
"ignoreNode": "Ignore node", "ignoreNode": "Ignora nodo",
"removeNode": "Remove node", "removeNode": "Rimuovi Nodo",
"unignoreNode": "Unignore node" "unignoreNode": "Non ignorare più nodo"
}, },
"pkiBackup": { "pkiBackup": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?", "loseKeysWarning": "Se perdi le tue chiavi, dovrai reimpostare il tuo dispositivo.",
"loseKeysWarning": "If you lose your keys, you will need to reset your device.", "secureBackup": "È importante eseguire il backup delle chiavi pubbliche e private e memorizzare il backup in modo sicuro!",
"secureBackup": "Its important to backup your public and private keys and store your backup securely!",
"footer": "=== END OF KEYS ===", "footer": "=== END OF KEYS ===",
"header": "=== MESHTASTIC KEYS FOR {{longName}} ({{shortName}}) ===", "header": "=== MESHTASTIC KEYS FOR {{longName}} ({{shortName}}) ===",
"privateKey": "Private Key:", "privateKey": "Chiave Privata:",
"publicKey": "Public Key:", "publicKey": "Chiave Pubblica:",
"fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt", "fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt",
"title": "Backup Keys" "title": "Backup chiavi"
},
"pkiBackupReminder": {
"description": "Ti consigliamo di eseguire regolarmente il backup delle tue chiavi. Vuoi eseguire un backup?",
"title": "Backup Reminder",
"remindLaterPrefix": "Remind me in",
"remindNever": "Never remind me",
"backupNow": "Back up now"
}, },
"pkiRegenerate": { "pkiRegenerate": {
"description": "Are you sure you want to regenerate key pair?", "description": "Sei sicuro di voler rigenerare la coppia di chiavi?",
"title": "Regenerate Key Pair" "title": "Rigenera Coppia Chiavi"
}, },
"qr": { "qr": {
"addChannels": "Add Channels", "addChannels": "Aggiungi canali",
"replaceChannels": "Replace Channels", "replaceChannels": "Sostituisci Canali",
"description": "The current LoRa configuration will also be shared.", "description": "Anche l'attuale configurazione di LoRa verrà condivisa.",
"sharableUrl": "Sharable URL", "sharableUrl": "URL Condivisibile",
"title": "Generate QR Code" "title": "Genera codice QR"
}, },
"rebootOta": { "rebootOta": {
"title": "Schedule Reboot", "title": "Pianifica Riavvio",
"description": "Reboot the connected node after a delay into OTA (Over-the-Air) mode.", "description": "Riavvia il nodo connesso dopo un ritardo in modalità OTA (Over-the-Air).",
"enterDelay": "Enter delay (sec)", "enterDelay": "Inserisci ritardo (sec)",
"scheduled": "Reboot has been scheduled" "scheduled": "Il riavvio è stato pianificato"
}, },
"reboot": { "reboot": {
"title": "Schedule Reboot", "title": "Pianifica Riavvio",
"description": "Reboot the connected node after x minutes." "description": "Riavvia il nodo connesso dopo x minuti."
}, },
"refreshKeys": { "refreshKeys": {
"description": { "description": {
"acceptNewKeys": "This will remove the node from device and request new keys.", "acceptNewKeys": "Questo rimuoverà il nodo dal dispositivo e richiederà nuove chiavi.",
"keyMismatchReasonSuffix": ". This is due to the remote node's current public key does not match the previously stored key for this node.", "keyMismatchReasonSuffix": ". Ciò è dovuto alla chiave pubblica corrente del nodo remoto che non corrisponde alla chiave precedentemente memorizzata per questo nodo.",
"unableToSendDmPrefix": "Your node is unable to send a direct message to node: " "unableToSendDmPrefix": "Il nodo non è in grado di inviare un messaggio diretto al nodo: "
}, },
"acceptNewKeys": "Accept New Keys", "acceptNewKeys": "Accetta Nuove Chiavi",
"title": "Keys Mismatch - {{identifier}}" "title": "Chiavi Non Corrispondenti - {{identifier}}"
}, },
"removeNode": { "removeNode": {
"description": "Are you sure you want to remove this Node?", "description": "Sei sicuro di voler rimuovere questo nodo?",
"title": "Remove Node?" "title": "Rimuovi Nodo?"
}, },
"shutdown": { "shutdown": {
"title": "Schedule Shutdown", "title": "Pianifica Spegnimento",
"description": "Turn off the connected node after x minutes." "description": "Spegni il nodo connesso dopo x minuti."
}, },
"traceRoute": { "traceRoute": {
"routeToDestination": "Route to destination:", "routeToDestination": "Percorso di destinazione:",
"routeBack": "Route back:" "routeBack": "Percorso indietro:"
}, },
"tracerouteResponse": { "tracerouteResponse": {
"title": "Traceroute: {{identifier}}" "title": "Traceroute: {{identifier}}"
}, },
"unsafeRoles": { "unsafeRoles": {
"confirmUnderstanding": "Yes, I know what I'm doing", "confirmUnderstanding": "Sì, so cosa sto facendo",
"conjunction": " and the blog post about ", "conjunction": " e il blog post su ",
"postamble": " and understand the implications of changing the role.", "postamble": " e capisco le implicazioni di un cambiamento di ruolo.",
"preamble": "I have read the ", "preamble": "Dichiaro di aver letto i ",
"choosingRightDeviceRole": "Choosing The Right Device Role", "choosingRightDeviceRole": "Scegliere il ruolo corretto del dispositivo",
"deviceRoleDocumentation": "Device Role Documentation", "deviceRoleDocumentation": "Documentazione sul ruolo del dispositivo",
"title": "Sei sicuro?" "title": "Sei sicuro?"
},
"managedMode": {
"confirmUnderstanding": "Sì, so cosa sto facendo",
"title": "Sei sicuro?",
"description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can <bold>only</bold> be changed through Remote Admin messages. This setting is not required for remote node administration."
} }
} }

47
src/i18n/locales/it-IT/messages.json

@ -1,40 +1,39 @@
{ {
"page": { "page": {
"title": "Messages: {{chatName}}" "title": "Messaggi: {{chatName}}",
"placeholder": "Enter Message"
}, },
"emptyState": { "emptyState": {
"title": "Select a Chat", "title": "Seleziona una chat",
"text": "No messages yet." "text": "Ancora nessun messaggio."
}, },
"selectChatPrompt": { "selectChatPrompt": {
"text": "Select a channel or node to start messaging." "text": "Selezionare un canale o un nodo per iniziare a messaggiare."
}, },
"sendMessage": { "sendMessage": {
"placeholder": "Type your message here...", "placeholder": "Enter your message here...",
"sendButton": "Invia" "sendButton": "Invia"
}, },
"actionsMenu": { "actionsMenu": {
"addReactionLabel": "Add Reaction", "addReactionLabel": "Aggiungi una Reazione",
"replyLabel": "Rispondi" "replyLabel": "Rispondi"
}, },
"item": { "deliveryStatus": {
"status": { "delivered": {
"delivered": { "label": "Messaggio inviato",
"label": "Message delivered", "displayText": "Messaggio inviato"
"displayText": "Message delivered" },
}, "failed": {
"failed": { "label": "Invio messaggio non riuscito",
"label": "Message delivery failed", "displayText": "Invio fallito"
"displayText": "Delivery failed" },
}, "unknown": {
"unknown": { "label": "Stato messaggio sconosciuto",
"label": "Message status unknown", "displayText": "Stato sconosciuto"
"displayText": "Unknown state" },
}, "waiting": {
"waiting": { "label": "Inviando il messaggio...",
"ariaLabel": "Sending message", "displayText": "In attesa della consegna"
"displayText": "Waiting for delivery"
}
} }
} }
} }

402
src/i18n/locales/it-IT/moduleConfig.json

@ -2,163 +2,163 @@
"page": { "page": {
"tabAmbientLighting": "Luce Ambientale", "tabAmbientLighting": "Luce Ambientale",
"tabAudio": "Audio", "tabAudio": "Audio",
"tabCannedMessage": "Canned", "tabCannedMessage": "Predefiniti",
"tabDetectionSensor": "Sensore Di Rilevamento", "tabDetectionSensor": "Sensore Di Rilevamento",
"tabExternalNotification": "Ext Notif", "tabExternalNotification": "Notifica Esterna",
"tabMqtt": "MQTT", "tabMqtt": "MQTT",
"tabNeighborInfo": "Informazioni Vicinato", "tabNeighborInfo": "Informazioni Vicinato",
"tabPaxcounter": "Paxcounter", "tabPaxcounter": "Paxcounter",
"tabRangeTest": "Test Distanza", "tabRangeTest": "Test Distanza",
"tabSerial": "Seriale", "tabSerial": "Seriale",
"tabStoreAndForward": "S&F", "tabStoreAndForward": "S&I",
"tabTelemetry": "Telemetria" "tabTelemetry": "Telemetria"
}, },
"ambientLighting": { "ambientLighting": {
"title": "Ambient Lighting Settings", "title": "Configurazione Illuminazione Ambientale",
"description": "Settings for the Ambient Lighting module", "description": "Impostazioni per il modulo Illuminazione Ambientale",
"ledState": { "ledState": {
"label": "LED State", "label": "Stato LED",
"description": "Sets LED to on or off" "description": "Imposta LED su acceso o spento"
}, },
"current": { "current": {
"label": "Attuale", "label": "Attuale",
"description": "Sets the current for the LED output. Default is 10" "description": "Imposta la corrente per l'uscita LED. Il valore predefinito è 10"
}, },
"red": { "red": {
"label": "Rosso", "label": "Rosso",
"description": "Sets the red LED level. Values are 0-255" "description": "Imposta il livello rosso del LED. I valori sono 0-255"
}, },
"green": { "green": {
"label": "Verde", "label": "Verde",
"description": "Sets the green LED level. Values are 0-255" "description": "Imposta il livello verde del LED. I valori sono 0-255"
}, },
"blue": { "blue": {
"label": "Blu", "label": "Blu",
"description": "Sets the blue LED level. Values are 0-255" "description": "Imposta il livello blu del LED. I valori sono 0-255"
} }
}, },
"audio": { "audio": {
"title": "Audio Settings", "title": "Impostazioni audio",
"description": "Settings for the Audio module", "description": "Impostazioni per il modulo audio",
"codec2Enabled": { "codec2Enabled": {
"label": "Codec 2 Enabled", "label": "Codec 2 Abilitato",
"description": "Enable Codec 2 audio encoding" "description": "Abilita la codifica audio Codec 2"
}, },
"pttPin": { "pttPin": {
"label": "PTT Pin", "label": "Pin PTT",
"description": "GPIO pin to use for PTT" "description": "GPIO pin da utilizzare per PTT"
}, },
"bitrate": { "bitrate": {
"label": "Bitrate", "label": "Bitrate",
"description": "Bitrate to use for audio encoding" "description": "Bitrate da usare per la codifica audio"
}, },
"i2sWs": { "i2sWs": {
"label": "i2S WS", "label": "i2S WS",
"description": "GPIO pin to use for i2S WS" "description": "GPIO pin da usare per i2S WS"
}, },
"i2sSd": { "i2sSd": {
"label": "i2S SD", "label": "i2S SD",
"description": "GPIO pin to use for i2S SD" "description": "GPIO pin da usare per i2S SD"
}, },
"i2sDin": { "i2sDin": {
"label": "i2S DIN", "label": "i2S DIN",
"description": "GPIO pin to use for i2S DIN" "description": "GPIO pin da usare per i2S DIN"
}, },
"i2sSck": { "i2sSck": {
"label": "i2S SCK", "label": "i2S SCK",
"description": "GPIO pin to use for i2S SCK" "description": "GPIO pin da usare per i2S SCK"
} }
}, },
"cannedMessage": { "cannedMessage": {
"title": "Canned Message Settings", "title": "Impostazioni Messaggi Predefiniti",
"description": "Settings for the Canned Message module", "description": "Impostazioni per i Messaggi Predefiniti",
"moduleEnabled": { "moduleEnabled": {
"label": "Module Enabled", "label": "Modulo abilitato",
"description": "Enable Canned Message" "description": "Abilita Messaggi Predefiniti"
}, },
"rotary1Enabled": { "rotary1Enabled": {
"label": "Rotary Encoder #1 Enabled", "label": "Encoder Rotativo #1 Abilitato",
"description": "Enable the rotary encoder" "description": "Abilita l'encoder rotativo"
}, },
"inputbrokerPinA": { "inputbrokerPinA": {
"label": "Encoder Pin A", "label": "Encoder Pin A",
"description": "GPIO Pin Value (1-39) For encoder port A" "description": "Valore Pin GPIO (1-39) Per porta encoder A"
}, },
"inputbrokerPinB": { "inputbrokerPinB": {
"label": "Encoder Pin B", "label": "Encoder Pin B",
"description": "GPIO Pin Value (1-39) For encoder port B" "description": "Valore Pin GPIO (1-39) Per porta encoder B"
}, },
"inputbrokerPinPress": { "inputbrokerPinPress": {
"label": "Encoder Pin Press", "label": "Pin Pressione Encoder",
"description": "GPIO Pin Value (1-39) For encoder Press" "description": "Valore Pin GPIO (1-39) Per la pressione dell'encoder"
}, },
"inputbrokerEventCw": { "inputbrokerEventCw": {
"label": "Clockwise event", "label": "Evento in senso orario",
"description": "Select input event." "description": "Seleziona evento in ingresso."
}, },
"inputbrokerEventCcw": { "inputbrokerEventCcw": {
"label": "Counter Clockwise event", "label": "Evento in senso antiorario",
"description": "Select input event." "description": "Seleziona evento in ingresso."
}, },
"inputbrokerEventPress": { "inputbrokerEventPress": {
"label": "Press event", "label": "Evento pressione",
"description": "Select input event" "description": "Seleziona evento in ingresso"
}, },
"updown1Enabled": { "updown1Enabled": {
"label": "Up Down enabled", "label": "Su Giù abilitato",
"description": "Enable the up / down encoder" "description": "Abilita l'encoder su / giù"
}, },
"allowInputSource": { "allowInputSource": {
"label": "Allow Input Source", "label": "Consenti sorgente di input",
"description": "Select from: '_any', 'rotEnc1', 'upDownEnc1', 'cardkb'" "description": "Seleziona da: '_any', 'rotEnc1', 'upDownEnc1', 'cardkb'"
}, },
"sendBell": { "sendBell": {
"label": "Send Bell", "label": "Invia Campanella",
"description": "Sends a bell character with each message" "description": "Invia un carattere campanella con ogni messaggio"
} }
}, },
"detectionSensor": { "detectionSensor": {
"title": "Detection Sensor Settings", "title": "Configurazione Sensore Rilevamento",
"description": "Settings for the Detection Sensor module", "description": "Impostazioni per il modulo sensore di rilevamento",
"enabled": { "enabled": {
"label": "Enabled", "label": "Abilitato",
"description": "Enable or disable Detection Sensor Module" "description": "Abilita o disabilita il modulo del sensore di rilevamento"
}, },
"minimumBroadcastSecs": { "minimumBroadcastSecs": {
"label": "Minimum Broadcast Seconds", "label": "Secondi Di Trasmissione Minimi",
"description": "The interval in seconds of how often we can send a message to the mesh when a state change is detected" "description": "L'intervallo in secondi di quanto spesso possiamo inviare un messaggio alla mesh quando viene rilevato un cambiamento di stato"
}, },
"stateBroadcastSecs": { "stateBroadcastSecs": {
"label": "State Broadcast Seconds", "label": "Secondi Trasmissione di Stato",
"description": "The interval in seconds of how often we should send a message to the mesh with the current state regardless of changes" "description": "L'intervallo in secondi di quanto spesso dovremmo inviare un messaggio alla mesh con lo stato attuale indipendentemente dai cambiamenti"
}, },
"sendBell": { "sendBell": {
"label": "Send Bell", "label": "Invia Campanella",
"description": "Send ASCII bell with alert message" "description": "Invia campanella ASCII con messaggio di avviso"
}, },
"name": { "name": {
"label": "Friendly Name", "label": "Nome Descrittivo",
"description": "Used to format the message sent to mesh, max 20 Characters" "description": "Usato per formattare il messaggio inviato a mesh, max 20 Caratteri"
}, },
"monitorPin": { "monitorPin": {
"label": "Monitor Pin", "label": "Pin Monitor",
"description": "The GPIO pin to monitor for state changes" "description": "Il pin GPIO da monitorare per i cambiamenti di stato"
}, },
"detectionTriggerType": { "detectionTriggerType": {
"label": "Detection Triggered Type", "label": "Tipo di trigger di rilevamento",
"description": "The type of trigger event to be used" "description": "Il tipo di evento di trigger da usare"
}, },
"usePullup": { "usePullup": {
"label": "Use Pullup", "label": "Usa Pullup",
"description": "Whether or not use INPUT_PULLUP mode for GPIO pin" "description": "Indica se usare o meno la modalità INPUT_PULLUP per il pin GPIO"
} }
}, },
"externalNotification": { "externalNotification": {
"title": "External Notification Settings", "title": "Configurazione Notifiche Esterne",
"description": "Configure the external notification module", "description": "Configura il modulo notifiche esterno",
"enabled": { "enabled": {
"label": "Module Enabled", "label": "Modulo abilitato",
"description": "Enable External Notification" "description": "Abilita Notifiche Esterne"
}, },
"outputMs": { "outputMs": {
"label": "Output MS", "label": "Output MS",
@ -169,243 +169,243 @@
"description": "Output" "description": "Output"
}, },
"outputVibra": { "outputVibra": {
"label": "Output Vibrate", "label": "Vibrazione Output",
"description": "Output Vibrate" "description": "Vibrazione Output"
}, },
"outputBuzzer": { "outputBuzzer": {
"label": "Output Buzzer", "label": "Buzzer Output",
"description": "Output Buzzer" "description": "Buzzer Output"
}, },
"active": { "active": {
"label": "Active", "label": "Attivo",
"description": "Active" "description": "Attivo"
}, },
"alertMessage": { "alertMessage": {
"label": "Alert Message", "label": "Messaggio di allerta",
"description": "Alert Message" "description": "Messaggio di allerta"
}, },
"alertMessageVibra": { "alertMessageVibra": {
"label": "Alert Message Vibrate", "label": "Vibrazione Messaggio Di Allerta",
"description": "Alert Message Vibrate" "description": "Vibrazione Messaggio Di Allerta"
}, },
"alertMessageBuzzer": { "alertMessageBuzzer": {
"label": "Alert Message Buzzer", "label": "Buzzer Messaggio Di Allerta",
"description": "Alert Message Buzzer" "description": "Buzzer Messaggio Di Allerta"
}, },
"alertBell": { "alertBell": {
"label": "Alert Bell", "label": "Campanella Di Allarme",
"description": "Should an alert be triggered when receiving an incoming bell?" "description": "Occorre attivare una segnalazione quando si riceve un campanello in entrata?"
}, },
"alertBellVibra": { "alertBellVibra": {
"label": "Alert Bell Vibrate", "label": "Vibrazione campanella di allarme",
"description": "Alert Bell Vibrate" "description": "Vibrazione campanella di allarme"
}, },
"alertBellBuzzer": { "alertBellBuzzer": {
"label": "Alert Bell Buzzer", "label": "Buzzer campanella di allarme",
"description": "Alert Bell Buzzer" "description": "Buzzer campanella di allarme"
}, },
"usePwm": { "usePwm": {
"label": "Use PWM", "label": "Usa PWM",
"description": "Use PWM" "description": "Usa PWM"
}, },
"nagTimeout": { "nagTimeout": {
"label": "Nag Timeout", "label": "Nag Timeout",
"description": "Nag Timeout" "description": "Nag Timeout"
}, },
"useI2sAsBuzzer": { "useI2sAsBuzzer": {
"label": "Use I²S Pin as Buzzer", "label": "Usa I2S come buzzer",
"description": "Designate I²S Pin as Buzzer Output" "description": "Designa il Pin I²S come Uscita Buzzer"
} }
}, },
"mqtt": { "mqtt": {
"title": "MQTT Settings", "title": "Impostazioni MQTT",
"description": "Settings for the MQTT module", "description": "Impostazioni per il modulo MQTT",
"enabled": { "enabled": {
"label": "Enabled", "label": "Abilitato",
"description": "Enable or disable MQTT" "description": "Abilita o disabilita MQTT"
}, },
"address": { "address": {
"label": "MQTT Server Address", "label": "Indirizzo Server MQTT",
"description": "MQTT server address to use for default/custom servers" "description": "Indirizzo server MQTT da usare per i server predefiniti/personalizzati"
}, },
"username": { "username": {
"label": "MQTT Username", "label": "Username MQTT",
"description": "MQTT username to use for default/custom servers" "description": "Username MQTT da usare per i server predefiniti/personalizzati"
}, },
"password": { "password": {
"label": "MQTT Password", "label": "Password MQTT",
"description": "MQTT password to use for default/custom servers" "description": "Password MQTT da usare per server predefiniti/personalizzati"
}, },
"encryptionEnabled": { "encryptionEnabled": {
"label": "Encryption Enabled", "label": "Crittografia Abilitata",
"description": "Enable or disable MQTT encryption. Note: All messages are sent to the MQTT broker unencrypted if this option is not enabled, even when your uplink channels have encryption keys set. This includes position data." "description": "Abilita o disabilita la crittografia MQTT. Nota: Tutti i messaggi sono inviati al broker MQTT non cifrati se questa opzione non è abilitata, anche quando i canali uplink hanno chiavi di crittografia impostate. Ciò include i dati di posizione."
}, },
"jsonEnabled": { "jsonEnabled": {
"label": "JSON Enabled", "label": "JSON Abilitato",
"description": "Whether to send/consume JSON packets on MQTT" "description": "Indica se inviare/consumare pacchetti JSON su MQTT"
}, },
"tlsEnabled": { "tlsEnabled": {
"label": "TLS Enabled", "label": "TLS abilitato",
"description": "Enable or disable TLS" "description": "Abilita o disabilita MQTT"
}, },
"root": { "root": {
"label": "Root topic", "label": "Root topic",
"description": "MQTT root topic to use for default/custom servers" "description": "Topic root MQTT da utilizzare per server predefiniti/personalizzati"
}, },
"proxyToClientEnabled": { "proxyToClientEnabled": {
"label": "MQTT Client Proxy Enabled", "label": "Proxy Client MQTT Abilitato",
"description": "Utilizes the network connection to proxy MQTT messages to the client." "description": "Utilizza la connessione di rete per fare da proxy ai messaggi MQTT verso il client."
}, },
"mapReportingEnabled": { "mapReportingEnabled": {
"label": "Map Reporting Enabled", "label": "Segnalazione sulla Mappa Abilitata",
"description": "Your node will periodically send an unencrypted map report packet to the configured MQTT server, this includes id, short and long name, approximate location, hardware model, role, firmware version, LoRa region, modem preset and primary channel name." "description": "Il tuo nodo invierà periodicamente un pacchetto di segnalazione mappa non criptato al server MQTT configurato, questo include id, nome breve e lungo, posizione approssimativa, modello hardware, ruolo, versione del firmware, regione LoRa, preset del modem e nome del canale primario."
}, },
"mapReportSettings": { "mapReportSettings": {
"publishIntervalSecs": { "publishIntervalSecs": {
"label": "Map Report Publish Interval (s)", "label": "Intervallo di Pubblicazione Segnalazione Mappa (s)",
"description": "Interval in seconds to publish map reports" "description": "Intervallo in secondi per pubblicare le segnalazioni mappa"
}, },
"positionPrecision": { "positionPrecision": {
"label": "Approximate Location", "label": "Posizione Approssimativa",
"description": "Position shared will be accurate within this distance", "description": "La posizione condivisa sarà accurata entro questa distanza",
"options": { "options": {
"metric_km23": "Within 23 km", "metric_km23": "Entro 23 km",
"metric_km12": "Within 12 km", "metric_km12": "Entro 12 km",
"metric_km5_8": "Within 5.8 km", "metric_km5_8": "Entro 5,8 km",
"metric_km2_9": "Within 2.9 km", "metric_km2_9": "Entro 2,9 km",
"metric_km1_5": "Within 1.5 km", "metric_km1_5": "Entro 1,5 km",
"metric_m700": "Within 700 m", "metric_m700": "Entro 700 m",
"metric_m350": "Within 350 m", "metric_m350": "Entro 350 m",
"metric_m200": "Within 200 m", "metric_m200": "Entro 200 m",
"metric_m90": "Within 90 m", "metric_m90": "Entro 90 m",
"metric_m50": "Within 50 m", "metric_m50": "Entro 50 m",
"imperial_mi15": "Within 15 miles", "imperial_mi15": "Entro 15 miglia",
"imperial_mi7_3": "Within 7.3 miles", "imperial_mi7_3": "Entro 7,3 miglia",
"imperial_mi3_6": "Within 3.6 miles", "imperial_mi3_6": "Entro 3,6 miglia",
"imperial_mi1_8": "Within 1.8 miles", "imperial_mi1_8": "Entro 1,8 miglia",
"imperial_mi0_9": "Within 0.9 miles", "imperial_mi0_9": "Entro 0,9 miglia",
"imperial_mi0_5": "Within 0.5 miles", "imperial_mi0_5": "Entro 0,5 miglia",
"imperial_mi0_2": "Within 0.2 miles", "imperial_mi0_2": "Entro 0,2 miglia",
"imperial_ft600": "Within 600 feet", "imperial_ft600": "Entro 600 piedi",
"imperial_ft300": "Within 300 feet", "imperial_ft300": "Entro 300 piedi",
"imperial_ft150": "Within 150 feet" "imperial_ft150": "Entro 150 piedi"
} }
} }
} }
}, },
"neighborInfo": { "neighborInfo": {
"title": "Neighbor Info Settings", "title": "Impostazioni Informazioni Vicini",
"description": "Settings for the Neighbor Info module", "description": "Impostazioni per il modulo Informazioni Vicini",
"enabled": { "enabled": {
"label": "Enabled", "label": "Abilitato",
"description": "Enable or disable Neighbor Info Module" "description": "Abilita o disabilita Modulo Info Vicini"
}, },
"updateInterval": { "updateInterval": {
"label": "Update Interval", "label": "Intervallo di Aggiornamento",
"description": "Interval in seconds of how often we should try to send our Neighbor Info to the mesh" "description": "Intervallo in secondi di quanto spesso dovremmo cercare di inviare le nostre Info Vicini alla mesh"
} }
}, },
"paxcounter": { "paxcounter": {
"title": "Paxcounter Settings", "title": "Impostazioni Paxcounter",
"description": "Settings for the Paxcounter module", "description": "Impostazioni per il modulo Paxcounter",
"enabled": { "enabled": {
"label": "Module Enabled", "label": "Modulo abilitato",
"description": "Enable Paxcounter" "description": "Abilita Paxcounter"
}, },
"paxcounterUpdateInterval": { "paxcounterUpdateInterval": {
"label": "Update Interval (seconds)", "label": "Intervallo di aggiornamento (secondi)",
"description": "How long to wait between sending paxcounter packets" "description": "Per quanto tempo attendere tra l'invio di pacchetti paxcounter"
}, },
"wifiThreshold": { "wifiThreshold": {
"label": "WiFi RSSI Threshold", "label": "Soglia RSSI WiFi",
"description": "At what WiFi RSSI level should the counter increase. Defaults to -80." "description": "A quale livello RSSI WiFi dovrebbe aumentare il contatore. Predefinito a -80."
}, },
"bleThreshold": { "bleThreshold": {
"label": "BLE RSSI Threshold", "label": "Soglia RSSI BLE",
"description": "At what BLE RSSI level should the counter increase. Defaults to -80." "description": "A quale livello RSSI BLE dovrebbe aumentare il contatore. Predefinito a -80."
} }
}, },
"rangeTest": { "rangeTest": {
"title": "Range Test Settings", "title": "Impostazioni Di Range Test",
"description": "Settings for the Range Test module", "description": "Impostazioni per il modulo Range Test",
"enabled": { "enabled": {
"label": "Module Enabled", "label": "Modulo abilitato",
"description": "Enable Range Test" "description": "Abilita Range Test"
}, },
"sender": { "sender": {
"label": "Message Interval", "label": "Intervallo Dei Messaggi",
"description": "How long to wait between sending test packets" "description": "Per quanto tempo attendere tra l'invio dei pacchetti di test"
}, },
"save": { "save": {
"label": "Save CSV to storage", "label": "Salva CSV nella memoria",
"description": "ESP32 Only" "description": "Solo ESP32"
} }
}, },
"serial": { "serial": {
"title": "Serial Settings", "title": "Impostazioni Seriale",
"description": "Settings for the Serial module", "description": "Impostazioni per il modulo seriale",
"enabled": { "enabled": {
"label": "Module Enabled", "label": "Modulo abilitato",
"description": "Enable Serial output" "description": "Abilita output seriale"
}, },
"echo": { "echo": {
"label": "Echo", "label": "Echo",
"description": "Any packets you send will be echoed back to your device" "description": "Tutti i pacchetti che invii verranno rimandati indietro al tuo dispositivo"
}, },
"rxd": { "rxd": {
"label": "Receive Pin", "label": "Pin di ricezione",
"description": "Set the GPIO pin to the RXD pin you have set up." "description": "Imposta il pin GPIO al pin RXD che hai configurato."
}, },
"txd": { "txd": {
"label": "Transmit Pin", "label": "Pin di trasmissione",
"description": "Set the GPIO pin to the TXD pin you have set up." "description": "Imposta il pin GPIO al pin TXD che hai configurato."
}, },
"baud": { "baud": {
"label": "Baud Rate", "label": "Baud rate",
"description": "The serial baud rate" "description": "La velocità di trasmissione seriale"
}, },
"timeout": { "timeout": {
"label": "Timeout", "label": "Timeout",
"description": "Seconds to wait before we consider your packet as 'done'" "description": "Secondi da attesa prima di considerare il tuo pacchetto come 'fatto'"
}, },
"mode": { "mode": {
"label": "Mode", "label": "Modalità",
"description": "Select Mode" "description": "Seleziona modalità"
}, },
"overrideConsoleSerialPort": { "overrideConsoleSerialPort": {
"label": "Override Console Serial Port", "label": "Sovrascrivi La Porta Seriale Della Console",
"description": "If you have a serial port connected to the console, this will override it." "description": "Se si dispone di una porta seriale collegata alla console, questa verrà sostituita."
} }
}, },
"storeForward": { "storeForward": {
"title": "Store & Forward Settings", "title": "Configurazione Salva & Inoltra",
"description": "Settings for the Store & Forward module", "description": "Impostazioni per il modulo Salva & Inoltra",
"enabled": { "enabled": {
"label": "Module Enabled", "label": "Modulo abilitato",
"description": "Enable Store & Forward" "description": "Abilita Salva & Inoltra"
}, },
"heartbeat": { "heartbeat": {
"label": "Heartbeat Enabled", "label": "Heartbeat Abilitato",
"description": "Enable Store & Forward heartbeat" "description": "Abilita heartbeat Store & Forward"
}, },
"records": { "records": {
"label": "Numero di record", "label": "Numero di record",
"description": "Number of records to store" "description": "Numero di record da memorizzare"
}, },
"historyReturnMax": { "historyReturnMax": {
"label": "Cronologia ritorno max", "label": "Cronologia ritorno max",
"description": "Max number of records to return" "description": "Numero massimo di record da restituire"
}, },
"historyReturnWindow": { "historyReturnWindow": {
"label": "Finestra di ritorno cronologia", "label": "Finestra di ritorno cronologia",
"description": "Max number of records to return" "description": "Numero massimo di record da restituire"
} }
}, },
"telemetry": { "telemetry": {
"title": "Telemetry Settings", "title": "Impostazioni Telemetria",
"description": "Settings for the Telemetry module", "description": "Impostazioni per il modulo Telemetria",
"deviceUpdateInterval": { "deviceUpdateInterval": {
"label": "Device Metrics", "label": "Metriche Dispositivo",
"description": "Intervallo aggiornamento metriche dispositivo (secondi)" "description": "Intervallo aggiornamento metriche dispositivo (secondi)"
}, },
"environmentUpdateInterval": { "environmentUpdateInterval": {
@ -413,36 +413,36 @@
"description": "" "description": ""
}, },
"environmentMeasurementEnabled": { "environmentMeasurementEnabled": {
"label": "Module Enabled", "label": "Modulo abilitato",
"description": "Enable the Environment Telemetry" "description": "Abilita la telemetria Ambiente"
}, },
"environmentScreenEnabled": { "environmentScreenEnabled": {
"label": "Displayed on Screen", "label": "Visualizzato sullo schermo",
"description": "Show the Telemetry Module on the OLED" "description": "Mostra il modulo di telemetria sull'OLED"
}, },
"environmentDisplayFahrenheit": { "environmentDisplayFahrenheit": {
"label": "Display Fahrenheit", "label": "Mostra Fahrenheit",
"description": "Display temp in Fahrenheit" "description": "Mostra la temperatura in Fahrenheit"
}, },
"airQualityEnabled": { "airQualityEnabled": {
"label": "Air Quality Enabled", "label": "Qualità Dell'Aria Abilitata",
"description": "Enable the Air Quality Telemetry" "description": "Abilita la telemetria della qualità dell'aria"
}, },
"airQualityInterval": { "airQualityInterval": {
"label": "Air Quality Update Interval", "label": "Intervallo Di Aggiornamento Qualità Dell'Aria",
"description": "How often to send Air Quality data over the mesh" "description": "Quanto spesso inviare dati sulla qualità dell'aria sulla mesh"
}, },
"powerMeasurementEnabled": { "powerMeasurementEnabled": {
"label": "Power Measurement Enabled", "label": "Misurazione Alimentazione Abilitata",
"description": "Enable the Power Measurement Telemetry" "description": "Abilita la telemetria di misura della alimentazione"
}, },
"powerUpdateInterval": { "powerUpdateInterval": {
"label": "Power Update Interval", "label": "Intervallo Di Aggiornamento Alimentazione",
"description": "How often to send Power data over the mesh" "description": "Quanto spesso inviare i dati di alimentazione sulla mesh"
}, },
"powerScreenEnabled": { "powerScreenEnabled": {
"label": "Power Screen Enabled", "label": "Schermo Di Alimentazione Abilitato",
"description": "Enable the Power Telemetry Screen" "description": "Abilita lo schermo di Telemetria di alimentazione"
} }
} }
} }

48
src/i18n/locales/it-IT/nodes.json

@ -1,51 +1,63 @@
{ {
"nodeDetail": { "nodeDetail": {
"publicKeyEnabled": { "publicKeyEnabled": {
"label": "Public Key Enabled" "label": "Chiave Pubblica Abilitata"
}, },
"noPublicKey": { "noPublicKey": {
"label": "No Public Key" "label": "Nessuna Chiave Pubblica"
}, },
"directMessage": { "directMessage": {
"label": "Direct Message {{shortName}}" "label": "Messaggio Diretto {{shortName}}"
}, },
"favorite": { "favorite": {
"label": "Preferito" "label": "Preferito",
"tooltip": "Add or remove this node from your favorites"
}, },
"notFavorite": { "notFavorite": {
"label": "Not a Favorite" "label": "Non è un preferito"
},
"error": {
"label": "Errori",
"text": "An error occurred while fetching node details. Please try again later."
}, },
"status": { "status": {
"heard": "Heard", "heard": "Sentito",
"mqtt": "MQTT" "mqtt": "MQTT"
}, },
"elevation": { "elevation": {
"label": "Elevation" "label": "Altezza"
}, },
"channelUtil": { "channelUtil": {
"label": "Channel Util" "label": "Utilizzo Canale"
}, },
"airtimeUtil": { "airtimeUtil": {
"label": "Airtime Util" "label": "Utilizzo Airtime"
} }
}, },
"nodesTable": { "nodesTable": {
"headings": { "headings": {
"longName": "Long Name", "longName": "Nome Lungo",
"connection": "Connection", "connection": "Connessione",
"lastHeard": "Last Heard", "lastHeard": "Ultimo Contatto",
"encryption": "Encryption", "encryption": "Crittografia",
"model": "Model", "model": "Modello",
"macAddress": "MAC Address" "macAddress": "Indirizzo MAC"
}, },
"connectionStatus": { "connectionStatus": {
"direct": "Diretto", "direct": "Diretto",
"away": "away", "away": "assente",
"unknown": "-", "unknown": "-",
"viaMqtt": ", via MQTT" "viaMqtt": ", tramite MQTT"
}, },
"lastHeardStatus": { "lastHeardStatus": {
"never": "Never" "never": "Mai"
} }
},
"actions": {
"added": "Added",
"removed": "Removed",
"ignoreNode": "Ignore Node",
"unignoreNode": "Unignore Node",
"requestPosition": "Richiedi posizione"
} }
} }

171
src/i18n/locales/it-IT/ui.json

@ -1,93 +1,111 @@
{ {
"navigation": { "navigation": {
"title": "Navigation", "title": "Navigazione",
"messages": "Messaggi", "messages": "Messaggi",
"map": "Mappa", "map": "Mappa",
"config": "Config", "config": "Configurazione",
"radioConfig": "Radio Config", "radioConfig": "Configurazione Radio",
"moduleConfig": "Module Config", "moduleConfig": "Configurazione Modulo",
"channels": "Canali", "channels": "Canali",
"nodes": "Nodi" "nodes": "Nodi"
}, },
"app": { "app": {
"title": "Meshtastic", "title": "Meshtastic",
"logo": "Meshtastic Logo" "logo": "Logo Meshtastic"
}, },
"sidebar": { "sidebar": {
"collapseToggle": { "collapseToggle": {
"button": { "button": {
"open": "Open sidebar", "open": "Apri barra laterale",
"close": "Close sidebar" "close": "Chiudi barra laterale"
} }
}, },
"deviceInfo": { "deviceInfo": {
"volts": "{{voltage}} volts", "volts": "{{voltage}} volt",
"firmware": { "firmware": {
"title": "Firmware", "title": "Firmware",
"version": "v{{version}}", "version": "v{{version}}",
"buildDate": "Build date: {{date}}" "buildDate": "Data di build: {{date}}"
}, },
"deviceName": { "deviceName": {
"title": "Device Name", "title": "Nome del dispositivo",
"changeName": "Change Device Name", "changeName": "Cambia Nome Del Dispositivo",
"placeholder": "Enter device name" "placeholder": "Inserisci il nome del dispositivo"
}, },
"editDeviceName": "Edit device name" "editDeviceName": "Modifica il nome del dispositivo"
} }
}, },
"batteryStatus": { "batteryStatus": {
"charging": "{{level}}% charging", "charging": "{{level}}% in carica",
"pluggedIn": "Plugged in", "pluggedIn": "Alimentato",
"title": "Batteria" "title": "Batteria"
}, },
"search": { "search": {
"nodes": "Search nodes...", "nodes": "Cerca nodi...",
"channels": "Search channels...", "channels": "Cerca canali...",
"commandPalette": "Search commands..." "commandPalette": "Cerca comandi..."
}, },
"toast": { "toast": {
"positionRequestSent": { "positionRequestSent": {
"title": "Position request sent." "title": "Richiesta di posizione inviata."
}, },
"requestingPosition": { "requestingPosition": {
"title": "Requesting position, please wait..." "title": "Richiesta di posizione, attendere prego..."
}, },
"sendingTraceroute": { "sendingTraceroute": {
"title": "Sending Traceroute, please wait..." "title": "Invio di Traceroute, attendere prego..."
}, },
"tracerouteSent": { "tracerouteSent": {
"title": "Traceroute sent." "title": "Traceroute inviato."
}, },
"savedChannel": { "savedChannel": {
"title": "Saved Channel: {{channelName}}" "title": "Canale Salvato: {{channelName}}"
}, },
"messages": { "messages": {
"pkiEncryption": { "pkiEncryption": {
"title": "Chat is using PKI encryption." "title": "La chat sta usando la crittografia PKI."
}, },
"pskEncryption": { "pskEncryption": {
"title": "Chat is using PSK encryption." "title": "La chat sta usando la crittografia PSK."
} }
}, },
"configSaveError": { "configSaveError": {
"title": "Error Saving Config", "title": "Errore Salvataggio Configurazione",
"description": "An error occurred while saving the configuration." "description": "Si è verificato un errore durante il salvataggio di questa configurazione."
}, },
"validationError": { "validationError": {
"title": "Config Errors Exist", "title": "Esistono errori di configurazione",
"description": "Please fix the configuration errors before saving." "description": "Correggi gli errori di configurazione prima di salvare."
}, },
"saveSuccess": { "saveSuccess": {
"title": "Saving Config", "title": "Salvataggio Configurazione",
"description": "The configuration change {{case}} has been saved." "description": "La modifica di configurazione {{case}} è stata salvata."
},
"favoriteNode": {
"title": "{{action}} {{nodeName}} {{direction}} favorites.",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
},
"ignoreNode": {
"title": "{{action}} {{nodeName}} {{direction}} ignore list",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
} }
}, },
"notifications": { "notifications": {
"copied": { "copied": {
"label": "Copied!" "label": "Copiato!"
}, },
"copyToClipboard": { "copyToClipboard": {
"label": "Copy to clipboard" "label": "Copia negli appunti"
}, },
"hidePassword": { "hidePassword": {
"label": "Nascondi password" "label": "Nascondi password"
@ -96,14 +114,14 @@
"label": "Visualizza password" "label": "Visualizza password"
}, },
"deliveryStatus": { "deliveryStatus": {
"delivered": "Delivered", "delivered": "Consegnato",
"failed": "Delivery Failed", "failed": "Consegna Fallita",
"waiting": "Waiting", "waiting": "In attesa",
"unknown": "Unknown" "unknown": "Sconosciuto"
} }
}, },
"general": { "general": {
"label": "General" "label": "Generale"
}, },
"hardware": { "hardware": {
"label": "Hardware" "label": "Hardware"
@ -117,85 +135,94 @@
"filter": { "filter": {
"label": "Filtro" "label": "Filtro"
}, },
"advanced": {
"label": "Advanced"
},
"clearInput": { "clearInput": {
"label": "Clear input" "label": "Cancella input"
}, },
"resetFilters": { "resetFilters": {
"label": "Reset Filters" "label": "Ripristina Filtri"
}, },
"nodeName": { "nodeName": {
"label": "Node name/number", "label": "Nome/numero del nodo",
"placeholder": "Meshtastic 1234" "placeholder": "Meshtastic 1234"
}, },
"airtimeUtilization": { "airtimeUtilization": {
"label": "Airtime Utilization (%)" "label": "Tempo di Trasmissione Utilizzato (%)"
}, },
"batteryLevel": { "batteryLevel": {
"label": "Battery level (%)", "label": "Livello batteria (%)",
"labelText": "Battery level (%): {{value}}" "labelText": "Livello batteria (%): {{value}}"
}, },
"batteryVoltage": { "batteryVoltage": {
"label": "Battery voltage (V)", "label": "Tensione della Batteria (V)",
"title": "Tensione" "title": "Tensione"
}, },
"channelUtilization": { "channelUtilization": {
"label": "Channel Utilization (%)" "label": "Utilizzo Canale (%)"
}, },
"hops": { "hops": {
"direct": "Diretto", "direct": "Diretto",
"label": "Number of hops", "label": "Numero di hop",
"text": "Number of hops: {{value}}" "text": "Numero di hop: {{value}}"
}, },
"lastHeard": { "lastHeard": {
"label": "Ricevuto più di recente", "label": "Ricevuto più di recente",
"labelText": "Last heard: {{value}}", "labelText": "Ultimo contatto: {{value}}",
"nowLabel": "Now" "nowLabel": "Adesso"
}, },
"snr": { "snr": {
"label": "SNR (db)" "label": "SNR (dB)"
}, },
"favorites": { "favorites": {
"label": "Favorites" "label": "Preferiti"
}, },
"hide": { "hide": {
"label": "Hide" "label": "Nascondi"
}, },
"showOnly": { "showOnly": {
"label": "Show Only" "label": "Mostra Solo"
}, },
"viaMqtt": { "viaMqtt": {
"label": "Connected via MQTT" "label": "Connesso tramite MQTT"
},
"hopsUnknown": {
"label": "Unknown number of hops"
},
"showUnheard": {
"label": "Never heard"
}, },
"language": { "language": {
"label": "Lingua", "label": "Lingua",
"changeLanguage": "Change Language" "changeLanguage": "Cambia Lingua"
}, },
"theme": { "theme": {
"dark": "Scuro", "dark": "Scuro",
"light": "Chiaro", "light": "Chiaro",
"system": "Automatic", "system": "Automatico",
"changeTheme": "Change Color Scheme" "changeTheme": "Modifica lo schema dei colori"
}, },
"errorPage": { "errorPage": {
"title": "This is a little embarrassing...", "title": "Questo è un po' imbarazzante...",
"description1": "We are really sorry but an error occurred in the web client that caused it to crash. <br /> This is not supposed to happen, and we are working hard to fix it.", "description1": "Siamo davvero spiacenti, ma si è verificato un errore nel client web che ha causato il crash. <br /> Questo non dovrebbe accadere e stiamo lavorando duramente per risolverlo.",
"description2": "The best way to prevent this from happening again to you or anyone else is to report the issue to us.", "description2": "Il modo migliore per evitare che ciò accada di nuovo a voi o a chiunque altro è quello di riferire la questione a noi.",
"reportInstructions": "Please include the following information in your report:", "reportInstructions": "Per favore includi le seguenti informazioni nel tuo report:",
"reportSteps": { "reportSteps": {
"step1": "What you were doing when the error occurred", "step1": "Cosa stavi facendo quando si è verificato l'errore",
"step2": "What you expected to happen", "step2": "Cosa ti aspettavi succedesse",
"step3": "What actually happened", "step3": "Quello che è successo realmente",
"step4": "Any other relevant information" "step4": "Altre informazioni rilevanti"
}, },
"reportLink": "You can report the issue to our <0>GitHub</0>", "reportLink": "Puoi segnalare il problema al nostro <0>GitHub</0>",
"dashboardLink": "Return to the <0>dashboard</0>", "dashboardLink": "Ritorna alla <0>dashboard</0>",
"detailsSummary": "Error Details", "detailsSummary": "Dettagli Errore",
"errorMessageLabel": "Error message:", "errorMessageLabel": "Messaggio di errore:",
"stackTraceLabel": "Stack trace:", "stackTraceLabel": "Stack trace:",
"fallbackError": "{{error}}" "fallbackError": "{{error}}"
}, },
"footer": { "footer": {
"text": "Powered by <0>▲ Vercel</0> | Meshtastic® is a registered trademark of Meshtastic LLC. | <1>Legal Information</1>", "text": "Powered by <0>▲ Vercel</0> | Meshtastic® è un marchio registrato di Meshtastic LLC. | <1>Informazioni Legali</1>",
"commitSha": "Commit SHA: {{sha}}" "commitSha": "Commit SHA: {{sha}}"
} }
} }

24
src/i18n/locales/ja-JP/common.json

@ -24,7 +24,8 @@
"reset": "リセット", "reset": "リセット",
"save": "保存", "save": "保存",
"scanQr": "QRコードをスキャン", "scanQr": "QRコードをスキャン",
"traceRoute": "Trace Route" "traceRoute": "Trace Route",
"submit": "Submit"
}, },
"app": { "app": {
"title": "Meshtastic", "title": "Meshtastic",
@ -55,6 +56,10 @@
"one": "Minute", "one": "Minute",
"plural": "Minutes" "plural": "Minutes"
}, },
"hour": {
"one": "Hour",
"plural": "Hours"
},
"millisecond": { "millisecond": {
"one": "Millisecond", "one": "Millisecond",
"plural": "Milliseconds", "plural": "Milliseconds",
@ -64,6 +69,18 @@
"one": "Second", "one": "Second",
"plural": "Seconds" "plural": "Seconds"
}, },
"day": {
"one": "Day",
"plural": "Days"
},
"month": {
"one": "Month",
"plural": "Months"
},
"year": {
"one": "Year",
"plural": "Years"
},
"snr": "SN比", "snr": "SN比",
"volt": { "volt": {
"one": "Volt", "one": "Volt",
@ -76,6 +93,9 @@
} }
}, },
"security": { "security": {
"0bit": "Empty",
"8bit": "8 bit",
"128bit": "128 bit",
"256bit": "256 bit" "256bit": "256 bit"
}, },
"unknown": { "unknown": {
@ -87,7 +107,9 @@
"nodeUnknownPrefix": "!", "nodeUnknownPrefix": "!",
"unset": "UNSET", "unset": "UNSET",
"fallbackName": "Meshtastic {{last4}}", "fallbackName": "Meshtastic {{last4}}",
"node": "Node",
"formValidation": { "formValidation": {
"unsavedChanges": "Unsaved changes",
"tooBig": { "tooBig": {
"string": "Too long, expected less than or equal to {{maximum}} characters.", "string": "Too long, expected less than or equal to {{maximum}} characters.",
"number": "Too big, expected a number smaller than or equal to {{maximum}}.", "number": "Too big, expected a number smaller than or equal to {{maximum}}.",

16
src/i18n/locales/ja-JP/dialog.json

@ -63,7 +63,8 @@
"newDeviceButton": "New device" "newDeviceButton": "New device"
}, },
"validation": { "validation": {
"requiresFeatures": "This connection type requires <0></0>. Please use a supported browser, like Chrome or Edge.", "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth</0>. Please use a supported browser, like Chrome or Edge.",
"requiresWebSerial": "This connection type requires <0>Web Serial</0>. Please use a supported browser, like Chrome or Edge.",
"requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.", "requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.",
"additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost." "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost."
} }
@ -92,7 +93,6 @@
"unignoreNode": "Unignore node" "unignoreNode": "Unignore node"
}, },
"pkiBackup": { "pkiBackup": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"loseKeysWarning": "If you lose your keys, you will need to reset your device.", "loseKeysWarning": "If you lose your keys, you will need to reset your device.",
"secureBackup": "Its important to backup your public and private keys and store your backup securely!", "secureBackup": "Its important to backup your public and private keys and store your backup securely!",
"footer": "=== END OF KEYS ===", "footer": "=== END OF KEYS ===",
@ -102,6 +102,13 @@
"fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt", "fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt",
"title": "Backup Keys" "title": "Backup Keys"
}, },
"pkiBackupReminder": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"title": "Backup Reminder",
"remindLaterPrefix": "Remind me in",
"remindNever": "Never remind me",
"backupNow": "Back up now"
},
"pkiRegenerate": { "pkiRegenerate": {
"description": "Are you sure you want to regenerate key pair?", "description": "Are you sure you want to regenerate key pair?",
"title": "Regenerate Key Pair" "title": "Regenerate Key Pair"
@ -155,5 +162,10 @@
"choosingRightDeviceRole": "Choosing The Right Device Role", "choosingRightDeviceRole": "Choosing The Right Device Role",
"deviceRoleDocumentation": "Device Role Documentation", "deviceRoleDocumentation": "Device Role Documentation",
"title": "よろしいですか?" "title": "よろしいですか?"
},
"managedMode": {
"confirmUnderstanding": "Yes, I know what I'm doing",
"title": "よろしいですか?",
"description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can <bold>only</bold> be changed through Remote Admin messages. This setting is not required for remote node administration."
} }
} }

39
src/i18n/locales/ja-JP/messages.json

@ -1,6 +1,7 @@
{ {
"page": { "page": {
"title": "Messages: {{chatName}}" "title": "Messages: {{chatName}}",
"placeholder": "Enter Message"
}, },
"emptyState": { "emptyState": {
"title": "Select a Chat", "title": "Select a Chat",
@ -10,31 +11,29 @@
"text": "Select a channel or node to start messaging." "text": "Select a channel or node to start messaging."
}, },
"sendMessage": { "sendMessage": {
"placeholder": "Type your message here...", "placeholder": "Enter your message here...",
"sendButton": "送信" "sendButton": "送信"
}, },
"actionsMenu": { "actionsMenu": {
"addReactionLabel": "Add Reaction", "addReactionLabel": "Add Reaction",
"replyLabel": "返信" "replyLabel": "返信"
}, },
"item": { "deliveryStatus": {
"status": { "delivered": {
"delivered": { "label": "Message delivered",
"label": "Message delivered", "displayText": "Message delivered"
"displayText": "Message delivered" },
}, "failed": {
"failed": { "label": "Message delivery failed",
"label": "Message delivery failed", "displayText": "Delivery failed"
"displayText": "Delivery failed" },
}, "unknown": {
"unknown": { "label": "Message status unknown",
"label": "Message status unknown", "displayText": "Unknown state"
"displayText": "Unknown state" },
}, "waiting": {
"waiting": { "label": "Sending message",
"ariaLabel": "Sending message", "displayText": "Waiting for delivery"
"displayText": "Waiting for delivery"
}
} }
} }
} }

14
src/i18n/locales/ja-JP/nodes.json

@ -10,11 +10,16 @@
"label": "Direct Message {{shortName}}" "label": "Direct Message {{shortName}}"
}, },
"favorite": { "favorite": {
"label": "お気に入り" "label": "お気に入り",
"tooltip": "Add or remove this node from your favorites"
}, },
"notFavorite": { "notFavorite": {
"label": "Not a Favorite" "label": "Not a Favorite"
}, },
"error": {
"label": "エラー",
"text": "An error occurred while fetching node details. Please try again later."
},
"status": { "status": {
"heard": "Heard", "heard": "Heard",
"mqtt": "MQTT" "mqtt": "MQTT"
@ -47,5 +52,12 @@
"lastHeardStatus": { "lastHeardStatus": {
"never": "Never" "never": "Never"
} }
},
"actions": {
"added": "Added",
"removed": "Removed",
"ignoreNode": "Ignore Node",
"unignoreNode": "Unignore Node",
"requestPosition": "Request Position"
} }
} }

27
src/i18n/locales/ja-JP/ui.json

@ -80,6 +80,24 @@
"saveSuccess": { "saveSuccess": {
"title": "Saving Config", "title": "Saving Config",
"description": "The configuration change {{case}} has been saved." "description": "The configuration change {{case}} has been saved."
},
"favoriteNode": {
"title": "{{action}} {{nodeName}} {{direction}} favorites.",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
},
"ignoreNode": {
"title": "{{action}} {{nodeName}} {{direction}} ignore list",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
} }
}, },
"notifications": { "notifications": {
@ -117,6 +135,9 @@
"filter": { "filter": {
"label": "絞り込み" "label": "絞り込み"
}, },
"advanced": {
"label": "Advanced"
},
"clearInput": { "clearInput": {
"label": "Clear input" "label": "Clear input"
}, },
@ -166,6 +187,12 @@
"viaMqtt": { "viaMqtt": {
"label": "Connected via MQTT" "label": "Connected via MQTT"
}, },
"hopsUnknown": {
"label": "Unknown number of hops"
},
"showUnheard": {
"label": "Never heard"
},
"language": { "language": {
"label": "言語設定", "label": "言語設定",
"changeLanguage": "Change Language" "changeLanguage": "Change Language"

69
src/i18n/locales/ko-KR/channels.json

@ -0,0 +1,69 @@
{
"page": {
"sectionLabel": "채널",
"channelName": "Channel: {{channelName}}",
"broadcastLabel": "Primary",
"channelIndex": "Ch {{index}}"
},
"validation": {
"pskInvalid": "Please enter a valid {{bits}} bit PSK."
},
"settings": {
"label": "채널 설정",
"description": "Crypto, MQTT & misc settings"
},
"role": {
"label": "역할",
"description": "Device telemetry is sent over PRIMARY. Only one PRIMARY allowed",
"options": {
"primary": "PRIMARY",
"disabled": "DISABLED",
"secondary": "SECONDARY"
}
},
"psk": {
"label": "Pre-Shared Key",
"description": "Supported PSK lengths: 256-bit, 128-bit, 8-bit, Empty (0-bit)",
"generate": "Generate"
},
"name": {
"label": "이름",
"description": "A unique name for the channel <12 bytes, leave blank for default"
},
"uplinkEnabled": {
"label": "Uplink Enabled",
"description": "Send messages from the local mesh to MQTT"
},
"downlinkEnabled": {
"label": "Downlink Enabled",
"description": "Send messages from MQTT to the local mesh"
},
"positionPrecision": {
"label": "Location",
"description": "The precision of the location to share with the channel. Can be disabled.",
"options": {
"none": "Do not share location",
"precise": "Precise Location",
"metric_km23": "Within 23 kilometers",
"metric_km12": "Within 12 kilometers",
"metric_km5_8": "Within 5.8 kilometers",
"metric_km2_9": "Within 2.9 kilometers",
"metric_km1_5": "Within 1.5 kilometers",
"metric_m700": "Within 700 meters",
"metric_m350": "Within 350 meters",
"metric_m200": "Within 200 meters",
"metric_m90": "Within 90 meters",
"metric_m50": "Within 50 meters",
"imperial_mi15": "Within 15 miles",
"imperial_mi7_3": "Within 7.3 miles",
"imperial_mi3_6": "Within 3.6 miles",
"imperial_mi1_8": "Within 1.8 miles",
"imperial_mi0_9": "Within 0.9 miles",
"imperial_mi0_5": "Within 0.5 miles",
"imperial_mi0_2": "Within 0.2 miles",
"imperial_ft600": "Within 600 feet",
"imperial_ft300": "Within 300 feet",
"imperial_ft150": "Within 150 feet"
}
}
}

50
src/i18n/locales/ko-KR/commandPalette.json

@ -0,0 +1,50 @@
{
"emptyState": "No results found.",
"page": {
"title": "Command Menu"
},
"pinGroup": {
"label": "Pin command group"
},
"unpinGroup": {
"label": "Unpin command group"
},
"goto": {
"label": "Goto",
"command": {
"messages": "메시지",
"map": "지도",
"config": "Config",
"channels": "채널",
"nodes": "Nodes"
}
},
"manage": {
"label": "Manage",
"command": {
"switchNode": "Switch Node",
"connectNewNode": "Connect New Node"
}
},
"contextual": {
"label": "Contextual",
"command": {
"qrCode": "QR Code",
"qrGenerator": "Generator",
"qrImport": "불러오기",
"scheduleShutdown": "Schedule Shutdown",
"scheduleReboot": "Schedule Reboot",
"rebootToOtaMode": "Reboot To OTA Mode",
"resetNodeDb": "Reset Node DB",
"factoryResetDevice": "Factory Reset Device",
"factoryResetConfig": "Factory Reset Config"
}
},
"debug": {
"label": "Debug",
"command": {
"reconfigure": "Reconfigure",
"clearAllStoredMessages": "Clear All Stored Message"
}
}
}

141
src/i18n/locales/ko-KR/common.json

@ -0,0 +1,141 @@
{
"button": {
"apply": "적용",
"backupKey": "Backup Key",
"cancel": "취소",
"clearMessages": "Clear Messages",
"close": "닫기",
"confirm": "Confirm",
"delete": "삭제",
"dismiss": "Dismiss",
"download": "Download",
"export": "Export",
"generate": "Generate",
"regenerate": "Regenerate",
"import": "불러오기",
"message": "메시지",
"now": "Now",
"ok": "확인",
"print": "Print",
"rebootOtaNow": "Reboot to OTA Mode Now",
"remove": "지우기",
"requestNewKeys": "Request New Keys",
"requestPosition": "Request Position",
"reset": "초기화",
"save": "저장",
"scanQr": " QR코드 스캔",
"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"
},
"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"
},
"month": {
"one": "Month",
"plural": "Months"
},
"year": {
"one": "Year",
"plural": "Years"
},
"snr": "SNR",
"volt": {
"one": "Volt",
"plural": "Volts",
"suffix": "V"
},
"record": {
"one": "Records",
"plural": "Records"
}
},
"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."
}
}
}

12
src/i18n/locales/ko-KR/dashboard.json

@ -0,0 +1,12 @@
{
"dashboard": {
"title": "Connected Devices",
"description": "Manage your connected Meshtastic devices.",
"connectionType_ble": "BLE",
"connectionType_serial": "시리얼",
"connectionType_network": "네트워크",
"noDevicesTitle": "No devices connected",
"noDevicesDescription": "Connect a new device to get started.",
"button_newConnection": "New Connection"
}
}

428
src/i18n/locales/ko-KR/deviceConfig.json

@ -0,0 +1,428 @@
{
"page": {
"title": "Configuration",
"tabBluetooth": "블루투스",
"tabDevice": "기기",
"tabDisplay": "화면",
"tabLora": "LoRa",
"tabNetwork": "네트워크",
"tabPosition": "위치",
"tabPower": "전원",
"tabSecurity": "보안"
},
"sidebar": {
"label": "Modules"
},
"device": {
"title": "Device Settings",
"description": "Settings for the device",
"buttonPin": {
"description": "Button pin override",
"label": "Button Pin"
},
"buzzerPin": {
"description": "Buzzer pin override",
"label": "Buzzer Pin"
},
"disableTripleClick": {
"description": "Disable triple click",
"label": "Disable Triple Click"
},
"doubleTapAsButtonPress": {
"description": "Treat double tap as button press",
"label": "Double Tap as Button Press"
},
"ledHeartbeatDisabled": {
"description": "Disable default blinking LED",
"label": "LED Heartbeat Disabled"
},
"nodeInfoBroadcastInterval": {
"description": "How often to broadcast node info",
"label": "Node Info Broadcast Interval"
},
"posixTimezone": {
"description": "The POSIX timezone string for the device",
"label": "POSIX 시간대"
},
"rebroadcastMode": {
"description": "How to handle rebroadcasting",
"label": "Rebroadcast Mode"
},
"role": {
"description": "What role the device performs on the mesh",
"label": "역할"
}
},
"bluetooth": {
"title": "Bluetooth Settings",
"description": "Settings for the Bluetooth module",
"note": "Note: Some devices (ESP32) cannot use both Bluetooth and WiFi at the same time.",
"enabled": {
"description": "Enable or disable Bluetooth",
"label": "Enabled"
},
"pairingMode": {
"description": "Pin selection behaviour.",
"label": "페어링 모드"
},
"pin": {
"description": "Pin to use when pairing",
"label": "Pin"
}
},
"display": {
"description": "Settings for the device display",
"title": "Display Settings",
"headingBold": {
"description": "Bolden the heading text",
"label": "Bold Heading"
},
"carouselDelay": {
"description": "How fast to cycle through windows",
"label": "Carousel Delay"
},
"compassNorthTop": {
"description": "Fix north to the top of compass",
"label": "Compass North Top"
},
"displayMode": {
"description": "Screen layout variant",
"label": "Display Mode"
},
"displayUnits": {
"description": "Display metric or imperial units",
"label": "Display Units"
},
"flipScreen": {
"description": "Flip display 180 degrees",
"label": "Flip Screen"
},
"gpsDisplayUnits": {
"description": "Coordinate display format",
"label": "GPS Display Units"
},
"oledType": {
"description": "Type of OLED screen attached to the device",
"label": "OLED Type"
},
"screenTimeout": {
"description": "Turn off the display after this long",
"label": "Screen Timeout"
},
"twelveHourClock": {
"description": "Use 12-hour clock format",
"label": "12-Hour Clock"
},
"wakeOnTapOrMotion": {
"description": "Wake the device on tap or motion",
"label": "Wake on Tap or Motion"
}
},
"lora": {
"title": "Mesh Settings",
"description": "Settings for the LoRa mesh",
"bandwidth": {
"description": "Channel bandwidth in MHz",
"label": "대역폭"
},
"boostedRxGain": {
"description": "Boosted RX gain",
"label": "Boosted RX Gain"
},
"codingRate": {
"description": "The denominator of the coding rate",
"label": "Coding Rate"
},
"frequencyOffset": {
"description": "Frequency offset to correct for crystal calibration errors",
"label": "Frequency Offset"
},
"frequencySlot": {
"description": "LoRa frequency channel number",
"label": "Frequency Slot"
},
"hopLimit": {
"description": "Maximum number of hops",
"label": "Hop Limit"
},
"ignoreMqtt": {
"description": "Don't forward MQTT messages over the mesh",
"label": "MQTT로 부터 수신 무시"
},
"modemPreset": {
"description": "Modem preset to use",
"label": "모뎀 프리셋"
},
"okToMqtt": {
"description": "When set to true, this configuration indicates that the user approves the packet to be uploaded to MQTT. If set to false, remote nodes are requested not to forward packets to MQTT",
"label": "MQTT로 전송 허용"
},
"overrideDutyCycle": {
"description": "Duty Cycle 무시",
"label": "Duty Cycle 무시"
},
"overrideFrequency": {
"description": "Override frequency",
"label": "Override Frequency"
},
"region": {
"description": "Sets the region for your node",
"label": "지역"
},
"spreadingFactor": {
"description": "Indicates the number of chirps per symbol",
"label": "Spreading Factor"
},
"transmitEnabled": {
"description": "Enable/Disable transmit (TX) from the LoRa radio",
"label": "Transmit Enabled"
},
"transmitPower": {
"description": "Max transmit power",
"label": "Transmit Power"
},
"usePreset": {
"description": "Use one of the predefined modem presets",
"label": "Use Preset"
},
"meshSettings": {
"description": "Settings for the LoRa mesh",
"label": "Mesh Settings"
},
"waveformSettings": {
"description": "Settings for the LoRa waveform",
"label": "Waveform Settings"
},
"radioSettings": {
"label": "Radio Settings",
"description": "Settings for the LoRa radio"
}
},
"network": {
"title": "WiFi Config",
"description": "WiFi radio configuration",
"note": "Note: Some devices (ESP32) cannot use both Bluetooth and WiFi at the same time.",
"addressMode": {
"description": "Address assignment selection",
"label": "Address Mode"
},
"dns": {
"description": "DNS Server",
"label": "DNS"
},
"ethernetEnabled": {
"description": "Enable or disable the Ethernet port",
"label": "Enabled"
},
"gateway": {
"description": "Default Gateway",
"label": "게이트웨이"
},
"ip": {
"description": "IP Address",
"label": "IP"
},
"psk": {
"description": "Network password",
"label": "PSK"
},
"ssid": {
"description": "Network name",
"label": "SSID"
},
"subnet": {
"description": "Subnet Mask",
"label": "서브넷"
},
"wifiEnabled": {
"description": "Enable or disable the WiFi radio",
"label": "Enabled"
},
"meshViaUdp": {
"label": "Mesh via UDP"
},
"ntpServer": {
"label": "NTP Server"
},
"rsyslogServer": {
"label": "Rsyslog Server"
},
"ethernetConfigSettings": {
"description": "Ethernet port configuration",
"label": "Ethernet Config"
},
"ipConfigSettings": {
"description": "IP configuration",
"label": "IP Config"
},
"ntpConfigSettings": {
"description": "NTP configuration",
"label": "NTP Config"
},
"rsyslogConfigSettings": {
"description": "Rsyslog configuration",
"label": "Rsyslog Config"
},
"udpConfigSettings": {
"description": "UDP over Mesh configuration",
"label": "UDP 설정"
}
},
"position": {
"title": "Position Settings",
"description": "Settings for the position module",
"broadcastInterval": {
"description": "How often your position is sent out over the mesh",
"label": "Broadcast Interval"
},
"enablePin": {
"description": "GPS module enable pin override",
"label": "Enable Pin"
},
"fixedPosition": {
"description": "Don't report GPS position, but a manually-specified one",
"label": "Fixed Position"
},
"gpsMode": {
"description": "Configure whether device GPS is Enabled, Disabled, or Not Present",
"label": "GPS Mode"
},
"gpsUpdateInterval": {
"description": "How often a GPS fix should be acquired",
"label": "GPS Update Interval"
},
"positionFlags": {
"description": "Optional fields to include when assembling position messages. The more fields are selected, the larger the message will be leading to longer airtime usage and a higher risk of packet loss.",
"label": "Position Flags"
},
"receivePin": {
"description": "GPS module RX pin override",
"label": "Receive Pin"
},
"smartPositionEnabled": {
"description": "Only send position when there has been a meaningful change in location",
"label": "Enable Smart Position"
},
"smartPositionMinDistance": {
"description": "Minimum distance (in meters) that must be traveled before a position update is sent",
"label": "Smart Position Minimum Distance"
},
"smartPositionMinInterval": {
"description": "Minimum interval (in seconds) that must pass before a position update is sent",
"label": "Smart Position Minimum Interval"
},
"transmitPin": {
"description": "GPS module TX pin override",
"label": "Transmit Pin"
},
"intervalsSettings": {
"description": "How often to send position updates",
"label": "Intervals"
},
"flags": {
"placeholder": "Select position flags...",
"altitude": "Altitude",
"altitudeGeoidalSeparation": "Altitude Geoidal Separation",
"altitudeMsl": "Altitude is Mean Sea Level",
"dop": "Dilution of precision (DOP) PDOP used by default",
"hdopVdop": "If DOP is set, use HDOP / VDOP values instead of PDOP",
"numSatellites": "Number of satellites",
"sequenceNumber": "Sequence number",
"timestamp": "타임스탬프",
"unset": "해제",
"vehicleHeading": "Vehicle heading",
"vehicleSpeed": "Vehicle speed"
}
},
"power": {
"adcMultiplierOverride": {
"description": "Used for tweaking battery voltage reading",
"label": "ADC Multiplier Override ratio"
},
"ina219Address": {
"description": "Address of the INA219 battery monitor",
"label": "INA219 Address"
},
"lightSleepDuration": {
"description": "How long the device will be in light sleep for",
"label": "Light Sleep Duration"
},
"minimumWakeTime": {
"description": "Minimum amount of time the device will stay awake for after receiving a packet",
"label": "Minimum Wake Time"
},
"noConnectionBluetoothDisabled": {
"description": "If the device does not receive a Bluetooth connection, the BLE radio will be disabled after this long",
"label": "No Connection Bluetooth Disabled"
},
"powerSavingEnabled": {
"description": "Select if powered from a low-current source (i.e. solar), to minimize power consumption as much as possible.",
"label": "저젼력 모드 설정"
},
"shutdownOnBatteryDelay": {
"description": "Automatically shutdown node after this long when on battery, 0 for indefinite",
"label": "Shutdown on battery delay"
},
"superDeepSleepDuration": {
"description": "How long the device will be in super deep sleep for",
"label": "Super Deep Sleep Duration"
},
"powerConfigSettings": {
"description": "Settings for the power module",
"label": "전원 설정"
},
"sleepSettings": {
"description": "Sleep settings for the power module",
"label": "Sleep Settings"
}
},
"security": {
"description": "Settings for the Security configuration",
"title": "Security Settings",
"button_backupKey": "Backup Key",
"adminChannelEnabled": {
"description": "Allow incoming device control over the insecure legacy admin channel",
"label": "Allow Legacy Admin"
},
"enableDebugLogApi": {
"description": "Output live debug logging over serial, view and export position-redacted device logs over Bluetooth",
"label": "Enable Debug Log API"
},
"managed": {
"description": "If enabled, device configuration options are only able to be changed remotely by a Remote Admin node via admin messages. Do not enable this option unless at least one suitable Remote Admin node has been setup, and the public key is stored in one of the fields above.",
"label": "Managed"
},
"privateKey": {
"description": "Used to create a shared key with a remote device",
"label": "개인 키"
},
"publicKey": {
"description": "Sent out to other nodes on the mesh to allow them to compute a shared secret key",
"label": "공개 키"
},
"primaryAdminKey": {
"description": "The primary public key authorized to send admin messages to this node",
"label": "Primary Admin Key"
},
"secondaryAdminKey": {
"description": "The secondary public key authorized to send admin messages to this node",
"label": "Secondary Admin Key"
},
"serialOutputEnabled": {
"description": "Serial Console over the Stream API",
"label": "Serial Output Enabled"
},
"tertiaryAdminKey": {
"description": "The tertiary public key authorized to send admin messages to this node",
"label": "Tertiary Admin Key"
},
"adminSettings": {
"description": "Settings for Admin",
"label": "Admin Settings"
},
"loggingSettings": {
"description": "Settings for Logging",
"label": "Logging Settings"
}
}
}

171
src/i18n/locales/ko-KR/dialog.json

@ -0,0 +1,171 @@
{
"deleteMessages": {
"description": "This action will clear all message history. This cannot be undone. Are you sure you want to continue?",
"title": "Clear All Messages"
},
"deviceName": {
"description": "The Device will restart once the config is saved.",
"longName": "Long Name",
"shortName": "Short Name",
"title": "Change Device Name"
},
"import": {
"description": "The current LoRa configuration will be overridden.",
"error": {
"invalidUrl": "Invalid Meshtastic URL"
},
"channelPrefix": "Channel: ",
"channelSetUrl": "Channel Set/QR Code URL",
"channels": "Channels:",
"usePreset": "Use Preset?",
"title": "Import Channel Set"
},
"locationResponse": {
"altitude": "Altitude: ",
"coordinates": "Coordinates: ",
"title": "Location: {{identifier}}"
},
"pkiRegenerateDialog": {
"title": "Regenerate Pre-Shared Key?",
"description": "Are you sure you want to regenerate the pre-shared key?",
"regenerate": "Regenerate"
},
"newDeviceDialog": {
"title": "Connect New Device",
"https": "https",
"http": "http",
"tabHttp": "HTTP",
"tabBluetooth": "블루투스",
"tabSerial": "시리얼",
"useHttps": "Use HTTPS",
"connecting": "Connecting...",
"connect": "Connect",
"connectionFailedAlert": {
"title": "Connection Failed",
"descriptionPrefix": "Could not connect to the device. ",
"httpsHint": "If using HTTPS, you may need to accept a self-signed certificate first. ",
"openLinkPrefix": "Please open ",
"openLinkSuffix": " in a new tab",
"acceptTlsWarningSuffix": ", accept any TLS warnings if prompted, then try again",
"learnMoreLink": "Learn more"
},
"httpConnection": {
"label": "IP Address/Hostname",
"placeholder": "000.000.000.000 / meshtastic.local"
},
"serialConnection": {
"noDevicesPaired": "No devices paired yet.",
"newDeviceButton": "New device",
"deviceIdentifier": "# {{index}} - {{vendorId}} - {{productId}}"
},
"bluetoothConnection": {
"noDevicesPaired": "No devices paired yet.",
"newDeviceButton": "New device"
},
"validation": {
"requiresWebBluetooth": "This connection type requires <0>Web Bluetooth</0>. Please use a supported browser, like Chrome or Edge.",
"requiresWebSerial": "This connection type requires <0>Web Serial</0>. Please use a supported browser, like Chrome or Edge.",
"requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.",
"additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost."
}
},
"nodeDetails": {
"message": "메시지",
"requestPosition": "Request Position",
"traceRoute": "Trace Route",
"airTxUtilization": "Air TX utilization",
"allRawMetrics": "All Raw Metrics:",
"batteryLevel": "Battery level",
"channelUtilization": "Channel utilization",
"details": "Details:",
"deviceMetrics": "Device Metrics:",
"hardware": "Hardware: ",
"lastHeard": "Last Heard: ",
"nodeHexPrefix": "Node Hex: !",
"nodeNumber": "Node Number: ",
"position": "Position:",
"role": "Role: ",
"uptime": "Uptime: ",
"voltage": "전압",
"title": "Node Details for {{identifier}}",
"ignoreNode": "Ignore node",
"removeNode": "Remove node",
"unignoreNode": "Unignore node"
},
"pkiBackup": {
"loseKeysWarning": "If you lose your keys, you will need to reset your device.",
"secureBackup": "Its important to backup your public and private keys and store your backup securely!",
"footer": "=== END OF KEYS ===",
"header": "=== MESHTASTIC KEYS FOR {{longName}} ({{shortName}}) ===",
"privateKey": "Private Key:",
"publicKey": "Public Key:",
"fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt",
"title": "Backup Keys"
},
"pkiBackupReminder": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"title": "Backup Reminder",
"remindLaterPrefix": "Remind me in",
"remindNever": "Never remind me",
"backupNow": "Back up now"
},
"pkiRegenerate": {
"description": "Are you sure you want to regenerate key pair?",
"title": "Regenerate Key Pair"
},
"qr": {
"addChannels": "Add Channels",
"replaceChannels": "Replace Channels",
"description": "The current LoRa configuration will also be shared.",
"sharableUrl": "Sharable URL",
"title": "Generate QR Code"
},
"rebootOta": {
"title": "Schedule Reboot",
"description": "Reboot the connected node after a delay into OTA (Over-the-Air) mode.",
"enterDelay": "Enter delay (sec)",
"scheduled": "Reboot has been scheduled"
},
"reboot": {
"title": "Schedule Reboot",
"description": "Reboot the connected node after x minutes."
},
"refreshKeys": {
"description": {
"acceptNewKeys": "This will remove the node from device and request new keys.",
"keyMismatchReasonSuffix": ". This is due to the remote node's current public key does not match the previously stored key for this node.",
"unableToSendDmPrefix": "Your node is unable to send a direct message to node: "
},
"acceptNewKeys": "Accept New Keys",
"title": "Keys Mismatch - {{identifier}}"
},
"removeNode": {
"description": "Are you sure you want to remove this Node?",
"title": "Remove Node?"
},
"shutdown": {
"title": "Schedule Shutdown",
"description": "Turn off the connected node after x minutes."
},
"traceRoute": {
"routeToDestination": "Route to destination:",
"routeBack": "Route back:"
},
"tracerouteResponse": {
"title": "Traceroute: {{identifier}}"
},
"unsafeRoles": {
"confirmUnderstanding": "Yes, I know what I'm doing",
"conjunction": " and the blog post about ",
"postamble": " and understand the implications of changing the role.",
"preamble": "I have read the ",
"choosingRightDeviceRole": "Choosing The Right Device Role",
"deviceRoleDocumentation": "Device Role Documentation",
"title": "확실합니까?"
},
"managedMode": {
"confirmUnderstanding": "Yes, I know what I'm doing",
"title": "확실합니까?",
"description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can <bold>only</bold> be changed through Remote Admin messages. This setting is not required for remote node administration."
}
}

39
src/i18n/locales/ko-KR/messages.json

@ -0,0 +1,39 @@
{
"page": {
"title": "Messages: {{chatName}}",
"placeholder": "Enter Message"
},
"emptyState": {
"title": "Select a Chat",
"text": "No messages yet."
},
"selectChatPrompt": {
"text": "Select a channel or node to start messaging."
},
"sendMessage": {
"placeholder": "Enter your message here...",
"sendButton": "보내기"
},
"actionsMenu": {
"addReactionLabel": "Add Reaction",
"replyLabel": "Reply"
},
"deliveryStatus": {
"delivered": {
"label": "Message delivered",
"displayText": "Message delivered"
},
"failed": {
"label": "Message delivery failed",
"displayText": "Delivery failed"
},
"unknown": {
"label": "Message status unknown",
"displayText": "Unknown state"
},
"waiting": {
"label": "Sending message",
"displayText": "Waiting for delivery"
}
}
}

448
src/i18n/locales/ko-KR/moduleConfig.json

@ -0,0 +1,448 @@
{
"page": {
"tabAmbientLighting": "조명",
"tabAudio": "오디오",
"tabCannedMessage": "Canned",
"tabDetectionSensor": "감지 센서",
"tabExternalNotification": "Ext Notif",
"tabMqtt": "MQTT",
"tabNeighborInfo": "이웃 정보",
"tabPaxcounter": "팍스카운터",
"tabRangeTest": "거리 테스트",
"tabSerial": "시리얼",
"tabStoreAndForward": "S&F",
"tabTelemetry": "텔레메트리"
},
"ambientLighting": {
"title": "Ambient Lighting Settings",
"description": "Settings for the Ambient Lighting module",
"ledState": {
"label": "LED State",
"description": "Sets LED to on or off"
},
"current": {
"label": "전류",
"description": "Sets the current for the LED output. Default is 10"
},
"red": {
"label": "빨강",
"description": "Sets the red LED level. Values are 0-255"
},
"green": {
"label": "초록",
"description": "Sets the green LED level. Values are 0-255"
},
"blue": {
"label": "파랑",
"description": "Sets the blue LED level. Values are 0-255"
}
},
"audio": {
"title": "Audio Settings",
"description": "Settings for the Audio module",
"codec2Enabled": {
"label": "Codec 2 Enabled",
"description": "Enable Codec 2 audio encoding"
},
"pttPin": {
"label": "PTT Pin",
"description": "GPIO pin to use for PTT"
},
"bitrate": {
"label": "Bitrate",
"description": "Bitrate to use for audio encoding"
},
"i2sWs": {
"label": "i2S WS",
"description": "GPIO pin to use for i2S WS"
},
"i2sSd": {
"label": "i2S SD",
"description": "GPIO pin to use for i2S SD"
},
"i2sDin": {
"label": "i2S DIN",
"description": "GPIO pin to use for i2S DIN"
},
"i2sSck": {
"label": "i2S SCK",
"description": "GPIO pin to use for i2S SCK"
}
},
"cannedMessage": {
"title": "Canned Message Settings",
"description": "Settings for the Canned Message module",
"moduleEnabled": {
"label": "Module Enabled",
"description": "Enable Canned Message"
},
"rotary1Enabled": {
"label": "Rotary Encoder #1 Enabled",
"description": "Enable the rotary encoder"
},
"inputbrokerPinA": {
"label": "Encoder Pin A",
"description": "GPIO Pin Value (1-39) For encoder port A"
},
"inputbrokerPinB": {
"label": "Encoder Pin B",
"description": "GPIO Pin Value (1-39) For encoder port B"
},
"inputbrokerPinPress": {
"label": "Encoder Pin Press",
"description": "GPIO Pin Value (1-39) For encoder Press"
},
"inputbrokerEventCw": {
"label": "Clockwise event",
"description": "Select input event."
},
"inputbrokerEventCcw": {
"label": "Counter Clockwise event",
"description": "Select input event."
},
"inputbrokerEventPress": {
"label": "Press event",
"description": "Select input event"
},
"updown1Enabled": {
"label": "Up Down enabled",
"description": "Enable the up / down encoder"
},
"allowInputSource": {
"label": "Allow Input Source",
"description": "Select from: '_any', 'rotEnc1', 'upDownEnc1', 'cardkb'"
},
"sendBell": {
"label": "Send Bell",
"description": "Sends a bell character with each message"
}
},
"detectionSensor": {
"title": "Detection Sensor Settings",
"description": "Settings for the Detection Sensor module",
"enabled": {
"label": "Enabled",
"description": "Enable or disable Detection Sensor Module"
},
"minimumBroadcastSecs": {
"label": "Minimum Broadcast Seconds",
"description": "The interval in seconds of how often we can send a message to the mesh when a state change is detected"
},
"stateBroadcastSecs": {
"label": "State Broadcast Seconds",
"description": "The interval in seconds of how often we should send a message to the mesh with the current state regardless of changes"
},
"sendBell": {
"label": "Send Bell",
"description": "Send ASCII bell with alert message"
},
"name": {
"label": "Friendly Name",
"description": "Used to format the message sent to mesh, max 20 Characters"
},
"monitorPin": {
"label": "Monitor Pin",
"description": "The GPIO pin to monitor for state changes"
},
"detectionTriggerType": {
"label": "Detection Triggered Type",
"description": "The type of trigger event to be used"
},
"usePullup": {
"label": "Use Pullup",
"description": "Whether or not use INPUT_PULLUP mode for GPIO pin"
}
},
"externalNotification": {
"title": "External Notification Settings",
"description": "Configure the external notification module",
"enabled": {
"label": "Module Enabled",
"description": "Enable External Notification"
},
"outputMs": {
"label": "Output MS",
"description": "Output MS"
},
"output": {
"label": "Output",
"description": "Output"
},
"outputVibra": {
"label": "Output Vibrate",
"description": "Output Vibrate"
},
"outputBuzzer": {
"label": "Output Buzzer",
"description": "Output Buzzer"
},
"active": {
"label": "Active",
"description": "Active"
},
"alertMessage": {
"label": "Alert Message",
"description": "Alert Message"
},
"alertMessageVibra": {
"label": "Alert Message Vibrate",
"description": "Alert Message Vibrate"
},
"alertMessageBuzzer": {
"label": "Alert Message Buzzer",
"description": "Alert Message Buzzer"
},
"alertBell": {
"label": "Alert Bell",
"description": "Should an alert be triggered when receiving an incoming bell?"
},
"alertBellVibra": {
"label": "Alert Bell Vibrate",
"description": "Alert Bell Vibrate"
},
"alertBellBuzzer": {
"label": "Alert Bell Buzzer",
"description": "Alert Bell Buzzer"
},
"usePwm": {
"label": "Use PWM",
"description": "Use PWM"
},
"nagTimeout": {
"label": "Nag Timeout",
"description": "Nag Timeout"
},
"useI2sAsBuzzer": {
"label": "Use I²S Pin as Buzzer",
"description": "Designate I²S Pin as Buzzer Output"
}
},
"mqtt": {
"title": "MQTT Settings",
"description": "Settings for the MQTT module",
"enabled": {
"label": "Enabled",
"description": "Enable or disable MQTT"
},
"address": {
"label": "MQTT Server Address",
"description": "MQTT server address to use for default/custom servers"
},
"username": {
"label": "MQTT Username",
"description": "MQTT username to use for default/custom servers"
},
"password": {
"label": "MQTT Password",
"description": "MQTT password to use for default/custom servers"
},
"encryptionEnabled": {
"label": "Encryption Enabled",
"description": "Enable or disable MQTT encryption. Note: All messages are sent to the MQTT broker unencrypted if this option is not enabled, even when your uplink channels have encryption keys set. This includes position data."
},
"jsonEnabled": {
"label": "JSON Enabled",
"description": "Whether to send/consume JSON packets on MQTT"
},
"tlsEnabled": {
"label": "TLS Enabled",
"description": "Enable or disable TLS"
},
"root": {
"label": "Root topic",
"description": "MQTT root topic to use for default/custom servers"
},
"proxyToClientEnabled": {
"label": "MQTT Client Proxy Enabled",
"description": "Utilizes the network connection to proxy MQTT messages to the client."
},
"mapReportingEnabled": {
"label": "Map Reporting Enabled",
"description": "Your node will periodically send an unencrypted map report packet to the configured MQTT server, this includes id, short and long name, approximate location, hardware model, role, firmware version, LoRa region, modem preset and primary channel name."
},
"mapReportSettings": {
"publishIntervalSecs": {
"label": "Map Report Publish Interval (s)",
"description": "Interval in seconds to publish map reports"
},
"positionPrecision": {
"label": "Approximate Location",
"description": "Position shared will be accurate within this distance",
"options": {
"metric_km23": "Within 23 km",
"metric_km12": "Within 12 km",
"metric_km5_8": "Within 5.8 km",
"metric_km2_9": "Within 2.9 km",
"metric_km1_5": "Within 1.5 km",
"metric_m700": "Within 700 m",
"metric_m350": "Within 350 m",
"metric_m200": "Within 200 m",
"metric_m90": "Within 90 m",
"metric_m50": "Within 50 m",
"imperial_mi15": "Within 15 miles",
"imperial_mi7_3": "Within 7.3 miles",
"imperial_mi3_6": "Within 3.6 miles",
"imperial_mi1_8": "Within 1.8 miles",
"imperial_mi0_9": "Within 0.9 miles",
"imperial_mi0_5": "Within 0.5 miles",
"imperial_mi0_2": "Within 0.2 miles",
"imperial_ft600": "Within 600 feet",
"imperial_ft300": "Within 300 feet",
"imperial_ft150": "Within 150 feet"
}
}
}
},
"neighborInfo": {
"title": "Neighbor Info Settings",
"description": "Settings for the Neighbor Info module",
"enabled": {
"label": "Enabled",
"description": "Enable or disable Neighbor Info Module"
},
"updateInterval": {
"label": "Update Interval",
"description": "Interval in seconds of how often we should try to send our Neighbor Info to the mesh"
}
},
"paxcounter": {
"title": "Paxcounter Settings",
"description": "Settings for the Paxcounter module",
"enabled": {
"label": "Module Enabled",
"description": "Enable Paxcounter"
},
"paxcounterUpdateInterval": {
"label": "Update Interval (seconds)",
"description": "How long to wait between sending paxcounter packets"
},
"wifiThreshold": {
"label": "WiFi RSSI Threshold",
"description": "At what WiFi RSSI level should the counter increase. Defaults to -80."
},
"bleThreshold": {
"label": "BLE RSSI Threshold",
"description": "At what BLE RSSI level should the counter increase. Defaults to -80."
}
},
"rangeTest": {
"title": "Range Test Settings",
"description": "Settings for the Range Test module",
"enabled": {
"label": "Module Enabled",
"description": "Enable Range Test"
},
"sender": {
"label": "Message Interval",
"description": "How long to wait between sending test packets"
},
"save": {
"label": "Save CSV to storage",
"description": "ESP32 Only"
}
},
"serial": {
"title": "Serial Settings",
"description": "Settings for the Serial module",
"enabled": {
"label": "Module Enabled",
"description": "Enable Serial output"
},
"echo": {
"label": "Echo",
"description": "Any packets you send will be echoed back to your device"
},
"rxd": {
"label": "Receive Pin",
"description": "Set the GPIO pin to the RXD pin you have set up."
},
"txd": {
"label": "Transmit Pin",
"description": "Set the GPIO pin to the TXD pin you have set up."
},
"baud": {
"label": "Baud Rate",
"description": "The serial baud rate"
},
"timeout": {
"label": "시간 초과됨",
"description": "Seconds to wait before we consider your packet as 'done'"
},
"mode": {
"label": "Mode",
"description": "Select Mode"
},
"overrideConsoleSerialPort": {
"label": "Override Console Serial Port",
"description": "If you have a serial port connected to the console, this will override it."
}
},
"storeForward": {
"title": "Store & Forward Settings",
"description": "Settings for the Store & Forward module",
"enabled": {
"label": "Module Enabled",
"description": "Enable Store & Forward"
},
"heartbeat": {
"label": "Heartbeat Enabled",
"description": "Enable Store & Forward heartbeat"
},
"records": {
"label": "Number of records",
"description": "Number of records to store"
},
"historyReturnMax": {
"label": "History return max",
"description": "Max number of records to return"
},
"historyReturnWindow": {
"label": "History return window",
"description": "Max number of records to return"
}
},
"telemetry": {
"title": "Telemetry Settings",
"description": "Settings for the Telemetry module",
"deviceUpdateInterval": {
"label": "Device Metrics",
"description": "기기 메트릭 업데이트 간격 (초)"
},
"environmentUpdateInterval": {
"label": "환경 메트릭 업데이트 간격 (초)",
"description": ""
},
"environmentMeasurementEnabled": {
"label": "Module Enabled",
"description": "Enable the Environment Telemetry"
},
"environmentScreenEnabled": {
"label": "Displayed on Screen",
"description": "Show the Telemetry Module on the OLED"
},
"environmentDisplayFahrenheit": {
"label": "Display Fahrenheit",
"description": "Display temp in Fahrenheit"
},
"airQualityEnabled": {
"label": "Air Quality Enabled",
"description": "Enable the Air Quality Telemetry"
},
"airQualityInterval": {
"label": "Air Quality Update Interval",
"description": "How often to send Air Quality data over the mesh"
},
"powerMeasurementEnabled": {
"label": "Power Measurement Enabled",
"description": "Enable the Power Measurement Telemetry"
},
"powerUpdateInterval": {
"label": "Power Update Interval",
"description": "How often to send Power data over the mesh"
},
"powerScreenEnabled": {
"label": "Power Screen Enabled",
"description": "Enable the Power Telemetry Screen"
}
}
}

63
src/i18n/locales/ko-KR/nodes.json

@ -0,0 +1,63 @@
{
"nodeDetail": {
"publicKeyEnabled": {
"label": "Public Key Enabled"
},
"noPublicKey": {
"label": "No Public Key"
},
"directMessage": {
"label": "Direct Message {{shortName}}"
},
"favorite": {
"label": "즐겨찾기",
"tooltip": "Add or remove this node from your favorites"
},
"notFavorite": {
"label": "Not a Favorite"
},
"error": {
"label": "오류",
"text": "An error occurred while fetching node details. Please try again later."
},
"status": {
"heard": "Heard",
"mqtt": "MQTT"
},
"elevation": {
"label": "Elevation"
},
"channelUtil": {
"label": "Channel Util"
},
"airtimeUtil": {
"label": "Airtime Util"
}
},
"nodesTable": {
"headings": {
"longName": "Long Name",
"connection": "Connection",
"lastHeard": "Last Heard",
"encryption": "Encryption",
"model": "Model",
"macAddress": "MAC Address"
},
"connectionStatus": {
"direct": "직접 연결",
"away": "away",
"unknown": "-",
"viaMqtt": ", via MQTT"
},
"lastHeardStatus": {
"never": "Never"
}
},
"actions": {
"added": "Added",
"removed": "Removed",
"ignoreNode": "Ignore Node",
"unignoreNode": "Unignore Node",
"requestPosition": "Request Position"
}
}

228
src/i18n/locales/ko-KR/ui.json

@ -0,0 +1,228 @@
{
"navigation": {
"title": "Navigation",
"messages": "메시지",
"map": "지도",
"config": "Config",
"radioConfig": "Radio Config",
"moduleConfig": "Module Config",
"channels": "채널",
"nodes": "Nodes"
},
"app": {
"title": "Meshtastic",
"logo": "Meshtastic Logo"
},
"sidebar": {
"collapseToggle": {
"button": {
"open": "Open sidebar",
"close": "Close sidebar"
}
},
"deviceInfo": {
"volts": "{{voltage}} volts",
"firmware": {
"title": "펌웨어",
"version": "v{{version}}",
"buildDate": "Build date: {{date}}"
},
"deviceName": {
"title": "Device Name",
"changeName": "Change Device Name",
"placeholder": "Enter device name"
},
"editDeviceName": "Edit device name"
}
},
"batteryStatus": {
"charging": "{{level}}% charging",
"pluggedIn": "Plugged in",
"title": "배터리"
},
"search": {
"nodes": "Search nodes...",
"channels": "Search channels...",
"commandPalette": "Search commands..."
},
"toast": {
"positionRequestSent": {
"title": "Position request sent."
},
"requestingPosition": {
"title": "Requesting position, please wait..."
},
"sendingTraceroute": {
"title": "Sending Traceroute, please wait..."
},
"tracerouteSent": {
"title": "Traceroute sent."
},
"savedChannel": {
"title": "Saved Channel: {{channelName}}"
},
"messages": {
"pkiEncryption": {
"title": "Chat is using PKI encryption."
},
"pskEncryption": {
"title": "Chat is using PSK encryption."
}
},
"configSaveError": {
"title": "Error Saving Config",
"description": "An error occurred while saving the configuration."
},
"validationError": {
"title": "Config Errors Exist",
"description": "Please fix the configuration errors before saving."
},
"saveSuccess": {
"title": "Saving Config",
"description": "The configuration change {{case}} has been saved."
},
"favoriteNode": {
"title": "{{action}} {{nodeName}} {{direction}} favorites.",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
},
"ignoreNode": {
"title": "{{action}} {{nodeName}} {{direction}} ignore list",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
}
},
"notifications": {
"copied": {
"label": "Copied!"
},
"copyToClipboard": {
"label": "Copy to clipboard"
},
"hidePassword": {
"label": "비밀번호 숨김"
},
"showPassword": {
"label": "비밀번호 보기"
},
"deliveryStatus": {
"delivered": "Delivered",
"failed": "Delivery Failed",
"waiting": "Waiting",
"unknown": "Unknown"
}
},
"general": {
"label": "General"
},
"hardware": {
"label": "하드웨어"
},
"metrics": {
"label": "Metrics"
},
"role": {
"label": "역할"
},
"filter": {
"label": "필터"
},
"advanced": {
"label": "Advanced"
},
"clearInput": {
"label": "Clear input"
},
"resetFilters": {
"label": "Reset Filters"
},
"nodeName": {
"label": "Node name/number",
"placeholder": "Meshtastic 1234"
},
"airtimeUtilization": {
"label": "Airtime Utilization (%)"
},
"batteryLevel": {
"label": "Battery level (%)",
"labelText": "Battery level (%): {{value}}"
},
"batteryVoltage": {
"label": "Battery voltage (V)",
"title": "전압"
},
"channelUtilization": {
"label": "Channel Utilization (%)"
},
"hops": {
"direct": "직접 연결",
"label": "Number of hops",
"text": "Number of hops: {{value}}"
},
"lastHeard": {
"label": "최근 수신",
"labelText": "Last heard: {{value}}",
"nowLabel": "Now"
},
"snr": {
"label": "SNR (db)"
},
"favorites": {
"label": "Favorites"
},
"hide": {
"label": "Hide"
},
"showOnly": {
"label": "Show Only"
},
"viaMqtt": {
"label": "Connected via MQTT"
},
"hopsUnknown": {
"label": "Unknown number of hops"
},
"showUnheard": {
"label": "Never heard"
},
"language": {
"label": "언어",
"changeLanguage": "Change Language"
},
"theme": {
"dark": "다크",
"light": "라이트",
"system": "Automatic",
"changeTheme": "Change Color Scheme"
},
"errorPage": {
"title": "This is a little embarrassing...",
"description1": "We are really sorry but an error occurred in the web client that caused it to crash. <br /> This is not supposed to happen, and we are working hard to fix it.",
"description2": "The best way to prevent this from happening again to you or anyone else is to report the issue to us.",
"reportInstructions": "Please include the following information in your report:",
"reportSteps": {
"step1": "What you were doing when the error occurred",
"step2": "What you expected to happen",
"step3": "What actually happened",
"step4": "Any other relevant information"
},
"reportLink": "You can report the issue to our <0>GitHub</0>",
"dashboardLink": "Return to the <0>dashboard</0>",
"detailsSummary": "Error Details",
"errorMessageLabel": "Error message:",
"stackTraceLabel": "Stack trace:",
"fallbackError": "{{error}}"
},
"footer": {
"text": "Powered by <0>▲ Vercel</0> | Meshtastic® is a registered trademark of Meshtastic LLC. | <1>Legal Information</1>",
"commitSha": "Commit SHA: {{sha}}"
}
}

24
src/i18n/locales/nl-NL/common.json

@ -24,7 +24,8 @@
"reset": "Reset", "reset": "Reset",
"save": "Opslaan", "save": "Opslaan",
"scanQr": "Scan QR-code", "scanQr": "Scan QR-code",
"traceRoute": "Trace Route" "traceRoute": "Trace Route",
"submit": "Submit"
}, },
"app": { "app": {
"title": "Meshtastic", "title": "Meshtastic",
@ -55,6 +56,10 @@
"one": "Minute", "one": "Minute",
"plural": "Minutes" "plural": "Minutes"
}, },
"hour": {
"one": "Hour",
"plural": "Hours"
},
"millisecond": { "millisecond": {
"one": "Millisecond", "one": "Millisecond",
"plural": "Milliseconds", "plural": "Milliseconds",
@ -64,6 +69,18 @@
"one": "Second", "one": "Second",
"plural": "Seconds" "plural": "Seconds"
}, },
"day": {
"one": "Day",
"plural": "Days"
},
"month": {
"one": "Month",
"plural": "Months"
},
"year": {
"one": "Year",
"plural": "Years"
},
"snr": "SNR", "snr": "SNR",
"volt": { "volt": {
"one": "Volt", "one": "Volt",
@ -76,6 +93,9 @@
} }
}, },
"security": { "security": {
"0bit": "Empty",
"8bit": "8 bit",
"128bit": "128 bit",
"256bit": "256 bit" "256bit": "256 bit"
}, },
"unknown": { "unknown": {
@ -87,7 +107,9 @@
"nodeUnknownPrefix": "!", "nodeUnknownPrefix": "!",
"unset": "UNSET", "unset": "UNSET",
"fallbackName": "Meshtastic {{last4}}", "fallbackName": "Meshtastic {{last4}}",
"node": "Node",
"formValidation": { "formValidation": {
"unsavedChanges": "Unsaved changes",
"tooBig": { "tooBig": {
"string": "Too long, expected less than or equal to {{maximum}} characters.", "string": "Too long, expected less than or equal to {{maximum}} characters.",
"number": "Too big, expected a number smaller than or equal to {{maximum}}.", "number": "Too big, expected a number smaller than or equal to {{maximum}}.",

16
src/i18n/locales/nl-NL/dialog.json

@ -63,7 +63,8 @@
"newDeviceButton": "New device" "newDeviceButton": "New device"
}, },
"validation": { "validation": {
"requiresFeatures": "This connection type requires <0></0>. Please use a supported browser, like Chrome or Edge.", "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth</0>. Please use a supported browser, like Chrome or Edge.",
"requiresWebSerial": "This connection type requires <0>Web Serial</0>. Please use a supported browser, like Chrome or Edge.",
"requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.", "requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.",
"additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost." "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost."
} }
@ -92,7 +93,6 @@
"unignoreNode": "Unignore node" "unignoreNode": "Unignore node"
}, },
"pkiBackup": { "pkiBackup": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"loseKeysWarning": "If you lose your keys, you will need to reset your device.", "loseKeysWarning": "If you lose your keys, you will need to reset your device.",
"secureBackup": "Its important to backup your public and private keys and store your backup securely!", "secureBackup": "Its important to backup your public and private keys and store your backup securely!",
"footer": "=== END OF KEYS ===", "footer": "=== END OF KEYS ===",
@ -102,6 +102,13 @@
"fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt", "fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt",
"title": "Backup Keys" "title": "Backup Keys"
}, },
"pkiBackupReminder": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"title": "Backup Reminder",
"remindLaterPrefix": "Remind me in",
"remindNever": "Never remind me",
"backupNow": "Back up now"
},
"pkiRegenerate": { "pkiRegenerate": {
"description": "Are you sure you want to regenerate key pair?", "description": "Are you sure you want to regenerate key pair?",
"title": "Regenerate Key Pair" "title": "Regenerate Key Pair"
@ -155,5 +162,10 @@
"choosingRightDeviceRole": "Choosing The Right Device Role", "choosingRightDeviceRole": "Choosing The Right Device Role",
"deviceRoleDocumentation": "Device Role Documentation", "deviceRoleDocumentation": "Device Role Documentation",
"title": "Weet u het zeker?" "title": "Weet u het zeker?"
},
"managedMode": {
"confirmUnderstanding": "Yes, I know what I'm doing",
"title": "Weet u het zeker?",
"description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can <bold>only</bold> be changed through Remote Admin messages. This setting is not required for remote node administration."
} }
} }

39
src/i18n/locales/nl-NL/messages.json

@ -1,6 +1,7 @@
{ {
"page": { "page": {
"title": "Messages: {{chatName}}" "title": "Messages: {{chatName}}",
"placeholder": "Enter Message"
}, },
"emptyState": { "emptyState": {
"title": "Select a Chat", "title": "Select a Chat",
@ -10,31 +11,29 @@
"text": "Select a channel or node to start messaging." "text": "Select a channel or node to start messaging."
}, },
"sendMessage": { "sendMessage": {
"placeholder": "Type your message here...", "placeholder": "Enter your message here...",
"sendButton": "Verzend" "sendButton": "Verzend"
}, },
"actionsMenu": { "actionsMenu": {
"addReactionLabel": "Add Reaction", "addReactionLabel": "Add Reaction",
"replyLabel": "Reply" "replyLabel": "Reply"
}, },
"item": { "deliveryStatus": {
"status": { "delivered": {
"delivered": { "label": "Message delivered",
"label": "Message delivered", "displayText": "Message delivered"
"displayText": "Message delivered" },
}, "failed": {
"failed": { "label": "Message delivery failed",
"label": "Message delivery failed", "displayText": "Delivery failed"
"displayText": "Delivery failed" },
}, "unknown": {
"unknown": { "label": "Message status unknown",
"label": "Message status unknown", "displayText": "Unknown state"
"displayText": "Unknown state" },
}, "waiting": {
"waiting": { "label": "Sending message",
"ariaLabel": "Sending message", "displayText": "Waiting for delivery"
"displayText": "Waiting for delivery"
}
} }
} }
} }

14
src/i18n/locales/nl-NL/nodes.json

@ -10,11 +10,16 @@
"label": "Direct Message {{shortName}}" "label": "Direct Message {{shortName}}"
}, },
"favorite": { "favorite": {
"label": "Favoriet" "label": "Favoriet",
"tooltip": "Add or remove this node from your favorites"
}, },
"notFavorite": { "notFavorite": {
"label": "Not a Favorite" "label": "Not a Favorite"
}, },
"error": {
"label": "Foutmelding",
"text": "An error occurred while fetching node details. Please try again later."
},
"status": { "status": {
"heard": "Heard", "heard": "Heard",
"mqtt": "MQTT" "mqtt": "MQTT"
@ -47,5 +52,12 @@
"lastHeardStatus": { "lastHeardStatus": {
"never": "Never" "never": "Never"
} }
},
"actions": {
"added": "Added",
"removed": "Removed",
"ignoreNode": "Ignore Node",
"unignoreNode": "Unignore Node",
"requestPosition": "Request Position"
} }
} }

27
src/i18n/locales/nl-NL/ui.json

@ -80,6 +80,24 @@
"saveSuccess": { "saveSuccess": {
"title": "Saving Config", "title": "Saving Config",
"description": "The configuration change {{case}} has been saved." "description": "The configuration change {{case}} has been saved."
},
"favoriteNode": {
"title": "{{action}} {{nodeName}} {{direction}} favorites.",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
},
"ignoreNode": {
"title": "{{action}} {{nodeName}} {{direction}} ignore list",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
} }
}, },
"notifications": { "notifications": {
@ -117,6 +135,9 @@
"filter": { "filter": {
"label": "Filter" "label": "Filter"
}, },
"advanced": {
"label": "Advanced"
},
"clearInput": { "clearInput": {
"label": "Clear input" "label": "Clear input"
}, },
@ -166,6 +187,12 @@
"viaMqtt": { "viaMqtt": {
"label": "Connected via MQTT" "label": "Connected via MQTT"
}, },
"hopsUnknown": {
"label": "Unknown number of hops"
},
"showUnheard": {
"label": "Never heard"
},
"language": { "language": {
"label": "Taal", "label": "Taal",
"changeLanguage": "Change Language" "changeLanguage": "Change Language"

69
src/i18n/locales/pl-PL/channels.json

@ -0,0 +1,69 @@
{
"page": {
"sectionLabel": "Kanały",
"channelName": "Channel: {{channelName}}",
"broadcastLabel": "Podstawowy",
"channelIndex": "Ch {{index}}"
},
"validation": {
"pskInvalid": "Please enter a valid {{bits}} bit PSK."
},
"settings": {
"label": "Ustawienia kanału",
"description": "Crypto, MQTT & misc settings"
},
"role": {
"label": "Rola",
"description": "Device telemetry is sent over PRIMARY. Only one PRIMARY allowed",
"options": {
"primary": "PRIMARY",
"disabled": "DISABLED",
"secondary": "SECONDARY"
}
},
"psk": {
"label": "Pre-Shared Key",
"description": "Supported PSK lengths: 256-bit, 128-bit, 8-bit, Empty (0-bit)",
"generate": "Generate"
},
"name": {
"label": "Nazwa",
"description": "A unique name for the channel <12 bytes, leave blank for default"
},
"uplinkEnabled": {
"label": "Uplink Enabled",
"description": "Send messages from the local mesh to MQTT"
},
"downlinkEnabled": {
"label": "Downlink Enabled",
"description": "Send messages from MQTT to the local mesh"
},
"positionPrecision": {
"label": "Location",
"description": "The precision of the location to share with the channel. Can be disabled.",
"options": {
"none": "Do not share location",
"precise": "Precise Location",
"metric_km23": "Within 23 kilometers",
"metric_km12": "Within 12 kilometers",
"metric_km5_8": "Within 5.8 kilometers",
"metric_km2_9": "Within 2.9 kilometers",
"metric_km1_5": "Within 1.5 kilometers",
"metric_m700": "Within 700 meters",
"metric_m350": "Within 350 meters",
"metric_m200": "Within 200 meters",
"metric_m90": "Within 90 meters",
"metric_m50": "Within 50 meters",
"imperial_mi15": "Within 15 miles",
"imperial_mi7_3": "Within 7.3 miles",
"imperial_mi3_6": "Within 3.6 miles",
"imperial_mi1_8": "Within 1.8 miles",
"imperial_mi0_9": "Within 0.9 miles",
"imperial_mi0_5": "Within 0.5 miles",
"imperial_mi0_2": "Within 0.2 miles",
"imperial_ft600": "Within 600 feet",
"imperial_ft300": "Within 300 feet",
"imperial_ft150": "Within 150 feet"
}
}
}

50
src/i18n/locales/pl-PL/commandPalette.json

@ -0,0 +1,50 @@
{
"emptyState": "No results found.",
"page": {
"title": "Command Menu"
},
"pinGroup": {
"label": "Pin command group"
},
"unpinGroup": {
"label": "Unpin command group"
},
"goto": {
"label": "Goto",
"command": {
"messages": "Wiadomości",
"map": "Mapa",
"config": "Config",
"channels": "Kanały",
"nodes": "Nodes"
}
},
"manage": {
"label": "Manage",
"command": {
"switchNode": "Switch Node",
"connectNewNode": "Connect New Node"
}
},
"contextual": {
"label": "Contextual",
"command": {
"qrCode": "QR Code",
"qrGenerator": "Generator",
"qrImport": "Import",
"scheduleShutdown": "Schedule Shutdown",
"scheduleReboot": "Schedule Reboot",
"rebootToOtaMode": "Reboot To OTA Mode",
"resetNodeDb": "Reset Node DB",
"factoryResetDevice": "Factory Reset Device",
"factoryResetConfig": "Factory Reset Config"
}
},
"debug": {
"label": "Debug",
"command": {
"reconfigure": "Reconfigure",
"clearAllStoredMessages": "Clear All Stored Message"
}
}
}

141
src/i18n/locales/pl-PL/common.json

@ -0,0 +1,141 @@
{
"button": {
"apply": "Zastosuj",
"backupKey": "Backup Key",
"cancel": "Anuluj",
"clearMessages": "Clear Messages",
"close": "Zamknij",
"confirm": "Confirm",
"delete": "Usuń",
"dismiss": "Zamknij",
"download": "Download",
"export": "Export",
"generate": "Generate",
"regenerate": "Regenerate",
"import": "Import",
"message": "Wiadomość",
"now": "Now",
"ok": "OK",
"print": "Print",
"rebootOtaNow": "Reboot to OTA Mode Now",
"remove": "Usuń",
"requestNewKeys": "Request New Keys",
"requestPosition": "Request Position",
"reset": "Zresetuj",
"save": "Zapisz",
"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"
},
"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"
},
"month": {
"one": "Month",
"plural": "Months"
},
"year": {
"one": "Year",
"plural": "Years"
},
"snr": "SNR:",
"volt": {
"one": "Volt",
"plural": "Volts",
"suffix": "V"
},
"record": {
"one": "Records",
"plural": "Records"
}
},
"security": {
"0bit": "Empty",
"8bit": "8 bit",
"128bit": "128 bit",
"256bit": "256 bit"
},
"unknown": {
"longName": "Nieznany",
"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."
}
}
}

12
src/i18n/locales/pl-PL/dashboard.json

@ -0,0 +1,12 @@
{
"dashboard": {
"title": "Connected Devices",
"description": "Manage your connected Meshtastic devices.",
"connectionType_ble": "BLE",
"connectionType_serial": "Seryjny",
"connectionType_network": "Sieć",
"noDevicesTitle": "No devices connected",
"noDevicesDescription": "Connect a new device to get started.",
"button_newConnection": "New Connection"
}
}

428
src/i18n/locales/pl-PL/deviceConfig.json

@ -0,0 +1,428 @@
{
"page": {
"title": "Configuration",
"tabBluetooth": "Bluetooth",
"tabDevice": "Urządzenie",
"tabDisplay": "Wyświetlacz",
"tabLora": "LoRa",
"tabNetwork": "Sieć",
"tabPosition": "Pozycjonowanie",
"tabPower": "Zasilanie",
"tabSecurity": "Bezpieczeństwo"
},
"sidebar": {
"label": "Modules"
},
"device": {
"title": "Device Settings",
"description": "Settings for the device",
"buttonPin": {
"description": "Button pin override",
"label": "Button Pin"
},
"buzzerPin": {
"description": "Buzzer pin override",
"label": "Buzzer Pin"
},
"disableTripleClick": {
"description": "Disable triple click",
"label": "Disable Triple Click"
},
"doubleTapAsButtonPress": {
"description": "Treat double tap as button press",
"label": "Double Tap as Button Press"
},
"ledHeartbeatDisabled": {
"description": "Disable default blinking LED",
"label": "LED Heartbeat Disabled"
},
"nodeInfoBroadcastInterval": {
"description": "How often to broadcast node info",
"label": "Node Info Broadcast Interval"
},
"posixTimezone": {
"description": "The POSIX timezone string for the device",
"label": "POSIX Timezone"
},
"rebroadcastMode": {
"description": "How to handle rebroadcasting",
"label": "Rebroadcast Mode"
},
"role": {
"description": "What role the device performs on the mesh",
"label": "Rola"
}
},
"bluetooth": {
"title": "Bluetooth Settings",
"description": "Settings for the Bluetooth module",
"note": "Note: Some devices (ESP32) cannot use both Bluetooth and WiFi at the same time.",
"enabled": {
"description": "Enable or disable Bluetooth",
"label": "Włączony"
},
"pairingMode": {
"description": "Pin selection behaviour.",
"label": "Pairing mode"
},
"pin": {
"description": "Pin to use when pairing",
"label": "Pin"
}
},
"display": {
"description": "Settings for the device display",
"title": "Display Settings",
"headingBold": {
"description": "Bolden the heading text",
"label": "Bold Heading"
},
"carouselDelay": {
"description": "How fast to cycle through windows",
"label": "Carousel Delay"
},
"compassNorthTop": {
"description": "Fix north to the top of compass",
"label": "Compass North Top"
},
"displayMode": {
"description": "Screen layout variant",
"label": "Display Mode"
},
"displayUnits": {
"description": "Display metric or imperial units",
"label": "Display Units"
},
"flipScreen": {
"description": "Flip display 180 degrees",
"label": "Flip Screen"
},
"gpsDisplayUnits": {
"description": "Coordinate display format",
"label": "GPS Display Units"
},
"oledType": {
"description": "Type of OLED screen attached to the device",
"label": "OLED Type"
},
"screenTimeout": {
"description": "Turn off the display after this long",
"label": "Screen Timeout"
},
"twelveHourClock": {
"description": "Use 12-hour clock format",
"label": "12-Hour Clock"
},
"wakeOnTapOrMotion": {
"description": "Wake the device on tap or motion",
"label": "Wake on Tap or Motion"
}
},
"lora": {
"title": "Mesh Settings",
"description": "Settings for the LoRa mesh",
"bandwidth": {
"description": "Channel bandwidth in MHz",
"label": "Bandwidth"
},
"boostedRxGain": {
"description": "Boosted RX gain",
"label": "Boosted RX Gain"
},
"codingRate": {
"description": "The denominator of the coding rate",
"label": "Coding Rate"
},
"frequencyOffset": {
"description": "Frequency offset to correct for crystal calibration errors",
"label": "Frequency Offset"
},
"frequencySlot": {
"description": "LoRa frequency channel number",
"label": "Frequency Slot"
},
"hopLimit": {
"description": "Maximum number of hops",
"label": "Hop Limit"
},
"ignoreMqtt": {
"description": "Don't forward MQTT messages over the mesh",
"label": "Ignore MQTT"
},
"modemPreset": {
"description": "Modem preset to use",
"label": "Modem Preset"
},
"okToMqtt": {
"description": "When set to true, this configuration indicates that the user approves the packet to be uploaded to MQTT. If set to false, remote nodes are requested not to forward packets to MQTT",
"label": "OK to MQTT"
},
"overrideDutyCycle": {
"description": "Override Duty Cycle",
"label": "Override Duty Cycle"
},
"overrideFrequency": {
"description": "Override frequency",
"label": "Override Frequency"
},
"region": {
"description": "Sets the region for your node",
"label": "Region"
},
"spreadingFactor": {
"description": "Indicates the number of chirps per symbol",
"label": "Spreading Factor"
},
"transmitEnabled": {
"description": "Enable/Disable transmit (TX) from the LoRa radio",
"label": "Transmit Enabled"
},
"transmitPower": {
"description": "Max transmit power",
"label": "Transmit Power"
},
"usePreset": {
"description": "Use one of the predefined modem presets",
"label": "Use Preset"
},
"meshSettings": {
"description": "Settings for the LoRa mesh",
"label": "Mesh Settings"
},
"waveformSettings": {
"description": "Settings for the LoRa waveform",
"label": "Waveform Settings"
},
"radioSettings": {
"label": "Ustawienia radia",
"description": "Settings for the LoRa radio"
}
},
"network": {
"title": "WiFi Config",
"description": "WiFi radio configuration",
"note": "Note: Some devices (ESP32) cannot use both Bluetooth and WiFi at the same time.",
"addressMode": {
"description": "Address assignment selection",
"label": "Address Mode"
},
"dns": {
"description": "DNS Server",
"label": "DNS"
},
"ethernetEnabled": {
"description": "Enable or disable the Ethernet port",
"label": "Włączony"
},
"gateway": {
"description": "Default Gateway",
"label": "Brama domyślna"
},
"ip": {
"description": "IP Address",
"label": "IP"
},
"psk": {
"description": "Network password",
"label": "PSK"
},
"ssid": {
"description": "Network name",
"label": "SSID"
},
"subnet": {
"description": "Subnet Mask",
"label": "Subnet"
},
"wifiEnabled": {
"description": "Enable or disable the WiFi radio",
"label": "Włączony"
},
"meshViaUdp": {
"label": "Mesh via UDP"
},
"ntpServer": {
"label": "NTP Server"
},
"rsyslogServer": {
"label": "Rsyslog Server"
},
"ethernetConfigSettings": {
"description": "Ethernet port configuration",
"label": "Ethernet Config"
},
"ipConfigSettings": {
"description": "IP configuration",
"label": "IP Config"
},
"ntpConfigSettings": {
"description": "NTP configuration",
"label": "NTP Config"
},
"rsyslogConfigSettings": {
"description": "Rsyslog configuration",
"label": "Rsyslog Config"
},
"udpConfigSettings": {
"description": "UDP over Mesh configuration",
"label": "Ustawienia UDP"
}
},
"position": {
"title": "Position Settings",
"description": "Settings for the position module",
"broadcastInterval": {
"description": "How often your position is sent out over the mesh",
"label": "Broadcast Interval"
},
"enablePin": {
"description": "GPS module enable pin override",
"label": "Enable Pin"
},
"fixedPosition": {
"description": "Don't report GPS position, but a manually-specified one",
"label": "Fixed Position"
},
"gpsMode": {
"description": "Configure whether device GPS is Enabled, Disabled, or Not Present",
"label": "GPS Mode"
},
"gpsUpdateInterval": {
"description": "How often a GPS fix should be acquired",
"label": "GPS Update Interval"
},
"positionFlags": {
"description": "Optional fields to include when assembling position messages. The more fields are selected, the larger the message will be leading to longer airtime usage and a higher risk of packet loss.",
"label": "Position Flags"
},
"receivePin": {
"description": "GPS module RX pin override",
"label": "Receive Pin"
},
"smartPositionEnabled": {
"description": "Only send position when there has been a meaningful change in location",
"label": "Enable Smart Position"
},
"smartPositionMinDistance": {
"description": "Minimum distance (in meters) that must be traveled before a position update is sent",
"label": "Smart Position Minimum Distance"
},
"smartPositionMinInterval": {
"description": "Minimum interval (in seconds) that must pass before a position update is sent",
"label": "Smart Position Minimum Interval"
},
"transmitPin": {
"description": "GPS module TX pin override",
"label": "Transmit Pin"
},
"intervalsSettings": {
"description": "How often to send position updates",
"label": "Intervals"
},
"flags": {
"placeholder": "Select position flags...",
"altitude": "Altitude",
"altitudeGeoidalSeparation": "Altitude Geoidal Separation",
"altitudeMsl": "Altitude is Mean Sea Level",
"dop": "Dilution of precision (DOP) PDOP used by default",
"hdopVdop": "If DOP is set, use HDOP / VDOP values instead of PDOP",
"numSatellites": "Number of satellites",
"sequenceNumber": "Sequence number",
"timestamp": "Znacznik czasu",
"unset": "Nieustawiony",
"vehicleHeading": "Vehicle heading",
"vehicleSpeed": "Vehicle speed"
}
},
"power": {
"adcMultiplierOverride": {
"description": "Used for tweaking battery voltage reading",
"label": "ADC Multiplier Override ratio"
},
"ina219Address": {
"description": "Address of the INA219 battery monitor",
"label": "INA219 Address"
},
"lightSleepDuration": {
"description": "How long the device will be in light sleep for",
"label": "Light Sleep Duration"
},
"minimumWakeTime": {
"description": "Minimum amount of time the device will stay awake for after receiving a packet",
"label": "Minimum Wake Time"
},
"noConnectionBluetoothDisabled": {
"description": "If the device does not receive a Bluetooth connection, the BLE radio will be disabled after this long",
"label": "No Connection Bluetooth Disabled"
},
"powerSavingEnabled": {
"description": "Select if powered from a low-current source (i.e. solar), to minimize power consumption as much as possible.",
"label": "Enable power saving mode"
},
"shutdownOnBatteryDelay": {
"description": "Automatically shutdown node after this long when on battery, 0 for indefinite",
"label": "Shutdown on battery delay"
},
"superDeepSleepDuration": {
"description": "How long the device will be in super deep sleep for",
"label": "Super Deep Sleep Duration"
},
"powerConfigSettings": {
"description": "Settings for the power module",
"label": "Konfiguracja zarządzania energią"
},
"sleepSettings": {
"description": "Sleep settings for the power module",
"label": "Sleep Settings"
}
},
"security": {
"description": "Settings for the Security configuration",
"title": "Security Settings",
"button_backupKey": "Backup Key",
"adminChannelEnabled": {
"description": "Allow incoming device control over the insecure legacy admin channel",
"label": "Allow Legacy Admin"
},
"enableDebugLogApi": {
"description": "Output live debug logging over serial, view and export position-redacted device logs over Bluetooth",
"label": "Enable Debug Log API"
},
"managed": {
"description": "If enabled, device configuration options are only able to be changed remotely by a Remote Admin node via admin messages. Do not enable this option unless at least one suitable Remote Admin node has been setup, and the public key is stored in one of the fields above.",
"label": "Managed"
},
"privateKey": {
"description": "Used to create a shared key with a remote device",
"label": "Klucz prywatny"
},
"publicKey": {
"description": "Sent out to other nodes on the mesh to allow them to compute a shared secret key",
"label": "Klucz publiczny"
},
"primaryAdminKey": {
"description": "The primary public key authorized to send admin messages to this node",
"label": "Primary Admin Key"
},
"secondaryAdminKey": {
"description": "The secondary public key authorized to send admin messages to this node",
"label": "Secondary Admin Key"
},
"serialOutputEnabled": {
"description": "Serial Console over the Stream API",
"label": "Serial Output Enabled"
},
"tertiaryAdminKey": {
"description": "The tertiary public key authorized to send admin messages to this node",
"label": "Tertiary Admin Key"
},
"adminSettings": {
"description": "Settings for Admin",
"label": "Admin Settings"
},
"loggingSettings": {
"description": "Settings for Logging",
"label": "Logging Settings"
}
}
}

171
src/i18n/locales/pl-PL/dialog.json

@ -0,0 +1,171 @@
{
"deleteMessages": {
"description": "This action will clear all message history. This cannot be undone. Are you sure you want to continue?",
"title": "Clear All Messages"
},
"deviceName": {
"description": "The Device will restart once the config is saved.",
"longName": "Long Name",
"shortName": "Short Name",
"title": "Change Device Name"
},
"import": {
"description": "The current LoRa configuration will be overridden.",
"error": {
"invalidUrl": "Invalid Meshtastic URL"
},
"channelPrefix": "Channel: ",
"channelSetUrl": "Channel Set/QR Code URL",
"channels": "Channels:",
"usePreset": "Use Preset?",
"title": "Import Channel Set"
},
"locationResponse": {
"altitude": "Altitude: ",
"coordinates": "Coordinates: ",
"title": "Location: {{identifier}}"
},
"pkiRegenerateDialog": {
"title": "Regenerate Pre-Shared Key?",
"description": "Are you sure you want to regenerate the pre-shared key?",
"regenerate": "Regenerate"
},
"newDeviceDialog": {
"title": "Connect New Device",
"https": "https",
"http": "http",
"tabHttp": "HTTP",
"tabBluetooth": "Bluetooth",
"tabSerial": "Seryjny",
"useHttps": "Use HTTPS",
"connecting": "Connecting...",
"connect": "Connect",
"connectionFailedAlert": {
"title": "Connection Failed",
"descriptionPrefix": "Could not connect to the device. ",
"httpsHint": "If using HTTPS, you may need to accept a self-signed certificate first. ",
"openLinkPrefix": "Please open ",
"openLinkSuffix": " in a new tab",
"acceptTlsWarningSuffix": ", accept any TLS warnings if prompted, then try again",
"learnMoreLink": "Learn more"
},
"httpConnection": {
"label": "IP Address/Hostname",
"placeholder": "000.000.000.000 / meshtastic.local"
},
"serialConnection": {
"noDevicesPaired": "No devices paired yet.",
"newDeviceButton": "New device",
"deviceIdentifier": "# {{index}} - {{vendorId}} - {{productId}}"
},
"bluetoothConnection": {
"noDevicesPaired": "No devices paired yet.",
"newDeviceButton": "New device"
},
"validation": {
"requiresWebBluetooth": "This connection type requires <0>Web Bluetooth</0>. Please use a supported browser, like Chrome or Edge.",
"requiresWebSerial": "This connection type requires <0>Web Serial</0>. Please use a supported browser, like Chrome or Edge.",
"requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.",
"additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost."
}
},
"nodeDetails": {
"message": "Wiadomość",
"requestPosition": "Request Position",
"traceRoute": "Trace Route",
"airTxUtilization": "Air TX utilization",
"allRawMetrics": "All Raw Metrics:",
"batteryLevel": "Battery level",
"channelUtilization": "Channel utilization",
"details": "Details:",
"deviceMetrics": "Device Metrics:",
"hardware": "Hardware: ",
"lastHeard": "Last Heard: ",
"nodeHexPrefix": "Node Hex: !",
"nodeNumber": "Node Number: ",
"position": "Position:",
"role": "Role: ",
"uptime": "Uptime: ",
"voltage": "Napięcie",
"title": "Node Details for {{identifier}}",
"ignoreNode": "Ignore node",
"removeNode": "Remove node",
"unignoreNode": "Unignore node"
},
"pkiBackup": {
"loseKeysWarning": "If you lose your keys, you will need to reset your device.",
"secureBackup": "Its important to backup your public and private keys and store your backup securely!",
"footer": "=== END OF KEYS ===",
"header": "=== MESHTASTIC KEYS FOR {{longName}} ({{shortName}}) ===",
"privateKey": "Private Key:",
"publicKey": "Public Key:",
"fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt",
"title": "Backup Keys"
},
"pkiBackupReminder": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"title": "Backup Reminder",
"remindLaterPrefix": "Remind me in",
"remindNever": "Never remind me",
"backupNow": "Back up now"
},
"pkiRegenerate": {
"description": "Are you sure you want to regenerate key pair?",
"title": "Regenerate Key Pair"
},
"qr": {
"addChannels": "Add Channels",
"replaceChannels": "Replace Channels",
"description": "The current LoRa configuration will also be shared.",
"sharableUrl": "Sharable URL",
"title": "Generuj Kod QR"
},
"rebootOta": {
"title": "Schedule Reboot",
"description": "Reboot the connected node after a delay into OTA (Over-the-Air) mode.",
"enterDelay": "Enter delay (sec)",
"scheduled": "Reboot has been scheduled"
},
"reboot": {
"title": "Schedule Reboot",
"description": "Reboot the connected node after x minutes."
},
"refreshKeys": {
"description": {
"acceptNewKeys": "This will remove the node from device and request new keys.",
"keyMismatchReasonSuffix": ". This is due to the remote node's current public key does not match the previously stored key for this node.",
"unableToSendDmPrefix": "Your node is unable to send a direct message to node: "
},
"acceptNewKeys": "Accept New Keys",
"title": "Keys Mismatch - {{identifier}}"
},
"removeNode": {
"description": "Are you sure you want to remove this Node?",
"title": "Remove Node?"
},
"shutdown": {
"title": "Schedule Shutdown",
"description": "Turn off the connected node after x minutes."
},
"traceRoute": {
"routeToDestination": "Route to destination:",
"routeBack": "Route back:"
},
"tracerouteResponse": {
"title": "Traceroute: {{identifier}}"
},
"unsafeRoles": {
"confirmUnderstanding": "Yes, I know what I'm doing",
"conjunction": " and the blog post about ",
"postamble": " and understand the implications of changing the role.",
"preamble": "I have read the ",
"choosingRightDeviceRole": "Choosing The Right Device Role",
"deviceRoleDocumentation": "Device Role Documentation",
"title": "Jesteś pewny?"
},
"managedMode": {
"confirmUnderstanding": "Yes, I know what I'm doing",
"title": "Jesteś pewny?",
"description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can <bold>only</bold> be changed through Remote Admin messages. This setting is not required for remote node administration."
}
}

39
src/i18n/locales/pl-PL/messages.json

@ -0,0 +1,39 @@
{
"page": {
"title": "Messages: {{chatName}}",
"placeholder": "Enter Message"
},
"emptyState": {
"title": "Select a Chat",
"text": "No messages yet."
},
"selectChatPrompt": {
"text": "Select a channel or node to start messaging."
},
"sendMessage": {
"placeholder": "Enter your message here...",
"sendButton": "Wyślij"
},
"actionsMenu": {
"addReactionLabel": "Add Reaction",
"replyLabel": "Odpowiedz"
},
"deliveryStatus": {
"delivered": {
"label": "Message delivered",
"displayText": "Message delivered"
},
"failed": {
"label": "Message delivery failed",
"displayText": "Delivery failed"
},
"unknown": {
"label": "Message status unknown",
"displayText": "Unknown state"
},
"waiting": {
"label": "Sending message",
"displayText": "Waiting for delivery"
}
}
}

448
src/i18n/locales/pl-PL/moduleConfig.json

@ -0,0 +1,448 @@
{
"page": {
"tabAmbientLighting": "Ambient Lighting",
"tabAudio": "Audio",
"tabCannedMessage": "Canned",
"tabDetectionSensor": "Detection Sensor",
"tabExternalNotification": "Ext Notif",
"tabMqtt": "MQTT",
"tabNeighborInfo": "Neighbor Info",
"tabPaxcounter": "Paxcounter",
"tabRangeTest": "Test zasięgu",
"tabSerial": "Seryjny",
"tabStoreAndForward": "S&F",
"tabTelemetry": "Telemetria"
},
"ambientLighting": {
"title": "Ambient Lighting Settings",
"description": "Settings for the Ambient Lighting module",
"ledState": {
"label": "LED State",
"description": "Sets LED to on or off"
},
"current": {
"label": "Natężenie",
"description": "Sets the current for the LED output. Default is 10"
},
"red": {
"label": "Red",
"description": "Sets the red LED level. Values are 0-255"
},
"green": {
"label": "Green",
"description": "Sets the green LED level. Values are 0-255"
},
"blue": {
"label": "Blue",
"description": "Sets the blue LED level. Values are 0-255"
}
},
"audio": {
"title": "Audio Settings",
"description": "Settings for the Audio module",
"codec2Enabled": {
"label": "Codec 2 Enabled",
"description": "Enable Codec 2 audio encoding"
},
"pttPin": {
"label": "PTT Pin",
"description": "GPIO pin to use for PTT"
},
"bitrate": {
"label": "Bitrate",
"description": "Bitrate to use for audio encoding"
},
"i2sWs": {
"label": "i2S WS",
"description": "GPIO pin to use for i2S WS"
},
"i2sSd": {
"label": "i2S SD",
"description": "GPIO pin to use for i2S SD"
},
"i2sDin": {
"label": "i2S DIN",
"description": "GPIO pin to use for i2S DIN"
},
"i2sSck": {
"label": "i2S SCK",
"description": "GPIO pin to use for i2S SCK"
}
},
"cannedMessage": {
"title": "Canned Message Settings",
"description": "Settings for the Canned Message module",
"moduleEnabled": {
"label": "Module Enabled",
"description": "Enable Canned Message"
},
"rotary1Enabled": {
"label": "Rotary Encoder #1 Enabled",
"description": "Enable the rotary encoder"
},
"inputbrokerPinA": {
"label": "Encoder Pin A",
"description": "GPIO Pin Value (1-39) For encoder port A"
},
"inputbrokerPinB": {
"label": "Encoder Pin B",
"description": "GPIO Pin Value (1-39) For encoder port B"
},
"inputbrokerPinPress": {
"label": "Encoder Pin Press",
"description": "GPIO Pin Value (1-39) For encoder Press"
},
"inputbrokerEventCw": {
"label": "Clockwise event",
"description": "Select input event."
},
"inputbrokerEventCcw": {
"label": "Counter Clockwise event",
"description": "Select input event."
},
"inputbrokerEventPress": {
"label": "Press event",
"description": "Select input event"
},
"updown1Enabled": {
"label": "Up Down enabled",
"description": "Enable the up / down encoder"
},
"allowInputSource": {
"label": "Allow Input Source",
"description": "Select from: '_any', 'rotEnc1', 'upDownEnc1', 'cardkb'"
},
"sendBell": {
"label": "Send Bell",
"description": "Sends a bell character with each message"
}
},
"detectionSensor": {
"title": "Detection Sensor Settings",
"description": "Settings for the Detection Sensor module",
"enabled": {
"label": "Włączony",
"description": "Enable or disable Detection Sensor Module"
},
"minimumBroadcastSecs": {
"label": "Minimum Broadcast Seconds",
"description": "The interval in seconds of how often we can send a message to the mesh when a state change is detected"
},
"stateBroadcastSecs": {
"label": "State Broadcast Seconds",
"description": "The interval in seconds of how often we should send a message to the mesh with the current state regardless of changes"
},
"sendBell": {
"label": "Send Bell",
"description": "Send ASCII bell with alert message"
},
"name": {
"label": "Friendly Name",
"description": "Used to format the message sent to mesh, max 20 Characters"
},
"monitorPin": {
"label": "Monitor Pin",
"description": "The GPIO pin to monitor for state changes"
},
"detectionTriggerType": {
"label": "Detection Triggered Type",
"description": "The type of trigger event to be used"
},
"usePullup": {
"label": "Use Pullup",
"description": "Whether or not use INPUT_PULLUP mode for GPIO pin"
}
},
"externalNotification": {
"title": "External Notification Settings",
"description": "Configure the external notification module",
"enabled": {
"label": "Module Enabled",
"description": "Enable External Notification"
},
"outputMs": {
"label": "Output MS",
"description": "Output MS"
},
"output": {
"label": "Output",
"description": "Output"
},
"outputVibra": {
"label": "Output Vibrate",
"description": "Output Vibrate"
},
"outputBuzzer": {
"label": "Output Buzzer",
"description": "Output Buzzer"
},
"active": {
"label": "Active",
"description": "Active"
},
"alertMessage": {
"label": "Alert Message",
"description": "Alert Message"
},
"alertMessageVibra": {
"label": "Alert Message Vibrate",
"description": "Alert Message Vibrate"
},
"alertMessageBuzzer": {
"label": "Alert Message Buzzer",
"description": "Alert Message Buzzer"
},
"alertBell": {
"label": "Alert Bell",
"description": "Should an alert be triggered when receiving an incoming bell?"
},
"alertBellVibra": {
"label": "Alert Bell Vibrate",
"description": "Alert Bell Vibrate"
},
"alertBellBuzzer": {
"label": "Alert Bell Buzzer",
"description": "Alert Bell Buzzer"
},
"usePwm": {
"label": "Use PWM",
"description": "Use PWM"
},
"nagTimeout": {
"label": "Nag Timeout",
"description": "Nag Timeout"
},
"useI2sAsBuzzer": {
"label": "Use I²S Pin as Buzzer",
"description": "Designate I²S Pin as Buzzer Output"
}
},
"mqtt": {
"title": "MQTT Settings",
"description": "Settings for the MQTT module",
"enabled": {
"label": "Włączony",
"description": "Enable or disable MQTT"
},
"address": {
"label": "MQTT Server Address",
"description": "MQTT server address to use for default/custom servers"
},
"username": {
"label": "MQTT Username",
"description": "MQTT username to use for default/custom servers"
},
"password": {
"label": "MQTT Password",
"description": "MQTT password to use for default/custom servers"
},
"encryptionEnabled": {
"label": "Encryption Enabled",
"description": "Enable or disable MQTT encryption. Note: All messages are sent to the MQTT broker unencrypted if this option is not enabled, even when your uplink channels have encryption keys set. This includes position data."
},
"jsonEnabled": {
"label": "JSON Enabled",
"description": "Whether to send/consume JSON packets on MQTT"
},
"tlsEnabled": {
"label": "TLS Enabled",
"description": "Enable or disable TLS"
},
"root": {
"label": "Root topic",
"description": "MQTT root topic to use for default/custom servers"
},
"proxyToClientEnabled": {
"label": "MQTT Client Proxy Enabled",
"description": "Utilizes the network connection to proxy MQTT messages to the client."
},
"mapReportingEnabled": {
"label": "Map Reporting Enabled",
"description": "Your node will periodically send an unencrypted map report packet to the configured MQTT server, this includes id, short and long name, approximate location, hardware model, role, firmware version, LoRa region, modem preset and primary channel name."
},
"mapReportSettings": {
"publishIntervalSecs": {
"label": "Map Report Publish Interval (s)",
"description": "Interval in seconds to publish map reports"
},
"positionPrecision": {
"label": "Approximate Location",
"description": "Position shared will be accurate within this distance",
"options": {
"metric_km23": "Within 23 km",
"metric_km12": "Within 12 km",
"metric_km5_8": "Within 5.8 km",
"metric_km2_9": "Within 2.9 km",
"metric_km1_5": "Within 1.5 km",
"metric_m700": "Within 700 m",
"metric_m350": "Within 350 m",
"metric_m200": "Within 200 m",
"metric_m90": "Within 90 m",
"metric_m50": "Within 50 m",
"imperial_mi15": "Within 15 miles",
"imperial_mi7_3": "Within 7.3 miles",
"imperial_mi3_6": "Within 3.6 miles",
"imperial_mi1_8": "Within 1.8 miles",
"imperial_mi0_9": "Within 0.9 miles",
"imperial_mi0_5": "Within 0.5 miles",
"imperial_mi0_2": "Within 0.2 miles",
"imperial_ft600": "Within 600 feet",
"imperial_ft300": "Within 300 feet",
"imperial_ft150": "Within 150 feet"
}
}
}
},
"neighborInfo": {
"title": "Neighbor Info Settings",
"description": "Settings for the Neighbor Info module",
"enabled": {
"label": "Włączony",
"description": "Enable or disable Neighbor Info Module"
},
"updateInterval": {
"label": "Update Interval",
"description": "Interval in seconds of how often we should try to send our Neighbor Info to the mesh"
}
},
"paxcounter": {
"title": "Paxcounter Settings",
"description": "Settings for the Paxcounter module",
"enabled": {
"label": "Module Enabled",
"description": "Enable Paxcounter"
},
"paxcounterUpdateInterval": {
"label": "Update Interval (seconds)",
"description": "How long to wait between sending paxcounter packets"
},
"wifiThreshold": {
"label": "WiFi RSSI Threshold",
"description": "At what WiFi RSSI level should the counter increase. Defaults to -80."
},
"bleThreshold": {
"label": "BLE RSSI Threshold",
"description": "At what BLE RSSI level should the counter increase. Defaults to -80."
}
},
"rangeTest": {
"title": "Range Test Settings",
"description": "Settings for the Range Test module",
"enabled": {
"label": "Module Enabled",
"description": "Enable Range Test"
},
"sender": {
"label": "Message Interval",
"description": "How long to wait between sending test packets"
},
"save": {
"label": "Save CSV to storage",
"description": "ESP32 Only"
}
},
"serial": {
"title": "Serial Settings",
"description": "Settings for the Serial module",
"enabled": {
"label": "Module Enabled",
"description": "Enable Serial output"
},
"echo": {
"label": "Echo",
"description": "Any packets you send will be echoed back to your device"
},
"rxd": {
"label": "Receive Pin",
"description": "Set the GPIO pin to the RXD pin you have set up."
},
"txd": {
"label": "Transmit Pin",
"description": "Set the GPIO pin to the TXD pin you have set up."
},
"baud": {
"label": "Baud Rate",
"description": "The serial baud rate"
},
"timeout": {
"label": "Limit czasu",
"description": "Seconds to wait before we consider your packet as 'done'"
},
"mode": {
"label": "Tryb",
"description": "Select Mode"
},
"overrideConsoleSerialPort": {
"label": "Override Console Serial Port",
"description": "If you have a serial port connected to the console, this will override it."
}
},
"storeForward": {
"title": "Store & Forward Settings",
"description": "Settings for the Store & Forward module",
"enabled": {
"label": "Module Enabled",
"description": "Enable Store & Forward"
},
"heartbeat": {
"label": "Heartbeat Enabled",
"description": "Enable Store & Forward heartbeat"
},
"records": {
"label": "Number of records",
"description": "Number of records to store"
},
"historyReturnMax": {
"label": "History return max",
"description": "Max number of records to return"
},
"historyReturnWindow": {
"label": "History return window",
"description": "Max number of records to return"
}
},
"telemetry": {
"title": "Telemetry Settings",
"description": "Settings for the Telemetry module",
"deviceUpdateInterval": {
"label": "Device Metrics",
"description": "Device metrics update interval (seconds)"
},
"environmentUpdateInterval": {
"label": "Environment metrics update interval (seconds)",
"description": ""
},
"environmentMeasurementEnabled": {
"label": "Module Enabled",
"description": "Enable the Environment Telemetry"
},
"environmentScreenEnabled": {
"label": "Displayed on Screen",
"description": "Show the Telemetry Module on the OLED"
},
"environmentDisplayFahrenheit": {
"label": "Display Fahrenheit",
"description": "Display temp in Fahrenheit"
},
"airQualityEnabled": {
"label": "Air Quality Enabled",
"description": "Enable the Air Quality Telemetry"
},
"airQualityInterval": {
"label": "Air Quality Update Interval",
"description": "How often to send Air Quality data over the mesh"
},
"powerMeasurementEnabled": {
"label": "Power Measurement Enabled",
"description": "Enable the Power Measurement Telemetry"
},
"powerUpdateInterval": {
"label": "Power Update Interval",
"description": "How often to send Power data over the mesh"
},
"powerScreenEnabled": {
"label": "Power Screen Enabled",
"description": "Enable the Power Telemetry Screen"
}
}
}

63
src/i18n/locales/pl-PL/nodes.json

@ -0,0 +1,63 @@
{
"nodeDetail": {
"publicKeyEnabled": {
"label": "Public Key Enabled"
},
"noPublicKey": {
"label": "No Public Key"
},
"directMessage": {
"label": "Direct Message {{shortName}}"
},
"favorite": {
"label": "Ulubiony",
"tooltip": "Add or remove this node from your favorites"
},
"notFavorite": {
"label": "Not a Favorite"
},
"error": {
"label": "Błąd",
"text": "An error occurred while fetching node details. Please try again later."
},
"status": {
"heard": "Usłyszano",
"mqtt": "MQTT"
},
"elevation": {
"label": "Elevation"
},
"channelUtil": {
"label": "Channel Util"
},
"airtimeUtil": {
"label": "Airtime Util"
}
},
"nodesTable": {
"headings": {
"longName": "Long Name",
"connection": "Connection",
"lastHeard": "Last Heard",
"encryption": "Encryption",
"model": "Model",
"macAddress": "MAC Address"
},
"connectionStatus": {
"direct": "Bezpośrednio",
"away": "away",
"unknown": "-",
"viaMqtt": ", via MQTT"
},
"lastHeardStatus": {
"never": "Never"
}
},
"actions": {
"added": "Added",
"removed": "Removed",
"ignoreNode": "Ignore Node",
"unignoreNode": "Unignore Node",
"requestPosition": "Request Position"
}
}

228
src/i18n/locales/pl-PL/ui.json

@ -0,0 +1,228 @@
{
"navigation": {
"title": "Navigation",
"messages": "Wiadomości",
"map": "Mapa",
"config": "Config",
"radioConfig": "Radio Config",
"moduleConfig": "Module Config",
"channels": "Kanały",
"nodes": "Nodes"
},
"app": {
"title": "Meshtastic",
"logo": "Meshtastic Logo"
},
"sidebar": {
"collapseToggle": {
"button": {
"open": "Open sidebar",
"close": "Close sidebar"
}
},
"deviceInfo": {
"volts": "{{voltage}} volts",
"firmware": {
"title": "Firmware",
"version": "v{{version}}",
"buildDate": "Build date: {{date}}"
},
"deviceName": {
"title": "Device Name",
"changeName": "Change Device Name",
"placeholder": "Enter device name"
},
"editDeviceName": "Edit device name"
}
},
"batteryStatus": {
"charging": "{{level}}% charging",
"pluggedIn": "Plugged in",
"title": "Bateria"
},
"search": {
"nodes": "Search nodes...",
"channels": "Search channels...",
"commandPalette": "Search commands..."
},
"toast": {
"positionRequestSent": {
"title": "Position request sent."
},
"requestingPosition": {
"title": "Requesting position, please wait..."
},
"sendingTraceroute": {
"title": "Sending Traceroute, please wait..."
},
"tracerouteSent": {
"title": "Traceroute sent."
},
"savedChannel": {
"title": "Saved Channel: {{channelName}}"
},
"messages": {
"pkiEncryption": {
"title": "Chat is using PKI encryption."
},
"pskEncryption": {
"title": "Chat is using PSK encryption."
}
},
"configSaveError": {
"title": "Error Saving Config",
"description": "An error occurred while saving the configuration."
},
"validationError": {
"title": "Config Errors Exist",
"description": "Please fix the configuration errors before saving."
},
"saveSuccess": {
"title": "Saving Config",
"description": "The configuration change {{case}} has been saved."
},
"favoriteNode": {
"title": "{{action}} {{nodeName}} {{direction}} favorites.",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
},
"ignoreNode": {
"title": "{{action}} {{nodeName}} {{direction}} ignore list",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
}
},
"notifications": {
"copied": {
"label": "Copied!"
},
"copyToClipboard": {
"label": "Copy to clipboard"
},
"hidePassword": {
"label": "Ukryj hasło"
},
"showPassword": {
"label": "Pokaż hasło"
},
"deliveryStatus": {
"delivered": "Delivered",
"failed": "Delivery Failed",
"waiting": "Czekam. . .",
"unknown": "Nieznany"
}
},
"general": {
"label": "General"
},
"hardware": {
"label": "Hardware"
},
"metrics": {
"label": "Metrics"
},
"role": {
"label": "Rola"
},
"filter": {
"label": "Filtr"
},
"advanced": {
"label": "Advanced"
},
"clearInput": {
"label": "Clear input"
},
"resetFilters": {
"label": "Reset Filters"
},
"nodeName": {
"label": "Node name/number",
"placeholder": "Meshtastic 1234"
},
"airtimeUtilization": {
"label": "Airtime Utilization (%)"
},
"batteryLevel": {
"label": "Battery level (%)",
"labelText": "Battery level (%): {{value}}"
},
"batteryVoltage": {
"label": "Battery voltage (V)",
"title": "Napięcie"
},
"channelUtilization": {
"label": "Channel Utilization (%)"
},
"hops": {
"direct": "Bezpośrednio",
"label": "Number of hops",
"text": "Number of hops: {{value}}"
},
"lastHeard": {
"label": "Aktywność",
"labelText": "Last heard: {{value}}",
"nowLabel": "Now"
},
"snr": {
"label": "SNR (db)"
},
"favorites": {
"label": "Favorites"
},
"hide": {
"label": "Hide"
},
"showOnly": {
"label": "Show Only"
},
"viaMqtt": {
"label": "Connected via MQTT"
},
"hopsUnknown": {
"label": "Unknown number of hops"
},
"showUnheard": {
"label": "Never heard"
},
"language": {
"label": "Język",
"changeLanguage": "Change Language"
},
"theme": {
"dark": "Ciemny",
"light": "Jasny",
"system": "Automatic",
"changeTheme": "Change Color Scheme"
},
"errorPage": {
"title": "This is a little embarrassing...",
"description1": "We are really sorry but an error occurred in the web client that caused it to crash. <br /> This is not supposed to happen, and we are working hard to fix it.",
"description2": "The best way to prevent this from happening again to you or anyone else is to report the issue to us.",
"reportInstructions": "Please include the following information in your report:",
"reportSteps": {
"step1": "What you were doing when the error occurred",
"step2": "What you expected to happen",
"step3": "What actually happened",
"step4": "Any other relevant information"
},
"reportLink": "You can report the issue to our <0>GitHub</0>",
"dashboardLink": "Return to the <0>dashboard</0>",
"detailsSummary": "Error Details",
"errorMessageLabel": "Error message:",
"stackTraceLabel": "Stack trace:",
"fallbackError": "{{error}}"
},
"footer": {
"text": "Powered by <0>▲ Vercel</0> | Meshtastic® is a registered trademark of Meshtastic LLC. | <1>Legal Information</1>",
"commitSha": "Commit SHA: {{sha}}"
}
}

24
src/i18n/locales/pt-PT/common.json

@ -24,7 +24,8 @@
"reset": "Redefinir", "reset": "Redefinir",
"save": "Salvar", "save": "Salvar",
"scanQr": "Ler código QR", "scanQr": "Ler código QR",
"traceRoute": "Trace Route" "traceRoute": "Trace Route",
"submit": "Submit"
}, },
"app": { "app": {
"title": "Meshtastic", "title": "Meshtastic",
@ -55,6 +56,10 @@
"one": "Minute", "one": "Minute",
"plural": "Minutes" "plural": "Minutes"
}, },
"hour": {
"one": "Hour",
"plural": "Hours"
},
"millisecond": { "millisecond": {
"one": "Millisecond", "one": "Millisecond",
"plural": "Milliseconds", "plural": "Milliseconds",
@ -64,6 +69,18 @@
"one": "Second", "one": "Second",
"plural": "Seconds" "plural": "Seconds"
}, },
"day": {
"one": "Day",
"plural": "Days"
},
"month": {
"one": "Month",
"plural": "Months"
},
"year": {
"one": "Year",
"plural": "Years"
},
"snr": "SNR", "snr": "SNR",
"volt": { "volt": {
"one": "Volt", "one": "Volt",
@ -76,6 +93,9 @@
} }
}, },
"security": { "security": {
"0bit": "Empty",
"8bit": "8 bit",
"128bit": "128 bit",
"256bit": "256 bit" "256bit": "256 bit"
}, },
"unknown": { "unknown": {
@ -87,7 +107,9 @@
"nodeUnknownPrefix": "!", "nodeUnknownPrefix": "!",
"unset": "UNSET", "unset": "UNSET",
"fallbackName": "Meshtastic {{last4}}", "fallbackName": "Meshtastic {{last4}}",
"node": "Node",
"formValidation": { "formValidation": {
"unsavedChanges": "Unsaved changes",
"tooBig": { "tooBig": {
"string": "Too long, expected less than or equal to {{maximum}} characters.", "string": "Too long, expected less than or equal to {{maximum}} characters.",
"number": "Too big, expected a number smaller than or equal to {{maximum}}.", "number": "Too big, expected a number smaller than or equal to {{maximum}}.",

16
src/i18n/locales/pt-PT/dialog.json

@ -63,7 +63,8 @@
"newDeviceButton": "New device" "newDeviceButton": "New device"
}, },
"validation": { "validation": {
"requiresFeatures": "This connection type requires <0></0>. Please use a supported browser, like Chrome or Edge.", "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth</0>. Please use a supported browser, like Chrome or Edge.",
"requiresWebSerial": "This connection type requires <0>Web Serial</0>. Please use a supported browser, like Chrome or Edge.",
"requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.", "requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.",
"additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost." "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost."
} }
@ -92,7 +93,6 @@
"unignoreNode": "Unignore node" "unignoreNode": "Unignore node"
}, },
"pkiBackup": { "pkiBackup": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"loseKeysWarning": "If you lose your keys, you will need to reset your device.", "loseKeysWarning": "If you lose your keys, you will need to reset your device.",
"secureBackup": "Its important to backup your public and private keys and store your backup securely!", "secureBackup": "Its important to backup your public and private keys and store your backup securely!",
"footer": "=== END OF KEYS ===", "footer": "=== END OF KEYS ===",
@ -102,6 +102,13 @@
"fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt", "fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt",
"title": "Backup Keys" "title": "Backup Keys"
}, },
"pkiBackupReminder": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"title": "Backup Reminder",
"remindLaterPrefix": "Remind me in",
"remindNever": "Never remind me",
"backupNow": "Back up now"
},
"pkiRegenerate": { "pkiRegenerate": {
"description": "Are you sure you want to regenerate key pair?", "description": "Are you sure you want to regenerate key pair?",
"title": "Regenerate Key Pair" "title": "Regenerate Key Pair"
@ -155,5 +162,10 @@
"choosingRightDeviceRole": "Choosing The Right Device Role", "choosingRightDeviceRole": "Choosing The Right Device Role",
"deviceRoleDocumentation": "Device Role Documentation", "deviceRoleDocumentation": "Device Role Documentation",
"title": "Confirma?" "title": "Confirma?"
},
"managedMode": {
"confirmUnderstanding": "Yes, I know what I'm doing",
"title": "Confirma?",
"description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can <bold>only</bold> be changed through Remote Admin messages. This setting is not required for remote node administration."
} }
} }

39
src/i18n/locales/pt-PT/messages.json

@ -1,6 +1,7 @@
{ {
"page": { "page": {
"title": "Messages: {{chatName}}" "title": "Messages: {{chatName}}",
"placeholder": "Enter Message"
}, },
"emptyState": { "emptyState": {
"title": "Select a Chat", "title": "Select a Chat",
@ -10,31 +11,29 @@
"text": "Select a channel or node to start messaging." "text": "Select a channel or node to start messaging."
}, },
"sendMessage": { "sendMessage": {
"placeholder": "Type your message here...", "placeholder": "Enter your message here...",
"sendButton": "Enviar" "sendButton": "Enviar"
}, },
"actionsMenu": { "actionsMenu": {
"addReactionLabel": "Add Reaction", "addReactionLabel": "Add Reaction",
"replyLabel": "Responder" "replyLabel": "Responder"
}, },
"item": { "deliveryStatus": {
"status": { "delivered": {
"delivered": { "label": "Message delivered",
"label": "Message delivered", "displayText": "Message delivered"
"displayText": "Message delivered" },
}, "failed": {
"failed": { "label": "Message delivery failed",
"label": "Message delivery failed", "displayText": "Delivery failed"
"displayText": "Delivery failed" },
}, "unknown": {
"unknown": { "label": "Message status unknown",
"label": "Message status unknown", "displayText": "Unknown state"
"displayText": "Unknown state" },
}, "waiting": {
"waiting": { "label": "Sending message",
"ariaLabel": "Sending message", "displayText": "Waiting for delivery"
"displayText": "Waiting for delivery"
}
} }
} }
} }

14
src/i18n/locales/pt-PT/nodes.json

@ -10,11 +10,16 @@
"label": "Direct Message {{shortName}}" "label": "Direct Message {{shortName}}"
}, },
"favorite": { "favorite": {
"label": "Favoritos" "label": "Favoritos",
"tooltip": "Add or remove this node from your favorites"
}, },
"notFavorite": { "notFavorite": {
"label": "Not a Favorite" "label": "Not a Favorite"
}, },
"error": {
"label": "Erros",
"text": "An error occurred while fetching node details. Please try again later."
},
"status": { "status": {
"heard": "Heard", "heard": "Heard",
"mqtt": "MQTT" "mqtt": "MQTT"
@ -47,5 +52,12 @@
"lastHeardStatus": { "lastHeardStatus": {
"never": "Never" "never": "Never"
} }
},
"actions": {
"added": "Added",
"removed": "Removed",
"ignoreNode": "Ignore Node",
"unignoreNode": "Unignore Node",
"requestPosition": "Request Position"
} }
} }

27
src/i18n/locales/pt-PT/ui.json

@ -80,6 +80,24 @@
"saveSuccess": { "saveSuccess": {
"title": "Saving Config", "title": "Saving Config",
"description": "The configuration change {{case}} has been saved." "description": "The configuration change {{case}} has been saved."
},
"favoriteNode": {
"title": "{{action}} {{nodeName}} {{direction}} favorites.",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
},
"ignoreNode": {
"title": "{{action}} {{nodeName}} {{direction}} ignore list",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
} }
}, },
"notifications": { "notifications": {
@ -117,6 +135,9 @@
"filter": { "filter": {
"label": "Filtrar" "label": "Filtrar"
}, },
"advanced": {
"label": "Advanced"
},
"clearInput": { "clearInput": {
"label": "Clear input" "label": "Clear input"
}, },
@ -166,6 +187,12 @@
"viaMqtt": { "viaMqtt": {
"label": "Connected via MQTT" "label": "Connected via MQTT"
}, },
"hopsUnknown": {
"label": "Unknown number of hops"
},
"showUnheard": {
"label": "Never heard"
},
"language": { "language": {
"label": "Idioma", "label": "Idioma",
"changeLanguage": "Change Language" "changeLanguage": "Change Language"

24
src/i18n/locales/sv-SE/common.json

@ -24,7 +24,8 @@
"reset": "Nollställ", "reset": "Nollställ",
"save": "Spara", "save": "Spara",
"scanQr": "Skanna QR-kod", "scanQr": "Skanna QR-kod",
"traceRoute": "Spåra rutt" "traceRoute": "Spåra rutt",
"submit": "Spara"
}, },
"app": { "app": {
"title": "Meshtastic", "title": "Meshtastic",
@ -55,6 +56,10 @@
"one": "minut", "one": "minut",
"plural": "minuter" "plural": "minuter"
}, },
"hour": {
"one": "Timme",
"plural": "Timmar"
},
"millisecond": { "millisecond": {
"one": "millisekund", "one": "millisekund",
"plural": "millisekunder", "plural": "millisekunder",
@ -64,6 +69,18 @@
"one": "sekund", "one": "sekund",
"plural": "sekunder" "plural": "sekunder"
}, },
"day": {
"one": "Dag",
"plural": "Dagar"
},
"month": {
"one": "Månad",
"plural": "Månader"
},
"year": {
"one": "År",
"plural": "År"
},
"snr": "SNR", "snr": "SNR",
"volt": { "volt": {
"one": "Volt", "one": "Volt",
@ -76,6 +93,9 @@
} }
}, },
"security": { "security": {
"0bit": "Tom",
"8bit": "8 bitar",
"128bit": "128 bitar",
"256bit": "256 bitar" "256bit": "256 bitar"
}, },
"unknown": { "unknown": {
@ -87,7 +107,9 @@
"nodeUnknownPrefix": "!", "nodeUnknownPrefix": "!",
"unset": "EJ SATT", "unset": "EJ SATT",
"fallbackName": "Meshtastic {{last4}}", "fallbackName": "Meshtastic {{last4}}",
"node": "Nod",
"formValidation": { "formValidation": {
"unsavedChanges": "Osparade ändringar",
"tooBig": { "tooBig": {
"string": "Texten är för lång. Ange en text mindre än eller lika med {{maximum}} tecken långt.", "string": "Texten är för lång. Ange en text mindre än eller lika med {{maximum}} tecken långt.",
"number": "Värdet är för stort. Ange ett numeriskt värde mindre än eller lika med {{maximum}}.", "number": "Värdet är för stort. Ange ett numeriskt värde mindre än eller lika med {{maximum}}.",

2
src/i18n/locales/sv-SE/dashboard.json

@ -5,7 +5,7 @@
"connectionType_ble": "BLE", "connectionType_ble": "BLE",
"connectionType_serial": "Seriell kommunikation", "connectionType_serial": "Seriell kommunikation",
"connectionType_network": "Nätverk", "connectionType_network": "Nätverk",
"noDevicesTitle": "Inga enheter anslutna", "noDevicesTitle": "Inga anslutna enheter ",
"noDevicesDescription": "Anslut en ny enhet för att komma igång.", "noDevicesDescription": "Anslut en ny enhet för att komma igång.",
"button_newConnection": "Ny anslutning" "button_newConnection": "Ny anslutning"
} }

16
src/i18n/locales/sv-SE/dialog.json

@ -63,7 +63,8 @@
"newDeviceButton": "Ny enhet" "newDeviceButton": "Ny enhet"
}, },
"validation": { "validation": {
"requiresFeatures": "Den här anslutningstypen kräver <0></0>. Använd en webbläsare som stöds, till exempel Chrome eller Edge.", "requiresWebBluetooth": "Den här anslutningstypen kräver <0>Web Bluetooth</0>. Använd en webbläsare som stöds, till exempel Chrome eller Edge.",
"requiresWebSerial": "Den här anslutningstypen kräver <0>Web Serial</0>. Använd en webbläsare som stöds, till exempel Chrome eller Edge.",
"requiresSecureContext": "Denna applikation kräver en <0>säker kontext</0>. Anslut med HTTPS eller localhost.", "requiresSecureContext": "Denna applikation kräver en <0>säker kontext</0>. Anslut med HTTPS eller localhost.",
"additionallyRequiresSecureContext": "Dessutom kräver den ett <0>säker kontext</0>. Vänligen anslut med HTTPS eller localhost." "additionallyRequiresSecureContext": "Dessutom kräver den ett <0>säker kontext</0>. Vänligen anslut med HTTPS eller localhost."
} }
@ -92,7 +93,6 @@
"unignoreNode": "Ta bort favoritmarkering" "unignoreNode": "Ta bort favoritmarkering"
}, },
"pkiBackup": { "pkiBackup": {
"description": "Vi rekommenderar att du säkerhetskopierar dina nycklar regelbundet. Vill du säkerhetskopiera nu?",
"loseKeysWarning": "Om du förlorar dina nycklar måste du återställa din enhet.", "loseKeysWarning": "Om du förlorar dina nycklar måste du återställa din enhet.",
"secureBackup": "Det är viktigt att säkerhetskopiera dina publika och privata nycklar och förvara din säkerhetskopia säkert.", "secureBackup": "Det är viktigt att säkerhetskopiera dina publika och privata nycklar och förvara din säkerhetskopia säkert.",
"footer": "=== END OF KEYS ===", "footer": "=== END OF KEYS ===",
@ -102,6 +102,13 @@
"fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt", "fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt",
"title": "Säkerhetskopiera nycklar" "title": "Säkerhetskopiera nycklar"
}, },
"pkiBackupReminder": {
"description": "Vi rekommenderar att du säkerhetskopierar dina nycklar regelbundet. Vill du säkerhetskopiera nu?",
"title": "Påminnelse om säkerhetskopiering",
"remindLaterPrefix": "Påminn mig om",
"remindNever": "Påminn mig aldrig",
"backupNow": "Säkerhetskopiera nu"
},
"pkiRegenerate": { "pkiRegenerate": {
"description": "Är du säker på att du vill förnya nyckelpar?", "description": "Är du säker på att du vill förnya nyckelpar?",
"title": "Förnya nyckelpar" "title": "Förnya nyckelpar"
@ -155,5 +162,10 @@
"choosingRightDeviceRole": "Att välja rätt enhetsroll", "choosingRightDeviceRole": "Att välja rätt enhetsroll",
"deviceRoleDocumentation": "Dokumentation för enhetsroll", "deviceRoleDocumentation": "Dokumentation för enhetsroll",
"title": "Är du säker?" "title": "Är du säker?"
},
"managedMode": {
"confirmUnderstanding": "Ja, jag vet vad jag gör",
"title": "Är du säker?",
"description": "Aktivering av fjärrhanterat läge blockerar klienter (inklusive webbklienten) från att skriva inställningar till en radio. När detta är aktiverat kan enhetens inställningar <bold>endast</bold> ändras via fjärradministratörsmeddelanden. Den här inställningen krävs inte för fjärradministration."
} }
} }

39
src/i18n/locales/sv-SE/messages.json

@ -1,6 +1,7 @@
{ {
"page": { "page": {
"title": "Meddelanden: {{chatName}}" "title": "Meddelanden: {{chatName}}",
"placeholder": "Ange meddelande"
}, },
"emptyState": { "emptyState": {
"title": "Välj en chatt", "title": "Välj en chatt",
@ -10,31 +11,29 @@
"text": "Välj en kanal eller nod för att börja chatta." "text": "Välj en kanal eller nod för att börja chatta."
}, },
"sendMessage": { "sendMessage": {
"placeholder": "Skriv ditt meddelande här...", "placeholder": "Ange ditt meddelande här...",
"sendButton": "Skicka" "sendButton": "Skicka"
}, },
"actionsMenu": { "actionsMenu": {
"addReactionLabel": "Lägg till reaktion", "addReactionLabel": "Lägg till reaktion",
"replyLabel": "Svara" "replyLabel": "Svara"
}, },
"item": { "deliveryStatus": {
"status": { "delivered": {
"delivered": { "label": "Meddelandet har levererats",
"label": "Meddelandet har levererats", "displayText": "Meddelandet har levererats"
"displayText": "Meddelandet har levererats" },
}, "failed": {
"failed": { "label": "Meddelandeleverans misslyckades",
"label": "Meddelandeleverans misslyckades", "displayText": "Leverans misslyckades"
"displayText": "Leverans misslyckades" },
}, "unknown": {
"unknown": { "label": "Okänd meddelandestatus",
"label": "Okänd meddelandestatus", "displayText": "Okänd status"
"displayText": "Okänd status" },
}, "waiting": {
"waiting": { "label": "Skickar meddelande",
"ariaLabel": "Skickar meddelande", "displayText": "Väntar på leverans"
"displayText": "Väntar på leverans"
}
} }
} }
} }

14
src/i18n/locales/sv-SE/nodes.json

@ -10,11 +10,16 @@
"label": "Direktmeddelande {{shortName}}" "label": "Direktmeddelande {{shortName}}"
}, },
"favorite": { "favorite": {
"label": "Favorit" "label": "Favorit",
"tooltip": "Lägg till eller ta bort den här noden från dina favoriter"
}, },
"notFavorite": { "notFavorite": {
"label": "Inte en favorit" "label": "Inte en favorit"
}, },
"error": {
"label": "Fel",
"text": "Ett fel inträffade vid hämtning av nodens detaljer. Försök igen senare."
},
"status": { "status": {
"heard": "Hörd", "heard": "Hörd",
"mqtt": "MQTT" "mqtt": "MQTT"
@ -47,5 +52,12 @@
"lastHeardStatus": { "lastHeardStatus": {
"never": "Aldrig" "never": "Aldrig"
} }
},
"actions": {
"added": "Tillagd",
"removed": "Borttagen",
"ignoreNode": "Ignorera nod",
"unignoreNode": "Ta bort ignorering",
"requestPosition": "Begär plats"
} }
} }

29
src/i18n/locales/sv-SE/ui.json

@ -80,6 +80,24 @@
"saveSuccess": { "saveSuccess": {
"title": "Sparar inställningarna", "title": "Sparar inställningarna",
"description": "Ändrignarna av {{case}}-inställningarna har sparats." "description": "Ändrignarna av {{case}}-inställningarna har sparats."
},
"favoriteNode": {
"title": "{{action}} {{nodeName}} {{direction}} dina favoriter.",
"action": {
"added": "La till",
"removed": "Tog bort",
"to": "till",
"from": "från"
}
},
"ignoreNode": {
"title": "{{action}} {{nodeName}} {{direction}} dina ignorerade noder",
"action": {
"added": "La till",
"removed": "Tog bort",
"to": "till",
"from": "från"
}
} }
}, },
"notifications": { "notifications": {
@ -117,6 +135,9 @@
"filter": { "filter": {
"label": "Filter" "label": "Filter"
}, },
"advanced": {
"label": "Advancerat"
},
"clearInput": { "clearInput": {
"label": "Rensa inmatning" "label": "Rensa inmatning"
}, },
@ -166,9 +187,15 @@
"viaMqtt": { "viaMqtt": {
"label": "Ansluten via MQTT" "label": "Ansluten via MQTT"
}, },
"hopsUnknown": {
"label": "Okänt antal hopp"
},
"showUnheard": {
"label": "Aldrig hörd"
},
"language": { "language": {
"label": "Språk", "label": "Språk",
"changeLanguage": "Ändra språk" "changeLanguage": "Byt språk"
}, },
"theme": { "theme": {
"dark": "Mörkt", "dark": "Mörkt",

24
src/i18n/locales/tr-TR/common.json

@ -24,7 +24,8 @@
"reset": "Sıfırla", "reset": "Sıfırla",
"save": "Kaydet", "save": "Kaydet",
"scanQr": "QR Kodu Tara", "scanQr": "QR Kodu Tara",
"traceRoute": "Trace Route" "traceRoute": "Trace Route",
"submit": "Submit"
}, },
"app": { "app": {
"title": "Meshtastic", "title": "Meshtastic",
@ -55,6 +56,10 @@
"one": "Minute", "one": "Minute",
"plural": "Minutes" "plural": "Minutes"
}, },
"hour": {
"one": "Hour",
"plural": "Hours"
},
"millisecond": { "millisecond": {
"one": "Millisecond", "one": "Millisecond",
"plural": "Milliseconds", "plural": "Milliseconds",
@ -64,6 +69,18 @@
"one": "Second", "one": "Second",
"plural": "Seconds" "plural": "Seconds"
}, },
"day": {
"one": "Day",
"plural": "Days"
},
"month": {
"one": "Month",
"plural": "Months"
},
"year": {
"one": "Year",
"plural": "Years"
},
"snr": "SNR", "snr": "SNR",
"volt": { "volt": {
"one": "Volt", "one": "Volt",
@ -76,6 +93,9 @@
} }
}, },
"security": { "security": {
"0bit": "Empty",
"8bit": "8 bit",
"128bit": "128 bit",
"256bit": "256 bit" "256bit": "256 bit"
}, },
"unknown": { "unknown": {
@ -87,7 +107,9 @@
"nodeUnknownPrefix": "!", "nodeUnknownPrefix": "!",
"unset": "UNSET", "unset": "UNSET",
"fallbackName": "Meshtastic {{last4}}", "fallbackName": "Meshtastic {{last4}}",
"node": "Node",
"formValidation": { "formValidation": {
"unsavedChanges": "Unsaved changes",
"tooBig": { "tooBig": {
"string": "Too long, expected less than or equal to {{maximum}} characters.", "string": "Too long, expected less than or equal to {{maximum}} characters.",
"number": "Too big, expected a number smaller than or equal to {{maximum}}.", "number": "Too big, expected a number smaller than or equal to {{maximum}}.",

16
src/i18n/locales/tr-TR/dialog.json

@ -63,7 +63,8 @@
"newDeviceButton": "New device" "newDeviceButton": "New device"
}, },
"validation": { "validation": {
"requiresFeatures": "This connection type requires <0></0>. Please use a supported browser, like Chrome or Edge.", "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth</0>. Please use a supported browser, like Chrome or Edge.",
"requiresWebSerial": "This connection type requires <0>Web Serial</0>. Please use a supported browser, like Chrome or Edge.",
"requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.", "requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.",
"additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost." "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost."
} }
@ -92,7 +93,6 @@
"unignoreNode": "Unignore node" "unignoreNode": "Unignore node"
}, },
"pkiBackup": { "pkiBackup": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"loseKeysWarning": "If you lose your keys, you will need to reset your device.", "loseKeysWarning": "If you lose your keys, you will need to reset your device.",
"secureBackup": "Its important to backup your public and private keys and store your backup securely!", "secureBackup": "Its important to backup your public and private keys and store your backup securely!",
"footer": "=== END OF KEYS ===", "footer": "=== END OF KEYS ===",
@ -102,6 +102,13 @@
"fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt", "fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt",
"title": "Backup Keys" "title": "Backup Keys"
}, },
"pkiBackupReminder": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"title": "Backup Reminder",
"remindLaterPrefix": "Remind me in",
"remindNever": "Never remind me",
"backupNow": "Back up now"
},
"pkiRegenerate": { "pkiRegenerate": {
"description": "Are you sure you want to regenerate key pair?", "description": "Are you sure you want to regenerate key pair?",
"title": "Regenerate Key Pair" "title": "Regenerate Key Pair"
@ -155,5 +162,10 @@
"choosingRightDeviceRole": "Choosing The Right Device Role", "choosingRightDeviceRole": "Choosing The Right Device Role",
"deviceRoleDocumentation": "Device Role Documentation", "deviceRoleDocumentation": "Device Role Documentation",
"title": "Emin misiniz?" "title": "Emin misiniz?"
},
"managedMode": {
"confirmUnderstanding": "Yes, I know what I'm doing",
"title": "Emin misiniz?",
"description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can <bold>only</bold> be changed through Remote Admin messages. This setting is not required for remote node administration."
} }
} }

39
src/i18n/locales/tr-TR/messages.json

@ -1,6 +1,7 @@
{ {
"page": { "page": {
"title": "Messages: {{chatName}}" "title": "Messages: {{chatName}}",
"placeholder": "Enter Message"
}, },
"emptyState": { "emptyState": {
"title": "Select a Chat", "title": "Select a Chat",
@ -10,31 +11,29 @@
"text": "Select a channel or node to start messaging." "text": "Select a channel or node to start messaging."
}, },
"sendMessage": { "sendMessage": {
"placeholder": "Type your message here...", "placeholder": "Enter your message here...",
"sendButton": "Gönder" "sendButton": "Gönder"
}, },
"actionsMenu": { "actionsMenu": {
"addReactionLabel": "Add Reaction", "addReactionLabel": "Add Reaction",
"replyLabel": "Reply" "replyLabel": "Reply"
}, },
"item": { "deliveryStatus": {
"status": { "delivered": {
"delivered": { "label": "Message delivered",
"label": "Message delivered", "displayText": "Message delivered"
"displayText": "Message delivered" },
}, "failed": {
"failed": { "label": "Message delivery failed",
"label": "Message delivery failed", "displayText": "Delivery failed"
"displayText": "Delivery failed" },
}, "unknown": {
"unknown": { "label": "Message status unknown",
"label": "Message status unknown", "displayText": "Unknown state"
"displayText": "Unknown state" },
}, "waiting": {
"waiting": { "label": "Sending message",
"ariaLabel": "Sending message", "displayText": "Waiting for delivery"
"displayText": "Waiting for delivery"
}
} }
} }
} }

14
src/i18n/locales/tr-TR/nodes.json

@ -10,11 +10,16 @@
"label": "Direct Message {{shortName}}" "label": "Direct Message {{shortName}}"
}, },
"favorite": { "favorite": {
"label": "Favori" "label": "Favori",
"tooltip": "Add or remove this node from your favorites"
}, },
"notFavorite": { "notFavorite": {
"label": "Not a Favorite" "label": "Not a Favorite"
}, },
"error": {
"label": "Hata",
"text": "An error occurred while fetching node details. Please try again later."
},
"status": { "status": {
"heard": "Heard", "heard": "Heard",
"mqtt": "MQTT" "mqtt": "MQTT"
@ -47,5 +52,12 @@
"lastHeardStatus": { "lastHeardStatus": {
"never": "Never" "never": "Never"
} }
},
"actions": {
"added": "Added",
"removed": "Removed",
"ignoreNode": "Ignore Node",
"unignoreNode": "Unignore Node",
"requestPosition": "Request Position"
} }
} }

27
src/i18n/locales/tr-TR/ui.json

@ -80,6 +80,24 @@
"saveSuccess": { "saveSuccess": {
"title": "Saving Config", "title": "Saving Config",
"description": "The configuration change {{case}} has been saved." "description": "The configuration change {{case}} has been saved."
},
"favoriteNode": {
"title": "{{action}} {{nodeName}} {{direction}} favorites.",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
},
"ignoreNode": {
"title": "{{action}} {{nodeName}} {{direction}} ignore list",
"action": {
"added": "Added",
"removed": "Removed",
"to": "to",
"from": "from"
}
} }
}, },
"notifications": { "notifications": {
@ -117,6 +135,9 @@
"filter": { "filter": {
"label": "Filtre" "label": "Filtre"
}, },
"advanced": {
"label": "Advanced"
},
"clearInput": { "clearInput": {
"label": "Clear input" "label": "Clear input"
}, },
@ -166,6 +187,12 @@
"viaMqtt": { "viaMqtt": {
"label": "Connected via MQTT" "label": "Connected via MQTT"
}, },
"hopsUnknown": {
"label": "Unknown number of hops"
},
"showUnheard": {
"label": "Never heard"
},
"language": { "language": {
"label": "Dil", "label": "Dil",
"changeLanguage": "Change Language" "changeLanguage": "Change Language"

58
src/i18n/locales/uk-UA/channels.json

@ -1,9 +1,9 @@
{ {
"page": { "page": {
"sectionLabel": "Channels", "sectionLabel": "Канали",
"channelName": "Channel: {{channelName}}", "channelName": "Канал: {{channelName}}",
"broadcastLabel": "Primary", "broadcastLabel": "Основний",
"channelIndex": "Ch {{index}}" "channelIndex": "Кн {{index}}"
}, },
"validation": { "validation": {
"pskInvalid": "Please enter a valid {{bits}} bit PSK." "pskInvalid": "Please enter a valid {{bits}} bit PSK."
@ -13,7 +13,7 @@
"description": "Crypto, MQTT & misc settings" "description": "Crypto, MQTT & misc settings"
}, },
"role": { "role": {
"label": "Role", "label": "Роль",
"description": "Device telemetry is sent over PRIMARY. Only one PRIMARY allowed", "description": "Device telemetry is sent over PRIMARY. Only one PRIMARY allowed",
"options": { "options": {
"primary": "PRIMARY", "primary": "PRIMARY",
@ -24,7 +24,7 @@
"psk": { "psk": {
"label": "Pre-Shared Key", "label": "Pre-Shared Key",
"description": "Supported PSK lengths: 256-bit, 128-bit, 8-bit, Empty (0-bit)", "description": "Supported PSK lengths: 256-bit, 128-bit, 8-bit, Empty (0-bit)",
"generate": "Generate" "generate": "Згенерувати"
}, },
"name": { "name": {
"label": "Ім'я", "label": "Ім'я",
@ -39,31 +39,31 @@
"description": "Send messages from MQTT to the local mesh" "description": "Send messages from MQTT to the local mesh"
}, },
"positionPrecision": { "positionPrecision": {
"label": "Location", "label": "Місце розташування",
"description": "The precision of the location to share with the channel. Can be disabled.", "description": "The precision of the location to share with the channel. Can be disabled.",
"options": { "options": {
"none": "Do not share location", "none": "Не повідомляти місце знаходження",
"precise": "Precise Location", "precise": "Точне місце розташування",
"metric_km23": "Within 23 kilometers", "metric_km23": "У межах 23 км",
"metric_km12": "Within 12 kilometers", "metric_km12": "У межах 12 км",
"metric_km5_8": "Within 5.8 kilometers", "metric_km5_8": "У межах 5,8 км",
"metric_km2_9": "Within 2.9 kilometers", "metric_km2_9": "У межах 2,9 км",
"metric_km1_5": "Within 1.5 kilometers", "metric_km1_5": "У межах 1,5 км",
"metric_m700": "Within 700 meters", "metric_m700": "У межах 700 м",
"metric_m350": "Within 350 meters", "metric_m350": "У межах 350 м",
"metric_m200": "Within 200 meters", "metric_m200": "У межах 200 м",
"metric_m90": "Within 90 meters", "metric_m90": "У межах 90 м",
"metric_m50": "Within 50 meters", "metric_m50": "У межах 50 м",
"imperial_mi15": "Within 15 miles", "imperial_mi15": "У межах 15 миль",
"imperial_mi7_3": "Within 7.3 miles", "imperial_mi7_3": "У межах 7,3 милі",
"imperial_mi3_6": "Within 3.6 miles", "imperial_mi3_6": "У межах 3,6 милі",
"imperial_mi1_8": "Within 1.8 miles", "imperial_mi1_8": "У межах 1,8 милі",
"imperial_mi0_9": "Within 0.9 miles", "imperial_mi0_9": "У межах 0,9 милі",
"imperial_mi0_5": "Within 0.5 miles", "imperial_mi0_5": "У межах 0,5 милі",
"imperial_mi0_2": "Within 0.2 miles", "imperial_mi0_2": "У межах 0,2 милі",
"imperial_ft600": "Within 600 feet", "imperial_ft600": "У межах 600 фт",
"imperial_ft300": "Within 300 feet", "imperial_ft300": "У межах 300 фт",
"imperial_ft150": "Within 150 feet" "imperial_ft150": "У межах 150 фт"
} }
} }
} }

12
src/i18n/locales/uk-UA/commandPalette.json

@ -15,8 +15,8 @@
"messages": "Повідомлення", "messages": "Повідомлення",
"map": "Мапа", "map": "Мапа",
"config": "Config", "config": "Config",
"channels": "Channels", "channels": "Канали",
"nodes": "Nodes" "nodes": "Вузли"
} }
}, },
"manage": { "manage": {
@ -29,11 +29,11 @@
"contextual": { "contextual": {
"label": "Contextual", "label": "Contextual",
"command": { "command": {
"qrCode": "QR Code", "qrCode": "QR-код",
"qrGenerator": "Generator", "qrGenerator": "Генератор",
"qrImport": "Import", "qrImport": "Import",
"scheduleShutdown": "Schedule Shutdown", "scheduleShutdown": "Розклад вимкнення",
"scheduleReboot": "Schedule Reboot", "scheduleReboot": "Розклад перезавантаження",
"rebootToOtaMode": "Reboot To OTA Mode", "rebootToOtaMode": "Reboot To OTA Mode",
"resetNodeDb": "Reset Node DB", "resetNodeDb": "Reset Node DB",
"factoryResetDevice": "Factory Reset Device", "factoryResetDevice": "Factory Reset Device",

56
src/i18n/locales/uk-UA/common.json

@ -24,17 +24,18 @@
"reset": "Скинути", "reset": "Скинути",
"save": "Зберегти", "save": "Зберегти",
"scanQr": "Scan QR Code", "scanQr": "Scan QR Code",
"traceRoute": "Trace Route" "traceRoute": "Trace Route",
"submit": "Submit"
}, },
"app": { "app": {
"title": "Meshtastic", "title": "Meshtastic",
"fullTitle": "Meshtastic Web Client" "fullTitle": "Meshtastic Web Client"
}, },
"loading": "Loading...", "loading": "Завантаження...",
"unit": { "unit": {
"cps": "CPS", "cps": "CPS",
"dbm": "dBm", "dbm": "дБм",
"hertz": "Hz", "hertz": "Гц",
"hop": { "hop": {
"one": "Hop", "one": "Hop",
"plural": "Hops" "plural": "Hops"
@ -44,29 +45,45 @@
"plural": "{{count}} hops away", "plural": "{{count}} hops away",
"unknown": "Unknown hops away" "unknown": "Unknown hops away"
}, },
"megahertz": "MHz", "megahertz": "МГц",
"raw": "raw", "raw": "raw",
"meter": { "meter": {
"one": "Meter", "one": "Метр",
"plural": "Meters", "plural": "Meters",
"suffix": "m" "suffix": "м"
}, },
"minute": { "minute": {
"one": "Minute", "one": "Minute",
"plural": "Minutes" "plural": "Хвилин"
},
"hour": {
"one": "Година",
"plural": "Годин"
}, },
"millisecond": { "millisecond": {
"one": "Millisecond", "one": "Мілісекунда",
"plural": "Milliseconds", "plural": "Мілісекунди",
"suffix": "ms" "suffix": "мс"
}, },
"second": { "second": {
"one": "Second", "one": "Секунда",
"plural": "Seconds" "plural": "Секунд"
},
"day": {
"one": "День",
"plural": "Днів"
},
"month": {
"one": "Місяць",
"plural": "Місяців"
},
"year": {
"one": "Year",
"plural": "Years"
}, },
"snr": "SNR", "snr": "SNR",
"volt": { "volt": {
"one": "Volt", "one": "Вольт",
"plural": "Volts", "plural": "Volts",
"suffix": "V" "suffix": "V"
}, },
@ -76,6 +93,9 @@
} }
}, },
"security": { "security": {
"0bit": "Empty",
"8bit": "8 bit",
"128bit": "128 bit",
"256bit": "256 bit" "256bit": "256 bit"
}, },
"unknown": { "unknown": {
@ -87,7 +107,9 @@
"nodeUnknownPrefix": "!", "nodeUnknownPrefix": "!",
"unset": "UNSET", "unset": "UNSET",
"fallbackName": "Meshtastic {{last4}}", "fallbackName": "Meshtastic {{last4}}",
"node": "Node",
"formValidation": { "formValidation": {
"unsavedChanges": "Unsaved changes",
"tooBig": { "tooBig": {
"string": "Too long, expected less than or equal to {{maximum}} characters.", "string": "Too long, expected less than or equal to {{maximum}} characters.",
"number": "Too big, expected a number smaller than or equal to {{maximum}}.", "number": "Too big, expected a number smaller than or equal to {{maximum}}.",
@ -98,20 +120,20 @@
"number": "Too small, expected a number larger than or equal to {{minimum}}." "number": "Too small, expected a number larger than or equal to {{minimum}}."
}, },
"invalidFormat": { "invalidFormat": {
"ipv4": "Invalid format, expected an IPv4 address.", "ipv4": "Невірний формат, потрібна IPv4-адреса.",
"key": "Invalid format, expected a Base64 encoded pre-shared key (PSK)." "key": "Invalid format, expected a Base64 encoded pre-shared key (PSK)."
}, },
"invalidType": { "invalidType": {
"number": "Invalid type, expected a number." "number": "Invalid type, expected a number."
}, },
"pskLength": { "pskLength": {
"0bit": "Key is required to be empty.", "0bit": "Ключ повинен бути пустим.",
"8bit": "Key is required to be an 8 bit pre-shared key (PSK).", "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).", "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)." "256bit": "Key is required to be a 256 bit pre-shared key (PSK)."
}, },
"required": { "required": {
"generic": "This field is required.", "generic": "Це поле є обов'язковим.",
"managed": "At least one admin key is requred if the node is managed.", "managed": "At least one admin key is requred if the node is managed.",
"key": "Key is required." "key": "Key is required."
} }

4
src/i18n/locales/uk-UA/dashboard.json

@ -3,8 +3,8 @@
"title": "Connected Devices", "title": "Connected Devices",
"description": "Manage your connected Meshtastic devices.", "description": "Manage your connected Meshtastic devices.",
"connectionType_ble": "BLE", "connectionType_ble": "BLE",
"connectionType_serial": "Serial", "connectionType_serial": "Серійний порт",
"connectionType_network": "Network", "connectionType_network": "Мережа",
"noDevicesTitle": "No devices connected", "noDevicesTitle": "No devices connected",
"noDevicesDescription": "Connect a new device to get started.", "noDevicesDescription": "Connect a new device to get started.",
"button_newConnection": "New Connection" "button_newConnection": "New Connection"

54
src/i18n/locales/uk-UA/deviceConfig.json

@ -1,20 +1,20 @@
{ {
"page": { "page": {
"title": "Configuration", "title": "Налаштування",
"tabBluetooth": "Bluetooth", "tabBluetooth": "Bluetooth",
"tabDevice": "Device", "tabDevice": "Пристрій",
"tabDisplay": "Display", "tabDisplay": "Дисплей",
"tabLora": "LoRa", "tabLora": "LoRa",
"tabNetwork": "Network", "tabNetwork": "Мережа",
"tabPosition": "Position", "tabPosition": "Position",
"tabPower": "Power", "tabPower": "Живлення",
"tabSecurity": "Security" "tabSecurity": "Безпека"
}, },
"sidebar": { "sidebar": {
"label": "Modules" "label": "Модулі"
}, },
"device": { "device": {
"title": "Device Settings", "title": "Налаштування пристрою",
"description": "Settings for the device", "description": "Settings for the device",
"buttonPin": { "buttonPin": {
"description": "Button pin override", "description": "Button pin override",
@ -54,12 +54,12 @@
} }
}, },
"bluetooth": { "bluetooth": {
"title": "Bluetooth Settings", "title": "Налаштування Bluetooth",
"description": "Settings for the Bluetooth module", "description": "Settings for the Bluetooth module",
"note": "Note: Some devices (ESP32) cannot use both Bluetooth and WiFi at the same time.", "note": "Note: Some devices (ESP32) cannot use both Bluetooth and WiFi at the same time.",
"enabled": { "enabled": {
"description": "Enable or disable Bluetooth", "description": "Увімкнути або вимкнути Bluetooth",
"label": "Enabled" "label": "Увімкнено"
}, },
"pairingMode": { "pairingMode": {
"description": "Pin selection behaviour.", "description": "Pin selection behaviour.",
@ -147,7 +147,7 @@
}, },
"ignoreMqtt": { "ignoreMqtt": {
"description": "Don't forward MQTT messages over the mesh", "description": "Don't forward MQTT messages over the mesh",
"label": "Ignore MQTT" "label": "Ігнорувати MQTT"
}, },
"modemPreset": { "modemPreset": {
"description": "Modem preset to use", "description": "Modem preset to use",
@ -199,7 +199,7 @@
} }
}, },
"network": { "network": {
"title": "WiFi Config", "title": "Налаштування WiFi",
"description": "WiFi radio configuration", "description": "WiFi radio configuration",
"note": "Note: Some devices (ESP32) cannot use both Bluetooth and WiFi at the same time.", "note": "Note: Some devices (ESP32) cannot use both Bluetooth and WiFi at the same time.",
"addressMode": { "addressMode": {
@ -207,7 +207,7 @@
"label": "Address Mode" "label": "Address Mode"
}, },
"dns": { "dns": {
"description": "DNS Server", "description": "DNS-сервер",
"label": "DNS" "label": "DNS"
}, },
"ethernetEnabled": { "ethernetEnabled": {
@ -216,7 +216,7 @@
}, },
"gateway": { "gateway": {
"description": "Default Gateway", "description": "Default Gateway",
"label": "Gateway" "label": "Шлюз"
}, },
"ip": { "ip": {
"description": "IP Address", "description": "IP Address",
@ -231,21 +231,21 @@
"label": "SSID" "label": "SSID"
}, },
"subnet": { "subnet": {
"description": "Subnet Mask", "description": "Маска підмережі",
"label": "Subnet" "label": "Підмережа"
}, },
"wifiEnabled": { "wifiEnabled": {
"description": "Enable or disable the WiFi radio", "description": "Увімкнути або вимкнути WiFi радіо",
"label": "Enabled" "label": "Enabled"
}, },
"meshViaUdp": { "meshViaUdp": {
"label": "Mesh via UDP" "label": "Mesh via UDP"
}, },
"ntpServer": { "ntpServer": {
"label": "NTP Server" "label": "NTP-сервер"
}, },
"rsyslogServer": { "rsyslogServer": {
"label": "Rsyslog Server" "label": "Rsyslog-сервер"
}, },
"ethernetConfigSettings": { "ethernetConfigSettings": {
"description": "Ethernet port configuration", "description": "Ethernet port configuration",
@ -256,16 +256,16 @@
"label": "IP Config" "label": "IP Config"
}, },
"ntpConfigSettings": { "ntpConfigSettings": {
"description": "NTP configuration", "description": "Налаштування NTP",
"label": "NTP Config" "label": "NTP Config"
}, },
"rsyslogConfigSettings": { "rsyslogConfigSettings": {
"description": "Rsyslog configuration", "description": "Rsyslog configuration",
"label": "Rsyslog Config" "label": "Налаштування Rsyslog"
}, },
"udpConfigSettings": { "udpConfigSettings": {
"description": "UDP over Mesh configuration", "description": "UDP over Mesh configuration",
"label": "UDP Config" "label": "Налаштування UDP"
} }
}, },
"position": { "position": {
@ -321,7 +321,7 @@
}, },
"flags": { "flags": {
"placeholder": "Select position flags...", "placeholder": "Select position flags...",
"altitude": "Altitude", "altitude": "Висота",
"altitudeGeoidalSeparation": "Altitude Geoidal Separation", "altitudeGeoidalSeparation": "Altitude Geoidal Separation",
"altitudeMsl": "Altitude is Mean Sea Level", "altitudeMsl": "Altitude is Mean Sea Level",
"dop": "Dilution of precision (DOP) PDOP used by default", "dop": "Dilution of precision (DOP) PDOP used by default",
@ -369,16 +369,16 @@
}, },
"powerConfigSettings": { "powerConfigSettings": {
"description": "Settings for the power module", "description": "Settings for the power module",
"label": "Power Config" "label": "Налаштування живлення"
}, },
"sleepSettings": { "sleepSettings": {
"description": "Sleep settings for the power module", "description": "Sleep settings for the power module",
"label": "Sleep Settings" "label": "Налаштування режиму сну"
} }
}, },
"security": { "security": {
"description": "Settings for the Security configuration", "description": "Settings for the Security configuration",
"title": "Security Settings", "title": "Налаштування безпеки",
"button_backupKey": "Backup Key", "button_backupKey": "Backup Key",
"adminChannelEnabled": { "adminChannelEnabled": {
"description": "Allow incoming device control over the insecure legacy admin channel", "description": "Allow incoming device control over the insecure legacy admin channel",

52
src/i18n/locales/uk-UA/dialog.json

@ -1,34 +1,34 @@
{ {
"deleteMessages": { "deleteMessages": {
"description": "This action will clear all message history. This cannot be undone. Are you sure you want to continue?", "description": "This action will clear all message history. This cannot be undone. Are you sure you want to continue?",
"title": "Clear All Messages" "title": "Очистити всі повідомлення"
}, },
"deviceName": { "deviceName": {
"description": "The Device will restart once the config is saved.", "description": "The Device will restart once the config is saved.",
"longName": "Long Name", "longName": "Довга назва",
"shortName": "Short Name", "shortName": "Коротка назва",
"title": "Change Device Name" "title": "Змінити назву пристрою"
}, },
"import": { "import": {
"description": "The current LoRa configuration will be overridden.", "description": "The current LoRa configuration will be overridden.",
"error": { "error": {
"invalidUrl": "Invalid Meshtastic URL" "invalidUrl": "Invalid Meshtastic URL"
}, },
"channelPrefix": "Channel: ", "channelPrefix": "Канал: ",
"channelSetUrl": "Channel Set/QR Code URL", "channelSetUrl": "Channel Set/QR Code URL",
"channels": "Channels:", "channels": "Канали:",
"usePreset": "Use Preset?", "usePreset": "Use Preset?",
"title": "Import Channel Set" "title": "Import Channel Set"
}, },
"locationResponse": { "locationResponse": {
"altitude": "Altitude: ", "altitude": "Висота: ",
"coordinates": "Coordinates: ", "coordinates": "Координати: ",
"title": "Location: {{identifier}}" "title": "Розташування: {{identifier}}"
}, },
"pkiRegenerateDialog": { "pkiRegenerateDialog": {
"title": "Regenerate Pre-Shared Key?", "title": "Regenerate Pre-Shared Key?",
"description": "Are you sure you want to regenerate the pre-shared key?", "description": "Are you sure you want to regenerate the pre-shared key?",
"regenerate": "Regenerate" "regenerate": "Перегенерувати"
}, },
"newDeviceDialog": { "newDeviceDialog": {
"title": "Connect New Device", "title": "Connect New Device",
@ -37,8 +37,8 @@
"tabHttp": "HTTP", "tabHttp": "HTTP",
"tabBluetooth": "Bluetooth", "tabBluetooth": "Bluetooth",
"tabSerial": "Serial", "tabSerial": "Serial",
"useHttps": "Use HTTPS", "useHttps": "Використовувати HTTPS",
"connecting": "Connecting...", "connecting": "Підключення...",
"connect": "Connect", "connect": "Connect",
"connectionFailedAlert": { "connectionFailedAlert": {
"title": "Connection Failed", "title": "Connection Failed",
@ -60,10 +60,11 @@
}, },
"bluetoothConnection": { "bluetoothConnection": {
"noDevicesPaired": "No devices paired yet.", "noDevicesPaired": "No devices paired yet.",
"newDeviceButton": "New device" "newDeviceButton": "Новий пристрій"
}, },
"validation": { "validation": {
"requiresFeatures": "This connection type requires <0></0>. Please use a supported browser, like Chrome or Edge.", "requiresWebBluetooth": "This connection type requires <0>Web Bluetooth</0>. Please use a supported browser, like Chrome or Edge.",
"requiresWebSerial": "This connection type requires <0>Web Serial</0>. Please use a supported browser, like Chrome or Edge.",
"requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.", "requiresSecureContext": "This application requires a <0>secure context</0>. Please connect using HTTPS or localhost.",
"additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost." "additionallyRequiresSecureContext": "Additionally, it requires a <0>secure context</0>. Please connect using HTTPS or localhost."
} }
@ -92,7 +93,6 @@
"unignoreNode": "Unignore node" "unignoreNode": "Unignore node"
}, },
"pkiBackup": { "pkiBackup": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"loseKeysWarning": "If you lose your keys, you will need to reset your device.", "loseKeysWarning": "If you lose your keys, you will need to reset your device.",
"secureBackup": "Its important to backup your public and private keys and store your backup securely!", "secureBackup": "Its important to backup your public and private keys and store your backup securely!",
"footer": "=== END OF KEYS ===", "footer": "=== END OF KEYS ===",
@ -102,6 +102,13 @@
"fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt", "fileName": "meshtastic_keys_{{longName}}_{{shortName}}.txt",
"title": "Backup Keys" "title": "Backup Keys"
}, },
"pkiBackupReminder": {
"description": "We recommend backing up your key data regularly. Would you like to back up now?",
"title": "Backup Reminder",
"remindLaterPrefix": "Remind me in",
"remindNever": "Never remind me",
"backupNow": "Back up now"
},
"pkiRegenerate": { "pkiRegenerate": {
"description": "Are you sure you want to regenerate key pair?", "description": "Are you sure you want to regenerate key pair?",
"title": "Regenerate Key Pair" "title": "Regenerate Key Pair"
@ -111,16 +118,16 @@
"replaceChannels": "Replace Channels", "replaceChannels": "Replace Channels",
"description": "The current LoRa configuration will also be shared.", "description": "The current LoRa configuration will also be shared.",
"sharableUrl": "Sharable URL", "sharableUrl": "Sharable URL",
"title": "Generate QR Code" "title": "Згенерувати QR-код"
}, },
"rebootOta": { "rebootOta": {
"title": "Schedule Reboot", "title": "Запланувати перезавантаження",
"description": "Reboot the connected node after a delay into OTA (Over-the-Air) mode.", "description": "Reboot the connected node after a delay into OTA (Over-the-Air) mode.",
"enterDelay": "Enter delay (sec)", "enterDelay": "Введіть затримку (сек)",
"scheduled": "Reboot has been scheduled" "scheduled": "Reboot has been scheduled"
}, },
"reboot": { "reboot": {
"title": "Schedule Reboot", "title": "Запланувати перезавантаження",
"description": "Reboot the connected node after x minutes." "description": "Reboot the connected node after x minutes."
}, },
"refreshKeys": { "refreshKeys": {
@ -154,6 +161,11 @@
"preamble": "I have read the ", "preamble": "I have read the ",
"choosingRightDeviceRole": "Choosing The Right Device Role", "choosingRightDeviceRole": "Choosing The Right Device Role",
"deviceRoleDocumentation": "Device Role Documentation", "deviceRoleDocumentation": "Device Role Documentation",
"title": "Are you sure?" "title": "Ви впевнені?"
},
"managedMode": {
"confirmUnderstanding": "Я знаю, що роблю",
"title": "Ви впевнені?",
"description": "Enabling Managed Mode blocks client applications (including the web client) from writing configurations to a radio. Once enabled, radio configurations can <bold>only</bold> be changed through Remote Admin messages. This setting is not required for remote node administration."
} }
} }

49
src/i18n/locales/uk-UA/messages.json

@ -1,40 +1,39 @@
{ {
"page": { "page": {
"title": "Messages: {{chatName}}" "title": "Повідомлення: {{chatName}}",
"placeholder": "Введіть повідомлення"
}, },
"emptyState": { "emptyState": {
"title": "Select a Chat", "title": "Оберіть чат",
"text": "No messages yet." "text": "Поки немає повідомлень."
}, },
"selectChatPrompt": { "selectChatPrompt": {
"text": "Select a channel or node to start messaging." "text": "Виберіть канал або вузол для початку обміну повідомленнями."
}, },
"sendMessage": { "sendMessage": {
"placeholder": "Type your message here...", "placeholder": "Введіть ваше повідомлення тут...",
"sendButton": "Надіслати" "sendButton": "Надіслати"
}, },
"actionsMenu": { "actionsMenu": {
"addReactionLabel": "Add Reaction", "addReactionLabel": "Додати реакцію",
"replyLabel": "Reply" "replyLabel": "Відповісти"
}, },
"item": { "deliveryStatus": {
"status": { "delivered": {
"delivered": { "label": "Повідомлення доставлено",
"label": "Message delivered", "displayText": "Повідомлення доставлено"
"displayText": "Message delivered" },
}, "failed": {
"failed": { "label": "Помилка доставлення повідомлення",
"label": "Message delivery failed", "displayText": "Надсилання не відбулося"
"displayText": "Delivery failed" },
}, "unknown": {
"unknown": { "label": "Статус повідомлення невідомий",
"label": "Message status unknown", "displayText": "Невідомий стан"
"displayText": "Unknown state" },
}, "waiting": {
"waiting": { "label": "Надсилання повідомлення",
"ariaLabel": "Sending message", "displayText": "Очікування доставки"
"displayText": "Waiting for delivery"
}
} }
} }
} }

18
src/i18n/locales/uk-UA/moduleConfig.json

@ -1,17 +1,17 @@
{ {
"page": { "page": {
"tabAmbientLighting": "Ambient Lighting", "tabAmbientLighting": "Ambient Lighting",
"tabAudio": "Audio", "tabAudio": "Аудіо",
"tabCannedMessage": "Canned", "tabCannedMessage": "Canned",
"tabDetectionSensor": "Detection Sensor", "tabDetectionSensor": "Detection Sensor",
"tabExternalNotification": "Ext Notif", "tabExternalNotification": "Ext Notif",
"tabMqtt": "MQTT", "tabMqtt": "MQTT",
"tabNeighborInfo": "Neighbor Info", "tabNeighborInfo": "Neighbor Info",
"tabPaxcounter": "Paxcounter", "tabPaxcounter": "Paxcounter",
"tabRangeTest": "Range Test", "tabRangeTest": "Тест дальності",
"tabSerial": "Serial", "tabSerial": "Serial",
"tabStoreAndForward": "S&F", "tabStoreAndForward": "S&F",
"tabTelemetry": "Telemetry" "tabTelemetry": "Телеметрія"
}, },
"ambientLighting": { "ambientLighting": {
"title": "Ambient Lighting Settings", "title": "Ambient Lighting Settings",
@ -25,15 +25,15 @@
"description": "Sets the current for the LED output. Default is 10" "description": "Sets the current for the LED output. Default is 10"
}, },
"red": { "red": {
"label": "Red", "label": "Червоний",
"description": "Sets the red LED level. Values are 0-255" "description": "Sets the red LED level. Values are 0-255"
}, },
"green": { "green": {
"label": "Green", "label": "Зелений",
"description": "Sets the green LED level. Values are 0-255" "description": "Sets the green LED level. Values are 0-255"
}, },
"blue": { "blue": {
"label": "Blue", "label": "Синій",
"description": "Sets the blue LED level. Values are 0-255" "description": "Sets the blue LED level. Values are 0-255"
} }
}, },
@ -218,7 +218,7 @@
} }
}, },
"mqtt": { "mqtt": {
"title": "MQTT Settings", "title": "Налаштування MQTT",
"description": "Settings for the MQTT module", "description": "Settings for the MQTT module",
"enabled": { "enabled": {
"label": "Enabled", "label": "Enabled",
@ -229,11 +229,11 @@
"description": "MQTT server address to use for default/custom servers" "description": "MQTT server address to use for default/custom servers"
}, },
"username": { "username": {
"label": "MQTT Username", "label": "Ім'я користувача MQTT",
"description": "MQTT username to use for default/custom servers" "description": "MQTT username to use for default/custom servers"
}, },
"password": { "password": {
"label": "MQTT Password", "label": "Пароль MQTT",
"description": "MQTT password to use for default/custom servers" "description": "MQTT password to use for default/custom servers"
}, },
"encryptionEnabled": { "encryptionEnabled": {

24
src/i18n/locales/uk-UA/nodes.json

@ -10,11 +10,16 @@
"label": "Direct Message {{shortName}}" "label": "Direct Message {{shortName}}"
}, },
"favorite": { "favorite": {
"label": "Favorite" "label": "Favorite",
"tooltip": "Add or remove this node from your favorites"
}, },
"notFavorite": { "notFavorite": {
"label": "Not a Favorite" "label": "Not a Favorite"
}, },
"error": {
"label": "Помилка",
"text": "An error occurred while fetching node details. Please try again later."
},
"status": { "status": {
"heard": "Heard", "heard": "Heard",
"mqtt": "MQTT" "mqtt": "MQTT"
@ -31,21 +36,28 @@
}, },
"nodesTable": { "nodesTable": {
"headings": { "headings": {
"longName": "Long Name", "longName": "Довга назва",
"connection": "Connection", "connection": "Connection",
"lastHeard": "Last Heard", "lastHeard": "Last Heard",
"encryption": "Encryption", "encryption": "Шифрування",
"model": "Model", "model": "Model",
"macAddress": "MAC Address" "macAddress": "MAC-адреса"
}, },
"connectionStatus": { "connectionStatus": {
"direct": "Direct", "direct": "Direct",
"away": "away", "away": "away",
"unknown": "-", "unknown": "-",
"viaMqtt": ", via MQTT" "viaMqtt": ", через MQTT"
}, },
"lastHeardStatus": { "lastHeardStatus": {
"never": "Never" "never": "Ніколи"
} }
},
"actions": {
"added": "Додано",
"removed": "Видалено",
"ignoreNode": "Ігнорувати вузол",
"unignoreNode": "Unignore Node",
"requestPosition": "Запитати позицію"
} }
} }

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save